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