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 |  341 ++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 244 insertions(+), 97 deletions(-)

diff --git a/src/views/repositoryai/intention/index.vue b/src/views/repositoryai/intention/index.vue
index 6193860..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"
@@ -112,7 +112,7 @@
                   </el-option>
                 </el-select>
               </el-form-item>
-              <el-form-item label="鍙敤鐘舵��" prop="classify">
+              <el-form-item label="鏄惁鍙敤" prop="classify">
                 <el-select
                   v-model="queryParams.isAvailable"
                   placeholder="璇烽�夋嫨"
@@ -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>
@@ -179,16 +179,32 @@
               @selection-change="handleSelectionChange"
             >
               <el-table-column type="selection" width="50" align="center" />
-              <el-table-column
+              <!-- <el-table-column
                 label="搴忓彿"
                 fixed
                 align="center"
                 key="id"
                 prop="id"
+              /> -->
+              <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="缁撴灉绫诲瀷"
-                fixed
+                label="鎸囨爣绫诲瀷"
                 align="center"
                 key="valueType"
                 prop="valueType"
@@ -201,14 +217,7 @@
                   />
                 </template>
               </el-table-column>
-              <el-table-column
-                label="鎸囨爣鍚嶇О"
-                align="center"
-                key="targetname"
-                prop="targetname"
-                :show-overflow-tooltip="true"
-              >
-              </el-table-column>
+
 
               <!-- <el-table-column
                 label="姝e父鍊艰寖鍥�"
@@ -221,14 +230,8 @@
                   <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
-                label="閫傜敤鏂瑰紡"
+             <el-table-column
+                label="閫傜敤鍦烘櫙"
                 align="center"
                 key="suitWayList"
                 prop="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,31 +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="璇疯緭鍏ユ寚鏍囨弿杩�"
-                    maxlength="40"
-                  />
-                </el-form-item> </el-col
-            ></el-row>
-            <el-form-item label="鏍囩" prop="desc" v-if="!measurement">
+
+            <!-- <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="dynamicTags" v-if="!measurement">
               <div class="xinz-inf">
                 <el-tag
                   :key="tag.tagname"
@@ -465,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>
@@ -476,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>
@@ -490,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"
@@ -523,16 +547,32 @@
                 @xiayioption="xiayioption"
               />
             </el-card>
-            <div v-if="indexform.scriptType == 3">
+            <!-- <div v-if="indexform.scriptType == 3">
               <el-form-item label="鏀堕泦淇℃伅">
-                <el-input
-                  type="text"
-                  placeholder="濉叆鏀堕泦淇℃伅"
-                  v-model="indexform.reply"
-                >
-                </el-input
-              ></el-form-item>
+                <el-card class="box-card">
+                  <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">
@@ -615,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>
@@ -707,6 +747,7 @@
       radio: "涓诲垎绫�",
       testvalue: "",
       testgovalue: "",
+      creatype: "", //鎸囨爣涓存椂绫诲瀷
       hasValue: true,
       classifyform: {
         categoryname: "",
@@ -745,17 +786,17 @@
       illnesslist: [],
       illnesslistapi: [],
       optionsillness: [],
-      qyoptions: [],
       mode: [],
       optionstag: [],
       targetoptionList: [],
+      Temporarytype: "",
 
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
         pageSize: 10,
       },
-      valuetypelb: [],
+      askvaluetype: [],
 
       // 琛ㄥ崟鏍¢獙
       rules: {
@@ -766,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" },
         ],
       },
     };
@@ -787,9 +840,9 @@
     this.gettabList();
     this.getDeptTree();
     this.mode = store.getters.mode;
+    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: {
@@ -832,7 +885,65 @@
         this.deletefenl = row.title;
       }
     },
+    // 渚挎嵎鏍囩鎻掑叆濉┖
+    tsgnameto(row) {
+      let inputValueArr = "";
+      let value = this.testuserList.length + 1;
 
+      let el = document.querySelector("#" + this.currentInputId);
+      //el.selectionStart; 杩欏氨鏄綋鍓嶅厜鏍囨墍鍦ㄧ殑浣嶇疆锛堝瓧绗︿覆涓瓧绗︾殑index锛�
+      if (this.currentInputId == "targetdesc") {
+        inputValueArr = this.indexform.targetdesc.split("");
+      } else {
+        return;
+      }
+      //灏嗚緭鍏ユ鍐呭鍒囨垚鏁扮粍锛屾柟渚垮悗缁搷浣�
+      // inputValueArr = this.inputValue.split("");
+      // 鎷垮埌閫変腑鏂囧瓧鐨勯暱搴︼紙鍚庣画鍙互鐢ㄦ潵鏇挎崲閫変腑鐨勬枃瀛楋級
+      let selectLength = el.selectionEnd - el.selectionStart;
+      // 灏嗚鎻掑叆/鏇挎崲鐨勬枃瀛楁彃鍏�/鏇挎崲锛坴alue.name鏄鎻掑叆/鏇挎崲鐨勫瓧绗︿覆锛�
+      inputValueArr.splice(
+        el.selectionStart,
+        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;
+      }
+    },
     // 鐤剧梾-----------------------
     illnessUpdate(row) {
       this.illnessVisible = true;
@@ -983,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鍙橀噺涓�
@@ -1018,6 +1136,7 @@
           targetoptionid: item.targetoptionid,
           isabnormal: item.isabnormal,
           picturePath: item.picturePath,
+          optiondesc: item.optiondesc,
         };
       });
       console.log(this.testuserList);
@@ -1164,6 +1283,7 @@
       this.indexform = {
         ivrLibaTargetTagList: [],
         targetoptionList: [],
+        suitWayList: [],
       };
       this.dynamicTags = [];
       this.testuserList = [
@@ -1173,6 +1293,7 @@
           targetregex: "",
           targetregex2: "",
           isoperation: 1,
+          isabnormal:0,
           picturePath: "",
           dynamiccruxs: [],
           nodynamiccruxs: [],
@@ -1190,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 = [
           {
@@ -1198,6 +1320,7 @@
             targetregex: "",
             targetregex2: "",
             isoperation: 1,
+            orderno: 1,
             dynamiccruxs: [],
             nodynamiccruxs: [],
             dynamiccruxsJson: "",
@@ -1247,6 +1370,10 @@
           }
         });
         if (valid) {
+          this.indexform.optionDesc = this.testuserList
+            .filter((item) => item.isoperation != 3)
+            .map((item) => item.targetvalue)
+            .join(", ");
           if (!this.indexform.version) this.indexform.version = "1.0";
           if (this.indexform.id != undefined) {
             this.indexform.isoperation = 2;
@@ -1387,6 +1514,29 @@
     display: center !important;
   }
 }
+.tsgname {
+  width: 90px;
+  margin-right: 10px;
+  text-align: center;
+  cursor: pointer;
+  height: 40px;
+  line-height: 40px;
+  background: #66c18c;
+  color: #ffff;
+  font-size: 18px;
+  border-radius: 5px;
+}
+.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;
@@ -1406,9 +1556,6 @@
     width: 300px;
     height: 400px;
   }
-}
-.el-select {
-  width: 40%;
 }
 ::v-deep.el-tabs--left,
 .el-tabs--right {

--
Gitblit v1.9.3