From 9da8c98e3a623e6758ee45e2b74b78837398c650 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期六, 12 十月 2024 15:13:02 +0800 Subject: [PATCH] 测试完成 --- src/views/repositoryai/templateku/configurat/index.vue | 295 ++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 204 insertions(+), 91 deletions(-) diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue index 8cc1a63..da60548 100644 --- a/src/views/repositoryai/templateku/configurat/index.vue +++ b/src/views/repositoryai/templateku/configurat/index.vue @@ -253,58 +253,53 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="閫傜敤绉戝" prop="region"> - <el-cascader - style="width: 500px" - v-model="tempDetpRelevanceslist" - :options="deptList" - :props="props" - :show-all-levels="false" - clearable - > - <template slot-scope="{ node, data }"> - <span>{{ data.deptName }}</span> - <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span> - </template> - </el-cascader> - </el-form-item> - <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-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-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.deptName" + :value="item.deptCode" + > + </el-option> + </el-select> </el-form-item ></el-col> </el-row> + <el-row> + <el-col :span="20" + ><el-form-item label="閫傜敤鐥呭尯" prop="region"> + <el-select + v-model="tempbelongWards" + @remove-tag="removehpsp" + style="width: 55vw" + size="medium" + multiple + filterable + placeholder="璇烽�夋嫨绉戝" + > + <el-option + class="ruleFormaa" + v-for="item in flatArray" + :key="item.districtCode" + :label="item.districtName" + :value="item.districtCode" + > + </el-option> + </el-select> </el-form-item + ></el-col> + </el-row> + <el-row :gutter="20"> <el-col :span="8"> <el-form-item label="闈欓粯鏃堕棿(绉�)" prop="name"> @@ -1366,12 +1361,15 @@ 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", @@ -1417,6 +1415,10 @@ optionstag: [], prefollowuplist: [], postfollowuplist: [], + tempDetpRelevanceslist: [], //绉戝鏁版嵁 + tempDetpRelevanceslistform: [], //绉戝鏁版嵁 + tempbelongWards: [], //鐥呭尯鏁版嵁 + tempbelongWardsform: [], //鐥呭尯鏁版嵁 generallist: [ { value: "1", label: "闅忚閫氱敤搴撲竴" }, { value: "2", label: "闅忚浜屽簱" }, @@ -1463,6 +1465,7 @@ { variatename: "鐥呮儏", variate: "${illness}", default: 1 }, ], deptList: [], + flatArray:[], props: { multiple: true, value: "deptId", label: "deptName" }, variablelist: [ @@ -1477,6 +1480,8 @@ addvalue: "娣诲姞棰樼洰", // 棰樼洰琛ㄦ牸鏁版嵁 userList: [], + belongWards: [], + belongDepts: [], // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, @@ -1490,11 +1495,19 @@ }; }, activated() { + console.log(this.id); + console.log(this.$route.query.id); + if (this.id != this.$route.query.id) { + console.log(1); + this.RoutingDataProcessing(); this.gettabList(); this.getvFollowup(); this.auxiliary(); + } else { + this.tempDetpRelevanceslistform = []; + this.tempbelongWardsform = []; } }, @@ -1503,6 +1516,7 @@ this.gettabList(); this.getvFollowup(); this.auxiliary(); + this.getDeptTree(); this.mode = store.getters.mode; this.usable = store.getters.usable; this.required = store.getters.required; @@ -1511,6 +1525,8 @@ 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: { @@ -1540,11 +1556,34 @@ RoutingDataProcessing() { this.id = this.$route.query.id; this.task = this.$route.query.task; + }, + // 鑾峰彇绉戝鏍� + getDeptTree() { + // 绉戝鍒楄〃 + deptTreeSelect().then((response) => { + this.deptOptions = response.data; + this.flatArray = this.flattenArray(response.data); + console.log(this.flatArray,'鎵╁睍鏁版嵁'); + }); + }, + flattenArray(multiArray) { + let result = []; - // console.log(this.task, "task"); - // if (this.task) { - // this.id = this.$route.query.id; - // } + // 閫掑綊鍑芥暟锛岀敤浜庡皢澶氱骇鏁扮粍杞崲涓轰竴缁存暟缁� + function flatten(element, parentId) { + // 鍏嬮殕鍏冪礌浠ラ伩鍏嶄慨鏀瑰師濮嬫暟鎹� + let item = JSON.parse(JSON.stringify(element)); + if (parentId !== undefined) { + item.parentId = parentId; // 浣跨敤瀛楃涓叉垨鏁板瓧浣滀负閿� + } + result.push(item); // 灏嗗厓绱犳坊鍔犲埌缁撴灉鏁扮粍 + if (element.children && element.children.length > 0) { + element.children.forEach((child) => flatten(child, element.id)); // 閫掑綊澶勭悊瀛愬厓绱� + } + } + + multiArray.forEach((element) => flatten(element, null)); // 浠庨《灞傚厓绱犲紑濮嬮�掑綊 + return result; // 杩斿洖涓�缁存暟缁� }, // 鑾峰彇琛ㄥ崟鏁版嵁 getvFollowup() { @@ -1560,16 +1599,13 @@ this.ruleForm.submoduleID = this.ruleForm.submoduleID.map((res) => { return Number(res); }); - console.log( - this.ruleForm.submoduleID, - "this.ruleForm.submoduleID鍙�" - ); + this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList; this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList.map( this.processElement ); - console.log(this.ruleForm.suitway); + this.sortFn(); } }); getillness({ outid: this.id, type: 3 }).then((res) => { @@ -1578,6 +1614,19 @@ item.icdname = item.icd10name; }); }); + } else { + this.ruleForm = { + templateName: "", + ivrLibaTemplateTagList: [], + ivrLibaTemplateScriptVOList: [], + tempDetpRelevances: [], + }; + this.deptOptions = []; + this.optionsillness = []; + this.illnesslistapi = []; + this.illnesslist = []; + this.dynamicTags = []; + this.tempDetpRelevanceslist = []; } listDept(this.queryParams).then((response) => { @@ -1589,8 +1638,21 @@ // 鍒嗙被 getFollowupclassify({}).then((res) => { this.indexAssortlist = res.rows; - if (this.$route.query.assortid) { - this.ruleForm.assortid = Number(this.$route.query.assortid); + }); + 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); + } + }); } }); // 绉戝 @@ -1630,9 +1692,12 @@ this.ruleForm.assortid = -1; } this.ruleForm.labelInfo = JSON.stringify(this.dynamicTags); - this.ruleForm.suitway = this.ruleForm.suitway.join(","); - this.ruleForm.campus = this.ruleForm.campus.join(","); - 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) => { @@ -1684,38 +1749,54 @@ // 绉戝澶勭悊 Departmenttreatment() { this.$modal.loading("姝e湪淇淇濆瓨鏁版嵁锛岃绋嶅��..."); - this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist); - this.ruleForm.ivrLibaTemplateScriptVOList = - this.ruleForm.ivrLibaTemplateScriptVOList.concat(this.delScriptVOList); - const result = this.tempDetpRelevanceslist.map( - (subArr) => subArr[subArr.length - 1] - ); - // id鏁扮粍鏌ユ暟缁勫璞� - result.forEach((item) => { - const condition = this.ruleForm.tempDetpRelevances.some( - (obj) => obj.deptId === item - ); - if (!condition) { - listDept({ deptId: item }).then((res) => { - res.data[0].type = 2; - this.ruleForm.tempDetpRelevances.push(res.data[0]); + 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({ + deptType: 1, + longTemp: this.ruleForm.longTemp, + deptCode: item, + tempid: this.id, + type: 1, }); } }); - console.log(this.ruleForm.tempDetpRelevances); - // 鏁扮粍瀵硅薄鏌d鏁扮粍 - this.ruleForm.tempDetpRelevances.forEach((item) => { - const condition = result.some((obj) => obj === item.deptId); - if (!condition) { - const index = this.ruleForm.tempDetpRelevances.indexOf(item); - this.ruleForm.tempDetpRelevances[index].delFlag = 1; + 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: 1, + }); } }); - console.log(this.ruleForm.tempDetpRelevances); setTimeout(() => { this.submitForm(); }, 1000); // this.submitForm(); + }, + // 淇濆瓨绉戝/鐥呭尯 + putbelongDepts(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() { @@ -1821,6 +1902,13 @@ 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); }); @@ -1860,7 +1948,6 @@ }); }, addtopic(row) { - console.log(row); if ( this.ruleForm.ivrLibaTemplateScriptVOList.some( (obj) => obj.scriptTopic == row.scriptTopic @@ -1878,6 +1965,7 @@ }); this.ruleForm.ivrLibaTemplateScriptVOList.push(res.data); this.sortFn(); + this.$forceUpdate(); this.$modal.msgSuccess("娣诲姞鎴愬姛"); }); }, @@ -1943,7 +2031,8 @@ sortFn() { this.ruleForm.ivrLibaTemplateScriptVOList.forEach((item, index) => { item.sort = Number(index) + 1; - console.log(1); + console.log(this.ruleForm.ivrLibaTemplateScriptVOList.length); + console.log(item.sort); if (item.sort == this.ruleForm.ivrLibaTemplateScriptVOList.length) { item.nextScriptno = 0; @@ -1987,7 +2076,31 @@ 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); @@ -2000,7 +2113,7 @@ .confirm("鍗冲皢鍓嶅線妯℃澘娴嬭瘯椤甸潰锛岃纭妯℃澘鏁版嵁宸蹭繚瀛樸��") .then((res) => { this.$router.push({ - path: "/knowledge/tpuconfigurat/measurement", + path: "/knowledge/templateku/configurat/measurement", query: { id: this.id, name: this.ruleForm.templateName }, }); }) -- Gitblit v1.9.3