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/QuestionnaireTask.vue |  242 +++++++++++++++++++++++++++---------------------
 1 files changed, 137 insertions(+), 105 deletions(-)

diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index f9d9d08..f708fc3 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -445,10 +445,13 @@
         <el-button type="primary" @click="nextstep('ruleForm')">{{
           quote ? "绔嬪嵆鍒涘缓" : "娲惧彂鎮h�呴厤缃�"
         }}</el-button>
-        <el-button type="success" @click="submitForm('ruleForm')">{{
-          quote ? "绔嬪嵆鍒涘缓" : "纭鏈嶅姟閰嶇疆"
-        }}</el-button>
-        <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+        <el-button
+          :loading="submitLoading"
+          type="success"
+          @click="submitForm('ruleForm')"
+          >{{ quote ? "绔嬪嵆鍒涘缓" : "纭鏈嶅姟閰嶇疆" }}</el-button
+        >
+        <!-- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> -->
       </div>
       <!-- 浠诲姟璇︽儏 -->
       <div v-if="Editprogress == 2">
@@ -529,10 +532,13 @@
           </div>
         </div>
         <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
-        <el-button type="success" @click="submitForm('ruleForm')">{{
-          quote ? "绔嬪嵆鍒涘缓" : "纭鏈嶅姟閰嶇疆"
-        }}</el-button>
-        <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+        <el-button
+          :loading="submitLoading"
+          type="success"
+          @click="submitForm('ruleForm')"
+          >{{ quote ? "绔嬪嵆鍒涘缓" : "纭鏈嶅姟閰嶇疆" }}</el-button
+        >
+        <!-- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> -->
       </div>
     </div>
     <!-- 娣诲姞鎮h�� -->
@@ -940,6 +946,7 @@
       previewid: "", //浠诲姟妯℃澘浼犻�抜d
       libName: "",
       templateor: false,
+      submitLoading: false, // 鎺у埗鎸夐挳鍔犺浇鐘舵��
       objyl: {},
       overallCase: [], //閫夋嫨鎮h�呮��
       allpids: [],
@@ -984,6 +991,7 @@
         { label: "韬唤璇�", width: "200", prop: "idcardno" },
         { 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" },
@@ -997,6 +1005,7 @@
         { label: "韬唤璇�", width: "200", prop: "sfzh" },
         { 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" },
@@ -1422,107 +1431,126 @@
     },
     // 淇濆瓨
     submitForm(formName) {
-      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("璇烽�夋嫨鏈嶅姟绫诲瀷");
+      console.log(this.submitLoading);
+
+      if (this.submitLoading) {
         return;
       }
-      console.log(this.operationcodes[0]);
-      console.log(this.operationcodes);
+      // 绗簩姝ワ細寮�鍚姞杞界姸鎬侊紝绂佺敤鎸夐挳
+      this.submitLoading = true;
+      console.log(this.submitLoading);
 
-      if (
-        this.deptcodesWards[0] ||
-        this.leavehospitaldistrictcodes[0] ||
-        this.diagglist[0] ||
-        this.operationcodes[0] ||
-        this.form.longTask == 2 ||
-        this.serviceType == 14
-      ) {
-      } else {
-        this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢");
-        return;
-      }
-      //鏆傚仠浠诲姟鎮h�呴檺鍒�
-      // 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 },
-          });
+      try {
+        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;
+        }
+        console.log(this.operationcodes[0]);
+        console.log(this.operationcodes);
+
+        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;
+        }
+        //鏆傚仠浠诲姟鎮h�呴檺鍒�
+        // 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 = false;
+          }
+        });
+      } catch (error) {
+        this.submitLoading = false;
+      } finally {
+        // 绗洓姝ワ細鏃犺鎴愬姛鎴栧け璐ワ紝鏈�缁堥兘鍏抽棴鍔犺浇鐘舵��
+      }
     },
 
     // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠�
@@ -1694,6 +1722,7 @@
           { label: "韬唤璇�", width: "200", prop: "idcardno" },
           { 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" },
@@ -1708,6 +1737,7 @@
           { label: "韬唤璇�", width: "200", prop: "idcardno" },
           { 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" },
@@ -1722,6 +1752,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" },
@@ -1881,6 +1912,7 @@
         { label: "韬唤璇�", width: "200", prop: "idcardno" },
         { label: "鎬у埆", width: "", prop: "sex" },
         { label: "骞撮緞", width: "", prop: "age" },
+        { label: "鐢佃瘽", width: "180", prop: "telcode" },
         { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
       ];
       this.patientqueryParams.pageSize = 1000;

--
Gitblit v1.9.3