From a9a1a5cf8e6d6677374e9ef7bcddb97877e4eee4 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 02 八月 2024 15:34:12 +0800
Subject: [PATCH] 测试完成

---
 src/views/repositoryai/templateku/configurat/index.vue |  419 ++++++++++++++++++++++++++---------------------------------
 1 files changed, 182 insertions(+), 237 deletions(-)

diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue
index 85636ae..7f2eb5b 100644
--- a/src/views/repositoryai/templateku/configurat/index.vue
+++ b/src/views/repositoryai/templateku/configurat/index.vue
@@ -188,6 +188,7 @@
                 @change="handleInputConfirm"
                 filterable
                 remote
+                allow-create
                 reserve-keyword
                 default-first-option
                 :remote-method="remoteMethodtag"
@@ -211,48 +212,24 @@
               >
             </div>
           </el-form-item>
-
-          <el-form-item label="閫傜敤鐤剧梾" prop="region">
-            <div class="xinz-inf">
+          <div class="xinz-infs">
+            <el-form-item label="閫傜敤鐤剧梾" prop="region">
               <el-tag
-                :key="item.icd10name"
+                v-for="tag in displayedTags"
+                :key="tag.icdid"
                 type="warning"
-                v-for="item in illnesslist"
-                closable
                 :disable-transitions="false"
-                @close="handleCloseillness(item)"
               >
-                {{ item.icd10name }}
+                {{ tag.icdname }}
               </el-tag>
-              <el-select
-                v-model="inputValueillness"
-                v-if="inputVisibleillness"
-                @change="illnessConfirm"
-                :remote-method="remoteMethod"
-                filterable
-                remote
-                allow-create
-                default-first-option
-                placeholder="璇烽�夋嫨/鏌ヨ"
-                :loading="loading"
-              >
-                <el-option
-                  v-for="item in optionsillness"
-                  :key="item.icdid"
-                  :label="item.icdname"
-                  :value="item.icdid"
-                >
-                </el-option>
-              </el-select>
-              <el-button
-                v-else
-                class="button-new-tag"
-                size="small"
-                @click="inputVisibleillness = true"
-                >+ 鏂板鐤剧梾</el-button
-              >
-            </div>
-          </el-form-item>
+              <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag>
+            </el-form-item>
+          </div>
+          <div style="margin-left: 120px; margin-bottom: 10px">
+            <el-button type="warning" @click="$refs.child.handleAddpatient()"
+              >鐤剧梾璇︽儏</el-button
+            >
+          </div>
           <el-form-item label="閫傜敤闄㈠尯" prop="region">
             <el-select
               style="width: 500px"
@@ -388,15 +365,15 @@
                 <el-table-column
                   label="鏍囬"
                   align="center"
-                  key="questiontitle"
-                  prop="questiontitle"
+                  key="scriptTopic"
+                  prop="scriptTopic"
                   :show-overflow-tooltip="true"
                 />
                 <el-table-column
                   label="闂璇濇湳"
                   align="center"
-                  key="questionText"
-                  prop="questionText"
+                  key="scriptContent"
+                  prop="scriptContent"
                   :show-overflow-tooltip="true"
                 />
 
@@ -453,7 +430,7 @@
                 </div>
                 <el-form-item label="棰樼洰鏍囬">
                   <el-input
-                    v-model="topicobj.questiontitle"
+                    v-model="topicobj.scriptTopic"
                     placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨"
                   ></el-input>
                 </el-form-item>
@@ -497,6 +474,10 @@
                       </el-select> </el-form-item
                   ></el-col>
                 </el-row>
+                <el-form-item label="闂璇煶" v-if="topicobj.scriptVoice">
+                  <mini-audio :audio-source="topicobj.scriptVoice"></mini-audio>
+                </el-form-item>
+
                 <div
                   class="topicxq"
                   v-if="topicobj.valueType == 2 || topicobj.valueType == 3"
@@ -539,7 +520,7 @@
                         ><el-form-item label="鏃犲尮閰嶈瘽鏈�">
                           <el-input
                             type="textarea"
-                            style="width: 400px;"
+                            style="width: 400px"
                             placeholder="璇疯緭鍏�"
                             v-model="topicobj.noMatchText"
                             show-word-limit
@@ -547,38 +528,16 @@
                           </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="topicobj.text"
-                            maxlength="10"
-                            show-word-limit
-                          >
-                          </el-input> </el-form-item
-                      ></el-col>
-                    </el-row> -->
-
                     <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-form-item
+                          label="鏃犲尮閰嶈闊�"
+                          v-if="topicobj.nomatchvoice"
+                        >
+                          <mini-audio
+                            :audio-source="topicobj.nomatchvoice"
+                          ></mini-audio> </el-form-item
+                      ></el-col>
                     </el-row>
                   </div>
                   <div class="topicxq">
@@ -586,7 +545,7 @@
                       <el-col :span="20"
                         ><el-form-item label="鍚笉娓呰瘽鏈�">
                           <el-input
-                          style="width: 400px;"
+                            style="width: 400px"
                             type="textarea"
                             placeholder="璇疯緭鍏�"
                             v-model="topicobj.noClearlyText"
@@ -595,38 +554,21 @@
                           </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="topicobj.text"
-                            maxlength="10"
-                            show-word-limit
-                          >
-                          </el-input> </el-form-item
-                      ></el-col>
-                    </el-row> -->
 
                     <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-form-item
+                          label="璇煶鏂囦欢"
+                          v-if="topicobj.noclearlyvoice"
+                        >
+                          <mini-audio
+                            :audio-source="
+                              topicobj.noclearlyvoice
+                                ? topicobj.noclearlyvoice
+                                : 'https://example.com/example.mp3'
+                            "
+                          ></mini-audio> </el-form-item
+                      ></el-col>
                     </el-row>
                   </div>
                   <div class="topicxq">
@@ -635,7 +577,7 @@
                         ><el-form-item label="闈欓粯璇濇湳">
                           <el-input
                             type="textarea"
-                            style="width: 400px;"
+                            style="width: 400px"
                             placeholder="璇疯緭鍏�"
                             v-model="topicobj.slienceText"
                             show-word-limit
@@ -643,38 +585,21 @@
                           </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="topicobj.text"
-                            maxlength="10"
-                            show-word-limit
-                          >
-                          </el-input> </el-form-item
-                      ></el-col>
-                    </el-row> -->
 
                     <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-form-item
+                          label="璇煶鏂囦欢"
+                          v-if="topicobj.sliencevoice"
+                        >
+                          <mini-audio
+                            :audio-source="
+                              topicobj.sliencevoice
+                                ? topicobj.sliencevoice
+                                : 'https://example.com/example.mp3'
+                            "
+                          ></mini-audio> </el-form-item
+                      ></el-col>
                     </el-row>
                   </div>
                 </div>
@@ -696,18 +621,20 @@
       <div v-if="Editprogress == 3">
         <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"
+            class="scriptTopic-dev"
+            v-for="item in valssu"
+            :key="item.targetid"
+            v-if="item.valueType == 1"
           >
             <div class="dev-text">
-              {{ index + 1 }}銆乕鍗曢�塢<span>{{ item.questionText }}</span>
+              {{ item.targetid }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span>
             </div>
             <div class="dev-xx">
-              <el-radio-group v-model="radio">
+              <el-radio-group v-model="item.remark">
                 <el-radio
                   v-for="(items, index) in item.ivrLibaScriptTargetoptionList"
                   :key="index"
@@ -718,36 +645,42 @@
             </div>
           </div>
           <!-- 澶氶�� -->
-          <!-- <div
-            class="topic-dev"
-            v-for="(item, index) in valssu"
-            :key="item.aaa"
+          <div
+            class="scriptTopic-dev"
+            v-for="item in valssu"
+            :key="item.targetid"
+            v-if="item.valueType == 2"
           >
             <div class="dev-text">
-              {{ index + 1 }}銆乕澶氶�塢<span>{{ item.questionText }}</span>
+              {{ item.targetid }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
             </div>
             <div class="dev-xx">
-              <el-checkbox-group v-model="radios">
+              <el-checkbox-group v-model="item.remark">
                 <el-checkbox
-                  v-for="(items, indexs) in item.ivrLibaScriptTargetoptionList"
-                  :key="indexs"
-                  :label="indexs"
+                  v-for="(items, index) in item.ivrLibaScriptTargetoptionList"
+                  :key="index"
+                  :label="index"
                 >
                   {{ items.targetvalue }}
                 </el-checkbox>
               </el-checkbox-group>
             </div>
-          </div> -->
-          <!-- 濉┖
-          <div class="topic-dev" v-for="item in valssu" :key="item.aaa">
+          </div>
+          <!-- 濉┖ -->
+          <div
+            class="scriptTopic-dev"
+            v-for="item in valssu"
+            :key="item.targetid"
+            v-if="item.valueType == 3"
+          >
             <div class="dev-text">
-              {{ item.idd }}銆乕濉┖]<span>{{ item.wssd }}</span>
+              {{ item.targetid }}銆乕濉┖]<span>{{ item.scriptContent }}</span>
             </div>
             <div class="dev-xx">
               <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable>
               </el-input>
             </div>
-          </div> -->
+          </div>
         </div>
         <el-button type="primary" plain @click="laststep()">涓婁竴姝�</el-button>
         <el-button type="warning" @click="measurement()">鍓嶅線娴嬭瘯</el-button>
@@ -771,7 +704,7 @@
         >
           <el-form-item label="鏍囬" prop="userName">
             <el-input
-              v-model="queryParams.questiontitle"
+              v-model="queryParams.scriptTopic"
               placeholder="璇疯緭鍏�"
               clearable
               style="width: 200px"
@@ -796,15 +729,23 @@
           <el-table-column
             label="鏍囬"
             align="center"
-            key="questiontitle"
-            prop="questiontitle"
+            key="scriptTopic"
+            prop="scriptTopic"
             width="100"
           />
           <el-table-column
             label="闂璇濇湳"
             align="center"
-            key="questionText"
-            prop="questionText"
+            key="scriptContent"
+            prop="scriptContent"
+            width="200"
+            :show-overflow-tooltip="true"
+          />
+          <el-table-column
+            label="閫夐」鍐呭"
+            align="center"
+            key="targetoptions"
+            prop="targetoptions"
             width="200"
             :show-overflow-tooltip="true"
           />
@@ -831,6 +772,14 @@
         />
       </div>
     </el-drawer>
+    <!-- 娣诲姞閫傜敤鐤剧梾绐楀彛 -->
+    <Optional-Form
+      ref="child"
+      :dialogVisiblepatient="dialogVisiblepatient"
+      :overallCase="illnesslist"
+      @addoption="dialogVisiblepatient = false"
+      @kkoption="dialogVisiblepatient = true"
+    />
   </div>
 </template>
 
@@ -857,10 +806,11 @@
   getillness,
   getgenerallist,
 } from "@/api/AiCentre/index";
+import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢
 
 export default {
   name: "SpeechTemplates",
-  components: { Regular },
+  components: { Regular, OptionalForm },
   data() {
     return {
       Editprogress: 1, //缂栬緫杩涘害
@@ -872,6 +822,7 @@
       taskform: null, //浠诲姟淇℃伅
       labelInfovalue: [], //鏍囩涓存椂瀛樺偍
       deptNamesvalue: [], //绉戝涓存椂瀛樺偍
+      dialogVisiblepatient: false, //閫傜敤鐤剧梾绐楀彛
       dynamicTags: [],
       indexAssortlist: [],
       inputValue: "",
@@ -978,6 +929,20 @@
     this.precedencetype = store.getters.precedencetype;
   },
   mounted() {},
+  computed: {
+    displayedTags() {
+      // 杩斿洖鍓�10涓猼ag
+      return this.illnesslist.slice(0, 10);
+    },
+    hasMore() {
+      // 鍒ゆ柇鏄惁鏈夋洿澶氱殑tag
+      return this.illnesslist.length > 10;
+    },
+    remaining() {
+      // 璁$畻鍓╀綑鐨則ag鏁伴噺
+      return this.illnesslist.length - 10;
+    },
+  },
 
   methods: {
     //鍏叡鏂规硶--------------------
@@ -999,37 +964,38 @@
     },
     // 鑾峰彇琛ㄥ崟鏁版嵁
     getvFollowup() {
-      getvFollowup({ id: this.id }).then((res) => {
-        if (res.code == 200 && this.id) {
-          console.log(2211);
-          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
-          );
-          console.log(this.ruleForm.suitway);
-        }
-      });
-      getillnesslist({
-        pageNum: 1,
-        pageSize: 100,
-      }).then((response) => {
-        this.optionsillness = response.rows;
-      });
       if (this.id) {
+        getvFollowup({ id: this.id }).then((res) => {
+          if (res.code == 200) {
+            console.log(2211);
+            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
+            );
+            console.log(this.ruleForm.suitway);
+          }
+        });
         getillness({ outid: this.id, type: 3 }).then((res) => {
           this.illnesslist = res.rows;
+          this.illnesslist.forEach((item) => {
+            item.icdname = item.icd10name;
+          });
         });
       }
+
       listDept(this.queryParams).then((response) => {
         this.deptList = this.handleTree(response.data, "deptId");
       });
@@ -1039,7 +1005,9 @@
       // 鍒嗙被
       getFollowupclassify({}).then((res) => {
         this.indexAssortlist = res.rows;
-        this.ruleForm.assortid = Number(this.$route.query.assortid);
+        if (this.$route.query.assortid) {
+          this.ruleForm.assortid = Number(this.$route.query.assortid);
+        }
       });
       // 绉戝
       listDept(this.queryParams).then((response) => {
@@ -1086,19 +1054,29 @@
             return item;
           });
       });
-
+      compileFollowup(this.ruleForm).then((res) => {
+        this.$modal.msgSuccess("缂栬緫鎴愬姛");
+        this.confirmillness(res.data);
+        this.$router.go(-1);
+      });
+    },
+    confirmillness(guid) {
       this.illnesslist.forEach((item, index) => {
+        if (guid) {
+          item.outid = guid;
+        } else {
+          console.log(this.ruleForm);
+          item.outid = this.ruleForm.id;
+        }
+        item.icd10name = item.icdname;
+        item.icd10code = item.icdcode;
+        item.type = 3;
         if (!item.id) {
           addtargetillness(item).then((res) => {});
         }
       });
-      if (this.illnesslistapi.length) {
-        deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
-      }
-      compileFollowup(this.ruleForm).then((res) => {
-        this.$modal.msgSuccess("缂栬緫鎴愬姛");
-        this.$router.go(-1);
-      });
+      this.illnessVisible = false;
+      this.$modal.msgSuccess("缂栬緫鎴愬姛");
     },
     // 绉戝澶勭悊
     Departmenttreatment() {
@@ -1255,7 +1233,7 @@
       console.log(row);
       if (
         this.ruleForm.ivrLibaTemplateScriptVOList.some(
-          (obj) => obj.questiontitle == row.questiontitle
+          (obj) => obj.scriptTopic == row.scriptTopic
         )
       ) {
         this.$modal.msgError("璇ラ鐩凡瀛樺湪");
@@ -1275,7 +1253,7 @@
     },
     handleDelete(row) {
       this.$modal
-        .confirm('鏄惁纭鍒犻櫎闂锛�"' + row.questiontitle + '"锛�')
+        .confirm('鏄惁纭鍒犻櫎闂锛�"' + row.scriptTopic + '"锛�')
         .then(() => {
           this.ruleForm.ivrLibaTemplateScriptVOList.splice(
             this.ruleForm.ivrLibaTemplateScriptVOList.indexOf(row),
@@ -1359,47 +1337,6 @@
       this.$refs[formName].resetFields();
     },
 
-    // 鐤剧梾-----------------------
-
-    handleCloseillness(tag) {
-      this.illnesslist.splice(this.illnesslist.indexOf(tag), 1);
-      if (tag.id) {
-        this.illnesslistapi.push(tag.id);
-      }
-    },
-    remoteMethod(value) {
-      console.log(value);
-      const illnessqueryParams = {
-        pageNum: 1,
-        pageSize: 100,
-        icdname: value,
-      };
-      this.loading = true;
-      setTimeout(() => {
-        this.loading = false;
-        getillnesslist(illnessqueryParams).then((response) => {
-          this.optionsillness = response.rows;
-        });
-      }, 200);
-    },
-    illnessConfirm(item) {
-      let opeavalue = {};
-      let tagname = this.inputValueillness;
-      illnesslistget(item).then((res) => {
-        opeavalue = res.data;
-        opeavalue.outid = this.id;
-        opeavalue.type = 3;
-        opeavalue.icd10id = opeavalue.icdid;
-        opeavalue.icd10name = opeavalue.icdname;
-        opeavalue.icd10code = opeavalue.icdcode;
-        if (tagname) {
-          this.illnesslist.push(opeavalue);
-        }
-      });
-      console.log(this.illnesslist);
-      this.inputVisibleillness = false;
-      this.inputValueillness = "";
-    },
     // 棰勮---------------
     preview() {
       console.log(this.ruleForm);
@@ -1472,7 +1409,7 @@
   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 {
+  .scriptTopic-dev {
     margin-bottom: 25px;
     font-size: 20px !important;
     .dev-text {
@@ -1504,6 +1441,14 @@
     vertical-align: bottom;
   }
 }
+.xinz-infs {
+  font-size: 18px;
+  line-height: 48px;
+
+  .el-tag + .el-tag {
+    margin-left: 10px;
+  }
+}
 .addtopic {
   margin-top: 30px;
 }

--
Gitblit v1.9.3