From 1a090a490d8fc93224a0e3ad0fd7fe16c9fe63a8 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期二, 21 一月 2025 19:01:11 +0800 Subject: [PATCH] 测试完成 --- src/views/patient/propaganda/QuestionnaireTask.vue | 384 +++++++++++++++++++----------------------------------- 1 files changed, 135 insertions(+), 249 deletions(-) diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue index f8220ea..a02534f 100644 --- a/src/views/patient/propaganda/QuestionnaireTask.vue +++ b/src/views/patient/propaganda/QuestionnaireTask.vue @@ -70,22 +70,32 @@ /> </el-form-item> <el-form-item label="鏈嶅姟褰㈠紡"> - <el-checkbox-group v-model="checkList"> - <el-checkbox + <el-radio-group v-model="checkList"> + <el-radio v-for="(item, index) in checkboxlist" :key="index" :label="item.value" > - {{ item.label }}</el-checkbox + {{ item.label }}</el-radio > - </el-checkbox-group> + </el-radio-group> </el-form-item> - <el-form-item label="鏄惁闀挎湡" prop="longTask"> + <el-form-item label="鎵ц鍛ㄦ湡" prop="longTask"> <el-radio-group v-model="form.longTask"> - <el-radio :label="0">鏅�氫换鍔�</el-radio> + <el-radio :label="0">鑷畾涔夊懆鏈�</el-radio> <el-radio :label="1">闀挎湡浠诲姟</el-radio> </el-radio-group> </el-form-item> + <el-row :gutter="20" v-if="form.longTask"> + <el-col :span="8"> + <el-form-item label="鍛ㄦ湡鏃堕棿" prop="name"> + <el-input + v-model="form.sendDay" + placeholder="榛樿5澶╁悗" + ></el-input> + </el-form-item> + </el-col> + </el-row> <el-form-item label="鎵ц璁剧疆" prop="sendType" @@ -190,9 +200,11 @@ <el-col :span="20" ><el-form-item label="閫傜敤绉戝" prop="region"> <el-select - v-model="form.deptcode" + v-model="deptcodesWards" + @remove-tag="removetag" style="width: 400px" size="medium" + multiple filterable placeholder="璇烽�夋嫨绉戝" > @@ -210,25 +222,12 @@ <el-row> <el-col :span="20" ><el-form-item label="閫傜敤鐥呭尯" prop="region"> - <!-- <el-cascader - style="width: 400px" - v-model="form.leavehospitaldistrictcode" - :options="topicoptions" - :props="propstask" - :show-all-levels="false" - clearable - > - <template slot-scope="{ node, data }"> - <span>{{ data.deptName }}</span> - <span v-if="!node.isLeaf"> - ({{ data.children.length }}) - </span> - </template> - </el-cascader> --> <el-select - v-model="form.leavehospitaldistrictcode" + v-model="leavehospitaldistrictcodes" style="width: 400px" + @remove-tag="removehpsp" size="medium" + multiple filterable placeholder="璇烽�夋嫨鐥呭尯" > @@ -501,7 +500,7 @@ /> </el-row> <pagination - v-show="patienttotal > 0&&this.patientqueryParams.allhosp != 6" + v-show="patienttotal > 0 && this.patientqueryParams.allhosp != 6" :total="patienttotal" @pagination="handleAddpatient" /> @@ -588,90 +587,6 @@ <el-input v-model="objyl.svyname"></el-input> </div> </el-form-item> - <el-form-item label="闂嵎鏂瑰紡" prop="suitway"> - <el-select - style="width: 400px" - v-model="objyl.suitway" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨鍒嗙被" - > - <el-option - class="ruleFormaa" - v-for="item in mode" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-row :gutter="20" v-if="form.longTask"> - <el-col :span="14"> - <el-form-item label="闀挎湡浠诲姟" prop="longTemp"> - <el-radio-group v-model="objyl.longTemp"> - <el-radio - v-for="(item, index) in longtype" - :label="item.value" - >{{ item.label }}</el-radio - > - </el-radio-group> - </el-form-item> - </el-col> - <el-col :span="8"> - <el-form-item label="浠诲姟鍛ㄦ湡" prop="name"> - <el-input - v-model="objyl.sendDay" - placeholder="榛樿5澶╁悗" - ></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="20" - ><el-form-item label="閫傜敤绉戝" prop="region"> - <el-select - style="width: 400px" - v-model="tempDetpRelevanceslist" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨绉戝" - > - <el-option - class="ruleFormaa" - v-for="item in belongDepts" - :key="item.deptCode" - :label="item.deptName" - :value="item.deptCode" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> - <!-- <el-row> - <el-col :span="20" - ><el-form-item label="閫傜敤鐥呭尯" prop="region"> - <el-select - v-model="tempbelongWards" - style="width: 400px" - size="medium" - multiple - filterable - placeholder="璇烽�夋嫨绉戝" - > - <el-option - class="ruleFormaa" - v-for="item in belongWards" - :key="item.districtCode" - :label="item.districtName" - :value="item.districtCode" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> --> <div class="xinz-infs"> <el-form-item> @@ -885,9 +800,12 @@ Editsingletask, getQtemplateclassify, depthospgetsonlist, + taskdepthospgetsondel, + taskdepthospgetsonlist, } from "@/api/AiCentre/index"; import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 +import { MessageBox, } from "element-ui"; export default { name: "ServiceDetails", @@ -898,6 +816,7 @@ id: "", // previewid: "", //浠诲姟妯℃澘浼犻�抜d libName: "", + templateor: false, objyl: {}, overallCase: [], //閫夋嫨鎮h�呮�� allpids: [], @@ -912,6 +831,8 @@ loading: false, // 閬僵灞� patientloading: false, // 閬僵灞� dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗� + deptcodesWards: [], //绉戝鏁版嵁 + leavehospitaldistrictcodes: [], //鐥呭尯鏁版嵁 radio: 1, checkboxlist: [], tableLabel: [], @@ -967,7 +888,7 @@ preachform: [ { label: "澶氬獟浣�", value: 1 }, { label: "绾歌川", value: 2 }, - { label: "鐢佃瘽", value: 3 }, + { label: "鏅鸿兘璇煶", value: 3 }, { label: "鐭俊", value: 4 }, { label: "寰俊鍏紬鍙�", value: 5 }, { label: "寰俊灏忕▼搴�", value: 6 }, @@ -988,7 +909,7 @@ pageNum: 1, // pageSize: 10, }, - checkList: [], + checkList: "", deliverytopqueryParams: { pageNum: 1, // pageSize: 10, @@ -1018,7 +939,7 @@ sonuserList: [], //閫変腑鎮h�呭垪琛� delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍 longtype: [ - { value: 0, label: "鏅�氫换鍔�" }, + { value: 0, label: "鑷畾涔夊懆鏈�" }, { value: 1, label: "闀挎湡浠诲姟" }, ], variableList: [ @@ -1035,7 +956,7 @@ default: true, }, { - name: "鐢佃瘽", + name: "鏅鸿兘璇煶", value: "${dhh}", fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", default: true, @@ -1055,7 +976,7 @@ default: true, }, { - name: "鐢佃瘽", + name: "鏅鸿兘璇煶", value: "${dhh}", fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", default: true, @@ -1152,7 +1073,6 @@ ], // 绉戝/鐥呭尯 belongWards: [], - belongWards: [], deptlist: [], hosplist: [], tempDetpRelevanceslist: [], //绉戝鏁版嵁 @@ -1179,11 +1099,9 @@ // { required: true, message: "閫傜敤鐥呭尯涓嶈兘涓虹┖", trigger: "blur" }, // ], }, + belongDepts:[], // 绉戝闄㈠尯鏌ヨ鍏ュ弬 - queryParamsdept: { - tempid: "", - type: 11, - }, + queryParamsdept: {}, quote: false, serviceType: null, }; @@ -1277,7 +1195,7 @@ this.checkboxlist = [ { value: "3", - label: "鐢佃瘽", + label: "鏅鸿兘璇煶", }, { value: "4", @@ -1292,10 +1210,10 @@ label: "寰俊灏忕▼搴�", }, - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, + // { + // value: "8", + // label: "鏅鸿兘鏈哄櫒浜�", + // }, ]; } else if (this.form.serviceType == 7 || this.form.serviceType == 9) { this.checkboxlist = [ @@ -1309,7 +1227,7 @@ }, { value: "3", - label: "鐢佃瘽", + label: "鏅鸿兘璇煶", }, { value: "4", @@ -1337,7 +1255,7 @@ }, { value: "3", - label: "鐢佃瘽", + label: "鏅鸿兘璇煶", }, { value: "4", @@ -1352,10 +1270,10 @@ label: "寰俊灏忕▼搴�", }, - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, + // { + // value: "8", + // label: "鏅鸿兘鏈哄櫒浜�", + // }, ]; } getQtemplatelist(this.topqueryParams).then((response) => { @@ -1385,21 +1303,28 @@ xh: 1, }, ]; - - if (this.checkList[0]) { - this.form.preachform = this.checkList.join(","); + if (this.checkList) { + this.form.preachform = this.checkList; } else { this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷"); return; } + if (this.deptcodesWards[0]||this.leavehospitaldistrictcodes[0]) { + } else { + this.$modal.msgError("璇烽�夋嫨绉戝鎴栫梾鍖�"); + return; + } + if (!this.form.patTaskRelevances[0] && !this.form.longTask) { this.$modal.msgError("璇烽�夋嫨鐥呬汉"); return; } - if (!this.form.templatename) { + + if (!this.form.templatename && !this.templateor) { this.$modal.msgError("鏈�夋嫨妯℃澘"); return; } + if ((this.form.sendType == 1 && this.time1) || this.form.sendType == 2) { } else if ( (this.form.sendType == 3 && this.time4) || @@ -1422,28 +1347,19 @@ this.form.type = this.$route.query.type; } this.form.serviceType = this.serviceType; - this.form.leaveldeptcodes = store.getters.belongDepts.map( - (obj) => obj.deptCode - ); - this.form.leavehospitaldistrictcodes = store.getters.belongWards.map( - (obj) => obj.districtCode - ); - console.log(this.form.longTask); - console.log(this.form.preachform); + this.form.deptcode = this.deptcodesWards.join(","); + this.form.leavehospitaldistrictcode = + this.leavehospitaldistrictcodes.join(","); - if (this.form.longTask && this.form.preachform == 6) { - this.form.patCycle = 1; - } - // - this.form.labelinfo = 1; Editsingletask(this.form).then((res) => { if (res.code == 200) { if (this.form.taskid) { this.$modal.msgSuccess("淇敼鎴愬姛"); } else { - this.puttaskid(res.data); this.$modal.msgSuccess("鏂板鎴愬姛"); } + this.$modal.closeLoading(); + this.$router.push({ path: "/followvisit/tasklist", query: { tasktopic: this.form.serviceType }, @@ -1451,33 +1367,8 @@ } }); }, - // 缁欎换鍔℃ā鏉胯祴鍊间换鍔d - puttaskid(data) { - getTaskQuestioncomit(this.form.templateid).then((res) => { - if (res.code == 200) { - this.objyl = res.data; - if (this.objyl.taskid == data.taskId) { - this.objyl.isoperation = 2; - } else { - this.objyl.isoperation = 1; - } - this.objyl.taskid = data.taskId; - if (!this.objyl.sendDay) { - this.objyl.sendDay = "5"; - } - TaskQuestioncomit(this.objyl).then((response) => { - this.previewtf = false; - this.form.libtemplateid = this.objyl.svyid; - this.form.templateid = response.data; - // this.putbelongDepts(response.data); - this.form.templatename = this.objyl.svyname; - this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛"); - }); - } - }); - }, - // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠� + // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠� // 閫夋嫨棰勮 selectfn(row, type) { // 妯℃澘鎯呭喌涓嬭幏鍙栨ā鏉夸俊鎭� @@ -1491,10 +1382,9 @@ if (this.form.longTask) { this.objyl.longTemp = 1; } - this.queryParamsdept.type = 1; - this.queryParamsdept.tempid = row.svyid; - this.listDept(); + this.tempDetpRelevanceslist = []; + this.tempbelongWards = []; this.objyl.suitway = this.objyl.suitway.split(","); this.questionList = res.rows[0].svyTemplateLibScripts; this.getillness(row.svyid); @@ -1516,11 +1406,9 @@ this.objyl = res.data; if (this.objyl.suitway) this.objyl.suitway = this.objyl.suitway.split(","); - this.queryParamsdept.tempid = this.form.templateid; - this.queryParamsdept.type = 11; + this.getillness(this.form.libtemplateid); - // 鎵ц鑾峰彇璇ヤ换鍔℃ā鏉縤d - this.listDept(); + this.previewtf = true; getQtemplateobj({ svyid: this.form.libtemplateid }).then((res) => { if (res.code == 200) { @@ -1803,6 +1691,7 @@ this.form = { patTaskRelevances: [], sendType: 1, + sendDay: 5, templatename: "", templateid: null, libtemplateid: null, @@ -1821,7 +1710,7 @@ ? this.form.patTaskRelevances : []; this.overallCase = this.form.patTaskRelevances.concat(); - this.checkList = this.form.preachform.split(","); + this.checkList = this.form.preachform; this.overallCase.forEach((item) => { if (item.endtime) { @@ -1836,6 +1725,10 @@ } else { this.time1 = this.form.showTimeMorn.split(","); } + } + // 鑾峰彇浠诲姟绉戝 + if (this.form.taskid) { + this.listDept(); } if (this.form.showTimeNoon) this.time2 = this.form.showTimeNoon.split(","); @@ -1867,24 +1760,50 @@ this.time3 = ""; //鏅氫笂鏃堕棿娈� this.time4 = ""; //鏅氫笂鏃堕棿娈� }, - // 鑾峰彇绉戝鍒楄〃 + // 鑾峰彇浠诲姟绉戝鍒楄〃 listDept() { - this.tempDetpRelevanceslist = []; - this.tempbelongWards = []; - depthospgetsonlist(this.queryParamsdept).then((res) => { + this.leavehospitaldistrictcodes = []; + this.deptcodesWards = []; + this.queryParamsdept.taskId = this.form.taskid; + taskdepthospgetsonlist(this.queryParamsdept).then((res) => { if (res.code == 200) { let arr = res.rows; arr.forEach((item) => { if (item.deptType == 1) { this.deptlist.push(item); - this.tempDetpRelevanceslist.push(item.deptCode); + this.deptcodesWards.push(item.deptCode); } else if (item.deptType == 2) { this.hosplist.push(item); - this.tempbelongWards.push(item.deptCode); + this.leavehospitaldistrictcodes.push(item.deptCode); } }); } }); + }, + // 浠诲姟绉戝鍒犻櫎瑙﹀彂 + removetag(row) { + let result = this.deptlist + .filter((item) => item.deptCode == row) + .map((item) => item.id); + + if (result.length) { + taskdepthospgetsondel(result).then((res) => { + if (res.code) { + } + }); + } + }, + // 闄㈠尯鍒犻櫎鍒犻櫎瑙﹀彂 + removehpsp(row) { + let result = this.hosplist + .filter((item) => item.deptCode == row) + .map((item) => item.id); + if (result.length) { + taskdepthospgetsondel(result).then((res) => { + if (res.code) { + } + }); + } }, getQtemplateclassify() { getQtemplateclassify({}).then((res) => { @@ -1906,6 +1825,7 @@ row.isoperation = 3; this.delvariableList.push(row); }, + // 鏃堕棿---------- changeTime(row) { this.processingTime(); @@ -1986,17 +1906,10 @@ if (Array.isArray(this.objyl.suitway)) { this.objyl.suitway = this.objyl.suitway.join(","); } - this.objyl.svyTemplateLibScripts.forEach((item) => { - item.svyTaskTemplateTargetoptions = item.svyLibTemplateTargetoptions; - }); - this.objyl.svyTaskTemplateScriptVOS = this.objyl.svyTemplateLibScripts; this.objyl.templateid = this.objyl.svyid; this.objyl.isoperation = 1; - console.log(this.objyl.id); - if (!this.objyl.sendDay) { - this.objyl.sendDay = "5"; - } + this.objyl.taskid = this.form.taskid; if (this.objyl.id) { deleteTaskQuestioncomit(this.objyl.id).then((res) => { @@ -2006,7 +1919,6 @@ this.previewtf = false; this.form.libtemplateid = this.objyl.svyid; this.form.templateid = response.data; - this.putbelongDepts(response.data); this.form.templatename = this.objyl.svyname; this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛"); }); @@ -2017,7 +1929,6 @@ this.previewtf = false; this.form.libtemplateid = this.objyl.svyid; this.form.templateid = response.data; - this.putbelongDepts(response.data); this.form.templatename = this.objyl.svyname; this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛"); }); @@ -2044,60 +1955,35 @@ } }); }, - // 澶勭悊鏈嶅姟褰㈠紡 - formatFn(type) { - let list = []; - let formlist = []; - if (type == 1) { - this.preachform.forEach((item) => { - this.checkList.forEach((obj) => { - if (item.label == obj) { - list.push(item.value); - } - }); - }); - console.log(list, "list"); - this.form.preachform = list.join(","); - } else { - console.log(this.form.preachform, "this.form.preachform"); - formlist = this.form.preachform.split(","); - console.log(11); - this.preachform.forEach((item) => { - formlist.forEach((obj) => { - if (item.value == obj) { - list.push(item.label); - } - }); - }); - this.checkList = list; - } - }, + // 绉戝澶勭悊 Departmenttreatment() { - this.tempDetpRelevanceslist.forEach((item) => { - this.tempDetpRelevanceslistform.push({ - deptType: 1, - longTemp: this.form.longTask, - deptCode: item, - tempid: null, - type: 11, - }); - }); - - this.tempbelongWards.forEach((item) => { - this.tempbelongWardsform.push({ - deptType: 2, - longTemp: this.form.longTask, - deptCode: item, - tempid: null, - type: 11, - }); - }); - console.log(33); - - setTimeout(() => { - this.previewFn(); - }, 1000); + if (!this.form.taskid) { + this.templateor = true; + MessageBox.confirm( + "褰撳墠涓烘柊澧炰换鍔℃湭淇濆瓨涓嶅彲鍏宠仈妯℃澘锛屾槸鍚﹀厛淇濆瓨浠诲姟锛�", + "鍔熻兘鎻愮ず", + { + confirmButtonText: "淇濆瓨浠诲姟", + cancelButtonText: "鍙栨秷", + type: "warning", + } + ) + .then(() => { + if (Array.isArray(this.objyl.suitway)) { + this.objyl.suitway = this.objyl.suitway.join(","); + } + this.objyl.templateid = this.objyl.svyid; + this.objyl.isoperation = 1; + this.form.svyTaskTemplateVO=this.objyl; + this.submitForm(); + }) + .catch(() => {}); + } else { + setTimeout(() => { + this.previewFn(); + }, 1000); + } }, }, }; -- Gitblit v1.9.3