From 6bc24b57837948408cfc4812bbab6ac2f9f4a3dc Mon Sep 17 00:00:00 2001 From: WXL (wul) <wl_5969728@163.com> Date: 星期一, 15 九月 2025 16:41:26 +0800 Subject: [PATCH] 测试完成 --- src/views/followvisit/tasklist/index.vue | 139 +++++++++++ src/assets/order/Xftp-8.0.0084p.exe | 0 dist.zip | 0 src/views/login.vue | 3 vue.config.js | 4 src/views/system/user/profile/index.vue | 154 ++++++++++++ src/components/PatientSelection/index.vue | 336 ++++++++++++++++++++++++++++ src/views/outsideChainwtnew.vue | 47 ++- src/views/patient/propaganda/QuestionnaireTask.vue | 29 + 9 files changed, 661 insertions(+), 51 deletions(-) diff --git a/dist.zip b/dist.zip new file mode 100644 index 0000000..15ef55a --- /dev/null +++ b/dist.zip Binary files differ diff --git a/src/assets/order/Xftp-8.0.0084p.exe b/src/assets/order/Xftp-8.0.0084p.exe new file mode 100644 index 0000000..a3a2a02 --- /dev/null +++ b/src/assets/order/Xftp-8.0.0084p.exe Binary files differ diff --git a/src/components/PatientSelection/index.vue b/src/components/PatientSelection/index.vue new file mode 100644 index 0000000..9fc4498 --- /dev/null +++ b/src/components/PatientSelection/index.vue @@ -0,0 +1,336 @@ +<template> + <div> + <el-dialog + title="娲惧彂鎮h�呴�夋嫨" + :visible.sync="dialogVisiblepatient" + width="70%" + :before-close="handleClosehz" + > + <div class="examine-jic"> + <div style="margin: 0 10px 20px 10px"> + <el-card class="box-card"> + <el-tag + v-for="item in overallCase" + :key="item.icdid" + type="primary" + closables + @close="handleClose(item)" + > + {{ item.icdname }} + </el-tag> + <div style="margin-top: 20px; text-align: right"> + 鍏遍�夋嫨<span + style="font-size: 18px; color: #409eff; margin: 0 10px" + >{{ overallCase.length }}</span + >鏉℃暟鎹� + </div> + </el-card> + </div> + <div class="jic-value"> + <el-row :gutter="20"> + <!--鐢ㄦ埛鏁版嵁--> + <el-form + :model="patientqueryParams" + ref="queryForm" + size="small" + :inline="true" + label-width="98px" + > + <el-form-item label="鐤剧梾鍚嶇О" prop="name"> + <el-input + v-model="patientqueryParams.icdname" + placeholder="璇疯緭鍏ョ柧鐥呭悕绉�" + @keyup.enter.native="handleAddpatient" + /> + </el-form-item> + + <el-form-item> + <el-button + type="primary" + icon="el-icon-search" + size="medium" + @click="handleAddpatient" + >鎼滅储</el-button + > + <el-button + icon="el-icon-refresh" + size="medium" + @click="resetQuery" + >閲嶇疆</el-button + > + </el-form-item> + </el-form> + <!-- 閫夋嫨鍣ㄥ畼鍒楄〃 --> + <el-table + ref="multipleTable" + :data="donorchargeList" + tooltip-effect="dark" + style="width: 100%" + @selection-change="handleSelectionChange" + > + <el-table-column class="checkall" type="selection" width="55"> + </el-table-column> + <el-table-column + prop="icdid" + label="鐤剧梾缂栧彿" + width="100" + show-overflow-tooltip + > + </el-table-column> + <el-table-column label="鐤剧梾鍚嶇О" show-overflow-tooltip> + <template slot-scope="scope">{{ scope.row.icdname }}</template> + </el-table-column> + + <el-table-column prop="icdcode" label="鐤剧梾缂栫爜" width="150"> + </el-table-column> + </el-table> + </el-row> + <pagination + v-show="patienttotal > 0" + :total="patienttotal" + :page.sync="patientqueryParams.pageNum" + :limit.sync="patientqueryParams.pageSize" + @pagination="handleAddpatient" + /> + </div> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="$emit('addoption')">鍙� 娑�</el-button> + <el-button type="primary" @click="AddDispatchpatients" + >纭畾娣诲姞</el-button + > + </span> + </el-dialog> + </div> +</template> + +<script> +import { getillnesslist, deltargetillness } from "@/api/AiCentre/index"; +export default { + name: "Diseasetotality", + data() { + return { + patienttotal: 0, // + // 褰撳墠椤甸�変腑鏁版嵁 + multipleSelection: [], + // 鎬婚�変腑鏁版嵁 + // overallCase: [], + patientqueryParams: { + pageNum: 1, + pageSize: 10, + }, + donorchargeList: [], + donorchargeanlList: [], //妗堜緥鍒楄〃 + }; + }, + + props: { + dialogVisiblepatient: { + type: Boolean, + default: () => { + return false; + }, + }, + // 閫変腑 + overallCase: { + type: Array, + required: true, + default: () => [], + }, + pids: { + type: Array, + required: true, + default: () => [], + }, + allhosp: { + type: String, + required: true, + default: () => [], + }, + // 5闂嵎妯℃澘銆�3闅忚妯℃澘銆�6瀹f暀 + type: { + type: Number, + default: () => { + return 5; + }, + }, + }, + + created() {}, + + mounted() { + // this.handleAddpatient(); + }, + + watch: {}, + + methods: { + handleClosehz() { + this.$emit("addoption"); + }, + // 閫夋嫨鏁版嵁鏍囩鍒犻櫎浜嬩欢 + handleClose(item) { + console.log(item); + if (this.multipleSelection.indexOf(item) == -1 && !item.outid) { + console.log(1); + this.overallCase.splice(this.overallCase.indexOf(item), 1); + } else if (item.outid) { + this.$modal + .confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + item.icd10name + '"鐨勬暟鎹」锛�') + .then(() => { + this.multipleSelection.splice( + this.multipleSelection.indexOf(item), + 1 + ); + deltargetillness(item.id).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + this.overallCase.splice(this.overallCase.indexOf(item), 1); + } + }); + // 鍙栨秷鎸傝浇鐘舵�� + this.$refs.multipleTable.toggleRowSelection(item, false); + }) + .catch(() => {}); + } else { + this.overallCase.splice(this.overallCase.indexOf(item), 1); + this.multipleSelection.splice(this.multipleSelection.indexOf(item), 1); + // 鍙栨秷鎸傝浇鐘舵�� + this.$refs.multipleTable.toggleRowSelection(item, false); + } + }, + resetQuery() { + this.patientqueryParams.icdname = null; + this.handleAddpatient(); + }, + // 瑙﹀彂鏌ヨ浜嬩欢 + handleAddpatient(row) { + this.$emit("kkoption"); + + getillnesslist(this.patientqueryParams).then((res) => { + this.donorchargeList = res.rows; + this.patienttotal = res.total; + this.Restorecheck(); + }); + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + if (this.decision) return; + // 鍒ゆ柇鏄惁鏈夊垹闄� + if (this.multipleSelection.length <= selection.length) { + this.multipleSelection = selection; + } else { + this.multipleSelection.forEach((item) => { + if (selection.includes(item)) { + } else { + if (this.multipleSelection.length == 1) { + this.multipleSelection = []; + } else { + this.multipleSelection.splice( + this.multipleSelection.indexOf(item), + 1 + ); + } + if (this.overallCase.length == 1) { + this.overallCase = []; + } else { + this.overallCase.splice(this.overallCase.indexOf(item), 1); + } + } + }); + } + // 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍 + this.multipleSelection.forEach((item) => { + + if (this.overallCase.every((obj) => obj.icdname != item.icdname)) { + this.overallCase.push(item); + } + }); + console.log(this.multipleSelection, "瑙﹀彂閫夋嫨鍚巑ultipleSelection"); + }, + // 鍒囨崲椤靛悗鎭㈠閫変腑 + Restorecheck() { + console.log(this.overallCase, "this.overallCase"); + const allid = this.overallCase.map((item) => item.icdname); + const overlap = this.donorchargeList.filter((value) => { + return allid.includes(value.icdname); + }); + // 淇濇寔ids鍜屽綋鍓嶉〉闈㈢殑鍚屾鎬� + this.multipleSelection = overlap; + console.log(this.multipleSelection, "杩涘叆鍒嗛〉multipleSelection"); + + this.toggleSelection(overlap); + }, + // 鎸傝浇閫夋嫨鐘舵�� + toggleSelection(rows) { + if (rows) { + this.decision = true; + this.$nextTick(() => { + rows.forEach((row) => { + this.$refs.multipleTable.toggleRowSelection(row, true); + }); + this.decision = false; + }); + console.log(123); + } else { + this.$refs.multipleTable.clearSelection(); + } + }, + AddDispatchpatients() { + this.$emit("addoption"); + }, + }, +}; +</script> + +<style lang="scss" scoped> +.examine-jic { + .headline { + font-size: 24px; + border-left: 5px solid #41a1be; + padding-left: 5px; + margin-bottom: 10px; + display: flex; + justify-content: space-between; + .Add-details { + font-size: 18px; + color: #02a7f0; + cursor: pointer; + } + } + .jic-value { + font-size: 20px; + border-top: 1px solid #a7abac; + padding: 10px; + margin-bottom: 10px; + .details-jic { + padding: 10px 15px; + border: 1px solid #dcdfe6; + -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), + 0 0 6px 0 rgba(0, 0, 0, 0.04); + .details-title { + display: flex; + justify-content: space-between; + margin-bottom: 10px; + div:nth-child(2) { + color: #02a7f0; + cursor: pointer; + } + } + .details-renw { + background: #e4ebfc; + padding: 15px 5px; + border-radius: 5px; + margin-bottom: 20px; + } + } + } +} +::v-deep.el-table .el-table__header th:first-child .el-checkbox { + display: none; +} +.el-tag + .el-tag { + margin-left: 10px; + margin-bottom: 10px; +} +</style> diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue index e04e587..a3f2c46 100644 --- a/src/views/followvisit/tasklist/index.vue +++ b/src/views/followvisit/tasklist/index.vue @@ -250,8 +250,14 @@ size="medium" type="text" @click="handleUpdate(scope.row, 1)" - ><span class="button-xj" - ><i class="el-icon-circle-plus-outline"></i>渚濈収鏂板</span + ><span class="button-xj">渚濈収鏂板</span></el-button + > + <el-button + size="medium" + type="text" + @click="handleAddpatient(scope.row)" + ><span class="button-hz" + ><i class="el-icon-circle-plus-outline"></i>鏂板鎮h��</span ></el-button > <el-button @@ -259,9 +265,7 @@ size="medium" type="text" @click="stop(scope.row)" - ><span class="button-zt" - ><i class="el-icon-circle-plus-outline"></i>鏆傚仠</span - ></el-button + ><span class="button-zt">鏆傚仠</span></el-button > </template> </el-table-column> @@ -373,6 +377,15 @@ > </div> </el-dialog> + <!-- 閫夋嫨鎮h�呭脊妗� --> + <Patient-Selection + ref="Patient" + :dialogVisiblepatient="dialogVisiblepatient" + :overallCase="Patientlist" + :tableLabel="tableLabelhz" + @addoption="dialogVisiblepatient = false" + @kkoption="dialogVisiblepatient = true" + /> </div> </template> @@ -396,7 +409,8 @@ TaskTemplateSendExecution, } from "@/api/AiCentre/index"; import store from "@/store"; - +import PatientSelection from "@/components/PatientSelection"; //姝e垯缁勪欢 +import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; @@ -441,6 +455,8 @@ showTimeNight: [], showTimeNoon: [], }, + dialogVisiblepatient: false, + Patientlist: [], taskformVisible: false, dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 inputVisible: false, @@ -1041,6 +1057,111 @@ const item = data.find((item) => item.value === value); return item ? item.label : null; }, + //鎮h�呮坊鍔犵浉鍏� + handleAddpatient(row) { + this.allpids = []; + this.overallCase.forEach((item) => { + this.allpids.push(item.patid); + }); + if (this.patientqueryParams.allhosp == 4) { + this.tableLabelhz = [ + // { label: "鍏ラ櫌鏃ユ湡", width: "170", prop: "starttime" }, + { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" }, + { label: "鎮h��", width: "", prop: "name" }, + { label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" }, + { label: "韬唤璇�", width: "200", prop: "idcardno" }, + { label: "鎬у埆", width: "", prop: "sex" }, + { label: "骞撮緞", width: "", prop: "age" }, + { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" }, + { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, + { label: "鍖荤敓", width: "", prop: "drname" }, + { label: "绉戝", width: "180", prop: "dept" }, + { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" }, + ]; + } else if (this.patientqueryParams.allhosp == 1) { + this.tableLabelhz = [ + { label: "鍏ラ櫌鏃ユ湡", width: "150", prop: "starttime" }, + { label: "鎮h��", width: "", prop: "name" }, + { label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" }, + { label: "韬唤璇�", width: "200", prop: "idcardno" }, + { label: "鎬у埆", width: "", prop: "sex" }, + { label: "骞撮緞", width: "", prop: "age" }, + { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" }, + { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" }, + { label: "鍖荤敓", width: "", prop: "drname" }, + { label: "绉戝", width: "180", prop: "dept" }, + { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" }, + ]; + } + if (this.allpids[0]) { + this.patientqueryParams.pids = this.allpids; + } else { + this.patientqueryParams.pids = null; + } + // 鏉ユ簮鍒ゆ柇 + + if (this.patientqueryParams.allhosp == 4) { + this.patientqueryParams.hospitaldistrictcodes = []; + this.patientqueryParams.deptcodes = []; + } else if (this.patientqueryParams.allhosp == 1) { + this.patientqueryParams.deptcodes = + this.patientqueryParams.leaveldeptcodes; + this.patientqueryParams.hospitaldistrictcodes = + this.patientqueryParams.leavehospitaldistrictcodes; + this.patientqueryParams.leavehospitaldistrictcodes = []; + this.patientqueryParams.leaveldeptcodes = []; + } + getTaskpatientQC(this.patientqueryParams).then((response) => { + this.patientuserList = response.rows; + this.patientuserList.forEach((item) => { + if (item.endtime) { + item.endDay = this.daysBetween(item.endtime); + } + }); + this.patienttotal = response.total; + this.loading = false; + this.Restorecheck(); + }); + this.dialogVisiblepatient = true; + }, + // 鏌ヨ + handleQuery() { + // 鑾峰彇澶栭儴鎮h�� + + if (this.patientqueryParams.allhosp == 6) { + this.Externallist(); + console.log(); + + return; + } + if (this.patientqueryParams.searchscope == 1) { + this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.patientqueryParams.leavehospitaldistrictcodes = []; + } else if (this.patientqueryParams.searchscope == 2) { + this.patientqueryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + this.patientqueryParams.leaveldeptcodes = []; + } else { + this.patientqueryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.patientqueryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + } + if ( + !this.patientqueryParams.leavehospitaldistrictcodes || + !this.patientqueryParams.leavehospitaldistrictcodes[0] + ) + this.patientqueryParams.leavehospitaldistrictcodes = null; + if ( + !this.patientqueryParams.leaveldeptcodes || + !this.patientqueryParams.leaveldeptcodes[0] + ) + this.patientqueryParams.leaveldeptcodes = null; + this.handleAddpatient(); + }, }, }; </script> @@ -1170,6 +1291,12 @@ border-radius: 1px; color: #ffffff; } +.button-hz { + background: #63d37b; + padding: 5px; + border-radius: 1px; + color: #ffffff; +} ::v-deep.el-radio-group { span { diff --git a/src/views/login.vue b/src/views/login.vue index ddaf564..9876eac 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -119,9 +119,6 @@ orgid: "H41010500003", }, options: [ - { value: "H41010500003", label: "娌冲崡涓尰鑽ぇ瀛︾涓�闄勫睘鍖婚櫌" }, - { value: "H41082200269", label: "鍗氱埍鍘夸汉姘戝尰闄�" }, - { value: "H41078202417", label: "杈夊幙甯備腑鍖婚櫌" }, ], loginRules: { username: [ diff --git a/src/views/outsideChainwtnew.vue b/src/views/outsideChainwtnew.vue index 178d0d6..24fc1d3 100644 --- a/src/views/outsideChainwtnew.vue +++ b/src/views/outsideChainwtnew.vue @@ -8,7 +8,9 @@ {{ kcb ? kcb - : "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾垜浠槸"+localStorage.getItem("orgname")+"鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�" + : "浜茬埍鐨勬偅鑰�-瀹跺睘锛屾垜浠槸" + + localStorage.getItem("orgname") + + "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�" }} <!-- 浜茬埍鐨勬偅鑰�/瀹跺睘鎮ㄥソ锛屼负浜嗘洿濂界殑浜嗚В鎮ㄥ嚭闄㈠悗鐨勫悍澶嶆儏鍐碉紝缁欐偍閫傚綋鍙婃椂鐨勫仴搴锋寚瀵硷紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤鍑洪櫌闅忚闂嵎璋冩煡銆� --> </div> @@ -277,31 +279,36 @@ methods: { // 瑙f瀽urlid geturlinfo() { - // let url = window.location.href; - let url = this.$route.query.p; - console.log(url,"url"); + // let url = window.location.href; + let url = this.$route.query.p; + console.log(url, "url"); // let url = 'http://218.108.11.22:8093/sf/003'; // let urlid = this.extractLastSegmentFromUrl(url); - geturlinfo( url ).then((res) => { - if (res.code==200) { - this.getQuestionnaire(res.data.param1,res.data.param2,res.data.param3,res.data.param5,) - } + geturlinfo(url).then((res) => { + if (res.code == 200) { + this.getQuestionnaire( + res.data.param1, + res.data.param2, + res.data.param3, + res.data.param5 + ); + } }); }, -// extractLastSegmentFromUrl(url) { -// // 鎵惧埌鏈�鍚庝竴涓�'/'鐨勪綅缃� -// const lastSlashIndex = url.lastIndexOf('/'); -// // 濡傛灉鎵惧埌浜�'/'锛屾埅鍙栧叾鍚庣殑鎵�鏈夊瓧绗� -// if (lastSlashIndex !== -1) { -// return url.substring(lastSlashIndex + 1); -// } -// // 濡傛灉娌℃湁鎵惧埌'/'锛岃繑鍥炵┖瀛楃涓� -// return ''; -// }, + // extractLastSegmentFromUrl(url) { + // // 鎵惧埌鏈�鍚庝竴涓�'/'鐨勪綅缃� + // const lastSlashIndex = url.lastIndexOf('/'); + // // 濡傛灉鎵惧埌浜�'/'锛屾埅鍙栧叾鍚庣殑鎵�鏈夊瓧绗� + // if (lastSlashIndex !== -1) { + // return url.substring(lastSlashIndex + 1); + // } + // // 濡傛灉娌℃湁鎵惧埌'/'锛岃繑鍥炵┖瀛楃涓� + // return ''; + // }, // 鑾峰彇鏁版嵁 - getQuestionnaire(param1,param2,param3) { + getQuestionnaire(param1, param2, param3) { this.taskid = decodeURIComponent(param1); this.patid = decodeURIComponent(param2); this.taskname = decodeURIComponent(param3); @@ -409,7 +416,7 @@ var obj = item.svyLibTemplateTargetoptions.find( (items) => items.optioncontent == item.scriptResult ); - console.log(obj,'obj'); + console.log(obj, "obj"); if (obj) { if (obj.isabnormal) { diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue index 87d5d31..9f5f112 100644 --- a/src/views/patient/propaganda/QuestionnaireTask.vue +++ b/src/views/patient/propaganda/QuestionnaireTask.vue @@ -432,8 +432,11 @@ </div> </div> </div> - <el-button type="success" @click="nextstep('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏閰嶇疆" + <el-button type="primary" @click="nextstep('ruleForm')">{{ + quote ? "绔嬪嵆鍒涘缓" : "娲惧彂鎮h�呴厤缃�" + }}</el-button> + <el-button type="success" @click="submitForm('ruleForm')">{{ + quote ? "绔嬪嵆鍒涘缓" : "纭鏈嶅姟閰嶇疆" }}</el-button> <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> </div> @@ -517,7 +520,7 @@ </div> <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> <el-button type="success" @click="submitForm('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "纭浠诲姟閰嶇疆" + quote ? "绔嬪嵆鍒涘缓" : "纭鏈嶅姟閰嶇疆" }}</el-button> <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> </div> @@ -911,7 +914,7 @@ taskdiaggetlist, taskopergetlist, } from "@/api/AiCentre/index"; -import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢 +import OptionalForm from "@/components/OptionalForm"; //鐤剧梾娣诲姞缁勪欢 import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 import { MessageBox } from "element-ui"; @@ -1284,9 +1287,13 @@ value: "5", label: "寰俊鍏紬鍙�", }, - { label: "寰俊灏忕▼搴�", value: '6' }, + { label: "寰俊灏忕▼搴�", value: "6" }, ]; - } else if (this.form.serviceType == 6||this.form.serviceType == 14||this.form.serviceType == 15) { + } else if ( + this.form.serviceType == 6 || + this.form.serviceType == 14 || + this.form.serviceType == 15 + ) { this.checkboxlist = [ { value: "3", @@ -1448,11 +1455,11 @@ this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢"); return; } - - if (!this.form.patTaskRelevances[0] && !this.form.longTask) { - this.$modal.msgError("璇烽�夋嫨鐥呬汉"); - return; - } + //鏆傚仠浠诲姟鎮h�呴檺鍒� + // if (!this.form.patTaskRelevances[0] && !this.form.longTask) { + // this.$modal.msgError("璇烽�夋嫨鐥呬汉"); + // return; + // } if (!this.form.templatename && !this.templateor) { this.$modal.msgError("鏈�夋嫨妯℃澘"); diff --git a/src/views/system/user/profile/index.vue b/src/views/system/user/profile/index.vue index 5321727..0918602 100644 --- a/src/views/system/user/profile/index.vue +++ b/src/views/system/user/profile/index.vue @@ -24,20 +24,93 @@ <div class="pull-right">{{ user.email }}</div> </li> <li class="list-group-item" v-if="user.belongWards[0]"> - <svg-icon icon-class="tree" />鎵�灞為櫌鍖� - <div class="pull-right" >{{ user.belongWards[0].districtName }}</div> + <svg-icon icon-class="tree" />鎵�灞炵梾鍖� + <div class="pull-right"> + <el-popover + v-model="showAllWardsPopover" + placement="right-start" + :width="300" + trigger="manual" + popper-class="ward-popover" + > + <div class="popover-content"> + <p + v-for="ward in user.belongWards" + :key="ward.districtId" + class="popover-item" + > + {{ ward.districtName }} + </p> + </div> + <!-- 闇�瑕佷竴涓┖鍏冪礌浣滀负瑙﹀彂鍣ㄧ殑寮曠敤 --> + <!-- <div style="display: none" slot="reference"></div> --> + <div slot="reference"> + <el-tag + v-for="(ward, index) in displayWards" + :key="ward.districtId" + size="small" + class="ward-tag" + >{{ ward.districtName }}</el-tag + > + <!-- 鏄剧ず闅愯棌鏁伴噺鐨勬爣绛撅紝鐐瑰嚮瑙﹀彂Popover --> + <el-tag + v-if="user.belongWards.length > maxTagCount" + size="small" + class="more-tag" + @click="showAllWardsPopover = !showAllWardsPopover" + >+{{ user.belongWards.length - maxTagCount }}</el-tag + > + </div> + </el-popover> + </div> </li> <li class="list-group-item" v-else> <svg-icon icon-class="tree" />鎵�灞為櫌鍖� - <div class="pull-right" >鏈厤缃�</div> + <div class="pull-right">鏈厤缃�</div> </li> <li class="list-group-item" v-if="user.belongDepts[0]"> <svg-icon icon-class="tree" />鎵�灞炵瀹� - <div class="pull-right" >{{ user.belongDepts[0].deptName }}</div> + <div class="pull-right"> + <el-popover + v-model="showAllDeptsPopover" + placement="right-start" + :width="300" + style="top: 130px; left: 0px" + trigger="manual" + popper-class="dept-popover" + > + <div class="popover-content"> + <p + v-for="dept in user.belongDepts" + :key="dept.deptId" + class="popover-item" + > + {{ dept.deptName }} + </p> + </div> + <!-- <div style="display: none" slot="reference"></div> --> + <div slot="reference"> + <el-tag + v-for="(dept, index) in displayDepts" + :key="dept.deptId" + size="small" + class="dept-tag" + >{{ dept.deptName }}</el-tag + > + <el-tag + v-if="user.belongDepts.length > maxTagCount" + size="small" + class="more-tag" + @click="showAllDeptsPopover = !showAllDeptsPopover" + >+{{ user.belongDepts.length - maxTagCount }}</el-tag + > + </div> + </el-popover> + </div> </li> <li class="list-group-item" v-else> <svg-icon icon-class="tree" />鎵�灞炵瀹� - <div class="pull-right" >鏈厤缃�</div> + <div class="pull-right">鏈厤缃�</div> </li> <li class="list-group-item"> <svg-icon icon-class="peoples" />鎵�灞炶鑹� @@ -84,20 +157,83 @@ user: {}, roleGroup: {}, postGroup: {}, - activeTab: "userinfo" + activeTab: "userinfo", + maxTagCount: 3, // 鎺у埗榛樿鏄剧ず鐨勬爣绛炬暟閲� + showAllWardsPopover: false, // 鎺у埗鐥呭尯Popover鐨勬樉绀� + showAllDeptsPopover: false, // 鎺у埗绉戝Popover鐨勬樉绀� }; + }, + computed: { + // 璁$畻瑕佹樉绀虹殑鐥呭尯鏍囩锛堝墠maxTagCount涓級 + displayWards() { + if (!this.user.belongWards) return []; + return this.user.belongWards.slice(0, this.maxTagCount); + }, + // 璁$畻瑕佹樉绀虹殑绉戝鏍囩锛堝墠maxTagCount涓級 + displayDepts() { + if (!this.user.belongDepts) return []; + return this.user.belongDepts.slice(0, this.maxTagCount); + }, }, created() { this.getUser(); }, methods: { getUser() { - getUserProfile().then(response => { + getUserProfile().then((response) => { this.user = response.data; this.roleGroup = response.roleGroup; this.postGroup = response.postGroup; }); - } - } + }, + }, }; </script> + +<style scoped> +/* 涓烘爣绛炬坊鍔犱竴浜涘彸杈硅窛锛屼娇鍏朵笉绱ц创鍦ㄤ竴璧� */ +.ward-tag, +.dept-tag, +.more-tag { + margin-right: 6px; + margin-bottom: 4px; +} +/* 璁剧疆"鏇村"鏍囩鐨勬牱寮忥紝浣垮叾鐪嬭捣鏉ュ彲鐐瑰嚮 */ +.more-tag { + cursor: pointer; + background-color: #f0f0f0; + border-color: #ddd; + color: #999; +} +.list-group-item { + display: flex; + align-items: center; +} +.pull-right { + flex: 1; + text-align: right; +} +</style> + +<style> +/* Popover鍐呭鍖哄煙鏍峰紡 */ +.popover-content { + max-height: 200px; + overflow-y: auto; + padding: 10px; +} +.popover-item { + margin: 8px 0; + line-height: 1.4; +} +/* 鐥呭尯Popover鏍峰紡 */ +.ward-popover.el-popover, +.dept-popover.el-popover { + max-width: 300px; +} +/* 璋冩暣Popover绠ご浣嶇疆 */ +.ward-popover[x-placement^="right"], +.dept-popover[x-placement^="right"] { + margin-left: 10px; +} +</style> diff --git a/vue.config.js b/vue.config.js index e16f02a..34fb183 100644 --- a/vue.config.js +++ b/vue.config.js @@ -37,8 +37,8 @@ [process.env.VUE_APP_BASE_API]: { // target: `https://www.health-y.cn/lssf`, // target: `http://10.202.20.185:8095`, - // target: `http://192.168.100.195:8095`, - target:`http://localhost:8095`, + target: `http://192.168.100.10:8096`, + // target:`http://localhost:8095`, // target:`http://35z1t16164.qicp.vip`, // target: `http://192.168.100.193:8095`, // target: `http://192.168.101.166:8093`, -- Gitblit v1.9.3