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 |  355 +++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 236 insertions(+), 119 deletions(-)

diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue
index e33ab1e..da60548 100644
--- a/src/views/repositoryai/templateku/configurat/index.vue
+++ b/src/views/repositoryai/templateku/configurat/index.vue
@@ -14,13 +14,13 @@
           <el-step>
             <template slot="title">
               <span style="cursor: pointer" @click="Editprogress = 2"
-                >闅忚妯$増棰樼洰</span
+                >闅忚妯℃澘棰樼洰</span
               >
             </template>
           </el-step>
-          <el-step description="鏌ョ湅闅忚妯$増棰勮锛屽彲瀵煎嚭PDF">
+          <el-step description="鏌ョ湅闅忚妯℃澘棰勮锛屽彲瀵煎嚭PDF">
             <template slot="title">
-              <span style="cursor: pointer" @click="preview">闅忚妯$増棰勮</span>
+              <span style="cursor: pointer" @click="preview">闅忚妯℃澘棰勮</span>
             </template>
           </el-step>
         </el-steps>
@@ -41,7 +41,7 @@
         >
           <el-row>
             <el-col :span="12">
-              <el-form-item label="妯$増鍚嶇О" prop="region">
+              <el-form-item label="妯℃澘鍚嶇О" prop="region">
                 <div>
                   <el-input
                     v-model="ruleForm.templateName"
@@ -51,7 +51,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="12">
-              <el-form-item label="闅忚妯$増鍒嗙被" prop="region">
+              <el-form-item label="闅忚妯℃澘鍒嗙被" prop="region">
                 <el-select
                   v-model="ruleForm.assortid"
                   size="medium"
@@ -75,16 +75,20 @@
               </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-form-item label="妯$増绠�浠�" prop="note">
-            <div style="width: 50%">
-              <el-input
-                type="textarea"
-                placeholder="璇疯緭鍏ョ畝浠�"
-                v-model="ruleForm.note"
-              ></el-input>
-            </div>
-          </el-form-item>
           <el-row :gutter="20">
             <el-col :span="12">
               <el-form-item label="鐗堟湰鍙�" prop="version">
@@ -249,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">
@@ -331,14 +330,14 @@
             <el-button
               type="success"
               @click="Departmenttreatment('ruleForm')"
-              >{{ task ? "淇濆瓨鍒颁换鍔℃ā鐗�" : "淇濆瓨闅忚妯$増鍩虹淇℃伅" }}</el-button
+              >{{ task ? "淇濆瓨鍒颁换鍔℃ā鏉�" : "淇濆瓨闅忚妯℃澘鍩虹淇℃伅" }}</el-button
             >
           </el-form-item>
         </el-form>
       </div>
-      <!-- 闅忚妯$増璁剧疆 -->
+      <!-- 闅忚妯℃澘璁剧疆 -->
       <div v-if="Editprogress == 2">
-        <div class="leftvlue-jbxx">闅忚妯$増棰樼洰璁剧疆</div>
+        <div class="leftvlue-jbxx">闅忚妯℃澘棰樼洰璁剧疆</div>
         <el-divider></el-divider>
         <div class="addtopic">
           <el-button
@@ -790,7 +789,7 @@
         </div>
 
         <el-button type="success" @click="Departmenttreatment('ruleForm')">{{
-          task ? "淇濆瓨鍒颁换鍔℃ā鐗�" : "淇濆瓨棰樼洰鏁版嵁"
+          task ? "淇濆瓨鍒颁换鍔℃ā鏉�" : "淇濆瓨棰樼洰鏁版嵁"
         }}</el-button>
         <el-button type="primary" plain @click="laststep()">涓婁竴姝�</el-button>
         <el-button type="success" plain @click="preview('ruleForm')"
@@ -798,9 +797,9 @@
         >
         <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
       </div>
-      <!-- 闅忚妯$増棰勮 -->
+      <!-- 闅忚妯℃澘棰勮 -->
       <div v-if="Editprogress == 3">
-        <div class="leftvlue-jbxx">闅忚妯$増闂棰勮</div>
+        <div class="leftvlue-jbxx">闅忚妯℃澘闂棰勮</div>
         <el-divider></el-divider>
 
         <div class="preview-left">
@@ -808,7 +807,6 @@
             <!-- 鍗曢�� -->
             <div
               class="scriptTopic-dev"
-
               :key="item.sort"
               v-if="item.valueType == 1"
             >
@@ -829,7 +827,6 @@
             <!-- 澶氶�� -->
             <div
               class="scriptTopic-dev"
-
               :key="item.sort"
               v-if="item.valueType == 2"
             >
@@ -851,7 +848,6 @@
             <!-- 濉┖ -->
             <div
               class="scriptTopic-dev"
-
               :key="item.sort"
               v-if="item.valueType == 3"
             >
@@ -1365,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",
@@ -1416,6 +1415,10 @@
       optionstag: [],
       prefollowuplist: [],
       postfollowuplist: [],
+      tempDetpRelevanceslist: [], //绉戝鏁版嵁
+      tempDetpRelevanceslistform: [], //绉戝鏁版嵁
+      tempbelongWards: [], //鐥呭尯鏁版嵁
+      tempbelongWardsform: [], //鐥呭尯鏁版嵁
       generallist: [
         { value: "1", label: "闅忚閫氱敤搴撲竴" },
         { value: "2", label: "闅忚浜屽簱" },
@@ -1462,6 +1465,7 @@
         { variatename: "鐥呮儏", variate: "${illness}", default: 1 },
       ],
       deptList: [],
+      flatArray:[],
       props: { multiple: true, value: "deptId", label: "deptName" },
 
       variablelist: [
@@ -1476,6 +1480,8 @@
       addvalue: "娣诲姞棰樼洰",
       // 棰樼洰琛ㄦ牸鏁版嵁
       userList: [],
+      belongWards: [],
+      belongDepts: [],
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -1489,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 = [];
     }
   },
 
@@ -1502,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;
@@ -1510,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: {
@@ -1539,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() {
@@ -1559,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) => {
@@ -1577,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) => {
@@ -1588,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);
+            }
+          });
         }
       });
       // 绉戝
@@ -1625,10 +1688,16 @@
       } else {
         this.ruleForm.isoperation = 1;
       }
+      if (!this.ruleForm.assortid) {
+        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) => {
@@ -1679,39 +1748,55 @@
     },
     // 绉戝澶勭悊
     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.$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({
+            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() {
@@ -1817,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);
         });
@@ -1856,7 +1948,6 @@
       });
     },
     addtopic(row) {
-      console.log(row);
       if (
         this.ruleForm.ivrLibaTemplateScriptVOList.some(
           (obj) => obj.scriptTopic == row.scriptTopic
@@ -1874,6 +1965,7 @@
         });
         this.ruleForm.ivrLibaTemplateScriptVOList.push(res.data);
         this.sortFn();
+        this.$forceUpdate();
         this.$modal.msgSuccess("娣诲姞鎴愬姛");
       });
     },
@@ -1888,7 +1980,7 @@
           row.isoperation = 3;
           this.delScriptVOList.push(row);
           this.sortFn();
-          this.$modal.msgSuccess("宸插垹闄わ紝淇濆瓨妯$増鐢熸晥");
+          this.$modal.msgSuccess("宸插垹闄わ紝淇濆瓨妯℃澘鐢熸晥");
         })
         .catch(() => {});
     },
@@ -1939,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;
@@ -1975,7 +2068,7 @@
           this.drawer = false;
 
           this.sortFn();
-          this.$modal.msgSuccess("棰樼洰鏂板鎴愬姛锛屼繚瀛樻ā鐗堝け鏁�");
+          this.$modal.msgSuccess("棰樼洰鏂板鎴愬姛锛屼繚瀛樻ā鏉垮け鏁�");
         });
     },
 
@@ -1983,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);
@@ -1993,16 +2110,16 @@
     // 鍓嶅線娴嬭瘯
     measurement() {
       this.$modal
-        .confirm("鍗冲皢鍓嶅線妯$増娴嬭瘯椤甸潰锛岃纭妯$増鏁版嵁宸蹭繚瀛樸��")
+        .confirm("鍗冲皢鍓嶅線妯℃澘娴嬭瘯椤甸潰锛岃纭妯℃澘鏁版嵁宸蹭繚瀛樸��")
         .then((res) => {
           this.$router.push({
-            path: "/knowledge/tpuconfigurat/measurement",
+            path: "/knowledge/templateku/configurat/measurement",
             query: { id: this.id, name: this.ruleForm.templateName },
           });
         })
         .catch(() => {});
     },
-    // 鏂板缓妯$増涓复鏃堕鐩�
+    // 鏂板缓妯℃澘涓复鏃堕鐩�
     // 棰樼洰绫诲瀷鏇存崲
     typeselection(row) {
       if (row == 1 && !this.indexform.ivrLibaScriptTargetoptionList.length) {

--
Gitblit v1.9.3