From 196465c3777895faffeb176ff2b836c993a450b5 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期五, 01 十一月 2024 18:01:23 +0800 Subject: [PATCH] 测试完成 --- src/views/repositoryai/templateku/configurat/index.vue | 391 ++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 266 insertions(+), 125 deletions(-) diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue index 5316fa5..5c3a376 100644 --- a/src/views/repositoryai/templateku/configurat/index.vue +++ b/src/views/repositoryai/templateku/configurat/index.vue @@ -234,6 +234,25 @@ >鐤剧梾璇︽儏</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" @@ -267,9 +286,9 @@ > <el-option class="ruleFormaa" - v-for="item in belongDepts" + v-for="item in flatArray" :key="item.deptCode" - :label="item.deptName" + :label="item.label" :value="item.deptCode" > </el-option> @@ -290,33 +309,36 @@ > <el-option class="ruleFormaa" - v-for="item in belongWards" - :key="item.districtCode" - :label="item.districtName" - :value="item.districtCode" + 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 :gutter="20"> - <el-col :span="12"> - <el-form-item label="闅忚鍓嶅鐞�" prop="name"> - <el-input - type="textarea" - show-word-limit - v-model="ruleForm.revisitBefore" - ></el-input></el-form-item - ></el-col> - <el-col :span="12"> - <el-form-item label="闅忚鍚庡鐞�" prop="region"> - <el-input - type="textarea" - show-word-limit - v-model="ruleForm.revisitAfter" - ></el-input> </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"> @@ -470,28 +492,20 @@ > <div class="headline">棰樼洰璁剧疆璇︽儏</div> <el-row> - <el-col :span="12" + <el-col :span="24" ><el-form-item label="棰樼洰鏍囬"> <el-input v-model="topicobj.scriptTopic" placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" ></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> - <el-col :span="20" + <el-col :span="24" ><el-form-item label="闂璇濇湳"> <el-input type="textarea" - style="width: 400px" + style="width: 600px" v-model="topicobj.scriptContent" placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" ></el-input> </el-form-item @@ -504,6 +518,13 @@ 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> @@ -550,9 +571,30 @@ <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-form-item label="璇煶鏂囦欢" prop="verbaltrickyy"> <el-upload class="upload-demo" :action="uploadImgUrl" @@ -573,10 +615,10 @@ <el-col :span="6"> <span style="font-size: 18px; margin-top: 10px" - v-if="topicobj.scriptVoice" + v-if="topicobj.ivrVoice" >{{ - topicobj.scriptVoice.substring( - topicobj.scriptVoice.lastIndexOf("/") + 1 + topicobj.ivrVoice.substring( + topicobj.ivrVoice.lastIndexOf("/") + 1 ) }}</span > @@ -584,8 +626,8 @@ <el-col :span="6"> <mini-audio :audio-source=" - topicobj.scriptVoice - ? topicobj.scriptVoice + topicobj.ivrVoice + ? topicobj.ivrVoice : 'https://example.com/example.mp3' " ></mini-audio> @@ -624,6 +666,7 @@ @branchFlagfn="branchFlagfn" :branchFlag="topicobj.branchFlag ? true : false" :controlsc="false" + :scriptType="topicobj.scriptType" /> <!-- 鏃犲尮閰嶇被鍨� --> <div class="topicxq"> @@ -886,6 +929,8 @@ <!-- 娣诲姞棰樼洰寮圭獥 --> <el-drawer title="娣诲姞棰樼洰" + @close="$forceUpdate()" + @closed="$forceUpdate()" :visible.sync="drawer" custom-class="demo-drawer" size="50%" @@ -1016,7 +1061,7 @@ <el-col :span="18" ><el-form-item label="闂璇濇湳"> <el-input - style="width: 400px" + style="width: 600px" type="textarea" v-model="indexform.scriptContent" placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" @@ -1056,9 +1101,30 @@ </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-form-item label="璇煶鏂囦欢" prop="verbaltrickyy"> <el-upload class="upload-demo" :action="uploadImgUrl" @@ -1079,10 +1145,10 @@ <el-col :span="6"> <span style="font-size: 18px; margin-top: 10px" - v-if="indexform.scriptVoice" + v-if="indexform.ivrVoice" >{{ - indexform.scriptVoice.substring( - indexform.scriptVoice.lastIndexOf("/") + 1 + indexform.ivrVoice.substring( + indexform.ivrVoice.lastIndexOf("/") + 1 ) }}</span > @@ -1090,8 +1156,8 @@ <el-col :span="6"> <mini-audio :audio-source=" - indexform.scriptVoice - ? indexform.scriptVoice + indexform.ivrVoice + ? indexform.ivrVoice : 'https://example.com/example.mp3' " ></mini-audio> @@ -1378,16 +1444,18 @@ getFollowuplist, deltargetillness, getillnesslist, - depthospgetsonlist , + 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", + name: "tpuconfigurat", components: { Regular, OptionalForm }, data() { return { @@ -1414,14 +1482,16 @@ inputValue: "", inputValueillness: "", topicobj: { - noMatchText: "", - noClearlyText: "", - slienceText: "", + noMatchText:'鎶辨瓑锛屾垜娌℃湁鍚噦锛屾偍鑳藉啀璇翠竴閬嶅悧?', + noClearlyText:'鎶辨瓑锛屾垜娌℃湁鍚竻鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?', + slienceText:'鎶辨瓑锛屾垜娌℃湁鍚埌鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?', }, total: 1, id: "", ruleForm: { templateName: "", +revisitBefore: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闅忚銆�", +revisitAfter: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒", ivrLibaTemplateTagList: [], ivrLibaTemplateScriptVOList: [], tempDetpRelevances: [], @@ -1479,7 +1549,9 @@ { variatename: "鐢佃瘽", variate: "${phone}", default: 1 }, { variatename: "鐥呮儏", variate: "${illness}", default: 1 }, ], - deptList: [], + deptlist: [], + hosplist: [], + flatArray: [], props: { multiple: true, value: "deptId", label: "deptName" }, variablelist: [ @@ -1488,6 +1560,10 @@ value: "琛ㄧず鎮h�呯殑鏍囪瘑", }, ], + queryParamsdept: { + tempid: "", + type: 2, + }, valssu: [], radio: "", @@ -1509,9 +1585,6 @@ }; }, activated() { - console.log(this.id); - console.log(this.$route.query.id); - if (this.id != this.$route.query.id) { console.log(1); @@ -1519,7 +1592,7 @@ this.gettabList(); this.getvFollowup(); this.auxiliary(); - }else{ + } else { this.tempDetpRelevanceslistform = []; this.tempbelongWardsform = []; } @@ -1530,6 +1603,7 @@ this.gettabList(); this.getvFollowup(); this.auxiliary(); + this.getDeptTree(); this.mode = store.getters.mode; this.usable = store.getters.usable; this.required = store.getters.required; @@ -1569,11 +1643,34 @@ 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 = []; - // console.log(this.task, "task"); - // if (this.task) { - // this.id = this.$route.query.id; - // } + // 閫掑綊鍑芥暟锛岀敤浜庡皢澶氱骇鏁扮粍杞崲涓轰竴缁存暟缁勶紝鍙寘鍚渶搴曞眰鐨勫厓绱� + 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() { @@ -1582,9 +1679,9 @@ if (res.code == 200) { console.log(2211); this.ruleForm = res.data; - this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); + if (this.ruleForm.deptNames)this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); this.ruleForm.suitway = this.ruleForm.suitway.split(","); - this.ruleForm.campus = this.ruleForm.campus.split(","); + if (this.ruleForm.campus)this.ruleForm.campus = this.ruleForm.campus.split(","); this.ruleForm.submoduleID = this.ruleForm.submoduleID.split(","); this.ruleForm.submoduleID = this.ruleForm.submoduleID.map((res) => { return Number(res); @@ -1618,10 +1715,6 @@ this.dynamicTags = []; this.tempDetpRelevanceslist = []; } - - listDept(this.queryParams).then((response) => { - this.deptList = this.handleTree(response.data, "deptId"); - }); }, // 闄勫睘鏁版嵁琛� auxiliary() { @@ -1631,24 +1724,29 @@ }); this.tempDetpRelevanceslist = []; this.tempbelongWards = []; - depthospgetsonlist(this.queryParamsdept).then((res) => { - if (res.code == 200) { - let arr = res.rows; - arr.forEach((item) => { - if (item.deptType == 1) { - this.deptlist.push(item); - this.tempDetpRelevanceslist.push(item.deptCode); - } else if (item.deptType == 2) { - this.hosplist.push(item); - this.tempbelongWards.push(item.deptCode); - } - }); - } - }); - // 绉戝 - listDept(this.queryParams).then((response) => { - this.deptList = this.handleTree(response.data, "deptId"); - }); + + 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, @@ -1682,9 +1780,12 @@ 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(","); + 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.ivrLibaTemplateScriptVOList.forEach((res) => { @@ -1700,20 +1801,47 @@ return item; }); }); - compileFollowup(this.ruleForm).then((res) => { - if (res.code == 200) { - this.$modal.msgSuccess("缂栬緫鎴愬姛"); - this.$modal.closeLoading(); - this.confirmillness(res.data); - - const obj = { path: "/knowledge/templateku/" }; - this.$tab.closeOpenPage(obj); - } else { - this.$modal.msgError("淇濆瓨澶辫触"); - - this.$modal.closeLoading(); - } + this.delScriptVOList.forEach((item) => { + this.ruleForm.ivrLibaTemplateScriptVOList.push(item); }); + // compileFollowup(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 = []; + compileFollowup(this.ruleForm).then((res) => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.confirmillness(); + this.putbelongDepts(this.id); + this.$modal.closeLoading(); + // this.$router.go(-1); + window.location.reload(); + }); + } else { + this.ruleForm.isoperation = 1; + this.ruleForm.version = this.ruleForm.version + ? this.ruleForm.version + : "1.0"; + this.ruleForm.tempDetpRelevances = []; + compileFollowup(this.ruleForm).then((res) => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.confirmillness(res.data); + this.putbelongDepts(res.data); + this.$modal.closeLoading(); + this.$router.go(-1); + }); + } }, confirmillness(guid) { this.illnesslist.forEach((item, index) => { @@ -1737,9 +1865,7 @@ Departmenttreatment() { this.$modal.loading("姝e湪淇淇濆瓨鏁版嵁锛岃绋嶅��..."); this.tempDetpRelevanceslist.forEach((item) => { - console.log(item); let result = this.deptlist.some((obj) => obj.deptCode == item); - console.log(this.result, "result"); if (!result) { this.tempDetpRelevanceslistform.push({ @@ -1747,7 +1873,7 @@ longTemp: this.ruleForm.longTemp, deptCode: item, tempid: this.id, - type: 1, + type: 2, }); } }); @@ -1759,7 +1885,8 @@ longTemp: this.ruleForm.longTemp, deptCode: item, tempid: this.id, - type: 1, + type: 2, + // 1 : 闂嵎妯℃澘搴搃d銆�11锛氶棶鍗蜂换鍔℃ā鏉垮簱id锛�2 :璇煶闂嵎搴搃d銆�21锛氳闊充换鍔℃ā鏉垮簱id锛�3 : 瀹f暀妯℃澘搴搃d锛�33锛氬鏁欎换鍔℃ā鏉垮簱id }); } }); @@ -1768,8 +1895,15 @@ }, 1000); // this.submitForm(); }, - // 淇濆瓨绉戝/鐥呭尯 - putbelongDepts(id) { + // 淇濆瓨绉戝/鐥呭尯 + 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) { @@ -1818,7 +1952,7 @@ console.log(response); console.log(additionalParam); if (additionalParam == 1) { - this.indexform.scriptVoice = response.url; + this.indexform.ivrVoice = response.url; } else if (additionalParam == 2) { this.indexform.nomatchvoice = response.url; } else if (additionalParam == 3) { @@ -1833,7 +1967,7 @@ console.log(response); console.log(additionalParam); if (additionalParam == 1) { - this.topicobj.scriptVoice = response.url; + this.topicobj.ivrVoice = response.url; } else if (additionalParam == 2) { this.topicobj.nomatchvoice = response.url; } else if (additionalParam == 3) { @@ -1859,13 +1993,10 @@ tagcategoryid: "0", }; listtag(tagqueryParams).then((response) => { - console.log(response); this.optionstag = response.rows; }); }, handleClosetag(tag) { - console.log(tag); - console.log(this.dynamicTags.indexOf(tag)); const lindex = this.dynamicTags.indexOf(tag); this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1); this.ruleForm.ivrLibaTemplateTagList[lindex].isoperation = 3; @@ -1888,6 +2019,13 @@ 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); @@ -1945,7 +2083,6 @@ }); this.ruleForm.ivrLibaTemplateScriptVOList.push(res.data); this.sortFn(); - this.$forceUpdate(); this.$modal.msgSuccess("娣诲姞鎴愬姛"); }); }, @@ -1958,7 +2095,9 @@ 1 ); row.isoperation = 3; - this.delScriptVOList.push(row); + if (row.id) { + this.delScriptVOList.push(row); + } this.sortFn(); this.$modal.msgSuccess("宸插垹闄わ紝淇濆瓨妯℃澘鐢熸晥"); }) @@ -2025,6 +2164,8 @@ }); } }); + this.$forceUpdate(); + console.log(this.ruleForm.ivrLibaTemplateScriptVOList); }, // -----------------------璇濇湳閫夐」 @@ -2056,8 +2197,8 @@ resetForm(formName) { this.$refs[formName].resetFields(); }, - // 绉戝鍒犻櫎瑙﹀彂 - removetag(row) { + // 绉戝鍒犻櫎瑙﹀彂 + removetag(row) { let result = this.deptlist .filter((item) => item.deptCode == row) .map((item) => item.id); @@ -2074,12 +2215,12 @@ let result = this.hosplist .filter((item) => item.deptCode == row) .map((item) => item.id); - if (result.length) { - depthospgetsondel(result).then((res) => { - if (res.code) { - } - }); - } + if (result.length) { + depthospgetsondel(result).then((res) => { + if (res.code) { + } + }); + } }, // 棰勮--------------- preview() { @@ -2093,8 +2234,8 @@ .confirm("鍗冲皢鍓嶅線妯℃澘娴嬭瘯椤甸潰锛岃纭妯℃澘鏁版嵁宸蹭繚瀛樸��") .then((res) => { this.$router.push({ - path: "/knowledge/tpuconfigurat/measurement", - query: { id: this.id, name: this.ruleForm.templateName }, + path: "/knowledge/templateku/configurat/measurement", + query: { id: this.id, name: this.ruleForm.templateName,timeout:this.ruleForm.silencetime }, }); }) .catch(() => {}); -- Gitblit v1.9.3