From 294e513504423b4726c36046decc649f272851e0 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期二, 03 十二月 2024 10:06:10 +0800 Subject: [PATCH] 测试完成 --- src/views/repositoryai/templateku/configurat/taskub.vue | 2530 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/components/UploadImg/index.vue | 4 vue.config.js | 4 src/views/repositoryai/templateku/configurat/index.vue | 2 src/views/followvisit/record/detailpage/index.vue | 25 src/components/index.js | 6 src/views/patient/propaganda/particty.vue | 91 + src/api/AiCentre/Followup.js | 135 +- src/api/AiCentre/external.js | 16 src/views/followvisit/discharge/index.vue | 2 10 files changed, 2,715 insertions(+), 100 deletions(-) diff --git a/src/api/AiCentre/Followup.js b/src/api/AiCentre/Followup.js index 4145ce3..b20b35a 100644 --- a/src/api/AiCentre/Followup.js +++ b/src/api/AiCentre/Followup.js @@ -17,78 +17,85 @@ } // 鍒犻櫎闅忚妯℃澘 export function delFollowupinfo(Id) { - return request({ - url: "/smartor/template/remove/" + Id, - method: "get", - }); - } + return request({ + url: "/smartor/template/remove/" + Id, + method: "get", + }); +} // 鏂板鎴栦慨鏀归殢璁挎ā鏉� export function compileFollowup(data) { - return request({ - url: "/smartor/template/saveOrUpdateScript", - method: "post", - data: data, - }); - } - // 鏌ヨ闅忚妯℃澘璇︽儏鍒楄〃 + return request({ + url: "/smartor/template/saveOrUpdateScript", + method: "post", + data: data, + }); +} +// 鏌ヨ闅忚妯℃澘璇︽儏鍒楄〃 export function getvFollowup(data) { - return request({ - url: "/smartor/template/selectInfoByCondition", - method: "post", - data: data, - }); - } + return request({ + url: "/smartor/template/selectInfoByCondition", + method: "post", + data: data, + }); +} +export function getTaskFollowup(id) { + return request({ + url: "/smartor/ivrTaskTemplate/getTemplateInfoByID/"+id, + method: "get", + // data: data, + }); +} - // 鏂板闅忚妯℃澘鍒嗙被鏍� - export function addFollowupclassify(data) { - return request({ - url: "/smartor/templateassort/addtree", - method: "post", - data: data, - }); - } - // 鏂板闅忚妯℃澘鍒嗙被鏍� - export function editFollowupclassify(data) { - return request({ - url: "/smartor/templateassort/edit", - method: "post", - data: data, - }); - } - // 鍒犻櫎闅忚妯℃澘鍒嗙被 +// 鏂板闅忚妯℃澘鍒嗙被鏍� +export function addFollowupclassify(data) { + return request({ + url: "/smartor/templateassort/addtree", + method: "post", + data: data, + }); +} +// 鏂板闅忚妯℃澘鍒嗙被鏍� +export function editFollowupclassify(data) { + return request({ + url: "/smartor/templateassort/edit", + method: "post", + data: data, + }); +} +// 鍒犻櫎闅忚妯℃澘鍒嗙被 export function delFollowupclassify(Id) { return request({ url: "/smartor/templateassort/remove/" + Id, method: "get", }); } - // 鏌ヨ闅忚妯℃澘鍒嗙被鏍� - export function getFollowupclassify(data) { - return request({ - url: "/smartor/templateassort/selectIvrLibaTemplateAssortList", - method: "post", - data: data, - }); - } - // 闂嵎浠诲姟妯℃澘鏂板淇敼 - export function Taskparticty(data) { - return request({ - url: "/smartor/ivrTaskTemplate/saveOrUpdateTempScript", - method: "post", - data: data, - }); - } - // 鍒犻櫎浠诲姟妯℃澘 - export function deleteTaskparticty(svyid) { - return request({ - url: "/smartor/ivrTaskTemplate/remove/" + svyid, - method: "get", - }); - } +// 鏌ヨ闅忚妯℃澘鍒嗙被鏍� +export function getFollowupclassify(data) { + return request({ + url: "/smartor/templateassort/selectIvrLibaTemplateAssortList", + method: "post", + data: data, + }); +} +// 闂嵎浠诲姟妯℃澘鏂板淇敼 +export function Taskparticty(data) { + return request({ + url: "/smartor/ivrTaskTemplate/saveOrUpdateTempScript", + method: "post", + data: data, + }); +} +// 鍒犻櫎浠诲姟妯℃澘 +export function deleteTaskparticty(svyid) { + return request({ + url: "/smartor/ivrTaskTemplate/remove/" + svyid, + method: "get", + }); +} - export function getTaskparticty(svyid) { - return request({ - url: "/smartor/ivrTaskTemplate/getInfo/" + svyid, - method: "get", - }); - } +export function getTaskparticty(svyid) { + return request({ + url: "/smartor/ivrTaskTemplate/getInfo/" + svyid, + method: "get", + }); +} diff --git a/src/api/AiCentre/external.js b/src/api/AiCentre/external.js index 410edef..45a5dd9 100644 --- a/src/api/AiCentre/external.js +++ b/src/api/AiCentre/external.js @@ -3,7 +3,7 @@ // 澶栭摼鑾峰彇闅忚 export function getExternalfollowup(data) { return request({ - url: "/smartor/servicetask/getScriptInfoByCondition", + url: "/servicetask/getScriptInfoByCondition", // url: "/servicetask/getScriptInfoByCondition", method: "post", data: data @@ -12,7 +12,7 @@ // 鍒犻櫎閫氱敤妯℃澘s export function geturlinfo(id) { return request({ - url: "/smartor/outPath/getInfoByParam", + url: "/outPath/getInfoByParam", method: 'post', params: {param:id} }); @@ -21,7 +21,7 @@ export function SetsaveQuestionAnswer(data) { return request({ // url: "/ivrtaskcalldetail/saveQuestionAnswer", - url: "/smartor/serviceSubtask/saveQuestionAnswer", + url: "/serviceSubtask/saveQuestionAnswer", method: "post", data: data }); @@ -30,7 +30,7 @@ // 缂撳瓨闂嵎 export function Cachequestionnaire(data) { return request({ - url: "/smartor/subtaskAnswer/saveQuestionCache", + url: "/subtaskAnswer/saveQuestionCache", method: "post", data: data }); @@ -38,7 +38,7 @@ // 鎷跨紦瀛橀棶鍗� export function getCachequestionnaire(data) { return request({ - url: "/smartor/subtaskAnswer/getQuestionCache", + url: "/subtaskAnswer/getQuestionCache", method: "post", data: data }); @@ -46,7 +46,7 @@ // 鎻愪氦闂嵎 export function Submitaquestionnaire(data) { return request({ - url: "/smartor/subtaskAnswer/saveQuestionAnswer", + url: "/subtaskAnswer/saveQuestionAnswer", method: "post", data: data }); @@ -71,12 +71,12 @@ // 鑾峰彇璇煶鏈嶅姟锛堝唴锛� export function getPersonVoices(data) { return request({ - url: "/smartor/smartor/serviceSubtaskDetail/getPersonVoice", + url: "/smartor/serviceSubtaskDetail/getPersonVoice", method: "post", data: data }); } -// 鑾峰彇璇煶鏈嶅姟锛堝唴锛� +// 鏇存柊璇煶鏈嶅姟锛堝唴锛� export function updatePersonVoices(data) { return request({ url: "/smartor/serviceSubtaskDetail/batchEdit", diff --git a/src/components/UploadImg/index.vue b/src/components/UploadImg/index.vue index c294ed7..21e3a9e 100644 --- a/src/components/UploadImg/index.vue +++ b/src/components/UploadImg/index.vue @@ -29,8 +29,8 @@ <script> import COS from "cos-js-sdk-v5"; var cos = new COS({ - SecretId: "AKIDxlNmyua2FDwSjmeHGVVHxNYVghSyFhus", - SecretKey: "nPp8D5mKgomaBawHPI1avzuhJhqombCZ", + SecretId: "", + SecretKey: "", }); console.log(cos); export default { diff --git a/src/components/index.js b/src/components/index.js index 07d5b01..7176203 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -1,11 +1,11 @@ import PageTools from "@/components/PageTools" import UploadExcel from "@/components/UploadExcel" -import UploadImg from "@/components/UploadImg" -const component=[PageTools,UploadExcel,UploadImg] +// import UploadImg from "@/components/UploadImg" +const component=[PageTools,UploadExcel] export default{ install(Vue){ component.forEach((component)=>{ Vue.component(component.name,component) }) } -} \ No newline at end of file +} diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue index 7548036..7d4f566 100644 --- a/src/views/followvisit/discharge/index.vue +++ b/src/views/followvisit/discharge/index.vue @@ -1093,7 +1093,7 @@ taskid: row.taskid, patid: row.patid, id: row.id, - Voicetype: type, + Voicetype: 1, }, }); }, diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue index 0074af5..8f53179 100644 --- a/src/views/followvisit/record/detailpage/index.vue +++ b/src/views/followvisit/record/detailpage/index.vue @@ -418,7 +418,7 @@ getsearchrResults, getPersonVoices, getTaskservelist, - getTaskparticty, + getTaskFollowup, Editsingletaskson, serviceSubtaskDetailedit, serviceSubtaskDetailadd, @@ -434,6 +434,7 @@ taskname: "", activeName: "wj", voice: "", + templateid:'', tableDatatop: [], //棰樼洰琛� voiceDatatop: [], //棰樼洰琛� Whetherall: false, //鏄惁鍏ㄩ儴璁板綍灞曠ず @@ -513,13 +514,31 @@ item.scriptResult = []; } }); + if (!this.tableDatatop.length) { + this.puttaskid(this.templateid); + } } }); }, // 鑾峰彇闂嵎瀹屾暣鏁版嵁姣斿 puttaskid(id) { - getTaskparticty(id).then((res) => { + getTaskFollowup(id).then((res) => { if (res.code == 200) { + this.tableDatatop = res.data.ivrTaskTemplateScriptVOList; + this.tableDatatop.forEach((item) => { + // 绫诲瀷鍒ゆ柇璧嬪�� + if (item.ivrTaskScriptTargetoptionList) { + item.targetvalue=1; + item.questiontext=item.scriptContent; + item.targetvalue = item.ivrTaskScriptTargetoptionList.map(obj => obj.targetvalue).join('&'); + } + if (item.targetvalue) { + item.scriptResult = item.targetvalue.split("&"); + } else { + item.scriptResult = []; + } + }); + console.log(this.tableDatatop,'this.tableDatatop'); } }); @@ -593,7 +612,7 @@ }).then((res) => { if (res.code == 200) { this.logsheetlist = res.rows[0].serviceSubtaskList; - this.puttaskid(this.logsheetlist[0].templateid) + this.templateid=this.logsheetlist[0].templateid } }); }, diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue index a7618ae..c9e0696 100644 --- a/src/views/patient/propaganda/particty.vue +++ b/src/views/patient/propaganda/particty.vue @@ -218,7 +218,7 @@ class="ruleFormaa" v-for="item in belongDepts" :key="item.deptCode" - :label="item.deptName" + :label="item.label" :value="item.deptCode" > </el-option> @@ -297,6 +297,10 @@ placeholder="璇风偣鍑诲彸渚ч�夋嫨" /> <el-button + v-if=" + (form.templateid && form.sendState == 1) || + !form.templateid + " style="margin-left: 10px" type="primary" icon="el-icon-edit" @@ -308,7 +312,7 @@ v-if="form.templatename" type="success" icon="el-icon-search" - @click="previewfnmb" + @click="previewfnmb()" circle ></el-button> </el-form-item> @@ -396,7 +400,6 @@ <el-col :span="1.5"> <div v-if="form.longTask"> <el-tooltip - class="item" effect="dark" content="闀挎湡浠诲姟涓嶆敮鎸佹墜鍔ㄦ坊鍔犳偅鑰咃紒" @@ -815,8 +818,18 @@ <span slot="footer" class="dialog-footer"> <!-- <el-button @click="previewGo">淇濆瓨妯℃澘璇︽儏淇敼</el-button> --> - <el-button type="primary" @click="Departmenttreatment" - >淇濆瓨浣跨敤</el-button + <el-button + v-if="(form.templateid && form.sendState == 1) || !form.templateid" + type="primary" + @click="Departmenttreatment" + >{{ form.templateid ? "鏇挎崲浣跨敤" : "閫夋嫨浣跨敤" }}</el-button + > + <el-button + :type="previewtftype ? 'success' : 'warning'" + @click="Modifytemplate" + >{{ + previewtftype ? "鍓嶅線淇敼宸查�夋嫨妯℃澘" : "鏂板淇濆瓨骞跺墠寰�淇敼" + }}</el-button > </span> </el-dialog> @@ -915,11 +928,10 @@ } from "@/api/AiCentre/index"; import { deptTreeSelect } from "@/api/system/user"; - import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 export default { - name: "ServiceDetails", + name: "Particty", data() { return { title: "瀹f暀鍐呭鍒楄〃", @@ -939,6 +951,7 @@ Editprogress: 1, //缂栬緫杩涘害 drawermb: false, //閫夋嫨妯℃澘寮圭獥 previewtf: false, //棰勮 + previewtftype: 0, //棰勮鎯呭喌0鏂版ā鏉块瑙�1宸查�夋嫨妯℃澘淇敼 loading: false, // 閬僵灞� patientloading: false, // 閬僵灞� dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗� @@ -946,6 +959,7 @@ checkboxlist: [], tableLabel: [], questionList: [], + skip: false, usable: [ { value: "0", label: "鍙敤" }, { value: "1", label: "鍋滅敤" }, @@ -985,7 +999,7 @@ ], tableLabelwj: [ - { label: "鍒涘缓浜�", width: "", prop: "createBy" }, + { label: "鍒涘缓浜�", width: "", prop: "createBy" }, { label: "妯℃澘鏍囬", width: "", prop: "templateName" }, { label: "闅忚鎻忚堪", width: "", prop: "note" }, { label: "淇敼鏃ユ湡", width: "", prop: "updateTime" }, @@ -1230,7 +1244,15 @@ this.getFollowupclassify(); }, activated() { + console.log(this.id, "CS", this.$route.query.id); if (this.id != this.$route.query.id) { + this.id = this.$route.query.id; + this.newadd = this.$route.query.newadd; + this.form.type = this.$route.query.type; + this.form.typename = this.$route.query.typename; + this.serviceType = Number(this.$route.query.serviceType); + this.form.serviceType = Number(this.$route.query.serviceType); + this.Acquisitiontype(); this.Getdetails(); this.getDeptTree(); @@ -1239,11 +1261,6 @@ }, methods: { - // { - // 濮撳悕: { "${name}": "榫欏偛澶�" }, - // 鍦板潃: { "${dzz}": "榫欏" }, - // 鐢佃瘽: { "${dhh}": "鍏釜鍏�" }, - // } // 鍙橀噺杞崲瀵硅薄杞暟缁� convertFormat1ToFormat2(data) { let result = []; @@ -1551,15 +1568,18 @@ this.objyl.suitway = this.objyl.suitway.split(","); this.queryParamsdept.tempid = this.form.templateid; this.queryParamsdept.type = 21; + // 鐤剧梾 this.getillness(this.form.libtemplateid); // 鎵ц鑾峰彇璇ヤ换鍔℃ā鏉縤d this.listDept(); - this.previewtf = true; getvFollowup({ id: this.form.libtemplateid }).then((res) => { if (res.code == 200) { + this.previewtf = true; + this.previewtftype = 1; this.questionList = res.data.ivrLibaTemplateScriptVOList; this.objyl.ivrLibaTemplateScriptVOList = res.data.ivrLibaTemplateScriptVOList; + } else { } }); } @@ -1971,7 +1991,7 @@ this.objyl.ivrLibaTemplateScriptVOList; this.objyl.isoperation = 1; if (this.form.id) { - this.objyl.taskid=this.form.id + this.objyl.taskid = this.form.id; } if (this.form.templateid) { deleteTaskparticty(this.form.templateid).then((res) => { @@ -1982,7 +2002,16 @@ this.form.templateid = response.data; this.putbelongDepts(response.data); this.form.templatename = this.objyl.templateName; - this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛"); + this.$modal.msgSuccess("鏇挎崲妯℃澘鎴愬姛"); + this.drawermb = false;//閫夋嫨妯℃澘寮圭獥 + this.previewtf = false;//棰勮 + if (this.skip) { + // 璺宠浆鍓嶅線淇敼 + this.$router.push({ + path: "/knowledge/taskub/", + query: { id: response.data }, + }); + } }); } }); @@ -1994,6 +2023,15 @@ this.putbelongDepts(response.data); this.form.templatename = this.objyl.templateName; this.$modal.msgSuccess("閫夋嫨妯℃澘鎴愬姛"); + this.drawermb = false;//閫夋嫨妯℃澘寮圭獥 + this.previewtf = false;//棰勮 + if (this.skip) { + // 璺宠浆鍓嶅線淇敼 + this.$router.push({ + path: "/knowledge/taskub/", + query: { id: response.data }, + }); + } }); } }, @@ -2063,6 +2101,27 @@ this.previewFn(); }, 1000); }, + // 鍓嶅線淇敼 + Modifytemplate() { + if (this.form.templateid && this.previewtftype) { + this.$modal.confirm("鏄惁鍓嶅線淇敼浠诲姟妯℃澘璇︾粏鍐呭锛�").then(() => { + this.drawermb = false;//閫夋嫨妯℃澘寮圭獥 + this.previewtf = false;//棰勮 + this.$router.push({ + path: "/knowledge/taskub/", + query: { id: this.form.templateid }, + }); + }); + } else { + this.$modal + .confirm("褰撳墠涓哄熀纭�棰勮鏄惁鍒涘缓浠诲姟妯℃澘骞跺墠寰�淇敼璇︽儏锛�") + .then(() => { + // 璧板彇鍏堢粦瀹氬悗淇敼鎿嶄綔 + this.Departmenttreatment(); + this.skip = true; + }); + } + }, }, }; </script> diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue index 874472d..88fb4c1 100644 --- a/src/views/repositoryai/templateku/configurat/index.vue +++ b/src/views/repositoryai/templateku/configurat/index.vue @@ -2120,7 +2120,7 @@ }, handleDelete(row) { this.$modal - .confirm('鏄惁纭鍒犻櫎闂锛�"' + row.scriptTopic + '"锛�') + .confirm('鏄惁纭鍒犻櫎闂锛�"' + row.scriptTopic + '?') .then(() => { this.ruleForm.ivrLibaTemplateScriptVOList.splice( this.ruleForm.ivrLibaTemplateScriptVOList.indexOf(row), diff --git a/src/views/repositoryai/templateku/configurat/taskub.vue b/src/views/repositoryai/templateku/configurat/taskub.vue new file mode 100644 index 0000000..4c9e2c3 --- /dev/null +++ b/src/views/repositoryai/templateku/configurat/taskub.vue @@ -0,0 +1,2530 @@ +<template> + <div class="Questionnairemanagement"> + <!-- 宸︿晶鏍� --> + <div class="sidecolumn"> + <div> + <el-steps finish-status="success" :active="Editprogress" simple> + <el-step> + <template slot="title"> + <span style="cursor: pointer" @click="Editprogress = 1" + >鍩虹淇℃伅</span + > + </template> + </el-step> + <el-step> + <template slot="title"> + <span style="cursor: pointer" @click="Editprogress = 2" + >闅忚妯℃澘棰樼洰</span + > + </template> + </el-step> + <el-step description="鏌ョ湅闅忚妯℃澘棰勮锛屽彲瀵煎嚭PDF"> + <template slot="title"> + <span style="cursor: pointer" @click="preview">闅忚妯℃澘棰勮</span> + </template> + </el-step> + </el-steps> + </div> + </div> + <!-- 鍙充晶鏁版嵁 --> + <div class="leftvlue"> + <!-- 鍩烘湰淇℃伅 --> + <div v-if="Editprogress == 1"> + <div class="leftvlue-jbxx">鍩烘湰淇℃伅</div> + <el-divider></el-divider> + <el-form + :model="ruleForm" + :rules="rules" + ref="ruleForm" + label-width="120px" + class="demo-ruleForm" + > + <el-row> + <el-col :span="12"> + <el-form-item label="妯℃澘鍚嶇О" prop="region"> + <div> + <el-input + v-model="ruleForm.templateName" + placeholder="璇疯緭鍏ュ悕绉�" + ></el-input> + </div> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="闅忚妯℃澘鍒嗙被" prop="region"> + <el-select + v-model="ruleForm.assortid" + size="medium" + filterable + placeholder="璇烽�夋嫨鍒嗙被" + > + <el-option-group + v-for="group in indexAssortlist" + :key="group.id" + :label="group.indexAssortName" + > + <el-option + v-for="item in group.ivrLibaTemplateAssortList" + :key="item.id" + :label="item.indexAssortName" + :value="item.id" + > + </el-option> + </el-option-group> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="妯℃澘绠�浠�" prop="note"> + <div> + <el-input + type="textarea" + placeholder="璇疯緭鍏ョ畝浠�" + v-model="ruleForm.note" + ></el-input> + </div> + </el-form-item> + </el-col> + </el-row> + + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="鐗堟湰鍙�" prop="version"> + <el-input + style="width: 220px" + v-model="ruleForm.version" + placeholder="榛樿1.0.1" + ></el-input> </el-form-item + ></el-col> + <el-col :span="12"> + <el-form-item label="鍙敤鐘舵��" prop="region"> + <el-select + v-model="ruleForm.isenable" + size="medium" + placeholder="璇烽�夋嫨" + > + <el-option + class="ruleFormaa" + v-for="item in usable" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item + ></el-col> + </el-row> + + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="璇█" prop="name"> + <el-select + v-model="ruleForm.language" + size="medium" + filterable + placeholder="璇烽�夋嫨璇█" + > + <el-option + class="ruleFormaa" + v-for="item in languagelist" + :key="item.label" + :label="item.label" + :value="item.label" + > + </el-option> + </el-select> </el-form-item + ></el-col> + <el-col :span="12"> + <el-form-item label="鎾姤浼樺厛" prop="playType"> + <el-select + v-model="ruleForm.playType" + size="medium" + filterable + placeholder="璇烽�夋嫨璇█" + > + <el-option + class="ruleFormaa" + v-for="item in precedencetype" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item + ></el-col> + </el-row> + <el-form-item label="闅忚鏂瑰紡" prop="region"> + <el-select + style="width: 500px" + v-model="ruleForm.suitway" + size="medium" + multiple + filterable + placeholder="璇烽�夋嫨鍒嗙被锛堝閫夛級" + > + <el-option + class="ruleFormaa" + v-for="item in mode" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鏍囩" prop="desc"> + <div class="xinz-inf"> + <el-tag + :key="tag.tagname" + type="success" + v-for="tag in dynamicTags" + closable + :disable-transitions="false" + @close="handleClosetag(tag)" + > + {{ tag.tagname }} + </el-tag> + <el-select + v-model="inputValue" + v-if="inputVisible" + @change="handleInputConfirm" + filterable + remote + allow-create + reserve-keyword + default-first-option + :remote-method="remoteMethodtag" + :loading="loading" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in optionstag" + :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> + <div class="xinz-infs"> + <el-form-item label="閫傜敤鐤剧梾" prop="region"> + <el-tag + v-for="tag in displayedTags" + :key="tag.icdid" + type="warning" + :disable-transitions="false" + > + {{ tag.icdname }} + </el-tag> + <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> + </el-form-item> + </div> + <div style="margin-left: 120px; margin-bottom: 10px"> + <el-button type="warning" @click="$refs.child.handleAddpatient()" + >鐤剧梾璇︽儏</el-button + > + </div> + <el-form-item label="閫傜敤閫氱敤搴�" prop="region"> + <el-select + style="width: 500px" + v-model="ruleForm.submoduleID" + size="medium" + multiple + filterable + placeholder="璇烽�夋嫨閫氱敤搴�" + > + <el-option + class="ruleFormaa" + v-for="item in generallist" + :key="item.id" + :label="item.extName" + :value="item.id" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="閫傜敤闄㈠尯" prop="region"> + <el-select + style="width: 500px" + v-model="ruleForm.campus" + size="medium" + multiple + filterable + placeholder="璇烽�夋嫨鍒嗙被" + > + <el-option + class="ruleFormaa" + v-for="item in courtyardlist" + :key="item.label" + :label="item.label" + :value="item.label" + > + </el-option> + </el-select> + </el-form-item> + <el-row> + <el-col :span="20" + ><el-form-item label="閫傜敤绉戝" prop="region"> + <el-select + v-model="tempDetpRelevanceslist" + @remove-tag="removetag" + style="width: 55vw" + size="medium" + multiple + filterable + placeholder="璇烽�夋嫨绉戝" + > + <el-option + class="ruleFormaa" + v-for="item in flatArray" + :key="item.deptCode" + :label="item.label" + :value="item.deptCode" + > + </el-option> + </el-select> </el-form-item + ></el-col> + </el-row> + <el-row> + <el-col :span="20" + ><el-form-item label="閫傜敤鐥呭尯" prop="region"> + <el-select + v-model="tempbelongWards" + @remove-tag="removehpsp" + style="width: 55vw" + size="medium" + multiple + filterable + placeholder="璇烽�夋嫨绉戝" + > + <el-option + class="ruleFormaa" + v-for="item in flatArray" + :key="item.deptCode" + :label="item.label" + :value="item.deptCode" + > + </el-option> + </el-select> </el-form-item + ></el-col> + </el-row> + <el-row> + <el-col :span="12" + ><el-form-item label="寮�鍦虹櫧" prop="revisitBefore"> + <el-input + type="textarea" + :rows="3" + v-model="ruleForm.revisitBefore" + placeholder="璇疯緭鍏ュ紑鍦虹櫧" + /> </el-form-item + ></el-col> + <el-col :span="12" + ><el-form-item label="缁撴潫璇�" prop="revisitAfter"> + <el-input + type="textarea" + :rows="3" + v-model="ruleForm.revisitAfter" + placeholder="璇疯緭鍏ョ粨鏉熻" + /> </el-form-item + ></el-col> + </el-row> + + <el-row :gutter="20"> + <el-col :span="8"> + <el-form-item label="闈欓粯鏃堕棿(绉�)" prop="name"> + <div style="width: 40%"> + <el-input + v-model="ruleForm.silencetime" + ></el-input></div></el-form-item + ></el-col> + <el-col :span="8"> + <el-form-item label="闈欓粯娆℃暟" prop="name"> + <div style="width: 40%"> + <el-input + v-model="ruleForm.noVoiceNum" + ></el-input></div></el-form-item + ></el-col> + <el-col :span="8"> + <el-form-item label="鏃犲尮閰嶉噸澶�(娆�)" prop="region"> + <div style="width: 40%"> + <el-input v-model="ruleForm.mateNum"></el-input> + </div> </el-form-item + ></el-col> + </el-row> + <el-form-item> + <el-button type="success" plain @click="nextstep('ruleForm')" + >涓嬩竴姝�</el-button + > + <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> + <el-button + type="success" + @click="Departmenttreatment('ruleForm')" + >{{ task ? "淇濆瓨鍒颁换鍔℃ā鏉�" : "淇濆瓨闅忚妯℃澘鍩虹淇℃伅" }}</el-button + > + </el-form-item> + </el-form> + </div> + <!-- 闅忚妯℃澘璁剧疆 --> + <div v-if="Editprogress == 2"> + <div class="leftvlue-jbxx">闅忚妯℃澘棰樼洰璁剧疆</div> + <el-divider></el-divider> + <div class="addtopic"> + <el-button + type="primary" + icon="el-icon-plus" + round + @click="getaddtopiclist" + >娣诲姞棰樼洰</el-button + > + <el-button + type="success" + icon="el-icon-edit-outline" + round + @click="Operateit = !Operateit" + >{{ !Operateit ? "缂栬緫棰樼洰" : "瀹屾暣淇℃伅灞曠ず" }}</el-button + > + </div> + <div class="presentation"> + <div :class="Operateit ? 'presentation-left' : 'spresentation-left'"> + <el-card class="box-card" style="min-height: 688px"> + <el-table + v-loading="loading" + :data="ruleForm.ivrTaskTemplateScriptVOList" + > + <el-table-column + label="缂栧彿" + align="center" + key="sort" + prop="sort" + /> + <el-table-column + label="鏍囬" + align="center" + key="scriptTopic" + prop="scriptTopic" + :show-overflow-tooltip="true" + /> + <el-table-column + v-if="!Operateit" + label="闂璇濇湳" + align="center" + key="scriptContent" + prop="scriptContent" + :show-overflow-tooltip="true" + /> + <el-table-column + v-if="!Operateit" + label="闂璇濇湳" + align="center" + key="scriptContent" + prop="scriptContent" + :show-overflow-tooltip="true" + /> + <el-table-column + label="涓嬮璺宠浆" + align="center" + key="nextScriptno" + prop="nextScriptno" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <span>{{ + scope.row.nextScriptno == 0 + ? "宸叉槸鏈�鍚庝竴棰�" + : scope.row.nextScriptno + }}</span> + </template> + </el-table-column> + + <el-table-column + label="鎿嶄綔" + v-if="Operateit" + align="center" + width="250" + class-name="small-padding fixed-width" + > + <template slot-scope="scope"> + <el-button + icon="el-icon-edit" + type="primary" + circle + @click="handleUpdate(scope.row)" + ></el-button> + <el-button + type="danger" + icon="el-icon-delete" + circle + @click="handleDelete(scope.row)" + ></el-button> + <el-button + @click="syioption(scope.row)" + type="success" + icon="el-icon-top" + circle + ></el-button> + <el-button + @click="xiayioption(scope.row)" + type="success" + icon="el-icon-bottom" + circle + ></el-button> + </template> + </el-table-column> + </el-table> + </el-card> + </div> + <div class="presentation-right" v-if="Operateit"> + <el-card class="box-card"> + <el-form + :model="topicobj" + :inline="true" + class="demo-form-inline" + > + <div class="headline">棰樼洰璁剧疆璇︽儏</div> + <el-row> + <el-col :span="24" + ><el-form-item label="棰樼洰鏍囬"> + <el-input + v-model="topicobj.scriptTopic" + placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" + ></el-input> </el-form-item + ></el-col> + </el-row> + <el-row> + <el-col :span="24" + ><el-form-item label="闂璇濇湳"> + <el-input + type="textarea" + style="width: 600px" + v-model="topicobj.scriptContent" + placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" + ></el-input> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="10"> + <el-col :span="12" + ><el-form-item label="闂鑺傜偣"> + <el-input + v-model="topicobj.sort" + placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" + :disabled="true" + ></el-input> </el-form-item + ></el-col> + <el-col :span="12" + ><el-form-item label="涓嬮璺宠浆"> + <el-input + v-model="topicobj.nextScriptno" + placeholder="璇疯緭鍏ラ鍙�" + ></el-input> </el-form-item + ></el-col> + </el-row> + + <el-row :gutter="10"> + <el-col :span="12" + ><el-form-item label="鏄惁蹇呭~"> + <el-select + v-model="topicobj.isMust" + placeholder="榛樿蹇呭~" + > + <el-option + v-for="item in required" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item + ></el-col> + <el-col :span="12" + ><el-form-item label="棰樼洰绫诲瀷"> + <el-select + v-model="topicobj.scriptType" + placeholder="璇烽�夋嫨" + :disabled="true" + > + <el-option + v-for="item in askvaluetype" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item + ></el-col> + </el-row> + <el-form-item + label="鏄惁鐢遍�夐」閰嶇疆璺宠浆" + v-if="topicobj.scriptType == 1" + > + <el-radio-group v-model="topicobj.branchFlag"> + <el-radio :label="'1'">鏄�</el-radio> + <el-radio :label="'0'">鍚�</el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="閫変腑鎻愮ず" v-if="topicobj.scriptType != 1"> + <el-input + style="width: 24vw" + type="textarea" + autosize + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="topicobj.prompt" + > + </el-input + ></el-form-item> + <el-row> + <el-col :span="24" + ><el-form-item label="璇煶鏂囨湰"> + <el-input + type="textarea" + style="width: 600px" + v-model="topicobj.ivrtext" + placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" + ></el-input> </el-form-item + ></el-col> + </el-row> + <el-row> + <el-col :span="6"> + <el-form-item label="璇煶鏂囦欢" prop="verbaltrickyy"> + <el-upload + class="upload-demo" + :action="uploadImgUrl" + :headers="headers" + :show-file-list="false" + :on-success=" + (response, file) => handleChanges(response, file, 1) + " + accept=".wav,.mp3" + :limit="1" + > + <el-button size="small" type="primary" + >鐐瑰嚮涓婁紶</el-button + > + </el-upload> + </el-form-item> + </el-col> + <el-col :span="6"> + <span + style="font-size: 18px; margin-top: 10px" + v-if="topicobj.ivrVoice" + >{{ + topicobj.ivrVoice.substring( + topicobj.ivrVoice.lastIndexOf("/") + 1 + ) + }}</span + > + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + topicobj.ivrVoice + ? topicobj.ivrVoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> + </el-row> + <div class="topicxq" v-if="topicobj.scriptType == 4"> + <el-row> + <el-col :span="20"> + <el-form-item label="鏀堕泦鍐呭"> + <el-input + style="width: 400px" + type="textarea" + v-model="topicobj.value" + placeholder="闂鏀堕泦鍐呭" + ></el-input> + </el-form-item> + </el-col> + </el-row> + </div> + <div v-else> + <div class="headline"> + <div class="basics">閫夐」璁剧疆</div> + <!-- <div class="headbottom"> + <el-button + type="primary" + icon="el-icon-circle-plus-outline" + @click="addzbiao" + >娣诲姞鎸囨爣</el-button + > + </div> --> + </div> + + <Regular + :TargetoptionList="topicobj.ivrTaskScriptTargetoptionList" + @deloption="deloption" + @branchFlagfn="branchFlagfn" + :branchFlag="topicobj.branchFlag ? true : false" + :controlsc="false" + :scriptType="topicobj.scriptType" + /> + <!-- 鏃犲尮閰嶇被鍨� --> + <div class="topicxq"> + <el-row :gutter="10"> + <el-col :span="20" + ><el-form-item label="鏃犲尮閰嶈瘽鏈�"> + <el-input + type="textarea" + style="width: 400px" + placeholder="璇疯緭鍏�" + v-model="topicobj.noMatchText" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + <el-row> + <el-col :span="6"> + <el-form-item label="鏃犲尮閰嶈闊�" prop="verbaltrickyy"> + <el-upload + class="upload-demo" + :action="uploadImgUrl" + :show-file-list="false" + :headers="headers" + :on-success=" + (response, file) => + handleChanges(response, file, 2) + " + accept=".wav,.mp3" + :limit="1" + > + <el-button size="small" type="primary" + >鐐瑰嚮涓婁紶</el-button + > + </el-upload> + </el-form-item> + </el-col> + <el-col :span="6"> + <span + style="font-size: 12px" + v-if="topicobj.nomatchvoice" + >{{ + topicobj.nomatchvoice.substring( + topicobj.nomatchvoice.lastIndexOf("/") + 1 + ) + }}</span + > + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + topicobj.nomatchvoice + ? topicobj.nomatchvoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> + </el-row> + </div> + <div class="topicxq"> + <el-row :gutter="10"> + <el-col :span="20" + ><el-form-item label="鍚笉娓呰瘽鏈�"> + <el-input + style="width: 400px" + type="textarea" + placeholder="璇疯緭鍏�" + v-model="topicobj.noClearlyText" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + + <el-row> + <el-col :span="6"> + <el-form-item label="鍚笉娓呰闊�" prop="verbaltrickyy"> + <el-upload + class="upload-demo" + :action="uploadImgUrl" + :show-file-list="false" + :headers="headers" + :on-success=" + (response, file) => + handleChanges(response, file, 4) + " + accept=".wav,.mp3" + :limit="1" + > + <el-button size="small" type="primary" + >鐐瑰嚮涓婁紶</el-button + > + </el-upload> + </el-form-item> + </el-col> + <el-col :span="6"> + <span + style="font-size: 12px" + v-if="topicobj.noclearlyvoice" + >{{ + topicobj.noclearlyvoice.substring( + topicobj.noclearlyvoice.lastIndexOf("/") + 1 + ) + }}</span + > + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + topicobj.noclearlyvoice + ? topicobj.noclearlyvoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> + </el-row> + </div> + <div class="topicxq"> + <el-row :gutter="10"> + <el-col :span="20" + ><el-form-item label="闈欓粯璇濇湳"> + <el-input + type="textarea" + style="width: 400px" + placeholder="璇疯緭鍏�" + v-model="topicobj.slienceText" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + + <el-row> + <el-col :span="6"> + <el-form-item label="闈欓粯璇煶" prop="verbaltrickyy"> + <el-upload + class="upload-demo" + :action="uploadImgUrl" + :show-file-list="false" + :headers="headers" + :on-success=" + (response, file) => + handleChanges(response, file, 3) + " + accept=".wav,.mp3" + :limit="1" + > + <el-button size="small" type="primary" + >鐐瑰嚮涓婁紶</el-button + > + </el-upload> + </el-form-item> + </el-col> + <el-col :span="6"> + <span + style="font-size: 12px" + v-if="topicobj.sliencevoice" + >{{ + topicobj.sliencevoice.substring( + topicobj.sliencevoice.lastIndexOf("/") + 1 + ) + }}</span + > + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + topicobj.sliencevoice + ? topicobj.sliencevoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> + </el-row> + </div> + </div> + </el-form> + </el-card> + </div> + </div> + + <el-button type="success" @click="Departmenttreatment('ruleForm')">{{ + task ? "淇濆瓨鍒颁换鍔℃ā鏉�" : "淇濆瓨棰樼洰鏁版嵁" + }}</el-button> + <el-button type="primary" plain @click="laststep()">涓婁竴姝�</el-button> + <el-button type="success" plain @click="preview('ruleForm')" + >鏌ョ湅棰勮</el-button + > + <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> + </div> + <!-- 闅忚妯℃澘棰勮 --> + <div v-if="Editprogress == 3"> + <div class="leftvlue-jbxx">闅忚妯℃澘闂棰勮</div> + <el-divider></el-divider> + + <div class="preview-left"> + <div v-for="item in valssu"> + <!-- 鍗曢�� --> + <div + class="scriptTopic-dev" + :key="item.sort" + v-if="item.valueType == 1" + > + <div class="dev-text"> + {{ item.sort }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span> + </div> + <div class="dev-xx"> + <el-radio-group v-model="item.remark"> + <el-radio + v-for="(items, index) in item.ivrTaskScriptTargetoptionList" + :key="index" + :label="index" + >{{ items.targetvalue }}</el-radio + > + </el-radio-group> + </div> + </div> + <!-- 澶氶�� --> + <div + class="scriptTopic-dev" + :key="item.sort" + v-if="item.valueType == 2" + > + <div class="dev-text"> + {{ item.sort }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span> + </div> + <div class="dev-xx"> + <el-checkbox-group v-model="item.remark"> + <el-checkbox + v-for="(items, index) in item.ivrTaskScriptTargetoptionList" + :key="index" + :label="index" + > + {{ items.targetvalue }} + </el-checkbox> + </el-checkbox-group> + </div> + </div> + <!-- 濉┖ --> + <div + class="scriptTopic-dev" + :key="item.sort" + v-if="item.valueType == 3" + > + <div class="dev-text"> + {{ item.sort }}銆乕濉┖]<span>{{ item.scriptContent }}</span> + </div> + <div class="dev-xx"> + <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable> + </el-input> + </div> + </div> + </div> + </div> + <el-button type="primary" plain @click="laststep()">涓婁竴姝�</el-button> + <el-button type="warning" @click="measurement()">鍓嶅線娴嬭瘯</el-button> + <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> + </div> + </div> + <!-- 娣诲姞棰樼洰寮圭獥 --> + <el-drawer + title="娣诲姞棰樼洰" + @close="$forceUpdate()" + @closed="$forceUpdate()" + :visible.sync="drawer" + custom-class="demo-drawer" + size="50%" + > + <div style="margin: 0 25px"> + <el-tabs v-model="activeName"> + <el-tab-pane label="棰樺簱閫夊彇" name="first"> + <div class="preview-left"> + <el-form + :model="queryParams" + ref="queryForm" + size="small" + :inline="true" + label-width="98px" + > + <el-form-item label="鏍囬" prop="userName"> + <el-input + v-model="queryParams.scriptTopic" + placeholder="璇疯緭鍏�" + clearable + style="width: 200px" + @keyup.enter.native="getaddtopiclist" + /> + </el-form-item> + + <el-form-item> + <el-button + type="primary" + icon="el-icon-search" + size="medium" + @click="getaddtopiclist" + >鎼滅储</el-button + > + <el-button + icon="el-icon-refresh" + size="medium" + @click="resetQuery" + >閲嶇疆</el-button + > + </el-form-item> + </el-form> + <el-table v-loading="loading" :data="userList"> + <el-table-column + label="鏍囬" + align="center" + key="scriptTopic" + prop="scriptTopic" + width="100" + /> + <el-table-column + label="闂璇濇湳" + align="center" + key="scriptContent" + prop="scriptContent" + width="200" + :show-overflow-tooltip="true" + /> + <el-table-column + label="闂绫诲瀷" + align="center" + key="valueType" + prop="valueType" + width="120" + > + <template slot-scope="scope"> + <dict-tag + :options="valuetypes" + :value="scope.row.valueType" + /> + </template> + </el-table-column> + <el-table-column + label="閫夐」鍐呭" + align="center" + key="targetoptions" + prop="targetoptions" + width="200" + :show-overflow-tooltip="true" + /> + + <el-table-column + label="鎿嶄綔" + align="center" + class-name="small-padding fixed-width" + > + <template slot-scope="scope"> + <el-button + size="medium" + type="text" + @click="addtopic(scope.row)" + ><span class="button-textxg" + ><i class="el-icon-circle-plus-outline"></i>娣诲姞</span + ></el-button + > + </template> + </el-table-column> + </el-table> + <pagination + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getaddtopiclist" + /> + </div> + </el-tab-pane> + <el-tab-pane label="鎵嬪姩閰嶇疆" name="second"> + <div class="preview-left"> + <el-form + :inline="true" + :model="indexform" + class="demo-form-inline" + > + <div class="headline"> + 棰樼洰璁剧疆璇︽儏 + <span style="margin-left: 30px" + ><el-button type="primary" @click="Submittopicobj" + >淇濆瓨鏂板</el-button + ></span + > + </div> + <el-divider></el-divider> + <div> + <el-row :gutter="10"> + <el-col :span="12"> + <el-form-item label="棰樼洰鏍囬"> + <el-input + v-model="indexform.scriptTopic" + placeholder="璇疯緭鍏ラ鐩爣棰�" + ></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="闂鑺傜偣"> + <el-input + v-model="indexform.sort" + placeholder="璇疯緭鍏ラ棶棰樿妭鐐�" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="10"> + <el-col :span="18" + ><el-form-item label="闂璇濇湳"> + <el-input + style="width: 600px" + type="textarea" + v-model="indexform.scriptContent" + placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" + ></el-input> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="10"> + <el-col :span="12" + ><el-form-item label="鏄惁蹇呭~"> + <el-select + v-model="indexform.isMust" + placeholder="榛樿蹇呭~" + > + <el-option + v-for="item in required" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item + ></el-col> + <!-- <el-col :span="12" + ><el-form-item label="鍙栧�肩被鍨�"> + <el-select + v-model="indexform.valueType" + placeholder="璇烽�夋嫨" + :disabled="true" + > + <el-option + v-for="item in valuetype" + :key="item.value" + :label="item.label" + :value="item.value" + > + </el-option> + </el-select> </el-form-item + ></el-col> --> + </el-row> + <el-form-item + label="閫変腑鎻愮ず" + v-if="topicobj.scriptType != 1" + > + <el-input + style="width: 24vw" + type="textarea" + autosize + placeholder="璇疯緭鍏ュ唴瀹�" + v-model="indexform.prompt" + > + </el-input + ></el-form-item> + <el-row :gutter="10"> + <el-col :span="18" + ><el-form-item label="璇煶鏂囨湰"> + <el-input + style="width: 600px" + type="textarea" + v-model="indexform.ivrtext" + placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" + ></el-input> </el-form-item + ></el-col> + </el-row> + <el-row> + <el-col :span="6"> + <el-form-item label="璇煶鏂囦欢" prop="verbaltrickyy"> + <el-upload + class="upload-demo" + :action="uploadImgUrl" + :headers="headers" + :show-file-list="false" + :on-success=" + (response, file) => handleChange(response, file, 1) + " + accept=".wav,.mp3" + :limit="1" + > + <el-button size="small" type="primary" + >鐐瑰嚮涓婁紶</el-button + > + </el-upload> + </el-form-item> + </el-col> + <el-col :span="6"> + <span + style="font-size: 18px; margin-top: 10px" + v-if="indexform.ivrVoice" + >{{ + indexform.ivrVoice.substring( + indexform.ivrVoice.lastIndexOf("/") + 1 + ) + }}</span + > + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + indexform.ivrVoice + ? indexform.ivrVoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> + </el-row> + </div> + <div> + <el-form-item label="鎸囨爣鍚嶇О" prop="deptId"> + <el-input + v-model="indexform.targetname" + placeholder="璇疯緭鍏ユ寚鏍囧悕绉�" + maxlength="20" + /> + </el-form-item> + <el-form-item label="鎸囨爣鎻忚堪" prop="deptId"> + <el-input + v-model="indexform.targetdesc" + placeholder="璇疯緭鍏ユ寚鏍囨弿杩�" + maxlength="60" + /> + </el-form-item> + + <el-row> + <el-col :span="20"> + <el-form-item label="鍊肩被鍨�"> + <el-radio-group v-model="indexform.valueType"> + <el-radio :label="1">閫夐」</el-radio> + <el-radio :label="2">鏂囨湰</el-radio> + <el-radio :label="3">鏁板��</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="20"> + <el-form-item label="棰樼洰绫诲瀷"> + <el-radio-group + @input="typeselection" + v-model="indexform.scriptType" + > + <el-radio :label="1">鍗曢��</el-radio> + <!-- <el-radio :label="2">澶氶��</el-radio> --> + <el-radio :label="4">闂瓟</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + </div> + <div class="topicxq" v-show="indexform.scriptType == 4"> + <el-row> + <el-col :span="20"> + <el-form-item label="鏀堕泦鍐呭"> + <el-input + style="width: 400px" + type="textarea" + v-model="indexform.value" + placeholder="闂鏀堕泦鍐呭" + ></el-input> + </el-form-item> + </el-col> + </el-row> + </div> + + <div v-show="indexform.scriptType == 1"> + <div class="headline"> + <div class="basics">閫夐」璁剧疆</div> + </div> + <el-divider></el-divider> + <Regular + :TargetoptionList="indexform.ivrTaskScriptTargetoptionList" + @deloption="deloption" + @addoption="addoptionson" + :controlsc="false" + :addoption="true" + /> + <!-- 鏃犲尮閰嶇被鍨� --> + <div class="topicxq"> + <el-row :gutter="10"> + <el-col :span="20" + ><el-form-item label="鏃犲尮閰嶈瘽鏈�"> + <el-input + type="textarea" + style="width: 400px" + placeholder="璇疯緭鍏�" + v-model="indexform.noMatchText" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + <el-row> + <el-col :span="6"> + <el-form-item label="鏃犲尮閰嶈闊�" prop="verbaltrickyy"> + <el-upload + class="upload-demo" + :action="uploadImgUrl" + :show-file-list="false" + :headers="headers" + :on-success=" + (response, file) => + handleChange(response, file, 2) + " + accept=".wav,.mp3" + :limit="1" + > + <el-button size="small" type="primary" + >鐐瑰嚮涓婁紶</el-button + > + </el-upload> + </el-form-item> + </el-col> + <el-col :span="6"> + <span + style="font-size: 12px" + v-if="indexform.nomatchvoice" + >{{ + indexform.nomatchvoice.substring( + indexform.nomatchvoice.lastIndexOf("/") + 1 + ) + }}</span + > + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + indexform.nomatchvoice + ? indexform.nomatchvoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> + </el-row> + </div> + + <div class="topicxq"> + <el-row :gutter="10"> + <el-col :span="20" + ><el-form-item label="闈欓粯璇濇湳"> + <el-input + type="textarea" + style="width: 400px" + placeholder="璇疯緭鍏�" + v-model="indexform.slienceText" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + + <el-row> + <el-col :span="6"> + <el-form-item label="闈欓粯璇煶" prop="verbaltrickyy"> + <el-upload + class="upload-demo" + :action="uploadImgUrl" + :show-file-list="false" + :headers="headers" + :on-success=" + (response, file) => + handleChange(response, file, 3) + " + accept=".wav,.mp3" + :limit="1" + > + <el-button size="small" type="primary" + >鐐瑰嚮涓婁紶</el-button + > + </el-upload> + </el-form-item> + </el-col> + <el-col :span="6"> + <span + style="font-size: 12px" + v-if="indexform.sliencevoice" + >{{ + indexform.sliencevoice.substring( + indexform.sliencevoice.lastIndexOf("/") + 1 + ) + }}</span + > + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + indexform.sliencevoice + ? indexform.sliencevoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> + </el-row> + </div> + <div class="topicxq"> + <el-row :gutter="10"> + <el-col :span="20" + ><el-form-item label="鍚笉娓呰瘽鏈�"> + <el-input + style="width: 400px" + type="textarea" + placeholder="璇疯緭鍏�" + v-model="indexform.noClearlyText" + show-word-limit + > + </el-input> </el-form-item + ></el-col> + </el-row> + + <el-row> + <el-col :span="6"> + <el-form-item label="鍚笉娓呰闊�" prop="verbaltrickyy"> + <el-upload + class="upload-demo" + :action="uploadImgUrl" + :show-file-list="false" + :headers="headers" + :on-success=" + (response, file) => + handleChange(response, file, 4) + " + accept=".wav,.mp3" + :limit="1" + > + <el-button size="small" type="primary" + >鐐瑰嚮涓婁紶</el-button + > + </el-upload> + </el-form-item> + </el-col> + <el-col :span="6"> + <span + style="font-size: 12px" + v-if="indexform.noclearlyvoice" + >{{ + indexform.noclearlyvoice.substring( + indexform.noclearlyvoice.lastIndexOf("/") + 1 + ) + }}</span + > + </el-col> + <el-col :span="6"> + <mini-audio + :audio-source=" + indexform.noclearlyvoice + ? indexform.noclearlyvoice + : 'https://example.com/example.mp3' + " + ></mini-audio> + </el-col> + </el-row> + </div> + </div> + </el-form> + </div> + </el-tab-pane> + </el-tabs> + </div> + </el-drawer> + <!-- 娣诲姞閫傜敤鐤剧梾绐楀彛 --> + <Optional-Form + ref="child" + :dialogVisiblepatient="dialogVisiblepatient" + :overallCase="illnesslist" + @addoption="dialogVisiblepatient = false" + @kkoption="dialogVisiblepatient = true" + /> + </div> +</template> + +<script> +import { listtag } from "@/api/system/label"; +import store from "@/store"; +import { listDept } from "@/api/system/dept"; +import Regular from "@/components/Regular"; //姝e垯缁勪欢 +import { + getFollowupclassify, + addtargetillness, + getTaskFollowup, + Taskparticty, + getverbaltricklist, + getverbaltrick, + delFollowupinfo, + Followupinfo, + getFollowuplist, + deltargetillness, + getillnesslist, + depthospgetson, + depthospgetsonlist, + illnesslistget, + getillness, + getgenerallist, +} from "@/api/AiCentre/index"; +import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢 +import { getToken } from "@/utils/auth"; +import { deptTreeSelect } from "@/api/system/user"; + +export default { + name: "tpuconfigurat", + components: { Regular, OptionalForm }, + data() { + return { + headers: { + Authorization: "Bearer " + getToken(), + }, + uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort", + Editprogress: 1, //缂栬緫杩涘害 + loading: false, // 閬僵灞� + drawer: false, //鎺у埗灞曞紑 + radios: [], //澶氶�夐閫変腑 + radioas: "", //濉┖棰樼瓟妗� + task: null, //鏄惁鏉ヨ嚜浠诲姟 + taskform: null, //浠诲姟淇℃伅 + Operateit: true, + indexform: { + ivrTaskScriptTargetoptionList: [], + }, + labelInfovalue: [], //鏍囩涓存椂瀛樺偍 + deptNamesvalue: [], //绉戝涓存椂瀛樺偍 + dialogVisiblepatient: false, //閫傜敤鐤剧梾绐楀彛 + dynamicTags: [], + indexAssortlist: [], + inputValue: "", + inputValueillness: "", + topicobj: { + noMatchText: "鎶辨瓑锛屾垜娌℃湁鍚噦锛屾偍鑳藉啀璇翠竴閬嶅悧?", + noClearlyText: "鎶辨瓑锛屾垜娌℃湁鍚竻鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?", + slienceText: "鎶辨瓑锛屾垜娌℃湁鍚埌鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?", + }, + total: 1, + id: "", + ruleForm: { + templateName: "", + revisitBefore: + "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚銆�", + revisitAfter: + "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", + ivrLibaTemplateTagList: [], + ivrTaskTemplateScriptVOList: [], + tempDetpRelevances: [], + }, + rules: {}, + optionstag: [], + prefollowuplist: [], + postfollowuplist: [], + tempDetpRelevanceslist: [], //绉戝鏁版嵁 + tempDetpRelevanceslistform: [], //绉戝鏁版嵁 + tempbelongWards: [], //鐥呭尯鏁版嵁 + tempbelongWardsform: [], //鐥呭尯鏁版嵁 + generallist: [ + { value: "1", label: "闅忚閫氱敤搴撲竴" }, + { value: "2", label: "闅忚浜屽簱" }, + ], + + fileList: [ + { + name: "food.jpeg", + url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", + }, + ], + administrativelist: [ + { value: "1", label: "蹇冨绉�" }, + { value: "2", label: "蹇冨唴绉�" }, + ], + standbylist: [], + themelist: [], + languagelist: [], + courtyardlist: [], + precedencetype: [], + usable: [], + required: [], + valuetype: [], + valuetypes: [], + askvaluetype: [], + mode: [], + inputVisible: false, + inputVisibleillness: false, + illnessVisible: false, //鎸囨爣鐤剧梾寮规 + deptOptions: [], + optionsillness: [], + illnesslistapi: [], + illnesslist: [], + defaultProps: { + children: "ivrLibaTemplateAssortList", + label: "indexAssortName", + }, + tempDetpRelevanceslist: [], + delScriptVOList: [], + optionIndex: "", + activeName: "first", + variablelist: [ + { variatename: "濮撳悕", variate: "${name}", default: 1 }, + { variatename: "鐢佃瘽", variate: "${phone}", default: 1 }, + { variatename: "鐥呮儏", variate: "${illness}", default: 1 }, + ], + deptlist: [], + hosplist: [], + flatArray: [], + props: { multiple: true, value: "deptId", label: "deptName" }, + + variablelist: [ + { + variable: "paitent", + value: "琛ㄧず鎮h�呯殑鏍囪瘑", + }, + ], + queryParamsdept: { + tempid: "", + type: 2, + }, + + valssu: [], + radio: "", + addvalue: "娣诲姞棰樼洰", + // 棰樼洰琛ㄦ牸鏁版嵁 + userList: [], + belongWards: [], + belongDepts: [], + // 鏌ヨ鍙傛暟 + queryParams: { + pageNum: 1, + pageSize: 10, + userName: undefined, + phonenumber: undefined, + status: undefined, + deptId: undefined, + IDnumber: undefined, + }, + }; + }, + activated() { + if (this.id != this.$route.query.id) { + console.log(1); + + this.RoutingDataProcessing(); + this.gettabList(); + this.getvFollowup(); + this.auxiliary(); + } else { + this.tempDetpRelevanceslistform = []; + this.tempbelongWardsform = []; + } + }, + + created() { + this.RoutingDataProcessing(); + this.gettabList(); + this.getvFollowup(); + this.auxiliary(); + this.getDeptTree(); + this.mode = store.getters.mode; + this.usable = store.getters.usable; + this.required = store.getters.required; + this.valuetype = store.getters.valuetype; + this.valuetypes = store.getters.valuetypelb; + this.askvaluetype = store.getters.askvaluetype; + this.languagelist = store.getters.languagelist; + this.courtyardlist = store.getters.courtyardlist; + this.precedencetype = store.getters.precedencetype; + this.belongWards = store.getters.belongWards; + this.belongDepts = store.getters.belongDepts; + }, + mounted() {}, + computed: { + displayedTags() { + // 杩斿洖鍓�10涓猼ag + return this.illnesslist.slice(0, 10); + }, + hasMore() { + // 鍒ゆ柇鏄惁鏈夋洿澶氱殑tag + return this.illnesslist.length > 10; + }, + remaining() { + // 璁$畻鍓╀綑鐨則ag鏁伴噺 + return this.illnesslist.length - 10; + }, + }, + + methods: { + //鍏叡鏂规硶-------------------- + getIndexInArray(arr, obj) { + return arr.indexOf(obj); + }, + processElement(element) { + return { ...element, isoperation: 0 }; + }, + // 璺敱鏁版嵁澶勭悊 + RoutingDataProcessing() { + this.id = this.$route.query.id; + this.task = this.$route.query.task; + this.queryParamsdept.tempid = this.id; + }, + // 鑾峰彇绉戝鏍� + getDeptTree() { + // 绉戝鍒楄〃 + deptTreeSelect().then((response) => { + this.deptOptions = response.data; + this.flatArray = this.flattenArray(response.data); + }); + }, + flattenArray(multiArray) { + let result = []; + + // 閫掑綊鍑芥暟锛岀敤浜庡皢澶氱骇鏁扮粍杞崲涓轰竴缁存暟缁勶紝鍙寘鍚渶搴曞眰鐨勫厓绱� + function flatten(element) { + // 濡傛灉褰撳墠鍏冪礌鏈夊瓙鍏冪礌锛岀户缁�掑綊 + if (element.children && element.children.length > 0) { + element.children.forEach((child) => flatten(child)); + } else { + // 鍏嬮殕鍏冪礌浠ラ伩鍏嶄慨鏀瑰師濮嬫暟鎹� + let item = JSON.parse(JSON.stringify(element)); + result.push(item); // 灏嗘渶搴曞眰鐨勫厓绱犳坊鍔犲埌缁撴灉鏁扮粍 + } + } + + // 浠庨《灞傚厓绱犲紑濮嬮�掑綊 + multiArray.forEach((element) => flatten(element)); + return result; // 杩斿洖鍙寘鍚渶搴曞眰鍏冪礌鐨勪竴缁存暟缁� + }, + // 鑾峰彇琛ㄥ崟鏁版嵁 + getvFollowup() { + if (this.id) { + getTaskFollowup(this.id).then((res) => { + if (res.code == 200) { + console.log(res, "浠诲姟妯℃澘"); + this.ruleForm = res.data; + if (this.ruleForm.deptNames) + // this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); + this.ruleForm.suitway = this.ruleForm.suitway.split(","); + if (this.ruleForm.campus) + this.ruleForm.campus = this.ruleForm.campus.split(","); + this.ruleForm.submoduleID = this.ruleForm.submoduleID.split(","); + console.log(this.ruleForm.submoduleID, "submoduleID"); + + this.ruleForm.submoduleID = this.ruleForm.submoduleID.map((res) => { + return Number(res); + }); + + this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList; + if (this.ruleForm.ivrLibaTemplateTagList) + this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList.map( + this.processElement + ); + this.sortFn(); + } + }); + getillness({ outid: this.id, type: 3 }).then((res) => { + this.illnesslist = res.rows; + this.illnesslist.forEach((item) => { + item.icdname = item.icd10name; + }); + }); + } else { + this.ruleForm = { + templateName: "", + ivrLibaTemplateTagList: [], + ivrTaskTemplateScriptVOList: [], + tempDetpRelevances: [], + }; + this.deptOptions = []; + this.optionsillness = []; + this.illnesslistapi = []; + this.illnesslist = []; + this.dynamicTags = []; + this.tempDetpRelevanceslist = []; + } + }, + // 闄勫睘鏁版嵁琛� + auxiliary() { + // 鍒嗙被 + getFollowupclassify({}).then((res) => { + this.indexAssortlist = res.rows; + }); + this.tempDetpRelevanceslist = []; + this.tempbelongWards = []; + + if (this.id) { + depthospgetsonlist(this.queryParamsdept).then((res) => { + if (res.code == 200) { + let arr = res.rows; + console.log(arr, "arr"); + + arr.forEach((item) => { + if (item.deptType == 1) { + console.log(this.deptlist, "11"); + this.deptlist.push(item); + console.log("22"); + this.tempDetpRelevanceslist.push(item.deptCode); + } else if (item.deptType == 2) { + this.hosplist.push(item); + this.tempbelongWards.push(item.deptCode); + console.log("33"); + } + }); + } + }); + } + + // 鐤剧梾 + getillnesslist({ + pageNum: 1, + pageSize: 100, + }).then((response) => { + this.optionsillness = response.rows; + }); + getgenerallist({ + pageNum: 1, + pageSize: 100, + }).then((res) => { + this.generallist = res.rows; + }); + // 鐤剧梾鍒� + }, + // 閫夐」閰嶇疆璺宠浆瑙﹀彂 + branchFlagfn(row) { + if (this.topicobj.branchFlag == 1 && this.topicobj.nextScriptno != 0) { + this.topicobj.nextScriptno = + this.topicobj.ivrTaskScriptTargetoptionList[0].nextQuestion; + } + }, + //淇濆瓨 + submitForm(formName) { + if (this.ruleForm.id) { + this.ruleForm.isoperation = 2; + } else { + this.ruleForm.isoperation = 1; + } + if (!this.ruleForm.assortid) { + this.ruleForm.assortid = -1; + } + this.ruleForm.labelInfo = JSON.stringify(this.dynamicTags); + if (Array.isArray(this.ruleForm.suitway)) + this.ruleForm.suitway = this.ruleForm.suitway.join(","); + if (Array.isArray(this.ruleForm.campus)) + this.ruleForm.campus = this.ruleForm.campus.join(","); + if (Array.isArray(this.ruleForm.submoduleID)) + this.ruleForm.submoduleID = this.ruleForm.submoduleID.join(","); + + // 鎻愪氦 + this.ruleForm.ivrTaskTemplateScriptVOList.forEach((res) => { + if (!res.isoperation) { + res.isoperation = 2; + } + res.ivrTaskScriptTargetoptionList = + res.ivrTaskScriptTargetoptionList.map((item) => { + if (!item.isoperation) { + item.isoperation = 2; + item.templateID = this.ruleForm.id; + } + return item; + }); + }); + this.delScriptVOList.forEach((item) => { + this.ruleForm.ivrTaskTemplateScriptVOList.push(item); + }); + // Taskparticty(this.ruleForm).then((res) => { + // if (res.code == 200) { + // this.$modal.msgSuccess("缂栬緫鎴愬姛"); + // this.$modal.closeLoading(); + // this.confirmillness(res.data); + // // window.location.reload(); + // // const obj = { path: "/knowledge/tpuconfigurat/?id=" + this.id }; + // // this.$tab.closeOpenPage(obj); + // } else { + // this.$modal.msgError("淇濆瓨澶辫触"); + // this.$modal.closeLoading(); + // } + // }); + if (this.id) { + this.ruleForm.isoperation = 2; + this.ruleForm.tempDetpRelevances = []; + Taskparticty(this.ruleForm).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.confirmillness(); + this.putbelongDepts(this.id); + this.$modal.closeLoading(); + this.$router.go(-1); + // window.location.reload(); + } else { + this.$modal.closeLoading(); + } + }); + } else { + this.ruleForm.isoperation = 1; + this.ruleForm.version = this.ruleForm.version + ? this.ruleForm.version + : "1.0"; + this.ruleForm.tempDetpRelevances = []; + Taskparticty(this.ruleForm).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.confirmillness(res.data); + this.putbelongDepts(res.data); + this.$modal.closeLoading(); + this.$router.go(-1); + } else { + this.$modal.closeLoading(); + } + }); + } + }, + confirmillness(guid) { + this.illnesslist.forEach((item, index) => { + if (guid) { + item.outid = guid; + } else { + console.log(this.ruleForm); + item.outid = this.ruleForm.id; + } + item.icd10name = item.icdname; + item.icd10code = item.icdcode; + item.type = 3; + if (!item.id) { + addtargetillness(item).then((res) => {}); + } + }); + this.illnessVisible = false; + this.$modal.msgSuccess("缂栬緫鎴愬姛"); + }, + // 绉戝澶勭悊 + Departmenttreatment() { + this.$modal.loading("姝e湪淇淇濆瓨鏁版嵁锛岃绋嶅��..."); + this.tempDetpRelevanceslist.forEach((item) => { + let result = this.deptlist.some((obj) => obj.deptCode == item); + + if (!result) { + this.tempDetpRelevanceslistform.push({ + deptType: 1, + longTemp: this.ruleForm.longTemp, + deptCode: item, + tempid: this.id, + type: 2, + }); + } + }); + this.tempbelongWards.forEach((item) => { + let result = this.hosplist.some((obj) => obj.deptCode == item); + if (!result) { + this.tempbelongWardsform.push({ + deptType: 2, + longTemp: this.ruleForm.longTemp, + deptCode: item, + tempid: this.id, + type: 2, + // 1 : 闂嵎妯℃澘搴搃d銆�11锛氶棶鍗蜂换鍔℃ā鏉垮簱id锛�2 :璇煶闂嵎搴搃d銆�21锛氳闊充换鍔℃ā鏉垮簱id锛�3 : 瀹f暀妯℃澘搴搃d锛�33锛氬鏁欎换鍔℃ā鏉垮簱id + }); + } + }); + setTimeout(() => { + this.submitForm(); + }, 1000); + // this.submitForm(); + }, + // 淇濆瓨绉戝/鐥呭尯 + putbelongDepts(id) { + this.tempDetpRelevanceslistform.forEach((item) => { + if (!item.tempid) item.tempid = id; + }); + + this.tempbelongWardsform.forEach((item) => { + if (!item.tempid) item.tempid = id; + }); + if (this.tempDetpRelevanceslistform.length > 0) { + depthospgetson(this.tempDetpRelevanceslistform).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("绉戝鏂板鎴愬姛"); + } + }); + } + if (this.tempbelongWardsform.length > 0) { + depthospgetson(this.tempbelongWardsform).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("闄㈠尯鏂板鎴愬姛"); + } + }); + } + }, + // 涓嬩竴姝� + nextstep() { + if (this.Editprogress <= 2) { + return this.Editprogress++; + } + }, + // 涓婁竴姝� + laststep() { + this.Editprogress = this.Editprogress - 1; + }, + // 鍏抽棴 + closeFm() { + this.$confirm("閫�鍑轰笉浼氫繚鐣欓〉闈㈠唴瀹规洿鏀�, 鏄惁缁х画?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + const obj = { path: "/knowledge/templateku/" }; + this.$tab.closeOpenPage(obj); + }) + .catch(() => { + this.$message({ + type: "info", + message: "宸插彇娑�", + }); + }); + }, + //鎺у埗璇煶鏂囦欢(鏂�) + handleChange(response, file, additionalParam) { + console.log(response); + console.log(additionalParam); + if (additionalParam == 1) { + this.indexform.ivrVoice = response.url; + } else if (additionalParam == 2) { + this.indexform.nomatchvoice = response.url; + } else if (additionalParam == 3) { + this.indexform.sliencevoice = response.url; + } else if (additionalParam == 4) { + this.indexform.noclearlyvoice = response.url; + } + this.$forceUpdate(); + }, + //鎺у埗璇煶鏂囦欢 + handleChanges(response, file, additionalParam) { + console.log(response); + console.log(additionalParam); + if (additionalParam == 1) { + this.topicobj.ivrVoice = response.url; + } else if (additionalParam == 2) { + this.topicobj.nomatchvoice = response.url; + } else if (additionalParam == 3) { + this.topicobj.sliencevoice = response.url; + } else if (additionalParam == 4) { + this.topicobj.noclearlyvoice = response.url; + } + this.$forceUpdate(); + }, + // 鏂囦欢瓒呭嚭涓暟闄愬埗鏃剁殑閽╁瓙 + handleExceed(files, fileList) { + this.$message.warning( + `褰撳墠闄愬埗閫夋嫨 1 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${ + files.length + fileList.length + } 涓枃浠禶 + ); + }, + // 鏍囩----------------- + gettabList() { + const tagqueryParams = { + pageNum: 1, + pageSize: 1000, + tagcategoryid: "0", + }; + listtag(tagqueryParams).then((response) => { + this.optionstag = response.rows; + }); + }, + handleClosetag(tag) { + const lindex = this.dynamicTags.indexOf(tag); + this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); + this.ruleForm.ivrLibaTemplateTagList[lindex].isoperation = 3; + }, + handleInputConfirm() { + let tagvalue = {}; + let tagname = this.inputValue; + if (tagname) { + listtag({ + pageNum: 1, + pageSize: 1000, + tagcategoryid: "0", + tagname: tagname, + }).then((res) => { + if (res.rows[0]) { + tagvalue = res.rows[0]; + tagvalue.isoperation = 1; + } else { + tagvalue = { + tagname: tagname, + isoperation: 1, + }; + } + const exists = this.dynamicTags.some( + (department) => department.tagname === tagname + ); + if (exists) { + this.$modal.msgError("鏍囩閲嶅"); + return; + } + this.ruleForm.ivrLibaTemplateTagList.push(tagvalue); + this.dynamicTags.push(tagvalue); + }); + } + this.inputVisible = false; + this.inputValue = ""; + }, + remoteMethodtag(query) { + if (query !== "") { + this.loading = true; + setTimeout(() => { + this.loading = false; + listtag({ tagname: query, tagcategoryid: "0" }).then((res) => { + this.optionstag = res.rows; + }); + }, 200); + } else { + this.optionstag = []; + } + }, + showInput() { + this.inputVisible = true; + }, + //璇濇湳棰樼洰---------------- + addzbiao() {}, + resetQuery() { + this.queryParams = { pageNum: 1, pageSize: 10 }; + this.getaddtopiclist(); + }, + getaddtopiclist() { + this.drawer = true; + getverbaltricklist(this.queryParams).then((res) => { + this.loading = false; + this.userList = res.rows; + this.total = res.total; + console.log(this.userList); + }); + }, + addtopic(row) { + if ( + this.ruleForm.ivrTaskTemplateScriptVOList.some( + (obj) => obj.scriptTopic == row.scriptTopic + ) + ) { + this.$modal.msgError("璇ラ鐩凡瀛樺湪"); + return; + } + getverbaltrick({ id: row.id }).then((res) => { + console.log(res, "璇︽儏"); + res.data.isoperation = 1; + res.data.pid = this.ruleForm.id; + res.data.ivrTaskScriptTargetoptionList.forEach((item) => { + item.isoperation = 1; + }); + this.ruleForm.ivrTaskTemplateScriptVOList.push(res.data); + this.sortFn(); + this.$modal.msgSuccess("娣诲姞鎴愬姛"); + }); + }, + handleDelete(row) { + this.$modal + .confirm('鏄惁纭鍒犻櫎闂锛�"' + row.scriptTopic + '"锛�') + .then(() => { + this.ruleForm.ivrTaskTemplateScriptVOList.splice( + this.ruleForm.ivrTaskTemplateScriptVOList.indexOf(row), + 1 + ); + row.isoperation = 3; + if (row.id) { + this.delScriptVOList.push(row); + } + this.sortFn(); + this.$modal.msgSuccess("宸插垹闄わ紝淇濆瓨妯℃澘鐢熸晥"); + }) + .catch(() => {}); + }, + handleUpdate(row) { + console.log(row, "鍗曚綋鏁版嵁"); + this.optionIndex = this.ruleForm.ivrTaskTemplateScriptVOList.indexOf(row); + if (row.ivrTaskScriptTargetoptionList.length) { + this.topicobj = row; + this.topicobj.valueType = row.valueType; + } else { + getverbaltrick({ id: row.id }).then((res) => { + if (res.data) { + this.topicobj = res.data; + console.log(res.data, "topicobj"); + } else { + this.topicobj = row; + console.log("娌℃壘鍒伴�夐」锛岃鏌ョ湅闂搴撴槸鍚︽纭厤缃�"); + } + }); + } + }, + syioption(row) { + const index = this.getIndexInArray( + this.ruleForm.ivrTaskTemplateScriptVOList, + row + ); + const item = this.ruleForm.ivrTaskTemplateScriptVOList.splice( + index, + 1 + )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.ruleForm.ivrTaskTemplateScriptVOList.splice(index - 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + this.sortFn(); + }, + xiayioption(row) { + const index = this.getIndexInArray( + this.ruleForm.ivrTaskTemplateScriptVOList, + row + ); + const item = this.ruleForm.ivrTaskTemplateScriptVOList.splice( + index, + 1 + )[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓� + this.ruleForm.ivrTaskTemplateScriptVOList.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣� + this.sortFn(); + }, + // 闂鎺掑簭 + sortFn() { + console.log(this.ruleForm.ivrTaskTemplateScriptVOList); + + this.ruleForm.ivrTaskTemplateScriptVOList.forEach((item, index) => { + item.sort = Number(index) + 1; + console.log(this.ruleForm.ivrTaskTemplateScriptVOList.length); + console.log(item.sort); + + if (item.sort == this.ruleForm.ivrTaskTemplateScriptVOList.length) { + item.nextScriptno = 0; + } else { + item.nextScriptno = item.sort + 1; + } + if (item.ivrTaskScriptTargetoptionList && !item.branchFlag) { + item.ivrTaskScriptTargetoptionList.forEach((items) => { + items.nextQuestion = Number(item.sort) + 1; + }); + } + }); + this.$forceUpdate(); + + console.log(this.ruleForm.ivrTaskTemplateScriptVOList); + }, + // -----------------------璇濇湳閫夐」 + deloption(item) { + const index = this.topicobj.ivrTaskScriptTargetoptionList.indexOf(item); + if (index != -1) { + if (item.id) { + console.log(item, "chunz"); + item.isoperation = 3; + console.log(this.topicobj.ivrTaskScriptTargetoptionList); + this.$forceUpdate(); + } else { + this.topicobj.ivrTaskScriptTargetoptionList.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱� + } + // this.sortFn(); + } else { + console.log("鏈壘鍒拌瀵硅薄"); + } + }, + // 淇敼棰樼洰淇℃伅 + Submittopicobj() { + this.$modal + .confirm( + '鏄惁纭鏂板鍚嶇О涓�"' + this.indexform.scriptTopic + '"鐨勯棶棰樻暟鎹紵' + ) + .then(() => { + this.indexform.isoperation = 1; + this.indexform.pid = this.ruleForm.id; + this.indexform.ivrTaskScriptTargetoptionList.forEach((item) => { + item.isoperation = 1; + }); + this.ruleForm.ivrTaskTemplateScriptVOList.push(this.indexform); + this.indexform = { + ivrTaskScriptTargetoptionList: [], + }; + this.drawer = false; + + this.sortFn(); + this.$modal.msgSuccess("棰樼洰鏂板鎴愬姛锛屼繚瀛樻ā鏉跨敓鏁�"); + }); + }, + + // --------------------- + resetForm(formName) { + this.$refs[formName].resetFields(); + }, + // 绉戝鍒犻櫎瑙﹀彂 + removetag(row) { + let result = this.deptlist + .filter((item) => item.deptCode == row) + .map((item) => item.id); + console.log(result.length); + if (result.length) { + depthospgetsondel(result).then((res) => { + if (res.code) { + } + }); + } + }, + // 鍒犻櫎鍒犻櫎瑙﹀彂 + removehpsp(row) { + let result = this.hosplist + .filter((item) => item.deptCode == row) + .map((item) => item.id); + if (result.length) { + depthospgetsondel(result).then((res) => { + if (res.code) { + } + }); + } + }, + // 棰勮--------------- + preview() { + console.log(this.ruleForm); + this.valssu = this.ruleForm.ivrTaskTemplateScriptVOList; + this.Editprogress = 3; + }, + // 鍓嶅線娴嬭瘯 + measurement() { + this.$modal + .confirm("鍗冲皢鍓嶅線妯℃澘娴嬭瘯椤甸潰锛岃纭妯℃澘鏁版嵁宸蹭繚瀛樸��") + .then((res) => { + this.$router.push({ + path: "/knowledge/templateku/configurat/measurement", + query: { + id: this.id, + name: this.ruleForm.templateName, + timeout: this.ruleForm.silencetime, + }, + }); + }) + .catch(() => {}); + }, + // 鏂板缓妯℃澘涓复鏃堕鐩� + // 棰樼洰绫诲瀷鏇存崲 + typeselection(row) { + if (row == 1 && !this.indexform.ivrTaskScriptTargetoptionList.length) { + this.indexform.ivrTaskScriptTargetoptionList.push({ + guid: 1, + isoperation: 1, + targetvalue: "", + targetregex: "", + targetregex2: "", + dynamiccruxs: [], + nodynamiccruxs: [], + dynamiccruxsJson: "", + nodynamiccruxsJson: "", + }); + } + this.$forceUpdate(); + }, + addoptionson() { + this.indexform.ivrTaskScriptTargetoptionList.push({ + guid: 1, + isoperation: 1, + targetvalue: "", + targetregex: "", + targetregex2: "", + dynamiccruxs: [], + nodynamiccruxs: [], + dynamiccruxsJson: "", + nodynamiccruxsJson: "", + }); + }, + }, +}; +</script> + +<style lang="scss" scoped> +.Questionnairemanagement { + // display: flex; +} +.sidecolumn { + margin: 20px; + margin-bottom: 0; + 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); +} +.leftvlue { + // display: flex; + // flex: 1; + // width: 80%; + margin: 20px; + padding: 30px; + background: #ffff; + 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); + .mulsz { + font-size: 20px; + } + .leftvlue-jbxx { + font-size: 24px; + border-left: 5px solid #41a1be; + padding-left: 5px; + margin: 15px 0; + } + .demo-cascader { + margin-right: 20px; + } + .PreviewTemplate { + color: #02a7f0; + cursor: pointer; + font-size: 20px; + margin: 0 20px; + } +} +.preview-left { + margin: 20px; + // margin: 20px; + padding: 30px; + background: #ffff; + 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); + .scriptTopic-dev { + margin-bottom: 25px; + font-size: 20px !important; + .dev-text { + margin-bottom: 10px; + } + } + .headline { + display: flex; + justify-content: space-between; + font-size: 20px; + border-left: 3px solid #41a1be; + padding-left: 5px; + margin: 15px 0; + } + .topicxq { + background-color: #e2f5fc; + border-radius: 4px; + margin-top: 10px; + padding-left: 10px; + padding-top: 15px; + } +} +.xinz-inf { + font-size: 18px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + + line-height: 48px; + + .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; + } +} + +.xinz-infs { + font-size: 18px; + line-height: 48px; + + .el-tag + .el-tag { + margin-left: 10px; + } +} +.addtopic { + margin-top: 30px; +} +.presentation { + margin: 20px 0; + display: flex; + .presentation-left { + width: 45%; + // height: 500px; + .button-textxg { + color: #024df0; + } + .button-textsc { + color: #f52727; + } + } + .spresentation-left { + width: 100%; + // height: 500px; + .button-textxg { + color: #024df0; + } + .button-textsc { + color: #f52727; + } + } + .presentation-right { + width: 55%; + max-height: 688px; + margin: 0 20px; + font-size: 18px; + -webkit-box-shadow: 0 2px 4px 0 rgba(32, 32, 32, 0.12), + 0 0 6px 0 rgba(58, 57, 57, 0.04); + overflow: auto; + .headline { + display: flex; + justify-content: space-between; + font-size: 20px; + border-left: 3px solid #41a1be; + padding-left: 5px; + margin: 15px 0; + } + .topicxq { + background-color: #e2f5fc; + border-radius: 4px; + margin-top: 10px; + padding-left: 10px; + padding-top: 15px; + } + } +} +::v-deep .addtopic-input { + input { + background: #02a7f0; + color: #edf1f7; + width: 150px; + } +} +::v-deep.el-step.is-vertical .el-step__title { + font-size: 20px; +} +::v-deep.el-input--medium { + font-size: 18px !important; +} +::v-deep.ruleFormaa.el-select { + display: inline-block; + position: relative; + width: 700px; +} +.el-select__tags { + font-size: 20px; + max-width: 888px !important; +} +::v-deep.el-radio__inner { + width: 22px; + height: 22px; +} +// ::v-deep.topic-dev.el-radio__label { +// font-size: 24px; +// } +::v-deep.el-radio-group { + span { + font-size: 20px; + } +} +::v-deep.el-checkbox-group { + span { + font-size: 20px; + } +} +// ::v-deep.el-form-item--medium .el-form-item__content { +// line-height: 36px; +// display: flex; +// } +</style> diff --git a/vue.config.js b/vue.config.js index 022196a..a7a74db 100644 --- a/vue.config.js +++ b/vue.config.js @@ -37,9 +37,9 @@ [process.env.VUE_APP_BASE_API]: { // target: `http://192.168.168.60:8095`, // target: `http://10.202.20.185:8095`, - target: `http://192.168.2.13:8095`, + // target: `http://192.168.2.10:8095`, // target:`http://localhost:8095`, - // target: `http://192.168.101.135:8095`, + target: `http://192.168.101.135:8095`, // target: `http://192.168.101.166:8093`, // target: `http://192.168.191.181:8095`, changeOrigin: true, -- Gitblit v1.9.3