From d54ac083e2992a5613f5cb22849db9742dbe9a9b Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期三, 22 十月 2025 11:06:14 +0800
Subject: [PATCH] 问卷联调

---
 src/views/patient/propaganda/particty.vue |  280 +++++++++++++++++++++++++++++++++----------------------
 1 files changed, 168 insertions(+), 112 deletions(-)

diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue
index 67ffd2b..cdb2d0d 100644
--- a/src/views/patient/propaganda/particty.vue
+++ b/src/views/patient/propaganda/particty.vue
@@ -87,7 +87,7 @@
                   <SortCheckbox
                     v-model="checkList"
                     :options="checkboxlist"
-                    :selectedOrder="selectedOrder"
+                    :initialselectedOrder="selectedOrder"
                     value-key="value"
                     label-key="label"
                     @change="checkSelectionChange"
@@ -442,7 +442,7 @@
         <el-button type="success" @click="nextstep('ruleForm')">{{
           quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏閰嶇疆"
         }}</el-button>
-        <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+        <!-- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> -->
       </div>
       <!-- 浠诲姟璇︽儏 -->
       <div v-if="Editprogress == 2">
@@ -480,7 +480,7 @@
                         size="medium"
                         :disabled="!patientqueryParams.allhosp"
                         @click="handleQuery"
-                        >鏂板</el-button
+                        >娣诲姞鎮h��</el-button
                       >
                     </el-col>
 
@@ -523,10 +523,13 @@
           </div>
         </div>
         <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
-        <el-button type="success" @click="submitForm('11')">{{
-          quote ? "绔嬪嵆鍒涘缓" : "纭浠诲姟閰嶇疆"
-        }}</el-button>
-        <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+        <el-button
+          :loading="submitLoading"
+          type="success"
+          @click="submitForm('11')"
+          >{{ quote ? "绔嬪嵆鍒涘缓" : "纭浠诲姟閰嶇疆" }}</el-button
+        >
+        <!-- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> -->
       </div>
     </div>
     <!-- 娣诲姞鎮h�� -->
@@ -896,7 +899,7 @@
 import { messagelistpatient } from "@/api/patient/homepage";
 import store from "@/store";
 import {
-  getTaskpatient,
+  getTaskpatientQC,
   getillnesslist,
   getbaseopera,
   getFollowuplist,
@@ -934,6 +937,7 @@
       libName: "",
       username: "",
       templateor: false,
+      submitLoading: false, // 鎺у埗鎸夐挳鍔犺浇鐘舵��
       objyl: {},
       overallCase: [], //閫夋嫨鎮h�呮��
       allpids: [],
@@ -981,6 +985,7 @@
         { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" },
         { label: "鎬у埆", width: "", prop: "sex" },
         { label: "骞撮緞", width: "", prop: "age" },
+        { label: "鐢佃瘽", width: "180", prop: "telcode" },
         { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
         { label: "涓绘不鍖荤敓", width: "", prop: "drname" },
         { label: "绉戝", width: "240", prop: "dept" },
@@ -994,6 +999,7 @@
         { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" },
         { label: "鎬у埆", width: "", prop: "sex" },
         { label: "骞撮緞", width: "", prop: "age" },
+        { label: "鐢佃瘽", width: "180", prop: "telcode" },
         { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
         { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
         { label: "涓绘不鍖荤敓", width: "", prop: "drname" },
@@ -1134,11 +1140,11 @@
       },
       taskoptions: [
         {
-          value: "1",
+          value: "4",
           label: "鍑洪櫌鐥呬汉",
         },
         {
-          value: "4",
+          value: "1",
           label: "鍦ㄩ櫌鐥呬汉",
         },
         {
@@ -1210,7 +1216,7 @@
       serviceType: null,
     };
   },
-  components: { SFtable, OptionalForm,SortCheckbox },
+  components: { SFtable, OptionalForm, SortCheckbox },
 
   created() {
     this.appraiselist = store.getters.appraiselist;
@@ -1435,103 +1441,120 @@
     },
     // 淇濆瓨
     submitForm(type) {
-      if (this.templateor && type) this.templateor = false;
-      if (this.time4 && this.form.sendType == 3)
-        this.form.showTimeMorn = this.time4;
-      this.form.sendTimeslot = [
-        {
-          begantime: this.time4,
-          endtime: "",
-          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.join(',');
-        this.form.preachformList = this.selectedOrder;
-      } else {
-        this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷");
+      if (this.submitLoading) {
         return;
       }
-
-      if (
-        this.deptcodesWards[0] ||
-        this.leavehospitaldistrictcodes[0] ||
-        this.diagglist[0] ||
-        this.operationcodes[0]
-      ) {
-      } else {
-        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("鏈�夋嫨妯℃澘");
-        return;
-      }
-
-      if ((this.form.sendType == 1 && this.time1) || this.form.sendType == 2) {
-      } else if (
-        (this.form.sendType == 3 && this.time4) ||
-        this.form.longTask
-      ) {
-      } else {
-        return this.$modal.msgError("鏃堕棿淇℃伅缂哄け");
-      }
-      const filteredArray = this.variableList.filter(
-        (item) =>
-          item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃"
-      );
-      this.form.textParam = this.convertFormat2ToFormat1(filteredArray);
-      if (this.form.taskid) {
-        this.form.isoperation = 2;
-      } else {
-        this.form.isoperation = 1;
-      }
-      if (!this.form.type) {
-        this.form.type = this.$route.query.type;
-      }
-      this.form.serviceType = this.serviceType;
-      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) {
-            this.$modal.msgSuccess("淇敼鎴愬姛");
-          } else {
-            this.$modal.msgSuccess("鏂板鎴愬姛");
-          }
-          this.$router.push({
-            path: "/followvisit/tasklist",
-            query: { tasktopic: this.form.serviceType },
-          });
+      // 绗簩姝ワ細寮�鍚姞杞界姸鎬侊紝绂佺敤鎸夐挳
+      this.submitLoading = true;
+      try {
+        if (this.templateor && type) this.templateor = false;
+        if (this.time4 && this.form.sendType == 3)
+          this.form.showTimeMorn = this.time4;
+        this.form.sendTimeslot = [
+          {
+            begantime: this.time4,
+            endtime: "",
+            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.join(",");
+          this.form.preachformList = this.selectedOrder;
+        } else {
+          this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷");
+          return;
+        }
+
+        if (
+          this.deptcodesWards[0] ||
+          this.leavehospitaldistrictcodes[0] ||
+          this.diagglist[0] ||
+          this.operationcodes[0] ||
+          this.form.longTask == 2 ||
+          this.serviceType == 3
+        ) {
+        } else {
+          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("鏈�夋嫨妯℃澘");
+          return;
+        }
+
+        if (
+          (this.form.sendType == 1 && this.time1) ||
+          this.form.sendType == 2
+        ) {
+        } else if (
+          (this.form.sendType == 3 && this.time4) ||
+          this.form.longTask
+        ) {
+        } else {
+          return this.$modal.msgError("鏃堕棿淇℃伅缂哄け");
+        }
+        const filteredArray = this.variableList.filter(
+          (item) =>
+            item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃"
+        );
+        this.form.textParam = this.convertFormat2ToFormat1(filteredArray);
+        if (this.form.taskid) {
+          this.form.isoperation = 2;
+        } else {
+          this.form.isoperation = 1;
+        }
+        if (!this.form.type) {
+          this.form.type = this.$route.query.type;
+        }
+        this.form.serviceType = this.serviceType;
+        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) {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+            } else {
+              this.$modal.msgSuccess("鏂板鎴愬姛");
+            }
+            this.submitLoading = false;
+            this.$router.push({
+              path: "/followvisit/tasklist",
+              query: { tasktopic: this.form.serviceType },
+            });
+          }
+        });
+      } catch (error) {
+        this.submitLoading = false;
+      } finally {
+        // 绗洓姝ワ細鏃犺鎴愬姛鎴栧け璐ワ紝鏈�缁堥兘鍏抽棴鍔犺浇鐘舵��
+      }
     },
 
     // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠�
@@ -1643,6 +1666,7 @@
           { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" },
           { label: "鎬у埆", width: "", prop: "sex" },
           { label: "骞撮緞", width: "", prop: "age" },
+          { label: "鐢佃瘽", width: "180", prop: "telcode" },
           { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
           { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
           { label: "鍖荤敓", width: "", prop: "drname" },
@@ -1657,6 +1681,22 @@
           { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" },
           { label: "鎬у埆", width: "", prop: "sex" },
           { label: "骞撮緞", width: "", prop: "age" },
+          { label: "鐢佃瘽", width: "180", prop: "telcode" },
+          { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
+          { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
+          { label: "鍖荤敓", width: "", prop: "drname" },
+          { 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: "180", prop: "telcode" },
           { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
           { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
           { label: "鍖荤敓", width: "", prop: "drname" },
@@ -1669,12 +1709,11 @@
       } 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";
       }
       // 鏉ユ簮鍒ゆ柇
 
@@ -1694,7 +1733,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) {
@@ -1729,6 +1768,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);
@@ -1777,6 +1823,10 @@
     },
     getList() {},
     handleQuery() {
+      console.log(
+        "this.patientqueryParams.allhosp",
+        this.patientqueryParams.allhosp
+      );
       if (this.patientqueryParams.topica == 0) {
         this.patientqueryParams.leavehospitaldistrictcodes =
           store.getters.leavehospitaldistrictcodes;
@@ -1800,7 +1850,13 @@
       )
         this.patientqueryParams.leaveldeptcodes = null;
       this.handleAddpatient();
+
+      console.log(
+        "this.patientqueryParams.allhosp",
+        this.patientqueryParams.allhosp
+      );
     },
+
     resetQuerymb() {
       this.topqueryParams = { svyname: "" };
       this.handleQuerymb();
@@ -1864,7 +1920,7 @@
               ? this.form.patTaskRelevances
               : [];
             this.overallCase = this.form.patTaskRelevances.concat();
-            this.checkList = this.form.preachform.split(',');
+            this.checkList = this.form.preachform.split(",");
             this.selectedOrder = this.form.preachformList;
 
             this.overallCase.forEach((item) => {
@@ -2209,8 +2265,8 @@
         }
       });
     },
-  checkSelectionChange(selectedValues, selectedOrder) {
-      this.selectedOrder = selectedValues ;
+    checkSelectionChange(selectedValues, selectedOrder) {
+      this.selectedOrder = selectedValues;
       console.log("褰撳墠閫変腑:", selectedValues);
       console.log("閫変腑椤哄簭:", selectedOrder);
     },

--
Gitblit v1.9.3