From 83d83221778cf0213a979ebfcb4d75884038d9c1 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期二, 04 三月 2025 14:34:45 +0800 Subject: [PATCH] 测试完成 --- src/views/patient/propaganda/QuestionnaireTask.vue | 367 ++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 298 insertions(+), 69 deletions(-) diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue index 7e6015b..5c07433 100644 --- a/src/views/patient/propaganda/QuestionnaireTask.vue +++ b/src/views/patient/propaganda/QuestionnaireTask.vue @@ -196,7 +196,15 @@ </div> </div> </el-form-item> - <el-row> + <el-form-item label="浠诲姟鍏宠仈" prop="longTask"> + <el-radio-group v-model="form.appltype"> + <el-radio label="1">绉戝鍏宠仈</el-radio> + <el-radio label="2">鐥呭尯鍏宠仈</el-radio> + <el-radio label="3">鐤剧梾鍏宠仈</el-radio> + <el-radio label="4">鎵嬫湳鍏宠仈</el-radio> + </el-radio-group> + </el-form-item> + <el-row v-if="form.appltype == 1"> <el-col :span="20" ><el-form-item label="閫傜敤绉戝" prop="region"> <el-select @@ -219,7 +227,7 @@ </el-select> </el-form-item ></el-col> </el-row> - <el-row> + <el-row v-if="form.appltype == 2"> <el-col :span="20" ><el-form-item label="閫傜敤鐥呭尯" prop="region"> <el-select @@ -237,6 +245,88 @@ :key="item.districtCode" :label="item.districtName" :value="item.districtCode" + > + </el-option> + </el-select> </el-form-item + ></el-col> + </el-row> + <el-row v-if="form.appltype == 3"> + <!-- <el-col :span="20" + ><el-form-item label="閫傜敤鐤剧梾" prop="region"> + <el-select + v-model="illnesscodes" + style="width: 400px" + @remove-tag="removediagg" + size="medium" + :remote-method="remotedonor" + multiple + filterable + remote + placeholder="璇烽�夋嫨鐥呭尯" + > + <el-option + class="ruleFormaa" + v-for="item in donorchargeList" + :key="item.icdcode" + :label="item.icdname" + :value="item.icdcode" + > + </el-option> + </el-select> </el-form-item + ></el-col> --> + <div class="xinz-infs"> + <el-form-item> + <template #label> + <el-tooltip + class="item" + effect="light" + content="閫夋嫨濂介�傜敤鐤剧梾鍚庯紝鍙互鏂逛究鎮ㄩ�氳繃鐤剧梾璇婃柇鏌ユ壘鍒板搴旂殑鐥呬汉!" + placement="top-start" + > + <i class="el-icon-warning-outline"></i> + </el-tooltip> + </template> + <div style="margin-bottom: 10px"> + <el-button + type="warning" + @click="$refs.child.handleAddpatient()" + >娣诲姞鐤剧梾璇婃柇</el-button + > + </div> + <el-tag + v-for="tag in diagglist" + :key="tag.icdcode" + @close="removediagg(tag.icd10code)" + type="warning" + closable + :disable-transitions="false" + > + {{ tag.icdname }} + </el-tag> + <!-- <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> --> + </el-form-item> + </div> + </el-row> + <el-row v-if="form.appltype == 4"> + <el-col :span="20" + ><el-form-item label="閫傜敤鎵嬫湳" prop="region"> + <el-select + v-model="operationcodes" + style="width: 400px" + @remove-tag="removeopera" + size="medium" + :remote-method="remoteopcode" + multiple + filterable + remote + placeholder="璇烽�夋嫨鎵嬫湳" + > + <el-option + class="ruleFormaa" + v-for="item in baseoperaList" + :key="item.opcode" + :label="item.opdesc" + :value="item.opcode" > </el-option> </el-select> </el-form-item @@ -489,7 +579,6 @@ <!-- 閫夋嫨鎮h�呭垪琛� --> <SFtable ref="multipleTable" - @handleSelectionChange="handleSelectionChange" :currentList="patientuserList" :tableLabel="tableLabelhz" @@ -588,31 +677,6 @@ </div> </el-form-item> - <div class="xinz-infs"> - <el-form-item> - <template #label> - 閫傜敤鐤剧梾 - <el-tooltip - class="item" - effect="light" - content="閫夋嫨濂介�傜敤鐤剧梾鍚庯紝鍙互鏂逛究鎮ㄩ�氳繃鐤剧梾璇婃柇鏌ユ壘鍒板搴旂殑鐥呬汉!" - placement="top-start" - > - <i class="el-icon-warning-outline"></i> - </el-tooltip> - </template> - - <el-tag - v-for="tag in illnesslist" - :key="tag.icdid" - type="warning" - :disable-transitions="false" - > - {{ tag.icdname }} - </el-tag> - <!-- <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> --> - </el-form-item> - </div> <el-form-item label="闂嵎鎻忚堪" prop="description"> <el-input type="textarea" @@ -779,6 +843,13 @@ </div> </div> </el-drawer> + <Optional-Form + ref="child" + :dialogVisiblepatient="dialogVisiblepatientjb" + :overallCase="diagglist" + @addoption="dialogVisiblepatientjb = false" + @kkoption="dialogVisiblepatientjb = true" + /> </div> </template> @@ -787,7 +858,10 @@ import store from "@/store"; import { getTaskpatientQC, - getlibrarylist, + taskoperhospgetsondel, + taskdiaghospgetsondel, + getillnesslist, + getbaseopera, Externallist, getQtemplatelist, getQtemplateobj, @@ -799,13 +873,14 @@ getillness, Editsingletask, getQtemplateclassify, - depthospgetsonlist, taskdepthospgetsondel, taskdepthospgetsonlist, + taskdiaggetlist, + taskopergetlist, } from "@/api/AiCentre/index"; - +import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢 import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 -import { MessageBox, } from "element-ui"; +import { MessageBox } from "element-ui"; export default { name: "ServiceDetails", @@ -831,12 +906,17 @@ loading: false, // 閬僵灞� patientloading: false, // 閬僵灞� dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗� + dialogVisiblepatientjb: false, //娣诲姞鐤剧梾寮规 deptcodesWards: [], //绉戝鏁版嵁 leavehospitaldistrictcodes: [], //鐥呭尯鏁版嵁 + operationcodes: [], //鎵嬫湳鏁版嵁 + illnesscodes: [], //鐤剧梾鏁版嵁 radio: 1, checkboxlist: [], tableLabel: [], questionList: [], + donorchargeList: [], + baseoperaList: [], usable: [ { value: "0", label: "鍙敤" }, { value: "1", label: "鍋滅敤" }, @@ -992,7 +1072,7 @@ templatename: "", templateid: null, libtemplateid: null, - kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�", + kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄櫙瀹佷汉姘戝尰闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�", jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈瀹f暀鍐呭灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", }, taskoptions: [ @@ -1016,6 +1096,10 @@ value: "6", label: "闄㈠鎮h��", }, + { + value: "5", + label: "鎵嬫湳鐥呬汉", + }, ], source: [ { @@ -1035,7 +1119,7 @@ tasktypes: [ { value: 1, - label: "鐩戞祴璇勪及", + label: "蹇冪數闅忚", }, { value: 2, @@ -1043,7 +1127,7 @@ }, { value: 3, - label: "闂ㄨ瘖闅忚", + label: "褰卞儚闅忚", }, { value: 4, @@ -1051,30 +1135,23 @@ }, { value: 5, - label: "澶嶈瘖绠$悊", + label: "浣撴闅忚", }, { - value: 6, - label: "婊℃剰搴﹁皟鏌�", + value: 11, + label: "鍖绘妧闅忚", }, { - value: 7, - label: "鎮h�呮棩甯告姤鍛�", - }, - { - value: 9, - label: "鎮h�呭紓甯告姤鍛�", - }, - - { - value: 8, - label: "鍏朵粬閫氱煡", + value: 10, + label: "涓撶闅忚", }, ], // 绉戝/鐥呭尯 belongWards: [], deptlist: [], hosplist: [], + diagglist: [], + operlist: [], tempDetpRelevanceslist: [], //绉戝鏁版嵁 tempDetpRelevanceslistform: [], //绉戝鏁版嵁 tempbelongWards: [], //鐥呭尯鏁版嵁 @@ -1099,14 +1176,14 @@ // { required: true, message: "閫傜敤鐥呭尯涓嶈兘涓虹┖", trigger: "blur" }, // ], }, - belongDepts:[], + belongDepts: [], // 绉戝闄㈠尯鏌ヨ鍏ュ弬 queryParamsdept: {}, quote: false, serviceType: null, }; }, - components: { SFtable }, + components: { SFtable, OptionalForm }, created() { this.appraiselist = store.getters.appraiselist; @@ -1120,6 +1197,7 @@ this.serviceType = Number(this.$route.query.serviceType); this.form.serviceType = Number(this.$route.query.serviceType); this.Acquisitiontype(); + this.getillnesslist(); this.Getdetails(); this.getQtemplateclassify(); }, @@ -1130,13 +1208,21 @@ this.getQtemplateclassify(); } }, - + computed: { + displayedTags() { + // 杩斿洖鍓�10涓猼ag + return this.illnesslist.slice(0, 10); + }, + hasMore() { + // 鍒ゆ柇鏄惁鏈夋洿澶氱殑tag + return this.illnesslist.length > 10; + }, + remaining() { + // 璁$畻鍓╀綑鐨則ag鏁伴噺 + return this.illnesslist.length - 10; + }, + }, methods: { - // { - // 濮撳悕: { "${name}": "榫欏偛澶�" }, - // 鍦板潃: { "${dzz}": "榫欏" }, - // 鐢佃瘽: { "${dhh}": "鍏釜鍏�" }, - // } // 鍙橀噺杞崲瀵硅薄杞暟缁� convertFormat1ToFormat2(data) { let result = []; @@ -1215,7 +1301,12 @@ // label: "鏅鸿兘鏈哄櫒浜�", // }, ]; - } else if (this.form.serviceType == 7 || this.form.serviceType == 9) { + } else if ( + this.form.serviceType == 7 || + this.form.serviceType == 10 || + this.form.serviceType == 11 || + this.form.serviceType == 9 + ) { this.checkboxlist = [ { value: "1", @@ -1240,6 +1331,10 @@ { value: "6", label: "寰俊灏忕▼搴�", + }, + { + value: "7", + label: "鏈悗闅忚", }, ]; } else if ( @@ -1303,15 +1398,40 @@ xh: 1, }, ]; + if (this.form.appltype == 1) { + this.leavehospitaldistrictcodes = []; + this.operationcodes = []; + this.illnesscodes = []; + } else if (this.form.appltype == 2) { + this.deptcodesWards = []; + this.operationcodes = []; + this.illnesscodes = []; + } else if (this.form.appltype == 3) { + this.deptcodesWards = []; + this.leavehospitaldistrictcodes = []; + this.operationcodes = []; + } else if (this.form.appltype == 4) { + this.deptcodesWards = []; + this.illnesscodes = []; + this.leavehospitaldistrictcodes = []; + } if (this.checkList) { this.form.preachform = this.checkList; } else { this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷"); return; } - if (this.deptcodesWards[0]||this.leavehospitaldistrictcodes[0]) { + console.log(this.operationcodes[0]); + console.log(this.operationcodes); + + if ( + this.deptcodesWards[0] || + this.leavehospitaldistrictcodes[0] || + this.diagglist[0] || + this.operationcodes[0] + ) { } else { - this.$modal.msgError("璇烽�夋嫨绉戝鎴栫梾鍖�"); + this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢"); return; } @@ -1350,7 +1470,10 @@ this.form.deptcode = this.deptcodesWards.join(","); this.form.leavehospitaldistrictcode = this.leavehospitaldistrictcodes.join(","); - + this.form.opcode = this.operationcodes.join(","); + this.form.icd10code = this.diagglist + .map((item) => item.icdcode) + .join(","); Editsingletask(this.form).then((res) => { if (res.code == 200) { if (this.form.taskid) { @@ -1425,6 +1548,44 @@ this.illnesslist.forEach((item) => { item.icdname = item.icd10name; }); + }); + } + }, + getillnesslist() { + getillnesslist({ + pageNum: 1, + pageSize: 1000, + }).then((res) => { + this.donorchargeList = res.rows; + }); + getbaseopera({ + pageNum: 1, + pageSize: 1000, + }).then((res) => { + this.baseoperaList = res.rows; + }); + }, + // 鎵嬫湳鏌ヨ + remoteopcode(name) { + if (name) { + getillnesslist({ + pageNum: 1, + pageSize: 1000, + opdesc: name, + }).then((res) => { + this.donorchargeList = res.rows; + }); + } + }, + // 鐤剧梾鏌ヨ + remotedonor(name) { + if (name) { + getbaseopera({ + pageNum: 1, + pageSize: 1000, + opdesc: name, + }).then((res) => { + this.baseoperaList = res.rows; }); } }, @@ -1556,8 +1717,8 @@ item.deptName = item.dept; item.admindate = item.inhosptime; item.sfzh = item.idcardno; - if (this.patientqueryParams.allhosp==6) { - item.patfrom = 1; + if (this.patientqueryParams.allhosp == 6) { + item.patfrom = 1; } this.overallCase.push(item); this.form.patTaskRelevances.push(item); @@ -1696,7 +1857,7 @@ templatename: "", templateid: null, libtemplateid: null, - kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�", + kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄櫙瀹佷汉姘戝尰闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�", jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", }; @@ -1761,7 +1922,7 @@ this.time3 = ""; //鏅氫笂鏃堕棿娈� this.time4 = ""; //鏅氫笂鏃堕棿娈� }, - // 鑾峰彇浠诲姟绉戝鍒楄〃 + // 鑾峰彇鍚勭被 listDept() { this.leavehospitaldistrictcodes = []; this.deptcodesWards = []; @@ -1780,6 +1941,29 @@ }); } }); + taskdiaggetlist(this.queryParamsdept).then((res) => { + if (res.code == 200) { + let arr = res.rows; + arr.forEach((item) => { + getillnesslist({ + icdcode: item.icd10code, + }).then((res) => { + item.icdname = res.rows[0].icdname; + this.diagglist.push(item); + }); + this.illnesscodes.push(item.icd10code); + }); + } + }); + taskopergetlist(this.queryParamsdept).then((res) => { + if (res.code == 200) { + let arr = res.rows; + arr.forEach((item) => { + this.operlist.push(item); + this.operationcodes.push(item.opcode); + }); + } + }); }, // 浠诲姟绉戝鍒犻櫎瑙﹀彂 removetag(row) { @@ -1790,6 +1974,7 @@ if (result.length) { taskdepthospgetsondel(result).then((res) => { if (res.code) { + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); } }); } @@ -1802,10 +1987,39 @@ if (result.length) { taskdepthospgetsondel(result).then((res) => { if (res.code) { + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); } }); } }, + // 鎵嬫湳鍒犻櫎瑙﹀彂 + removeopera(row) { + let result = this.operlist + .filter((item) => item.opcode == row) + .map((item) => item.id); + if (result.length) { + taskoperhospgetsondel(result).then((res) => { + if (res.code) { + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + } + }); + } + }, + // 鐤剧梾鍒犻櫎瑙﹀彂 + removediagg(row) { + let result = this.diagglist + .filter((item) => item.icd10code == row) + .map((item) => item.id); + if (result.length) { + taskdiaghospgetsondel(result).then((res) => { + if (res.code) { + this.diagglist=this.diagglist.filter(item => item.icd10code != row); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + } + }); + } + }, + getQtemplateclassify() { getQtemplateclassify({}).then((res) => { this.optionsclass = res.rows; @@ -1966,7 +2180,7 @@ "鍔熻兘鎻愮ず", { confirmButtonText: "淇濆瓨浠诲姟", - cancelButtonText: "鍙栨秷", + cancelButtonText: "鏆傚瓨妯℃澘", type: "warning", } ) @@ -1977,11 +2191,26 @@ this.objyl.templateid = this.objyl.svyid; this.form.libtemplateid = this.objyl.svyid; this.objyl.isoperation = 1; - this.objyl.svyTaskTemplateScriptVOS = this.objyl.svyTemplateLibScripts; - this.form.svyTaskTemplateVO=this.objyl; + this.objyl.svyTaskTemplateScriptVOS = + this.objyl.svyTemplateLibScripts; + this.form.svyTaskTemplateVO = this.objyl; this.submitForm(); }) - .catch(() => {}); + .catch(() => { + if (Array.isArray(this.objyl.suitway)) { + this.objyl.suitway = this.objyl.suitway.join(","); + } + this.objyl.templateid = this.objyl.svyid; + this.form.libtemplateid = this.objyl.svyid; + this.objyl.isoperation = 1; + this.objyl.svyTaskTemplateScriptVOS = + this.objyl.svyTemplateLibScripts; + this.form.svyTaskTemplateVO = this.objyl; + this.form.templatename = this.objyl.svyname; + this.$modal.msgSuccess("鏆傚瓨鎴愬姛淇濆瓨浠诲姟鍚庢ā鏉垮け鏁�"); + this.drawermb = false; + this.previewtf = false; + }); } else { setTimeout(() => { this.previewFn(); -- Gitblit v1.9.3