From f2d39455f5939851c3612848803bdca625062817 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 30 十月 2024 11:31:32 +0800
Subject: [PATCH] 测试完成

---
 src/views/repositoryai/templateku/configurat/index.vue |  309 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 198 insertions(+), 111 deletions(-)

diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue
index 5316fa5..8c2cc6a 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,16 @@
                 >
                   <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 :gutter="20">
             <el-col :span="8">
               <el-form-item label="闈欓粯鏃堕棿(绉�)" prop="name">
@@ -470,28 +472,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 +498,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 +551,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 +595,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 +606,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 +646,7 @@
                     @branchFlagfn="branchFlagfn"
                     :branchFlag="topicobj.branchFlag ? true : false"
                     :controlsc="false"
+                    :scriptType="topicobj.scriptType"
                   />
                   <!-- 鏃犲尮閰嶇被鍨� -->
                   <div class="topicxq">
@@ -886,6 +909,8 @@
     <!-- 娣诲姞棰樼洰寮圭獥 -->
     <el-drawer
       title="娣诲姞棰樼洰"
+      @close="$forceUpdate()"
+      @closed="$forceUpdate()"
       :visible.sync="drawer"
       custom-class="demo-drawer"
       size="50%"
@@ -1016,7 +1041,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 +1081,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 +1125,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 +1136,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 +1424,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,9 +1462,9 @@
       inputValue: "",
       inputValueillness: "",
       topicobj: {
-        noMatchText: "",
-        noClearlyText: "",
-        slienceText: "",
+        noMatchText:'鎶辨瓑锛屾垜娌℃湁鍚噦锛屾偍鑳藉啀璇翠竴閬嶅悧?',
+        noClearlyText:'鎶辨瓑锛屾垜娌℃湁鍚竻鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?',
+        slienceText:'鎶辨瓑锛屾垜娌℃湁鍚埌鎮ㄨ鐨勮瘽锛屾偍鍙互鍐嶈涓�娆″悧?',
       },
       total: 1,
       id: "",
@@ -1479,7 +1527,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 +1538,10 @@
           value: "琛ㄧず鎮h�呯殑鏍囪瘑",
         },
       ],
+      queryParamsdept: {
+        tempid: "",
+        type: 2,
+      },
 
       valssu: [],
       radio: "",
@@ -1509,9 +1563,6 @@
     };
   },
   activated() {
-    console.log(this.id);
-    console.log(this.$route.query.id);
-
     if (this.id != this.$route.query.id) {
       console.log(1);
 
@@ -1519,7 +1570,7 @@
       this.gettabList();
       this.getvFollowup();
       this.auxiliary();
-    }else{
+    } else {
       this.tempDetpRelevanceslistform = [];
       this.tempbelongWardsform = [];
     }
@@ -1530,6 +1581,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 +1621,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() {
@@ -1618,10 +1693,6 @@
         this.dynamicTags = [];
         this.tempDetpRelevanceslist = [];
       }
-
-      listDept(this.queryParams).then((response) => {
-        this.deptList = this.handleTree(response.data, "deptId");
-      });
     },
     // 闄勫睘鏁版嵁琛�
     auxiliary() {
@@ -1631,24 +1702,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 +1758,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,14 +1779,17 @@
             return item;
           });
       });
+      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);
-
-          const obj = { path: "/knowledge/templateku/" };
-          this.$tab.closeOpenPage(obj);
+          window.location.reload();
+          // const obj = { path: "/knowledge/tpuconfigurat/?id=" + this.id };
+          // this.$tab.closeOpenPage(obj);
         } else {
           this.$modal.msgError("淇濆瓨澶辫触");
 
@@ -1737,9 +1819,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({
@@ -1768,8 +1848,8 @@
       }, 1000);
       // this.submitForm();
     },
-     // 淇濆瓨绉戝/鐥呭尯
-     putbelongDepts(id) {
+    // 淇濆瓨绉戝/鐥呭尯
+    putbelongDepts(id) {
       if (this.tempDetpRelevanceslistform.length > 0) {
         depthospgetson(this.tempDetpRelevanceslistform).then((res) => {
           if (res.code == 200) {
@@ -1818,7 +1898,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 +1913,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 +1939,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 +1965,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 +2029,6 @@
         });
         this.ruleForm.ivrLibaTemplateScriptVOList.push(res.data);
         this.sortFn();
-        this.$forceUpdate();
         this.$modal.msgSuccess("娣诲姞鎴愬姛");
       });
     },
@@ -1958,7 +2041,9 @@
             1
           );
           row.isoperation = 3;
-          this.delScriptVOList.push(row);
+          if (row.id) {
+            this.delScriptVOList.push(row);
+          }
           this.sortFn();
           this.$modal.msgSuccess("宸插垹闄わ紝淇濆瓨妯℃澘鐢熸晥");
         })
@@ -2025,6 +2110,8 @@
           });
         }
       });
+      this.$forceUpdate();
+
       console.log(this.ruleForm.ivrLibaTemplateScriptVOList);
     },
     // -----------------------璇濇湳閫夐」
@@ -2056,8 +2143,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 +2161,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 +2180,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