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/particty.vue |  350 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 317 insertions(+), 33 deletions(-)

diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue
index bb507f6..f7aa534 100644
--- a/src/views/patient/propaganda/particty.vue
+++ b/src/views/patient/propaganda/particty.vue
@@ -214,7 +214,15 @@
                     </div>
                   </div>
                 </el-form-item>
-                <el-row>
+                <el-form-item label="浠诲姟鍏宠仈" prop="longTask">
+                  <el-radio-group v-model="form.appltype">
+                    <el-radio label="1">绉戝鍏宠仈</el-radio>
+                    <el-radio label="2">鐥呭尯鍏宠仈</el-radio>
+                    <el-radio label="3">鐤剧梾鍏宠仈</el-radio>
+                    <el-radio label="4">鎵嬫湳鍏宠仈</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+                <el-row v-if="form.appltype == 1">
                   <el-col :span="20"
                     ><el-form-item label="閫傜敤绉戝" prop="region">
                       <el-select
@@ -222,8 +230,8 @@
                         @remove-tag="removetag"
                         style="width: 400px"
                         size="medium"
-                        filterable
                         multiple
+                        filterable
                         placeholder="璇烽�夋嫨绉戝"
                       >
                         <el-option
@@ -237,7 +245,7 @@
                       </el-select> </el-form-item
                   ></el-col>
                 </el-row>
-                <el-row>
+                <el-row v-if="form.appltype == 2">
                   <el-col :span="20"
                     ><el-form-item label="閫傜敤鐥呭尯" prop="region">
                       <el-select
@@ -245,8 +253,8 @@
                         style="width: 400px"
                         @remove-tag="removehpsp"
                         size="medium"
-                        filterable
                         multiple
+                        filterable
                         placeholder="璇烽�夋嫨鐥呭尯"
                       >
                         <el-option
@@ -255,6 +263,65 @@
                           :key="item.districtCode"
                           :label="item.districtName"
                           :value="item.districtCode"
+                        >
+                        </el-option>
+                      </el-select> </el-form-item
+                  ></el-col>
+                </el-row>
+                <el-row v-if="form.appltype == 3">
+                  <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"
+                        :key="tag.icdcode"
+                        @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"
+                    ><el-form-item label="閫傜敤鎵嬫湳" prop="region">
+                      <el-select
+                        v-model="operationcodes"
+                        style="width: 400px"
+                        @remove-tag="removeopera"
+                        :remote-method="remoteopcode"
+                        size="medium"
+                        multiple
+                        filterable
+                        remote
+                        placeholder="璇烽�夋嫨鎵嬫湳"
+                      >
+                        <el-option
+                          class="ruleFormaa"
+                          v-for="item in baseoperaList"
+                          :key="item.icdcode"
+                          :label="item.icdname"
+                          :value="item.icdcode"
                         >
                         </el-option>
                       </el-select> </el-form-item
@@ -473,6 +540,12 @@
               v-show="showSearch"
               label-width="98px"
             >
+              <el-form-item label="涓绘不鍖荤敓锛�">
+                <el-input
+                  v-model="patientqueryParams.drname"
+                  @keyup.enter.native="handleQuery"
+                ></el-input>
+              </el-form-item>
               <el-form-item label="鎮h�咃細">
                 <el-input
                   v-model="patientqueryParams.name"
@@ -719,13 +792,13 @@
           @click="Departmenttreatment"
           >{{ form.templateid ? "鏇挎崲浣跨敤" : "閫夋嫨浣跨敤" }}</el-button
         >
-        <!-- <el-button
+        <el-button
           :type="previewtftype ? 'success' : 'warning'"
           @click="Modifytemplate"
           >{{
             previewtftype ? "鍓嶅線淇敼宸查�夋嫨妯℃澘" : "鏂板淇濆瓨骞跺墠寰�淇敼"
           }}</el-button
-        > -->
+        >
       </span>
     </el-dialog>
     <el-drawer
@@ -800,6 +873,13 @@
         </div>
       </div>
     </el-drawer>
+    <Optional-Form
+      ref="child"
+      :dialogVisiblepatient="dialogVisiblepatientjb"
+      :overallCase="diagglist"
+      @addoption="dialogVisiblepatientjb = false"
+      @kkoption="dialogVisiblepatientjb = true"
+    />
   </div>
 </template>
 
@@ -808,7 +888,8 @@
 import store from "@/store";
 import {
   getTaskpatient,
-  getlibrarylist,
+  getillnesslist,
+  getbaseopera,
   getFollowuplist,
   getvFollowup,
   Taskparticty,
@@ -821,9 +902,13 @@
   getFollowupclassify,
   taskdepthospgetsonlist,
   taskdepthospgetsondel,
-  depthospgetsonlist,
+  taskoperhospgetsondel,
+  taskdiaghospgetsondel,
+  taskdiaggetlist,
+  taskopergetlist,
 } from "@/api/AiCentre/index";
 import { deptTreeSelect } from "@/api/system/user";
+import OptionalForm from "@/components/OptionalForm";
 import { MessageBox } from "element-ui";
 
 import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
@@ -854,13 +939,18 @@
       loading: false, // 閬僵灞�
       patientloading: false, // 閬僵灞�
       dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗�
+      dialogVisiblepatientjb: false,
       deptcodesWards: [], //绉戝鏁版嵁
       leavehospitaldistrictcodes: [], //鐥呭尯鏁版嵁
+      operationcodes: [], //鎵嬫湳鏁版嵁
+      illnesscodes: [], //鐤剧梾鏁版嵁
       radio: 1,
       checkboxlist: [],
       tableLabel: [],
       questionList: [],
       skip: false,
+      donorchargeList: [],
+      baseoperaList: [],
       usable: [
         { value: "0", label: "鍙敤" },
         { value: "1", label: "鍋滅敤" },
@@ -1024,7 +1114,10 @@
         templatename: "",
         templateid: null,
         libtemplateid: null,
-        kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝杩涜鏈鍥炶鏈嶅姟銆�",
+        kcb:
+          "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄�" +
+          localStorage.getItem("orgname") +
+          "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝杩涜鏈鍥炶鏈嶅姟銆�",
         jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶鍐呭灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
       },
       taskoptions: [
@@ -1044,6 +1137,10 @@
           value: "3",
           label: "浣撴鐥呬汉",
         },
+        {
+          value: "5",
+          label: "鎵嬫湳鐥呬汉",
+        },
       ],
       source: [
         {
@@ -1062,43 +1159,64 @@
 
       tasktypes: [
         {
-          value: 1,
+          value: "1",
           label: "鐩戞祴璇勪及",
         },
         {
-          value: 2,
+          value: "2",
           label: "鍑洪櫌闅忚",
         },
         {
-          value: 3,
+          value: "3",
           label: "闂ㄨ瘖闅忚",
         },
         {
-          value: 4,
+          value: "4",
           label: "瀹f暀鍏虫��",
         },
         {
-          value: 5,
+          value: "5",
           label: "澶嶈瘖绠$悊",
         },
+        // {
+        //   value: "5",
+        //   label: "婊℃剰搴﹁皟鏌�",
+        // },
         {
-          value: 6,
-          label: "婊℃剰搴﹁皟鏌�",
-        },
-        {
-          value: 7,
+          value: "7",
           label: "鎮h�呮姤鍛�",
         },
-
+        // {
+        //   value: "8",
+        //   label: "鍏朵粬閫氱煡",
+        // },
         {
-          value: 8,
-          label: "鍏朵粬閫氱煡",
+          value: "9",
+          label: "浣撴闅忚",
         },
+        // {
+        //   value: "10",
+        //   label: "鍖绘妧闅忚",
+        // },
+        {
+          value: "11",
+          label: "褰卞儚闅忚",
+        },
+        {
+          value: "12",
+          label: "蹇冪數闅忚",
+        },
+        // {
+        //   value: "13",
+        //   label: "涓撶梾闅忚",
+        // },
       ],
       // 绉戝/鐥呭尯
       belongWards: [],
       deptlist: [],
       hosplist: [],
+      diagglist: [],
+      operlist: [],
       tempDetpRelevanceslist: [], //绉戝鏁版嵁
       tempDetpRelevanceslistform: [], //绉戝鏁版嵁
       tempbelongWards: [], //鐥呭尯鏁版嵁
@@ -1133,7 +1251,7 @@
       serviceType: null,
     };
   },
-  components: { SFtable },
+  components: { SFtable, OptionalForm },
 
   created() {
     this.appraiselist = store.getters.appraiselist;
@@ -1147,7 +1265,10 @@
     this.form.typename = this.$route.query.typename;
     this.serviceType = Number(this.$route.query.serviceType);
     this.form.serviceType = Number(this.$route.query.serviceType);
+    console.log(localStorage.getItem("orgid"), "orgid");
+
     this.Acquisitiontype();
+    this.getillnesslist();
     this.Getdetails();
     this.getFollowupclassify();
   },
@@ -1264,7 +1385,15 @@
           //   label: "鏅鸿兘鏈哄櫒浜�",
           // },
         ];
-      } else if (this.form.serviceType == 7 || this.form.serviceType == 5) {
+      } else if (
+        this.form.serviceType == 7 ||
+        this.form.serviceType == 5 ||
+        this.form.serviceType == 8 ||
+        this.form.serviceType == 9 ||
+        this.form.serviceType == 11 ||
+        this.form.serviceType == 12 ||
+        this.form.serviceType == 10
+      ) {
         this.checkboxlist = [
           {
             value: "1",
@@ -1290,8 +1419,16 @@
             value: "6",
             label: "寰俊灏忕▼搴�",
           },
+          {
+            value: "7",
+            label: "鏈悗闅忚",
+          },
         ];
-      } else if (this.form.serviceType == 2 || this.form.serviceType == 3) {
+      } else if (
+        this.form.serviceType == 2 ||
+        this.form.serviceType == 3 ||
+        this.form.serviceType == 4
+      ) {
         this.checkboxlist = [
           {
             value: "1",
@@ -1348,7 +1485,23 @@
           xh: 1,
         },
       ];
-
+      if (this.form.appltype == 1) {
+        this.leavehospitaldistrictcodes = [];
+        this.operationcodes = [];
+        this.illnesscodes = [];
+      } else if (this.form.appltype == 2) {
+        this.deptcodesWards = [];
+        this.operationcodes = [];
+        this.illnesscodes = [];
+      } else if (this.form.appltype == 3) {
+        this.deptcodesWards = [];
+        this.leavehospitaldistrictcodes = [];
+        this.operationcodes = [];
+      } else if (this.form.appltype == 4) {
+        this.deptcodesWards = [];
+        this.illnesscodes = [];
+        this.leavehospitaldistrictcodes = [];
+      }
       if (this.checkList) {
         this.form.preachform = this.checkList;
       } else {
@@ -1356,9 +1509,14 @@
         return;
       }
 
-      if (this.deptcodesWards[0] || this.leavehospitaldistrictcodes[0]) {
+      if (
+        this.deptcodesWards[0] ||
+        this.leavehospitaldistrictcodes[0] ||
+        this.diagglist[0] ||
+        this.operationcodes[0]
+      ) {
       } else {
-        this.$modal.msgError("璇烽�夋嫨绉戝鎴栫梾鍖�");
+        this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢");
         return;
       }
       if (!this.form.patTaskRelevances[0] && !this.form.longTask) {
@@ -1396,6 +1554,10 @@
       this.form.deptcode = this.deptcodesWards.join(",");
       this.form.leavehospitaldistrictcode =
         this.leavehospitaldistrictcodes.join(",");
+      this.form.opcode = this.operationcodes.join(",");
+      this.form.icd10code = this.diagglist
+        .map((item) => item.icdcode)
+        .join(",");
       Editsingletask(this.form).then((res) => {
         if (res.code == 200) {
           if (this.form.taskid) {
@@ -1604,6 +1766,9 @@
           item.deptName = item.dept;
           item.admindate = item.inhosptime;
           item.sfzh = item.idcardno;
+          if (this.patientqueryParams.allhosp == 6) {
+            item.patfrom = 1;
+          }
           this.overallCase.push(item);
           this.form.patTaskRelevances.push(item);
         }
@@ -1675,7 +1840,20 @@
         this.patientqueryParams.leaveldeptcodes = null;
       this.handleAddpatient();
     },
-    resetQuery() {},
+    resetQuerymb() {
+      this.topqueryParams = { svyname: "" };
+      this.handleQuerymb();
+    },
+    resetQuery() {
+      this.patientqueryParams = {
+        pageNum: 1, //
+        pageSize: 10,
+        topica: 1, //0鍏ㄩ儴1绉戝2鐥呭尯
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
+      };
+      this.handleQuery();
+    },
     handleQuerymb() {
       getFollowuplist(this.topqueryParams).then((response) => {
         this.userList = response.rows;
@@ -1707,7 +1885,10 @@
         templatename: "",
         templateid: null,
         libtemplateid: null,
-        kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄禉涓尰澶т簩闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚銆�",
+        kcb:
+          "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄�" +
+          localStorage.getItem("orgname") +
+          "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝杩涜鏈鍥炶鏈嶅姟銆�",
         jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
       };
 
@@ -1750,7 +1931,6 @@
           } else {
             this.$modal.msgError(res.code);
           }
-
           if (this.newadd) {
             this.neWaddfn();
           }
@@ -1791,7 +1971,57 @@
           });
         }
       });
+      taskdiaggetlist(this.queryParamsdept).then((res) => {
+        if (res.code == 200) {
+          let arr = res.rows;
+          arr.forEach((item) => {
+            getillnesslist({
+              icdcode: item.icd10code,
+            }).then((res) => {
+              item.icdname = res.rows[0].icdname;
+              this.diagglist.push(item);
+            });
+            this.illnesscodes.push(item.icd10code);
+          });
+        }
+      });
+      taskopergetlist(this.queryParamsdept).then((res) => {
+        if (res.code == 200) {
+          let arr = res.rows;
+          arr.forEach((item) => {
+            this.operlist.push(item);
+            this.operationcodes.push(item.opcode);
+          });
+        }
+      });
     },
+    getillnesslist() {
+      getillnesslist({
+        pageNum: 1,
+        pageSize: 1000,
+      }).then((row) => {
+        this.donorchargeList = res.rows;
+      });
+      getbaseopera({
+        pageNum: 1,
+        pageSize: 1000,
+      }).then((row) => {
+        this.baseoperaList = res.rows;
+      });
+    },
+    // 鎵嬫湳鏌ヨ
+    remoteopcode(name) {
+      if (name) {
+        getbaseopera({
+          pageNum: 1,
+          pageSize: 1000,
+          opdesc: name,
+        }).then((res) => {
+          this.baseoperaList = res.rows;
+        });
+      }
+    },
+
     // 浠诲姟绉戝鍒犻櫎瑙﹀彂
     removetag(row) {
       let result = this.deptlist
@@ -1801,6 +2031,7 @@
       if (result.length) {
         taskdepthospgetsondel(result).then((res) => {
           if (res.code) {
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
           }
         });
       }
@@ -1813,6 +2044,36 @@
       if (result.length) {
         taskdepthospgetsondel(result).then((res) => {
           if (res.code) {
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          }
+        });
+      }
+    },
+    // 鎵嬫湳鍒犻櫎瑙﹀彂
+    removeopera(row) {
+      let result = this.operlist
+        .filter((item) => item.opcode == row)
+        .map((item) => item.id);
+      if (result.length) {
+        taskoperhospgetsondel(result).then((res) => {
+          if (res.code) {
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+          }
+        });
+      }
+    },
+    // 鐤剧梾鍒犻櫎瑙﹀彂
+    removediagg(row) {
+      let result = this.diagglist
+        .filter((item) => item.icd10code == row)
+        .map((item) => item.id);
+      if (result.length) {
+        taskdiaghospgetsondel(result).then((res) => {
+          if (res.code) {
+            this.diagglist = this.diagglist.filter(
+              (item) => item.icd10code != row
+            );
+            this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
           }
         });
       }
@@ -2012,7 +2273,7 @@
           "鍔熻兘鎻愮ず",
           {
             confirmButtonText: "淇濆瓨浠诲姟",
-            cancelButtonText: "鍙栨秷",
+            cancelButtonText: "鏆傚瓨妯℃澘",
             type: "warning",
           }
         )
@@ -2022,11 +2283,34 @@
             }
             this.objyl.templateid = this.objyl.id;
             this.objyl.isoperation = 1;
+            this.objyl.ivrLibaTemplateScriptVOList.forEach((item) => {
+              item.ivrTaskScriptTargetoptionList =
+                item.ivrLibaScriptTargetoptionList;
+            });
+            this.objyl.ivrTaskTemplateScriptVOList =
+              this.objyl.ivrLibaTemplateScriptVOList;
             this.form.ivrTaskTemplateVO = this.objyl;
 
             this.submitForm();
           })
-          .catch(() => {});
+          .catch(() => {
+            if (Array.isArray(this.objyl.suitway)) {
+              this.objyl.suitway = this.objyl.suitway.join(",");
+            }
+            this.objyl.templateid = this.objyl.id;
+            this.objyl.isoperation = 1;
+            this.objyl.ivrLibaTemplateScriptVOList.forEach((item) => {
+              item.ivrTaskScriptTargetoptionList =
+                item.ivrLibaScriptTargetoptionList;
+            });
+            this.objyl.ivrTaskTemplateScriptVOList =
+              this.objyl.ivrLibaTemplateScriptVOList;
+            this.form.ivrTaskTemplateVO = this.objyl;
+            this.form.templatename = this.objyl.templateName;
+            this.$modal.msgSuccess("鏆傚瓨鎴愬姛淇濆瓨浠诲姟鍚庢ā鏉垮け鏁�");
+            this.drawermb = false;
+            this.previewtf = false;
+          });
       } else {
         setTimeout(() => {
           this.previewFn();

--
Gitblit v1.9.3