From 3b774a197bd7087ee42999937ccc1e7e048eb1aa Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 11 一月 2024 18:03:17 +0800
Subject: [PATCH] 指标完成

---
 src/views/repositoryai/templateku/configurat/index.vue |  320 ++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 206 insertions(+), 114 deletions(-)

diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue
index b818ccc..1178af9 100644
--- a/src/views/repositoryai/templateku/configurat/index.vue
+++ b/src/views/repositoryai/templateku/configurat/index.vue
@@ -115,20 +115,27 @@
             ></el-col>
             <el-col :span="12">
               <el-form-item label="鎾姤浼樺厛" prop="playType">
-                <el-radio-group v-model="ruleForm.playType">
-                  <el-radio
+                <el-select
+                  v-model="ruleForm.playType"
+                  size="medium"
+                  filterable
+                  placeholder="璇烽�夋嫨璇█"
+                >
+                  <el-option
+                    class="ruleFormaa"
                     v-for="item in precedencetype"
-                    :label="item.value"
-                    >{{ item.label }}</el-radio
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
                   >
-                </el-radio-group>
-              </el-form-item></el-col
-            >
+                  </el-option>
+                </el-select> </el-form-item
+            ></el-col>
           </el-row>
           <el-form-item label="闅忚鏂瑰紡" prop="region">
             <el-select
               style="width: 500px"
-              v-model="ruleForm.way"
+              v-model="ruleForm.suitway"
               size="medium"
               multiple
               filterable
@@ -229,7 +236,7 @@
           </el-form-item>
           <el-form-item label="閫傜敤闄㈠尯" prop="region">
             <el-select
-              v-model="campusvalue"
+              v-model="ruleForm.campus"
               size="medium"
               multiple
               filterable
@@ -246,28 +253,23 @@
             </el-select>
           </el-form-item>
           <el-form-item label="閫傜敤绉戝" prop="region">
-            <el-select
-              style="width: 500px"
-              v-model="deptNamesvalue"
-              size="medium"
-              multiple
-              filterable
-              placeholder="璇烽�夋嫨鍒嗙被锛堝閫夛級"
+            <el-cascader
+              v-model="tempDetpRelevanceslist"
+              :options="deptList"
+              :props="props"
+              :show-all-levels="false"
+              clearable
             >
-              <el-option
-                class="ruleFormaa"
-                v-for="item in administrativelist"
-                :key="item.label"
-                :label="item.label"
-                :value="item.label"
-              >
-              </el-option>
-            </el-select>
+              <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.waya"
+              v-model="ruleForm.submoduleID"
               size="medium"
               multiple
               filterable
@@ -341,7 +343,7 @@
               >涓嬩竴姝�</el-button
             >
             <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
-            <el-button @click="submitForm('ruleForm')"
+            <el-button @click="Departmenttreatment('ruleForm')"
               >淇濆瓨闅忚妯$増鍩虹淇℃伅</el-button
             >
           </el-form-item>
@@ -356,32 +358,35 @@
             type="primary"
             icon="el-icon-plus"
             round
-            @click="drawer = true"
+            @click="getaddtopiclist"
             >娣诲姞棰樼洰</el-button
           >
         </div>
         <div class="presentation">
           <div class="presentation-left">
             <el-card class="box-card" style="min-height: 688px">
-              <el-table v-loading="loading" :data="userList">
+              <el-table
+                v-loading="loading"
+                :data="ruleForm.ivrLibaTemplateScriptVOList"
+              >
                 <el-table-column
                   label="缂栧彿"
                   align="center"
-                  key="userid"
-                  prop="userid"
+                  key="id"
+                  prop="id"
                 />
                 <el-table-column
                   label="鏍囬"
                   align="center"
-                  key="userName"
-                  prop="userName"
+                  key="questiontitle"
+                  prop="questiontitle"
                   :show-overflow-tooltip="true"
                 />
                 <el-table-column
                   label="闂璇濇湳"
                   align="center"
-                  key="verbaltrick"
-                  prop="verbaltrick"
+                  key="questionText"
+                  prop="questionText"
                   :show-overflow-tooltip="true"
                 />
 
@@ -402,7 +407,7 @@
                       type="danger"
                       icon="el-icon-delete"
                       circle
-                      @click="deloption(scope.row)"
+                      @click="handleDelete(scope.row)"
                     ></el-button>
                     <el-button
                       @click="syioption(scope.row)"
@@ -420,14 +425,6 @@
                 </el-table-column>
               </el-table>
             </el-card>
-
-            <pagination
-              v-show="total > 0"
-              :total="total"
-              :page.sync="queryParams.pageNum"
-              :limit.sync="queryParams.pageSize"
-              @pagination="getList"
-            />
           </div>
           <div class="presentation-right">
             <el-card class="box-card">
@@ -446,24 +443,40 @@
                 </div>
                 <el-form-item label="棰樼洰鏍囬">
                   <el-input
-                    v-model="topicobj.title"
+                    v-model="topicobj.questiontitle"
                     placeholder="璇疯緭鍏ユ爣棰�"
                   ></el-input>
                 </el-form-item>
                 <el-row :gutter="10">
                   <el-col :span="12"
-                    ><el-form-item label="鏄惁蹇呯瓟">
-                      <el-radio-group v-model="topicobj.resource">
-                        <el-radio label="鏄�"></el-radio>
-                        <el-radio label="鍚�"></el-radio>
-                      </el-radio-group> </el-form-item
+                    ><el-form-item label="鏄惁蹇呭~">
+                      <el-select
+                        v-model="topicobj.ismandatory"
+                        placeholder="璇烽�夋嫨"
+                      >
+                        <el-option
+                          v-for="item in required"
+                          :key="item.value"
+                          :label="item.label"
+                          :value="item.value"
+                        >
+                        </el-option>
+                      </el-select> </el-form-item
                   ></el-col>
                   <el-col :span="12"
-                    ><el-form-item label="鏄惁闅愯棌">
-                      <el-radio-group v-model="topicobj.resourcea">
-                        <el-radio label="鏄�"></el-radio>
-                        <el-radio label="鍚�"></el-radio>
-                      </el-radio-group> </el-form-item
+                    ><el-form-item label="鏄惁鍙敤">
+                      <el-select
+                        v-model="topicobj.isavailable"
+                        placeholder="璇烽�夋嫨"
+                      >
+                        <el-option
+                          v-for="item in usable"
+                          :key="item.value"
+                          :label="item.label"
+                          :value="item.value"
+                        >
+                        </el-option>
+                      </el-select> </el-form-item
                   ></el-col>
                 </el-row>
                 <div class="headline">
@@ -477,14 +490,17 @@
                     >
                   </div>
                 </div>
-                <div class="topicxq" v-for="item in 2">
+                <div
+                  class="topicxq"
+                  v-for="item in topicobj.ivrLibaScriptTargetoptionList"
+                >
                   <el-row :gutter="10">
                     <el-col :span="12"
                       ><el-form-item label="閫夐」鍚�">
                         <el-input
                           type="text"
                           placeholder="璇疯緭鍏�"
-                          v-model="queryParams.text"
+                          v-model="item.targetvalue"
                           show-word-limit
                         >
                         </el-input> </el-form-item
@@ -494,7 +510,7 @@
                         <el-input
                           type="text"
                           placeholder="璇疯緭鍏ヨ妭鐐�"
-                          v-model="queryParams.text"
+                          v-model="item.targetid"
                           show-word-limit
                         >
                         </el-input> </el-form-item
@@ -506,18 +522,18 @@
                         <el-input
                           type="text"
                           placeholder="(榛樿)鏃犲0"
-                          v-model="queryParams.text"
+                          v-model="item.text"
                           maxlength="10"
                           show-word-limit
                         >
                         </el-input> </el-form-item
                     ></el-col>
                     <el-col :span="12"
-                      ><el-form-item label="閫変腑璺宠浆">
+                      ><el-form-item label="閫変腑璺宠浆(缂�)">
                         <el-input
                           type="text"
                           placeholder="璇疯緭鍏ラ鐩妭鐐�"
-                          v-model="queryParams.text"
+                          v-model="item.jump"
                           show-word-limit
                         >
                         </el-input> </el-form-item
@@ -528,7 +544,7 @@
                       style="width: 24vw"
                       type="textarea"
                       placeholder="璇疯緭鍏ラ鍙�"
-                      v-model="queryParams.text"
+                      v-model="item.targetregex"
                       show-word-limit
                     >
                     </el-input>
@@ -569,7 +585,9 @@
         >
         <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
         <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
-        <el-button @click="Saveproblem('ruleForm')">淇濆瓨棰樼洰鏁版嵁</el-button>
+        <el-button @click="Departmenttreatment('ruleForm')"
+          >淇濆瓨棰樼洰鏁版嵁</el-button
+        >
       </div>
       <!-- 闅忚妯$増棰勮 -->
       <div v-if="Editprogress == 3">
@@ -642,35 +660,20 @@
         >
           <el-form-item label="鏍囬" prop="userName">
             <el-input
-              v-model="queryParams.userName"
+              v-model="queryParams.questiontitle"
               placeholder="璇疯緭鍏�"
               clearable
               style="width: 200px"
-              @keyup.enter.native="handleQuery"
+              @keyup.enter.native="getaddtopiclist"
             />
           </el-form-item>
-          <el-form-item label="涓婚" prop="sickness">
-            <el-select
-              v-model="ruleForm.classify"
-              size="medium"
-              placeholder="璇烽�夋嫨鍒嗙被"
-            >
-              <el-option
-                class="ruleFormaa"
-                v-for="item in themelist"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
+
           <el-form-item>
             <el-button
               type="primary"
               icon="el-icon-search"
               size="medium"
-              @click="handleQuery"
+              @click="getaddtopiclist"
               >鎼滅储</el-button
             >
             <el-button icon="el-icon-refresh" size="medium" @click="resetQuery"
@@ -682,15 +685,15 @@
           <el-table-column
             label="鏍囬"
             align="center"
-            key="userName"
-            prop="userName"
+            key="questiontitle"
+            prop="questiontitle"
             width="100"
           />
           <el-table-column
             label="闂璇濇湳"
             align="center"
-            key="verbaltrick"
-            prop="verbaltrick"
+            key="questionText"
+            prop="questionText"
             width="200"
             :show-overflow-tooltip="true"
           />
@@ -701,10 +704,7 @@
             class-name="small-padding fixed-width"
           >
             <template slot-scope="scope">
-              <el-button
-                size="medium"
-                type="text"
-                @click="handleUpdate(scope.row)"
+              <el-button size="medium" type="text" @click="addtopic(scope.row)"
                 ><span class="button-textxg"
                   ><i class="el-icon-circle-plus-outline"></i>娣诲姞</span
                 ></el-button
@@ -720,7 +720,7 @@
 <script>
 import { listtag } from "@/api/system/label";
 import store from "@/store";
-
+import { listDept } from "@/api/system/dept";
 import {
   getFollowupclassify,
   delFollowupclassify,
@@ -728,6 +728,8 @@
   addtargetillness,
   getvFollowup,
   compileFollowup,
+  getverbaltricklist,
+  getverbaltrick,
   delFollowupinfo,
   Followupinfo,
   getFollowuplist,
@@ -744,7 +746,6 @@
       drawer: false, //鎺у埗灞曞紑
       radios: [], //澶氶�夐閫変腑
       radioas: "", //濉┖棰樼瓟妗�
-      campusvalue: [], //闄㈠尯涓存椂瀛樺偍
       labelInfovalue: [], //鏍囩涓存椂瀛樺偍
       deptNamesvalue: [], //绉戝涓存椂瀛樺偍
       dynamicTags: [],
@@ -759,7 +760,10 @@
       optionstag: [],
       prefollowuplist: [],
       postfollowuplist: [],
-      generallist: [{ value: "1", label: "闅忚閫氱敤搴撲竴" }],
+      generallist: [
+        { value: "1", label: "闅忚閫氱敤搴撲竴" },
+        { value: "2", label: "闅忚浜屽簱" },
+      ],
 
       fileList: [
         {
@@ -776,6 +780,7 @@
       courtyardlist: [],
       precedencetype: [],
       usable: [],
+      required: [],
       mode: [],
       inputVisible: false,
       inputVisibleillness: false,
@@ -788,6 +793,14 @@
         children: "ivrLibaTemplateAssortList",
         label: "indexAssortName",
       },
+      tempDetpRelevanceslist: [],
+      variablelist: [
+        { variatename: "濮撳悕", variate: "${name}", default: 1 },
+        { variatename: "鐢佃瘽", variate: "${phone}", default: 1 },
+        { variatename: "鐥呮儏", variate: "${illness}", default: 1 },
+      ],
+      deptList: [],
+      props: { multiple: true, value: "deptId", label: "deptName" },
 
       variablelist: [
         {
@@ -846,6 +859,7 @@
     this.auxiliary();
     this.mode = store.getters.mode;
     this.usable = store.getters.usable;
+    this.required = store.getters.required;
     this.languagelist = store.getters.languagelist;
     this.courtyardlist = store.getters.courtyardlist;
     this.precedencetype = store.getters.precedencetype;
@@ -855,12 +869,24 @@
     getIndexInArray(arr, obj) {
       return arr.indexOf(obj);
     },
+    processElement(element) {
+      return { ...element, isoperation: 0 };
+    },
     // 鑾峰彇琛ㄥ崟鏁版嵁
     getvFollowup() {
       this.id = this.$route.query.id;
 
       getvFollowup({ id: this.id }).then((res) => {
         this.ruleForm = res.data;
+        this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames);
+        this.ruleForm.suitway = this.ruleForm.suitway.split(",");
+        this.ruleForm.campus = this.ruleForm.campus.split(",");
+        this.ruleForm.submoduleID = this.ruleForm.submoduleID.split(",");
+        this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList;
+        this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList.map(
+          this.processElement
+        );
+        console.log(this.ruleForm.suitway);
       });
       getillnesslist({
         pageNum: 1,
@@ -870,6 +896,9 @@
       });
       getillness({ outid: this.id, type: 3 }).then((res) => {
         this.illnesslist = res.rows;
+      });
+      listDept(this.queryParams).then((response) => {
+        this.deptList = this.handleTree(response.data, "deptId");
       });
     },
     // 闄勫睘鏁版嵁琛�
@@ -884,22 +913,60 @@
       if (this.ruleForm.id) {
         this.ruleForm.isoperation = 2;
       } else {
-        this.ruleForm.isoperation = 2;
+        this.ruleForm.isoperation = 1;
       }
-      this.ruleForm.campus = JSON.stringify(this.illnesslist);
-      this.ruleForm.deptNames = this.deptNamesvalue.join(",");
       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(",");
+
       //   鎻愪氦
-      this.$refs[formName].validate((valid) => {
-        if (valid) {
-          compileFollowup(this.ruleForm).then((res) => {
-            this.$modal.msgSuccess("淇敼鎴愬姛");
-          });
-        } else {
-          console.log("error submit!!");
-          return false;
+
+      compileFollowup(this.ruleForm).then((res) => {
+        this.$modal.msgSuccess("缂栬緫鎴愬姛");
+      });
+      this.illnesslist.forEach((item, index) => {
+        if (!item.id) {
+          addtargetillness(item).then((res) => {});
         }
       });
+      if (this.illnesslistapi.length) {
+        deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
+      }
+    },
+    // 绉戝澶勭悊
+    Departmenttreatment() {
+      this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist);
+      console.log(this.tempDetpRelevanceslist);
+      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]);
+          });
+        }
+      });
+      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;
+        }
+      });
+      console.log(this.ruleForm.tempDetpRelevances);
+      setTimeout(() => {
+        this.submitForm();
+      }, 1000);
+      // this.submitForm();
     },
     // 涓嬩竴姝�
     nextstep() {
@@ -928,8 +995,7 @@
           });
         });
     },
-    // 淇濆瓨棰樼洰淇℃伅
-    Saveproblem() {},
+
     /** 鏌ヨ棰樼洰鍒楄〃 */
     getList() {
       //   this.loading = true;
@@ -976,7 +1042,7 @@
       console.log(this.dynamicTags.indexOf(tag));
       const lindex = this.dynamicTags.indexOf(tag);
       this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
-      this.ruleForm.ivrLibaTemplateTargetList[lindex].isoperation = 3;
+      this.ruleForm.ivrLibaTemplateTagList[lindex].isoperation = 3;
     },
     handleInputConfirm() {
       let tagvalue = {};
@@ -997,7 +1063,7 @@
               isoperation: 1,
             };
           }
-          this.ruleForm.ivrLibaTemplateTargetList.push(tagvalue);
+          this.ruleForm.ivrLibaTemplateTagList.push(tagvalue);
           this.dynamicTags.push(tagvalue);
         });
       }
@@ -1020,10 +1086,39 @@
     showInput() {
       this.inputVisible = true;
     },
-    //娴嬭瘯琛ㄥ崟 ---------------------------------
+    //璇濇湳棰樼洰----------------
     addzbiao() {},
-    handleUpdate() {},
-    deloption(item) {
+    resetQuery() {
+      this.queryParams = { pageNum: 1, pageSize: 10 };
+      this.getaddtopiclist();
+    },
+    getaddtopiclist() {
+      this.drawer = true;
+      getverbaltricklist(this.queryParams).then((res) => {
+        this.loading = false;
+        this.userList = res.rows;
+        this.total = res.total;
+        console.log(this.userList);
+      });
+    },
+    addtopic(row) {
+      row.isoperation = 1;
+      this.ruleForm.ivrLibaTemplateScriptVOList.push(row);
+    },
+    handleDelete(row) {
+      this.ruleForm.ivrLibaTemplateScriptVOList.splice(
+        this.ruleForm.ivrLibaTemplateScriptVOList.indexOf(row),
+        1
+      );
+    },
+    handleUpdate(row) {
+      console.log(row.id);
+      getverbaltrick({ id: row.id }).then((res) => {
+        this.topicobj = res.data;
+        console.log(res.data);
+      });
+    },
+    handleDelete(item) {
       const index = this.userList.indexOf(item);
       if (index !== -1) {
         this.userList.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱�
@@ -1055,9 +1150,6 @@
       console.log(this.userList);
     },
     // ---------------------
-    // 鏌ヨ棰樺簱
-    handleQuery() {},
-    resetQuery() {},
     resetForm(formName) {
       this.$refs[formName].resetFields();
     },

--
Gitblit v1.9.3