From bd40473c9c634005bc7e62e7fc901bcd8b598fa0 Mon Sep 17 00:00:00 2001 From: feige <feige@qq.com> Date: 星期五, 02 二月 2024 15:20:26 +0800 Subject: [PATCH] 提交了修改 --- ruoyi-ui/src/views/self/memo.vue | 709 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 703 insertions(+), 6 deletions(-) diff --git a/ruoyi-ui/src/views/self/memo.vue b/ruoyi-ui/src/views/self/memo.vue index 7d38ef5..7a32f90 100644 --- a/ruoyi-ui/src/views/self/memo.vue +++ b/ruoyi-ui/src/views/self/memo.vue @@ -1,13 +1,710 @@ <template> -<div>hi</div> + <div class="app-container" id="printable-content"> + <h1 style="font-size:21px;padding-top:30px;display: flex;"> + <span>涓汉绠�鍘�</span> + <div class="button-container" > + <el-button + size="mini" + style="background: #E0EEFE; + border-radius: 7px 7px 7px 7px;opacity: 1; margin-left: 20px;" + @click="handleEdit()" + v-if="isShow" + v-hasPermi="['system:role:edit']" + >缂栬緫</el-button> + <el-button v-if="isShow_2" size="mini" + style=" width: 67px;height: 27px;background:#E0EEFE; + border-radius: 7px 7px 7px 7px;opacity: 1;margin-left: 20px; "@click="submitForm" :disabled="dsb">瀹屾垚</el-button> + + <el-button + size="mini" + style=" width: 67px;height: 27px;background: #D2F3E0; + border-radius: 7px 7px 7px 7px;opacity: 1;margin-left: 20px; " + @click="handleExport" + v-hasPermi="['family:note:export']" + >瀵煎嚭</el-button> + + <el-button + size="mini" + style=" width: 67px;height: 27px;background: #FFDDE3; + border-radius: 7px 7px 7px 7px;opacity: 1; margin-left: 20px;" + v-print="'#printable-content'" + v-hasPermi="['family:note:export']" + >鎵撳嵃</el-button> + </div> + + </h1> + <el-divider /> + <h2 style="font-size:16px">鍩烘湰淇℃伅</h2> + <el-container> + <div > + <el-container> + <el-col > + <el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left" + v-loading="loading" :data="individualList" @selection-change="handleSelectionChange" > + <el-row :span="6"> + <el-form-item label="濮撳悕" prop="nickName" label-width="40px"> + <el-input v-model="individualList.nickName" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-row> + <el-row :span="6"> + <el-form-item label="鏇剧敤鍚�" prop="oldName" label-width="60px"> + <el-input v-model="individualList.oldName" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-row> + <el-row :span="6"> + <el-form-item label="韬唤璇佸彿" prop="idNum" label-width="70px"> + <el-input v-model="individualList.idNum" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-row> + </el-form> + </el-col> + </el-container> + </div> + <div style="padding-left:60px"> + <el-container> + <el-col v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> + <el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left"> + <el-row :span="5"> + <el-form-item label="鎬у埆" prop="sex" label-width="40px"> +<!-- <el-input v-model="individualList.sex === 1 ? '鐢�':'濂�' " placeholder="" clearable :style="{width: '100%'}" :disabled="dsb">--> +<!-- </el-input>--> + <template v-if="!isEditing"> + <el-input v-model="individualList.sex === 1 ? inds='鐢�':inds='濂�'" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"></el-input> + </template> + <template v-else> + <el-select v-model="inds" placeholder="璇烽�夋嫨鎬у埆" clearable :style="{width: '100%'}" :disabled="dsb"> + <el-option label="鐢�" value='1'></el-option> + <el-option label="濂�" value='0'></el-option> + </el-select> + </template> + </el-form-item> + </el-row> + <el-row :span="5"> + <el-form-item label="姘戞棌" prop="nation"label-width="40px"> + <el-input v-model="individualList.nation" placeholder="" clearable :style="{width: '100%'}":disabled="dsb"> + </el-input> + </el-form-item> + </el-row> + <el-row :span="5"> + <el-form-item label="鑱旂郴鏂瑰紡" prop="phoneNumber" label-width="70px"> + <el-input v-model="individualList.phoneNumber" placeholder="" clearable :style="{width: '100%'}":disabled="dsb"> + </el-input> + </el-form-item> + </el-row> + </el-form> + </el-col> + </el-container> + </div> + <div style="padding-left:60px"> + <el-container> + <el-col v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> + <el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left":disabled="dsb"> + <el-row :span="5"> + <el-form-item label="鍥界睄" prop="nationality" label-width="40px"> + <el-input v-model="individualList.nationality" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-row> + <el-row :span="5"> + <el-form-item label="濠氬Щ鐘跺喌" prop="maritalStatus" label-width="70px"> + <template v-if="!isEditing" > + <el-input v-if="individualList.maritalStatus===0" placeholder="鏈"></el-input> + <el-input v-if="individualList.maritalStatus===1" placeholder="宸插"></el-input> + <el-input v-if="individualList.maritalStatus===2" placeholder="鏈"></el-input> + + </template> + <template v-else> + <el-select v-model="mrs" placeholder="璇烽�夋嫨鎬у埆" clearable :style="{width: '100%'}"> + <el-option label="鏈" value='0'></el-option> + <el-option label="宸插" value='1'></el-option> + <el-option label="绂诲" value='2'></el-option> + </el-select> + </template> + </el-form-item> + </el-row> + + </el-form> + </el-col> + </el-container> + </div> + <div style="padding-left:100px;padding-top:30px"> + <el-col :span="6" :data="individualList"> + <div class="block" :model="individualList"> + + + + + <el-upload ref="uploadDemo" + action="" + :file-list="fileList" + list-type="picture-card" + accept="image/*" + :multiple="false" + :http-request="requestUpload" + :on-success="handleSucess" + :limit="1"> + + <el-avatar shape="square" style="width: 200px;;height: 200px;" > + <el-image + :src="'https://www.bendudu.com:8080/'+ individualList.url" + :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-avatar> + </el-upload> + </div> + </el-col> + + </div> + + <div style="padding-left:30px;padding-top:30px" > + + </div> + <!-- </el-dialog> self:user:export--> + </el-container> + <el-container> + <div> + <el-container> + <el-col v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> + <el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left"> + <el-row :span="16" > + <el-form-item label="鍗曚綅" prop="unit" label-width="40px"> + <el-input v-model="individualList.unit" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-row> + <el-row :span="16"> + <el-form-item label="鎴风睄鍦板潃" prop="locationAddress" label-width="70px"> + <el-input type="textarea" v-model="individualList.locationAddress" placeholder="" clearable :style="{width: '280px'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-row> + + <el-row :span="28"> + <el-form-item label="甯镐綇鍦板潃" prop="alwaysAddress" label-width="70px"> + <el-input type="textarea" v-model="individualList.alwaysAddress" placeholder="" clearable :style="{width: '280px'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-row> + + + </el-form> + </el-col> + </el-container> + </div> + <div style="padding-left:60px"> + <el-container> + <el-col v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> + <el-form ref="elForm" :model="individualList" :rules="rules" size="medium" label-position="left"> + <el-row :span="12" > + <el-form-item label="鑱屽姟鑱岀О" prop="position" label-width="70px"> + <el-input v-model="individualList.position" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-row> + <el-row :span="12"> + <el-form-item label="鎴风睄鍦板叕瀹夋満鍏�" prop="locationPolice" label-width="110px"> + <el-input type="textarea" v-model="individualList.locationPolice" placeholder="" clearable :style="{width: '280px'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-row> + <el-row :span="12"> + <el-form-item label="甯镐綇鍦板叕瀹夋満鍏�" prop="alwaysPolice" label-width="110px"> + <el-input type="textarea" v-model="individualList.alwaysPolice" placeholder="" clearable :style="{width: '280px'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-row> + + </el-form> + </el-col> + </el-container> + </div> + </el-container> + <!--鎶樺彔闈㈡澘--> + <el-collapse > + <el-collapse-item title="绉诲眳鍥斤紙澧冿級鎯呭喌" name="3" > + <div> + <el-form v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> + <el-form-item label="鏄惁鎷ユ湁澶栫睄銆佸澶栧眳鐣欐潈銆侀暱鏈熷眳鐣欒鍙�" > + <el-radio-group v-model="individualList.outStatus" style="margin-bottom: 0;color: #FEF7FC;" :disabled="dsb"> + <el-radio :label="1">鏄�</el-radio> + <el-radio :label="0">鍚�</el-radio> + </el-radio-group> + <el-container > + <el-row :span="7"> + <el-form v-loading="loading" :data="individualList" @selection-change="handleSelectionChange"> + <el-form-item label="璇佷欢鍙风爜" prop="idNo" label-width="70px"> + <el-input v-model="individualList.idNo" style="color: #FEF7FC;" placeholder="" clearable :style="{width: '100%'}" :disabled="dsb"> + </el-input> + </el-form-item> + </el-form> + </el-row> + </el-container> + </el-form-item> + </el-form> + + </div> + + </el-collapse-item> + </el-collapse> + </div> </template> <script> -export default { - name: "memo" -} -</script> +import { + getIndividualList, addIndividual, updateIndividual, delIndividual, + listExperience, addExperience, updateExperience, delExperience, + getIndividualRelation, addRelation, updateRelation, delRelation, + getCertificateList, addCertificate, updateCertificate, delCertificate, + getAbroadList, addAbroad, updateAbroad, delAbroad, listType, + getAutobiographyList, getAutobiographyTermList, addAutobiography, updateAutobiography,delAutobiography, + getCategory, +} from "@/api/self/index"; +import {listNote,enload,getNote, addNote,updateNote, delNote,uploadPic} from "@/api/memo/index"; -<style scoped> +import { Notification, MessageBox, Message, Loading } from 'element-ui' +export default { + name: "memo", + dicts: ['sys_normal_disable'], + data() { + return { + // 閬僵灞� + disabled: false, + inds:undefined, + //濠氬Щ绫诲埆 + mrs:undefined, + loading: true, + formData:[], + // 閫変腑鏁扮粍 + ids: [], + fit:['cover'], + // 闈炲崟涓鐢� + single: true, + // 闈炲涓鐢� + multiple: true, + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, + // 鎬绘潯鏁� + total: 0, + // 涓汉璁颁簨鏈〃鏍兼暟鎹� + noteList: [], + // 寮瑰嚭灞傛爣棰� + title: "", + // 鏄惁鏄剧ず寮瑰嚭灞� + open: false, + // 鏄惁鏄剧ず寮瑰嚭灞傦紙鏁版嵁鏉冮檺锛� + openDataScope: false, + menuExpand: false, + menuNodeAll: false, + deptExpand: true, + deptNodeAll: false, + // 鏃ユ湡鑼冨洿 + dateRange: [], + // 鏁版嵁鑼冨洿閫夐」 + fot:[".jpg",".jif"], + fileList:[], + fileListOther:[], + + uploading: false, + uploading1: false, + fit:['fill'], + keyword:'', + rules: { + //鍩烘湰淇℃伅 + nickName: [{ + // required: true, + message: '璇疯緭鍏ュ鍚�', + trigger: 'blur' + }], + oldName: [{ + // required: true, + message: '璇疯緭鍏ユ浘鐢ㄥ悕', + trigger: 'blur' + }], + idNum: [{ + // required: true, + message: '璇疯緭鍏ヨ韩浠借瘉鍙�', + trigger: 'blur' + }], + nationality: [{ + // required: true, + message: '璇疯緭鍏ュ浗绫�', + trigger: 'blur' + }], + maritalStatus: [{ + // required: true, + message: '璇疯緭鍏ュ濮荤姸鍐�', + trigger: 'blur' + }], + locationAddress: [{ + // required: true, + message: '璇疯緭鍏ユ埛绫嶅湴鍧�', + trigger: 'blur' + }], + alwaysAddress: [{ + // required: true, + message: '璇疯緭鍏ュ父浣忓湴鍧�', + trigger: 'blur' + }], + unit: [{ + // required: true, + message: '璇疯緭鍏ュ崟浣�', + trigger: 'blur' + }], + position: [{ + // required: true, + message: '璇疯緭鍏ヨ亴鍔¤亴绉�', + trigger: 'blur' + }], + locationPolice: [{ + // required: true, + message: '璇疯緭鍏ユ埛绫嶅湴鍏畨鏈哄叧', + trigger: 'blur' + }], + alwaysPolice: [{ + // required: true, + message: '璇疯緭鍏ュ父浣忓湴鍏畨鏈哄叧', + trigger: 'blur' + }], + + //涓昏瀛︿範鍙婂伐浣滅粡鍘� + startDate: [{ + required: true, + message: '璇疯緭鍏ヨ捣濮嬫棩鏈�', + trigger: 'blur' + }], + endDate: [{ + // required: true, + message: '璇疯緭鍏ョ粨鏉熸棩鏈�', + trigger: 'blur' + }], + content: [{ + required: true, + message: '璇疯緭鍏ユ枃鏈�', + trigger: 'blur' + }], + witness: [{ + required: true, + message: '璇疯緭鍏ヨ瘉鏄庝汉', + trigger: 'blur' + }], + //鑷紶 + term: [{ + required: true, + message: '璇疯緭鍏ユ椂鏈�', + trigger: 'blur' + }], + ageBegin: [{ + required: true, + message: '', + trigger: 'blur' + }], + ageEnd: [{ + required: true, + message: '', + trigger: 'blur' + }], + + }, + formDat: { + //涓汉璁颁簨鏈鎯� + id:undefined, + happenTime:undefined, + people:undefined, + address:undefined, + title:undefined, + remark:undefined, + url: undefined, + }, + individualList:[], + // 鑿滃崟鍒楄〃 + menuOptions: [], + // 閮ㄩ棬鍒楄〃 + deptOptions: [], + // 鏌ヨ鍙傛暟 + queryParams: { + pageNum: 1, + pageSize: 10, + happenTime:undefined, + people:undefined, + address:undefined, + title:undefined, + remark:undefined + }, + // searchVal:"", + + // 琛ㄥ崟鍙傛暟 + form: {}, + defaultProps: { + children: "children", + label: "label" + }, + // 琛ㄥ崟鏍¢獙 + rules: { + + happenTime: [{ + required: true, + message: '璇烽�夋嫨鏃堕棿', + trigger: 'blur' + }], + people: [{ + required: true, + message: '璇疯緭鍏ヤ汉鐗�', + trigger: 'blur' + }], + address: [{ + // required: true, + message: '璇疯緭鍏ュ湴鐐�', + trigger: 'blur' + }], + title: [{ + required: true, + message: '璇疯緭鍏ヤ簨浠舵爣棰�', + trigger: 'blur' + }], + remark: [{ + // required: true, + message: '璇疯緭鍏ュ娉�', + trigger: 'blur' + }], + }, + typeOptions: [], + isShow:true, + dsb:true, + btn: false, + isShow_2:false, + isEdit1:false, + isEditing: false, + fileList:[] + }; + }, + created() { + this.getList(); + + // for (let i = 0; i < this.contactList.length; i++) { + // this.formDat[i] = this.contactList[i]; + // } + }, + + methods: { + + + + /** 鏌ヨ璁板綍鍒楄〃 */ + getList() { + this.loading = true; + let _this = this + //涓汉淇℃伅 + getIndividualList(this.queryParams).then(response => { + // alert(123) + // console.log(response.data) + _this.individualList = response.data; + + // this.total = response.data.total; + _this.loading = false; + } + ); + }, + + + // 鍙栨秷鎸夐挳 + cancel() { + this.open = false; + this.reset(); + }, + getRowId(row) + { + return row.id + }, + // 缂栬緫鎸夐挳 + handleEdit() + { + this.dsb = false + this.btn = true + this.isShow=false + this.isShow_2=true + this.isEditing=true + if(this.individualList.maritalStatus == 0) + this.mrs = '鏈' + else if(this.individualList.maritalStatus == 1) + this.mrs = '宸插' + else + this.mrs = '绂诲'// this.isEdit=false + }, + + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + handleExport() { + this.download('/self/user/export', { + ...this.queryParams + }, `self_${new Date().getTime()}.xlsx`) + }, //涓汉鍩烘湰淇℃伅 + submitForm() { + if(this.inds=='1') + this.individualList.sex = 1; + else + this.individualList.sex = 0; + if(this.mrs=='0') + this.individualList.maritalStatus = 0 + else if(this.mrs == '1') + this.individualList.maritalStatus = 1 + else + this.individualList.maritalStatus = 2 + // alert(10) + // 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.individualList.url = ul+","+uls + // console.log(this.individualList) + this.$refs['elForm'].validate(valid => { + if (valid) { + if (this.individualList.userId !== undefined) { + updateIndividual(this.individualList).then(response => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + // 寮哄埗鏇存柊鐩稿叧缁勪欢 + this.individualList={...this.individualList} + + // this.open = false; + this.dsb = true + this.btn=false + this.isShow_2=false + this.isShow=true + this.isEditing = false + }); + } else { + this.$modal.msgSuccess("淇敼澶辫触"); + + } + } + }) + // 鍒锋柊椤甸潰 + // window.location.reload(); + }, + handleSelectionChange(selection) { + this.ids = selection.map(item => item.id) + console.log(this.ids) + this.single = selection.length!=1 + this.multiple = !selection.length + }, + + + requestUpload(params) + { + var file = params.file; + var formData = new FormData(); + formData.append('uploadFile', file); + let _this = this + + // console.log(this.individualList) + this.$refs.uploadDemo.clearFiles(); + // alert(234) + uploadPic(formData).then(response => { + // alert(response.data.url) + // alert(response.data.originalFilename) + 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.fileList.push({name:response.data.fileName, url:response.data.url}) + + } + _this.individualList.img = response.data.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") + _this.individualList.url = response.data.url.replace(process.env.VUE_APP_BASE_TRUE_API,"") + updateIndividual(_this.individualList).then(response => { + // 灏嗛�変腑閫夐」鐨勬枃鏈缃负"term"瀛楁鐨勫�� + // this.formDat.term = selectedOption.value; + // this.formDat.id = selectedOption.id; + console.log("1") + _this.$modal.msgSuccess("淇敼鎴愬姛"); + _this.dialogVisible.autobiography = false; + _this.isEdit1 = false; + _this.getList(); + }).catch(error => { + console.log(error); + _this.isEdit1 = false; + _this.dialogVisible.autobiography = false; + }); + }) + + }, + //澶村儚淇敼 + uploadImage() { + const inputElement = document.createElement("input"); + inputElement.type = "file"; + inputElement.accept = "image/*"; + inputElement.style.display = "none"; + document.body.appendChild(inputElement); + + inputElement.addEventListener("change", () => { + const file = inputElement.files[0]; + if (file) { + const formData = new FormData(); + formData.append("image", file); + + // 璋冪敤uploadPic鎺ュ彛涓婁紶鍥剧墖 + axios.post("/common/upload", formData, { + headers: { + "Content-Type": "multipart/form-data" + } + }).then(response => { + // 涓婁紶鎴愬姛锛岃幏鍙栨柊鍥剧墖鐨刄RL + const newImageUrl = response.data.img; + + // 鍋囪individualList鏄竴涓璞★紝鏇存柊individualList.img + this.individualList.img = newImageUrl; + + // 鍋囪fileList鏄竴涓暟缁勶紝鏇存柊fileList涓搴旂殑鍥剧墖URL + // const index = this.fileList.findIndex(item => item.id === fileId); + // this.fileList[index].url = newImageUrl; + + // 娓呴櫎input鍏冪礌骞剁Щ闄や簨浠剁洃鍚� + document.body.removeChild(inputElement); + inputElement.removeEventListener("change", null); + }).catch(error => { + console.error("涓婁紶澶辫触:", error); + // 娓呴櫎input鍏冪礌骞剁Щ闄や簨浠剁洃鍚� + document.body.removeChild(inputElement); + inputElement.removeEventListener("change", null); + }); + } + }); + + // 瑙﹀彂鐐瑰嚮浜嬩欢锛屾樉绀烘枃浠堕�夋嫨瀵硅瘽妗� + inputElement.click(); + }, + + + } +}; +</script> +<style> +.app-container{ + background-color: #FEF7FC; +} +.el-table__row.statistics-warning-row { + background: #E0EEFE; + +} +.el-table__row.statistics-warning-row1 { + background: #FFEFF2; + +} +.el-table__cell { + font-size: 14px; /* 璁剧疆瀛椾綋澶у皬 */ +} +.button-container { + display: inline-flex; /* 璁剧疆鎸夐挳瀹瑰櫒涓鸿鍐呭厓绱� */ +} </style> -- Gitblit v1.9.1