From 720f7c4ce56ae4b9fc3884d0ed9393d79130b01c Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 16 八月 2024 18:07:46 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/questionnaire/compilequer/index.vue |  355 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 212 insertions(+), 143 deletions(-)

diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index 4db2cdc..8100549 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -141,72 +141,43 @@
               </div>
             </el-form-item>
           </el-row>
-          <el-row>
+          <div class="xinz-infs">
             <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-tag
+                v-for="tag in displayedTags"
+                :key="tag.icdid"
+                type="warning"
+                :disable-transitions="false"
+              >
+                {{ tag.icdname }}
+              </el-tag>
+              <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag>
             </el-form-item>
-          </el-row>
+          </div>
+          <div style="margin-left: 120px; margin-bottom: 10px">
+            <el-button type="warning" @click="$refs.child.handleAddpatient()"
+              >鐤剧梾璇︽儏</el-button
+            >
+          </div>
           <el-row :gutter="20">
             <el-col :span="6">
               <el-form-item label="鐗堟湰鍙�" prop="name">
-                <el-input v-model="ruleForm.version"></el-input> </el-form-item
+                <el-input
+                  v-model="ruleForm.version"
+                  placeholder="榛樿1.0"
+                ></el-input> </el-form-item
             ></el-col>
             <el-col :span="9">
               <el-form-item label="鍙敤鐘舵��" prop="region">
-                <el-select
-                  v-model="ruleForm.isenable"
-                  size="medium"
-                  filterable
-                  placeholder="璇烽�夋嫨鍒嗙被"
-                >
-                  <el-option
-                    class="ruleFormaa"
-                    v-for="item in usable"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
+                <el-radio-group v-model="ruleForm.isAvailable">
+                  <el-radio
+                    v-for="(item, index) in usable"
+                    :label="item.value"
+                    >{{ item.label }}</el-radio
                   >
-                  </el-option>
-                </el-select> </el-form-item
-            ></el-col>
+                </el-radio-group>
+              </el-form-item></el-col
+            >
           </el-row>
           <el-form-item label="闂嵎鏂瑰紡" prop="region">
             <el-select
@@ -282,6 +253,13 @@
               @click="getaddtopiclist"
               >娣诲姞棰樼洰</el-button
             >
+            <el-button
+              type="success"
+              icon="el-icon-edit-outline"
+              round
+              @click="Operateit = !Operateit"
+              >{{ !Operateit ? "缂栬緫棰樼洰" : "瀹屾暣淇℃伅灞曠ず" }}</el-button
+            >
           </div>
           <div style="display: flex">
             <span
@@ -300,7 +278,7 @@
           </div>
         </div>
         <div class="presentation">
-          <div class="presentation-left">
+          <div :class="Operateit ? 'presentation-left' : 'spresentation-left'">
             <el-card class="box-card" style="min-height: 688px">
               <el-table
                 v-loading="loading"
@@ -311,6 +289,7 @@
                   align="center"
                   key="sort"
                   prop="sort"
+                  width="50"
                 />
                 <el-table-column
                   label="棰樼洰鏍囬"
@@ -320,14 +299,60 @@
                   :show-overflow-tooltip="true"
                 />
                 <el-table-column
+                  label="棰樺瀷"
+                  align="center"
+                  key="scriptType"
+                  prop="scriptType"
+                  :show-overflow-tooltip="true"
+                >
+                  <template slot-scope="scope">
+                    <dict-tag
+                      :options="askvaluetype"
+                      :value="scope.row.scriptType"
+                    />
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  v-if="!Operateit"
                   label="棰樼洰鍐呭"
                   align="center"
                   key="scriptContent"
                   prop="scriptContent"
                   :show-overflow-tooltip="true"
                 />
+                <el-table-column
+                  v-if="!Operateit"
+                  label="鎸囨爣鍚嶇О"
+                  align="center"
+                  key="targetname"
+                  prop="targetname"
+                  :show-overflow-tooltip="true"
+                />
+                <el-table-column
+                  v-if="!Operateit"
+                  label="鏄惁蹇呭~"
+                  align="center"
+                  key="ismandatory"
+                  prop="ismandatory"
+                  :show-overflow-tooltip="true"
+                >
+                  <template slot-scope="scope">
+                    <dict-tag
+                      :options="required"
+                      :value="scope.row.ismandatory"
+                    />
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  label="涓嬮璺宠浆"
+                  align="center"
+                  key="nextScriptno"
+                  prop="nextScriptno"
+                  :show-overflow-tooltip="true"
+                />
 
                 <el-table-column
+                  v-if="Operateit"
                   label="鎿嶄綔"
                   align="center"
                   width="250"
@@ -363,27 +388,32 @@
               </el-table>
             </el-card>
           </div>
-          <div class="presentation-right">
+          <div class="presentation-right" v-if="Operateit">
             <el-card class="box-card">
               <el-form
                 :inline="true"
                 :model="topicobj"
                 class="demo-form-inline"
               >
-                <div class="headline">
-                  棰樼洰璁剧疆璇︽儏
-                  <span style="margin-left: 30px"
-                    ><el-button type="primary" @click="Submittopicobj"
-                      >淇濆瓨</el-button
-                    ></span
-                  >
-                </div>
-                <el-form-item label="棰樼洰鏍囬">
-                  <el-input
-                    v-model="topicobj.scriptTopic"
-                    placeholder="璇疯緭鍏ユ爣棰�"
-                  ></el-input>
-                </el-form-item>
+                <div class="headline">棰樼洰璁剧疆璇︽儏</div>
+                <el-row :gutter="10">
+                  <el-col :span="12">
+                    <el-form-item label="棰樼洰鏍囬">
+                      <el-input
+                        v-model="topicobj.scriptTopic"
+                        placeholder="璇疯緭鍏ユ爣棰�"
+                      ></el-input> </el-form-item
+                  ></el-col>
+                  <el-col :span="12">
+                    <el-form-item label="涓嬮璺宠浆" v-if="!topicobj.branchFlag">
+                      <el-input
+                        v-model="topicobj.nextScriptno"
+                        placeholder="璇疯緭鍏ラ鍙�"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+
                 <el-row :gutter="10">
                   <el-col :span="12"
                     ><el-form-item label="鏄惁蹇呭~">
@@ -416,6 +446,25 @@
                       </el-select> </el-form-item
                   ></el-col>
                 </el-row>
+                <el-row>
+                  <el-col :span="12">
+                    <el-form-item
+                      label="棰樼洰鍒嗗��"
+                      v-if="topicobj.scoretype == 1"
+                    >
+                      <el-input
+                        v-model="topicobj.score"
+                        placeholder="璇疯緭鍏ラ鍙�"
+                      ></el-input>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-form-item label="鏄惁鐢遍�夐」閰嶇疆璺宠浆">
+                  <el-radio-group v-model="topicobj.branchFlag">
+                    <el-radio :label="1">鏄�</el-radio>
+                    <el-radio :label="0">鍚�</el-radio>
+                  </el-radio-group>
+                </el-form-item>
                 <div v-if="topicobj.scriptType != 3">
                   <div class="headline">閫夐」璁剧疆</div>
                   <div
@@ -617,7 +666,7 @@
         <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
       </div>
     </div>
-    <!-- 棰勮妯$増寮圭獥 -->
+    <!-- 娣诲姞棰樼洰寮圭獥 -->
     <el-drawer
       title="娣诲姞棰樼洰"
       :visible.sync="drawer"
@@ -703,6 +752,14 @@
         />
       </div>
     </el-drawer>
+    <!-- 娣诲姞閫傜敤鐤剧梾绐楀彛 -->
+    <Optional-Form
+      ref="child"
+      :dialogVisiblepatient="dialogVisiblepatient"
+      :overallCase="illnesslist"
+      @addoption="dialogVisiblepatient = false"
+      @kkoption="dialogVisiblepatient = true"
+    />
   </div>
 </template>
 
@@ -714,7 +771,7 @@
   getQtemplateclassify,
   delQtemplateclassify,
   addQtemplateclassify,
-  getQtemplatelist,
+  getQtemplateobj,
   compileQtemplate,
   Qtemplateinfo,
   compileissue,
@@ -728,9 +785,14 @@
   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: {
@@ -747,6 +809,7 @@
       radioas: "", //濉┖棰樼瓟妗�
       dynamicTags: [],
       inputVisible: false,
+      dialogVisiblepatient: false, //閫傜敤鐤剧梾绐楀彛
       inputValue: "",
       topicobj: {},
       // 鎬绘潯鏁�
@@ -764,11 +827,7 @@
         { value: "scriptTopic", table: "scriptTopic" },
       ],
 
-      appraiselist: [
-        { label: "鍒嗘暟", value: "1" },
-        { label: "ABC绛夌骇", value: "2" },
-        { label: "浼樿壇绛夌骇", value: "3" },
-      ],
+      appraiselist: [],
 
       fileList: [
         {
@@ -803,11 +862,13 @@
       themelist: [],
       languagelist: [],
       courtyardlist: [],
+      askvaluetype: [],
       precedencetype: [],
       inputValueillness: "",
       inputVisible: false,
       inputVisibleillness: false,
       illnessVisible: false, //鎸囨爣鐤剧梾寮规
+      Operateit: true,
       deptOptions: [],
       optionsillness: [],
       delScriptVOList: [],
@@ -861,7 +922,24 @@
     this.required = store.getters.required;
     this.valuetype = store.getters.valuetype;
     this.courtyardlist = store.getters.courtyardlist;
+    this.askvaluetype = store.getters.askvaluetype;
+    this.appraiselist = store.getters.appraiselist;
+
     // this.test();
+  },
+  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: {
@@ -891,50 +969,48 @@
     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.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;
+          });
         });
+      } else {
+        this.ruleForm.isenable = "1";
       }
-      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.suitway = this.ruleForm.suitway.join(",");
-
+      if (condition) {
+      }
       if (this.id) {
         this.ruleForm.isoperation = 2;
         compileQtemplate(this.ruleForm).then((res) => {
           this.$modal.msgSuccess("淇敼鎴愬姛");
           this.confirmillness();
           this.$modal.closeLoading();
-
           this.$router.go(-1);
         });
       } else {
         this.ruleForm.isoperation = 1;
+        this.ruleForm.version = this.ruleForm.version ? ruleForm : "1.0";
         compileQtemplate(this.ruleForm).then((res) => {
           this.$modal.msgSuccess("鏂板鎴愬姛");
           this.confirmillness(res.data);
@@ -948,10 +1024,8 @@
     // 绉戝澶勭悊
     Departmenttreatment() {
       this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist);
-      console.log(this.tempDetpRelevanceslist);
       this.ruleForm.svyTemplateLibScripts =
         this.ruleForm.svyTemplateLibScripts.concat(this.delScriptVOList);
-      console.log(this.tempDetpRelevanceslist, "this.tempDetpRelevanceslist");
       const result = this.tempDetpRelevanceslist.map(
         (subArr) => subArr[subArr.length - 1]
       );
@@ -1067,6 +1141,13 @@
       console.log(this.ruleForm.svyTemplateLibScripts, "搴忓墠鍊�");
       this.ruleForm.svyTemplateLibScripts.forEach((item, index) => {
         item.sort = Number(index) + 1;
+        console.log(this.ruleForm.svyTemplateLibScripts.length, "length");
+
+        if (item.sort == this.ruleForm.svyTemplateLibScripts.length) {
+          item.nextScriptno = "宸叉槸鏈�鍚庝竴棰�";
+        } else {
+          item.nextScriptno = item.sort + 1;
+        }
         if (item.svyLibTemplateTargetoptions) {
           item.svyLibTemplateTargetoptions.forEach((items) => {
             items.nextQuestion = Number(item.sort) + 1;
@@ -1160,60 +1241,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("缂栬緫鎴愬姛");
     },
@@ -1357,8 +1400,7 @@
   // display: flex;
 }
 .sidecolumn {
-  margin: 20px;
-  margin-bottom: 0;
+  margin: 10px 20px 0 20px;
   padding: 20px;
   background: #edf1f7;
   border: 1px solid #dcdfe6;
@@ -1372,6 +1414,8 @@
   // margin-top: 20px;
   margin: 20px;
   padding: 30px;
+  padding-top: 5px;
+  margin-top: 10px;
   background: #ffff;
   border: 1px solid #dcdfe6;
   -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
@@ -1435,6 +1479,14 @@
     vertical-align: bottom;
   }
 }
+.xinz-infs {
+  font-size: 18px;
+  line-height: 48px;
+
+  .el-tag + .el-tag {
+    margin-left: 10px;
+  }
+}
 .addtopic {
   margin-top: 30px;
 }
@@ -1442,7 +1494,17 @@
   margin: 20px 0;
   display: flex;
   .presentation-left {
-    width: 50%;
+    width: 45%;
+    // height: 500px;
+    .button-textxg {
+      color: #024df0;
+    }
+    .button-textsc {
+      color: #f52727;
+    }
+  }
+  .spresentation-left {
+    width: 100%;
     // height: 500px;
     .button-textxg {
       color: #024df0;
@@ -1452,7 +1514,7 @@
     }
   }
   .presentation-right {
-    width: 50%;
+    width: 55%;
     max-height: 688px;
     padding: 0 20px;
     font-size: 18px;
@@ -1475,6 +1537,13 @@
 .custom-width {
   width: 100px; /* 璁剧疆瀹藉害鏍峰紡 */
 }
+.el-select {
+  width: 40%;
+}
+
+.el-cascader {
+  width: 40%;
+}
 ::v-deep .addtopic-input {
   input {
     background: #02a7f0;

--
Gitblit v1.9.3