From cb3c799e1bd6a7cf5dd5c7e3cadee238bf67b729 Mon Sep 17 00:00:00 2001 From: WXL (wul) <wl_5969728@163.com> Date: 星期五, 10 十月 2025 14:26:10 +0800 Subject: [PATCH] 随访详情本人所属功能及服务形式补偿流程组件维护 --- src/views/patient/propaganda/particty.vue | 326 ++++++++++++++++++++++++++++++++--------------------- 1 files changed, 196 insertions(+), 130 deletions(-) diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue index 1ac40ab..d67c424 100644 --- a/src/views/patient/propaganda/particty.vue +++ b/src/views/patient/propaganda/particty.vue @@ -69,7 +69,7 @@ placeholder="璇疯緭鍏ヤ换鍔℃弿杩�" /> </el-form-item> - <el-form-item label="鏈嶅姟褰㈠紡"> + <!-- <el-form-item label="鏈嶅姟褰㈠紡"> <el-radio-group v-model="checkList" @change="handleCheckedCitiesChange" @@ -78,11 +78,20 @@ v-for="(item, index) in checkboxlist" :key="index" :label="item.value" - @change="checkboxChange($event, item.value)" > {{ item.label }}</el-radio > </el-radio-group> + </el-form-item> --> + <el-form-item label="鏈嶅姟褰㈠紡"> + <SortCheckbox + v-model="checkList" + :options="checkboxlist" + :initialselectedOrder="selectedOrder" + value-key="value" + label-key="label" + @change="checkSelectionChange" + /> </el-form-item> <!-- <div class="xinz-infs"> <el-form-item label="鏈嶅姟鎵ц椤哄簭" prop="daytime"> @@ -216,10 +225,10 @@ </el-form-item> <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 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"> @@ -269,29 +278,38 @@ ></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" - :remote-method="remotedonor" - size="medium" - multiple - filterable - remote - placeholder="璇烽�夋嫨鐥呭尯" - > - <el-option - class="ruleFormaa" - v-for="item in donorchargeList" - :key="item.icdcode" - :label="item.icdname" - :value="item.icdcode" + <div class="xinz-infs"> + <el-form-item> + <template #label> + <el-tooltip + class="item" + effect="light" + content="閫夋嫨濂介�傜敤鐤剧梾鍚庯紝鍙互鏂逛究鎮ㄩ�氳繃鐤剧梾璇婃柇鏌ユ壘鍒板搴旂殑鐥呬汉!" + placement="top-start" > - </el-option> - </el-select> </el-form-item - ></el-col> + <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" @@ -366,7 +384,7 @@ ></el-button> <el-button - v-if="form.templatename" + v-if="form.templateid" type="success" icon="el-icon-search" @click="previewfnmb()" @@ -462,7 +480,7 @@ size="medium" :disabled="!patientqueryParams.allhosp" @click="handleQuery" - >鏂板</el-button + >娣诲姞鎮h��</el-button > </el-col> @@ -531,6 +549,12 @@ v-show="showSearch" label-width="98px" > + <el-form-item label="涓绘不鍖荤敓锛�"> + <el-input + v-model="patientqueryParams.drname" + @keyup.enter.native="handleQuery" + ></el-input> + </el-form-item> <el-form-item label="鎮h�咃細"> <el-input v-model="patientqueryParams.name" @@ -777,13 +801,13 @@ @click="Departmenttreatment" >{{ form.templateid ? "鏇挎崲浣跨敤" : "閫夋嫨浣跨敤" }}</el-button > - <!-- <el-button + <el-button :type="previewtftype ? 'success' : 'warning'" @click="Modifytemplate" >{{ previewtftype ? "鍓嶅線淇敼宸查�夋嫨妯℃澘" : "鏂板淇濆瓨骞跺墠寰�淇敼" }}</el-button - > --> + > </span> </el-dialog> <el-drawer @@ -858,6 +882,13 @@ </div> </div> </el-drawer> + <Optional-Form + ref="child" + :dialogVisiblepatient="dialogVisiblepatientjb" + :overallCase="diagglist" + @addoption="dialogVisiblepatientjb = false" + @kkoption="dialogVisiblepatientjb = true" + /> </div> </template> @@ -865,7 +896,7 @@ import { messagelistpatient } from "@/api/patient/homepage"; import store from "@/store"; import { - getTaskpatient, + getTaskpatientQC, getillnesslist, getbaseopera, getFollowuplist, @@ -882,8 +913,12 @@ taskdepthospgetsondel, taskoperhospgetsondel, taskdiaghospgetsondel, + taskdiaggetlist, + taskopergetlist, } from "@/api/AiCentre/index"; import { deptTreeSelect } from "@/api/system/user"; +import OptionalForm from "@/components/OptionalForm"; +import SortCheckbox from "@/components/SortCheckbox"; //琛ㄦ牸缁勪欢 import { MessageBox } from "element-ui"; import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 @@ -914,6 +949,7 @@ loading: false, // 閬僵灞� patientloading: false, // 閬僵灞� dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗� + dialogVisiblepatientjb: false, deptcodesWards: [], //绉戝鏁版嵁 leavehospitaldistrictcodes: [], //鐥呭尯鏁版嵁 operationcodes: [], //鎵嬫湳鏁版嵁 @@ -925,6 +961,8 @@ skip: false, donorchargeList: [], baseoperaList: [], + selectedOrder: [], + usable: [ { value: "0", label: "鍙敤" }, { value: "1", label: "鍋滅敤" }, @@ -999,7 +1037,7 @@ pageNum: 1, // pageSize: 10, }, - checkList: "", + checkList: [], foncheckList: [], formatvalue: { format1: "", @@ -1088,16 +1126,19 @@ templatename: "", templateid: null, libtemplateid: null, - kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄櫙瀹佷汉姘戝尰闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝杩涜鏈鍥炶鏈嶅姟銆�", + kcb: + "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄�" + + localStorage.getItem("orgname") + + "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝杩涜鏈鍥炶鏈嶅姟銆�", jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶鍐呭灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", }, taskoptions: [ { - value: "1", + value: "4", label: "鍑洪櫌鐥呬汉", }, { - value: "4", + value: "1", label: "鍦ㄩ櫌鐥呬汉", }, { @@ -1128,36 +1169,7 @@ }, ], - tasktypes: [ - { - value: 1, - label: "蹇冪數闅忚", - }, - { - value: 2, - label: "鍑洪櫌闅忚", - }, - { - value: 3, - label: "褰卞儚闅忚", - }, - { - value: 4, - label: "瀹f暀鍏虫��", - }, - { - value: 5, - label: "浣撴闅忚", - }, - { - value: 11, - label: "鍖绘妧闅忚", - }, - { - value: 10, - label: "涓撶闅忚", - }, - ], + tasktypes: store.getters.tasktypes, // 绉戝/鐥呭尯 belongWards: [], deptlist: [], @@ -1198,7 +1210,7 @@ serviceType: null, }; }, - components: { SFtable }, + components: { SFtable, OptionalForm, SortCheckbox }, created() { this.appraiselist = store.getters.appraiselist; @@ -1212,6 +1224,8 @@ this.form.typename = this.$route.query.typename; this.serviceType = Number(this.$route.query.serviceType); this.form.serviceType = Number(this.$route.query.serviceType); + console.log(localStorage.getItem("orgid"), "orgid"); + this.Acquisitiontype(); this.getillnesslist(); this.Getdetails(); @@ -1330,7 +1344,15 @@ // label: "鏅鸿兘鏈哄櫒浜�", // }, ]; - } else if (this.form.serviceType == 7 || this.form.serviceType == 5|| this.form.serviceType == 10|| this.form.serviceType == 11) { + } else if ( + this.form.serviceType == 7 || + this.form.serviceType == 5 || + this.form.serviceType == 8 || + this.form.serviceType == 9 || + this.form.serviceType == 11 || + this.form.serviceType == 12 || + this.form.serviceType == 10 + ) { this.checkboxlist = [ { value: "1", @@ -1361,7 +1383,12 @@ label: "鏈悗闅忚", }, ]; - } else if (this.form.serviceType == 2 || this.form.serviceType == 3) { + } else if ( + this.form.serviceType == 2 || + this.form.serviceType == 3 || + this.form.serviceType == 16 || + this.form.serviceType == 4 + ) { this.checkboxlist = [ { value: "1", @@ -1419,24 +1446,25 @@ }, ]; if (this.form.appltype == 1) { - this.leavehospitaldistrictcodes=[]; - this.operationcodes=[]; - this.illnesscodes=[]; + this.leavehospitaldistrictcodes = []; + this.operationcodes = []; + this.illnesscodes = []; } else if (this.form.appltype == 2) { - this.deptcodesWards=[]; - this.operationcodes=[]; - this.illnesscodes=[]; + this.deptcodesWards = []; + this.operationcodes = []; + this.illnesscodes = []; } else if (this.form.appltype == 3) { - this.deptcodesWards=[]; - this.leavehospitaldistrictcodes=[]; - this.operationcodes=[]; + this.deptcodesWards = []; + this.leavehospitaldistrictcodes = []; + this.operationcodes = []; } else if (this.form.appltype == 4) { - this.deptcodesWards=[]; - this.illnesscodes=[]; - this.leavehospitaldistrictcodes=[]; + this.deptcodesWards = []; + this.illnesscodes = []; + this.leavehospitaldistrictcodes = []; } if (this.checkList) { - this.form.preachform = this.checkList; + this.form.preachform = this.checkList.join(","); + this.form.preachformList = this.selectedOrder; } else { this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷"); return; @@ -1445,17 +1473,17 @@ if ( this.deptcodesWards[0] || this.leavehospitaldistrictcodes[0] || - this.illnesscodes[0] || + this.diagglist[0] || this.operationcodes[0] ) { } else { - this.$modal.msgError("璇烽�夋嫨绉戝鎴栫梾鍖�"); + this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢"); return; } - if (!this.form.patTaskRelevances[0] && !this.form.longTask) { - this.$modal.msgError("璇烽�夋嫨鐥呬汉"); - return; - } + // if (!this.form.patTaskRelevances[0] && !this.form.longTask) { + // this.$modal.msgError("璇烽�夋嫨鐥呬汉"); + // return; + // } if (!this.form.templatename && !this.templateor) { this.$modal.msgError("鏈�夋嫨妯℃澘"); @@ -1488,7 +1516,9 @@ this.form.leavehospitaldistrictcode = this.leavehospitaldistrictcodes.join(","); this.form.opcode = this.operationcodes.join(","); - this.form.icd10code = this.illnesscodes.join(","); + this.form.icd10code = this.diagglist + .map((item) => item.icdcode) + .join(","); Editsingletask(this.form).then((res) => { if (res.code == 200) { if (this.form.taskid) { @@ -1633,18 +1663,31 @@ { label: "绉戝", width: "180", prop: "dept" }, { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" }, ]; + } else if (this.patientqueryParams.allhosp == 2) { + this.tableLabelhz = [ + { label: "灏辫瘖鏃ユ湡", width: "150", prop: "admitdate" }, + { label: "鎮h��", width: "", prop: "name" }, + { label: "韬唤璇�", width: "200", prop: "idcardno" }, + { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" }, + { 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 == 1) { this.patientqueryParams.cry = 1; } else if (this.patientqueryParams.allhosp == 4) { - this.patientqueryParams.cry = 0; - this.patientqueryParams.allhosp = "1"; + // this.patientqueryParams.cry = 0; + // this.patientqueryParams.allhosp = "1"; } // 鏉ユ簮鍒ゆ柇 @@ -1664,7 +1707,7 @@ this.patientqueryParams.leavehospitaldistrictcodes = store.getters.belongWards.map((obj) => obj.districtCode); } - getTaskpatient(this.patientqueryParams).then((response) => { + getTaskpatientQC(this.patientqueryParams).then((response) => { this.patientuserList = response.rows; this.patientuserList.forEach((item) => { if (item.endtime) { @@ -1699,6 +1742,13 @@ item.sfzh = item.idcardno; if (this.patientqueryParams.allhosp == 6) { item.patfrom = 1; + } + if (this.patientqueryParams.allhosp == 1) { + item.visittime = item.endtime; + } else if (this.patientqueryParams.allhosp == 4) { + item.visittime = item.starttime; + } else if (this.patientqueryParams.allhosp == 2) { + item.visittime = item.admitdate; } this.overallCase.push(item); this.form.patTaskRelevances.push(item); @@ -1747,6 +1797,10 @@ }, getList() {}, handleQuery() { + console.log( + "this.patientqueryParams.allhosp", + this.patientqueryParams.allhosp + ); if (this.patientqueryParams.topica == 0) { this.patientqueryParams.leavehospitaldistrictcodes = store.getters.leavehospitaldistrictcodes; @@ -1770,8 +1824,27 @@ ) this.patientqueryParams.leaveldeptcodes = null; this.handleAddpatient(); + + console.log( + "this.patientqueryParams.allhosp", + this.patientqueryParams.allhosp + ); }, - resetQuery() {}, + + resetQuerymb() { + this.topqueryParams = { svyname: "" }; + this.handleQuerymb(); + }, + resetQuery() { + this.patientqueryParams = { + pageNum: 1, // + pageSize: 10, + topica: 1, //0鍏ㄩ儴1绉戝2鐥呭尯 + leaveldeptcodes: [], + leavehospitaldistrictcodes: [], + }; + this.handleQuery(); + }, handleQuerymb() { getFollowuplist(this.topqueryParams).then((response) => { this.userList = response.rows; @@ -1803,7 +1876,10 @@ templatename: "", templateid: null, libtemplateid: null, - kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄櫙瀹佷汉姘戝尰闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚銆�", + kcb: + "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄�" + + localStorage.getItem("orgname") + + "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝杩涜鏈鍥炶鏈嶅姟銆�", jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", }; @@ -1818,7 +1894,8 @@ ? this.form.patTaskRelevances : []; this.overallCase = this.form.patTaskRelevances.concat(); - this.checkList = this.form.preachform; + this.checkList = this.form.preachform.split(","); + this.selectedOrder = this.form.preachformList; this.overallCase.forEach((item) => { if (item.endtime) { @@ -1890,7 +1967,12 @@ if (res.code == 200) { let arr = res.rows; arr.forEach((item) => { - this.diagglist.push(item); + getillnesslist({ + icdcode: item.icd10code, + }).then((res) => { + item.icdname = res.rows[0].icdname; + this.diagglist.push(item); + }); this.illnesscodes.push(item.icd10code); }); } @@ -1922,18 +2004,6 @@ // 鎵嬫湳鏌ヨ remoteopcode(name) { if (name) { - getillnesslist({ - pageNum: 1, - pageSize: 1000, - icdname: name, - }).then((res) => { - this.donorchargeList = res.rows; - }); - } - }, - // 鐤剧梾鏌ヨ - remotedonor(name) { - if (name) { getbaseopera({ pageNum: 1, pageSize: 1000, @@ -1943,6 +2013,7 @@ }); } }, + // 浠诲姟绉戝鍒犻櫎瑙﹀彂 removetag(row) { let result = this.deptlist @@ -1991,6 +2062,9 @@ if (result.length) { taskdiaghospgetsondel(result).then((res) => { if (res.code) { + this.diagglist = this.diagglist.filter( + (item) => item.icd10code != row + ); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); } }); @@ -2165,7 +2239,11 @@ } }); }, - checkboxChange(checked, value) {}, + checkSelectionChange(selectedValues, selectedOrder) { + this.selectedOrder = selectedValues; + console.log("褰撳墠閫変腑:", selectedValues); + console.log("閫変腑椤哄簭:", selectedOrder); + }, // 鏈嶅姟褰㈠紡閫夊彇 handleCheckedCitiesChange(row) { console.log(row, "鏈嶅姟"); @@ -2187,11 +2265,11 @@ if (!this.form.taskid) { this.templateor = true; MessageBox.confirm( - "褰撳墠涓烘柊澧炰换鍔℃湭淇濆瓨涓嶅彲鍏宠仈妯℃澘锛屾槸鍚﹀厛淇濆瓨浠诲姟锛�", + "褰撳墠涓烘柊澧炰换鍔℃湭淇濆瓨涓嶅彲鍏宠仈妯℃澘锛屾槸鍚﹀厛鏆傚瓨妯℃澘淇濆瓨浠诲姟鍚庣敓鏁堬紵", "鍔熻兘鎻愮ず", { - confirmButtonText: "淇濆瓨浠诲姟", - cancelButtonText: "鏆傚瓨妯℃澘", + confirmButtonText: "鏆傚瓨妯℃澘", + cancelButtonText: "鍙栨秷", type: "warning", } ) @@ -2208,26 +2286,14 @@ this.objyl.ivrTaskTemplateScriptVOList = this.objyl.ivrLibaTemplateScriptVOList; this.form.ivrTaskTemplateVO = this.objyl; - - this.submitForm(); - }) - .catch(() => { - if (Array.isArray(this.objyl.suitway)) { - this.objyl.suitway = this.objyl.suitway.join(","); - } - this.objyl.templateid = this.objyl.id; - this.objyl.isoperation = 1; - this.objyl.ivrLibaTemplateScriptVOList.forEach((item) => { - item.ivrTaskScriptTargetoptionList = - item.ivrLibaScriptTargetoptionList; - }); - this.objyl.ivrTaskTemplateScriptVOList = - this.objyl.ivrLibaTemplateScriptVOList; - this.form.ivrTaskTemplateVO = this.objyl; this.form.templatename = this.objyl.templateName; this.$modal.msgSuccess("鏆傚瓨鎴愬姛淇濆瓨浠诲姟鍚庢ā鏉垮け鏁�"); this.drawermb = false; this.previewtf = false; + }) + .catch(() => { + this.drawermb = false; + this.previewtf = false; }); } else { setTimeout(() => { -- Gitblit v1.9.3