From 43988e7dae93378116a8c5f1fc76f5568d8fd4b2 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期一, 17 六月 2024 10:32:07 +0800
Subject: [PATCH] 测试完成

---
 src/views/repositoryai/intention/index.vue |  662 ++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 386 insertions(+), 276 deletions(-)

diff --git a/src/views/repositoryai/intention/index.vue b/src/views/repositoryai/intention/index.vue
index 10dd668..136109e 100644
--- a/src/views/repositoryai/intention/index.vue
+++ b/src/views/repositoryai/intention/index.vue
@@ -13,56 +13,46 @@
           class="input-with-select"
           size="medium "
         >
-          <el-button
-            @click="sidecolumnss"
-            slot="append"
-            icon="el-icon-search"
-          ></el-button>
         </el-input>
       </div>
-      <div class="bottom-fl">
-        <el-menu
-          default-active="3"
-          class="el-menu-vertical-demo"
-          @open="handleOpen"
-          @close="handleClose"
-          @select="handleSelect"
-        >
-          <el-submenu index="1">
-            <template slot="title">
-              <i class="el-icon-location"></i>
-              <span>鍒嗙被涓�</span>
-            </template>
 
-            <el-menu-item index="1-1">閫夐」1</el-menu-item>
-            <el-menu-item index="1-2">閫夐」2</el-menu-item>
-            <el-menu-item index="1-3">閫夐」3</el-menu-item>
-            <el-menu-item index="1-4">閫夐」3</el-menu-item>
-          </el-submenu>
-          <el-submenu index="2">
-            <template slot="title">
-              <i class="el-icon-menu"></i>
-              <span>鍒嗙被浜�</span>
-            </template>
-            <el-menu-item index="2-1">閫夐」1</el-menu-item>
-            <el-menu-item index="2-2">閫夐」2</el-menu-item>
-            <el-menu-item index="2-3">閫夐」3</el-menu-item>
-          </el-submenu>
-          <el-submenu index="3">
-            <template slot="title">
-              <i class="el-icon-document"></i>
-              <span>鍒嗙被涓�</span>
-            </template>
-            <el-menu-item index="2-1">閫夐」1</el-menu-item>
-          </el-submenu>
-          <el-submenu index="4">
-            <template slot="title">
-              <i class="el-icon-setting"></i>
-              <span>鍒嗙被鍥�</span>
-            </template>
-            <el-menu-item index="2-1">閫夐」1</el-menu-item>
-          </el-submenu>
-        </el-menu>
+      <div class="head-container" style="margin-top: 20px">
+        <el-tree
+          :data="deptOptions"
+          :props="defaultProps"
+          :expand-on-click-node="false"
+          :filter-node-method="filterNode"
+          ref="tree"
+          node-key="id"
+          default-expand-all
+          highlight-current
+          @node-click="handleNodeClick"
+        >
+          <span class="custom-tree-node" slot-scope="{ node, data }">
+            <span>{{ node.label }}</span>
+            <span v-if="data.id > 0">
+              <el-button
+                type="text"
+                icon="el-icon-delete"
+                circle
+                size="mini"
+                @click="() => remove(node, data)"
+              >
+              </el-button>
+            </span>
+            <span v-if="data.id > 0">
+              <el-button
+                type="text"
+                circle
+                size="mini"
+                @click="() => altertag(node, data)"
+                ><span class="button-textxg"
+                  ><i class="el-icon-edit-outline"></i
+                ></span>
+              </el-button>
+            </span>
+          </span>
+        </el-tree>
       </div>
     </div>
     <!-- 鍙充晶鏁版嵁 -->
@@ -193,19 +183,24 @@
               <el-table-column type="selection" width="50" align="center" />
               <el-table-column
                 label="搴忓彿"
+                fixed
                 align="center"
-                key="targetID"
-                prop="targetID"
+                key="id"
+                prop="id"
               />
               <el-table-column
                 label="鍊肩被鍨�"
+                fixed
                 align="center"
-                key="isenable"
-                prop="isenable"
+                key="valueType"
+                prop="valueType"
                 :show-overflow-tooltip="true"
               >
                 <template slot-scope="scope">
-                  <dict-tag :options="valuetype" :value="scope.row.isenable" />
+                  <dict-tag
+                    :options="valuetypelb"
+                    :value="scope.row.valueType"
+                  />
                 </template>
               </el-table-column>
               <el-table-column
@@ -287,6 +282,7 @@
 
               <el-table-column
                 label="鎿嶄綔"
+                fixed="right"
                 align="center"
                 width="200"
                 class-name="small-padding fixed-width"
@@ -348,7 +344,7 @@
           >
             <el-row v-if="!measurement">
               <el-col :span="12">
-                <el-form-item label="鎸囨爣鍚嶇О" prop="deptId">
+                <el-form-item label="鎸囨爣鍚嶇О" prop="targetname">
                   <el-input
                     v-model="indexform.targetname"
                     placeholder="璇疯緭鍏ユ寚鏍囩绫�"
@@ -360,15 +356,40 @@
                 <el-form-item label="鐗堟湰鍙�" prop="deptId">
                   <el-input
                     v-model="indexform.version"
-                    placeholder="璇疯緭鍏ユ寚鏍囩绫�"
+                    placeholder="榛樿1.0"
                     maxlength="40"
                   />
                 </el-form-item>
               </el-col>
             </el-row>
+            <!-- deptOptions -->
             <el-row v-if="!measurement">
-              <el-col :span="12">
-                <el-form-item label="璇█" prop="deptId">
+              <el-col :span="8">
+                <el-form-item label="鎸囨爣鍒嗙被" prop="assortid">
+                  <el-select
+                    v-model="indexform.assortid"
+                    size="medium"
+                    filterable
+                    placeholder="璇烽�夋嫨鍒嗙被"
+                  >
+                    <el-option-group
+                      v-for="group in deptOptions"
+                      :key="group.id"
+                      :label="group.indexAssortName"
+                    >
+                      <el-option
+                        v-for="item in group.ivrLibaTargetAssortList"
+                        :key="item.id"
+                        :label="item.indexAssortName"
+                        :value="item.id"
+                      >
+                      </el-option>
+                    </el-option-group>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="璇█" prop="language">
                   <el-select
                     v-model="indexform.language"
                     placeholder="璇烽�夋嫨璇█"
@@ -382,7 +403,7 @@
                   </el-select>
                 </el-form-item>
               </el-col>
-              <el-col :span="12">
+              <el-col :span="8">
                 <el-form-item label="鏄惁鍙敤" prop="isAvailable">
                   <el-select
                     v-model="indexform.isAvailable"
@@ -449,7 +470,7 @@
             <el-row v-if="!measurement">
               <el-col :span="24">
                 <el-form-item label="鍊肩被鍨�">
-                  <el-radio-group v-model="indexform.isenable">
+                  <el-radio-group v-model="indexform.valueType">
                     <el-radio :label="1">閫夐」</el-radio>
                     <el-radio :label="2">鏂囨湰</el-radio>
                     <el-radio :label="3">鏁板��</el-radio>
@@ -457,27 +478,15 @@
                 </el-form-item>
               </el-col></el-row
             >
-            <!-- <el-row v-if="!measurement">
-              <el-col :span="24">
-                <el-form-item label="閫傜敤鐤剧梾" prop="userName">
-                  <el-select
-                    v-model="indexform.suitDisease"
-                    placeholder="璇烽�夋嫨"
-                  >
-                    <el-option
-                      v-for="index in qyoptions"
-                      :key="index.value"
-                      :label="index.label"
-                      :value="index.value"
-                    ></el-option>
-                  </el-select>
-                </el-form-item> </el-col
-            ></el-row> -->
 
             <el-row v-if="!measurement">
               <el-col :span="24">
-                <el-form-item label="閫傜敤鏂瑰紡" prop="email">
-                  <el-select v-model="indexform.suitWay" placeholder="璇烽�夋嫨">
+                <el-form-item label="閫傜敤鍦烘櫙" prop="suitWay">
+                  <el-select
+                    v-model="indexform.suitWay"
+                    multiple
+                    placeholder="璇烽�夋嫨"
+                  >
                     <el-option
                       v-for="index in mode"
                       :key="index.value"
@@ -488,92 +497,58 @@
                 </el-form-item>
               </el-col>
             </el-row>
-            <el-card class="box-card" style="margin-bottom: 20px">
-              <el-table v-loading="loading" :data="testuserList">
-                <el-table-column
-                  label="搴忓彿"
-                  align="center"
-                  key="guid"
-                  prop="guid"
-                  width="50"
-                />
-                <el-table-column
-                  label="鎸囨爣閫夐」"
-                  align="center"
-                  key="targetvalue"
-                  prop="targetvalue"
-                  :show-overflow-tooltip="true"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      v-model="scope.row.targetvalue"
-                      placeholder="璇疯緭鍏ュ唴瀹�"
-                    ></el-input>
-                  </template>
-                </el-table-column>
-                <el-table-column
-                  label="瑙f瀽瑙勫垯"
-                  align="center"
-                  key="targetregex"
-                  prop="targetregex"
-                  width="460"
-                  :show-overflow-tooltip="true"
-                >
-                  <template slot-scope="scope">
-                    <el-input
-                      v-model="scope.row.targetregex"
-                      placeholder="璇疯緭鍏ュ唴瀹�"
-                    ></el-input>
-                  </template>
-                </el-table-column>
 
-                <el-table-column
-                  label="鎿嶄綔"
-                  align="center"
-                  width="200"
-                  class-name="small-padding fixed-width"
-                >
-                  <template slot-scope="scope">
-                    <el-button
-                      @click="addoption(scope.row)"
-                      type="success"
-                      icon="el-icon-circle-plus-outline"
-                      circle
-                    ></el-button>
-                    <el-button
-                      type="danger"
-                      icon="el-icon-delete"
-                      circle
-                      @click="deloption(scope.row)"
-                    ></el-button>
-                    <el-button
-                      @click="syioption(scope.row)"
-                      type="primary"
-                      icon="el-icon-top"
-                      circle
-                    ></el-button>
-                    <el-button
-                      @click="xiayioption(scope.row)"
-                      type="primary"
-                      icon="el-icon-bottom"
-                      circle
-                    ></el-button>
-                  </template>
-                </el-table-column>
-              </el-table>
+            <el-card
+              class="box-card"
+              style="margin-bottom: 20px"
+              v-if="indexform.valueType == 1"
+            >
+              <Regular
+                :TargetoptionList="testuserList"
+                :intent="false"
+                @addoption="addoption"
+                @deloption="deloption"
+                @syioption="syioption"
+                @xiayioption="xiayioption"
+              />
             </el-card>
+            <div v-if="indexform.valueType == 2">
+              <el-form-item label="鏀堕泦淇℃伅">
+                <el-input
+                  type="textarea"
+                  :rows="2"
+                  placeholder="濉叆鏀堕泦淇℃伅"
+                  v-model="indexform.reply"
+                  maxlength="50"
+                  show-word-limit
+                >
+                </el-input
+              ></el-form-item>
+            </div>
+            <div v-if="indexform.valueType == 3">
+              <el-form-item label="鏀堕泦淇℃伅">
+                <el-input
+                  type="text"
+                  placeholder="濉叆鏀堕泦淇℃伅"
+                  v-model="indexform.reply"
+                >
+                </el-input
+              ></el-form-item>
+            </div>
             <el-row :gutter="20">
               <el-col :span="12">
                 <el-form-item label="娴嬭瘯杈撳叆" prop="nickName">
                   <el-input
-                    v-model="testvalue"
+                    v-model="indexform.content"
                     placeholder="璇疯緭鍏ユ祴璇曞唴瀹�"
                     maxlength="40"
                   />
                 </el-form-item>
               </el-col>
               <el-col :span="4">
-                <el-button type="success">寮�濮嬫祴璇�</el-button>
+                <el-button type="success" @click="testtagerlist"
+                  >寮�濮嬫祴璇�</el-button
+                >
               </el-col>
             </el-row>
           </el-form>
@@ -642,66 +617,48 @@
       </span>
     </el-dialog>
     <!-- 娣诲姞绫诲埆寮规 -->
-    <el-dialog
-      :title="amendtag ? '淇敼绫诲埆' : '鏂板绫诲埆'"
-      width="30%"
-      :visible.sync="dialogFormVisible"
-    >
+    <el-dialog title="鏂板绫诲埆" width="30%" :visible.sync="dialogFormVisible">
+      <div style="text-align: center; margin-bottom: 20px">
+        <el-radio-group v-model="radio">
+          <el-radio-button label="涓诲垎绫�"></el-radio-button>
+          <el-radio-button label="瀛愬垎绫�"></el-radio-button>
+        </el-radio-group>
+      </div>
+      <el-divider></el-divider>
+
       <el-form :model="classifyform">
-        <el-form-item label="璇烽�夋嫨鎸囨爣澶х被">
-          <el-select v-model="classifyform.broadheading" placeholder="璇烽�夋嫨">
+        <el-form-item label="璇烽�夋嫨闂澶х被" v-if="radio == '瀛愬垎绫�'">
+          <el-select v-model="classifyform.pid" placeholder="璇烽�夋嫨">
             <el-option
-              v-for="item in editableTabs"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
+              v-for="item in deptOptions"
+              :key="item.id"
+              :label="item.indexAssortName"
+              :value="item.id"
             >
             </el-option>
           </el-select>
         </el-form-item>
-        <el-form-item
-          :label="amendtag ? '璇疯緭鍏ユ柊鐨勭被鍒悕绉�' : '璇疯緭鍏ョ被鍒悕绉�'"
-        >
+        <el-form-item label="璇疯緭鍏ョ被鍒悕绉�">
           <el-input
-            v-model="classifyform.categoryname"
+            v-model="classifyform.indexAssortName"
             autocomplete="off"
           ></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
+        <el-button @click="getDeptTree()">鍙� 娑�</el-button>
         <el-button type="primary" @click="submitsidecolumn">纭� 瀹�</el-button>
       </div>
-    </el-dialog>
-    <!-- 鍒犻櫎绫诲埆纭妗� -->
-    <el-dialog title="璀﹀憡" :visible.sync="deleteVisible" width="40%">
-      <div style="font-size: 20px; color: rgb(247, 76, 76)">
-        鏄惁纭鍒犻櫎鍒嗙被锛歔<span>{{ deletefenl }}</span
-        >]?
-      </div>
-      <div style="font-size: 20px">
-        姝ゆ搷浣滀細灏嗚绫诲埆涓嬫墍鏈夋ā鍧楄浆绉昏嚦[鏈垎绫籡锛屾槸鍚︾户缁垹闄ゆ鍒嗙被锛�
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button @click="deleteVisible = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="deletefenlei">纭� 瀹�</el-button>
-      </span>
     </el-dialog>
   </div>
 </template>
 
 <script>
 import {
-  listUser,
-  getUser,
-  delUser,
-  addUser,
-  updateUser,
-} from "@/api/system/user";
-import {
   gettargetInfo,
   particulartarget,
   gettargetInfoedit,
+  testtagerlist,
   addtarget,
   deletetarget,
   getillnesslist,
@@ -709,9 +666,14 @@
   getillness,
   deltargetillness,
   addtargetillness,
+  selectIvrLibaTargetAssortList,
+  addtreeselectIvrLibaTargetAssort,
+  edittreeselectIvrLibaTargetAssort,
+  delselectIvrLibaTargetAssort,
 } from "@/api/AiCentre/index";
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
+import Regular from "@/components/Regular"; //姝e垯缁勪欢
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import { listtag } from "@/api/system/label";
 import store from "@/store";
@@ -719,7 +681,7 @@
 export default {
   name: "questionnaire",
   dicts: ["sys_normal_disable", "sys_user_sex"],
-  components: { Treeselect },
+  components: { Treeselect, Regular },
   data() {
     return {
       topactiveName: "Local", //椤堕儴閫夋嫨
@@ -743,6 +705,7 @@
       dialogFormVisible: false, //淇敼娣诲姞绫诲埆寮规
       deleteVisible: false, //鍒嗙被鍒犻櫎寮规
       deletefenl: "楂樿鍘�", //鍒犻櫎椤�
+      radio: "涓诲垎绫�",
       testvalue: "",
       testgovalue: "",
       classifyform: {
@@ -765,6 +728,11 @@
       indexform: {},
       numberlb: 22,
       numberlbs: 2,
+      deptOptions: [],
+      defaultProps: {
+        children: "ivrLibaTargetAssortList",
+        label: "indexAssortName",
+      },
       sidecolumnform: {}, //娣诲姞绫诲埆琛ㄥ崟
       dialogFormVisible: false, //娣诲姞绫诲埆寮规
       sidecolumnval: "", //绫诲埆鎼滅储
@@ -781,54 +749,48 @@
       mode: [],
       optionstag: [],
       targetoptionList: [],
-      //绫诲埆鍒楄〃
-      editableTabs: [
-        {
-          title: "鎸囨爣鍒嗙被涓�",
-          number: "1",
-        },
-        {
-          title: "鎸囨爣鍒嗙被浜�",
-          number: "2",
-        },
-        {
-          title: "鎸囨爣鍒嗙被涓�",
-          number: "2",
-        },
-        {
-          title: "鎸囨爣鍒嗙被鍥�",
-          number: "2",
-        },
-        {
-          title: "鎸囨爣鍒嗙被浜�",
-          number: "2",
-        },
-      ],
+
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-        userName: undefined,
-        phonenumber: undefined,
-        status: undefined,
-        deptId: undefined,
-        IDnumber: undefined,
       },
+      valuetypelb: [],
 
       // 琛ㄥ崟鏍¢獙
-      rules: {},
+      rules: {
+        targetname: [
+          { required: true, message: "鎸囨爣鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        assortid: [
+          { required: true, message: "鎸囨爣鍒嗙被涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        language: [
+          { required: true, message: "鎸囨爣璇█涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        isAvailable: [
+          { required: true, message: "鎸囨爣璇█涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+      },
     };
   },
-  watch: {},
+  watch: {
+    // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲
+    sidecolumnval(val) {
+      console.log(val);
+      this.$refs.tree.filter(val);
+    },
+  },
   created() {
+    // 鍒濆鍖栨暟鎹�
     this.getList();
     this.gettabList();
+    this.getDeptTree();
     this.mode = store.getters.mode;
-    this.valuetype = store.getters.valuetype;
+    this.valuetypelb = store.getters.valuetypelb;
     this.languagelist = store.getters.languagelist;
     this.qyoptions = store.getters.usable;
   },
-
   methods: {
     /** 鏌ヨ鎸囨爣鍒楄〃 */
     getList() {
@@ -840,35 +802,15 @@
         this.loading = false;
       });
     },
+
     processElement(element) {
+      // 杩斿洖涓�涓柊鐨勫璞★紝灏唀lement瀵硅薄鐨勫睘鎬soperation璁剧疆涓�1
       return { ...element, isoperation: 1 };
     },
+    // 杩斿洖鏁扮粍涓寚瀹氬厓绱犵殑绱㈠紩
     getIndexInArray(arr, obj) {
+      // 杩斿洖鏁扮粍涓寚瀹氬厓绱犵殑绱㈠紩
       return arr.indexOf(obj);
-    },
-    // 娣诲姞銆佷慨鏀圭被鍒�
-    submitsidecolumn() {
-      if (this.amendtag) {
-        this.classifyform.tagcategoryid = this.idds;
-        // toamendtagcategory(this.addDateRange(this.classifyform)).then(
-        //   (response) => {
-        //     console.log(response);
-        //     this.gitclasify();
-        //   }
-        // );
-      } else {
-        // addtagcategory(this.addDateRange(this.classifyform)).then(
-        //   (response) => {
-        //     console.log(response);
-        //     this.gitclasify();
-        //   }
-        // );
-      }
-      this.classifyform = {
-        categoryname: "",
-      };
-      this.idds = "";
-      this.dialogFormVisible = false;
     },
     //鍒犻櫎鍒嗙被
     deletefenlei(row) {
@@ -886,20 +828,10 @@
       }
     },
 
-    // 渚ц竟--------------
-    handleOpen(key, keyPath) {
-      console.log(key, keyPath);
-    },
-    handleClose(key, keyPath) {
-      console.log(key, keyPath);
-    },
-    handleSelect(key, keyPath) {
-      console.log(key, keyPath);
-    },
     // 鐤剧梾-----------------------
     illnessUpdate(row) {
       this.illnessVisible = true;
-      this.indexid = row.targetID;
+      this.indexid = row.id;
       this.illnesslistapi = [];
       const illnessqueryParams = {
         pageNum: 1,
@@ -909,7 +841,7 @@
         console.log(response);
         this.optionsillness = response.rows;
       });
-      getillness({ outid: row.targetID, type: 1 }).then((res) => {
+      getillness({ outid: row.id, type: 1 }).then((res) => {
         this.illnesslist = res.rows;
         console.log(res);
       });
@@ -921,7 +853,6 @@
       }
     },
     remoteMethod(value) {
-      console.log(value);
       const illnessqueryParams = {
         pageNum: 1,
         pageSize: 100,
@@ -963,7 +894,7 @@
         deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
       }
       this.illnessVisible = false;
-      this.$modal.msgSuccess("缂栬緫鐤剧梾鎴愬姛");
+      this.$modal.msgSuccess("缂栬緫鎴愬姛");
     },
 
     // 鏍囩-----------------
@@ -1004,6 +935,7 @@
               isoperation: 1,
             };
           }
+          console.log(tagvalue);
           this.indexform.baseTagList.push(tagvalue);
           this.dynamicTags.push(tagvalue);
           console.log(this.indexform.baseTagList);
@@ -1020,10 +952,15 @@
     addoption() {
       const objvakue = {
         guid: 1,
-        targetid: this.indexform.targetid,
+        id: this.indexform.id,
         targettype: this.indexform.targettype,
-        targetvalue: "璐",
-        targetregex: "(?!涓�.*|娌�.*|鏈�.*)^.*([璐钩鍑]|璐|璇勫|璇勫),10",
+        targetvalue: "",
+        targetregex: "",
+        targetregex2: "",
+        dynamiccruxs: [],
+        nodynamiccruxs: [],
+        dynamiccruxsJson: "",
+        nodynamiccruxsJson: "",
       };
       this.testuserList.push(objvakue);
       // this.indexform.targetoptionList.push(objvakue);
@@ -1058,22 +995,116 @@
         return {
           guid: index + 1,
           targetvalue: item.targetvalue,
+          targetregex2: item.targetregex2,
           targetregex: item.targetregex,
-          targetoptionid: item.targetoptionid,
-          targetid: this.indexform.targetid,
+          id: this.indexform.id,
           targettype: this.indexform.targettype,
-          isoperation: item.targetoptionid ? 2 : 1,
+          isoperation: item.id ? 2 : 1,
           categoryName: item.categoryName,
           language: item.language,
+          dynamiccruxs: item.dynamiccruxs,
+          nodynamiccruxs: item.nodynamiccruxs,
+          dynamiccruxsJson: item.dynamiccruxsJson,
+          nodynamiccruxsJson: item.nodynamiccruxsJson,
         };
       });
       console.log(this.testuserList);
     },
     // ---------------------
-    //鎼滅储绫诲埆
-    sidecolumnss() {},
-    // 鍒囨崲鍏变韩/鏈湴
-    tophandleClick() {},
+
+    /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
+    getDeptTree() {
+      selectIvrLibaTargetAssortList({}).then((res) => {
+        this.deptOptions = res.rows;
+        this.dialogFormVisible = false;
+      });
+    },
+    // 绛涢�夎妭鐐�
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.indexAssortName.indexOf(value) !== -1;
+    },
+    // 娣诲姞绫诲埆鏍�
+    submitsidecolumn() {
+      if (this.classifyform.id) {
+        edittreeselectIvrLibaTargetAssort(this.classifyform).then((res) => {
+          this.getDeptTree();
+          this.$modal.msgSuccess("淇敼鎴愬姛");
+          this.classifyform = {};
+          this.dialogFormVisible = false;
+        });
+        return;
+      }
+      let calssvalue = {};
+      if (
+        this.classifyform.pid &&
+        this.classifyform.indexAssortName &&
+        this.radio == "瀛愬垎绫�"
+      ) {
+        const index = this.deptOptions.findIndex(
+          (obj) => obj.id == this.classifyform.pid
+        );
+        calssvalue = this.deptOptions[index];
+        console.log(calssvalue);
+        calssvalue.ivrLibaTargetAssortList.push(this.classifyform);
+      } else if (this.radio == "涓诲垎绫�" && this.classifyform.indexAssortName) {
+        this.classifyform.pid = null;
+        this.classifyform.ivrLibaTargetAssortList = [];
+      } else {
+        return this.$modal.msgError("璇峰~鍐欏畬鏁翠俊鎭�");
+      }
+
+      addtreeselectIvrLibaTargetAssort(this.classifyform).then((res) => {
+        this.getDeptTree();
+        this.$modal.msgSuccess("鏂板鎴愬姛");
+        this.classifyform = {};
+        this.dialogFormVisible = false;
+      });
+    },
+    remove(a, b) {
+      if (b.pid) {
+        this.$modal
+          .confirm('鏄惁纭鍒犻櫎鍒嗙被椤逛负"' + b.indexAssortName + '"鐨勬暟鎹」锛�')
+          .then(function () {
+            return delselectIvrLibaTargetAssort(b.id);
+          })
+          .then(() => {
+            this.getDeptTree();
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          })
+          .catch(() => {});
+      } else {
+        this.$modal
+          .confirm(
+            '鏄惁纭鍒犻櫎涓�绾у垎绫�"' +
+              b.indexAssortName +
+              '"锛熷垹闄ゅ悗鍏朵笅鍒嗙被灏嗗綊绫烩�樻湭鍒嗙被鈥�'
+          )
+          .then(() => {
+            return delselectIvrLibaTargetAssort(b.id);
+          })
+          .then(() => {
+            this.getDeptTree();
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          })
+          .catch(() => {});
+      }
+    },
+    altertag(a, b) {
+      this.dialogFormVisible = true;
+      if (!b.pid) {
+        this.radio = "涓诲垎绫�";
+      } else {
+        this.radio = "瀛愬垎绫�";
+      }
+      this.classifyform = b;
+      this.dialogFormVisible = true;
+    },
+    handleNodeClick(data) {
+      this.queryParams.assortid = data.id;
+      this.getList();
+    },
+
     // 鍙栨秷鎸夐挳
     cancel() {
       this.indexopen = false;
@@ -1084,7 +1115,7 @@
     reset() {
       this.indexform = {
         suitWay: undefined,
-        targetID: undefined,
+        id: undefined,
         targetdesc: undefined,
         baseTagList: [],
         targetoptionList: [],
@@ -1100,13 +1131,16 @@
     resetQuery() {
       this.dateRange = [];
       this.resetForm("queryForm");
-      this.queryParams.deptId = undefined;
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+      };
       this.$refs.tree.setCurrentKey(null);
       this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
-      this.ids = selection.map((item) => item.targetID);
+      this.ids = selection.map((item) => item.id);
       this.single = selection.length != 1;
       this.multiple = !selection.length;
     },
@@ -1121,11 +1155,15 @@
       this.dynamicTags = [];
       this.testuserList = [
         {
-          guid: 1,
-          isoperation: 1,
           targettype: "1",
           targetvalue: "",
           targetregex: "",
+          targetregex2: "",
+          isoperation: 1,
+          dynamiccruxs: [],
+          nodynamiccruxs: [],
+          dynamiccruxsJson: "",
+          nodynamiccruxsJson: "",
         },
       ];
       this.indexopen = true;
@@ -1137,8 +1175,24 @@
       console.log(row);
       this.title = "鎸囨爣璇︽儏";
       this.indexform = row;
+      if (!row.targetoptionList[0]) {
+        row.targetoptionList = [
+          {
+            targettype: "1",
+            targetvalue: "",
+            targetregex: "",
+            targetregex2: "",
+            isoperation: 1,
+            dynamiccruxs: [],
+            nodynamiccruxs: [],
+            dynamiccruxsJson: "",
+            nodynamiccruxsJson: "",
+          },
+        ];
+      }
       this.dynamicTags = row.baseTagList.map(this.processElement);
       this.testuserList = row.targetoptionList;
+      this.testvalue = "";
       this.indexopen = true;
       this.measurement = false;
     },
@@ -1158,12 +1212,19 @@
     /** 鏇存柊/淇敼鎻愪氦鎸夐挳 */
     submitForm: function () {
       // this.indexform.targetoptionList=[]
+      this.indexform.targetoptionList = this.indexform.targetoptionList.map(
+        (res) => {
+          res.isoperation = 2;
+          return res;
+        }
+      );
       this.$refs["indexform"].validate((valid) => {
         this.indexform.targetoptionList = this.testuserList.concat(
           this.targetoptionList
         );
         if (valid) {
-          if (this.indexform.targetID != undefined) {
+          if (!this.indexform.version) this.indexform.version = "1.0";
+          if (this.indexform.id != undefined) {
             this.indexform.isoperation = 2;
             gettargetInfoedit(this.indexform).then((response) => {
               this.$modal.msgSuccess("淇敼鎴愬姛");
@@ -1182,9 +1243,24 @@
         }
       });
     },
+    // 娴嬭瘯琛ㄥ崟
+    testtagerlist() {
+      if (this.indexform.content) {
+        let data = this.indexform;
+        data.targetoptionList = this.testuserList.concat(this.targetoptionList);
+        testtagerlist(data).then((res) => {
+          this.$modal.msgSuccess("娴嬭瘯鎴愬姛");
+          this.testgovalue = res.msg;
+          this.getList();
+        });
+      } else {
+        this.$modal.msgError("璇峰~鍐欐祴璇曞唴瀹�");
+        return;
+      }
+    },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
-      const userIds = row.targetID || this.ids;
+      const userIds = row.id || this.ids;
       this.$modal
         .confirm('鏄惁纭鍒犻櫎鎸囨爣鍚嶇О涓�"' + row.targetname + '"鐨勬暟鎹」锛�')
         .then(function () {
@@ -1259,7 +1335,7 @@
   margin-top: 20px;
   margin: 20px;
   padding: 30px;
-  background: #edf1f7;
+  background: #fff;
   border: 1px solid #dcdfe6;
   -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
     0 0 6px 0 rgba(0, 0, 0, 0.04);
@@ -1340,6 +1416,40 @@
     font-size: 20px;
   }
 }
+::v-deep .el-tree-node__content {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  height: 46px;
+  font-size: 20px;
+  cursor: pointer;
+}
+::v-deep .el-tree {
+  position: relative;
+  cursor: default;
+  border-radius: 5px;
+  background: #eff8fe;
+  color: #606266;
+  border: 1px solid #bbe1fa;
+  // border: 1px solid #dcdfe6;
+  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
+    0 0 6px 0 rgba(0, 0, 0, 0.04);
+}
+::v-deep
+  .el-tree--highlight-current
+  .el-tree-node.is-current
+  > .el-tree-node__content {
+  background-color: #7799fb;
+  color: #fff;
+}
+::v-deep .el-button--mini.is-circle {
+  padding: 7px;
+  margin: 0;
+  color: red;
+}
 .button-text {
   color: rgb(70, 204, 238);
 }

--
Gitblit v1.9.3