From 6e54a6688661a05de7c418612cea8b38bbc2dee3 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期一, 14 四月 2025 11:28:26 +0800
Subject: [PATCH] 测试完成

---
 src/views/repositoryai/intention/index.vue |  287 +++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 187 insertions(+), 100 deletions(-)

diff --git a/src/views/repositoryai/intention/index.vue b/src/views/repositoryai/intention/index.vue
index fcd9c99..8e7a41d 100644
--- a/src/views/repositoryai/intention/index.vue
+++ b/src/views/repositoryai/intention/index.vue
@@ -3,7 +3,7 @@
     <!-- 宸︿晶鏍� -->
     <div class="sidecolumn">
       <div class="sidecolumn-top">
-        <div class="top-wj">鎸囨爣绫诲瀷</div>
+        <div class="top-wj">鎸囨爣鍒嗙被</div>
         <div class="top-tj" @click="dialogFormVisible = true">+娣诲姞</div>
       </div>
       <div class="center-ss">
@@ -104,7 +104,7 @@
                   placeholder="璇烽�夋嫨"
                 >
                   <el-option
-                    v-for="(item, index) in qyoptions"
+                    v-for="(item, index) in askvaluetype"
                     :key="item.value"
                     :label="item.label"
                     :value="item.value"
@@ -152,7 +152,7 @@
                   icon="el-icon-plus"
                   size="medium"
                   @click="handleAdd"
-                  v-hasPermi="['system:user:add']"
+
                   >鏂板</el-button
                 >
               </el-col>
@@ -165,7 +165,7 @@
                   size="medium"
                   :disabled="multiple"
                   @click="handleDelete"
-                  v-hasPermi="['system:user:remove']"
+
                   >鍒犻櫎</el-button
                 >
               </el-col>
@@ -187,28 +187,37 @@
                 prop="id"
               /> -->
               <el-table-column
-                label="鎸囨爣绫诲瀷"
-                fixed
-                align="center"
-                key="scriptType"
-                prop="scriptType"
-                :show-overflow-tooltip="true"
-              >
-                <template slot-scope="scope">
-                  <dict-tag
-                    :options="valuetypelb"
-                    :value="scope.row.scriptType"
-                  />
-                </template>
-              </el-table-column>
-              <el-table-column
                 label="鎸囨爣鍚嶇О"
+                fixed
                 align="center"
                 key="targetname"
                 prop="targetname"
                 :show-overflow-tooltip="true"
               >
               </el-table-column>
+              <el-table-column
+                label="鎸囨爣鎻忚堪"
+                align="center"
+                key="targetdesc"
+                prop="targetdesc"
+                :show-overflow-tooltip="true"
+                width="200"
+              />
+              <el-table-column
+                label="鎸囨爣绫诲瀷"
+                align="center"
+                key="valueType"
+                prop="valueType"
+                :show-overflow-tooltip="true"
+              >
+                <template slot-scope="scope">
+                  <dict-tag
+                    :options="valuetypelb"
+                    :value="scope.row.valueType"
+                  />
+                </template>
+              </el-table-column>
+
 
               <!-- <el-table-column
                 label="姝e父鍊艰寖鍥�"
@@ -221,13 +230,7 @@
                   <span>{{ scope.row.warnup }}~{{ scope.row.warndown }}</span>
                 </template>
               </el-table-column> -->
-              <el-table-column
-                label="鎸囨爣鎻忚堪"
-                align="center"
-                key="targetdesc"
-                prop="targetdesc"
-                width="200"
-              /><el-table-column
+             <el-table-column
                 label="閫傜敤鍦烘櫙"
                 align="center"
                 key="suitWayList"
@@ -250,7 +253,7 @@
                     size="medium"
                     type="text"
                     @click="illnessUpdate(scope.row)"
-                    v-hasPermi="['system:user:edit']"
+
                     ><span class="button-textxg"
                       ><i class="el-icon-date"></i>璇︽儏</span
                     ></el-button
@@ -287,7 +290,7 @@
                     size="medium"
                     type="text"
                     @click="handleUpdate(scope.row)"
-                    v-hasPermi="['system:user:edit']"
+
                     ><span class="button-textxg"
                       ><i class="el-icon-edit"></i>淇敼</span
                     ></el-button
@@ -305,7 +308,7 @@
                     size="medium"
                     type="text"
                     @click="handleDelete(scope.row)"
-                    v-hasPermi="['system:user:remove']"
+
                     ><span class="button-textsc"
                       ><i class="el-icon-delete"></i>鍒犻櫎</span
                     ></el-button
@@ -338,6 +341,10 @@
             :rules="rules"
             label-width="100px"
           >
+            <div class="headline">
+              <div class="basics">鍩虹淇℃伅</div>
+            </div>
+            <el-divider></el-divider>
             <el-row v-if="!measurement">
               <el-col :span="12">
                 <el-form-item label="鎸囨爣鍚嶇О" prop="targetname">
@@ -349,20 +356,9 @@
                 </el-form-item>
               </el-col>
               <el-col :span="12">
-                <el-form-item label="鐗堟湰鍙�" prop="deptId">
-                  <el-input
-                    v-model="indexform.version"
-                    placeholder="榛樿1.0"
-                    maxlength="40"
-                  />
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <!-- deptOptions -->
-            <el-row v-if="!measurement">
-              <el-col :span="8">
                 <el-form-item label="鎸囨爣鍒嗙被" prop="assortid">
                   <el-select
+                  style="width: 300px;"
                     v-model="indexform.assortid"
                     size="medium"
                     filterable
@@ -383,6 +379,31 @@
                     </el-option-group>
                   </el-select>
                 </el-form-item>
+
+              </el-col>
+            </el-row>
+            <el-row v-if="!measurement">
+              <el-col :span="24">
+                <el-form-item label="鎸囨爣鎻忚堪" prop="targetdesc">
+                  <el-input
+                    v-model="indexform.targetdesc"
+                    placeholder="璇疯緭鍏ユ寚鏍囨弿杩�"
+                    id="targetdesc"
+                    @focus="currentInputId = 'targetdesc'"
+                    maxlength="40"
+                  />
+                </el-form-item> </el-col
+            ></el-row>
+            <!-- deptOptions -->
+            <el-row v-if="!measurement">
+              <el-col :span="8">
+                <el-form-item label="鐗堟湰鍙�" prop="deptId">
+                  <el-input
+                    v-model="indexform.version"
+                    placeholder="榛樿1.0"
+                    maxlength="40"
+                  />
+                </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="璇█" prop="language">
@@ -401,38 +422,23 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="鏄惁鍙敤" prop="isAvailable">
-                  <el-select
-                    v-model="indexform.isAvailable"
-                    placeholder="璇烽�夋嫨"
-                  >
-                    <el-option
-                      v-for="index in qyoptions"
-                      :key="index.value"
-                      :label="index.label"
-                      :value="index.value"
-                    ></el-option>
-                  </el-select>
+                  <el-radio-group v-model="indexform.isAvailable">
+                    <el-radio
+                      v-for="(item, index) in usable"
+                      :label="item.value"
+                      >{{ item.label }}</el-radio
+                    >
+                  </el-radio-group>
                 </el-form-item>
               </el-col>
             </el-row>
-            <el-row v-if="!measurement">
-              <el-col :span="24">
-                <el-form-item label="鎸囨爣鎻忚堪" prop="targetdesc">
-                  <el-input
-                    v-model="indexform.targetdesc"
-                    placeholder="璇疯緭鍏ユ寚鏍囨弿杩�"
-                    id="targetdesc"
-                    @focus="currentInputId = 'targetdesc'"
-                    maxlength="40"
-                  />
-                </el-form-item> </el-col
-            ></el-row>
-            <el-form-item label="鎻掑叆濉┖" prop="scriptContent">
+
+            <!-- <el-form-item label="鎻掑叆濉┖" prop="scriptContent">
               <div style="display: flex; margin-bottom: 10px">
                 <div class="tsgname" @click="tsgnameto">鎻掑叆濉┖</div>
               </div>
-            </el-form-item>
-            <el-form-item label="鏍囩" prop="desc" v-if="!measurement">
+            </el-form-item> -->
+            <el-form-item label="鏍囩" prop="dynamicTags" v-if="!measurement">
               <div class="xinz-inf">
                 <el-tag
                   :key="tag.tagname"
@@ -472,7 +478,19 @@
             </el-form-item>
             <el-row v-if="!measurement">
               <el-col :span="24">
-                <el-form-item label="鍊肩被鍨�">
+                <el-form-item prop="valueType">
+                  <template #label>
+                    缁撴灉绫诲瀷
+                    <el-tooltip
+                      class="item"
+                      effect="light"
+                      content="鏈被鍨嬩负缁撴灉鏀堕泦绫诲瀷锛涢�夐」鐢ㄤ簬鎸囧悜鎬ч鐩鏄惁绛夛紱鏂囨湰閫傜敤澶嶆潅鎯呭喌锛涙暟鍊肩敤浜庢敹闆嗘暟鍊煎瀷鏁版嵁"
+                      placement="top-start"
+                    >
+                      <i class="el-icon-warning-outline"></i>
+                    </el-tooltip>
+                    <!-- 鍦ㄦ爣绛惧悗鎻掑叆绾㈣壊鏄熷彿 -->
+                  </template>
                   <el-radio-group v-model="indexform.valueType">
                     <el-radio :label="1">閫夐」</el-radio>
                     <el-radio :label="2">鏂囨湰</el-radio>
@@ -483,11 +501,14 @@
             >
             <el-row v-if="!measurement">
               <el-col :span="24">
-                <el-form-item label="棰樼洰绫诲瀷">
-                  <el-radio-group v-model="indexform.scriptType">
+                <el-form-item label="閫傜敤棰樺瀷" prop="scriptType">
+                  <el-radio-group
+                    @input="Changtype"
+                    v-model="indexform.scriptType"
+                  >
                     <el-radio :label="1">鍗曢��</el-radio>
                     <el-radio :label="2">澶氶��</el-radio>
-                    <el-radio :label="3">濉┖</el-radio>
+                    <!-- <el-radio :label="3">濉┖</el-radio> -->
                     <el-radio :label="4">闂瓟</el-radio>
                   </el-radio-group>
                 </el-form-item>
@@ -497,24 +518,20 @@
             <el-row v-if="!measurement">
               <el-col :span="24">
                 <el-form-item label="閫傜敤鍦烘櫙" prop="suitWayList">
-                  <el-select
-                    class="el-select1"
-                    v-model="indexform.suitWayList"
-                    multiple
-                    @change="changeselect"
-                    placeholder="璇烽�夋嫨"
-                  >
-                    <el-option
-                      v-for="index in mode"
-                      :key="index.value"
-                      :label="index.label"
-                      :value="index.value"
-                    ></el-option>
-                  </el-select>
+                  <el-checkbox-group v-model="indexform.suitWayList">
+                    <el-checkbox v-for="item in mode" :label="item.value">{{
+                      item.label
+                    }}</el-checkbox>
+                  </el-checkbox-group>
                 </el-form-item>
               </el-col>
             </el-row>
-
+            <div v-if="indexform.scriptType == 1 || indexform.scriptType == 2">
+              <div class="headline">
+                <div class="basics">閫夐」璁剧疆</div>
+              </div>
+              <el-divider></el-divider>
+            </div>
             <el-card
               class="box-card"
               style="margin-bottom: 20px"
@@ -530,20 +547,32 @@
                 @xiayioption="xiayioption"
               />
             </el-card>
-            <div v-if="indexform.scriptType == 3">
+            <!-- <div v-if="indexform.scriptType == 3">
               <el-form-item label="鏀堕泦淇℃伅">
                 <el-card class="box-card">
-                  <div v-for="item in indexform.targetoptionList">
+                  <div v-for="item in testuserList" style="margin-bottom: 10px">
                     <el-input
                       type="text"
                       placeholder="濉叆鏀堕泦淇℃伅"
                       v-model="indexform.optiondesc"
                     >
+                      <el-button
+                        slot="append"
+                        @click="deloption(item)"
+                        type="danger"
+                        icon="el-icon-delete"
+                        circle
+                      ></el-button>
+                      <span slot="prepend">{{ "(" + item.orderno + ")" }}</span>
                     </el-input>
                   </div>
                 </el-card>
               </el-form-item>
+            </div> -->
+            <div class="headline">
+              <div class="basics">鎸囨爣娴嬭瘯</div>
             </div>
+            <el-divider></el-divider>
             <el-row :gutter="20">
               <el-col :span="12">
                 <el-form-item label="娴嬭瘯杈撳叆" prop="nickName">
@@ -626,7 +655,7 @@
       </span>
     </el-dialog>
     <!-- 娣诲姞绫诲埆寮规 -->
-    <el-dialog title="鏂板绫诲埆" 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>
@@ -718,6 +747,7 @@
       radio: "涓诲垎绫�",
       testvalue: "",
       testgovalue: "",
+      creatype: "", //鎸囨爣涓存椂绫诲瀷
       hasValue: true,
       classifyform: {
         categoryname: "",
@@ -756,17 +786,17 @@
       illnesslist: [],
       illnesslistapi: [],
       optionsillness: [],
-      qyoptions: [],
       mode: [],
       optionstag: [],
       targetoptionList: [],
+      Temporarytype: "",
 
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
         pageSize: 10,
       },
-      valuetypelb: [],
+      askvaluetype: [],
 
       // 琛ㄥ崟鏍¢獙
       rules: {
@@ -777,10 +807,22 @@
           { required: true, message: "鎸囨爣鍒嗙被涓嶈兘涓虹┖", trigger: "blur" },
         ],
         language: [
-          { required: true, message: "鎸囨爣璇█涓嶈兘涓虹┖", trigger: "blur" },
+          { required: true, message: "璇█涓嶈兘涓虹┖", trigger: "blur" },
         ],
         isAvailable: [
-          { required: true, message: "鎸囨爣璇█涓嶈兘涓虹┖", trigger: "blur" },
+          { required: true, message: "鍙敤鐘舵�佷笉鑳戒负绌�", trigger: "blur" },
+        ],
+        targetdesc: [
+          { required: true, message: "鎸囨爣鎻忚堪涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        valueType: [
+          { required: true, message: "缁撴灉绫诲瀷涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        scriptType: [
+          { required: true, message: "閫傜敤棰樺瀷涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        suitWayList: [
+          { required: true, message: "閫傜敤鍦烘櫙涓嶈兘涓虹┖", trigger: "blur" },
         ],
       },
     };
@@ -798,9 +840,9 @@
     this.gettabList();
     this.getDeptTree();
     this.mode = store.getters.mode;
-    this.valuetypelb = store.getters.askvaluetype;
+    this.askvaluetype = store.getters.askvaluetype;
+    this.valuetypelb = store.getters.valuetypelb;
     this.languagelist = store.getters.languagelist;
-    this.qyoptions = store.getters.askvaluetype;
     this.usable = store.getters.usable;
   },
   methods: {
@@ -843,10 +885,10 @@
         this.deletefenl = row.title;
       }
     },
-    // 渚挎嵎鏍囩
+    // 渚挎嵎鏍囩鎻掑叆濉┖
     tsgnameto(row) {
       let inputValueArr = "";
-      let value = 1;
+      let value = this.testuserList.length + 1;
 
       let el = document.querySelector("#" + this.currentInputId);
       //el.selectionStart; 杩欏氨鏄綋鍓嶅厜鏍囨墍鍦ㄧ殑浣嶇疆锛堝瓧绗︿覆涓瓧绗︾殑index锛�
@@ -865,13 +907,41 @@
         selectLength,
         "__" + value + "__"
       );
+      this.testuserList.push({
+        orderno: value,
+        optiondesc: "",
+        isoperation: 1,
+      });
       // 鎶婃暟缁勯噸鏂拌浆鎹负瀛楃涓插苟璧嬪��
       inputValueArr = inputValueArr.join("");
+
       console.log(inputValueArr);
       if (this.currentInputId == "targetdesc") {
         this.indexform.targetdesc = inputValueArr;
       } else {
         return;
+      }
+    },
+    Changtype(item) {
+      console.log(this.testuserList);
+      console.log(item, "閫夐」鍙樻洿鐨勫鐞�");
+
+      if (item == 3 && this.testuserList[0].targetvalue) {
+        this.$modal
+          .confirm("鏇存敼绫诲瀷涓哄~绌哄悗閫夐」灏嗘竻绌烘槸鍚︾户缁紵")
+          .then(() => {
+            this.testuserList = [];
+            this.Temporarytype = this.indexform.scriptType;
+          })
+          .catch(() => {
+            this.indexform.scriptType = this.Temporarytype;
+          });
+      } else if (item == 3) {
+        this.testuserList = [];
+        this.Temporarytype = this.indexform.scriptType;
+      }
+      {
+        this.Temporarytype = this.indexform.scriptType;
       }
     },
     // 鐤剧梾-----------------------
@@ -1024,10 +1094,17 @@
         console.log(this.targetoptionList, "aaaa.targetoptionList");
         this.testuserList.splice(index, 1); // 浠庣储寮曚綅缃垹闄や竴涓厓绱�
         this.sortFn();
+
+        if (this.indexform.scriptType == 3) {
+          this.$modal.msgWarning(
+            "濉┖椤瑰凡鍒犻櫎璇锋墜鍔ㄥ垹闄ら鐩唴瀹逛腑瀵瑰簲鐨勫~绌洪」"
+          );
+        }
       } else {
         console.log("鏈壘鍒拌瀵硅薄");
       }
     },
+
     syioption(row) {
       const index = this.getIndexInArray(this.testuserList, row);
       const item = this.testuserList.splice(index, 1)[0]; // 绉婚櫎鎸囧畾绱㈠紩澶勭殑鍏冪礌锛屽苟淇濆瓨鍒癷tem鍙橀噺涓�
@@ -1059,6 +1136,7 @@
           targetoptionid: item.targetoptionid,
           isabnormal: item.isabnormal,
           picturePath: item.picturePath,
+          optiondesc: item.optiondesc,
         };
       });
       console.log(this.testuserList);
@@ -1205,6 +1283,7 @@
       this.indexform = {
         ivrLibaTargetTagList: [],
         targetoptionList: [],
+        suitWayList: [],
       };
       this.dynamicTags = [];
       this.testuserList = [
@@ -1214,6 +1293,7 @@
           targetregex: "",
           targetregex2: "",
           isoperation: 1,
+          isabnormal:0,
           picturePath: "",
           dynamiccruxs: [],
           nodynamiccruxs: [],
@@ -1231,6 +1311,7 @@
       this.indexform = {};
       this.indexform = row;
       this.indexform.scriptType = Number(row.scriptType);
+      this.Temporarytype = this.indexform.scriptType;
       if (!row.targetoptionList[0]) {
         row.targetoptionList = [
           {
@@ -1239,6 +1320,7 @@
             targetregex: "",
             targetregex2: "",
             isoperation: 1,
+            orderno: 1,
             dynamiccruxs: [],
             nodynamiccruxs: [],
             dynamiccruxsJson: "",
@@ -1447,6 +1529,14 @@
 .tsgname:hover {
   background: #20894d;
 }
+.headline {
+  display: flex;
+  justify-content: space-between;
+  font-size: 20px;
+  border-left: 4px solid #41a1be;
+  padding-left: 5px;
+  margin: 15px 0;
+}
 .qrcode-dialo {
   text-align: center;
   //   display: flex;
@@ -1466,9 +1556,6 @@
     width: 300px;
     height: 400px;
   }
-}
-.el-select {
-  width: 40%;
 }
 ::v-deep.el-tabs--left,
 .el-tabs--right {

--
Gitblit v1.9.3