From cb3c799e1bd6a7cf5dd5c7e3cadee238bf67b729 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期五, 10 十月 2025 14:26:10 +0800
Subject: [PATCH] 随访详情本人所属功能及服务形式补偿流程组件维护

---
 src/views/patient/propaganda/particty.vue |  229 ++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 136 insertions(+), 93 deletions(-)

diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue
index 14a31fd..d67c424 100644
--- a/src/views/patient/propaganda/particty.vue
+++ b/src/views/patient/propaganda/particty.vue
@@ -69,7 +69,7 @@
                     placeholder="璇疯緭鍏ヤ换鍔℃弿杩�"
                   />
                 </el-form-item>
-                <el-form-item label="鏈嶅姟褰㈠紡">
+                <!-- <el-form-item label="鏈嶅姟褰㈠紡">
                   <el-radio-group
                     v-model="checkList"
                     @change="handleCheckedCitiesChange"
@@ -78,11 +78,20 @@
                       v-for="(item, index) in checkboxlist"
                       :key="index"
                       :label="item.value"
-                      @change="checkboxChange($event, item.value)"
                     >
                       {{ item.label }}</el-radio
                     >
                   </el-radio-group>
+                </el-form-item> -->
+                <el-form-item label="鏈嶅姟褰㈠紡">
+                  <SortCheckbox
+                    v-model="checkList"
+                    :options="checkboxlist"
+                    :initialselectedOrder="selectedOrder"
+                    value-key="value"
+                    label-key="label"
+                    @change="checkSelectionChange"
+                  />
                 </el-form-item>
                 <!-- <div class="xinz-infs">
                   <el-form-item label="鏈嶅姟鎵ц椤哄簭" prop="daytime">
@@ -267,7 +276,6 @@
                         </el-option>
                       </el-select> </el-form-item
                   ></el-col>
-
                 </el-row>
                 <el-row v-if="form.appltype == 3">
                   <div class="xinz-infs">
@@ -376,7 +384,7 @@
                     ></el-button>
 
                     <el-button
-                      v-if="form.templatename"
+                      v-if="form.templateid"
                       type="success"
                       icon="el-icon-search"
                       @click="previewfnmb()"
@@ -472,7 +480,7 @@
                         size="medium"
                         :disabled="!patientqueryParams.allhosp"
                         @click="handleQuery"
-                        >鏂板</el-button
+                        >娣诲姞鎮h��</el-button
                       >
                     </el-col>
 
@@ -541,7 +549,7 @@
               v-show="showSearch"
               label-width="98px"
             >
-            <el-form-item label="涓绘不鍖荤敓锛�">
+              <el-form-item label="涓绘不鍖荤敓锛�">
                 <el-input
                   v-model="patientqueryParams.drname"
                   @keyup.enter.native="handleQuery"
@@ -793,13 +801,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
@@ -888,7 +896,7 @@
 import { messagelistpatient } from "@/api/patient/homepage";
 import store from "@/store";
 import {
-  getTaskpatient,
+  getTaskpatientQC,
   getillnesslist,
   getbaseopera,
   getFollowuplist,
@@ -910,6 +918,7 @@
 } from "@/api/AiCentre/index";
 import { deptTreeSelect } from "@/api/system/user";
 import OptionalForm from "@/components/OptionalForm";
+import SortCheckbox from "@/components/SortCheckbox"; //琛ㄦ牸缁勪欢
 import { MessageBox } from "element-ui";
 
 import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
@@ -952,6 +961,8 @@
       skip: false,
       donorchargeList: [],
       baseoperaList: [],
+      selectedOrder: [],
+
       usable: [
         { value: "0", label: "鍙敤" },
         { value: "1", label: "鍋滅敤" },
@@ -1026,7 +1037,7 @@
         pageNum: 1, //
         pageSize: 10,
       },
-      checkList: "",
+      checkList: [],
       foncheckList: [],
       formatvalue: {
         format1: "",
@@ -1115,16 +1126,19 @@
         templatename: "",
         templateid: null,
         libtemplateid: null,
-        kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄櫙瀹佷汉姘戝尰闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝杩涜鏈鍥炶鏈嶅姟銆�",
+        kcb:
+          "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄�" +
+          localStorage.getItem("orgname") +
+          "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝杩涜鏈鍥炶鏈嶅姟銆�",
         jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶鍐呭灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
       },
       taskoptions: [
         {
-          value: "1",
+          value: "4",
           label: "鍑洪櫌鐥呬汉",
         },
         {
-          value: "4",
+          value: "1",
           label: "鍦ㄩ櫌鐥呬汉",
         },
         {
@@ -1155,36 +1169,7 @@
         },
       ],
 
-      tasktypes: [
-        {
-          value: 1,
-          label: "蹇冪數闅忚",
-        },
-        {
-          value: 2,
-          label: "鍑洪櫌闅忚",
-        },
-        {
-          value: 3,
-          label: "褰卞儚闅忚",
-        },
-        {
-          value: 4,
-          label: "瀹f暀鍏虫��",
-        },
-        {
-          value: 5,
-          label: "浣撴闅忚",
-        },
-        {
-          value: 11,
-          label: "鍖绘妧闅忚",
-        },
-        {
-          value: 10,
-          label: "涓撶闅忚",
-        },
-      ],
+      tasktypes: store.getters.tasktypes,
       // 绉戝/鐥呭尯
       belongWards: [],
       deptlist: [],
@@ -1225,7 +1210,7 @@
       serviceType: null,
     };
   },
-  components: { SFtable, OptionalForm },
+  components: { SFtable, OptionalForm, SortCheckbox },
 
   created() {
     this.appraiselist = store.getters.appraiselist;
@@ -1239,6 +1224,8 @@
     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();
@@ -1357,7 +1344,15 @@
           //   label: "鏅鸿兘鏈哄櫒浜�",
           // },
         ];
-      } else if (this.form.serviceType == 7 || this.form.serviceType == 5|| this.form.serviceType == 10|| this.form.serviceType == 11) {
+      } 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",
@@ -1388,7 +1383,12 @@
             label: "鏈悗闅忚",
           },
         ];
-      } else if (this.form.serviceType == 2 || this.form.serviceType == 3) {
+      } else if (
+        this.form.serviceType == 2 ||
+        this.form.serviceType == 3 ||
+        this.form.serviceType == 16 ||
+        this.form.serviceType == 4
+      ) {
         this.checkboxlist = [
           {
             value: "1",
@@ -1446,24 +1446,25 @@
         },
       ];
       if (this.form.appltype == 1) {
-        this.leavehospitaldistrictcodes=[];
-        this.operationcodes=[];
-        this.illnesscodes=[];
+        this.leavehospitaldistrictcodes = [];
+        this.operationcodes = [];
+        this.illnesscodes = [];
       } else if (this.form.appltype == 2) {
-        this.deptcodesWards=[];
-        this.operationcodes=[];
-        this.illnesscodes=[];
+        this.deptcodesWards = [];
+        this.operationcodes = [];
+        this.illnesscodes = [];
       } else if (this.form.appltype == 3) {
-        this.deptcodesWards=[];
-        this.leavehospitaldistrictcodes=[];
-        this.operationcodes=[];
+        this.deptcodesWards = [];
+        this.leavehospitaldistrictcodes = [];
+        this.operationcodes = [];
       } else if (this.form.appltype == 4) {
-        this.deptcodesWards=[];
-        this.illnesscodes=[];
-        this.leavehospitaldistrictcodes=[];
+        this.deptcodesWards = [];
+        this.illnesscodes = [];
+        this.leavehospitaldistrictcodes = [];
       }
       if (this.checkList) {
-        this.form.preachform = this.checkList;
+        this.form.preachform = this.checkList.join(",");
+        this.form.preachformList = this.selectedOrder;
       } else {
         this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷");
         return;
@@ -1479,10 +1480,10 @@
         this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢");
         return;
       }
-      if (!this.form.patTaskRelevances[0] && !this.form.longTask) {
-        this.$modal.msgError("璇烽�夋嫨鐥呬汉");
-        return;
-      }
+      // if (!this.form.patTaskRelevances[0] && !this.form.longTask) {
+      //   this.$modal.msgError("璇烽�夋嫨鐥呬汉");
+      //   return;
+      // }
 
       if (!this.form.templatename && !this.templateor) {
         this.$modal.msgError("鏈�夋嫨妯℃澘");
@@ -1517,7 +1518,8 @@
       this.form.opcode = this.operationcodes.join(",");
       this.form.icd10code = this.diagglist
         .map((item) => item.icdcode)
-        .join(",");      Editsingletask(this.form).then((res) => {
+        .join(",");
+      Editsingletask(this.form).then((res) => {
         if (res.code == 200) {
           if (this.form.taskid) {
             this.$modal.msgSuccess("淇敼鎴愬姛");
@@ -1661,18 +1663,31 @@
           { label: "绉戝", width: "180", prop: "dept" },
           { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" },
         ];
+      } else if (this.patientqueryParams.allhosp == 2) {
+        this.tableLabelhz = [
+          { label: "灏辫瘖鏃ユ湡", width: "150", prop: "admitdate" },
+          { label: "鎮h��", width: "", prop: "name" },
+          { label: "韬唤璇�", width: "200", prop: "idcardno" },
+          { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" },
+          { label: "鎬у埆", width: "", prop: "sex" },
+          { label: "骞撮緞", width: "", prop: "age" },
+          { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
+          { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
+          { label: "鍖荤敓", width: "", prop: "drname" },
+          { label: "绉戝", width: "180", prop: "dept" },
+          { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" },
+        ];
       }
       if (this.allpids[0]) {
         this.patientqueryParams.pids = this.allpids;
       } else {
         this.patientqueryParams.pids = null;
       }
-      // 绫诲瀷鍒ゆ柇
       if (this.patientqueryParams.allhosp == 1) {
         this.patientqueryParams.cry = 1;
       } else if (this.patientqueryParams.allhosp == 4) {
-        this.patientqueryParams.cry = 0;
-        this.patientqueryParams.allhosp = "1";
+        //  this.patientqueryParams.cry = 0;
+        //  this.patientqueryParams.allhosp = "1";
       }
       // 鏉ユ簮鍒ゆ柇
 
@@ -1692,7 +1707,7 @@
         this.patientqueryParams.leavehospitaldistrictcodes =
           store.getters.belongWards.map((obj) => obj.districtCode);
       }
-      getTaskpatient(this.patientqueryParams).then((response) => {
+      getTaskpatientQC(this.patientqueryParams).then((response) => {
         this.patientuserList = response.rows;
         this.patientuserList.forEach((item) => {
           if (item.endtime) {
@@ -1727,6 +1742,13 @@
           item.sfzh = item.idcardno;
           if (this.patientqueryParams.allhosp == 6) {
             item.patfrom = 1;
+          }
+          if (this.patientqueryParams.allhosp == 1) {
+            item.visittime = item.endtime;
+          } else if (this.patientqueryParams.allhosp == 4) {
+            item.visittime = item.starttime;
+          } else if (this.patientqueryParams.allhosp == 2) {
+            item.visittime = item.admitdate;
           }
           this.overallCase.push(item);
           this.form.patTaskRelevances.push(item);
@@ -1775,6 +1797,10 @@
     },
     getList() {},
     handleQuery() {
+      console.log(
+        "this.patientqueryParams.allhosp",
+        this.patientqueryParams.allhosp
+      );
       if (this.patientqueryParams.topica == 0) {
         this.patientqueryParams.leavehospitaldistrictcodes =
           store.getters.leavehospitaldistrictcodes;
@@ -1798,8 +1824,27 @@
       )
         this.patientqueryParams.leaveldeptcodes = null;
       this.handleAddpatient();
+
+      console.log(
+        "this.patientqueryParams.allhosp",
+        this.patientqueryParams.allhosp
+      );
     },
-    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;
@@ -1831,7 +1876,10 @@
         templatename: "",
         templateid: null,
         libtemplateid: null,
-        kcb: "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄櫙瀹佷汉姘戝尰闄㈢殑鍖绘姢浜哄憳锛屼负浜嗘洿濂藉湴浜嗚В鎮ㄧ殑搴峰鎯呭喌锛岃鎮ㄦ娊涓�鐐瑰疂璐垫椂闂达紝瀹屾垚杩欎唤闅忚銆�",
+        kcb:
+          "浜茬埍鐨勬偅鑰�/瀹跺睘锛屾偍濂斤紒鎴戜滑鏄�" +
+          localStorage.getItem("orgname") +
+          "鐨勫尰鎶や汉鍛橈紝涓轰簡鏇村ソ鍦颁簡瑙f偍鐨勫悍澶嶆儏鍐碉紝璇锋偍鎶戒竴鐐瑰疂璐垫椂闂达紝杩涜鏈鍥炶鏈嶅姟銆�",
         jsy: "璇锋偍娉ㄦ剰浼戞伅鍜岃惀鍏伙紝鐢熸椿涓婅鍔抽�哥粨鍚堬紝閫傚綋閿荤偧锛屾垝鐑熼檺閰掞紝淇濇寔蹇冩儏鑸掔晠锛屽畾鏈熷璇娿�傞偅鏈鍥炶灏卞埌杩欓噷锛岀鎮ㄨ韩浣撳仴搴凤紒",
       };
 
@@ -1846,7 +1894,8 @@
               ? this.form.patTaskRelevances
               : [];
             this.overallCase = this.form.patTaskRelevances.concat();
-            this.checkList = this.form.preachform;
+            this.checkList = this.form.preachform.split(",");
+            this.selectedOrder = this.form.preachformList;
 
             this.overallCase.forEach((item) => {
               if (item.endtime) {
@@ -1922,7 +1971,7 @@
               icdcode: item.icd10code,
             }).then((res) => {
               item.icdname = res.rows[0].icdname;
-            this.diagglist.push(item);
+              this.diagglist.push(item);
             });
             this.illnesscodes.push(item.icd10code);
           });
@@ -2013,7 +2062,9 @@
       if (result.length) {
         taskdiaghospgetsondel(result).then((res) => {
           if (res.code) {
-            this.diagglist=this.diagglist.filter(item => item.icd10code != row);
+            this.diagglist = this.diagglist.filter(
+              (item) => item.icd10code != row
+            );
             this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
           }
         });
@@ -2188,7 +2239,11 @@
         }
       });
     },
-    checkboxChange(checked, value) {},
+    checkSelectionChange(selectedValues, selectedOrder) {
+      this.selectedOrder = selectedValues;
+      console.log("褰撳墠閫変腑:", selectedValues);
+      console.log("閫変腑椤哄簭:", selectedOrder);
+    },
     // 鏈嶅姟褰㈠紡閫夊彇
     handleCheckedCitiesChange(row) {
       console.log(row, "鏈嶅姟");
@@ -2210,11 +2265,11 @@
       if (!this.form.taskid) {
         this.templateor = true;
         MessageBox.confirm(
-          "褰撳墠涓烘柊澧炰换鍔℃湭淇濆瓨涓嶅彲鍏宠仈妯℃澘锛屾槸鍚﹀厛淇濆瓨浠诲姟锛�",
+          "褰撳墠涓烘柊澧炰换鍔℃湭淇濆瓨涓嶅彲鍏宠仈妯℃澘锛屾槸鍚﹀厛鏆傚瓨妯℃澘淇濆瓨浠诲姟鍚庣敓鏁堬紵",
           "鍔熻兘鎻愮ず",
           {
-            confirmButtonText: "淇濆瓨浠诲姟",
-            cancelButtonText: "鏆傚瓨妯℃澘",
+            confirmButtonText: "鏆傚瓨妯℃澘",
+            cancelButtonText: "鍙栨秷",
             type: "warning",
           }
         )
@@ -2231,26 +2286,14 @@
             this.objyl.ivrTaskTemplateScriptVOList =
               this.objyl.ivrLibaTemplateScriptVOList;
             this.form.ivrTaskTemplateVO = this.objyl;
-
-            this.submitForm();
-          })
-          .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;
+          })
+          .catch(() => {
+            this.drawermb = false;
+            this.previewtf = false;
           });
       } else {
         setTimeout(() => {

--
Gitblit v1.9.3