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 |  248 ++++++++++++++++++++++++++++---------------------
 1 files changed, 141 insertions(+), 107 deletions(-)

diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue
index 1f99c93..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">
@@ -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�� -->
@@ -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" },
@@ -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,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" },
@@ -1671,6 +1696,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" },
@@ -1686,8 +1712,8 @@
       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";
       }
       // 鏉ユ簮鍒ゆ柇
 
@@ -1797,15 +1823,20 @@
     },
     getList() {},
     handleQuery() {
-      console.log("this.patientqueryParams.allhosp",this.patientqueryParams.allhosp);
+      console.log(
+        "this.patientqueryParams.allhosp",
+        this.patientqueryParams.allhosp
+      );
       if (this.patientqueryParams.topica == 0) {
-        this.patientqueryParams.leavehospitaldistrictcodes = store.getters.leavehospitaldistrictcodes;
+        this.patientqueryParams.leavehospitaldistrictcodes =
+          store.getters.leavehospitaldistrictcodes;
         this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes;
       } else if (this.patientqueryParams.topica == 1) {
         this.patientqueryParams.leavehospitaldistrictcodes = null;
         this.patientqueryParams.leaveldeptcodes = store.getters.leaveldeptcodes;
       } else if (this.patientqueryParams.topica == 2) {
-        this.patientqueryParams.leavehospitaldistrictcodes =   store.getters.leavehospitaldistrictcodes;
+        this.patientqueryParams.leavehospitaldistrictcodes =
+          store.getters.leavehospitaldistrictcodes;
         this.patientqueryParams.leaveldeptcodes = null;
       }
       if (
@@ -1819,8 +1850,11 @@
       )
         this.patientqueryParams.leaveldeptcodes = null;
       this.handleAddpatient();
-      
-      console.log("this.patientqueryParams.allhosp",this.patientqueryParams.allhosp);
+
+      console.log(
+        "this.patientqueryParams.allhosp",
+        this.patientqueryParams.allhosp
+      );
     },
 
     resetQuerymb() {

--
Gitblit v1.9.3