From 8f4cb950a38f4e2c24ec96916d2aad0eb8c9aa9d Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期日, 07 四月 2024 10:17:52 +0800
Subject: [PATCH] 测试完成

---
 src/views/repositoryai/templateku/configurat/measurement.vue |  298 ++++++++++++++++++
 src/views/repositoryai/general/index.vue                     |   20 -
 src/websocket/websocket.js                                   |    8 
 src/views/repositoryai/templateku/configurat/index.vue       |  244 ++++++--------
 src/views/shortmessage/communication/index.vue               |    2 
 src/components/Regular/index.vue                             |   25 
 src/views/repositoryai/general/particulars/index.vue         |  322 ++++++++++++-------
 src/store/getters.js                                         |   19 +
 8 files changed, 642 insertions(+), 296 deletions(-)

diff --git a/src/components/Regular/index.vue b/src/components/Regular/index.vue
index a1b49cb..5f23dca 100644
--- a/src/components/Regular/index.vue
+++ b/src/components/Regular/index.vue
@@ -13,7 +13,7 @@
             </el-input> </el-form-item
         ></el-col>
         <el-col :span="12"
-          ><el-form-item label="鑺傜偣ID">
+          ><el-form-item label="閫夐」鑺傜偣">
             <el-input
               type="text"
               placeholder="璇疯緭鍏ヨ妭鐐�"
@@ -36,11 +36,11 @@
             </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="item.jump"
+              v-model="item.nextQuestion"
               show-word-limit
             >
             </el-input> </el-form-item
@@ -55,7 +55,7 @@
             closable
             effect="dark"
             :disable-transitions="false"
-            @close="handleClosecrux(crux, item)"
+            @close="handleClosecrux(crux, item, 1)"
           >
             {{ crux }}
           </el-tag>
@@ -97,7 +97,7 @@
             closable
             effect="dark"
             :disable-transitions="false"
-            @close="handleClosecrux(crux, item)"
+            @close="handleClosecrux(crux, item, 2)"
           >
             {{ crux }}
           </el-tag>
@@ -223,9 +223,6 @@
   created() {
     this.regular = store.getters.regular;
     this.noregular = store.getters.noregular;
-
-    
-   
   },
 
   methods: {
@@ -275,11 +272,15 @@
       );
     },
 
-    handleClosecrux(crux, item) {
-      if (this.whether == 1) {
-        this.dynamiccruxs.splice(this.dynamiccruxs.indexOf(crux), 1);
+    handleClosecrux(crux, item, whether) {
+      if (whether == 1) {
+        item.dynamiccruxs.splice(item.dynamiccruxs.indexOf(crux), 1);
+        console.log(1);
+        console.log(item.dynamiccruxs);
+        console.log(item.nodynamiccruxs);
       } else {
-        this.nodynamiccruxs.splice(this.nodynamiccruxs.indexOf(crux), 1);
+        console.log(2);
+        item.nodynamiccruxs.splice(item.nodynamiccruxs.indexOf(crux), 1);
       }
       this.generateRegex(item);
     },
diff --git a/src/store/getters.js b/src/store/getters.js
index 848d72a..0325af3 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -91,6 +91,25 @@
       },
     },
   ],
+   // 鏄惁鍙敤锛堟暟锛�
+   usablesz: (state) => [
+    {
+      value: 0,
+      label: "鍚敤",
+      raw: {
+        cssClass: "",
+        listClass: "",
+      },
+    },
+    {
+      value: 1,
+      label: "鍋滅敤",
+      raw: {
+        cssClass: "",
+        listClass: "",
+      },
+    },
+  ],
    // 鏄惁蹇呭~
    required: (state) => [
     {
diff --git a/src/views/repositoryai/general/index.vue b/src/views/repositoryai/general/index.vue
index fb99d10..4ac4ee1 100644
--- a/src/views/repositoryai/general/index.vue
+++ b/src/views/repositoryai/general/index.vue
@@ -536,23 +536,9 @@
     },
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
-      this.reset();
-      this.title = "鏂板閫氱敤搴�";
-      this.indexform = {
-        baseTagList: [],
-        targetoptionList: [],
-      };
-      this.testuserList = [
-        {
-          guid: 1,
-          isoperation: 1,
-          targettype: "1",
-          targetvalue: "",
-          targetregex: "",
-        },
-      ];
-      this.indexopen = true;
-      this.measurement = false;
+      this.$router.push({
+        path: "/knowledge/general/particulars/",
+      });
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
diff --git a/src/views/repositoryai/general/particulars/index.vue b/src/views/repositoryai/general/particulars/index.vue
index a5f229d..63f1374 100644
--- a/src/views/repositoryai/general/particulars/index.vue
+++ b/src/views/repositoryai/general/particulars/index.vue
@@ -1,20 +1,63 @@
 <template>
   <div>
     <el-card style="margin: 20px" class="box-card">
+      <el-form
+        :model="baseForm"
+        :rules="bases"
+        ref="baseForm"
+        label-width="100px"
+        class="demo-baseForm"
+      >
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="妯$増鍚嶇О" prop="extName">
+              <el-input
+                v-model="baseForm.extName"
+                placeholder="璇疯緭鍏�"
+              ></el-input> </el-form-item
+          ></el-col>
+          <el-col :span="12">
+            <el-form-item label="妯$増鍒嗙被" prop="groupID">
+              <el-select v-model="baseForm.groupID" placeholder="璇烽�夋嫨鍒嗙被">
+                <el-option
+                  v-for="item in deptOptions"
+                  :key="item.intertcatid"
+                  :label="item.categoryname"
+                  :value="item.intertcatid"
+                >
+                </el-option>
+              </el-select> </el-form-item
+          ></el-col>
+        </el-row>
+        <el-row :gutter="20">
+          <el-col :span="12">
+            <el-form-item label="妯$増姒傝堪" prop="name">
+              <el-input
+                v-model="baseForm.note"
+                placeholder="璇疯緭鍏�"
+              ></el-input> </el-form-item
+          ></el-col>
+          <el-col :span="12">
+            <el-form-item label="鏄惁鍙敤" prop="resource">
+              <el-select v-model="baseForm.isEnable" 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>
+      </el-form>
       <div class="elcardiv">
         <div class="leftvlue-jbxx">璇濇湳鍒楄〃</div>
         <el-divider></el-divider>
 
         <el-table :data="targetList" :row-class-name="tableRowClassName">
           <el-table-column label="搴忓彿" align="center" key="id" prop="id" />
-          <el-table-column
-            label="闂涓婚锛堢己锛�"
-            align="center"
-            key="extName"
-            prop="extName"
-            width="200"
-            :show-overflow-tooltip="true"
-          />
+
           <el-table-column
             label="闂鏂囨湰"
             align="center"
@@ -24,41 +67,15 @@
             :show-overflow-tooltip="true"
           >
           </el-table-column>
-          <el-table-column
-            label="鍥炲璇煶锛堢己锛�"
-            align="center"
-            key="switchTexty"
-            width="200"
-            prop="switchTexty"
-            :show-overflow-tooltip="true"
-          >
-          </el-table-column>
-          <el-table-column
-            label="閫傜敤鏂瑰紡锛堢己锛�"
-            align="center"
-            key="suitWay"
-            prop="suitWay"
-          >
-            <template slot-scope="scope">
-              <span v-for="item in scope.row.suitWay">{{ item }}</span>
-            </template>
-          </el-table-column>
 
           <el-table-column
-            label="璇█锛堢己锛�"
-            align="center"
-            key="language"
-            prop="language"
-            width="120"
-          />
-          <el-table-column
-            label="鏄惁鍙敤锛堟敼锛�"
+            label="鏄惁鍙敤"
             align="center"
             key="isEnable"
             prop="isEnable"
           >
             <template slot-scope="scope">
-              <dict-tag :options="usable" :value="scope.row.isEnable" />
+              <span>{{ scope.row.isEnable == 1 ? "鍋滅敤" : "鍚敤" }}</span>
             </template>
           </el-table-column>
           <el-table-column
@@ -81,8 +98,7 @@
               <el-button
                 size="medium"
                 type="text"
-                @click="handleUpdate(scope.row)"
-                v-hasPermi="['system:user:edit']"
+                @click="handleUpdate(scope.row, scope.$index)"
                 ><span class="button-textxg"
                   ><i class="el-icon-edit"></i>淇敼</span
                 ></el-button
@@ -92,7 +108,6 @@
                 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
@@ -110,44 +125,17 @@
           <div style="margin: 15px; margin-top: 50px">
             <div class="leftvlue-jbxx">璇濇湳缂栬緫</div>
             <el-divider></el-divider>
+
+            <el-form-item label="璇濇湳鏂囨湰" prop="name">
+              <el-input
+                v-model="ruleForm.switchText"
+                placeholder="璇疯緭鍏�"
+              ></el-input>
+            </el-form-item>
             <el-row :gutter="20">
               <el-col :span="12">
-                <el-form-item label="妯$増鍚嶇О" prop="name">
-                  <el-input
-                    v-model="ruleForm.name"
-                    placeholder="璇疯緭鍏�"
-                  ></el-input> </el-form-item
-              ></el-col>
-              <el-col :span="12">
-                <el-form-item label="妯$増鍒嗙被" prop="resource">
-                  <el-select
-                    v-model="ruleForm.groupID"
-                    placeholder="璇烽�夋嫨鍒嗙被"
-                  >
-                    <el-option
-                      v-for="item in deptOptions"
-                      :key="item.intertcatid"
-                      :label="item.categoryname"
-                      :value="item.intertcatid"
-                    >
-                    </el-option>
-                  </el-select> </el-form-item
-              ></el-col>
-            </el-row>
-            <el-row :gutter="20">
-              <el-col :span="12">
-                <el-form-item label="闂涓婚" prop="name">
-                  <el-input
-                    v-model="ruleForm.name"
-                    placeholder="璇疯緭鍏�"
-                  ></el-input> </el-form-item
-              ></el-col>
-              <el-col :span="12">
-                <el-form-item label="鏄惁鍙敤" prop="resource">
-                  <el-select
-                    v-model="ruleForm.assortid"
-                    placeholder="璇烽�夋嫨鐘舵��"
-                  >
+                <el-form-item label="鏄惁鍚敤" prop="resource">
+                  <el-select v-model="ruleForm.isEnable" placeholder="璇烽�夋嫨">
                     <el-option
                       v-for="item in usable"
                       :key="item.value"
@@ -157,30 +145,11 @@
                     </el-option>
                   </el-select> </el-form-item
               ></el-col>
-            </el-row>
-
-            <el-form-item label="闂鏂囨湰" prop="name">
-              <el-input v-model="ruleForm.name" placeholder="璇疯緭鍏�"></el-input>
-            </el-form-item>
-            <el-row :gutter="20">
               <el-col :span="12">
-                <el-form-item label="璇█" prop="resource">
-                  <el-select v-model="ruleForm.language" placeholder="璇烽�夋嫨">
+                <el-form-item label="鏄惁涓虹粨鏉熻" prop="resource">
+                  <el-select v-model="ruleForm.isEnd" placeholder="璇烽�夋嫨">
                     <el-option
-                      v-for="item in languagelist"
-                      :key="item.label"
-                      :label="item.label"
-                      :value="item.label"
-                    >
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="12">
-                <el-form-item label="閫傜敤鏂瑰紡" prop="resource">
-                  <el-select v-model="ruleForm.mode" placeholder="璇烽�夋嫨">
-                    <el-option
-                      v-for="item in mode"
+                      v-for="item in usablend"
                       :key="item.value"
                       :label="item.label"
                       :value="item.value"
@@ -207,14 +176,28 @@
               <el-input
                 type="textarea"
                 placeholder="璇疯緭鍏ュ尮閰嶆鍒�"
-                v-model="ruleForm.desc"
+                v-model="ruleForm.selfRegex"
               ></el-input>
             </el-form-item>
             <el-form-item>
               <el-button type="primary" @click="submitForm('ruleForm')"
-                >绔嬪嵆鍒涘缓</el-button
+                >淇濆瓨妯$増</el-button
               >
-              <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+              <el-button
+                v-if="ruleForm.id"
+                type="primary"
+                plain
+                @click="modification('edit')"
+                >淇濆瓨璇濇湳</el-button
+              >
+              <el-button
+                v-else
+                type="success"
+                plain
+                @click="modification('add')"
+                >鏂板璇濇湳</el-button
+              >
+              <el-button @click="resetForm('ruleForm')">鍏抽棴</el-button>
             </el-form-item>
           </div>
         </el-form>
@@ -229,6 +212,8 @@
   editgeneravaluel,
   addgeneravaluel,
   getgeneravaluelinfo,
+  addgeneral,
+  editgeneral,
   getgeneralinfo,
   getgeneralclassify,
   delgeneravaluelinfo,
@@ -240,47 +225,62 @@
       loading: false,
       id: null,
       usable: [],
+      index: "",
       languagelist: [],
-      deptOptions:[],
+      deptOptions: [],
       mode: [],
-      pitchon: "杩樺ソ鍚�",
-      targetList: [{ switchText: "杩樺ソ鍚�" }, { switchText: "杩樹笉閿�" }],
+      pitchon: "",
+      targetList: [],
       fileList: [
         {
           name: "food.jpeg",
           url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
         },
       ],
-      ruleForm: {
-        name: "",
-        region: "",
-        date1: "",
-        date2: "",
-        delivery: false,
-        type: [],
-        resource: "",
-        desc: "*(浜簗鎵搢鐝晩|鍞旂郴鐪熶汉(杈箌鍜絴鍜�)*(鍗曚綅|鍦版柟鍖婚櫌|涓績|鍗敓|璁憳|鏈嶅姟)",
+      usablend: [
+        {
+          value: 0,
+          label: "闈炵粨鏉熻",
+        },
+        {
+          value: 1,
+          label: "缁撴潫璇�",
+        },
+      ],
+      ruleForm: {},
+      baseForm: {
+        extName: "",
       },
       rules: {},
+      bases: {},
     };
   },
 
   created() {
+    this.id = this.$route.query.id;
     this.getList();
-    this.usable = store.getters.usable;
+    this.usable = store.getters.usablesz;
     this.languagelist = store.getters.languagelist;
     this.mode = store.getters.mode;
   },
 
   methods: {
     getList() {
-      this.loading = true;
-      this.id = this.$route.query.id;
-      getgeneralinfo({ pid: this.id }).then((res) => {
-        this.targetList = res.rows;
-        console.log(this.targetList);
-        this.loading = false;
-      });
+      if (this.id) {
+        this.$modal.loading("璇风◢鍊�...");
+        getgeneralinfo(this.id).then((res) => {
+          if (res.code == 200) {
+            this.baseForm = res.data;
+          }
+          this.$modal.closeLoading();
+        });
+        getgeneravaluellist({ extID: this.id }).then((res) => {
+          if (res.code == 200) {
+            this.targetList = res.rows;
+          }
+          this.$modal.closeLoading();
+        });
+      }
       getgeneralclassify({}).then((res) => {
         this.deptOptions = res.rows;
         console.log(res);
@@ -289,11 +289,86 @@
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {},
     /** 淇敼鎸夐挳鎿嶄綔 */
-    handleUpdate(row) {
+    handleUpdate(row, index) {
       this.pitchon = row.switchText;
+      this.ruleForm = row;
+      this.index = index;
     },
-    submitForm() {},
-    resetForm() {},
+    // 鍒犻櫎
+    handleDelete(item) {
+      this.$modal
+        .confirm("鏄惁纭鍒犻櫎璇ヨ瘽鏈」锛�")
+        .then((res) => {
+          if (item.id) {
+            delgeneravaluelinfo(item.id).then((res) => {
+              this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+            });
+          }
+          this.targetList = this.targetList.filter((obj) => obj !== item);
+        })
+        .catch(() => {});
+    },
+    // 淇濆瓨涓昏〃
+    submitForm() {
+      if (this.baseForm.id) {
+        editgeneral(this.baseForm).then((res) => {
+          if (res.code == 200) {
+            this.$modal.msgSuccess("淇敼鎴愬姛");
+            this.savetalk();
+          }
+        });
+      } else {
+        addgeneral(this.baseForm).then((res) => {
+          if (res.code == 200) {
+            this.$modal.msgSuccess("鏂板鎴愬姛");
+            this.baseForm.id = res.data.id;
+            this.id = res.data.id;
+            this.savetalk();
+          }
+        });
+      }
+    },
+    // 淇濆瓨璇濇湳
+    savetalk() {
+      this.targetList.forEach((obj) => {
+        if (obj.id) {
+          editgeneravaluel(obj).then((res) => {
+            this.getList();
+          });
+        } else {
+          obj.extID = this.baseForm.id;
+          addgeneravaluel(obj).then((res) => {
+            this.getList();
+          });
+        }
+      });
+    },
+    modification(type) {
+      if (type == "add") {
+        console.log(this.ruleForm, "ruleForm");
+        this.targetList.push(this.ruleForm);
+      } else {
+        this.targetList[this.index] = this.ruleForm;
+      }
+      this.ruleForm = {};
+    },
+    // 鍏抽棴
+    resetForm() {
+      this.$confirm("鍗冲皢閫�鍑洪〉闈�, 璇风‘璁ゆ暟鎹槸鍚︿繚瀛�?", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      })
+        .then(() => {
+          this.$router.go(-1);
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "宸插彇娑�",
+          });
+        });
+    },
     // 鏂囦欢----------------------
     // 鎺у埗鏂囦欢
     handleChange(file, fileList) {
@@ -309,7 +384,6 @@
     },
     tableRowClassName({ row, rowIndex }) {
       if (row.switchText == this.pitchon) {
-        console.log(123);
         return "warning-row";
       }
       return "";
diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue
index c074384..8783cfb 100644
--- a/src/views/repositoryai/templateku/configurat/index.vue
+++ b/src/views/repositoryai/templateku/configurat/index.vue
@@ -86,9 +86,10 @@
             </div>
           </el-form-item>
           <el-row :gutter="20">
-            <el-col :span="10">
+            <el-col :span="12">
               <el-form-item label="鐗堟湰鍙�" prop="version">
                 <el-input
+                  style="width: 220px"
                   v-model="ruleForm.version"
                   placeholder="榛樿1.0.1"
                 ></el-input> </el-form-item
@@ -113,7 +114,7 @@
           </el-row>
 
           <el-row :gutter="20">
-            <el-col :span="10">
+            <el-col :span="12">
               <el-form-item label="璇█" prop="name">
                 <el-select
                   v-model="ruleForm.language"
@@ -254,6 +255,7 @@
           </el-form-item>
           <el-form-item label="閫傜敤闄㈠尯" prop="region">
             <el-select
+              style="width: 500px"
               v-model="ruleForm.campus"
               size="medium"
               multiple
@@ -272,6 +274,7 @@
           </el-form-item>
           <el-form-item label="閫傜敤绉戝" prop="region">
             <el-cascader
+              style="width: 500px"
               v-model="tempDetpRelevanceslist"
               :options="deptList"
               :props="props"
@@ -296,63 +299,46 @@
               <el-option
                 class="ruleFormaa"
                 v-for="item in generallist"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
+                :key="item.id"
+                :label="item.extName"
+                :value="item.id"
               >
               </el-option>
             </el-select>
           </el-form-item>
           <el-row :gutter="20">
             <el-col :span="8">
-              <el-form-item label="闅忚鍓嶅鐞嗭紙鏄惁闇�瑕侊級" prop="name">
-                <el-select
-                  v-model="ruleForm.prefollowup"
-                  size="medium"
-                  filterable
-                  placeholder="璇烽�夋嫨"
-                >
-                  <el-option
-                    class="ruleFormaa"
-                    v-for="item in prefollowuplist"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  >
-                  </el-option>
-                </el-select> </el-form-item
+              <el-form-item label="闅忚鍓嶅鐞�" prop="name">
+                <el-input
+                  v-model="ruleForm.revisitBefore"
+                ></el-input></el-form-item
             ></el-col>
             <el-col :span="9">
-              <el-form-item label="闅忚鍚庡鐞嗭紙鏄惁闇�瑕侊級" prop="region">
-                <el-select
-                  v-model="ruleForm.postfollowup"
-                  size="medium"
-                  filterable
-                  placeholder="璇烽�夋嫨鍒嗙被"
-                >
-                  <el-option
-                    class="ruleFormaa"
-                    v-for="item in postfollowuplist"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
-                  >
-                  </el-option>
-                </el-select> </el-form-item
+              <el-form-item label="闅忚鍚庡鐞�" prop="region">
+                <el-input
+                  v-model="ruleForm.revisitAfter"
+                ></el-input> </el-form-item
             ></el-col>
           </el-row>
           <el-row :gutter="20">
-            <el-col :span="10">
+            <el-col :span="8">
               <el-form-item label="闈欓粯鏃堕棿(绉�)" prop="name">
                 <div style="width: 40%">
                   <el-input
                     v-model="ruleForm.silencetime"
                   ></el-input></div></el-form-item
             ></el-col>
-            <el-col :span="10">
+            <el-col :span="8">
+              <el-form-item label="闈欓粯娆℃暟" prop="name">
+                <div style="width: 40%">
+                  <el-input
+                    v-model="ruleForm.noVoiceNum"
+                  ></el-input></div></el-form-item
+            ></el-col>
+            <el-col :span="8">
               <el-form-item label="鏃犲尮閰嶉噸澶�(娆�)" prop="region">
                 <div style="width: 40%">
-                  <el-input v-model="ruleForm.name"></el-input>
+                  <el-input v-model="ruleForm.mateNum"></el-input>
                 </div> </el-form-item
             ></el-col>
           </el-row>
@@ -390,8 +376,8 @@
                 <el-table-column
                   label="缂栧彿"
                   align="center"
-                  key="guid"
-                  prop="guid"
+                  key="targetid"
+                  prop="targetid"
                 />
                 <el-table-column
                   label="鏍囬"
@@ -466,6 +452,13 @@
                     :disabled="true"
                   ></el-input>
                 </el-form-item>
+                <el-form-item label="闂鑺傜偣">
+                  <el-input
+                    v-model="topicobj.targetid"
+                    placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨"
+                    :disabled="true"
+                  ></el-input>
+                </el-form-item>
                 <el-row :gutter="10">
                   <el-col :span="12"
                     ><el-form-item label="鏄惁蹇呭~">
@@ -509,90 +502,7 @@
                     >
                   </div>
                 </div>
-                <!-- <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="item.targetvalue"
-                          show-word-limit
-                        >
-                        </el-input> </el-form-item
-                    ></el-col>
-                    <el-col :span="12"
-                      ><el-form-item label="鑺傜偣ID">
-                        <el-input
-                          type="text"
-                          placeholder="璇疯緭鍏ヨ妭鐐�"
-                          v-model="item.targetid"
-                          show-word-limit
-                        >
-                        </el-input> </el-form-item
-                    ></el-col>
-                  </el-row>
-                  <el-row :gutter="10">
-                    <el-col :span="12"
-                      ><el-form-item label="澶勭悊">
-                        <el-input
-                          type="text"
-                          placeholder="(榛樿)鏃犲0"
-                          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-input
-                          type="text"
-                          placeholder="璇疯緭鍏ラ鐩妭鐐�"
-                          v-model="item.jump"
-                          show-word-limit
-                        >
-                        </el-input> </el-form-item
-                    ></el-col>
-                  </el-row>
-                  <el-form-item label="鍖归厤姝e垯">
-                    <el-input
-                      style="width: 24vw"
-                      type="textarea"
-                      placeholder="璇疯緭鍏ラ鍙�"
-                      v-model="item.targetregex"
-                      show-word-limit
-                    >
-                    </el-input>
-                  </el-form-item>
-                  <el-row :gutter="10">
-                    <el-col :span="16">
-                      <el-form-item label="璇煶鏂囦欢">
-                        <el-upload
-                          class="upload-demo"
-                          style="display: flex"
-                          action="https://jsonplaceholder.typicode.com/posts/"
-                          :on-change="handleChange"
-                          :file-list="fileList"
-                          :limit="1"
-                          :on-exceed="handleExceed"
-                        >
-                          <el-button size="small" type="primary"
-                            >鐐瑰嚮涓婁紶</el-button
-                          >
-                        </el-upload>
-                      </el-form-item></el-col
-                    >
-                    <el-col :span="8">
-                      <div style="text-align: right; padding-right: 10px">
-                        <el-button type="danger" @click="" round>鍒犻櫎</el-button>
-                      </div>
-                    </el-col>
-                  </el-row>
-                </div> -->
+
                 <Regular
                   :TargetoptionList="topicobj.ivrLibaScriptTargetoptionList"
                   @deloption="deloption"
@@ -756,13 +666,17 @@
       </div>
       <!-- 闅忚妯$増棰勮 -->
       <div v-if="Editprogress == 3">
-        <div class="leftvlue-jbxx">闅忚妯$増棰勮</div>
+        <div class="leftvlue-jbxx">闅忚妯$増闂棰勮</div>
         <el-divider></el-divider>
         <div class="preview-left">
           <!-- 鍗曢�� -->
-          <div class="topic-dev" v-for="(item,index) in valssu" :key="item.aaa">
+          <div
+            class="topic-dev"
+            v-for="(item, index) in valssu"
+            :key="item.aaa"
+          >
             <div class="dev-text">
-              {{ index+1 }}銆乕鍗曢�塢<span>{{ item.questionText }}</span>
+              {{ index + 1 }}銆乕鍗曢�塢<span>{{ item.questionText }}</span>
             </div>
             <div class="dev-xx">
               <el-radio-group v-model="radio">
@@ -776,9 +690,13 @@
             </div>
           </div>
           <!-- 澶氶�� -->
-          <div class="topic-dev" v-for="(item,index) in valssu" :key="item.aaa">
+          <div
+            class="topic-dev"
+            v-for="(item, index) in valssu"
+            :key="item.aaa"
+          >
             <div class="dev-text">
-              {{ index+1 }}銆乕澶氶�塢<span>{{ item.questionText }}</span>
+              {{ index + 1 }}銆乕澶氶�塢<span>{{ item.questionText }}</span>
             </div>
             <div class="dev-xx">
               <el-checkbox-group v-model="radios">
@@ -803,9 +721,9 @@
             </div>
           </div> -->
         </div>
-        <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
-        <el-button type="warning">瀵煎嚭涓簆df</el-button>
         <el-button type="primary" plain @click="laststep()">涓婁竴姝�</el-button>
+        <el-button type="warning" @click="measurement()">鍓嶅線娴嬭瘯</el-button>
+        <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
       </div>
     </div>
     <!-- 娣诲姞棰樼洰寮圭獥 -->
@@ -903,6 +821,7 @@
   getillnesslist,
   illnesslistget,
   getillness,
+  getgenerallist,
 } from "@/api/AiCentre/index";
 
 export default {
@@ -988,7 +907,7 @@
           sdadd: ["sss", "ssccss", "ssaas", "ss"],
         },
       ],
-      radio:'',
+      radio: "",
       addvalue: "娣诲姞棰樼洰",
       // 棰樼洰琛ㄦ牸鏁版嵁
       userList: [
@@ -1039,6 +958,7 @@
   },
 
   methods: {
+    //鍏叡鏂规硶--------------------
     getIndexInArray(arr, obj) {
       return arr.indexOf(obj);
     },
@@ -1051,11 +971,17 @@
 
       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.ruleForm.submoduleID = this.ruleForm.submoduleID.map((res) => {
+          return Number(res);
+        });
+        console.log(this.ruleForm.submoduleID, "this.ruleForm.submoduleID鍙�");
         this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList;
+
         this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList.map(
           this.processElement
         );
@@ -1080,8 +1006,15 @@
       getFollowupclassify({}).then((res) => {
         this.indexAssortlist = res.rows;
       });
+      getgenerallist({
+        pageNum: 1,
+        pageSize: 100,
+      }).then((res) => {
+        this.generallist = res.rows;
+      });
       // 鐤剧梾鍒�
     },
+    //
     submitForm(formName) {
       if (this.ruleForm.id) {
         this.ruleForm.isoperation = 2;
@@ -1094,6 +1027,19 @@
       this.ruleForm.submoduleID = this.ruleForm.submoduleID.join(",");
 
       //   鎻愪氦
+      this.ruleForm.ivrLibaTemplateScriptVOList.forEach((res) => {
+        if (!res.isoperation) {
+          res.isoperation = 2;
+        }
+        res.ivrLibaScriptTargetoptionList =
+          res.ivrLibaScriptTargetoptionList.map((item) => {
+            if (!item.isoperation) {
+              item.isoperation = 2;
+              item.templateID = this.ruleForm.id;
+            }
+            return item;
+          });
+      });
 
       this.illnesslist.forEach((item, index) => {
         if (!item.id) {
@@ -1289,11 +1235,11 @@
         this.topicobj = row;
       } else {
         getverbaltrick({ id: row.id }).then((res) => {
-          if (res.code==200) {
+          if (res.code == 200) {
             this.topicobj = res.data;
             console.log(res.data, "topicobj");
-          }else{
-            console.log('娌℃壘鍒�');
+          } else {
+            console.log("娌℃壘鍒�");
           }
         });
       }
@@ -1322,11 +1268,19 @@
       this.ruleForm.ivrLibaTemplateScriptVOList.splice(index + 1, 0, item); // 灏唅tem鎻掑叆鍒扮储寮曚綅缃殑鍓嶄竴浣�
       this.sortFn();
     },
+    // 闂鎺掑簭
     sortFn() {
       this.ruleForm.ivrLibaTemplateScriptVOList =
         this.ruleForm.ivrLibaTemplateScriptVOList.map((item, index) => {
-          return Object.assign({}, item, { guid: (index + 1).toString() });
+          return Object.assign({}, item, { targetid: (index + 1).toString() });
         });
+      this.ruleForm.ivrLibaTemplateScriptVOList.forEach((question, index) => {
+        question.ivrLibaScriptTargetoptionList =
+          question.ivrLibaScriptTargetoptionList.map((option) => {
+            option.nextQuestion = Number(question.targetid) + 1;
+            return option;
+          });
+      });
       console.log(this.ruleForm.ivrLibaTemplateScriptVOList);
     },
     // -----------------------璇濇湳閫夐」
@@ -1387,9 +1341,21 @@
     // 棰勮---------------
     preview() {
       console.log(this.ruleForm);
-      this.valssu = this.ruleForm.ivrLibaTemplateScriptVOList
+      this.valssu = this.ruleForm.ivrLibaTemplateScriptVOList;
       this.Editprogress = 3;
     },
+    // 鍓嶅線娴嬭瘯
+    measurement() {
+      this.$modal
+        .confirm("鍗冲皢鍓嶅線妯$増娴嬭瘯椤甸潰锛岃纭妯$増鏁版嵁宸蹭繚瀛樸��")
+        .then((res) => {
+          this.$router.push({
+            path: "/knowledge/templateku/configurat/measurement",
+            query: { id: this.id, name: this.ruleForm.templateName },
+          });
+        })
+        .catch(() => {});
+    },
   },
 };
 </script>
diff --git a/src/views/repositoryai/templateku/configurat/measurement.vue b/src/views/repositoryai/templateku/configurat/measurement.vue
new file mode 100644
index 0000000..491059f
--- /dev/null
+++ b/src/views/repositoryai/templateku/configurat/measurement.vue
@@ -0,0 +1,298 @@
+<template>
+  <!-- 鑱婅繛椤甸潰璁板綍 -->
+  <div class="Followupdetailspage">
+    <div>
+      <el-card class="box-card">
+        <div slot="header" class="clearfix">
+          <span>{{ TemplateName }}</span>
+          <el-button
+            style="float: right; padding: 3px 0; color: red"
+            type="text"
+            @click="$router.go(-1)"
+            >閫�鍑烘祴璇�</el-button
+          >
+          <el-button
+            style="float: right; padding: 3px 0; margin-right: 10px"
+            type="text"
+            @click="drawer = true"
+            >鏌ョ湅鍖归厤缁撴灉</el-button
+          >
+        </div>
+        <div class="borderdiv">
+          <div v-for="item in Answerline">
+            <div class="leftside" v-if="item.isEat == 1">
+              <i class="el-icon-phone-outline"></i><span>{{ item.value }}</span>
+            </div>
+            <div class="offside" v-else-if="item.isEat == 2">
+              <i class="el-icon-user"></i>
+              <div class="offside-value">
+                <el-input :disabled="true" v-model="item.value"></el-input>
+              </div>
+            </div>
+            <div class="offside" v-else-if="item.isEat == 3">
+              <i class="el-icon-user"></i>
+              <div class="offside-value">
+                <el-input v-model="item.value"></el-input>
+                <el-radio v-model="radio" label="1">澶囬�夐」</el-radio>
+                <el-radio v-model="radio" label="2">澶囬�夐」2</el-radio>
+                <el-radio v-model="radio" label="3">澶囬�夐」3</el-radio>
+                <el-radio v-model="radio" label="4">澶囬�夐」4</el-radio>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div style="margin-top: 15px">
+          <el-input
+            placeholder="璇疯緭鍏ュ唴瀹�"
+            @keyup.enter.native="sendFn"
+            v-model="answer"
+          >
+            <el-button
+              style="background-color: #7799fa; color: #ffff; border: 0"
+              @click="sendFn"
+              slot="append"
+              type="primary"
+              >鍙戦��</el-button
+            >
+          </el-input>
+        </div>
+      </el-card>
+      <el-drawer title="鍖归厤缁撴灉" :visible.sync="drawer" direction="rtl">
+        <div class="preview-left">
+          <!-- 鍗曢�� -->
+          <div
+            class="topic-dev"
+            v-for="(item, index) in questionList"
+            :key="item.aaa"
+          >
+            <div class="dev-text">
+              {{ index + 1 }}銆�<span>{{ item.questionText }}</span>
+            </div>
+            <div class="dev-xx">
+              <el-radio-group v-model="item.radio">
+                <el-radio
+                  v-for="(items, index) in item.ivrLibaScriptTargetoptionList"
+                  :key="items.id"
+                  :label="items.id"
+                  >{{ items.targetvalue }}</el-radio
+                >
+              </el-radio-group>
+            </div>
+          </div>
+        </div>
+      </el-drawer>
+    </div>
+  </div>
+</template>
+
+<script>
+import {
+  sendWebsocket,
+  websocketSend,
+  closeWebsocket,
+} from "@/websocket/websocket.js";
+export default {
+  data() {
+    return {
+      answer: "", //鍥炵瓟
+      id: null,
+      TemplateName: "闅忚妯$増鍚嶇О", //妯$増鍚�
+      radio: "1",
+      userid: "",
+      input: "杩樹笉閿�",
+      drawer: false,
+      radio: "2",
+      code: "",
+      Answerline: [],
+      questionList: [],
+    };
+  },
+
+  created() {
+    this.TemplateName = this.$route.query.name;
+    this.requstWs(); //杩涘叆椤甸潰鍒涘缓杩炴帴
+  },
+
+  methods: {
+    // 寤虹珛杩炴帴
+    requstWs(message, next, file) {
+      console.log("杩炴帴");
+      this.id = this.$route.query.id;
+      // 闃叉鐢ㄦ埛澶氭杩炵画鐐瑰嚮鍙戣捣璇锋眰锛屾墍浠ヨ鍏堝叧闂笂娆$殑ws璇锋眰銆�
+      closeWebsocket();
+      console.log(this.id);
+      const obj = {
+        type: "text",
+        userId: "1",
+        templateId: this.id,
+        content: null,
+      };
+      // 鍙戣捣ws璇锋眰
+      sendWebsocket(
+        "ws://localhost:8089/chat?userId=1",
+        obj,
+        this.wsMessage,
+        this.wsError
+      );
+    },
+    // 鎺ユ敹ws杩斿洖鐨勬暟鎹�
+    wsMessage(data) {
+      let dataJson = data;
+      dataJson = JSON.parse(dataJson);
+      dataJson = JSON.parse(dataJson);
+      console.log(dataJson, "鏁版嵁");
+      if (!this.Answerline[0]) {
+        this.Answerline.push({
+          value: dataJson.kcb,
+          isEat: 1,
+        });
+      }
+      this.Answerline.push({
+        value: dataJson.nowQuestion.questionText,
+        isEat: 1,
+      });
+      this.questionList = dataJson.questionList;
+      this.questionList = this.questionList.map((item) => {
+        item.ivrLibaScriptTargetoptionList.forEach((row) => {
+          if (row.isUserOperation) {
+            item.radio = row.id;
+          }
+        });
+        return item;
+      });
+
+      // IMUI.appendMessage(data);
+    },
+    //ws閿欒鍥炶皟
+    wsError(data) {
+      console.log(data);
+    },
+
+    sendFn() {
+      // 娑堟伅鍙戦��
+      const obj = {
+        type: "text",
+        userId: "1",
+        templateId: "",
+        questionMessage: { content: this.answer },
+      };
+      console.log(obj, "鍏ュ弬");
+      // 鍙戣捣ws璇锋眰
+      sendWebsocket(
+        "ws://localhost:8089/chat?userId=1",
+        obj,
+        this.wsMessage,
+        this.wsError
+      );
+      this.Answerline.push({
+        value: this.answer,
+        isEat: 2,
+      });
+      this.answer = "";
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.Followupdetailspage {
+  margin: 10px;
+}
+.Followuserinfo {
+  margin: 20px 10px;
+  align-items: center;
+  padding: 30px;
+  background: #ffff;
+  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);
+  .userinfo-text {
+    font-size: 20px;
+    margin-right: 20px;
+    margin-bottom: 10px;
+  }
+  .userinfo-value {
+    color: rgb(15, 139, 211);
+    span {
+      margin-right: 20px;
+    }
+  }
+}
+.borderdiv {
+  min-height: 60vh;
+  font-size: 20px;
+  padding: 30px;
+  max-height: 700px;
+  overflow: auto;
+  .leftside {
+    margin-bottom: 30px;
+    span {
+      width: 400px;
+      margin-left: 20px;
+      padding: 10px;
+      color: #fff;
+      background: rgb(110, 196, 247);
+      border-radius: 10px;
+    }
+  }
+  .offside {
+    display: flex;
+    flex-direction: row-reverse;
+    margin-bottom: 10px;
+    .offside-value {
+      padding: 10px;
+      background: rgb(217, 173, 253);
+      border-radius: 10px;
+      color: #fff;
+      margin-right: 20px;
+    }
+  }
+}
+.preview-left {
+  margin: 20px;
+  //   margin: 20px;
+  padding: 30px;
+  background: #ffff;
+  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);
+  .topic-dev {
+    margin-bottom: 25px;
+    font-size: 20px !important;
+    .dev-text {
+      margin-bottom: 10px;
+    }
+  }
+}
+::v-deep.offside-value .el-radio__label {
+  color: #fff;
+}
+::v-deep.el-input.is-disabled .el-input__inner {
+  background-color: #fff;
+  border-color: #dfe4ed;
+  color: #000;
+  cursor: not-allowed;
+}
+.mulsz {
+  font-size: 25px;
+  margin-top: 20px;
+}
+.text {
+  font-size: 14px;
+}
+
+.item {
+  margin-bottom: 18px;
+}
+.clearfix {
+  font-size: 20px;
+}
+.clearfix:before,
+.clearfix:after {
+  display: table;
+  content: "";
+}
+.clearfix:after {
+  clear: both;
+}
+</style>
diff --git a/src/views/shortmessage/communication/index.vue b/src/views/shortmessage/communication/index.vue
index 5cfb0ff..bbfa8a8 100644
--- a/src/views/shortmessage/communication/index.vue
+++ b/src/views/shortmessage/communication/index.vue
@@ -660,7 +660,7 @@
       };
       // 鍙戣捣ws璇锋眰
       sendWebsocket(
-        "ws://192.168.1.4:8080/chat?userId=2",
+        "ws://localhost:8089/chat?userId=1",
         obj,
         this.wsMessage,
         this.wsError
diff --git a/src/websocket/websocket.js b/src/websocket/websocket.js
index a7e337b..ae54567 100644
--- a/src/websocket/websocket.js
+++ b/src/websocket/websocket.js
@@ -22,8 +22,9 @@
     // 娣诲姞鐘舵�佸垽鏂紝褰撲负OPEN鏃讹紝鍙戦�佹秷鎭�
     if (websock.readyState === websock.OPEN) { // websock.OPEN = 1 
       // 鍙戠粰鍚庣鐨勬暟鎹渶瑕佸瓧绗︿覆鍖�
-      websock.send(agentData)
+      websock.send(JSON.stringify(agentData))
       console.log('杩炴帴鎴愬姛');
+      
     }
     if (websock.readyState === websock.CLOSED) { // websock.CLOSED = 3 
       console.log('websock.readyState=3')
@@ -55,7 +56,7 @@
 }
 // 寤虹珛ws杩炴帴
 function websocketOpen (e) {
-  // console.log('ws杩炴帴鎴愬姛')
+  console.log('ws杩炴帴鎴愬姛')
 }
  
 // 鍒濆鍖杦eosocket
@@ -70,10 +71,11 @@
 //   const requstWsUrl = wsUrl + '?' + token
   const requstWsUrl = wsUrl
   websock = new WebSocket(requstWsUrl)
-
   websock.onmessage = function (e) {
+    console.log('websocketonMessage');
     websocketonmessage(e)
   } 
+
   websock.onopen = function () {
     websocketOpen()
   }

--
Gitblit v1.9.3