From 81ffbda9c4396086a740c988ae634c57a27f868d Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期二, 01 四月 2025 17:40:25 +0800 Subject: [PATCH] 测试完成 --- src/views/followvisit/record/detailpage/index.vue | 447 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 276 insertions(+), 171 deletions(-) diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue index cd911b9..3f1578b 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> @@ -33,28 +33,41 @@ </div> <div> <el-table :data="logsheetlist" style="width: 100%"> - <el-table-column prop="sendname" align="center" label="濮撳悕"> + <el-table-column + prop="sendname" + align="center" + label="濮撳悕" + width="100" + > + </el-table-column> + <el-table-column + prop="taskName" + align="center" + width="200" + show-overflow-tooltip + label="浠诲姟鍚嶇О" + > </el-table-column> <el-table-column prop="sendstate" align="center" width="200" - label="鏈嶅姟鐘舵��" + label="浠诲姟鐘舵��" > <template slot-scope="scope"> <div v-if="scope.row.sendstate == 1"> <el-tag type="primary" :disable-transitions="false" - >琚鍙�</el-tag + >琛ㄥ崟宸查鍙�</el-tag > </div> <div v-if="scope.row.sendstate == 2"> <el-tag type="primary" :disable-transitions="false" - >寰呭彂閫�</el-tag + >寰呴殢璁�</el-tag > </div> <div v-if="scope.row.sendstate == 3"> <el-tag type="success" :disable-transitions="false" - >宸插彂閫佹湭棰嗗彇</el-tag + >琛ㄥ崟宸插彂閫�</el-tag > </div> <div v-if="scope.row.sendstate == 4"> @@ -63,6 +76,11 @@ <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="success" :disable-transitions="false" + >宸插畬鎴�</el-tag > </div> </template> @@ -129,19 +147,19 @@ /> </template> </el-table-column> - <el-table-column - prop="taskName" - align="center" - width="200" - show-overflow-tooltip - label="浠诲姟鍚嶇О" - > - </el-table-column> <el-table-column prop="templatename" align="center" label="鏈嶅姟妯℃澘" + width="200" + show-overflow-tooltip + > + </el-table-column> + <el-table-column + prop="remark" + align="center" + label="鏈嶅姟璁板綍" width="200" show-overflow-tooltip > @@ -154,7 +172,7 @@ width="210" > </el-table-column> - <!-- <el-table-column + <el-table-column label="鎿嶄綔" fixed="right" align="center" @@ -168,23 +186,42 @@ @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> - <div :class="form.serviceType == 2 ? 'Followuserinfo' : 'Followuserinfos'"> + <div class="Followuserinfos"> <div> - <div class="headline"> - <div>浜哄伐澶勭悊</div> - <div style="margin-left: 30px"> - <el-button type="warning">涓�閿懠鍙�</el-button> + <el-form ref="form" :model="form" label-width="120px"> + <div class="headline"> + <div>浜哄伐澶勭悊</div> + <el-row :gutter="20"> + <el-col :span="12" + ><el-form-item label="鑱旂郴鐢佃瘽"> + <el-input + placeholder="鑱旂郴鐢佃瘽缂哄け" + v-model="userform.telcode" + ></el-input> </el-form-item + ></el-col> + <el-col :span="12" + ><el-form-item label="鑱旂郴浜虹數璇�"> + <el-input + placeholder="鑱旂郴浜虹數璇濈己澶�" + v-model="userform.relativetelcode" + ></el-input> </el-form-item + ></el-col> + </el-row> + <div style="margin-left: 30px"> + <el-button type="primary" plain @click="Editsingletasksonyic('')" + >淇濆瓨鏈嶅姟</el-button + > + </div> </div> - </div> - <el-form ref="form" :model="form" label-width="80px"> + <el-form-item label="闅忚璁板綍"> <el-input type="textarea" v-model="form.remark"></el-input> </el-form-item> @@ -212,7 +249,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"> @@ -254,7 +291,7 @@ /> </el-form-item ></el-col> </el-row> - <el-row :gutter="20"> + <!-- <el-row :gutter="20"> <el-col :span="24"> <el-form-item label="鏍囩" prop="desc"> <div class="xinz-inf"> @@ -262,47 +299,21 @@ :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> - </el-row> + </el-row> --> </el-form> </div> </el-collapse-item> </el-collapse> </div> </div> - <div v-if="form.serviceType == 2"> + <div> <el-tabs v-model="activeName" type="border-card"> <el-tab-pane name="wj"> <span class="mulsz" slot="label" @@ -522,56 +533,63 @@ </el-tabs> </div> <el-dialog title="鎮h�呭啀娆¢殢璁�" :visible.sync="dialogFormVisible"> - <el-form ref="form" :model="zcform" label-width="80px"> + <el-form ref="zcform" :rules="zcrules" :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-form-item label="闅忚鏂瑰紡" prop="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="闅忚鏃堕棿" prop="date1"> + <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> @@ -581,6 +599,7 @@ import { getsearchrResults, getPersonVoices, + addserviceSubtask, getTaskservelist, getTaskFollowup, Editsingletaskson, @@ -589,7 +608,7 @@ updatePersonVoices, addPersonVoices, } from "@/api/AiCentre/index"; -import { messagelistpatient } from "@/api/patient/homepage"; +import { messagelistpatient, alterpatient } from "@/api/patient/homepage"; export default { dicts: ["sys_normal_disable", "sys_user_sex", "sys_yujing", "sys_suggest"], data() { @@ -606,7 +625,14 @@ tableDatatop: [], //棰樼洰琛� voiceDatatop: [], //棰樼洰琛� dynamicTags: [], - + zcrules: { + date1: [ + { required: true, message: "璇烽�夋嫨闅忚鏂瑰紡", trigger: "change" }, + ], + resource: [ + { required: true, message: "璇烽�夋嫨闅忚鏃堕棿", trigger: "blur" }, + ], + }, userform: {}, Whetherall: false, //鏄惁鍏ㄩ儴璁板綍灞曠ず dialogFormVisible: false, @@ -628,26 +654,29 @@ this.patid = this.$route.query.patid; this.Voicetype = this.$route.query.Voicetype; this.serviceType = this.$route.query.serviceType; +console.log(this.id, this.patid); - 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 = res.data.scriptResult; this.tableDatatop.forEach((item) => { - if (item.scriptResult && item.scriptType != 2) { + console.log(item.scriptResultId, "scriptResultId"); + + if (item.scriptResultId && item.scriptType != 2) { item.isoption = 3; - item.scriptResult = JSON.parse(item.scriptResult); - } else if (item.scriptResult && item.scriptType == 2) { + item.scriptResult = item.scriptResult; + } else if (item.scriptResultId && item.scriptType == 2) { item.scriptResult = item.scriptResult.split("&"); item.isoption = 3; } @@ -660,22 +689,24 @@ // 鑾峰彇鍩虹淇℃伅 getuserinfo() { const queryParams = { - pid: Number(this.id), + pid: Number(this.patid), allhosp: "0", pageNum: 1, }; // 鎮h�呭熀纭�淇℃伅 messagelistpatient(queryParams).then((response) => { - this.userform = response.rows[0]; - this.dynamicTags = response.rows[0].tagList.map(this.processElement); + if (response.rows[0]) { + this.userform = response.rows[0]; + // this.dynamicTags = response.rows[0].tagList.map(this.processElement); + } }); }, // 鑾峰彇璇煶鏁版嵁 - getPersonVoices() { + getPersonVoices(id) { let obj = { taskid: this.taskid, patid: this.patid, - subId: this.id, + subId: id ? id : this.id, }; console.log(this.voiceDatatop, "111"); @@ -684,7 +715,7 @@ if (res.code == 200) { this.voiceDatatop = res.data.serviceSubtaskDetails; this.voice = res.data.voice; - // // this.activeName = "yy"; + this.activeName = "yy"; this.taskname = res.data.taskName; // 闂嵎灞曠ず鏁版嵁澶勭悊 this.tableDatatop = res.data.filteredDetails; @@ -729,105 +760,134 @@ // 鍖绘姢浜哄憳瀛樺偍鏁版嵁 getdetail() { let excep = ""; + const promises = []; this.tableDatatop.forEach((item) => { var objs = item.svyLibTemplateTargetoptions.find( (items) => items.optioncontent == item.scriptResult ); - - if (objs.isabnormal) { - excep = 1; + if (obj) { + if (objs.isabnormal) { + excep = 1; + } } - let obj = { asrtext: null, patid: this.patid, subId: this.id, taskid: this.taskid, scriptid: item.id, + excep: excep, questiontext: item.scriptContent, }; if (item.scriptType == 2 && item.scriptResult[0]) { obj.asrtext = item.scriptResult.join("&"); } else if (item.scriptType != 2 && item.scriptResult) { - obj.asrtext = JSON.stringify(item.scriptResult); + obj.asrtext = item.scriptResult; } if (item.isoption == 3) { - serviceSubtaskDetailedit(obj).then((res) => { - if (res.code == 200) { - } else { - this.$modal.error("淇敼澶辫触"); - } - }); + promises.push(serviceSubtaskDetailedit(obj)); } else { - serviceSubtaskDetailadd(obj).then((res) => { - if (res.code == 200) { - console.log(res); - } else { - this.$modal.error("淇敼澶辫触"); - } - }); + promises.push(serviceSubtaskDetailadd(obj)); } }); - this.Editsingletasksonyic(excep); + // 浣跨敤 Promise.all 绛夊緟鎵�鏈夊紓姝ユ搷浣滃畬鎴� + Promise.all(promises) + .then((results) => { + // 鎵�鏈夊紓姝ユ搷浣滄垚鍔熷畬鎴愬悗鐨勯�昏緫 + results.forEach((res) => { + if (res.code !== 200) { + this.$modal.error("淇敼澶辫触"); + } + }); + this.Editsingletasksonyic(6); + this.$modal + .confirm( + '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' + this.userform.name + '"鍐嶆闅忚锛�' + ) + .then(() => { + this.dialogFormVisible = true; + }) + .catch(() => {}); + }) + .catch((error) => { + // 濡傛灉鏈変换浣曚竴涓紓姝ユ搷浣滃け璐ワ紝浼氳繘鍏ヨ繖閲� + console.error("鍙戠敓閿欒锛�", error); + }); }, 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("鏈嶅姟淇濆瓨鎴愬姛"); + this.$modal + .confirm( + '浠诲姟淇濆瓨鎴愬姛鏄惁閽堝鎮h�咃細"' + this.userform.name + '"鍐嶆闅忚锛�' + ) + .then(() => { + this.dialogFormVisible = true; + }) + .catch(() => {}); + } + }); + }, // 鑾峰彇鎮h�呰褰� - getTaskservelist(taskid) { - this.taskid = taskid; - if (taskid) { + getTaskservelist(id) { + console.log(id,'idsub'); + + 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]; - console.log(this.form, "form3"); + console.log(this.form, "this.form"); this.logsheetlist = res.rows[0].serviceSubtaskList; this.templateid = this.logsheetlist[0].templateid; - console.log(this.form.serviceType, "serviceType"); - } + const targetDate = new Date(this.form.longSendTime); // 鐩爣鏃ユ湡 + const now = new Date(); // 褰撳墠鏃堕棿 - if (this.form.scriptType == 2) { - if (this.Voicetype) { - this.getPersonVoices(); - } else { - this.getsearchrResults(); + if (now < targetDate && this.form.sendstate == 2) { + this.$confirm("褰撳墠鏈嶅姟鏈埌鍙戦�佹椂闂磋璋ㄦ厧淇敼", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => {}) + .catch(() => {}); } + this.getuserinfo(); + } + if (this.Voicetype) { + this.getPersonVoices(); + } else { + this.getsearchrResults(); } }); }, @@ -835,33 +895,43 @@ let objson = {}; getTaskservelist({ patid: this.patid, - taskid: this.taskid, + subId: this.id, }).then((res) => { if (res.code == 200) { objson = res.rows[0].serviceSubtaskList[0]; objson.suggest = son; Editsingletaskson(objson).then((res) => { if (res.code) { - this.$modal.msgSuccess("璁板綍鎴愬姛"); - this.getTaskservelist(this.taskid); + this.$modal.msgSuccess("鏈嶅姟璁板綍鎴愬姛"); + this.getTaskservelist(this.id); } }); } }); }, - Editsingletasksonyic(excep) { + Editsingletasksonyic(sendstate) { + console.log(sendstate,'sendstate'); + let objson = {}; getTaskservelist({ patid: this.patid, - taskid: this.taskid, + subId: this.id, }).then((res) => { if (res.code == 200) { objson = res.rows[0].serviceSubtaskList[0]; - objson.excep = excep; + objson.remark = this.form.remark; + if (sendstate) objson.sendstate = sendstate; Editsingletaskson(objson).then((res) => { if (res.code) { this.$modal.msgSuccess("鏈嶅姟淇敼鎴愬姛"); - this.getTaskservelist(this.taskid); + alterpatient(this.userform).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("鍩虹淇℃伅淇濆瓨鎴愬姛"); + } else { + this.$modal.msgError("鍩虹淇℃伅淇敼澶辫触"); + } + }); + this.getTaskservelist(this.id); } }); } @@ -871,13 +941,23 @@ sendAgain() { this.dialogFormVisible = true; }, - // 鏇存敼寮傚父鐘舵�� + // 鏌ョ湅璇︽儏 Seedetails(row) { this.$modal - .confirm('鏄惁鏌ョ湅浠诲姟涓�"' + optionids + '"鐨勬湇鍔¢」锛�') - .then(function () {}) + .confirm('鏄惁鏌ョ湅浠诲姟涓�"' + row.taskName + '"鐨勬湇鍔¤鎯呮暟鎹紵') .then(() => { - this.getList(); + if (row.preachformson) { + if (row.preachformson.includes("3")) { + this.Voicetype = 1; + } + } + console.log(this.Voicetype, "this.Voicetype"); + + this.taskid = row.taskid; + this.id = row.id; + this.patid = row.patid; + this.serviceType = row.serviceType; + this.getTaskservelist(this.id); }) .catch(() => {}); }, @@ -917,7 +997,33 @@ } }); }, - + // 鍒涘缓鍐嶆闅忚鏈嶅姟 + setupsubtask() { + this.$refs["zcform"].validate((valid) => { + if (valid) { + let form = structuredClone(this.form); + form.longSendTime = this.formatTime(form.date1); + form.finishtime = ''; + 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); @@ -954,7 +1060,6 @@ .Followuserinfos { margin: 20px 10px; align-items: center; - height: 300px; padding: 30px; background: #ffff; border: 1px solid #dcdfe6; -- Gitblit v1.9.3