From 2c9ddebd07230ca4165e2ee55470133fdf9ccd99 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 31 七月 2024 09:42:22 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/questionnaire/compilequer/index.vue |  271 +++++++++++++++++++++++------------------------------
 1 files changed, 119 insertions(+), 152 deletions(-)

diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index 958a9ec..5f90647 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -97,33 +97,18 @@
             </el-input
           ></el-form-item>
 
-          <el-form-item label="鏂囦欢" prop="sickness">
-            <div style="width: 40%">
-              <el-upload
-                class="upload-demo"
-                action="https://jsonplaceholder.typicode.com/posts/"
-                :on-change="handleChange"
-                :file-list="fileList"
-              >
-                <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
-                <div slot="tip" class="el-upload__tip">
-                  鍙兘涓婁紶jpg/png/xsl鏂囦欢锛屼笖涓嶈秴杩�50mb
-                </div>
-              </el-upload>
-            </div>
-          </el-form-item>
           <el-row>
             <el-form-item label="鏍囩" prop="desc">
               <div class="xinz-inf">
                 <el-tag
-                  :key="tag"
+                  :key="tag.tagname"
                   type="success"
                   v-for="tag in dynamicTags"
                   closable
                   :disable-transitions="false"
                   @close="handleClosetag(tag)"
                 >
-                  {{ tag }}
+                  {{ tag.tagname }}
                 </el-tag>
                 <el-select
                   v-model="inputValue"
@@ -131,6 +116,7 @@
                   @change="handleInputConfirm"
                   filterable
                   remote
+                  allow-create
                   reserve-keyword
                   default-first-option
                   :remote-method="remoteMethodtag"
@@ -157,45 +143,9 @@
           </el-row>
           <el-row>
             <el-form-item label="閫傜敤鐤剧梾" prop="region">
-              <div class="xinz-inf">
-                <el-tag
-                  :key="item.icd10name"
-                  type="warning"
-                  v-for="item in illnesslist"
-                  closable
-                  :disable-transitions="false"
-                  @close="handleCloseillness(item)"
-                >
-                  {{ item.icd10name }}
-                </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-button type="warning" @click="$refs.child.handleAddpatient()"
+                >娣诲姞鐤剧梾</el-button
+              >
             </el-form-item>
           </el-row>
           <el-row :gutter="20">
@@ -436,13 +386,24 @@
                     class="topicxq"
                     v-for="item in topicobj.svyLibTemplateTargetoptions"
                   >
-                    <el-row :gutter="10">
-                      <el-col :span="11">
+                    <el-row :gutter="5">
+                      <el-col :span="16"
+                        ><el-form-item label="閫夐」">
+                          <el-input
+                            type="text"
+                            placeholder="璇疯緭鍏ラ�夐」"
+                            v-model="item.optioncontent"
+                            show-word-limit
+                          >
+                          </el-input> </el-form-item
+                      ></el-col>
+                      <el-col :span="8">
                         <el-form-item
                           v-if="topicobj.scoretype == 1"
                           label="鍒嗗��"
                         >
                           <el-input
+                            class="custom-width"
                             type="text"
                             placeholder="璇疯緭鍏ラ�夐」鍒嗗��"
                             v-model="item.score"
@@ -473,18 +434,8 @@
                       </el-col>
                     </el-row>
                     <el-row :gutter="10">
-                      <el-col :span="11"
-                        ><el-form-item label="閫夐」">
-                          <el-input
-                            type="text"
-                            placeholder="璇疯緭鍏ラ�夐」"
-                            v-model="item.optioncontent"
-                            show-word-limit
-                          >
-                          </el-input> </el-form-item
-                      ></el-col>
-                      <el-col :span="11"
-                        ><el-form-item label="涓嬮璺宠浆">
+                      <el-col :span="20"
+                        ><el-form-item label="涓嬮璺宠浆(搴忓彿)">
                           <el-input
                             type="text"
                             placeholder="璇疯緭鍏ラ鍙�"
@@ -493,17 +444,8 @@
                           >
                           </el-input> </el-form-item
                       ></el-col>
-                      <!-- <el-col :span="2">
-                        <el-button
-                          type="danger"
-                          icon="el-icon-delete"
-                          circle
-                          @click="deletexuanx(item)"
-                        ></el-button>
-                      </el-col> -->
                     </el-row>
                     <el-row :gutter="10">
-                      
                       <el-form-item label="閫変腑鎻愮ず">
                         <el-input
                           style="width: 20vw"
@@ -514,6 +456,20 @@
                         >
                         </el-input
                       ></el-form-item>
+                    </el-row>
+                    <el-row :gutter="10">
+                      <el-form-item label="閫夐」鏂囦欢" prop="sickness">
+                        <div style="width: 40vw">
+                          <div style="margin: 20px">
+                            <el-image
+                              style="width: 100px; height: 100px"
+                              :src="item.picturePath"
+                              :preview-src-list="[...item.picturePath]"
+                            >
+                            </el-image>
+                          </div>
+                        </div>
+                      </el-form-item>
                     </el-row>
                   </div>
                 </div>
@@ -526,11 +482,20 @@
                           type="textarea"
                           autosize
                           placeholder="姝ゅ鏀剧疆鎮h�呭洖绛�"
-                          v-model="radioas"
+                          v-model="topicobj.reply"
                         >
                         </el-input
                       ></el-form-item>
                     </el-row>
+                    <el-form-item label="鍒嗗��">
+                      <el-input
+                        type="text"
+                        placeholder="璇疯緭鍏ラ�夐」鍒嗗��"
+                        v-model="topicobj.score"
+                        show-word-limit
+                      >
+                      </el-input>
+                    </el-form-item>
                   </div>
                 </div>
               </el-form>
@@ -581,10 +546,10 @@
             v-if="item.scriptType == 2"
           >
             <div class="dev-text">
-              {{ item.sort }}銆乕澶氶�塢<span>{{ item.wssd }}</span>
+              {{ item.sort }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
             </div>
             <div class="dev-xx">
-              <el-checkbox-group v-model="item.remark">
+              <el-checkbox-group v-model="qremark">
                 <el-checkbox
                   v-for="(items, index) in item.svyLibTemplateTargetoptions"
                   :key="index"
@@ -603,7 +568,7 @@
             v-if="item.scriptType == 3"
           >
             <div class="dev-text">
-              {{ item.sort }}銆乕濉┖]<span>{{ item.optioncontent }}</span>
+              {{ item.sort }}銆乕濉┖]<span>{{ item.scriptContent }}</span>
             </div>
             <div class="dev-xx">
               <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable>
@@ -616,7 +581,7 @@
         <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
       </div>
     </div>
-    <!-- 棰勮妯$増寮圭獥 -->
+    <!-- 娣诲姞棰樼洰寮圭獥 -->
     <el-drawer
       title="娣诲姞棰樼洰"
       :visible.sync="drawer"
@@ -670,6 +635,14 @@
             width="200"
             :show-overflow-tooltip="true"
           />
+          <el-table-column
+            label="閫夐」鍐呭"
+            align="center"
+            key="targetoptions"
+            prop="targetoptions"
+            width="200"
+            :show-overflow-tooltip="true"
+          />
 
           <el-table-column
             label="鎿嶄綔"
@@ -694,6 +667,14 @@
         />
       </div>
     </el-drawer>
+    <!-- 娣诲姞閫傜敤鐤剧梾绐楀彛 -->
+    <Optional-Form
+      ref="child"
+      :dialogVisiblepatient="dialogVisiblepatient"
+      :overallCase="illnesslist"
+      @addoption="dialogVisiblepatient = false"
+      @kkoption="dialogVisiblepatient = true"
+    />
   </div>
 </template>
 
@@ -705,7 +686,7 @@
   getQtemplateclassify,
   delQtemplateclassify,
   addQtemplateclassify,
-  getQtemplatelist,
+  getQtemplateobj,
   compileQtemplate,
   Qtemplateinfo,
   compileissue,
@@ -719,10 +700,20 @@
   illnesslistget,
   getillness,
 } from "@/api/AiCentre/index";
+import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢
+import { getToken } from "@/utils/auth";
 
 export default {
+  name: "Qcompilequer",
+
+  components: { OptionalForm },
+
   data() {
     return {
+      headers: {
+        Authorization: "Bearer " + getToken(),
+      },
+      uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort",
       sidecolumnrabs: "left", //鏂瑰悜
       Editprogress: 1, //缂栬緫杩涘害
       currentVersion: "1.2.3", //褰撳墠鐗堟湰
@@ -733,11 +724,16 @@
       radioas: "", //濉┖棰樼瓟妗�
       dynamicTags: [],
       inputVisible: false,
+      dialogVisiblepatient: false, //閫傜敤鐤剧梾绐楀彛
       inputValue: "",
       topicobj: {},
       // 鎬绘潯鏁�
       total: 1,
-      ruleForm: { svyTemplateLibScripts: [], tempDetpRelevances: [] },
+      ruleForm: {
+        svyTemplateLibScripts: [],
+        tempDetpRelevances: [],
+        svyLibTemplateTagList: [],
+      },
       rules: {},
       rulesa: {},
       optionsclass: [], //鍒嗙被鍒楄〃
@@ -798,6 +794,7 @@
       tempDetpRelevanceslist: [],
       optionstag: [],
       valuetype: [],
+      qremark: [],
       usable: [
         { value: "0", label: "鍙敤" },
         { value: "1", label: "鍋滅敤" },
@@ -850,6 +847,9 @@
     getIndexInArray(arr, obj) {
       return arr.indexOf(obj);
     },
+    processElement(element) {
+      return { ...element, isoperation: 1 };
+    },
     // 閫掑綊鎵佸钩鍖�
     flattenArray(arr) {
       let result = [];
@@ -869,36 +869,33 @@
     getissueinfo() {
       this.id = this.$route.query.id;
       if (this.id) {
-        getQtemplatelist({ svyid: this.id }).then((res) => {
+        getQtemplateobj({ svyid: this.id }).then((res) => {
           this.ruleForm = res.rows[0];
-          this.dynamicTags = this.ruleForm.labelInfo.split(",");
+          this.dynamicTags = this.ruleForm.svyLibTemplateTagList.map(
+            this.processElement
+          );
           this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames);
           this.ruleForm.suitway = this.ruleForm.suitway.split(",");
-          console.log(this.tempDetpRelevanceslist);
         });
         getillness({ outid: this.id, type: 5 }).then((res) => {
           this.illnesslist = res.rows;
+          this.illnesslist.forEach((item) => {
+            item.icdname = item.icd10name;
+          });
         });
       }
-      getillnesslist({
-        pageNum: 1,
-        pageSize: 100,
-      }).then((response) => {
-        this.optionsillness = response.rows;
-      });
+
       listDept(this.queryParams).then((response) => {
         this.deptList = this.handleTree(response.data, "deptId");
       });
       // 鍒嗙被
       getQtemplateclassify({}).then((res) => {
-        // this.optionsclass = this.flattenArray(res.rows);
         this.optionsclass = res.rows;
       });
     },
     submitForm(formName) {
       this.$modal.loading("姝e湪涓婁紶鏁版嵁锛岃绋嶅��...");
 
-      this.ruleForm.labelInfo = this.dynamicTags.join(",");
       this.ruleForm.suitway = this.ruleForm.suitway.join(",");
 
       if (this.id) {
@@ -999,6 +996,7 @@
     // 鏂板棰樼洰
     addtopic(row) {
       row.isoperation = 1;
+      console.log(row, "row");
       row.svyLibScriptOptions.forEach((item) => {
         item.isoperation = 1;
       });
@@ -1040,11 +1038,14 @@
       this.sortFn();
     },
     sortFn() {
+      console.log(this.ruleForm.svyTemplateLibScripts, "搴忓墠鍊�");
       this.ruleForm.svyTemplateLibScripts.forEach((item, index) => {
-        item.sort = index + 1;
-        item.svyLibTemplateTargetoptions.forEach((items) => {
-          items.nextQuestion = Number(item.sort) + 1;
-        });
+        item.sort = Number(index) + 1;
+        if (item.svyLibTemplateTargetoptions) {
+          item.svyLibTemplateTargetoptions.forEach((items) => {
+            items.nextQuestion = Number(item.sort) + 1;
+          });
+        }
       });
       console.log(this.ruleForm.svyTemplateLibScripts);
     },
@@ -1067,10 +1068,7 @@
         console.log("鏈壘鍒拌瀵硅薄");
       }
     },
-    // 鎺у埗鏂囦欢
-    handleChange(file, fileList) {
-      this.fileList = fileList.slice(-3);
-    },
+
     // 鏍囩-----------------
     gettabList() {
       const tagqueryParams = {
@@ -1086,7 +1084,11 @@
     handleClosetag(tag) {
       console.log(tag);
       console.log(this.dynamicTags.indexOf(tag));
+      const lindex = this.dynamicTags.indexOf(tag);
+
       this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
+      this.ruleForm.svyLibTemplateTagList[lindex].delFlag = 1;
+
       // this.ruleForm.ivrLibaTemplateTargetList[lindex].isoperation = 3;
     },
     handleInputConfirm() {
@@ -1108,9 +1110,9 @@
               isoperation: 1,
             };
           }
-          // this.ruleForm.ivrLibaTemplateTargetList.push(tagvalue);
+          this.ruleForm.svyLibTemplateTagList.push(tagvalue);
           // this.dynamicTags.push(tagvalue);
-          this.dynamicTags.push(tagvalue.tagname);
+          this.dynamicTags.push(tagvalue);
         });
       }
       this.inputVisible = false;
@@ -1132,60 +1134,22 @@
     showInput() {
       this.inputVisible = true;
     },
-    // 鐤剧梾-----------------------
-
-    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 = 5;
-        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 = "";
-    },
-    // 淇濆瓨
+    // 淇濆瓨鐤剧梾
     confirmillness(guid) {
       this.illnesslist.forEach((item, index) => {
         if (guid) {
           item.outid = guid;
+        } else {
+          console.log(this.ruleForm);
+          item.outid = this.ruleForm.svyid;
         }
+        item.icd10name = item.icdname;
+        item.icd10code = item.icdcode;
+        item.type = 5;
         if (!item.id) {
           addtargetillness(item).then((res) => {});
         }
       });
-      if (this.illnesslistapi.length) {
-        deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
-      }
       this.illnessVisible = false;
       this.$modal.msgSuccess("缂栬緫鎴愬姛");
     },
@@ -1444,6 +1408,9 @@
     }
   }
 }
+.custom-width {
+  width: 100px; /* 璁剧疆瀹藉害鏍峰紡 */
+}
 ::v-deep .addtopic-input {
   input {
     background: #02a7f0;

--
Gitblit v1.9.3