From d428cdd48ff4c4dfdeb8c996b94ffc20803ca3a9 Mon Sep 17 00:00:00 2001 From: linwenling <3256558519@qq.com> Date: 星期二, 26 九月 2023 20:40:35 +0800 Subject: [PATCH] 备忘本 --- ruoyi-ui/src/views/pet/petInfo.vue | 350 +++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 227 insertions(+), 123 deletions(-) diff --git a/ruoyi-ui/src/views/pet/petInfo.vue b/ruoyi-ui/src/views/pet/petInfo.vue index 2646546..4b1ca0a 100644 --- a/ruoyi-ui/src/views/pet/petInfo.vue +++ b/ruoyi-ui/src/views/pet/petInfo.vue @@ -1,8 +1,23 @@ <template> - <div class="app-container"> + <div class="app-container" id="printable-content"> <div class="form-header mt"> - <h4 class="dt h4">鍩烘湰淇℃伅 </h4> - <el-button type="primary" @click="Petnote(pid)" :disabled="btn">榄呭疇澶囧繕褰�</el-button> + <!-- <h4 class="dt h4">鍩烘湰淇℃伅 </h4> + <el-button type="primary" @click="Petnote(pid)" :disabled="btn">榄呭疇澶囧繕褰�</el-button> --> + <h1 style="font-size:21px;padding-top:30px;display: flex;justify-content: space-between;align-items: center;"> + <span>鍩烘湰淇℃伅</span> + <div style="display: flex; align-items: center;"> + <el-button size="mini" type="text" @click="Petnote(pid)" v-hasPermi="['person:information:memo']"> + <div class="form" ><el-icon style="padding-right:110px;"></el-icon> + <span class="text" style="width: 69px;height: 26px;font-size: 16px; + font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">榄呭疇澶囧繕褰�</span></div> + </el-button> + <el-button size="mini" type="text" v-print="'#printable-content'" v-hasPermi="['person:information:memo']"> + <div class="form" ><el-icon style="padding-right:110px;"></el-icon> + <span class="text" style="width: 69px;height: 26px;font-size: 16px; + font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">鎵撳嵃</span></div> + </el-button> + </div> + </h1> </div> <h2 style="width: 100px;height: 16px;font-size: 15px;font-family: Microsoft YaHei-Regular, Microsoft YaHei;font-weight: 400;color: #000000;line-height: 15px;">鍩烘湰淇℃伅</h2> <el-container > @@ -10,7 +25,7 @@ <el-container > <el-col > <el-form ref="elForm" :model="petList" :rules="rules" size="medium" label-position="left" - v-loading="loading" :data="petList" @selection-change="handleSelectionChange" label-width="120px" > + v-loading="loading" :data="petList" label-width="120px" > <el-row :span="5"> <el-form-item label="璇佷欢鍙风爜" prop="idNum" label-width="80px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> <el-input v-model="petList.idNum" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb" > @@ -24,25 +39,26 @@ </el-form-item> </el-row> <el-row :span="5"> - <el-form-item label="鍑虹敓鏃ユ湡" prop="birth" label-width="70px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> - <el-input v-model="petList.birth" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> - </el-input> + <el-form-item label="鍑虹敓鏃ユ湡" prop="birth" label-width="80px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> + <el-date-picker v-model="petList.birth" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + :editable="false" :clearable="false" :style="{width: '100%'}" :disabled="dsb" value-format="yyyy-MM-dd" + ></el-date-picker> </el-form-item> </el-row> <el-row :span="5"> - <el-form-item label="棰滆壊" prop="color" label-width="40px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> + <el-form-item label="棰滆壊" prop="color" label-width="50px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> <el-input v-model="petList.color" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> </el-row> <el-row :span="5"> - <el-form-item label="楗涔犳儻(鍠�)" prop="eatHabit" label-width="100px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> + <el-form-item label="楗涔犳儻(鍠�)" prop="eatHabit" label-width="110px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> <el-input v-model="petList.eatHabit" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> </el-row> <el-row :span="5"> - <el-form-item label="鐢熸椿涔犳儻(鍠�)" prop="lifeHabit" label-width="100px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> + <el-form-item label="鐢熸椿涔犳儻(鍠�)" prop="lifeHabit" label-width="110px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> <el-input v-model="petList.lifeHabit" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> @@ -63,26 +79,33 @@ <el-col v-loading="loading" :data="petList" @selection-change="handleSelectionChange"> <el-form ref="elForm" :model="petList" :rules="rules" size="medium" label-position="left" > <el-row :span="5"> - <el-form-item label="绉嶇被" prop="type" label-width="50px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> + <el-form-item label="鍝佺" prop="type" label-width="50px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> <el-input v-model="petList.type" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> </el-row> <el-row :span="5"> - <el-form-item label="鍚嶅瓧" prop="name" label-width="40px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> + <el-form-item label="鍚嶅瓧" prop="name" label-width="50px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> <el-input v-model="petList.name" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> </el-row> <el-row :span="5"> - <el-form-item label="鎬у埆" prop="sex" label-width="40px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> - <el-input v-model="petList.sex === 1 ? '闆勬��':'闆屾��' " placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> - </el-input> + <el-form-item label="鎬у埆" prop="sex" label-width="50px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> + <template v-if="dsb"> + <el-input v-model="petList.sex === 1 ? '闆勬��':'闆屾��'" :disabled="true"></el-input> + </template> + <template v-else> + <el-select v-model="petList.sex" placeholder="璇烽�夋嫨淇濇磥/鏀剁撼" clearable :style="{width: '100%'}"> + <el-option label="闆屾��" value="0"></el-option> + <el-option label="闆勬��" value="1"></el-option> + </el-select> + </template> </el-form-item> </el-row> <el-row :span="5"> - <el-form-item label="鎬ц川" prop="properties" label-width="40px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> - <el-input v-model="petList.properties" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> + <el-form-item label="绉嶇被" prop="animal" label-width="50px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> + <el-input v-model="petList.animal" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> </el-row> @@ -124,7 +147,7 @@ </el-avatar> </el-col> </div> - + <el-button v-if="isShow" type="primary" @click="submitForm" :disabled="dsb">淇敼榄呭疇淇℃伅</el-button> </el-col> </div> </el-container> @@ -136,18 +159,18 @@ <el-container > <el-col > <el-form ref="elForm" :model="petList" :rules="rules" size="medium" label-position="left" - v-loading="loading" :data="petList" @selection-change="handleSelectionChange" label-width="120px" > + v-loading="loading" :data="petList" label-width="120px" > <el-row :span="5"> <el-form-item label="楗插吇浜哄鍚�" prop="masterName" label-width="100px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> - <el-input v-model="petList.masterName" placeholder="" clearable :style="{width: '100%'}" readonly unselectable="on" > + <el-input v-model="petList.masterName" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb" > </el-input> </el-form-item> </el-row> <el-row :span="5"> - <el-form-item label="浣忔墍璇︾粏鍦板潃" prop="masterAddress" label-width="100px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> - <el-input v-model="petList.masterAddress" placeholder="" clearable :style="{width: '100%'}" readonly unselectable="on"> + <el-form-item label="浣忔墍璇︾粏鍦板潃" prop="masterAddress" label-width="110px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> + <el-input v-model="petList.masterAddress" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> </el-row> @@ -163,13 +186,13 @@ <el-row :span="5"> <el-form-item label="韬唤璇佸彿" prop="masterIdNum" label-width="80px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> - <el-input v-model="petList.masterIdNum" placeholder="" clearable :style="{width: '100%'}" readonly unselectable="on"> + <el-input v-model="petList.masterIdNum" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> </el-row> <el-row :span="5"> <el-form-item label="绉诲姩鐢佃瘽" prop="phone" label-width="100px" style="background: #FAD1E0;border-radius: 6px 6px 0px 6px;opacity: 1;"> - <el-input v-model="petList.phone" placeholder="" clearable :style="{width: '100%'}" readonly unselectable="on"> + <el-input v-model="petList.phone" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> </el-input> </el-form-item> </el-row> @@ -194,12 +217,20 @@ :src="'http://47.93.189.255:8080/'+ petList.fullPicture" :fit="fit" style="width: 100%;height: 100%;border-radius: 0px 0px 0px 0px;opacity: 1;border: 1px solid rgba(0,0,0,0.5);" ></el-image> + <el-upload class="upload-demo" action="/uploadImage" :on-success="handleUploadSuccess"> + <el-button slot="trigger">鐐瑰嚮涓婁紶鏂板浘鐗�</el-button> + </el-upload> + </el-avatar> </el-col> </div> - <el-button v-if="isShow" type="primary" @click="submitForm" :disabled="dsb">淇敼榄呭疇淇℃伅</el-button> + <el-button>淇敼</el-button> </el-col> </div> + + + + <el-dialog :visible.sync="dialogVisible"> <img w-full :src="dialogImageUrl" alt="Preview Image" /> @@ -317,7 +348,7 @@ </div> </template> <script> -import {getPetList, getPetowner, listPetnote,getPetnoteList,uploadPic, download,updatePetowner,updatePet,addPetnote} from "@/api/pet/index"; +import {getPetList, listPetnote,uploadPic, download,updatePet} from "@/api/pet/index"; import {addRole, updateRole} from "@/api/system/role"; import {blobValidate} from "@/utils/ruoyi"; import errorCode from "@/utils/errorCode"; @@ -352,8 +383,6 @@ happenEndTime:undefined }, pid:undefined, - dsb:true, - btn:false, title: '榄呭疇澶囧繕褰�', openDataScope: false, PetNoteList:{ @@ -366,56 +395,115 @@ }, petList: { type: undefined, - kind: undefined, - suitable: undefined, - method: undefined, - location:undefined, - place:undefined, - remark: undefined, - url: undefined, - }, - petownerList: { - email: undefined, + idNum: undefined, name: undefined, - certificateType: undefined, - certificateNo: undefined, - fixedNo:undefined, - many:undefined, - phoneNo:undefined, - address: undefined, - property: undefined, + birth: undefined, + sex: undefined, + color: undefined, + properties: undefined, + securityCode: undefined, + dialect: undefined, + address:undefined, + eatHabit:undefined, + diseatHabit: undefined, + LifeHabit: undefined, + disLifeHabit: undefined, + url: undefined, + headPicture:undefined, + fullPicture:undefined, }, + dialogImageUrl: '', dialogVisible: false, disabled: false, + // 琛ㄥ崟鏍¢獙 rules: { + animal: [{ + required: true, + message: '璇疯緭鍏ョ绫�', + trigger: 'blue' + }], + idNum: [{ + required: true, + message: '璇疯緭鍏ヨ瘉浠跺彿鐮�', + trigger: 'blue' + }], + securityCode: [{ + // required: true, + message: '璇疯緭鍏ラ槻浼爜', + trigger: 'blue' + }], + name: [{ + required: true, + message: '璇疯緭鍏ュ悕瀛�', + trigger: 'blue' + }], + birth: [{ + required: true, + message: '璇疯緭鍏ュ嚭鐢熸棩鏈�', + trigger: 'change' + }], + color: [{ + required: true, + message: '璇疯緭鍏ラ鑹�', + trigger: 'blue' + }], + properties: [{ + // required: true, + message: '璇疯緭鍏ユ�ц川', + trigger: 'blue' + }], + sex: [{ + required: true, + message: '璇烽�夋嫨鎬у埆', + trigger: 'change' + }], + + LifeHabit: [{ + // required: true, + message: '璇疯緭鍏ョ敓娲讳範鎯�(鍠�)', + trigger: 'blur' + }], + + disLifeHabit: [{ + // required: true, + message: '璇疯緭鍏ョ敓娲讳範鎯�(鎭�)', + trigger: 'blur' + }], + + eatHabit: [{ + required: true, + message: '璇疯緭鍏ラギ椋熶範鎯�(鍠�)', + trigger: 'blur' + }], + + diseatHabit: [{ + required: true, + message: '璇疯緭鍏ラギ椋熶範鎯�(鍠�)', + trigger: 'blur' + }], + masterName: [{ + required: true, + message: '璇疯緭鍏ヤ富浜哄鍚�', + trigger: 'blur' + }], + masterIdNum: [{ + required: true, + message: '璇疯緭鍏ヤ富浜鸿韩浠借瘉鍙风爜', + trigger: 'blur' + }], + phone: [{ + required: true, + message: '璇疯緭鍏ユ墜鏈哄彿', + trigger: 'blur' + }], + masterAddress: [{ + required: true, + message: '璇疯緭鍏ヤ富浜哄湴鍧�', + trigger: 'blur' + }], - type: [{ - required: true, - message: '璇疯緭鍏ョ被鍒�', - trigger: 'blur' - }], - method: [{ - required: true, - message: '璇疯緭鍏ヤ繚娲佹柟娉�', - trigger: 'blur' - }], - location: [{ - required: true, - message: '璇疯緭鍏ユ潗鏂欏瓨鏀惧湴', - trigger: 'blur' - }], - place: [{ - required: true, - message: '璇疯緭鍏ユ斁缃湴鐐�', - trigger: 'blur' - }], - suitable: [{ - required: true, - message: '璇疯緭鍏ラ�傜敤浜�', - trigger: 'blur' - }], }, typeOptions: [], @@ -424,7 +512,7 @@ computed: {}, watch: {}, created() { - const id = this.$route.params && this.$route.params.pid; + const id = this.$route.params && this.$route.params.id; this.pid = id; let jd; if(this.$route.query.detail!=undefined) @@ -438,6 +526,7 @@ else{ document.title = "鏌ョ湅榄呭疇璇︾粏淇℃伅"; this.$route.meta.title = "鏌ョ湅榄呭疇璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉� + this.btn = false; } let _this = this @@ -446,12 +535,13 @@ this.loading = true; getPetList(id).then((response) => { this.petList = response.data; + console.log(this.petList) this.loading = false; }); - getPetowner(id).then((response) => { - this.petownerList = response.data; - this.loading = false; - }); + // getPetowner(id).then((response) => { + // this.petownerList = response.data; + // this.loading = false; + // }); } @@ -470,39 +560,68 @@ listPetnote(this.queryParams).then(response => { // alert(123) // console.log(response.data) - console.log(response.data) this.PetNoteList = response.data.data; - this.total = response.data.total; this.loading = false; } ); }, - submitForm() { - let ul = this.fileList.map(function (elem){ - return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") - }).join(",") - let uls = this.fileListOther.map(function (elem){ - return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") - }).join(",") - this.petList.url = ul+","+uls + requestUpload(params) + { + var file = params.file; + var formData = new FormData(); - this.$refs['elForm'].validate(valid => { + formData.append('uploadFile', file); + let _this = this - - if (valid) { - if (this.petList.id != undefined) { - updatePet(this.petList).then(response => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - // this.open = false; - this.btn=false - }); - } else { - this.$modal.msgSuccess("淇敼澶辫触"); - - } - } + uploadPic(formData).then(response => { + let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length) + _this.fileList1.push({name:response.data.fileName, url:response.data.url}) + console("ok") }) + + }, + requestUpload2(params) + { + var file = params.file; + var formData = new FormData(); + + formData.append('uploadFile', file); + let _this = this + + uploadPic(formData).then(response => { + let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length) + _this.fileList2.push({name:response.data.fileName, url:response.data.url}) + console("ok") + }) + + }, + submitForm() { + + let ul = this.fileList1.map(function (elem){ + return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") + }).join(",") + let uls = this.fileList2.map(function (elem){ + return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") + }).join(",") + this.petList.headPicture = ul, + this.petList.fullPicture = uls, + this.$refs['elForm'].validate(valid => { + + + if (valid) { + if (this.petList.id != undefined) { + updatePet(this.petList).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + // this.open = false; + this.btn=false + }); + } else { + this.$modal.msgSuccess("淇敼澶辫触"); + + } + } + }) }, @@ -545,8 +664,9 @@ /** 澶囧繕褰� */ Petnote(pid){ - this.openDataScope = true - this.getList() + const id = this.$route.params && this.$route.params.id; + this.$router.push("/familymodel/pet/petnote/" + id ); + }, handlePictureCardPreview(file) { this.dialogFileUrl = file.url; @@ -588,29 +708,7 @@ this.dsb = false this.btn = true }, - requestUpload(params) - { - var file = params.file; - var formData = new FormData(); - formData.append('uploadFile', file); - let _this = this - uploadPic(formData).then(response => { - let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length) - - if(_this.fot.includes(pth) === true) - { - _this.fileList.push({name:response.data.fileName, "url":response.data.url}) - - } - - else{ - _this.fileListOther.push({name:response.data.fileName, url:response.data.url}) - - } - }) - - } } } @@ -625,6 +723,12 @@ display: block; } +.hide .el-upload--picture-card { + display: none; +} +.form{ + background:center/11% no-repeat url('../../assets/icons/form.png') ; +} .pt{ right: 50px; top:-3px; -- Gitblit v1.9.1