From ec64a69276a1a7fa64096d45e2f804fd38d99d17 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 19 二月 2025 10:50:13 +0800 Subject: [PATCH] 测试完成 --- src/views/followvisit/tasklist/index.vue | 18 src/views/followvisit/outpatient/index.vue | 9 src/views/followvisit/technology/index.vue | 1532 +++++++++++++++++++++++++ src/views/patient/physical/index.vue | 9 dist (2).zip | 0 dist.zip | 0 src/views/followvisit/SpecificDisease/index.vue | 9 src/views/patient/medtechnician/SpecializedService.vue | 2 src/views/patient/patient/outpatient.vue | 8 src/views/patient/patient/index.vue | 6 src/views/patient/medtechnician/PatientChart.vue | 12 src/views/patient/questionnaire/index.vue | 2 src/views/patient/subsequent/index.vue | 7 src/views/followvisit/record/index.vue | 1532 +++++++++++++++++++++++++ src/views/patient/propaganda/QuestionnaireTask.vue | 18 src/views/login.vue | 6 src/views/followvisit/record/detailpage/index.vue | 227 +- src/views/patient/patient/hospital.vue | 8 src/views/patient/patient/behospitalized.vue | 2 src/views/patient/propaganda/particty.vue | 14 src/api/AiCentre/external.js | 8 src/views/followvisit/discharge/index.vue | 112 + src/views/patient/ycquestionnaire/index.vue | 2 23 files changed, 3,316 insertions(+), 227 deletions(-) diff --git "a/dist \0502\051.zip" "b/dist \0502\051.zip" new file mode 100644 index 0000000..5f8350b --- /dev/null +++ "b/dist \0502\051.zip" Binary files differ diff --git a/dist.zip b/dist.zip new file mode 100644 index 0000000..bd6e0a3 --- /dev/null +++ b/dist.zip Binary files differ diff --git a/src/api/AiCentre/external.js b/src/api/AiCentre/external.js index 494e5e4..ea123af 100644 --- a/src/api/AiCentre/external.js +++ b/src/api/AiCentre/external.js @@ -92,4 +92,12 @@ data: data }); } +// 鏂板鏈嶅姟 +export function addserviceSubtask(data) { + return request({ + url: "/smartor/serviceSubtask/addSubTask", + method: "post", + data: data + }); +} diff --git a/src/views/followvisit/SpecificDisease/index.vue b/src/views/followvisit/SpecificDisease/index.vue index 808b250..a9479f0 100644 --- a/src/views/followvisit/SpecificDisease/index.vue +++ b/src/views/followvisit/SpecificDisease/index.vue @@ -17,7 +17,7 @@ font-weight: 600; " > - {{ item.value }} + {{ item.value ? item.value : 0 }} </div> </div> </el-card> @@ -217,9 +217,10 @@ size="medium" type="text" @click=" - $router.push({ - path: '/patient/indexls'+'?current='+scope.row.sfzh - }) + $router.push({ + path: '/patient/indexls/', + query: { sfzh: scope.row.sfzh }, + }) " ><span class="button-textsc">{{ scope.row.sendname diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue index e6ab23b..2dfd732 100644 --- a/src/views/followvisit/discharge/index.vue +++ b/src/views/followvisit/discharge/index.vue @@ -17,7 +17,7 @@ font-weight: 600; " > - {{ item.value }} + {{ item.value ? item.value : 0 }} </div> </div> </el-card> @@ -231,7 +231,8 @@ type="text" @click=" $router.push({ - path: '/patient/indexls'+'?current='+scope.row.sfzh + path: '/patient/indexls/', + query: { sfzh: scope.row.sfzh }, }) " ><span class="button-textsc">{{ @@ -665,45 +666,66 @@ <!-- 鍐嶆闅忚 --> <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible"> <el-form ref="form" :model="zcform" label-width="80px"> - <el-form-item label="鎮h�呭悕绉�"> - <el-input style="width: 400px" v-model="zcform.name"></el-input> - </el-form-item> <el-form-item label="浠诲姟鍚嶇О"> - <el-input style="width: 400px" v-model="zcform.name"></el-input> + <el-input + style="width: 400px" + disabled + v-model="zcform.taskName" + ></el-input> </el-form-item> + <el-form-item label="鎮h�呭悕绉�"> + <el-input + style="width: 400px" + disabled + v-model="zcform.sendname" + ></el-input> + </el-form-item> + <el-form-item label="骞撮緞"> + <el-input + style="width: 400px" + disabled + v-model="zcform.age" + ></el-input> + </el-form-item> + <el-form-item label="绉戝"> + <el-input + style="width: 400px" + disabled + v-model="zcform.deptname" + ></el-input> + </el-form-item> + <el-form-item label="鐥呭尯"> + <el-input + style="width: 400px" + disabled + v-model="zcform.leavehospitaldistrictname" + ></el-input> + </el-form-item> + <el-form-item label="闅忚鏂瑰紡"> <el-radio-group v-model="zcform.resource"> <el-radio label="1">鏈梾鍖洪殢璁�</el-radio> <el-radio label="2">闅忚涓績闅忚</el-radio> </el-radio-group> </el-form-item> - <el-form-item label="鍗冲埢鍙戦��"> + <!-- <el-form-item label="鍗冲埢鍙戦��"> <el-switch v-model="zcform.delivery"></el-switch> + </el-form-item> --> + <el-form-item label="闅忚鏃堕棿"> + <el-date-picker + type="date" + placeholder="閫夋嫨鏃ユ湡" + v-model="zcform.date1" + style="width: 100%" + ></el-date-picker> </el-form-item> - <el-form-item label="闅忚鏃堕棿" v-if="!zcform.delivery"> - <el-col :span="11"> - <el-date-picker - type="date" - placeholder="閫夋嫨鏃ユ湡" - v-model="zcform.date1" - style="width: 100%" - ></el-date-picker> - </el-col> - <el-col class="line" :span="2">-</el-col> - <el-col :span="11"> - <el-time-picker - placeholder="閫夋嫨鏃堕棿" - v-model="zcform.date2" - style="width: 100%" - ></el-time-picker> - </el-col> + <el-form-item label="闅忚璁板綍"> + <el-input type="textarea" v-model="zcform.remark"></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="dialogFormVisible = false" - >纭� 瀹�</el-button - > + <el-button type="primary" @click="setupsubtask">纭鍒涘缓鏈嶅姟</el-button> </div> </el-dialog> </div> @@ -711,15 +733,13 @@ <script> import { - listUser, - getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus, } from "@/api/system/user"; -import { getTaskservelist, buidegetTasklist } from "@/api/AiCentre/index"; +import { getTaskservelist, buidegetTasklist,addserviceSubtask } from "@/api/AiCentre/index"; import Treeselect from "@riophae/vue-treeselect"; import store from "@/store"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; @@ -1009,7 +1029,8 @@ let obj = { pageNum: 1, pageSize: 10, - leavehospitaldistrictcodes: this.topqueryParams.leavehospitaldistrictcodes, + leavehospitaldistrictcodes: + this.topqueryParams.leavehospitaldistrictcodes, sendstates: [2, 3], leaveldeptcodes: this.topqueryParams.leaveldeptcodes, }; @@ -1306,7 +1327,8 @@ }); }, // 鍐嶆闅忚 - followupvisit() { + followupvisit(row) { + this.zcform = row; this.dialogFormVisible = true; }, onSubmit() {}, @@ -1328,7 +1350,7 @@ }).then((res) => { if (res.code == 200) { objson.sendstate = 4; - objson.remark = '鏈嶅姟鏆傚仠'; + objson.remark = "鏈嶅姟鏆傚仠"; Editsingletaskson(objson).then((res) => { if (res.code) { this.$modal.msgSuccess("璁板綍鎴愬姛"); @@ -1369,6 +1391,30 @@ } return ""; }, + // 鍒涘缓鍐嶆闅忚鏈嶅姟 + setupsubtask() { + console.log(this.zcform); + let form = structuredClone(this.zcform); + form.longSendTime = this.formatTime(form.date1); + if (form.resource) { + if (form.resource == 2) { + form.serviceType = 10; + } + } else { + this.$modal.msgError("鏈�夋嫨闅忚鏂瑰紡"); + } + form.id = null; + form.sendstate = 2; + form.preachform = form.preachformson; + addserviceSubtask(form).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("鍒涘缓鎴愬姛"); + }else{ + this.$modal.msgError("鍒涘缓澶辫触"); + } + this.dialogFormVisible=false; + }); + }, }, }; </script> diff --git a/src/views/followvisit/outpatient/index.vue b/src/views/followvisit/outpatient/index.vue index 6794650..11b5ce3 100644 --- a/src/views/followvisit/outpatient/index.vue +++ b/src/views/followvisit/outpatient/index.vue @@ -17,7 +17,7 @@ font-weight: 600; " > - {{ item.value }} + {{ item.value ? item.value : 0 }} </div> </div> </el-card> @@ -217,9 +217,10 @@ size="medium" type="text" @click=" - $router.push({ - path: '/patient/indexls'+'?current='+scope.row.sfzh - }) + $router.push({ + path: '/patient/indexls/', + query: { sfzh: scope.row.sfzh }, + }) " ><span class="button-textsc">{{ scope.row.sendname diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue index 1438f7c..c4eaf3b 100644 --- a/src/views/followvisit/record/detailpage/index.vue +++ b/src/views/followvisit/record/detailpage/index.vue @@ -14,7 +14,7 @@ @click="getTaskservelist()" >鏌ョ湅鎮h�呭叏閮ㄦ湇鍔�</el-button > - <el-button v-else type="success" @click="getTaskservelist(taskid)" + <el-button v-else type="success" @click="getTaskservelist(id)" >鏌ョ湅鎮h�呮湰娆℃湇鍔′俊鎭�</el-button > </div> @@ -64,9 +64,12 @@ <el-tag type="danger" :disable-transitions="false" >鍙戦�佸け璐�</el-tag > - </div><div v-if="scope.row.sendstate == 6"> - <el-tag type="success" :disable-transitions="false">宸插畬鎴�</el-tag> - </div> + </div> + <div v-if="scope.row.sendstate == 6"> + <el-tag type="success" :disable-transitions="false" + >宸插畬鎴�</el-tag + > + </div> </template> </el-table-column> <el-table-column @@ -156,7 +159,7 @@ width="210" > </el-table-column> - <!-- <el-table-column + <el-table-column label="鎿嶄綔" fixed="right" align="center" @@ -170,11 +173,11 @@ @click="Seedetails(scope.row)" v-hasPermi="['system:user:edit']" ><span class="button-zx" - ><i class="el-icon-s-order"></i>鏌ョ湅鏈嶅姟</span + ><i class="el-icon-s-order"></i>鏌ョ湅鏈嶅姟缁撴灉</span ></el-button > </template> - </el-table-column> --> + </el-table-column> </el-table> </div> </div> @@ -214,7 +217,7 @@ </div> </el-form-item> </el-form> - <el-collapse v-model="activeNames" @change="handleChange"> + <el-collapse> <el-collapse-item title="鏌ョ湅褰撳墠鎮h�呬俊鎭�" name="1"> <div class="detailed"> <el-form ref="userform" :model="userform" label-width="100px"> @@ -264,36 +267,10 @@ :key="tag.tagname" type="success" v-for="tag in dynamicTags" - v-if="tag.isoperation != 3" :disable-transitions="false" > {{ tag.tagname }} </el-tag> - <el-select - v-if="inputVisible" - v-model="inputValue" - @change="handleInputConfirm" - filterable - allow-create - default-first-option - placeholder="璇烽�夋嫨/鏌ヨ" - > - <el-option - v-for="item in options" - :key="item.tagid" - :label="item.tagname" - :value="item.tagname" - > - </el-option> - </el-select> - - <el-button - v-else - class="button-new-tag" - size="small" - @click="showInput" - >+ 鏂板鏍囩</el-button - > </div> </el-form-item> </el-col> @@ -524,56 +501,63 @@ </el-tabs> </div> <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible"> - <el-form ref="form" :model="zcform" label-width="80px"> + <el-form ref="form" :model="form" label-width="80px"> + <el-form-item label="浠诲姟鍚嶇О"> + <el-input + style="width: 400px" + disabled + v-model="form.taskName" + ></el-input> + </el-form-item> <el-form-item label="鎮h�呭悕绉�"> - <el-input style="width: 400px" v-model="zcform.name"></el-input> + <el-input + style="width: 400px" + disabled + v-model="form.sendname" + ></el-input> </el-form-item> <el-form-item label="骞撮緞"> - <el-input style="width: 400px" v-model="zcform.name"></el-input> - </el-form-item> - <el-form-item label="璇婃柇"> - <el-input style="width: 400px" v-model="zcform.name"></el-input> + <el-input style="width: 400px" disabled v-model="form.age"></el-input> </el-form-item> <el-form-item label="绉戝"> - <el-input style="width: 400px" v-model="zcform.name"></el-input> + <el-input + style="width: 400px" + disabled + v-model="form.deptname" + ></el-input> </el-form-item> <el-form-item label="鐥呭尯"> - <el-input style="width: 400px" v-model="zcform.name"></el-input> + <el-input + style="width: 400px" + disabled + v-model="form.leavehospitaldistrictname" + ></el-input> </el-form-item> <el-form-item label="闅忚鏂瑰紡"> - <el-radio-group v-model="zcform.resource"> + <el-radio-group v-model="form.resource"> <el-radio label="1">鏈梾鍖洪殢璁�</el-radio> <el-radio label="2">闅忚涓績闅忚</el-radio> </el-radio-group> </el-form-item> - <el-form-item label="鍗冲埢鍙戦��"> + <!-- <el-form-item label="鍗冲埢鍙戦��"> <el-switch v-model="zcform.delivery"></el-switch> + </el-form-item> --> + <el-form-item label="闅忚鏃堕棿"> + <el-date-picker + type="date" + placeholder="閫夋嫨鏃ユ湡" + v-model="form.date1" + style="width: 100%" + ></el-date-picker> </el-form-item> - <el-form-item label="闅忚鏃堕棿" v-if="!zcform.delivery"> - <el-col :span="11"> - <el-date-picker - type="date" - placeholder="閫夋嫨鏃ユ湡" - v-model="zcform.date1" - style="width: 100%" - ></el-date-picker> - </el-col> - <el-col class="line" :span="2">-</el-col> - <el-col :span="11"> - <el-time-picker - placeholder="閫夋嫨鏃堕棿" - v-model="zcform.date2" - style="width: 100%" - ></el-time-picker> - </el-col> + <el-form-item label="闅忚璁板綍"> + <el-input type="textarea" v-model="form.remark"></el-input> </el-form-item> </el-form> <div slot="footer" class="dialog-footer"> <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button> - <el-button type="primary" @click="dialogFormVisible = false" - >纭� 瀹�</el-button - > + <el-button type="primary" @click="setupsubtask">纭鍒涘缓鏈嶅姟</el-button> </div> </el-dialog> </div> @@ -583,6 +567,7 @@ import { getsearchrResults, getPersonVoices, + addserviceSubtask, getTaskservelist, getTaskFollowup, Editsingletaskson, @@ -631,22 +616,22 @@ this.Voicetype = this.$route.query.Voicetype; this.serviceType = this.$route.query.serviceType; - this.getTaskservelist(this.taskid); + this.getTaskservelist(this.id); }, methods: { // 鑾峰彇闂嵎鏁版嵁 - getsearchrResults() { + getsearchrResults(id) { getsearchrResults({ taskid: this.taskid, patid: this.patid, - subId: this.id, + subId: id ? id : this.id, isFinish: false, }).then((res) => { if (res.code === 200) { this.tableDatatop = res.data.scriptResult.script; this.tableDatatop.forEach((item) => { - console.log(item.scriptResultId,'scriptResultId'); + console.log(item.scriptResultId, "scriptResultId"); if (item.scriptResultId && item.scriptType != 2) { item.isoption = 3; @@ -675,11 +660,11 @@ }); }, // 鑾峰彇璇煶鏁版嵁 - getPersonVoices() { + getPersonVoices(id) { let obj = { taskid: this.taskid, patid: this.patid, - subId: this.id, + subId: id ? id : this.id, }; console.log(this.voiceDatatop, "111"); @@ -777,47 +762,45 @@ this.Editsingletasksonyic(excep); }, yuyingetdetail() { - this.tableDatatop.forEach((item, index) => { - console.log(item.scriptResult, "scriptResult"); - item.scriptResult = item.scriptResult.join("&"); - item.templatequestionnum = index + 1; - item.subId = this.id; - item.taskid = this.taskid; - item.asrtext = item.matchedtext; - if (!item.id) { - item.isoperation = 1; - } - item.patid = this.patid; - item.templateid = item.templateID; - }); - let obj ={ - serviceSubtaskDetailList: this.tableDatatop, - param1: this.taskid, - param2: this.patid, - subId: this.id, - } + this.tableDatatop.forEach((item, index) => { + console.log(item.scriptResult, "scriptResult"); + item.scriptResult = item.scriptResult.join("&"); + item.templatequestionnum = index + 1; + item.subId = this.id; + item.taskid = this.taskid; + item.asrtext = item.matchedtext; + if (!item.id) { + item.isoperation = 1; + } + item.patid = this.patid; + item.templateid = item.templateID; + }); + let obj = { + serviceSubtaskDetailList: this.tableDatatop, + param1: this.taskid, + param2: this.patid, + subId: this.id, + }; - addPersonVoices(obj).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("鏈嶅姟淇濆瓨鎴愬姛"); - } - }); - - }, + addPersonVoices(obj).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("鏈嶅姟淇濆瓨鎴愬姛"); + } + }); + }, // 鑾峰彇鎮h�呰褰� - getTaskservelist(taskid) { - this.taskid = taskid; - if (taskid) { + getTaskservelist(id) { + this.id = id; + if (id) { this.Whetherall = false; } else { this.Whetherall = true; } - console.log("111"); getTaskservelist({ patid: this.patid, - taskid: taskid, + subId: id, }).then((res) => { if (res.code == 200) { this.form = res.rows[0].serviceSubtaskList[0]; @@ -827,12 +810,10 @@ console.log(this.form.serviceType, "serviceType"); } - if (this.form.scriptType == 2) { - if (this.Voicetype) { - this.getPersonVoices(); - } else { - this.getsearchrResults(); - } + if (this.Voicetype) { + this.getPersonVoices(); + } else { + this.getsearchrResults(); } }); }, @@ -840,7 +821,7 @@ let objson = {}; getTaskservelist({ patid: this.patid, - taskid: this.taskid, + subId: this.id, }).then((res) => { if (res.code == 200) { objson = res.rows[0].serviceSubtaskList[0]; @@ -848,7 +829,7 @@ Editsingletaskson(objson).then((res) => { if (res.code) { this.$modal.msgSuccess("璁板綍鎴愬姛"); - this.getTaskservelist(this.taskid); + this.getTaskservelist(this.id); } }); } @@ -858,7 +839,7 @@ let objson = {}; getTaskservelist({ patid: this.patid, - taskid: this.taskid, + subId: this.id, }).then((res) => { if (res.code == 200) { objson = res.rows[0].serviceSubtaskList[0]; @@ -866,7 +847,7 @@ Editsingletaskson(objson).then((res) => { if (res.code) { this.$modal.msgSuccess("鏈嶅姟淇敼鎴愬姛"); - this.getTaskservelist(this.taskid); + this.getTaskservelist(this.id); } }); } @@ -922,7 +903,29 @@ } }); }, - + // 鍒涘缓鍐嶆闅忚鏈嶅姟 + setupsubtask() { + console.log(this.form); + let form = structuredClone(this.form); + form.longSendTime = this.formatTime(form.date1); + if (form.resource) { + if (form.resource == 2) { + form.serviceType = 10; + } + } else { + this.$modal.msgError("鏈�夋嫨闅忚鏂瑰紡"); + } + form.id = null; + form.sendstate = 2; + addserviceSubtask(form).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("鍒涘缓鎴愬姛"); + }else{ + this.$modal.msgError("鍒涘缓澶辫触"); + } + this.dialogFormVisible=false; + }); + }, updateScore(a, b, c) { console.log(a); console.log(b); diff --git a/src/views/followvisit/record/index.vue b/src/views/followvisit/record/index.vue new file mode 100644 index 0000000..f5dcf56 --- /dev/null +++ b/src/views/followvisit/record/index.vue @@ -0,0 +1,1532 @@ +<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 ? item.value : 0 }} + </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-col :span="1.5"> + <div class="documentf"> + <div class="document"> + <el-button + type="success" + plain + size="medium" + @click="buidegetTasklist()" + >寰呭姙鏈嶅姟</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="濮撳悕" + align="center" + key="sendname" + prop="sendname" + > + <template slot-scope="scope"> + <el-button + size="medium" + type="text" + @click=" + $router.push({ + path: '/patient/indexls/', + query: { sfzh: scope.row.sfzh }, + }) + " + ><span class="button-textsc">{{ + scope.row.sendname + }}</span></el-button + > + </template> + </el-table-column> + <el-table-column + label="浠诲姟鐘舵��" + align="center" + key="sendstate" + prop="sendstate" + width="120" + > + <template slot-scope="scope"> + <el-tooltip + class="item" + effect="dark" + :content="scope.row.remark" + placement="top-start" + > + <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> + </el-tooltip> + </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 + v-if="scope.row.sendstate == 1 || scope.row.sendstate == 2" + 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-remove-outline"></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> + <!-- 鍐嶆闅忚 --> + <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible"> + <el-form ref="form" :model="zcform" label-width="80px"> + <el-form-item label="鎮h�呭悕绉�"> + <el-input style="width: 400px" v-model="zcform.name"></el-input> + </el-form-item> + <el-form-item label="浠诲姟鍚嶇О"> + <el-input style="width: 400px" v-model="zcform.name"></el-input> + </el-form-item> + <el-form-item label="闅忚鏂瑰紡"> + <el-radio-group v-model="zcform.resource"> + <el-radio label="1">鏈梾鍖洪殢璁�</el-radio> + <el-radio label="2">闅忚涓績闅忚</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="鍗冲埢鍙戦��"> + <el-switch v-model="zcform.delivery"></el-switch> + </el-form-item> + <el-form-item label="闅忚鏃堕棿" v-if="!zcform.delivery"> + <el-col :span="11"> + <el-date-picker + type="date" + placeholder="閫夋嫨鏃ユ湡" + v-model="zcform.date1" + style="width: 100%" + ></el-date-picker> + </el-col> + <el-col class="line" :span="2">-</el-col> + <el-col :span="11"> + <el-time-picker + placeholder="閫夋嫨鏃堕棿" + v-model="zcform.date2" + style="width: 100%" + ></el-time-picker> + </el-col> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="dialogFormVisible = false" + >纭� 瀹�</el-button + > + </div> + </el-dialog> + </div> +</template> + +<script> +import { + listUser, + getUser, + delUser, + addUser, + updateUser, + resetUserPwd, + changeUserStatus, +} from "@/api/system/user"; +import { getTaskservelist, buidegetTasklist } 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, + dialogFormVisible: false, + // 鎬绘潯鏁� + total: 0, + // 鐢ㄦ埛琛ㄦ牸鏁版嵁 + userList: null, + // 寮瑰嚭灞傛爣棰� + title: "鏂板褰卞儚闅忚", + // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 + addalteropen: false, + // 淇敼鍙戦�佹椂闂村璇濇 + modificationVisible: false, + // 閮ㄩ棬鍚嶇О + deptName: undefined, + // 榛樿瀵嗙爜 + initPassword: undefined, + // 鏃ユ湡鑼冨洿 + dateRange: [], + // 宀椾綅閫夐」 + postOptions: [], + ruleForm: { + type: [], + }, + zcform: {}, + 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: 10, + 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; + }); + }, + buidegetTasklist(type) { + 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 + ); + } + let obj = { + pageNum: 1, + pageSize: 10, + leavehospitaldistrictcodes: + this.topqueryParams.leavehospitaldistrictcodes, + sendstates: [2, 3], + leaveldeptcodes: this.topqueryParams.leaveldeptcodes, + }; + buidegetTasklist(obj).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: 10, + 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: 10, + }, + }); + }, + + /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ + 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, + }, + }); + }, + // 鍐嶆闅忚 + followupvisit() { + this.dialogFormVisible = true; + }, + onSubmit() {}, + // 鏆傚仠鏈嶅姟 + handlestop(row) { + let objson = row; + this.$modal + .confirm( + '鏄惁纭鏆傚仠浠诲姟鍚嶇О涓�"' + + row.taskName + + '鎮h�呭悕绉颁负"' + + row.sendname + + '"鐨勬暟鎹」锛�' + ) + .then(() => { + getTaskservelist({ + patid: row.patid, + taskid: row.taskid, + }).then((res) => { + if (res.code == 200) { + objson.sendstate = 4; + objson.remark = "鏈嶅姟鏆傚仠"; + Editsingletaskson(objson).then((res) => { + if (res.code) { + this.$modal.msgSuccess("璁板綍鎴愬姛"); + this.getList(1); + } + }); + } + }); + }) + .catch(() => {}); + }, + // 渚挎嵎鎸夐挳 + 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: #b3a21f; + 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/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue index 5e5ae62..7045925 100644 --- a/src/views/followvisit/tasklist/index.vue +++ b/src/views/followvisit/tasklist/index.vue @@ -492,24 +492,12 @@ label: "浣撴闅忚", }, { - value: "6", - label: "婊℃剰搴﹁皟鏌�", - }, - { - value: "7", - label: "鎮h�呮棩甯告姤鍛�", - }, - { - value: "9", - label: "鎮h�呭紓甯告姤鍛�", + value: "11", + label: "鍖绘妧闅忚", }, { value: "10", - label: "涓撶梾闅忚", - }, - { - value: "8", - label: "鍏朵粬閫氱煡", + label: "涓撶闅忚", }, ], tasktopic: "2", //鏂板绫诲瀷 diff --git a/src/views/followvisit/technology/index.vue b/src/views/followvisit/technology/index.vue new file mode 100644 index 0000000..530f44c --- /dev/null +++ b/src/views/followvisit/technology/index.vue @@ -0,0 +1,1532 @@ +<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 ? item.value : 0 }} + </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-col :span="1.5"> + <div class="documentf"> + <div class="document"> + <el-button + type="success" + plain + size="medium" + @click="buidegetTasklist()" + >寰呭姙鏈嶅姟</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="濮撳悕" + align="center" + key="sendname" + prop="sendname" + > + <template slot-scope="scope"> + <el-button + size="medium" + type="text" + @click=" + $router.push({ + path: '/patient/indexls/', + query: { sfzh: scope.row.sfzh }, + }) + " + ><span class="button-textsc">{{ + scope.row.sendname + }}</span></el-button + > + </template> + </el-table-column> + <el-table-column + label="浠诲姟鐘舵��" + align="center" + key="sendstate" + prop="sendstate" + width="120" + > + <template slot-scope="scope"> + <el-tooltip + class="item" + effect="dark" + :content="scope.row.remark" + placement="top-start" + > + <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> + </el-tooltip> + </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 + v-if="scope.row.sendstate == 1 || scope.row.sendstate == 2" + 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-remove-outline"></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> + <!-- 鍐嶆闅忚 --> + <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible"> + <el-form ref="form" :model="zcform" label-width="80px"> + <el-form-item label="鎮h�呭悕绉�"> + <el-input style="width: 400px" v-model="zcform.name"></el-input> + </el-form-item> + <el-form-item label="浠诲姟鍚嶇О"> + <el-input style="width: 400px" v-model="zcform.name"></el-input> + </el-form-item> + <el-form-item label="闅忚鏂瑰紡"> + <el-radio-group v-model="zcform.resource"> + <el-radio label="1">鏈梾鍖洪殢璁�</el-radio> + <el-radio label="2">闅忚涓績闅忚</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="鍗冲埢鍙戦��"> + <el-switch v-model="zcform.delivery"></el-switch> + </el-form-item> + <el-form-item label="闅忚鏃堕棿" v-if="!zcform.delivery"> + <el-col :span="11"> + <el-date-picker + type="date" + placeholder="閫夋嫨鏃ユ湡" + v-model="zcform.date1" + style="width: 100%" + ></el-date-picker> + </el-col> + <el-col class="line" :span="2">-</el-col> + <el-col :span="11"> + <el-time-picker + placeholder="閫夋嫨鏃堕棿" + v-model="zcform.date2" + style="width: 100%" + ></el-time-picker> + </el-col> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="dialogFormVisible = false" + >纭� 瀹�</el-button + > + </div> + </el-dialog> + </div> +</template> + +<script> +import { + listUser, + getUser, + delUser, + addUser, + updateUser, + resetUserPwd, + changeUserStatus, +} from "@/api/system/user"; +import { getTaskservelist, buidegetTasklist } 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, + dialogFormVisible: false, + // 鎬绘潯鏁� + total: 0, + // 鐢ㄦ埛琛ㄦ牸鏁版嵁 + userList: null, + // 寮瑰嚭灞傛爣棰� + title: "鏂板褰卞儚闅忚", + // 鏄惁鏄剧ず淇敼銆佹坊鍔犲脊鍑哄眰 + addalteropen: false, + // 淇敼鍙戦�佹椂闂村璇濇 + modificationVisible: false, + // 閮ㄩ棬鍚嶇О + deptName: undefined, + // 榛樿瀵嗙爜 + initPassword: undefined, + // 鏃ユ湡鑼冨洿 + dateRange: [], + // 宀椾綅閫夐」 + postOptions: [], + ruleForm: { + type: [], + }, + zcform: {}, + 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: 11, + 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; + }); + }, + buidegetTasklist(type) { + 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 + ); + } + let obj = { + pageNum: 1, + pageSize: 10, + leavehospitaldistrictcodes: + this.topqueryParams.leavehospitaldistrictcodes, + sendstates: [2, 3], + leaveldeptcodes: this.topqueryParams.leaveldeptcodes, + }; + buidegetTasklist(obj).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: 11, + 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: 11, + }, + }); + }, + + /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ + 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, + }, + }); + }, + // 鍐嶆闅忚 + followupvisit() { + this.dialogFormVisible = true; + }, + onSubmit() {}, + // 鏆傚仠鏈嶅姟 + handlestop(row) { + let objson = row; + this.$modal + .confirm( + '鏄惁纭鏆傚仠浠诲姟鍚嶇О涓�"' + + row.taskName + + '鎮h�呭悕绉颁负"' + + row.sendname + + '"鐨勬暟鎹」锛�' + ) + .then(() => { + getTaskservelist({ + patid: row.patid, + taskid: row.taskid, + }).then((res) => { + if (res.code == 200) { + objson.sendstate = 4; + objson.remark = "鏈嶅姟鏆傚仠"; + Editsingletaskson(objson).then((res) => { + if (res.code) { + this.$modal.msgSuccess("璁板綍鎴愬姛"); + this.getList(1); + } + }); + } + }); + }) + .catch(() => {}); + }, + // 渚挎嵎鎸夐挳 + 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: #b3a21f; + 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/login.vue b/src/views/login.vue index 81a3a84..0d9aa10 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -112,10 +112,10 @@ password: "", rememberMe: false, code: "", - orgid:'1', + orgid:'47255004333112711A1001', }, options: [ - { value: "1", label: "鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�" }, + { value: "47255004333112711A1001", label: "鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�" }, { value: "2", label: "涓芥按甯備腑鍖婚櫌" }, ], loginRules: { @@ -190,7 +190,7 @@ Cookies.remove("password"); Cookies.remove("rememberMe"); } - this.loginForm.orgid = '1', + // this.loginForm.orgid = '1', this.$store .dispatch("Login", this.loginForm) .then(() => { diff --git a/src/views/patient/medtechnician/PatientChart.vue b/src/views/patient/medtechnician/PatientChart.vue index 33bf5ac..3ac5df9 100644 --- a/src/views/patient/medtechnician/PatientChart.vue +++ b/src/views/patient/medtechnician/PatientChart.vue @@ -485,20 +485,16 @@ label: "浣撴闅忚", }, { - value: "6", - label: "婊℃剰搴﹁皟鏌�", - }, - { value: "7", label: "鎮h�呮姤鍛�", }, { - value: "10", - label: "涓撶梾闅忚", + value: "11", + label: "鍖绘妧闅忚", }, { - value: "8", - label: "鍏朵粬閫氱煡", + value: "10", + label: "涓撶闅忚", }, ], tasktopic: "2", //鏂板绫诲瀷 diff --git a/src/views/patient/medtechnician/SpecializedService.vue b/src/views/patient/medtechnician/SpecializedService.vue index eb7c8ae..d6ef8d8 100644 --- a/src/views/patient/medtechnician/SpecializedService.vue +++ b/src/views/patient/medtechnician/SpecializedService.vue @@ -17,7 +17,7 @@ font-weight: 600; " > - {{ item.value }} + {{ item.value ? item.value : 0 }} </div> </div> </el-card> diff --git a/src/views/patient/patient/behospitalized.vue b/src/views/patient/patient/behospitalized.vue index 5eb132d..2ce9fc2 100644 --- a/src/views/patient/patient/behospitalized.vue +++ b/src/views/patient/patient/behospitalized.vue @@ -159,7 +159,7 @@ @click=" $router.push({ path: '/patient/indexls/', - query: { id: scope.row.id }, + query: { sfzh: scope.row.idcardno }, }) " ><span class="button-textsc">{{ diff --git a/src/views/patient/patient/hospital.vue b/src/views/patient/patient/hospital.vue index bfa5e8c..444db8d 100644 --- a/src/views/patient/patient/hospital.vue +++ b/src/views/patient/patient/hospital.vue @@ -166,10 +166,10 @@ size="medium" type="text" @click=" - $router.push({ - path: '/patient/indexls/', - query: { id: scope.row.id }, - }) + $router.push({ + path: '/patient/indexls/', + query: { sfzh: scope.row.idcardno }, + }) " ><span class="button-textsc" >{{scope.row.patname}}</span diff --git a/src/views/patient/patient/index.vue b/src/views/patient/patient/index.vue index 8400f7a..83d5da4 100644 --- a/src/views/patient/patient/index.vue +++ b/src/views/patient/patient/index.vue @@ -246,9 +246,9 @@ type="text" @click=" $router.push({ - path: '/patient/indexls/', - query: { id: scope.row.id }, - }) + path: '/patient/indexls/', + query: { sfzh: scope.row.idcardno }, + }) " ><span class="button-textsc" >{{scope.row.name}}</span diff --git a/src/views/patient/patient/outpatient.vue b/src/views/patient/patient/outpatient.vue index 2b3be23..69302e2 100644 --- a/src/views/patient/patient/outpatient.vue +++ b/src/views/patient/patient/outpatient.vue @@ -177,10 +177,10 @@ size="medium" type="text" @click=" - $router.push({ - path: '/patient/indexls/', - query: { id: scope.row.id }, - }) + $router.push({ + path: '/patient/indexls/', + query: { sfzh: scope.row.idcardno }, + }) " ><span class="button-textsc" >{{scope.row.patname}}</span diff --git a/src/views/patient/physical/index.vue b/src/views/patient/physical/index.vue index 4a4f76d..10af9ff 100644 --- a/src/views/patient/physical/index.vue +++ b/src/views/patient/physical/index.vue @@ -17,7 +17,7 @@ font-weight: 600; " > - {{ item.value }} + {{ item.value ? item.value : 0 }} </div> </div> </el-card> @@ -217,9 +217,10 @@ size="medium" type="text" @click=" - $router.push({ - path: '/patient/indexls'+'?current='+scope.row.sfzh - }) + $router.push({ + path: '/patient/indexls/', + query: { sfzh: scope.row.idcardno }, + }) " ><span class="button-textsc">{{ scope.row.sendname diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue index 3e427ba..f28bb8d 100644 --- a/src/views/patient/propaganda/QuestionnaireTask.vue +++ b/src/views/patient/propaganda/QuestionnaireTask.vue @@ -1054,24 +1054,12 @@ label: "浣撴闅忚", }, { - value: 6, - label: "婊℃剰搴﹁皟鏌�", - }, - { - value: 7, - label: "鎮h�呮棩甯告姤鍛�", - }, - { - value: 9, - label: "鎮h�呭紓甯告姤鍛�", + value: 11, + label: "鍖绘妧闅忚", }, { value: 10, - label: "涓撶梾闅忚", - }, - { - value: 8, - label: "鍏朵粬閫氱煡", + label: "涓撶闅忚", }, ], // 绉戝/鐥呭尯 diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue index 63cc6fc..290f4fa 100644 --- a/src/views/patient/propaganda/particty.vue +++ b/src/views/patient/propaganda/particty.vue @@ -1082,20 +1082,12 @@ label: "浣撴闅忚", }, { - value: 6, - label: "婊℃剰搴﹁皟鏌�", - }, - { - value: 7, - label: "鎮h�呮姤鍛�", + value: 11, + label: "鍖绘妧闅忚", }, { value: 10, - label: "涓撶梾闅忚", - }, - { - value: 8, - label: "鍏朵粬閫氱煡", + label: "涓撶闅忚", }, ], // 绉戝/鐥呭尯 diff --git a/src/views/patient/questionnaire/index.vue b/src/views/patient/questionnaire/index.vue index a7a471b..9e92295 100644 --- a/src/views/patient/questionnaire/index.vue +++ b/src/views/patient/questionnaire/index.vue @@ -17,7 +17,7 @@ font-weight: 600; " > - {{ item.value }} + {{ item.value ? item.value : 0 }} </div> </div> </el-card> diff --git a/src/views/patient/subsequent/index.vue b/src/views/patient/subsequent/index.vue index d89e591..a117bdf 100644 --- a/src/views/patient/subsequent/index.vue +++ b/src/views/patient/subsequent/index.vue @@ -17,7 +17,7 @@ font-weight: 600; " > - {{ item.value }} + {{ item.value ? item.value : 0 }} </div> </div> </el-card> @@ -219,8 +219,9 @@ type="text" @click=" $router.push({ - path: '/patient/indexls'+'?current='+scope.row.sfzh - }) + path: '/patient/indexls/', + query: { sfzh: scope.row.idcardno }, + }) " ><span class="button-textsc">{{ scope.row.sendname diff --git a/src/views/patient/ycquestionnaire/index.vue b/src/views/patient/ycquestionnaire/index.vue index 9a62f9a..4f951d4 100644 --- a/src/views/patient/ycquestionnaire/index.vue +++ b/src/views/patient/ycquestionnaire/index.vue @@ -17,7 +17,7 @@ font-weight: 600; " > - {{ item.value }} + {{ item.value ? item.value : 0 }} </div> </div> </el-card> -- Gitblit v1.9.3