From 6be49398a90a339a6c72ac9ea7a09fc368acda87 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 30 四月 2025 15:48:08 +0800
Subject: [PATCH] 测试完成

---
 src/views/patient/propaganda/QuestionnaireTask.vue |  237 +++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 172 insertions(+), 65 deletions(-)

diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index 690cabe..542a537 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -219,7 +219,6 @@
                         <el-option
                           class="ruleFormaa"
                           v-for="item in belongDepts"
-                          :key="item.deptCode"
                           :label="item.deptName"
                           :value="item.deptCode"
                         >
@@ -242,7 +241,6 @@
                         <el-option
                           class="ruleFormaa"
                           v-for="item in belongWards"
-                          :key="item.districtCode"
                           :label="item.districtName"
                           :value="item.districtCode"
                         >
@@ -251,7 +249,7 @@
                   ></el-col>
                 </el-row>
                 <el-row v-if="form.appltype == 3">
-                  <el-col :span="20"
+                  <!-- <el-col :span="20"
                     ><el-form-item label="閫傜敤鐤剧梾" prop="region">
                       <el-select
                         v-model="illnesscodes"
@@ -273,7 +271,38 @@
                         >
                         </el-option>
                       </el-select> </el-form-item
-                  ></el-col>
+                  ></el-col> -->
+                  <div class="xinz-infs">
+                    <el-form-item>
+                      <template #label>
+                        <el-tooltip
+                          class="item"
+                          effect="light"
+                          content="閫夋嫨濂介�傜敤鐤剧梾鍚庯紝鍙互鏂逛究鎮ㄩ�氳繃鐤剧梾璇婃柇鏌ユ壘鍒板搴旂殑鐥呬汉!"
+                          placement="top-start"
+                        >
+                          <i class="el-icon-warning-outline"></i>
+                        </el-tooltip>
+                      </template>
+                      <div style="margin-bottom: 10px">
+                        <el-button
+                          type="warning"
+                          @click="$refs.child.handleAddpatient()"
+                          >娣诲姞鐤剧梾璇婃柇</el-button
+                        >
+                      </div>
+                      <el-tag
+                        v-for="tag in diagglist"
+                        @close="removediagg(tag.icd10code)"
+                        type="warning"
+                        closable
+                        :disable-transitions="false"
+                      >
+                        {{ tag.icdname }}
+                      </el-tag>
+                      <!-- <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> -->
+                    </el-form-item>
+                  </div>
                 </el-row>
                 <el-row v-if="form.appltype == 4">
                   <el-col :span="20"
@@ -292,7 +321,6 @@
                         <el-option
                           class="ruleFormaa"
                           v-for="item in baseoperaList"
-                          :key="item.opcode"
                           :label="item.opdesc"
                           :value="item.opcode"
                         >
@@ -515,6 +543,12 @@
                   @keyup.enter.native="handleQuery"
                 ></el-input>
               </el-form-item>
+              <el-form-item label="鎮h�呰瘖鏂細">
+                <el-input
+                  v-model="patientqueryParams.leavediagname"
+                  @keyup.enter.native="handleQuery"
+                ></el-input>
+              </el-form-item>
               <el-select
                 v-model="patientqueryParams.searchscope"
                 placeholder="璇烽�夋嫨鎮h�呰寖鍥�"
@@ -559,6 +593,8 @@
           <pagination
             v-show="patienttotal > 0 && this.patientqueryParams.allhosp != 6"
             :total="patienttotal"
+            :page.sync="patientqueryParams.pageNum"
+              :limit.sync="patientqueryParams.pageSize"
             @pagination="handleAddpatient"
           />
         </div>
@@ -645,31 +681,6 @@
                 </div>
               </el-form-item>
 
-              <div class="xinz-infs">
-                <el-form-item>
-                  <template #label>
-                    閫傜敤鐤剧梾
-                    <el-tooltip
-                      class="item"
-                      effect="light"
-                      content="閫夋嫨濂介�傜敤鐤剧梾鍚庯紝鍙互鏂逛究鎮ㄩ�氳繃鐤剧梾璇婃柇鏌ユ壘鍒板搴旂殑鐥呬汉!"
-                      placement="top-start"
-                    >
-                      <i class="el-icon-warning-outline"></i>
-                    </el-tooltip>
-                  </template>
-
-                  <el-tag
-                    v-for="tag in illnesslist"
-                    :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>
-              </div>
               <el-form-item label="闂嵎鎻忚堪" prop="description">
                 <el-input
                   type="textarea"
@@ -724,7 +735,7 @@
                   {{ item.sort }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
                 </div>
                 <div class="dev-xx">
-                  <el-checkbox-group v-model="qremark">
+                  <el-checkbox-group v-model="item.qremark">
                     <el-checkbox
                       v-for="(items, index) in item.svyLibTemplateTargetoptions"
                       :key="index"
@@ -758,7 +769,7 @@
       </el-tabs>
 
       <span slot="footer" class="dialog-footer">
-        <!-- <el-button @click="previewGo">淇濆瓨妯℃澘璇︽儏淇敼</el-button> -->
+        <el-button @click="previewGo">淇濆瓨妯℃澘璇︽儏淇敼</el-button>
         <el-button type="primary" @click="Departmenttreatment"
           >淇濆瓨浣跨敤</el-button
         >
@@ -785,7 +796,10 @@
               label-width="98px"
             >
               <el-form-item label="闂嵎鍚嶇О">
-                <el-input v-model="topqueryParams.svyname"></el-input>
+                <el-input
+                  v-model="topqueryParams.svyname"
+                  @keyup.enter.native="handleQuerymb"
+                ></el-input>
               </el-form-item>
               <!-- <el-form-item label="閫傜敤褰㈠紡" prop="status">
                 <el-select v-model="topqueryParams.topica" placeholder="璇烽�夋嫨">
@@ -809,7 +823,7 @@
                 <el-button
                   icon="el-icon-refresh"
                   size="medium"
-                  @click="resetQuery"
+                  @click="resetQuerymb"
                   >閲嶇疆</el-button
                 >
               </el-form-item>
@@ -836,6 +850,13 @@
         </div>
       </div>
     </el-drawer>
+    <Optional-Form
+      ref="child"
+      :dialogVisiblepatient="dialogVisiblepatientjb"
+      :overallCase="diagglist"
+      @addoption="dialogVisiblepatientjb = false"
+      @kkoption="dialogVisiblepatientjb = true"
+    />
   </div>
 </template>
 
@@ -864,7 +885,7 @@
   taskdiaggetlist,
   taskopergetlist,
 } from "@/api/AiCentre/index";
-
+import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢
 import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
 import { MessageBox } from "element-ui";
 
@@ -892,6 +913,7 @@
       loading: false, // 閬僵灞�
       patientloading: false, // 閬僵灞�
       dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗�
+      dialogVisiblepatientjb: false, //娣诲姞鐤剧梾寮规
       deptcodesWards: [], //绉戝鏁版嵁
       leavehospitaldistrictcodes: [], //鐥呭尯鏁版嵁
       operationcodes: [], //鎵嬫湳鏁版嵁
@@ -916,6 +938,7 @@
       tableLabelhz: [
         { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "inhosptime" },
         { label: "鎮h��", width: "", prop: "name" },
+        { label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" },
         { label: "韬唤璇�", width: "200", prop: "idcardno" },
         { label: "鎬у埆", width: "", prop: "sex" },
         { label: "骞撮緞", width: "", prop: "age" },
@@ -928,6 +951,7 @@
       tableLabelhzwb: [
         { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" },
         { label: "鎮h��", width: "", prop: "name" },
+        { label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" },
         { label: "韬唤璇�", width: "200", prop: "sfzh" },
         { label: "鎬у埆", width: "", prop: "sex" },
         { label: "骞撮緞", width: "", prop: "age" },
@@ -1057,7 +1081,10 @@
         templatename: "",
         templateid: null,
         libtemplateid: null,
-        kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄櫙瀹佷汉姘戝尰闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�",
+        kcb:
+          "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾垜浠槸" +
+          localStorage.getItem("orgname") +
+          "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瑙傜湅杩欎唤瀹f暀璧勮銆�",
         jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈瀹f暀鍐呭灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
       },
       taskoptions: [
@@ -1081,6 +1108,10 @@
           value: "6",
           label: "闄㈠鎮h��",
         },
+        {
+          value: "5",
+          label: "鎵嬫湳鐥呬汉",
+        },
       ],
       source: [
         {
@@ -1099,33 +1130,57 @@
 
       tasktypes: [
         {
-          value: 1,
-          label: "蹇冪數闅忚",
+          value: "1",
+          label: "鐩戞祴璇勪及",
         },
         {
-          value: 2,
+          value: "2",
           label: "鍑洪櫌闅忚",
         },
         {
-          value: 3,
-          label: "褰卞儚闅忚",
+          value: "3",
+          label: "闂ㄨ瘖闅忚",
         },
         {
-          value: 4,
+          value: "4",
           label: "瀹f暀鍏虫��",
         },
         {
-          value: 5,
+          value: "5",
+          label: "澶嶈瘖绠$悊",
+        },
+        // {
+        //   value: "5",
+        //   label: "婊℃剰搴﹁皟鏌�",
+        // },
+        {
+          value: "7",
+          label: "鎮h�呮姤鍛�",
+        },
+        // {
+        //   value: "8",
+        //   label: "鍏朵粬閫氱煡",
+        // },
+        {
+          value: "9",
           label: "浣撴闅忚",
         },
+        // {
+        //   value: "10",
+        //   label: "鍖绘妧闅忚",
+        // },
         {
-          value: 11,
-          label: "鍖绘妧闅忚",
+          value: "11",
+          label: "褰卞儚闅忚",
         },
         {
-          value: 10,
-          label: "涓撶闅忚",
+          value: "12",
+          label: "蹇冪數闅忚",
         },
+        // {
+        //   value: "13",
+        //   label: "涓撶梾闅忚",
+        // },
       ],
       // 绉戝/鐥呭尯
       belongWards: [],
@@ -1164,7 +1219,7 @@
       serviceType: null,
     };
   },
-  components: { SFtable },
+  components: { SFtable, OptionalForm },
 
   created() {
     this.appraiselist = store.getters.appraiselist;
@@ -1189,13 +1244,21 @@
       this.getQtemplateclassify();
     }
   },
-
+  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: {
-    // {
-    //   濮撳悕: { "${name}": "榫欏偛澶�" },
-    //   鍦板潃: { "${dzz}": "榫欏" },
-    //   鐢佃瘽: { "${dhh}": "鍏釜鍏�" },
-    // }
     // 鍙橀噺杞崲瀵硅薄杞暟缁�
     convertFormat1ToFormat2(data) {
       let result = [];
@@ -1274,7 +1337,15 @@
           //   label: "鏅鸿兘鏈哄櫒浜�",
           // },
         ];
-      } else if (this.form.serviceType == 7 || this.form.serviceType == 9) {
+      } else if (
+        this.form.serviceType == 7 ||
+        this.form.serviceType == 10 ||
+        this.form.serviceType == 11 ||
+        this.form.serviceType == 8 ||
+        this.form.serviceType == 12 ||
+        this.form.serviceType == 13 ||
+        this.form.serviceType == 9
+      ) {
         this.checkboxlist = [
           {
             value: "1",
@@ -1299,6 +1370,10 @@
           {
             value: "6",
             label: "寰俊灏忕▼搴�",
+          },
+          {
+            value: "7",
+            label: "鏈悗闅忚",
           },
         ];
       } else if (
@@ -1391,7 +1466,7 @@
       if (
         this.deptcodesWards[0] ||
         this.leavehospitaldistrictcodes[0] ||
-        this.illnesscodes[0] ||
+        this.diagglist[0] ||
         this.operationcodes[0]
       ) {
       } else {
@@ -1435,8 +1510,9 @@
       this.form.leavehospitaldistrictcode =
         this.leavehospitaldistrictcodes.join(",");
       this.form.opcode = this.operationcodes.join(",");
-      this.form.icd10code = this.illnesscodes.join(",");
-
+      this.form.icd10code = this.diagglist
+        .map((item) => item.icdcode)
+        .join(",");
       Editsingletask(this.form).then((res) => {
         if (res.code == 200) {
           if (this.form.taskid) {
@@ -1471,11 +1547,13 @@
             this.tempbelongWards = [];
             this.objyl.suitway = this.objyl.suitway.split(",");
             this.questionList = res.rows[0].svyTemplateLibScripts;
+            this.questionList.forEach((item) => {
+              item.qremark = [];
+            });
             this.getillness(row.svyid);
             this.previewtf = true;
           }
         });
-        console.log(row.svyTemplateLibScripts);
         this.previewid = row.svyid;
         this.Variablehandling(row.svyTemplateLibScripts, 1);
       } else if (type == 2) {
@@ -1497,6 +1575,9 @@
           getQtemplateobj({ svyid: this.form.libtemplateid }).then((res) => {
             if (res.code == 200) {
               this.questionList = res.rows[0].svyTemplateLibScripts;
+              this.questionList.forEach((item) => {
+                item.qremark = [];
+              });
               this.objyl.svyTemplateLibScripts =
                 res.rows[0].svyTemplateLibScripts;
             }
@@ -1531,12 +1612,12 @@
     // 鎵嬫湳鏌ヨ
     remoteopcode(name) {
       if (name) {
-        getillnesslist({
+        getbaseopera({
           pageNum: 1,
           pageSize: 1000,
-          icdname: name,
+          opdesc: name,
         }).then((res) => {
-          this.donorchargeList = res.rows;
+          this.baseoperaList = res.rows;
         });
       }
     },
@@ -1594,6 +1675,7 @@
           // { label: "鍏ラ櫌鏃ユ湡", width: "170", prop: "starttime" },
           { label: "鍑洪櫌鏃ユ湡", width: "150", prop: "endtime" },
           { label: "鎮h��", width: "", prop: "name" },
+        { label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" },
           { label: "韬唤璇�", width: "200", prop: "idcardno" },
           { label: "鎬у埆", width: "", prop: "sex" },
           { label: "骞撮緞", width: "", prop: "age" },
@@ -1607,6 +1689,7 @@
         this.tableLabelhz = [
           { label: "鍏ラ櫌鏃ユ湡", width: "150", prop: "starttime" },
           { label: "鎮h��", width: "", prop: "name" },
+        { label: "鎮h�呰瘖鏂�", width: "", prop: "leavediagname" },
           { label: "韬唤璇�", width: "200", prop: "idcardno" },
           { label: "鎬у埆", width: "", prop: "sex" },
           { label: "骞撮緞", width: "", prop: "age" },
@@ -1788,7 +1871,20 @@
       });
     },
 
-    resetQuery() {},
+    resetQuerymb() {
+      this.topqueryParams = { svyname: "" };
+      this.handleQuerymb();
+    },
+    resetQuery() {
+      this.patientqueryParams = {
+        pageNum: 1, //
+        pageSize: 10,
+        topica: 1, //0鍏ㄩ儴1绉戝2鐥呭尯
+        leavehospitaldistrictcodes: [],
+        leaveldeptcodes: [],
+      };
+      this.handleQuery();
+    },
     handleQuerymb() {
       getQtemplatelist(this.topqueryParams).then((response) => {
         this.userList = response.rows;
@@ -1820,7 +1916,10 @@
         templatename: "",
         templateid: null,
         libtemplateid: null,
-        kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄櫙瀹佷汉姘戝尰闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�",
+        kcb:
+          "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾垜浠槸" +
+          localStorage.getItem("orgname") +
+          "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚闂嵎銆�",
         jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
       };
 
@@ -1908,7 +2007,12 @@
         if (res.code == 200) {
           let arr = res.rows;
           arr.forEach((item) => {
-            this.diagglist.push(item);
+            getillnesslist({
+              icdcode: item.icd10code,
+            }).then((res) => {
+              item.icdname = res.rows[0].icdname;
+              this.diagglist.push(item);
+            });
             this.illnesscodes.push(item.icd10code);
           });
         }
@@ -1971,6 +2075,9 @@
       if (result.length) {
         taskdiaghospgetsondel(result).then((res) => {
           if (res.code) {
+            this.diagglist = this.diagglist.filter(
+              (item) => item.icd10code != row
+            );
             this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
           }
         });

--
Gitblit v1.9.3