From 98961384c43eb14d108e557104b3e75341284427 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期四, 23 一月 2025 10:57:59 +0800 Subject: [PATCH] 测试完成 --- src/utils/request.js | 5 src/views/followvisit/tasklist/index.vue | 7 vue.config.js | 2 src/views/repositoryai/templateku/configurat/index.vue | 2 src/api/AiCentre/Qtemplate.js | 15 src/store/getters.js | 16 src/views/patient/questionnaire/index.vue | 919 +++++++++++----- src/views/patient/propaganda/Missioncreation.vue | 18 src/views/patient/propaganda/particty.vue | 391 ++---- src/components/SFtable/index.vue | 5 src/views/patient/propaganda/QuestionnaireTask.vue | 460 +++---- src/views/patient/ycquestionnaire/index.vue | 1348 ++++++++++++++++++++++++ 12 files changed, 2,357 insertions(+), 831 deletions(-) diff --git a/src/api/AiCentre/Qtemplate.js b/src/api/AiCentre/Qtemplate.js index 55d9e46..a29da63 100644 --- a/src/api/AiCentre/Qtemplate.js +++ b/src/api/AiCentre/Qtemplate.js @@ -158,6 +158,14 @@ params: data, }); } + //浠诲姟绉戝鐥呭尯妯℃澘鍏宠仈鏌ヨ + export function taskdepthospgetsonlist(data) { + return request({ + url: "/smartor/taskdept/list", + method: "get", + params: data, + }); +} // 鍒犻櫎绉戝鐥呭尯妯℃澘鍒嗙被 export function depthospgetsondel(id) { return request({ @@ -165,6 +173,13 @@ method: "get", }); } + // 鍒犻櫎浠诲姟绉戝鍏宠仈 + export function taskdepthospgetsondel(id) { + return request({ + url: "/smartor/taskdept/remove/" + id, + method: "get", + }); + } // 鍖绘姢淇濆瓨鏁版嵁 export function serviceSubtaskDetailedit(data) { diff --git a/src/components/SFtable/index.vue b/src/components/SFtable/index.vue index a23f3a6..2687a76 100644 --- a/src/components/SFtable/index.vue +++ b/src/components/SFtable/index.vue @@ -2,6 +2,7 @@ <template> <el-table ref="multipleTableson" + :height="heights" :data=" currentList.filter( (data) => @@ -201,6 +202,10 @@ type: Number, default: 1, }, + heights: { + type: Number, + default: 600, + }, searchTrue: { type: Boolean, default: false, diff --git a/src/store/getters.js b/src/store/getters.js index d7540b0..9a197fa 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -450,14 +450,14 @@ listClass: "", }, }, - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - raw: { - cssClass: "", - listClass: "", - }, - }, + // { + // value: "8", + // label: "鏅鸿兘鏈哄櫒浜�", + // raw: { + // cssClass: "", + // listClass: "", + // }, + // }, ], // 璇█ languagelist: (state) => [ diff --git a/src/utils/request.js b/src/utils/request.js index 05dcfc1..57969d4 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -110,10 +110,7 @@ } ) .then(() => { - isRelogin.show = false; - store.dispatch("LogOut").then(() => { - location.href = "/index"; - }); + }) .catch(() => { isRelogin.show = false; diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue index 454091a..07ff9f3 100644 --- a/src/views/followvisit/tasklist/index.vue +++ b/src/views/followvisit/tasklist/index.vue @@ -497,9 +497,12 @@ }, { value: "7", - label: "鎮h�呮姤鍛�", + label: "鎮h�呮棩甯告姤鍛�", }, - + { + value: "9", + label: "鎮h�呭紓甯告姤鍛�", + }, { value: "8", label: "鍏朵粬閫氱煡", diff --git a/src/views/patient/propaganda/Missioncreation.vue b/src/views/patient/propaganda/Missioncreation.vue index 546ccdb..76b60b9 100644 --- a/src/views/patient/propaganda/Missioncreation.vue +++ b/src/views/patient/propaganda/Missioncreation.vue @@ -817,7 +817,7 @@ { label: "鐭俊", value: 4 }, { label: "寰俊鍏紬", value: 5 }, { label: "閽夐拤", value: 6 }, - { label: "鏅鸿兘鏈哄櫒浜�", value: 7 }, + // { label: "鏅鸿兘鏈哄櫒浜�", value: 7 }, ], upload: { // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛� @@ -1042,10 +1042,10 @@ label: "寰俊灏忕▼搴�", }, - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, + // { + // value: "8", + // label: "鏅鸿兘鏈哄櫒浜�", + // }, ]; } else if (this.form.serviceType == 8) { this.checkboxlist = [ @@ -1062,10 +1062,10 @@ label: "寰俊灏忕▼搴�", }, - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, + // { + // value: "8", + // label: "鏅鸿兘鏈哄櫒浜�", + // }, { value: "9", label: "閽夐拤", diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue index ea3897d..0aa695c 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="璇烽�夋嫨鐥呭尯" > @@ -413,13 +412,13 @@ :controlxz="false" :typeinfo="2" /> - <pagination + <!-- <pagination v-show="total > 0" :total="total" :page.sync="topqueryParams.pageNum" :limit.sync="topqueryParams.pageSize" @pagination="getList" - /> + /> --> </el-row> </div> </div> @@ -494,16 +493,15 @@ @handleSelectionChange="handleSelectionChange" :currentList="patientuserList" :tableLabel="tableLabelhz" + :heights="600" :serialnumber="false" :center="false" :typeinfo="3" /> </el-row> <pagination - v-show="patienttotal > 0" + v-show="patienttotal > 0 && this.patientqueryParams.allhosp != 6" :total="patienttotal" - :page.sync="patientqueryParams.pageNum" - :limit.sync="patientqueryParams.pageSize" @pagination="handleAddpatient" /> </div> @@ -589,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> @@ -874,7 +788,7 @@ import { getTaskpatientQC, getlibrarylist, - getFollowuplist, + Externallist, getQtemplatelist, getQtemplateobj, TaskQuestioncomit, @@ -886,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", @@ -899,6 +816,7 @@ id: "", // previewid: "", //浠诲姟妯℃澘浼犻�抜d libName: "", + templateor: false, objyl: {}, overallCase: [], //閫夋嫨鎮h�呮�� allpids: [], @@ -913,6 +831,8 @@ loading: false, // 閬僵灞� patientloading: false, // 閬僵灞� dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗� + deptcodesWards: [], //绉戝鏁版嵁 + leavehospitaldistrictcodes: [], //鐥呭尯鏁版嵁 radio: 1, checkboxlist: [], tableLabel: [], @@ -968,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 }, @@ -989,7 +909,7 @@ pageNum: 1, // pageSize: 10, }, - checkList: [], + checkList: "", deliverytopqueryParams: { pageNum: 1, // pageSize: 10, @@ -998,8 +918,8 @@ pageNum: 1, // pageSize: 10, topica: 1, //0鍏ㄩ儴1绉戝2鐥呭尯 - leavehospitaldistrictcodes:[], - leaveldeptcodes:[], + leavehospitaldistrictcodes: [], + leaveldeptcodes: [], }, topicoptions: [{ children: [{ children: [] }] }], showSearch: true, // @@ -1019,7 +939,7 @@ sonuserList: [], //閫変腑鎮h�呭垪琛� delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍 longtype: [ - { value: 0, label: "鏅�氫换鍔�" }, + { value: 0, label: "鑷畾涔夊懆鏈�" }, { value: 1, label: "闀挎湡浠诲姟" }, ], variableList: [ @@ -1036,7 +956,7 @@ default: true, }, { - name: "鐢佃瘽", + name: "鏅鸿兘璇煶", value: "${dhh}", fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", default: true, @@ -1056,7 +976,7 @@ default: true, }, { - name: "鐢佃瘽", + name: "鏅鸿兘璇煶", value: "${dhh}", fill: "娲惧彂鏃惰嚜鍔ㄥ尮閰�", default: true, @@ -1091,6 +1011,10 @@ { value: "3", label: "浣撴鐥呬汉", + }, + { + value: "6", + label: "闄㈠鎮h��", }, ], source: [ @@ -1135,7 +1059,11 @@ }, { value: 7, - label: "鎮h�呮姤鍛�", + label: "鎮h�呮棩甯告姤鍛�", + }, + { + value: 9, + label: "鎮h�呭紓甯告姤鍛�", }, { @@ -1144,7 +1072,6 @@ }, ], // 绉戝/鐥呭尯 - belongWards: [], belongWards: [], deptlist: [], hosplist: [], @@ -1172,11 +1099,9 @@ // { required: true, message: "閫傜敤鐥呭尯涓嶈兘涓虹┖", trigger: "blur" }, // ], }, + belongDepts:[], // 绉戝闄㈠尯鏌ヨ鍏ュ弬 - queryParamsdept: { - tempid: "", - type: 11, - }, + queryParamsdept: {}, quote: false, serviceType: null, }; @@ -1270,12 +1195,11 @@ this.checkboxlist = [ { value: "3", - label: "鐢佃瘽", + label: "鏅鸿兘璇煶", }, { value: "4", label: "鐭俊", - }, { value: "5", @@ -1286,12 +1210,12 @@ label: "寰俊灏忕▼搴�", }, - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, + // { + // value: "8", + // label: "鏅鸿兘鏈哄櫒浜�", + // }, ]; - } else if (this.form.serviceType == 7) { + } else if (this.form.serviceType == 7 || this.form.serviceType == 9) { this.checkboxlist = [ { value: "1", @@ -1303,12 +1227,11 @@ }, { value: "3", - label: "鐢佃瘽", + label: "鏅鸿兘璇煶", }, { value: "4", label: "鐭俊", - }, { value: "5", @@ -1319,7 +1242,12 @@ label: "寰俊灏忕▼搴�", }, ]; - } else if (this.form.serviceType == 2 || this.form.serviceType == 3|| this.form.serviceType == 5|| this.form.serviceType == 4) { + } else if ( + this.form.serviceType == 2 || + this.form.serviceType == 3 || + this.form.serviceType == 5 || + this.form.serviceType == 4 + ) { this.checkboxlist = [ { value: "1", @@ -1327,12 +1255,11 @@ }, { value: "3", - label: "鐢佃瘽", + label: "鏅鸿兘璇煶", }, { value: "4", label: "鐭俊", - }, { value: "5", @@ -1343,10 +1270,10 @@ label: "寰俊灏忕▼搴�", }, - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, + // { + // value: "8", + // label: "鏅鸿兘鏈哄櫒浜�", + // }, ]; } getQtemplatelist(this.topqueryParams).then((response) => { @@ -1376,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) || @@ -1413,24 +1347,15 @@ 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; - } 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.$router.push({ @@ -1440,33 +1365,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) { // 妯℃澘鎯呭喌涓嬭幏鍙栨ā鏉夸俊鎭� @@ -1480,10 +1380,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); @@ -1505,11 +1404,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) { @@ -1706,6 +1603,15 @@ }, getList() {}, handleQuery() { + // 鑾峰彇澶栭儴鎮h�� + console.log(this.patientqueryParams.allhosp, "aaalll"); + + if (this.patientqueryParams.allhosp == 6) { + this.Externallist(); + console.log(); + + return; + } if (this.patientqueryParams.topica == 0) { this.patientqueryParams.leavehospitaldistrictcodes = store.getters.leavehospitaldistrictcodes; @@ -1718,15 +1624,43 @@ store.getters.leavehospitaldistrictcodes; this.patientqueryParams.leaveldeptcodes = null; } - console.log(this.patientqueryParams.leavehospitaldistrictcodes); - console.log(this.patientqueryParams.leaveldeptcodes); - if (!this.patientqueryParams.leavehospitaldistrictcodes||!this.patientqueryParams.leavehospitaldistrictcodes[0]) + if ( + !this.patientqueryParams.leavehospitaldistrictcodes || + !this.patientqueryParams.leavehospitaldistrictcodes[0] + ) this.patientqueryParams.leavehospitaldistrictcodes = null; - if (!this.patientqueryParams.leaveldeptcodes||!this.patientqueryParams.leaveldeptcodes[0]) + if ( + !this.patientqueryParams.leaveldeptcodes || + !this.patientqueryParams.leaveldeptcodes[0] + ) this.patientqueryParams.leaveldeptcodes = null; this.handleAddpatient(); }, + // 鑾峰彇澶栭儴鎮h�呭鍏ュ垪琛� + Externallist() { + this.tableLabelhz = [ + { label: "鎮h��", width: "", prop: "name" }, + { label: "韬唤璇�", width: "200", prop: "idcardno" }, + { label: "鎬у埆", width: "", prop: "sex" }, + { label: "骞撮緞", width: "", prop: "age" }, + { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" }, + ]; + this.patientqueryParams.pageSize = 1000; + + Externallist(this.patientqueryParams).then((response) => { + this.patientuserList = response.rows; + this.patientuserList.forEach((item) => { + if (item.endtime) { + item.endDay = this.daysBetween(item.endtime); + } + }); + this.dialogVisiblepatient = true; + this.patienttotal = response.total; + this.loading = false; + }); + }, + resetQuery() {}, handleQuerymb() { getQtemplatelist(this.topqueryParams).then((response) => { @@ -1755,6 +1689,7 @@ this.form = { patTaskRelevances: [], sendType: 1, + sendDay: 5, templatename: "", templateid: null, libtemplateid: null, @@ -1773,7 +1708,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) { @@ -1788,6 +1723,10 @@ } else { this.time1 = this.form.showTimeMorn.split(","); } + } + // 鑾峰彇浠诲姟绉戝 + if (this.form.taskid) { + this.listDept(); } if (this.form.showTimeNoon) this.time2 = this.form.showTimeNoon.split(","); @@ -1819,24 +1758,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) => { @@ -1858,6 +1823,7 @@ row.isoperation = 3; this.delvariableList.push(row); }, + // 鏃堕棿---------- changeTime(row) { this.processingTime(); @@ -1938,17 +1904,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) => { @@ -1958,7 +1917,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("閫夋嫨妯℃澘鎴愬姛"); }); @@ -1969,7 +1927,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("閫夋嫨妯℃澘鎴愬姛"); }); @@ -1996,60 +1953,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); + } }, }, }; diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue index 291facc..7f82fb5 100644 --- a/src/views/patient/propaganda/particty.vue +++ b/src/views/patient/propaganda/particty.vue @@ -70,21 +70,21 @@ /> </el-form-item> <el-form-item label="鏈嶅姟褰㈠紡"> - <el-checkbox-group + <el-radio-group v-model="checkList" @change="handleCheckedCitiesChange" > - <el-checkbox + <el-radio v-for="(item, index) in checkboxlist" :key="index" :label="item.value" @change="checkboxChange($event, item.value)" > - {{ item.label }}</el-checkbox + {{ item.label }}</el-radio > - </el-checkbox-group> + </el-radio-group> </el-form-item> - <div class="xinz-infs"> + <!-- <div class="xinz-infs"> <el-form-item label="鏈嶅姟鎵ц椤哄簭" prop="daytime"> <el-tag :key="tag.label" @@ -97,13 +97,23 @@ ({{ index + 1 }}){{ tag.label }} </el-tag> </el-form-item> - </div> - <el-form-item label="鏄惁闀挎湡" prop="longTask"> + </div> --> + <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" @@ -208,17 +218,19 @@ <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" filterable + multiple placeholder="璇烽�夋嫨绉戝" > <el-option class="ruleFormaa" v-for="item in belongDepts" :key="item.deptCode" - :label="item.label" + :label="item.deptName" :value="item.deptCode" > </el-option> @@ -228,34 +240,21 @@ <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" filterable + multiple placeholder="璇烽�夋嫨鐥呭尯" > <el-option class="ruleFormaa" v-for="item in belongWards" - :key="item.deptCode" - :label="item.label" - :value="item.deptCode" + :key="item.districtCode" + :label="item.districtName" + :value="item.districtCode" > </el-option> </el-select> </el-form-item @@ -448,7 +447,7 @@ </div> </div> <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> - <el-button type="success" @click="submitForm('ruleForm')">{{ + <el-button type="success" @click="submitForm('11')">{{ quote ? "绔嬪嵆鍒涘缓" : "纭浠诲姟閰嶇疆" }}</el-button> <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> @@ -595,90 +594,6 @@ <el-input v-model="objyl.templateName"></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.label" - :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.deptCode" - :label="item.label" - :value="item.deptCode" - > - </el-option> - </el-select> </el-form-item - ></el-col> - </el-row> --> <div class="xinz-infs"> <el-form-item> @@ -804,13 +719,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 @@ -904,14 +819,17 @@ getillness, Editsingletask, getFollowupclassify, + taskdepthospgetsonlist, + taskdepthospgetsondel, depthospgetsonlist, } from "@/api/AiCentre/index"; import { deptTreeSelect } from "@/api/system/user"; +import { MessageBox } from "element-ui"; import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 export default { - name: "Particty", + name: "particty", data() { return { title: "瀹f暀鍐呭鍒楄〃", @@ -920,6 +838,7 @@ previewid: "", //浠诲姟妯℃澘浼犻�抜d libName: "", username: "", + templateor: false, objyl: {}, overallCase: [], //閫夋嫨鎮h�呮�� allpids: [], @@ -935,6 +854,8 @@ loading: false, // 閬僵灞� patientloading: false, // 閬僵灞� dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗� + deptcodesWards: [], //绉戝鏁版嵁 + leavehospitaldistrictcodes: [], //鐥呭尯鏁版嵁 radio: 1, checkboxlist: [], tableLabel: [], @@ -993,7 +914,7 @@ preachform: [ { label: "澶氬獟浣�", value: 1 }, { label: "绾歌川", value: 2 }, - { label: "鐢佃瘽", value: 3 }, + { label: "鏅鸿兘璇煶", value: 3 }, { label: "鐭俊", value: 4 }, { label: "寰俊鍏紬鍙�", value: 5 }, { label: "寰俊灏忕▼搴�", value: 6 }, @@ -1014,7 +935,7 @@ pageNum: 1, // pageSize: 10, }, - checkList: [], + checkList: "", foncheckList: [], formatvalue: { format1: "", @@ -1050,7 +971,7 @@ sonuserList: [], //閫変腑鎮h�呭垪琛� delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍 longtype: [ - { value: 0, label: "鏅�氫换鍔�" }, + { value: 0, label: "鑷畾涔夊懆鏈�" }, { value: 1, label: "闀挎湡浠诲姟" }, ], variableList: [ @@ -1195,9 +1116,9 @@ sendType: [ { required: true, message: "鍙戦�佽缃笉鑳戒负绌�", trigger: "blur" }, ], - deptcode: [ - { required: true, message: "閫傜敤绉戝涓嶈兘涓虹┖", trigger: "blur" }, - ], + // deptcode: [ + // { required: true, message: "閫傜敤绉戝涓嶈兘涓虹┖", trigger: "blur" }, + // ], // leavehospitaldistrictcode: [ // { required: true, message: "閫傜敤鐥呭尯涓嶈兘涓虹┖", trigger: "blur" }, // ], @@ -1216,8 +1137,8 @@ created() { this.appraiselist = store.getters.appraiselist; - // this.belongWards = store.getters.belongWards; - // this.belongDepts = store.getters.belongDepts; + this.belongWards = store.getters.belongWards; + this.belongDepts = store.getters.belongDepts; this.username = store.getters.name; this.mode = store.getters.Askmode; this.id = this.$route.query.id; @@ -1228,7 +1149,6 @@ this.form.serviceType = Number(this.$route.query.serviceType); this.Acquisitiontype(); this.Getdetails(); - this.getDeptTree(); this.getFollowupclassify(); }, activated() { @@ -1243,7 +1163,6 @@ this.Acquisitiontype(); this.Getdetails(); - this.getDeptTree(); this.getFollowupclassify(); } }, @@ -1272,14 +1191,7 @@ }); return result; }, - getDeptTree() { - // 绉戝鍒楄〃 - deptTreeSelect().then((response) => { - let flatArray = this.flattenArray(response.data); - this.belongWards = flatArray; - this.belongDepts = flatArray; - }); - }, + flattenArray(multiArray) { let result = []; @@ -1322,7 +1234,6 @@ { value: "4", label: "鐭俊", - }, { value: "5", @@ -1333,12 +1244,11 @@ this.checkboxlist = [ { value: "3", - label: "鐢佃瘽", + label: "鏅鸿兘璇煶", }, { value: "4", label: "鐭俊", - }, { value: "5", @@ -1349,10 +1259,10 @@ label: "寰俊灏忕▼搴�", }, - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, + // { + // value: "8", + // label: "鏅鸿兘鏈哄櫒浜�", + // }, ]; } else if (this.form.serviceType == 7 || this.form.serviceType == 5) { this.checkboxlist = [ @@ -1366,12 +1276,11 @@ }, { value: "3", - label: "鐢佃瘽", + label: "鏅鸿兘璇煶", }, { value: "4", label: "鐭俊", - }, { value: "5", @@ -1390,12 +1299,11 @@ }, { value: "3", - label: "鐢佃瘽", + label: "鏅鸿兘璇煶", }, { value: "4", label: "鐭俊", - }, { value: "5", @@ -1406,10 +1314,10 @@ label: "寰俊灏忕▼搴�", }, - { - value: "8", - label: "鏅鸿兘鏈哄櫒浜�", - }, + // { + // value: "8", + // label: "鏅鸿兘鏈哄櫒浜�", + // }, ]; } getFollowuplist(this.topqueryParams).then((response) => { @@ -1429,7 +1337,8 @@ }); }, // 淇濆瓨 - submitForm(formName) { + submitForm(type) { + if (this.templateor && type) this.templateor = false; if (this.time4 && this.form.sendType == 3) this.form.showTimeMorn = this.time4; this.form.sendTimeslot = [ @@ -1439,30 +1348,29 @@ xh: 1, }, ]; - if ( - (this.belongWards[0] || this.belongWards[0]) && - this.username == "andmin" - ) { - if (this.tempbelongWards[0] || this.tempbelongWards[0]) { - } else { - this.$modal.msgError("璇烽�夋嫨绉戝鎴栫梾鍖�"); - return; - } - } - 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) || @@ -1485,18 +1393,14 @@ 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 - ); + this.form.deptcode = this.deptcodesWards.join(","); + this.form.leavehospitaldistrictcode = + this.leavehospitaldistrictcodes.join(","); 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.$router.push({ @@ -1506,29 +1410,7 @@ } }); }, - // 缁欎换鍔℃ā鏉胯祴鍊间换鍔d - puttaskid(data) { - getTaskparticty(this.form.templateid).then((res) => { - if (res.code == 200) { - this.objyl = res.data; - this.objyl.isoperation = 2; - this.objyl.taskid = data.taskId; - if (!this.objyl.sendDa) { - this.objyl.sendDay = "5"; - } - console.log(this.objyl.sendDay, "this.objyl.sendDay"); - Taskparticty(this.objyl).then((response) => { - this.previewtf = false; - this.form.libtemplateid = this.objyl.id; - this.form.templateid = response.data; - // this.putbelongDepts(response.data); - this.form.templatename = this.objyl.templateName; - this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛"); - }); - } - }); - }, // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠� // 閫夋嫨棰勮 @@ -1541,13 +1423,13 @@ getvFollowup({ id: row.id }).then((res) => { if (res.code == 200) { this.objyl = res.data; - if (this.form.longTask) { - this.objyl.sendDay = 5; - } + // if (this.form.longTask) { + // this.objyl.sendDay = 5; + // } this.queryParamsdept.type = 2; this.queryParamsdept.tempid = row.id; - this.listDept(); - + this.tempDetpRelevanceslist = []; + this.tempbelongWards = []; this.objyl.suitway = this.objyl.suitway.split(","); this.questionList = res.data.ivrLibaTemplateScriptVOList; this.getillness(row.id); @@ -1571,8 +1453,7 @@ this.queryParamsdept.type = 21; // 鐤剧梾 this.getillness(this.form.libtemplateid); - // 鎵ц鑾峰彇璇ヤ换鍔℃ā鏉縤d - this.listDept(); + getvFollowup({ id: this.form.libtemplateid }).then((res) => { if (res.code == 200) { this.previewtf = true; @@ -1757,8 +1638,6 @@ this.$modal .confirm('鏄惁纭鍒犻櫎鎮h��"' + row.name + '"鐨勬湇鍔¢」锛�') .then(() => { - console.log(); - let indexa = this.overallCase.indexOf(row); let indexb = this.form.patTaskRelevances.indexOf(row); this.overallCase.splice(indexa, 1); @@ -1784,9 +1663,15 @@ store.getters.leavehospitaldistrictcodes; this.patientqueryParams.leaveldeptcodes = null; } - if (!this.patientqueryParams.leavehospitaldistrictcodes||!this.patientqueryParams.leavehospitaldistrictcodes[0]) + if ( + !this.patientqueryParams.leavehospitaldistrictcodes || + !this.patientqueryParams.leavehospitaldistrictcodes[0] + ) this.patientqueryParams.leavehospitaldistrictcodes = null; - if (!this.patientqueryParams.leaveldeptcodes||!this.patientqueryParams.leaveldeptcodes[0]) + if ( + !this.patientqueryParams.leaveldeptcodes || + !this.patientqueryParams.leaveldeptcodes[0] + ) this.patientqueryParams.leaveldeptcodes = null; this.handleAddpatient(); }, @@ -1818,6 +1703,7 @@ this.form = { patTaskRelevances: [], sendType: 1, + sendDay: 5, templatename: "", templateid: null, libtemplateid: null, @@ -1836,7 +1722,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) { @@ -1851,6 +1737,9 @@ } else { this.time1 = this.form.showTimeMorn.split(","); } + } + if (this.form.taskid) { + this.listDept(); } if (this.form.showTimeNoon) this.time2 = this.form.showTimeNoon.split(","); @@ -1885,22 +1774,48 @@ }, // 鑾峰彇绉戝鍒楄〃 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) { + } + }); + } }, getFollowupclassify() { getFollowupclassify({}).then((res) => { @@ -2005,9 +1920,9 @@ if (this.form.id) { this.objyl.taskid = this.form.id; } - if (!this.objyl.sendDay) { - this.objyl.sendDay = "5"; - } + // if (!this.objyl.sendDay) { + // this.objyl.sendDay = "5"; + // } if (this.form.templateid) { deleteTaskparticty(this.form.templateid).then((res) => { if (res.code == 200) { @@ -2087,34 +2002,36 @@ this.foncheckList = this.foncheckList.filter( (obj) => obj.value !== tag.value ); - console.log(this.checkList, "checkList"); }, // 绉戝澶勭悊 Departmenttreatment() { - this.tempDetpRelevanceslist.forEach((item) => { - this.tempDetpRelevanceslistform.push({ - deptType: 1, - longTemp: this.form.longTask, - deptCode: item, - tempid: null, - type: 21, - }); - }); + 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.id; + this.objyl.isoperation = 1; + this.form.ivrTaskTemplateVO = this.objyl; - this.tempbelongWards.forEach((item) => { - this.tempbelongWardsform.push({ - deptType: 2, - longTemp: this.form.longTask, - deptCode: item, - tempid: null, - type: 21, - }); - }); - console.log(33); - - setTimeout(() => { - this.previewFn(); - }, 1000); + this.submitForm(); + }) + .catch(() => {}); + } else { + setTimeout(() => { + this.previewFn(); + }, 1000); + } }, // 鍓嶅線淇敼 Modifytemplate() { diff --git a/src/views/patient/questionnaire/index.vue b/src/views/patient/questionnaire/index.vue index 0f992b7..731cb04 100644 --- a/src/views/patient/questionnaire/index.vue +++ b/src/views/patient/questionnaire/index.vue @@ -1,8 +1,69 @@ <template> <div class="app-container"> + <div class="leftvlue" style="margin-bottom: 20px"> + <el-row :gutter="10"> + <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index"> + <el-card + shadow="hover" + :body-style="item.router ? ' cursor: pointer' : 'cursor: default'" + > + <div style="padding: 8px" @click="$router.push(item.router)"> + <span>{{ item.name }}</span> + <div + style=" + text-align: center; + font-size: 18px; + margin-top: 10px; + font-weight: 600; + " + > + {{ item.value }} + </div> + </div> + </el-card> + </el-col> + <el-col :span="2.5"> + <div class="ysfleftvlue"> + <el-card shadow="hover"> + <div style="padding: 8px"> + <span>宸插彂閫佹湭棰嗗彇</span> + <div + style=" + text-align: center; + font-size: 18px; + margin-top: 10px; + font-weight: 600; + " + > + {{ yfsvalue }} + </div> + </div> + </el-card> + </div> + </el-col> + <el-col :span="2.5"> + <div class="errleftvlue"> + <el-card shadow="hover"> + <div style="padding: 8px"> + <span>寮傚父</span> + <div + style=" + text-align: center; + font-size: 18px; + margin-top: 10px; + font-weight: 600; + " + > + {{ ycvalue }} + </div> + </div> + </el-card> + </div> + </el-col> + </el-row> + </div> <el-row :gutter="20"> <!--鐢ㄦ埛鏁版嵁--> - <el-form :model="topqueryParams" ref="queryForm" @@ -11,10 +72,14 @@ v-show="showSearch" label-width="98px" > - <el-form-item label="闂嵎浜哄鍚�"> - <el-input v-model="topqueryParams.name"></el-input> + <el-form-item label="浠诲姟鍚嶇О"> + <el-input + v-model="topqueryParams.taskName" + placeholder="璇烽�夋嫨浠诲姟鍚嶇О" + ></el-input> </el-form-item> - <el-form-item label="闂嵎鏃堕棿"> + + <el-form-item label="鍑洪櫌鏃堕棿"> <el-date-picker v-model="dateRange" style="width: 240px" @@ -25,8 +90,26 @@ end-placeholder="缁撴潫鏃ユ湡" ></el-date-picker> </el-form-item> - <el-form-item label="闂嵎绫诲瀷" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> + + <el-form-item label="鎮h�呭鍚�" prop="sendname"> + <el-input + v-model="topqueryParams.sendname" + placeholder="璇疯緭鍏ユ偅鑰呭鍚�" + ></el-input> + </el-form-item> + + <el-form-item label="鎮h�呰寖鍥�" prop="status"> + <el-cascader + v-model="topqueryParams.scopetype" + placeholder="榛樿鍏ㄩ儴" + :options="sourcetype" + :props="{ expandTrigger: 'hover' }" + @change="handleChange" + ></el-cascader> + </el-form-item> + + <el-form-item label="浠诲姟鐘舵��" prop="status"> + <el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨"> <el-option v-for="item in topicoptions" :key="item.value" @@ -36,26 +119,13 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="闂嵎鍚嶇О" prop="status"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="鍙戦�佺姸鎬�" prop="status"> - <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> + <el-form-item> <el-button type="primary" icon="el-icon-search" size="medium" - @click="handleQuery" + @click="handleQuery(1)" >鎼滅储</el-button > <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" @@ -72,7 +142,6 @@ icon="el-icon-plus" size="medium" @click="handleAdd" - v-hasPermi="['system:user:add']" >鏂板</el-button > </el-col> @@ -95,40 +164,12 @@ <div class="documentf"> <div class="document"> <el-button - type="info" - icon="el-icon-refresh" - size="medium" - @click="TaskReset" - v-hasPermi="['system:user:export']" - >浠诲姟閲嶇疆</el-button - > - </div> - </div> - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button - type="success" - icon="el-icon-position" - size="medium" - @click="AllStarted" - v-hasPermi="['system:user:export']" - >鍏ㄩ儴寮�濮�</el-button - > - </div> - </div> - </el-col> - <el-col :span="1.5"> - <div class="documentf"> - <div class="document"> - <el-button type="warning" - icon="el-icon-remove" + plain + icon="el-icon-warning-outline" size="medium" - @click="AllStop" - v-hasPermi="['system:user:export']" - >鍏ㄩ儴鍋滄</el-button + @click="toleadExport(1)" + >鎵ц澶辫触</el-button > </div> </div> @@ -137,174 +178,305 @@ <div class="documentf"> <div class="document"> <el-button - type="primary" - icon="el-icon-remove" + type="danger" + plain + icon="el-icon-warning" size="medium" - @click="Sendtimesetting" - v-hasPermi="['system:user:export']" - >鍙戦�佹椂闂磋缃�</el-button + @click="toleadExport(2)" + >缁撴灉寮傚父</el-button > </div> </div> </el-col> - - <!-- <el-col :span="1.5"> </el-col> --> </el-row> <el-table v-loading="loading" :data="userList" + height="660" + :row-class-name="tableRowClassName" @selection-change="handleSelectionChange" > <el-table-column type="selection" width="50" align="center" /> <el-table-column - label="搴忓彿" + label="浠诲姟鍚嶇О" fixed align="center" - key="userId" - prop="userId" + key="taskName" + prop="taskName" + width="180" /> - + <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> --> <el-table-column label="濮撳悕" fixed align="center" - key="patientname" - prop="patientname" + key="sendname" + prop="sendname" /> <el-table-column - label="搴婂彿" + label="浠诲姟鐘舵��" align="center" - sortable - key="bedNo" - prop="bedNo" + key="sendstate" + prop="sendstate" + width="120" + > + <template slot-scope="scope"> + <div v-if="scope.row.sendstate == 1"> + <el-tag type="primary" :disable-transitions="false" + >琚鍙�</el-tag + > + </div> + <div v-if="scope.row.sendstate == 2"> + <el-tag type="primary" :disable-transitions="false" + >寰呭彂閫�</el-tag + > + </div> + <div v-if="scope.row.sendstate == 3"> + <el-tag type="success" :disable-transitions="false" + >宸插彂閫佹湭棰嗗彇</el-tag + > + </div> + <div v-if="scope.row.sendstate == 4"> + <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag> + </div> + <div v-if="scope.row.sendstate == 5"> + <el-tag type="danger" :disable-transitions="false" + >鍙戦�佸け璐�</el-tag + > + </div> + <div v-if="scope.row.sendstate == 6"> + <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag> + </div> + </template> + </el-table-column> + <!-- <el-table-column + label="浠诲姟寮傚父璇存槑" + width="120" + align="center" + key="remark" + prop="remark" --> + /> + + <el-table-column + label="浜哄伐澶勭悊鎰忚" + align="center" + key="suggest" + prop="suggest" + width="120" + > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_suggest" + :value="scope.row.suggest" + /> + </template> + </el-table-column> + <el-table-column + label="闅忚浜哄憳" + align="center" + key="createBy" + prop="createBy" width="120" /> - <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> <el-table-column - label="绉戝/鐥呭尯" + label="闅忚鏃堕棿" + sortable align="center" - key="phonenumber" - prop="phonenumber" + prop="finishtime" + width="160" + > + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.finishtime) }}</span> + </template> + </el-table-column> + <el-table-column + label="鍑洪櫌鏃ユ湡" + width="200" + align="center" + key="endtime" + prop="endtime" + > + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.endtime) }}</span> + </template></el-table-column + > + <el-table-column + label="搴旈殢璁挎棩鏈�" + width="200" + align="center" + key="longSendTime" + prop="longSendTime" + > + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.longSendTime) }}</span> + </template></el-table-column + > + <el-table-column + label="鍑洪櫌澶╂暟" + width="120" + align="center" + key="endDay" + prop="endDay" + > + <template slot-scope="scope"> + <span>{{ scope.row.endDay ? scope.row.endDay + "澶�" : "" }}</span> + </template> + </el-table-column> + <el-table-column + label="韬唤璇佸彿鐮�" + width="200" + align="center" + key="sfzh" + prop="sfzh" + /> + <el-table-column + label="鑱旂郴鐢佃瘽" + width="200" + align="center" + key="phone" + prop="phone" + /> + <el-table-column + label="璐d换鎶ゅ+" + width="120" + align="center" + key="nurseName" + prop="nurseName" + /> + <el-table-column + label="涓绘不鍖荤敓" + width="120" + align="center" + key="drname" + prop="drname" + /> + + <!-- <el-table-column + label="鐥呭巻鍙�" + align="center" + sortable + key="medicalRecordNo" + prop="medicalRecordNo" + width="120" + /> --> + + <!-- <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> --> + <!-- <el-table-column label="鎬у埆" align="center" key="sex" prop="sex" /> --> + <!-- <el-table-column label="搴婂彿" align="center" key="badNo" prop="badNo" /> --> + <el-table-column + label="绉戝" + align="center" + key="deptname" + prop="deptname" + width="120" + > + </el-table-column> + <el-table-column + label="鐥呭尯" + align="center" + key="leavehospitaldistrictname" + prop="leavehospitaldistrictname" width="120" > </el-table-column> - <el-table-column - label="闂嵎鍚嶇О" + <!-- <el-table-column + label="鐤剧梾鍚嶇О" align="center" - key="topicnumber" - prop="topicnumber" + key="icdName" + prop="icdName" width="120" :show-overflow-tooltip="true" > - <template slot-scope="scope"> - <div>鏈悗搴峰甯歌瘑</div> - </template> - </el-table-column> - <el-table-column - label="鍙戦�佹柟寮�" - align="center" - key="topicnumberc" - prop="topicnumberc" - width="120" - :show-overflow-tooltip="true" - > - <template slot-scope="scope"> - <div>鎵归噺</div> - </template> - </el-table-column> - <el-table-column - label="鍙戦�佸唴瀹�" - align="center" - key="topicnumberb" - prop="topicnumberb" - width="120" - /> - <el-table-column - label="鍙戦�佷汉鍛�" - align="center" - key="topicnumberaa" - prop="topicnumberaa" - width="120" - /> + </el-table-column> --> <el-table-column - label="灏辫瘖鏃堕棿" - sortable + label="鍑洪櫌闅忚妯℃澘鍚嶇О" align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> + key="templatename" + prop="templatename" + width="200" + /> <el-table-column - label="鍙戦�佹椂闂�" - sortable + label="浠诲姟鎵ц鏂瑰紡" align="center" - prop="createTime" + key="preachform" + prop="preachform" width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - <el-table-column - label="鍥炲鏃堕棿" - sortable - align="center" - prop="createTime" - width="160" - > - <template slot-scope="scope"> - <span>{{ formatTime(scope.row.createTime) }}</span> - </template> - </el-table-column> - - <el-table-column - label="鍙戦�佺姸鎬�" - align="center" - key="topicnumbera" - prop="topicnumbera" - width="120" :show-overflow-tooltip="true" > <template slot-scope="scope"> - <div>宸插彂閫佹湭棰嗗彇</div> + <span v-for="item in scope.row.preachform">{{ item }}銆� </span> + </template> + </el-table-column> + <!-- <el-table-column + label="浠诲姟鍙戦�佹祦绋�" + align="center" + key="serviceSubtaskRecordList" + prop="serviceSubtaskRecordList" + width="160" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <span v-for="item in scope.row.serviceSubtaskRecordList" + >{{ item.remark }}銆� + </span> + </template> + </el-table-column> --> + <el-table-column + label="浠诲姟缁撴灉璇存槑" + width="200" + align="center" + key="remark" + prop="remark" + > + <template slot-scope="scope" v-if="scope.row.remark"> + <el-tag + type="warning" + v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4" + >{{ scope.row.remark }}</el-tag + > + <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag> </template> </el-table-column> <el-table-column label="鎿嶄綔" - fixed="right" align="center" + fixed="right" width="200" class-name="small-padding fixed-width" > <template slot-scope="scope"> - <!-- <el-button - size="medium" - type="text" - @click="followupvisit(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-bb" - ><i class="el-icon-s-promotion"></i>閲嶆柊鍙戦��</span - ></el-button + <!-- <el-tooltip + class="item" + effect="dark" + content="閲嶆柊闅忚" + placement="top" > - <el-button - size="medium" - type="text" - @click="handlestop(scope.row)" - v-hasPermi="['system:user:edit']" - ><span class="button-sc" - ><i class="el-icon-delete"></i>鍋滄</span - ></el-button - > --> - <el-button - size="medium" - type="text" - @click="Seedetails(scope.row)" - v-hasPermi="['system:user:edit']" + <el-button + size="medium" + type="text" + @click="followupvisit(scope.row)" + v-hasPermi="['system:user:edit']" + ><span class="button-bb" + ><i class="el-icon-s-promotion"></i></span + ></el-button> + </el-tooltip> --> + <!-- <el-tooltip + class="item" + effect="dark" + content="鍋滄" + placement="top" + > + <el-button + size="medium" + type="text" + @click="handlestop(scope.row)" + v-hasPermi="['system:user:edit']" + ><span class="button-sc"><i class="el-icon-delete"></i></span + ></el-button> + </el-tooltip> --> + <el-button size="medium" type="text" @click="Seedetails(scope.row)" ><span class="button-zx" ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span ></el-button @@ -455,6 +627,7 @@ <script> import { + listUser, getUser, delUser, addUser, @@ -463,13 +636,13 @@ changeUserStatus, } from "@/api/system/user"; import { getTaskservelist } from "@/api/AiCentre/index"; - import Treeselect from "@riophae/vue-treeselect"; +import store from "@/store"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; export default { - name: "User", - dicts: ["sys_normal_disable", "sys_user_sex"], + name: "Discharge", + dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"], components: { Treeselect }, data() { return { @@ -506,8 +679,11 @@ }, dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 inputVisible: false, + ycvalue: "", + yfsvalue: "", inputValue: "", - previewVisible: false, //褰卞儚闅忚棰勮寮规 + preachform: "", + previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 radio: "", radios: [], previewtype: 2, //棰勮褰卞儚闅忚绫诲瀷 @@ -519,63 +695,61 @@ }, value: [], list: [], - loading: false, - states: [ - "Alabama", - "Nebraska", - "Nevada", - "New Hampshire", - "New Jersey", - "New Mexico", - "New York", - "North Carolina", - "North Dakota", - "Ohio", - "Oklahoma", - "Oregon", - "Pennsylvania", - "Rhode Island", - "South Carolina", - "South Dakota", - "Tennessee", - "Texas", - "Utah", - "Vermont", - "Virginia", - "Washington", - "West Virginia", - "Wisconsin", - "Wyoming", - ], - pickerOptions: { - disabledDate(time) { - return time.getTime() > Date.now(); + + sourcetype: [ + { + value: 1, + label: "绉戝", + children: [], }, - shortcuts: [ - { - text: "浠婂ぉ", - onClick(picker) { - picker.$emit("pick", new Date()); - }, - }, - { - text: "鏄ㄥぉ", - onClick(picker) { - const date = new Date(); - date.setTime(date.getTime() - 3600 * 1000 * 24); - picker.$emit("pick", date); - }, - }, - { - text: "涓�鍛ㄥ墠", - onClick(picker) { - const date = new Date(); - date.setTime(date.getTime() - 3600 * 1000 * 24 * 7); - picker.$emit("pick", date); - }, - }, - ], - }, + { + value: 2, + label: "鐥呭尯", + children: [], + }, + { + value: 3, + label: "鍏ㄩ儴", + }, + ], + loading: false, + cardlist: [ + { + name: "鍑洪櫌鏈嶅姟鎬婚噺", + value: 0, + }, + { + name: "鎮h�呰繃婊�", + value: 0, + }, + { + name: "搴旈殢璁�", + value: 0, + }, + + // { + // name: "寮傚父", + // value: 0, + // }, + { + name: "鍙戦�佸け璐�", + value: 0, + }, + { + name: "寰呭彂閫�", + value: 0, + }, + { + name: "宸插彂閫�", + value: 0, + }, + + // { + // name: "宸插彂閫佹湭棰嗗彇", + // value: 0, + // }, + ], + // 琛ㄥ崟鍙傛暟 form: { phonenumber: "", @@ -589,8 +763,11 @@ topqueryParams: { pageNum: 1, pageSize: 10, - serviceType:7, - + serviceType: 7, + searchscope: 3, + scopetype: [], + leaveldeptcodes: [], + leavehospitaldistrictcodes: [], }, propss: { multiple: true }, options: [], @@ -598,90 +775,135 @@ topicoptions: [ { value: 1, - label: "寰呭鏍�", + label: "琚鍙�", }, { value: 2, - label: "鎵ц涓�", + label: "寰呭彂閫�", }, { value: 3, - label: "鎵ц瀹屾垚", + label: "宸插彂閫佹湭棰嗗彇", }, { value: 4, - label: "宸插仠姝�", + label: "涓嶆墽琛�", + }, + { + value: 5, + label: "鍙戦�佸け璐�", + }, + { + value: 6, + label: "宸插畬鎴�", }, ], + topicoptionsyj: [ + { + value: 1, + label: "寮傚父", + }, + { + value: 0, + label: "姝e父", + }, + ], + errtype: "", + leavehospitaldistrictcode: "", + serviceState: [], + checkboxlist: [], // 琛ㄥ崟鏍¢獙 - rules: { - userName: [ - { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 2, - max: 20, - message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - nickName: [ - { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }, - ], - password: [ - { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - { - min: 5, - max: 20, - message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", - trigger: "blur", - }, - ], - email: [ - { - type: "email", - message: "璇疯緭鍏ユ纭殑閭鍦板潃", - trigger: ["blur", "change"], - }, - ], - phonenumber: [ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", - trigger: "blur", - }, - ], - IDnumber: [ - { - pattern: - /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, - message: "璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�", - trigger: "blur", - }, - ], - }, + rules: {}, }; }, watch: {}, created() { - this.getList(); + this.serviceState = store.getters.serviceState; + this.checkboxlist = store.getters.checkboxlist; + this.errtype = this.$route.query.errtype; + this.leavehospitaldistrictcode = + this.$route.query.leavehospitaldistrictcode; + this.sourcetype[0].children = store.getters.belongDepts.map((dept) => { + return { + label: dept.deptName, + value: dept.deptCode, + }; + }); + this.sourcetype[1].children = store.getters.belongWards.map((dept) => { + return { + label: dept.districtName, + value: dept.districtCode, + }; + }); + if (this.errtype) { + this.toleadExport(2); + } else { + this.getList(1); + } this.getConfigKey("sys.user.initPassword").then((response) => { this.initPassword = response.msg; }); }, - // 鎼滅储 - mounted() { - this.list = this.states.map((item) => { - return { value: `value:${item}`, label: `label:${item}` }; - }); + activated() { + this.getList(1); }, methods: { - /** 鏌ヨ褰卞儚闅忚鍒楄〃 */ - getList() { + /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */ + getList(refresh) { + // 榛樿鍏ㄩ儴 + if (this.topqueryParams.searchscope == 3) { + this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.topqueryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + } + // 鎺ュ彈寮傚父璺宠浆 + if (this.errtype) { + this.topqueryParams.leavehospitaldistrictcodes.push( + this.leavehospitaldistrictcode + ); + console.log(this.topqueryParams.leavehospitaldistrictcodes, "11"); + } this.loading = true; getTaskservelist(this.topqueryParams).then((response) => { - this.userList = response.rows; + this.userList = response.rows[0].serviceSubtaskList; this.total = response.total; + if (refresh) { + this.cardlist[0].value = + Number(response.rows[0].wzx) + Number(response.rows[0].ysf); + this.cardlist[1].value = response.rows[0].wzx; + this.cardlist[2].value = response.rows[0].ysf; + this.ycvalue = response.rows[0].yc; + this.cardlist[3].value = response.rows[0].fssb; + this.cardlist[4].value = response.rows[0].dfs; + this.cardlist[5].value = response.rows[0].yfs2; + this.yfsvalue = response.rows[0].yfs; + } this.loading = false; + this.userList.forEach((item) => { + let idArray = null; + if (item.endtime) { + item.endDay = this.daysBetween(item.endtime); + } + + if (item.preachform) { + if (item.endtime) { + item.preachformson = item.preachform; + idArray = item.preachform.split(","); + } + + item.preachform = idArray.map((value) => { + // 鏌ユ壘id瀵瑰簲鐨勫璞� + const item = this.checkboxlist.find( + (item) => item.value == value + ); + // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null + return item ? item.label : null; + }); + } + }); + this.total = response.total; }); }, // 鏌ョ湅褰卞儚闅忚璇︽儏 @@ -741,17 +963,49 @@ this.resetForm("form"); }, /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { + handleQuery(refresh) { + if (this.topqueryParams.searchscope == 3) { + this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.topqueryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + } this.topqueryParams.pageNum = 1; - this.getList(); + this.topqueryParams.startOutHospTime = this.dateRange[0]; + this.topqueryParams.endOutHospTime = this.dateRange[1]; + + this.getList(refresh); + }, + // 鎮h�呰寖鍥村鐞� + handleChange(value) { + let type = value[0]; + let code = value.slice(-1)[0]; + this.topqueryParams.leavehospitaldistrictcodes = []; + this.topqueryParams.leaveldeptcodes = []; + + if (type == 1) { + this.topqueryParams.leaveldeptcodes.push(code); + this.topqueryParams.leavehospitaldistrictcodes = []; + this.topqueryParams.searchscope = 1; + } else if (type == 2) { + this.topqueryParams.leavehospitaldistrictcodes.push(code); + this.topqueryParams.leaveldeptcodes = []; + this.topqueryParams.searchscope = 2; + } else { + this.topqueryParams.searchscope = 3; + } }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ resetQuery() { this.dateRange = []; - this.resetForm("queryForm"); - this.topqueryParams.deptId = undefined; - this.$refs.tree.setCurrentKey(null); - this.handleQuery(); + this.topqueryParams = { + pageNum: 1, + pageSize: 10, + serviceType: 7, + searchscope: 2, + }; + this.handleQuery(1); }, // 澶氶�夋閫変腑鏁版嵁 handleSelectionChange(selection) { @@ -815,13 +1069,13 @@ updateUser(this.form).then((response) => { this.$modal.msgSuccess("淇敼鎴愬姛"); this.open = false; - this.getList(); + this.getList(1); }); } else { addUser(this.form).then((response) => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.open = false; - this.getList(); + this.getList(1); }); } } @@ -836,7 +1090,7 @@ return delUser(userIds); }) .then(() => { - this.getList(); + this.getList(1); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) .catch(() => {}); @@ -849,7 +1103,7 @@ return console.log("鍋滄鎴愬姛"); }) .then(() => { - this.getList(); + this.getList(1); this.$modal.msgWarning("鍋滄鎴愬姛"); }) .catch(() => {}); @@ -862,7 +1116,7 @@ return console.log("寮�鍚垚鍔�"); }) .then(() => { - this.getList(); + this.getList(1); this.$modal.msgSuccess("寮�鍚垚鍔�"); }) .catch(() => {}); @@ -875,7 +1129,7 @@ return console.log("閫変腑鎴愬姛"); }) .then(() => { - this.getList(); + this.getList(1); this.$modal.msgSuccess("閲嶇疆鎴愬姛"); }) .catch(() => {}); @@ -886,22 +1140,52 @@ }, // 璺宠浆璇︽儏椤� Seedetails(row) { + let type = ""; + console.log(row, "rwo"); + if (row.preachformson) { + if (row.preachformson.includes("3")) { + type = 1; + console.log(type, "rwo"); + } + } this.$router.push({ - path: "/followvisit/QuestionnaireTask", - query: { taskid: row.taskid, patid: row.patid }, + path: "/followvisit/record/detailpage/", + query: { + taskid: row.taskid, + patid: row.patid, + id: row.id, + Voicetype: type, + }, }); }, - // 瀵煎叆鎸夐挳 - toleadExport() {}, + // 渚挎嵎鎸夐挳 + toleadExport(too) { + if (too == 1) { + this.topqueryParams.sendstate = 4; + this.topqueryParams.excep = null; + } else if (too == 2) { + this.topqueryParams.excep = 1; + } + this.handleQuery(); + }, /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { + this.topqueryParams.pageNum = null; + this.topqueryParams.pageSize = null; this.download( - "system/user/export", + "smartor/serviceSubtask/export", { ...this.topqueryParams, }, `user_${new Date().getTime()}.xlsx` ); + }, + // 寮傚父鍒楁覆鏌� + tableRowClassName({ row, rowIndex }) { + if (row.excep == 1) { + return "warning-row"; + } + return ""; }, }, }; @@ -917,6 +1201,9 @@ .document { // width: 100px; height: 50px; +} +::v-deep.el-table .warning-row { + background: #eec4c4; } .documentf { @@ -996,6 +1283,28 @@ } } } +::v-deep.leftvlue .el-card__body { + background: #d0e9fd; +} +::v-deep.leftvlue .el-card__body:hover { + background: #8dc8f8; + cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ +} +::v-deep.errleftvlue .el-card__body { + background: #fdd0d7; +} +::v-deep.errleftvlue .el-card__body:hover { + background: #f88d96; + cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ +} + +::v-deep.ysfleftvlue .el-card__body { + background: #d0fdd8; +} +::v-deep.ysfleftvlue .el-card__body:hover { + background: #8df8a4; + cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ +} .button-bb { font-weight: 500; background-color: #2ba05c; diff --git a/src/views/patient/ycquestionnaire/index.vue b/src/views/patient/ycquestionnaire/index.vue new file mode 100644 index 0000000..3c211f2 --- /dev/null +++ b/src/views/patient/ycquestionnaire/index.vue @@ -0,0 +1,1348 @@ +<template> + <div class="app-container"> + <div class="leftvlue" style="margin-bottom: 20px"> + <el-row :gutter="10"> + <el-col :span="2.5" v-for="(item, index) in cardlist" :key="index"> + <el-card + shadow="hover" + :body-style="item.router ? ' cursor: pointer' : 'cursor: default'" + > + <div style="padding: 8px" @click="$router.push(item.router)"> + <span>{{ item.name }}</span> + <div + style=" + text-align: center; + font-size: 18px; + margin-top: 10px; + font-weight: 600; + " + > + {{ item.value }} + </div> + </div> + </el-card> + </el-col> + <el-col :span="2.5"> + <div class="ysfleftvlue"> + <el-card shadow="hover"> + <div style="padding: 8px"> + <span>宸插彂閫佹湭棰嗗彇</span> + <div + style=" + text-align: center; + font-size: 18px; + margin-top: 10px; + font-weight: 600; + " + > + {{ yfsvalue }} + </div> + </div> + </el-card> + </div> + </el-col> + <el-col :span="2.5"> + <div class="errleftvlue"> + <el-card shadow="hover"> + <div style="padding: 8px"> + <span>寮傚父</span> + <div + style=" + text-align: center; + font-size: 18px; + margin-top: 10px; + font-weight: 600; + " + > + {{ ycvalue }} + </div> + </div> + </el-card> + </div> + </el-col> + </el-row> + </div> + <el-row :gutter="20"> + <!--鐢ㄦ埛鏁版嵁--> + <el-form + :model="topqueryParams" + ref="queryForm" + size="small" + :inline="true" + v-show="showSearch" + label-width="98px" + > + <el-form-item label="浠诲姟鍚嶇О"> + <el-input + v-model="topqueryParams.taskName" + placeholder="璇烽�夋嫨浠诲姟鍚嶇О" + ></el-input> + </el-form-item> + + <el-form-item label="鍑洪櫌鏃堕棿"> + <el-date-picker + v-model="dateRange" + style="width: 240px" + value-format="yyyy-MM-dd" + type="daterange" + range-separator="-" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + ></el-date-picker> + </el-form-item> + + <el-form-item label="鎮h�呭鍚�" prop="sendname"> + <el-input + v-model="topqueryParams.sendname" + placeholder="璇疯緭鍏ユ偅鑰呭鍚�" + ></el-input> + </el-form-item> + + <el-form-item label="鎮h�呰寖鍥�" prop="status"> + <el-cascader + v-model="topqueryParams.scopetype" + placeholder="榛樿鍏ㄩ儴" + :options="sourcetype" + :props="{ expandTrigger: 'hover' }" + @change="handleChange" + ></el-cascader> + </el-form-item> + + <el-form-item label="浠诲姟鐘舵��" prop="status"> + <el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in topicoptions" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + + <el-form-item> + <el-button + type="primary" + icon="el-icon-search" + size="medium" + @click="handleQuery(1)" + >鎼滅储</el-button + > + <el-button icon="el-icon-refresh" size="medium" @click="resetQuery" + >閲嶇疆</el-button + > + </el-form-item> + </el-form> + <el-divider></el-divider> + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="medium" + @click="handleAdd" + >鏂板</el-button + > + </el-col> + <el-col :span="1.5"> + <div class="documentf"> + <div class="document"> + <el-button + type="warning" + plain + icon="el-icon-upload2" + size="medium" + @click="handleExport" + v-hasPermi="['system:user:export']" + >瀵煎嚭</el-button + > + </div> + </div> + </el-col> + <el-col :span="1.5"> + <div class="documentf"> + <div class="document"> + <el-button + type="warning" + plain + icon="el-icon-warning-outline" + size="medium" + @click="toleadExport(1)" + >鎵ц澶辫触</el-button + > + </div> + </div> + </el-col> + <el-col :span="1.5"> + <div class="documentf"> + <div class="document"> + <el-button + type="danger" + plain + icon="el-icon-warning" + size="medium" + @click="toleadExport(2)" + >缁撴灉寮傚父</el-button + > + </div> + </div> + </el-col> + </el-row> + <el-table + v-loading="loading" + :data="userList" + height="660" + :row-class-name="tableRowClassName" + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="50" align="center" /> + <el-table-column + label="浠诲姟鍚嶇О" + fixed + align="center" + key="taskName" + prop="taskName" + width="180" + /> + <!-- <el-table-column label="搴忓彿" fixed align="center" key="id" prop="id" /> --> + <el-table-column + label="濮撳悕" + fixed + align="center" + key="sendname" + prop="sendname" + /> + <el-table-column + label="浠诲姟鐘舵��" + align="center" + key="sendstate" + prop="sendstate" + width="120" + > + <template slot-scope="scope"> + <div v-if="scope.row.sendstate == 1"> + <el-tag type="primary" :disable-transitions="false" + >琚鍙�</el-tag + > + </div> + <div v-if="scope.row.sendstate == 2"> + <el-tag type="primary" :disable-transitions="false" + >寰呭彂閫�</el-tag + > + </div> + <div v-if="scope.row.sendstate == 3"> + <el-tag type="success" :disable-transitions="false" + >宸插彂閫佹湭棰嗗彇</el-tag + > + </div> + <div v-if="scope.row.sendstate == 4"> + <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag> + </div> + <div v-if="scope.row.sendstate == 5"> + <el-tag type="danger" :disable-transitions="false" + >鍙戦�佸け璐�</el-tag + > + </div> + <div v-if="scope.row.sendstate == 6"> + <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag> + </div> + </template> + </el-table-column> + <!-- <el-table-column + label="浠诲姟寮傚父璇存槑" + width="120" + align="center" + key="remark" + prop="remark" --> + /> + + <el-table-column + label="浜哄伐澶勭悊鎰忚" + align="center" + key="suggest" + prop="suggest" + width="120" + > + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_suggest" + :value="scope.row.suggest" + /> + </template> + </el-table-column> + <el-table-column + label="闅忚浜哄憳" + align="center" + key="createBy" + prop="createBy" + width="120" + /> + <el-table-column + label="闅忚鏃堕棿" + sortable + align="center" + prop="finishtime" + width="160" + > + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.finishtime) }}</span> + </template> + </el-table-column> + <el-table-column + label="鍑洪櫌鏃ユ湡" + width="200" + align="center" + key="endtime" + prop="endtime" + > + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.endtime) }}</span> + </template></el-table-column + > + <el-table-column + label="搴旈殢璁挎棩鏈�" + width="200" + align="center" + key="longSendTime" + prop="longSendTime" + > + <template slot-scope="scope"> + <span>{{ formatTime(scope.row.longSendTime) }}</span> + </template></el-table-column + > + <el-table-column + label="鍑洪櫌澶╂暟" + width="120" + align="center" + key="endDay" + prop="endDay" + > + <template slot-scope="scope"> + <span>{{ scope.row.endDay ? scope.row.endDay + "澶�" : "" }}</span> + </template> + </el-table-column> + <el-table-column + label="韬唤璇佸彿鐮�" + width="200" + align="center" + key="sfzh" + prop="sfzh" + /> + <el-table-column + label="鑱旂郴鐢佃瘽" + width="200" + align="center" + key="phone" + prop="phone" + /> + <el-table-column + label="璐d换鎶ゅ+" + width="120" + align="center" + key="nurseName" + prop="nurseName" + /> + <el-table-column + label="涓绘不鍖荤敓" + width="120" + align="center" + key="drname" + prop="drname" + /> + + <!-- <el-table-column + label="鐥呭巻鍙�" + align="center" + sortable + key="medicalRecordNo" + prop="medicalRecordNo" + width="120" + /> --> + + <!-- <el-table-column label="骞撮緞" align="center" key="age" prop="age" /> --> + <!-- <el-table-column label="鎬у埆" align="center" key="sex" prop="sex" /> --> + <!-- <el-table-column label="搴婂彿" align="center" key="badNo" prop="badNo" /> --> + <el-table-column + label="绉戝" + align="center" + key="deptname" + prop="deptname" + width="120" + > + </el-table-column> + <el-table-column + label="鐥呭尯" + align="center" + key="leavehospitaldistrictname" + prop="leavehospitaldistrictname" + width="120" + > + </el-table-column> + + <!-- <el-table-column + label="鐤剧梾鍚嶇О" + align="center" + key="icdName" + prop="icdName" + width="120" + :show-overflow-tooltip="true" + > + </el-table-column> --> + + <el-table-column + label="鍑洪櫌闅忚妯℃澘鍚嶇О" + align="center" + key="templatename" + prop="templatename" + width="200" + /> + <el-table-column + label="浠诲姟鎵ц鏂瑰紡" + align="center" + key="preachform" + prop="preachform" + width="160" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <span v-for="item in scope.row.preachform">{{ item }}銆� </span> + </template> + </el-table-column> + <!-- <el-table-column + label="浠诲姟鍙戦�佹祦绋�" + align="center" + key="serviceSubtaskRecordList" + prop="serviceSubtaskRecordList" + width="160" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <span v-for="item in scope.row.serviceSubtaskRecordList" + >{{ item.remark }}銆� + </span> + </template> + </el-table-column> --> + <el-table-column + label="浠诲姟缁撴灉璇存槑" + width="200" + align="center" + key="remark" + prop="remark" + > + <template slot-scope="scope" v-if="scope.row.remark"> + <el-tag + type="warning" + v-if="scope.row.sendstate != 5 && scope.row.sendstate != 4" + >{{ scope.row.remark }}</el-tag + > + <el-tag type="warning" v-else>{{ scope.row.remark }}</el-tag> + </template> + </el-table-column> + <el-table-column + label="鎿嶄綔" + align="center" + fixed="right" + width="200" + class-name="small-padding fixed-width" + > + <template slot-scope="scope"> + <!-- <el-tooltip + class="item" + effect="dark" + content="閲嶆柊闅忚" + placement="top" + > + <el-button + size="medium" + type="text" + @click="followupvisit(scope.row)" + v-hasPermi="['system:user:edit']" + ><span class="button-bb" + ><i class="el-icon-s-promotion"></i></span + ></el-button> + </el-tooltip> --> + <!-- <el-tooltip + class="item" + effect="dark" + content="鍋滄" + placement="top" + > + <el-button + size="medium" + type="text" + @click="handlestop(scope.row)" + v-hasPermi="['system:user:edit']" + ><span class="button-sc"><i class="el-icon-delete"></i></span + ></el-button> + </el-tooltip> --> + <el-button size="medium" type="text" @click="Seedetails(scope.row)" + ><span class="button-zx" + ><i class="el-icon-s-order"></i>鏌ョ湅璇︽儏</span + ></el-button + > + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total > 0" + :total="total" + :page.sync="topqueryParams.pageNum" + :limit.sync="topqueryParams.pageSize" + @pagination="getList" + /> + </el-row> + <!-- 娣诲姞鎴栦慨鏀归棬璇婇殢璁垮璇濇 --> + <el-dialog + :title="title" + :visible.sync="addalteropen" + width="700px" + append-to-body + > + <el-form ref="form" :model="form" label-width="100px"> + <el-row :gutter="20"> + <el-col :span="12" + ><el-form-item label="浠诲姟鍚嶇О"> + <el-input v-model="form.name"></el-input> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="24" + ><el-form-item label="鎵�灞炵瀹�"> + <el-select v-model="form.region" placeholder="璇烽�夋嫨绉戝"> + <el-option label="鍖哄煙涓�" value="shanghai"></el-option> + <el-option label="鍖哄煙浜�" value="beijing"></el-option> + </el-select> </el-form-item></el-col + ></el-row> + <el-row :gutter="20"> + <el-col :span="24" + ><el-form-item label="闅忚绫诲瀷"> + <el-select v-model="form.region" placeholder="璇烽�夋嫨闅忚绫诲瀷"> + <el-option label="鍖哄煙涓�" value="shanghai"></el-option> + <el-option label="鍖哄煙浜�" value="beijing"></el-option> + </el-select> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="24"> + <el-form-item label="鏈嶅姟妯″潡"> + <el-select v-model="form.region" placeholder="璇烽�夋嫨妯″潡"> + <el-option label="鍖哄煙涓�" value="shanghai"></el-option> + <el-option label="鍖哄煙浜�" value="beijing"></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="24"> + <el-form-item label="闂ㄨ瘖闅忚瑕佹眰"> + <el-input type="textarea" v-model="form.desc"></el-input> + </el-form-item> + </el-col> + </el-row> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">鎻� 浜�</el-button> + <el-button @click="cancel">杩� 鍥�</el-button> + </div> + </el-dialog> + <!-- 淇敼鍙戦�佹椂闂村璇濇 --> + <el-dialog + title="鍙戦�佹椂闂磋缃�" + :visible.sync="modificationVisible" + width="45%" + > + <div style="margin-bottom: 20px; color: red"> + 缁熶竴淇敼褰撳ぉ鏈彂閫佺殑浠诲姟鏃堕棿 + </div> + + <el-form + :model="ruleForm" + :rules="rules" + ref="ruleForm" + label-width="120px" + class="demo-ruleForm" + > + <el-form-item label="鍙戦�佹棩鏈�"> + <el-date-picker + v-model="ruleForm.value1" + type="date" + placeholder="閫夋嫨鏃ユ湡" + > + </el-date-picker> + </el-form-item> + + <el-form-item label="鏃堕棿娈�" prop="type"> + <el-checkbox-group v-model="ruleForm.type"> + <el-checkbox label="涓婂崍" name="type"></el-checkbox> + <el-checkbox label="涓嬪崍" name="type"></el-checkbox> + <el-checkbox label="鏅氫笂" name="type"></el-checkbox> + </el-checkbox-group> + </el-form-item> + <el-form-item label="涓婂崍鏃堕棿鍖洪棿" required> + <el-time-picker + is-range + v-model="ruleForm.value2" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + placeholder="閫夋嫨鏃堕棿鑼冨洿" + > + </el-time-picker> + </el-form-item> + <el-form-item label="涓嬪崍鏃堕棿鍖洪棿" required> + <el-time-picker + is-range + v-model="ruleForm.value3" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + placeholder="閫夋嫨鏃堕棿鑼冨洿" + > + </el-time-picker> + </el-form-item> + <el-form-item label="鏅氫笂鏃堕棿鍖洪棿" required> + <el-time-picker + is-range + v-model="ruleForm.value4" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + placeholder="閫夋嫨鏃堕棿鑼冨洿" + > + </el-time-picker> + </el-form-item> + </el-form> + + <span slot="footer" class="dialog-footer"> + <el-button @click="modificationVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="modificationVisible = false" + >纭� 瀹�</el-button + > + </span> + </el-dialog> + </div> +</template> + +<script> +import { + listUser, + getUser, + delUser, + addUser, + updateUser, + resetUserPwd, + changeUserStatus, +} from "@/api/system/user"; +import { getTaskservelist } from "@/api/AiCentre/index"; +import Treeselect from "@riophae/vue-treeselect"; +import store from "@/store"; +import "@riophae/vue-treeselect/dist/vue-treeselect.css"; + +export default { + name: "Discharge", + dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"], + components: { Treeselect }, + data() { + return { + // 閬僵灞� + loading: true, + // 閫変腑鏁扮粍 + ids: [], + // 闈炲崟涓鐢� + single: true, + // 闈炲涓鐢� + multiple: true, + // 鏄剧ず鎼滅储鏉′欢 + showSearch: true, + // 鎬绘潯鏁� + total: 0, + // 鐢ㄦ埛琛ㄦ牸鏁版嵁 + userList: null, + // 寮瑰嚭灞傛爣棰� + title: "鏂板闂ㄨ瘖闅忚", + // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 + addalteropen: false, + // 淇敼鍙戦�佹椂闂村璇濇 + modificationVisible: false, + // 閮ㄩ棬鍚嶇О + deptName: undefined, + // 榛樿瀵嗙爜 + initPassword: undefined, + // 鏃ユ湡鑼冨洿 + dateRange: [], + // 宀椾綅閫夐」 + postOptions: [], + ruleForm: { + type: [], + }, + dynamicTags: ["閫夐」涓�", "閫夐」浜�", "閫夐」涓�"], //閫夐」 + inputVisible: false, + ycvalue: "", + yfsvalue: "", + inputValue: "", + preachform: "", + previewVisible: false, //闂ㄨ瘖闅忚棰勮寮规 + radio: "", + radios: [], + previewtype: 2, //棰勮闂ㄨ瘖闅忚绫诲瀷 + total: 0, // 鎬绘潯鏁� + ImportQuantity: 999, //瀵奸棬璇婇殢璁挎暟閲� + //棰勮闂ㄨ瘖闅忚淇℃伅 + previewvalue: { + username: "杩欎釜鍖荤敓瀵逛綘鎬庝箞鏍�", + }, + value: [], + list: [], + + sourcetype: [ + { + value: 1, + label: "绉戝", + children: [], + }, + { + value: 2, + label: "鐥呭尯", + children: [], + }, + { + value: 3, + label: "鍏ㄩ儴", + }, + ], + loading: false, + cardlist: [ + { + name: "鍑洪櫌鏈嶅姟鎬婚噺", + value: 0, + }, + { + name: "鎮h�呰繃婊�", + value: 0, + }, + { + name: "搴旈殢璁�", + value: 0, + }, + + // { + // name: "寮傚父", + // value: 0, + // }, + { + name: "鍙戦�佸け璐�", + value: 0, + }, + { + name: "寰呭彂閫�", + value: 0, + }, + { + name: "宸插彂閫�", + value: 0, + }, + + // { + // name: "宸插彂閫佹湭棰嗗彇", + // value: 0, + // }, + ], + + // 琛ㄥ崟鍙傛暟 + form: { + phonenumber: "", + totagid: "", + types: "", + nickName: "", + qystatus: "", + btstatus: "", + }, + // 鏌ヨ鍙傛暟 + topqueryParams: { + pageNum: 1, + pageSize: 10, + serviceType: 9, + searchscope: 3, + scopetype: [], + leaveldeptcodes: [], + leavehospitaldistrictcodes: [], + }, + propss: { multiple: true }, + options: [], + + topicoptions: [ + { + value: 1, + label: "琚鍙�", + }, + { + value: 2, + label: "寰呭彂閫�", + }, + { + value: 3, + label: "宸插彂閫佹湭棰嗗彇", + }, + { + value: 4, + label: "涓嶆墽琛�", + }, + { + value: 5, + label: "鍙戦�佸け璐�", + }, + { + value: 6, + label: "宸插畬鎴�", + }, + ], + topicoptionsyj: [ + { + value: 1, + label: "寮傚父", + }, + { + value: 0, + label: "姝e父", + }, + ], + errtype: "", + leavehospitaldistrictcode: "", + serviceState: [], + checkboxlist: [], + // 琛ㄥ崟鏍¢獙 + rules: {}, + }; + }, + watch: {}, + created() { + this.serviceState = store.getters.serviceState; + this.checkboxlist = store.getters.checkboxlist; + this.errtype = this.$route.query.errtype; + this.leavehospitaldistrictcode = + this.$route.query.leavehospitaldistrictcode; + this.sourcetype[0].children = store.getters.belongDepts.map((dept) => { + return { + label: dept.deptName, + value: dept.deptCode, + }; + }); + this.sourcetype[1].children = store.getters.belongWards.map((dept) => { + return { + label: dept.districtName, + value: dept.districtCode, + }; + }); + if (this.errtype) { + this.toleadExport(2); + } else { + this.getList(1); + } + this.getConfigKey("sys.user.initPassword").then((response) => { + this.initPassword = response.msg; + }); + }, + activated() { + this.getList(1); + }, + methods: { + /** 鏌ヨ闂ㄨ瘖闅忚鏈嶅姟鍒楄〃 */ + getList(refresh) { + // 榛樿鍏ㄩ儴 + if (this.topqueryParams.searchscope == 3) { + this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.topqueryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + } + // 鎺ュ彈寮傚父璺宠浆 + if (this.errtype) { + this.topqueryParams.leavehospitaldistrictcodes.push( + this.leavehospitaldistrictcode + ); + console.log(this.topqueryParams.leavehospitaldistrictcodes, "11"); + } + this.loading = true; + getTaskservelist(this.topqueryParams).then((response) => { + this.userList = response.rows[0].serviceSubtaskList; + this.total = response.total; + if (refresh) { + this.cardlist[0].value = + Number(response.rows[0].wzx) + Number(response.rows[0].ysf); + this.cardlist[1].value = response.rows[0].wzx; + this.cardlist[2].value = response.rows[0].ysf; + this.ycvalue = response.rows[0].yc; + this.cardlist[3].value = response.rows[0].fssb; + this.cardlist[4].value = response.rows[0].dfs; + this.cardlist[5].value = response.rows[0].yfs2; + this.yfsvalue = response.rows[0].yfs; + } + this.loading = false; + this.userList.forEach((item) => { + let idArray = null; + if (item.endtime) { + item.endDay = this.daysBetween(item.endtime); + } + + if (item.preachform) { + if (item.endtime) { + item.preachformson = item.preachform; + idArray = item.preachform.split(","); + } + + item.preachform = idArray.map((value) => { + // 鏌ユ壘id瀵瑰簲鐨勫璞� + const item = this.checkboxlist.find( + (item) => item.value == value + ); + // 濡傛灉鎵惧埌瀵瑰簲鐨刬d锛岃繑鍥瀕abel鍊硷紝鍚﹀垯杩斿洖null + return item ? item.label : null; + }); + } + }); + this.total = response.total; + }); + }, + // 鏌ョ湅闂ㄨ瘖闅忚璇︽儏 + Referencequestion(row) { + this.previewVisible = true; + }, + // 娣诲姞寮规鎼滅储 + remoteMethod(query) { + if (query !== "") { + this.loading = true; + setTimeout(() => { + this.loading = false; + this.options = this.list.filter((item) => { + return item.label.toLowerCase().indexOf(query.toLowerCase()) > -1; + }); + }, 200); + } else { + this.options = []; + } + }, + // 闂ㄨ瘖闅忚鐘舵�佷慨鏀� + handleStatusChange(row) { + let text = row.status === "0" ? "鍚敤" : "鍋滅敤"; + this.$modal + .confirm('纭瑕�"' + text + '""' + row.userName + '"鐢ㄦ埛鍚楋紵') + .then(function () { + return changeUserStatus(row.userId, row.status); + }) + .then(() => { + this.$modal.msgSuccess(text + "鎴愬姛"); + }) + .catch(function () { + row.status = row.status === "0" ? "1" : "0"; + }); + }, + // 鍙栨秷鎸夐挳 + cancel() { + this.addalteropen = false; + this.reset(); + }, + // 琛ㄥ崟閲嶇疆 + reset() { + this.form = { + userId: undefined, + deptId: undefined, + userName: undefined, + nickName: undefined, + password: undefined, + phonenumber: undefined, + email: undefined, + sex: undefined, + status: "0", + remark: undefined, + postIds: [], + roleIds: [], + }; + this.resetForm("form"); + }, + /** 鎼滅储鎸夐挳鎿嶄綔 */ + handleQuery(refresh) { + if (this.topqueryParams.searchscope == 3) { + this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map( + (obj) => obj.deptCode + ); + this.topqueryParams.leavehospitaldistrictcodes = + store.getters.belongWards.map((obj) => obj.districtCode); + } + this.topqueryParams.pageNum = 1; + this.topqueryParams.startOutHospTime = this.dateRange[0]; + this.topqueryParams.endOutHospTime = this.dateRange[1]; + + this.getList(refresh); + }, + // 鎮h�呰寖鍥村鐞� + handleChange(value) { + let type = value[0]; + let code = value.slice(-1)[0]; + this.topqueryParams.leavehospitaldistrictcodes = []; + this.topqueryParams.leaveldeptcodes = []; + + if (type == 1) { + this.topqueryParams.leaveldeptcodes.push(code); + this.topqueryParams.leavehospitaldistrictcodes = []; + this.topqueryParams.searchscope = 1; + } else if (type == 2) { + this.topqueryParams.leavehospitaldistrictcodes.push(code); + this.topqueryParams.leaveldeptcodes = []; + this.topqueryParams.searchscope = 2; + } else { + this.topqueryParams.searchscope = 3; + } + }, + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + resetQuery() { + this.dateRange = []; + this.topqueryParams = { + pageNum: 1, + pageSize: 10, + serviceType: 9, + searchscope: 2, + }; + this.handleQuery(1); + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange(selection) { + this.ids = selection.map((item) => item.userId); + this.single = selection.length != 1; + this.multiple = !selection.length; + }, + //鍒犻櫎閫夐」 + handleClose(tag) { + this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); + }, + //瑙﹀彂鏂板杈撳叆 + showInput() { + this.inputVisible = true; + this.$nextTick((_) => { + this.$refs.saveTagInput.$refs.input.focus(); + }); + }, + //鑾峰彇澶卞幓鐒︾偣瑙﹀彂 + handleInputConfirm() { + let inputValue = this.inputValue; + if (inputValue) { + this.dynamicTags.push(inputValue); + } + this.inputVisible = false; + this.inputValue = ""; + }, + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd() { + this.$router.push({ + path: "/followvisit/QuestionnaireTask", + query: { + type: 2, + serviceType: 9, + }, + }); + }, + + /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ + handleResetPwd(row) { + this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + closeOnClickModal: false, + inputPattern: /^.{5,20}$/, + inputErrorMessage: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", + }) + .then(({ value }) => { + resetUserPwd(row.userId, value).then((response) => { + this.$modal.msgSuccess("淇敼鎴愬姛锛屾柊瀵嗙爜鏄細" + value); + }); + }) + .catch(() => {}); + }, + + /** 鎻愪氦鎸夐挳 */ + submitForm: function () { + this.$refs["form"].validate((valid) => { + if (valid) { + if (this.form.userId != undefined) { + updateUser(this.form).then((response) => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.open = false; + this.getList(1); + }); + } else { + addUser(this.form).then((response) => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.open = false; + this.getList(1); + }); + } + } + }); + }, + /** 鍒犻櫎鎸夐挳鎿嶄綔 */ + handleDelete(row) { + const userIds = row.userId || this.ids; + this.$modal + .confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」锛�') + .then(function () { + return delUser(userIds); + }) + .then(() => { + this.getList(1); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); + }, + // 鍏ㄩ儴鍋滄 + AllStop() { + this.$modal + .confirm("鏄惁鍋滄鍏ㄩ儴浠诲姟锛�") + .then(function () { + return console.log("鍋滄鎴愬姛"); + }) + .then(() => { + this.getList(1); + this.$modal.msgWarning("鍋滄鎴愬姛"); + }) + .catch(() => {}); + }, + // 鍏ㄩ儴寮�濮� + AllStarted() { + this.$modal + .confirm("鏄惁寮�鍚叏閮ㄤ换鍔★紵") + .then(function () { + return console.log("寮�鍚垚鍔�"); + }) + .then(() => { + this.getList(1); + this.$modal.msgSuccess("寮�鍚垚鍔�"); + }) + .catch(() => {}); + }, + // 浠诲姟閲嶇疆 + TaskReset() { + this.$modal + .confirm("鏄惁閲嶇疆閫変腑鐨勪换鍔¢」锛�") + .then(function () { + return console.log("閫変腑鎴愬姛"); + }) + .then(() => { + this.getList(1); + this.$modal.msgSuccess("閲嶇疆鎴愬姛"); + }) + .catch(() => {}); + }, + // 璁剧疆鍙戦�佹椂闂� + Sendtimesetting() { + this.modificationVisible = true; + }, + // 璺宠浆璇︽儏椤� + Seedetails(row) { + let type = ""; + console.log(row, "rwo"); + if (row.preachformson) { + if (row.preachformson.includes("3")) { + type = 1; + console.log(type, "rwo"); + } + } + this.$router.push({ + path: "/followvisit/record/detailpage/", + query: { + taskid: row.taskid, + patid: row.patid, + id: row.id, + Voicetype: type, + }, + }); + }, + // 渚挎嵎鎸夐挳 + toleadExport(too) { + if (too == 1) { + this.topqueryParams.sendstate = 4; + this.topqueryParams.excep = null; + } else if (too == 2) { + this.topqueryParams.excep = 1; + } + this.handleQuery(); + }, + /** 瀵煎嚭鎸夐挳鎿嶄綔 */ + handleExport() { + this.topqueryParams.pageNum = null; + this.topqueryParams.pageSize = null; + this.download( + "smartor/serviceSubtask/export", + { + ...this.topqueryParams, + }, + `user_${new Date().getTime()}.xlsx` + ); + }, + // 寮傚父鍒楁覆鏌� + tableRowClassName({ row, rowIndex }) { + if (row.excep == 1) { + return "warning-row"; + } + return ""; + }, + }, +}; +</script> + +<style lang="scss" scoped> +.el-button--primary.is-plain { + color: #ffffff; + background: #409eff; + border-color: #4fabe9; +} + +.document { + // width: 100px; + height: 50px; +} +::v-deep.el-table .warning-row { + background: #eec4c4; +} + +.documentf { + display: flex; + justify-content: flex-end; +} + +.download { + text-align: center; + + .el-upload__tip { + font-size: 23px; + } + + .el-upload__text { + font-size: 23px; + } +} + +.uploading { + margin-top: 20px; + margin: 20px; + padding: 30px; + background: #ffffff; + 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); +} + +.el-tag + .el-tag { + margin-left: 10px; +} + +.button-new-tag { + margin-left: 10px; + height: 32px; + line-height: 30px; + padding-top: 0; + padding-bottom: 0; +} + +.input-new-tag { + width: 90px; + margin-left: 10px; + vertical-align: bottom; +} + +.drexamine { + display: flex; + align-items: center; + justify-content: center; + padding: 30px; + background: #daeaf5; + + img { + width: 100px; + height: 100px; + } +} + +.qrcode-dialo { + // text-align: center; + // display: flex; + margin: 20px; + padding: 30px; + background: #edf1f7; + 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); + + .topic-dev { + margin-bottom: 25px; + font-size: 20px !important; + + .dev-text { + margin-bottom: 10px; + } + } +} +::v-deep.leftvlue .el-card__body { + background: #d0e9fd; +} +::v-deep.leftvlue .el-card__body:hover { + background: #8dc8f8; + cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ +} +::v-deep.errleftvlue .el-card__body { + background: #fdd0d7; +} +::v-deep.errleftvlue .el-card__body:hover { + background: #f88d96; + cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ +} + +::v-deep.ysfleftvlue .el-card__body { + background: #d0fdd8; +} +::v-deep.ysfleftvlue .el-card__body:hover { + background: #8df8a4; + cursor: pointer; /* 榧犳爣鎮诞鏃跺彉涓烘墜褰� */ +} +.button-bb { + font-weight: 500; + background-color: #2ba05c; + padding: 5px; + border-radius: 1px; + color: #ffffff; +} +.button-xq { + font-weight: 500; + background-color: #409eff; + padding: 5px; + border-radius: 1px; + color: #ffffff; +} +.button-sc { + font-weight: 500; + background-color: #dd302a; + padding: 5px; + border-radius: 1px; + color: #ffffff; +} +.button-zx { + background: #4fabe9; + padding: 5px; + border-radius: 1px; + color: #ffffff; +} + +::v-deep.el-radio-group { + span { + font-size: 24px; + } +} + +// 閫夐」瀛椾綋鏀惧ぇ +// ::v-deep.el-checkbox-group { +// span { +// font-size: 24px; +// } +// } +</style> diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue index 93e2318..d7b43ed 100644 --- a/src/views/repositoryai/templateku/configurat/index.vue +++ b/src/views/repositoryai/templateku/configurat/index.vue @@ -1806,7 +1806,7 @@ if (!this.ruleForm.assortid) { this.ruleForm.assortid = -1; } - this.ruleForm.labelInfo = JSON.stringify(this.dynamicTags); + // this.ruleForm.labelInfo = JSON.stringify(this.dynamicTags); if (Array.isArray(this.ruleForm.suitway)) this.ruleForm.suitway = this.ruleForm.suitway.join(","); if (Array.isArray(this.ruleForm.campus)) diff --git a/vue.config.js b/vue.config.js index 9e0a97b..2324694 100644 --- a/vue.config.js +++ b/vue.config.js @@ -35,7 +35,7 @@ proxy: { // detail: https://cli.vuejs.org/config/#devserver-proxy [process.env.VUE_APP_BASE_API]: { - // target: `http://192.168.168.60:8095`, + // target: `http://192.168.2.13:8095`, // target: `http://10.202.20.185:8095`, // target: `http://192.168.100.184:8095`, target:`http://localhost:8095`, -- Gitblit v1.9.3