From 5df476ae693d7577c7a0031ae12c67558b9832a7 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期六, 12 九月 2026 10:48:10 +0800
Subject: [PATCH] 测试完成

---
 src/views/followvisit/discharge/index.vue.bak      |    2 
 src/views/followvisit/tasklist/index.vue           |    1 
 vue.config.js                                      |    4 
 src/views/followvisit/operation/index.vue          |    2 
 src/views/followvisit/beHospitalized/followUp.vue  |    2 
 src/views/patient/questionnaire/index.vue          |  121 ++++++++---
 随访通用9.10.zip                                       |    0 
 src/views/followvisit/record/index.vue             |    2 
 src/views/followvisit/Continue/index.vue           |    2 
 src/views/followvisit/zysatisfaction/index.vue     |   51 ++++
 src/views/loginSSO.vue                             |   37 +++
 src/views/patient/propaganda/QuestionnaireTask.vue |    4 
 src/views/SatisfactionRelay.vue                    |   65 +++--
 src/views/followvisit/mzsatisfaction/index.vue     |    9 
 src/views/patient/patient/ExternalPatient.vue      |   18 
 随访通用.zip                                           |    0 
 src/views/followvisit/record/detailpage/index.vue  |   62 +++++
 随访通用9.11.zip                                       |    0 
 src/views/followvisit/discharge/index copy.vue     |    2 
 src/views/followvisit/discharge/index.vue          |    2 
 src/views/patient/ycquestionnaire/index.vue        |  164 ++++++++++++----
 21 files changed, 404 insertions(+), 146 deletions(-)

diff --git a/src/views/SatisfactionRelay.vue b/src/views/SatisfactionRelay.vue
index 619349e..fbc5c63 100644
--- a/src/views/SatisfactionRelay.vue
+++ b/src/views/SatisfactionRelay.vue
@@ -20,10 +20,10 @@
 </template>
 
 <script>
-import { scanGenerateSubtask } from '@/api/AiCentre/index';
+import { scanGenerateSubtask } from "@/api/AiCentre/index";
 
 export default {
-  name: 'RelayPage',
+  name: "RelayPage",
   created() {
     this.handleRedirect();
   },
@@ -31,28 +31,32 @@
     handleRedirect() {
       const { taskid, deptcode, leaveldeptcodes } = this.$route.query;
       if (!taskid) {
-        this.$message.error('缂哄皯浠诲姟鏍囪瘑锛岃閲嶆柊鎵爜');
+        this.$message.error("缂哄皯浠诲姟鏍囪瘑锛岃閲嶆柊鎵爜");
         return;
       }
       const params = {
         taskid: taskid,
-        deptcode: deptcode ,
-        leaveldeptcodes: leaveldeptcodes
+        deptcode: deptcode,
+        leaveldeptcodes: leaveldeptcodes,
       };
-      scanGenerateSubtask(params).then(res => {
-        if (res.code == 200 ) {
-          console.log(res.msg);
-          window.location.href = res.msg;
+      scanGenerateSubtask(params)
+        .then((res) => {
+          console.log(res,'鍒濆');
 
-        } else {
-          this.$message.error('鑾峰彇闂嵎閾炬帴澶辫触锛�' + (res.msg || '鏈煡閿欒'));
-        }
-      }).catch(err => {
-        console.error(err);
-        this.$message.error('鏈嶅姟寮傚父锛岃绋嶅悗閲嶈瘯');
-      });
-    }
-  }
+          if (res.code == 200) {
+            console.log(res.msg);
+            window.location.href = res.msg;
+            console.log("window鍚�");
+          } else {
+            this.$message.error("鑾峰彇闂嵎閾炬帴澶辫触锛�" + (res.msg || "鏈煡閿欒"));
+          }
+        })
+        .catch((err) => {
+          console.error(err);
+          this.$message.error("鏈嶅姟寮傚父锛岃绋嶅悗閲嶈瘯");
+        });
+    },
+  },
 };
 </script>
 
@@ -66,7 +70,8 @@
   margin: 0;
   padding: 20px;
   background: linear-gradient(145deg, #f5f9ff 0%, #e8f0fe 100%);
-  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
+    "Helvetica Neue", Arial, sans-serif;
 }
 
 /* 鍗$墖瀹瑰櫒 */
@@ -79,7 +84,7 @@
   -webkit-backdrop-filter: blur(10px);
   border-radius: 32px;
   box-shadow: 0 20px 60px rgba(64, 158, 255, 0.15),
-              0 8px 20px rgba(0, 0, 0, 0.04);
+    0 8px 20px rgba(0, 0, 0, 0.04);
   text-align: center;
   transition: all 0.3s ease;
   border: 1px solid rgba(255, 255, 255, 0.3);
@@ -96,14 +101,14 @@
 .spinner-dot {
   width: 14px;
   height: 14px;
-  background: #409EFF;
+  background: #409eff;
   border-radius: 50%;
   animation: bounce 1.4s infinite ease-in-out both;
 }
 
 .spinner-dot:nth-child(1) {
   animation-delay: -0.32s;
-  background: #409EFF;
+  background: #409eff;
 }
 
 .spinner-dot:nth-child(2) {
@@ -117,7 +122,9 @@
 }
 
 @keyframes bounce {
-  0%, 80%, 100% {
+  0%,
+  80%,
+  100% {
     transform: scale(0.6);
     opacity: 0.4;
   }
@@ -157,14 +164,20 @@
 .progress-fill {
   width: 60%;
   height: 100%;
-  background: linear-gradient(90deg, #409EFF, #79bbff);
+  background: linear-gradient(90deg, #409eff, #79bbff);
   border-radius: 4px;
   animation: progressMove 1.8s ease-in-out infinite alternate;
 }
 
 @keyframes progressMove {
-  0% { transform: translateX(-10%); width: 40%; }
-  100% { transform: translateX(10%); width: 80%; }
+  0% {
+    transform: translateX(-10%);
+    width: 40%;
+  }
+  100% {
+    transform: translateX(10%);
+    width: 80%;
+  }
 }
 
 /* 绉诲姩绔�傞厤 */
diff --git a/src/views/followvisit/Continue/index.vue b/src/views/followvisit/Continue/index.vue
index a60bab8..1fb96fa 100644
--- a/src/views/followvisit/Continue/index.vue
+++ b/src/views/followvisit/Continue/index.vue
@@ -1371,7 +1371,7 @@
         this.topqueryParams.leavehospitaldistrictcodes =
           store.getters.belongWards.map((obj) => obj.districtCode);
       }
-      if (this.endOut == 0) {
+      if (this.endOut == 0 && !this.topqueryParams.endSendDateTime) {
         this.topqueryParams.endSendDateTime = this.formatDateToYYYYMMDDHHMMSS(
           this.getEndOfDay()
         );
diff --git a/src/views/followvisit/beHospitalized/followUp.vue b/src/views/followvisit/beHospitalized/followUp.vue
index d0c137d..55c5573 100644
--- a/src/views/followvisit/beHospitalized/followUp.vue
+++ b/src/views/followvisit/beHospitalized/followUp.vue
@@ -1609,7 +1609,7 @@
         this.topqueryParams.leavehospitaldistrictcodes =
           store.getters.belongWards.map((obj) => obj.districtCode);
       }
-      if (this.endOut == 0) {
+      if (this.endOut == 0 && !this.topqueryParams.endSendDateTime) {
         this.topqueryParams.endSendDateTime = this.formatDateToYYYYMMDDHHMMSS(
           this.getEndOfDay()
         );
diff --git a/src/views/followvisit/discharge/index copy.vue b/src/views/followvisit/discharge/index copy.vue
index b79aacb..04a61d9 100644
--- a/src/views/followvisit/discharge/index copy.vue
+++ b/src/views/followvisit/discharge/index copy.vue
@@ -1198,7 +1198,7 @@
         this.topqueryParams.leavehospitaldistrictcodes =
           store.getters.belongWards.map((obj) => obj.districtCode);
       }
-      if (this.endOut == 0) {
+      if (this.endOut == 0 && !this.topqueryParams.endSendDateTime) {
         this.topqueryParams.endSendDateTime = this.formatDateToYYYYMMDDHHMMSS(
           this.getEndOfDay()
         );
diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index 8af1406..da3ba46 100644
--- a/src/views/followvisit/discharge/index.vue
+++ b/src/views/followvisit/discharge/index.vue
@@ -1546,7 +1546,7 @@
     async getList(refresh) {
       // 榛樿鍏ㄩ儴
       this.applyDeptWardScope();
-      if (this.endOut == 0) {
+      if (this.endOut == 0 && !this.topqueryParams.endSendDateTime) {
         this.topqueryParams.endSendDateTime = this.formatDateToYYYYMMDDHHMMSS(
           this.getEndOfDay()
         );
diff --git a/src/views/followvisit/discharge/index.vue.bak b/src/views/followvisit/discharge/index.vue.bak
index cb32b05..2e38056 100644
--- a/src/views/followvisit/discharge/index.vue.bak
+++ b/src/views/followvisit/discharge/index.vue.bak
@@ -1567,7 +1567,7 @@
         this.topqueryParams.leavehospitaldistrictcodes =
           store.getters.belongWards.map((obj) => obj.districtCode);
       }
-      if (this.endOut == 0) {
+      if (this.endOut == 0 && !this.topqueryParams.endSendDateTime) {
         this.topqueryParams.endSendDateTime = this.formatDateToYYYYMMDDHHMMSS(
           this.getEndOfDay()
         );
diff --git a/src/views/followvisit/mzsatisfaction/index.vue b/src/views/followvisit/mzsatisfaction/index.vue
index c62a5ad..0dd03b0 100644
--- a/src/views/followvisit/mzsatisfaction/index.vue
+++ b/src/views/followvisit/mzsatisfaction/index.vue
@@ -15,7 +15,7 @@
         v-show="showSearch"
         label-width="98px"
       >
-        <el-form-item label="鍑洪櫌鏃堕棿">
+        <el-form-item label="瀹屾垚鏃堕棿">
           <el-date-picker
             v-model="dateRange"
             style="width: 240px"
@@ -1504,10 +1504,9 @@
           store.getters.belongWards.map((obj) => obj.districtCode);
       }
       this.topqueryParams.pageNum = 1;
-      this.topqueryParams.startOutHospTime = this.dateRange[0];
-      this.topqueryParams.endOutHospTime = this.dateRange[1];
-      this.topqueryParams.startSendDateTime = this.dateRangefs[0];
-      this.topqueryParams.endSendDateTime = this.dateRangefs[1];
+      this.topqueryParams.finishtimeStart = this.dateRange[0];
+      this.topqueryParams.finishtimeEnd = this.dateRange[1];
+
       this.getList(refresh);
     },
     // 鎮h�呰寖鍥村鐞�
diff --git a/src/views/followvisit/operation/index.vue b/src/views/followvisit/operation/index.vue
index af43944..d98d6e5 100644
--- a/src/views/followvisit/operation/index.vue
+++ b/src/views/followvisit/operation/index.vue
@@ -1536,7 +1536,7 @@
         this.topqueryParams.leavehospitaldistrictcodes =
           store.getters.belongWards.map((obj) => obj.districtCode);
       }
-      if (this.endOut == 0) {
+      if (this.endOut == 0 && !this.topqueryParams.endSendDateTime) {
         this.topqueryParams.endSendDateTime = this.formatDateToYYYYMMDDHHMMSS(
           this.getEndOfDay()
         );
diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index 2f0ecfc..43446b9 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -390,7 +390,7 @@
                     </span>
                   </div>
 
-                  <div class="preview-left" v-if="!Voicetype">
+                  <div class="preview-left" v-if="showQuestionnaireForm">
                     <div
                       class="topic-dev"
                       v-for="(item, index) in tableDatatop"
@@ -601,12 +601,12 @@
                     </div>
                   </div>
                   <el-button
-                    v-if="Voicetype"
+                    v-if="showQuestionnaireForm"
                     type="primary"
-                    @click="yuyingetdetail"
+                    @click="getdetail"
                     >淇濆瓨闂嵎璇︽儏</el-button
                   >
-                  <el-button v-else type="primary" @click="getdetail"
+                  <el-button v-else type="primary" @click="yuyingetdetail"
                     >淇濆瓨闂嵎璇︽儏</el-button
                   >
                 </div>
@@ -706,6 +706,15 @@
                   v-if="(form.isVisitAgain == 1) & (visitAgain == 2)"
                 >
                   鍐嶆闅忚
+                </el-button>
+                <!-- 瓒呮椂鏈嶅姟锛氱鐞嗗憳鍙皢瀹屾垚鏃堕棿鏀逛负搴旈殢璁挎椂闂淬�佺姸鎬佹敼涓哄凡瀹屾垚 -->
+                <el-button
+                  type="danger"
+                  plain
+                  @click="handleTimeoutComplete"
+                  v-if="form.sendstate == 7 && isAdmin"
+                >
+                  瓒呮椂鏍囪宸插畬鎴�
                 </el-button>
               </div>
 
@@ -1659,6 +1668,15 @@
       };
       return typeMap[this.callStatus];
     },
+    // 鏄惁浠ラ棶鍗峰舰寮忓睍绀猴紙闈炶闊虫湇鍔★紝鎴栬闊虫湇鍔′絾鏃犲畬鏁磋闊虫暟鎹渶鎵嬪姩濉姤锛�
+    showQuestionnaireForm() {
+      return !this.Voicetype ;
+    },
+    // 鏄惁涓虹鐞嗗憳瑙掕壊
+    isAdmin() {
+      const roles = this.$store.getters.roles || [];
+      return roles.includes("admin") || roles.includes("sysadmin");
+    },
   },
   created() {
     this.taskid = this.$route.query.taskid;
@@ -1993,7 +2011,7 @@
         if (res.code == 200) {
           this.voiceDatatop = res.data.serviceSubtaskDetails;
           this.voice = res.data.voice;
-          this.activeName = "yy";
+          this.activeName = this.voice ? "yy" : "wj";
           this.taskname = res.data.taskName;
           // 闂嵎灞曠ず鏁版嵁澶勭悊
           this.tableDatatop = res.data.filteredDetails;
@@ -2028,9 +2046,13 @@
                 .map((obj) => obj.targetvalue)
                 .join("&");
             }
+            console.log(item.targetvalue,'item.targetvalue');
+
             if (item.targetvalue) {
               item.scriptResult = item.targetvalue.split("&");
             }
+            console.log(item.scriptResult);
+
           });
         }
       });
@@ -2577,6 +2599,36 @@
         }
       });
     },
+    // 瓒呮椂鏈嶅姟锛氱鐞嗗憳灏嗗畬鎴愭椂闂存敼涓哄簲闅忚鏃堕棿銆佺姸鎬佹敼涓哄凡瀹屾垚
+    handleTimeoutComplete() {
+      this.$modal
+        .confirm(
+          "鏄惁灏嗚瓒呮椂鏈嶅姟鐨勯殢璁垮畬鎴愭椂闂磋皟鏁翠负搴旈殢璁挎椂闂达紝骞跺皢闅忚鐘舵�佹敼涓哄凡瀹屾垚锛�"
+        )
+        .then(() => {
+          getTaskservelist({
+            patid: this.patid,
+            subId: this.id,
+          }).then((res) => {
+            if (res.code == 200) {
+              const objson = res.rows[0].serviceSubtaskList.find(
+                (item) => item.id == this.id
+              );
+              if (objson) {
+                objson.finishtime = objson.visitTime;
+                objson.sendstate = 6;
+                Editsingletaskson(objson).then((res) => {
+                  if (res.code) {
+                    this.$modal.msgSuccess("鎿嶄綔鎴愬姛");
+                    this.getTaskservelist();
+                  }
+                });
+              }
+            }
+          });
+        })
+        .catch(() => {});
+    },
     alterpatient(sendstate) {
       this.Editsingletasksonyic(this.serviceStates);
       // alterpatient(this.userform).then((res) => {
diff --git a/src/views/followvisit/record/index.vue b/src/views/followvisit/record/index.vue
index 1eb323a..33d5726 100644
--- a/src/views/followvisit/record/index.vue
+++ b/src/views/followvisit/record/index.vue
@@ -1084,7 +1084,7 @@
         this.topqueryParams.leavehospitaldistrictcodes =
           store.getters.belongWards.map((obj) => obj.districtCode);
       }
-      if (this.endOut == 0) {
+      if (this.endOut == 0 && !this.topqueryParams.endSendDateTime) {
         this.topqueryParams.endSendDateTime = this.formatDateToYYYYMMDDHHMMSS(
           this.getEndOfDay()
         );
diff --git a/src/views/followvisit/tasklist/index.vue b/src/views/followvisit/tasklist/index.vue
index 0d7ef85..cc6c050 100644
--- a/src/views/followvisit/tasklist/index.vue
+++ b/src/views/followvisit/tasklist/index.vue
@@ -697,6 +697,7 @@
         this.tasktopic == 3 ||
         this.tasktopic == 1 ||
         this.tasktopic == 7 ||
+        this.tasktopic == 20 ||
         this.tasktopic == 5 ||
         this.tasktopic == 18 ||
         this.tasktopic == 19 ||
diff --git a/src/views/followvisit/zysatisfaction/index.vue b/src/views/followvisit/zysatisfaction/index.vue
index a3c7b54..1577d9a 100644
--- a/src/views/followvisit/zysatisfaction/index.vue
+++ b/src/views/followvisit/zysatisfaction/index.vue
@@ -15,7 +15,7 @@
         v-show="showSearch"
         label-width="98px"
       >
-        <el-form-item label="鍑洪櫌鏃堕棿">
+        <!-- <el-form-item label="鍑洪櫌鏃堕棿">
           <el-date-picker
             v-model="dateRange"
             style="width: 240px"
@@ -25,8 +25,19 @@
             start-placeholder="寮�濮嬫棩鏈�"
             end-placeholder="缁撴潫鏃ユ湡"
           ></el-date-picker>
-        </el-form-item>
+        </el-form-item> -->
 
+        <el-form-item label="瀹屾垚鏃堕棿">
+          <el-date-picker
+            v-model="dateRangefs"
+            style="width: 240px"
+            value-format="yyyy-MM-dd"
+            type="daterange"
+            range-separator="-"
+            start-placeholder="寮�濮嬫棩鏈�"
+            end-placeholder="缁撴潫鏃ユ湡"
+          ></el-date-picker>
+        </el-form-item>
         <el-form-item label="鎮h�呭鍚�" prop="sendname">
           <el-input
             v-model="topqueryParams.sendname"
@@ -1330,13 +1341,17 @@
       }
     },
     affiliation() {
+      this.resetQuerykj();
+
       this.topqueryParams.managementDoctorCode = store.getters.hisUserId;
 
       this.getList(1);
     },
     onthatday() {
-      this.topqueryParams.startSendDateTime = this.getCurrentDate();
-      this.topqueryParams.endSendDateTime = this.getCurrentDate();
+      this.resetQuerykj();
+
+      this.topqueryParams.finishtimeStart = this.getCurrentDate();
+      this.topqueryParams.finishtimeEnd = this.getCurrentDate();
       this.getList(1);
     },
     getCurrentDate() {
@@ -1467,10 +1482,10 @@
           store.getters.belongWards.map((obj) => obj.districtCode);
       }
       this.topqueryParams.pageNum = 1;
-      this.topqueryParams.startOutHospTime = this.dateRange[0];
-      this.topqueryParams.endOutHospTime = this.dateRange[1];
-      this.topqueryParams.startSendDateTime = this.dateRangefs[0];
-      this.topqueryParams.endSendDateTime = this.dateRangefs[1];
+      // this.topqueryParams.startOutHospTime = this.dateRange[0];
+      // this.topqueryParams.endOutHospTime = this.dateRange[1];
+      this.topqueryParams.finishtimeStart = this.dateRangefs[0];
+      this.topqueryParams.finishtimeEnd = this.dateRangefs[1];
       this.getList(refresh);
     },
     // 鎮h�呰寖鍥村鐞�
@@ -1511,6 +1526,26 @@
       };
       this.handleQuery(1);
     },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuerykj() {
+      this.dateRange = [];
+      this.dateRangefs = [];
+      this.serviceStatusValue = null;
+      this.topqueryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        sendstate: null,
+
+        sendstateView: null,
+        sort: 2, //0 鍑洪櫌鏃堕棿(姝e簭)    1 鍑洪櫌鏃堕棿(鍊掑簭)   2 鍙戦�佹椂闂�(姝e簭)    3 鍙戦�佹椂闂�(鍊掑簭)
+        serviceType: 6,
+        searchscope: 3,
+        visitCount: 1,
+        scopetype: [],
+        leaveldeptcodes: [],
+        leavehospitaldistrictcodes: [],
+      };
+    },
     handleSelectionChange(rows) {
       this.selectedRows = rows.map((row) => {
         // 鍒濆鍖栬瘎鍒嗗瓧娈�
diff --git a/src/views/loginSSO.vue b/src/views/loginSSO.vue
index e43a341..b11fb85 100644
--- a/src/views/loginSSO.vue
+++ b/src/views/loginSSO.vue
@@ -149,8 +149,20 @@
         // 3. 娓呯悊鏃х郴缁熸暟鎹�
         this.clearOldSystemData();
 
-        const { token, orgid, orgname, ZuHuID, deptCode, redirect, campusid } =
-          params;
+        const {
+          token,
+          orgid,
+          orgname,
+          ZuHuID,
+          deptCode,
+          redirect,
+          campusid,
+          taskid,
+          patid,
+          id,
+          Voicetype,
+          visitCount,
+        } = params;
         console.log(
           token,
           orgid,
@@ -204,9 +216,21 @@
 
         // 7. 澶勭悊閲嶅畾鍚戣矾寰�
         let redirectPath = "/followvisit/discharge";
+        let redirectQuery = {};
 
-        if (redirect) {
-          // 瑙g爜浼犲叆鐨勯噸瀹氬悜璺緞
+        // 7.1 濡傛灉瀛樺湪 taskid锛屼紭鍏堣烦杞埌璇︽儏椤靛苟甯︿笂鍙傛暟
+        if (taskid) {
+          redirectPath = "/followvisit/record/detailpage";
+          redirectQuery = {
+            taskid: taskid,
+            patid: patid || "",
+            id: id || "",
+            Voicetype: Voicetype || "",
+            visitCount: visitCount || "",
+          };
+          console.log("浣跨敤taskid璺宠浆鍒拌鎯呴〉:", redirectPath, redirectQuery);
+        } else if (redirect) {
+          // 7.2 濡傛灉浼犲叆鐨剅edirect瀛樺湪锛屼娇鐢ㄤ紶鍏ョ殑閲嶅畾鍚戣矾寰�
           try {
             redirectPath = decodeURIComponent(redirect);
             console.log("浣跨敤浼犲叆鐨勯噸瀹氬悜璺緞:", redirectPath);
@@ -215,6 +239,7 @@
             redirectPath = this.getDefaultRedirectPath();
           }
         } else {
+          // 7.3 浣跨敤榛樿璺緞
           redirectPath = this.getDefaultRedirectPath();
         }
 
@@ -224,11 +249,11 @@
         // 9. 寤惰繜璺宠浆锛岀‘淇濈姸鎬佸凡鏇存柊
         setTimeout(() => {
           this.loadingDetail = "璺宠浆鍒扮洰鏍囬〉闈�...";
-          console.log("鍑嗗璺宠浆鍒�:", redirectPath);
+          console.log("鍑嗗璺宠浆鍒�:", redirectPath, "鍙傛暟:", redirectQuery);
 
           // 鉁� 浣跨敤 push 鑰屼笉鏄� replace锛屼繚鐣欏巻鍙茶褰�
           this.$router
-            .push({ path: redirectPath })
+            .push({ path: redirectPath, query: redirectQuery })
             .then(() => {
               console.log("SSO鐧诲綍鎴愬姛锛岃烦杞畬鎴�");
             })
diff --git a/src/views/patient/patient/ExternalPatient.vue b/src/views/patient/patient/ExternalPatient.vue
index cd02788..4e410df 100644
--- a/src/views/patient/patient/ExternalPatient.vue
+++ b/src/views/patient/patient/ExternalPatient.vue
@@ -122,12 +122,12 @@
               <el-table-column
                 fixed
                 label="濮撳悕"
-          width="100"
+
                 align="center"
                 key="name"
                 prop="name"
               />
-              <el-table-column label="鎬у埆"width="100" align="center" key="sex" prop="sex">
+              <el-table-column label="鎬у埆" align="center" key="sex" prop="sex">
                 <template slot-scope="scope">
                   <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span>
                 </template>
@@ -137,14 +137,14 @@
                 align="center"
                 key="age"
                 prop="age"
-                width="60"
+
               />
               <el-table-column
                 label="鍑虹敓骞存湀"
                 align="center"
                 key="birthdate"
                 prop="birthdate"
-                width="120"
+
               >
               </el-table-column>
               <el-table-column
@@ -152,7 +152,7 @@
                 align="center"
                 key="idcardno"
                 prop="idcardno"
-                width="190"
+
               />
 
               <el-table-column
@@ -160,7 +160,7 @@
                 align="center"
                 key="telcode"
                 prop="telcode"
-                width="120"
+
               />
               <el-table-column
                 label="寤烘。鏃ユ湡"
@@ -266,7 +266,7 @@
           label="鎬讳换鍔�/宸查殢璁�"
           align="center"
           key="nickName"
-          width="120"
+
           prop="nickName"
         >
           <template slot-scope="scope">
@@ -282,7 +282,7 @@
             align="center"
             key="createBy"
             prop="createBy"
-            width="120"
+
             :show-overflow-tooltip="true"
           />
           <el-table-column
@@ -302,7 +302,7 @@
             align="center"
             key="sendState"
             prop="sendState"
-            width="120"
+
           >
             <template slot-scope="scope">
               <dict-tag
diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index b81f5a9..c19b83e 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -2836,10 +2836,10 @@
         this.form.serviceType = this.serviceType;
 
         this.form.icd10code = this.diagglist
-          .map((item) => item.icdcode)
+          .map((item) => item.icd10code || item.icdcode)
           .join(",");
         this.form.icd10name = this.diagglist
-          .map((item) => item.icdname)
+          .map((item) => item.icdname || item.icd10name)
           .join(",");
         // 鐤剧梾/鎵嬫湳/鑽搧鍏宠仈鐨勭瀹�/鐥呭尯鏍¢獙
         if (
diff --git a/src/views/patient/questionnaire/index.vue b/src/views/patient/questionnaire/index.vue
index 9197ccd..3bd0506 100644
--- a/src/views/patient/questionnaire/index.vue
+++ b/src/views/patient/questionnaire/index.vue
@@ -64,9 +64,8 @@
     </div> -->
     <statistics-cards
       :cardlist="cardlist"
-      :ycvalue="ycvalue"
-      :jgvalue="jgvalue"
-      :show-warning-condition="orgname == '鐪佺珛鍚屽痉缈犺嫅闄㈠尯'"
+      :show-extra="false"
+      :show-warning-condition="false"
     />
     <el-row :gutter="20">
       <!--鐢ㄦ埛鏁版嵁-->
@@ -258,7 +257,54 @@
           key="remark"
           prop="remark" -->
         />
-
+<el-table-column
+          label="浠诲姟鐘舵��"
+          align="center"
+          key="sendstate"
+          prop="sendstate"
+          width="120"
+        >
+          <template slot-scope="scope">
+            <el-tooltip
+              class="item"
+              effect="dark"
+              :content="scope.row.remark"
+              placement="top-start"
+            >
+              <div v-if="scope.row.sendstate == 1">
+                <el-tag type="primary" :disable-transitions="false"
+                  >琛ㄥ崟宸查鍙�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 2">
+                <el-tag type="primary" :disable-transitions="false"
+                  >寰呴殢璁�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 3">
+                <el-tag type="success" :disable-transitions="false"
+                  >琛ㄥ崟宸插彂閫�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 4">
+                <el-tag type="info" :disable-transitions="false">涓嶆墽琛�</el-tag>
+              </div>
+              <div v-if="scope.row.sendstate == 5">
+                <el-tag type="danger" :disable-transitions="false"
+                  >鍙戦�佸け璐�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 6">
+                <el-tag type="success" :disable-transitions="false"
+                  >宸插畬鎴�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstate == 7">
+                <el-tag type="danger" :disable-transitions="false">瓒呮椂</el-tag>
+              </div>
+            </el-tooltip>
+          </template>
+        </el-table-column>
         <el-table-column
           label="澶勭悊鎰忚"
           align="center"
@@ -803,39 +849,17 @@
       ],
       cardlist: [
         {
-          name: "鍑洪櫌鏈嶅姟鎬婚噺",
+          name: "鎮h�呮湇鍔℃�婚噺",
           value: 0,
         },
         {
-          name: "鎮h�呰繃婊�",
+          name: "寰呴殢璁�",
           value: 0,
         },
         {
-          name: "搴旈殢璁�",
+          name: "宸插畬鎴�",
           value: 0,
         },
-
-        // {
-        //   name: "寮傚父",
-        //   value: 0,
-        // },
-        {
-          name: "鍙戦�佸け璐�",
-          value: 0,
-        },
-        {
-          name: "寰呮墽琛�",
-          value: 0,
-        },
-        // {
-        //   name: "宸插彂閫�",
-        //   value: 0,
-        // },
-
-        // {
-        //   name: "琛ㄥ崟宸插彂閫�",
-        //   value: 0,
-        // },
       ],
 
       // 琛ㄥ崟鍙傛暟
@@ -946,7 +970,7 @@
     async getList(refresh) {
       // 榛樿鍏ㄩ儴
       this.applyDeptWardScope();
-      if (this.endOut == 0) {
+      if (this.endOut == 0 && !this.topqueryParams.endSendDateTime) {
         this.topqueryParams.endSendDateTime = this.formatDateToYYYYMMDDHHMMSS(
           this.getEndOfDay()
         );
@@ -996,12 +1020,8 @@
         if (refresh) {
           this.cardlist[0].value =
             Number(response.rows[0].wxsf) + Number(response.rows[0].xsf) || 0;
-          this.cardlist[1].value = response.rows[0].wxsf || 0;
-          this.ycvalue = Number(response.rows[0].yc) || 0;
-          this.jgvalue = response.rows[0].jg;
-          this.cardlist[2].value = response.rows[0].xsf || 0;
-          this.cardlist[3].value = response.rows[0].dsf || 0;
-          this.cardlist[4].value = response.rows[0].ywc || 0;
+          this.cardlist[1].value = response.rows[0].dsf || 0;
+          this.cardlist[2].value = response.rows[0].ywc || 0;
           this.yfsvalue = response.rows[0].yfs;
         }
 
@@ -1044,6 +1064,35 @@
         this.isRestoring = false;
       }
     },
+     applyDeptWardScope() {
+      const value = this.topqueryParams.scopetype || [];
+      const deptCodes = [];
+      const wardCodes = [];
+      let isAll = false;
+
+      value.forEach((item) => {
+        const type = item[0];
+        if (type == 3) {
+          isAll = true;
+        } else if (type == 1) {
+          deptCodes.push(item[item.length - 1]);
+        } else if (type == 2) {
+          wardCodes.push(item[item.length - 1]);
+        }
+      });
+
+      // 閫変簡鍏ㄩ儴 鎴� 鏈�夋嫨 鈫� 鐢ㄦ埛鍏ㄩ儴绉戝/鐥呭尯
+      if (isAll || (!deptCodes.length && !wardCodes.length)) {
+        this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+          (obj) => obj.deptCode
+        );
+        this.topqueryParams.leavehospitaldistrictcodes =
+          store.getters.belongWards.map((obj) => obj.districtCode);
+      } else {
+        this.topqueryParams.leaveldeptcodes = deptCodes;
+        this.topqueryParams.leavehospitaldistrictcodes = wardCodes;
+      }
+    },
     // 鏌ョ湅褰卞儚闅忚璇︽儏
     Referencequestion(row) {
       this.previewVisible = true;
diff --git a/src/views/patient/ycquestionnaire/index.vue b/src/views/patient/ycquestionnaire/index.vue
index 8d5ebba..d7744b9 100644
--- a/src/views/patient/ycquestionnaire/index.vue
+++ b/src/views/patient/ycquestionnaire/index.vue
@@ -2,9 +2,8 @@
   <div class="app-container">
     <statistics-cards
       :cardlist="cardlist"
-      :ycvalue="ycvalue"
-      :jgvalue="jgvalue"
-      :show-warning-condition="orgname == '鐪佺珛鍚屽痉缈犺嫅闄㈠尯'"
+      :show-extra="false"
+      :show-warning-condition="false"
     />
     <el-row :gutter="20">
       <!--鐢ㄦ埛鏁版嵁-->
@@ -52,16 +51,15 @@
           ></el-cascader>
         </el-form-item>
 
-        <el-form-item label="浠诲姟鐘舵��" prop="status">
-          <el-select v-model="topqueryParams.sendstate" placeholder="璇烽�夋嫨">
-            <el-option
-              v-for="item in topicoptions"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            >
-            </el-option>
-          </el-select>
+        <el-form-item label="闅忚鐘舵��" prop="status">
+          <el-cascader
+            v-model="serviceStatusValue"
+            placeholder="璇烽�夋嫨"
+            :options="serviceStatusOptions"
+            :props="cascaderProps"
+            @change="handleServiceStatusChange"
+            clearable
+          ></el-cascader>
         </el-form-item>
 
         <el-form-item>
@@ -158,6 +156,38 @@
           prop="sendname"
         />
         <el-table-column
+          label="闅忚鐘舵��"
+          align="center"
+          key="sendstateView"
+          prop="sendstateView"
+          width="120"
+        >
+          <template slot-scope="scope">
+            <el-tooltip
+              class="item"
+              effect="dark"
+              :content="scope.row.remark"
+              placement="top-start"
+            >
+              <div v-if="scope.row.sendstateView == 1">
+                <el-tag type="primary" :disable-transitions="false"
+                  >寰呴殢璁�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstateView == 2">
+                <el-tag type="success" :disable-transitions="false"
+                  >宸插畬鎴�</el-tag
+                >
+              </div>
+              <div v-if="scope.row.sendstateView == 3">
+                <el-tag type="warning" :disable-transitions="false"
+                  >鏃犻渶闅忚</el-tag
+                >
+              </div>
+            </el-tooltip>
+          </template>
+        </el-table-column>
+        <el-table-column
           label="浠诲姟鐘舵��"
           align="center"
           key="sendstate"
@@ -190,6 +220,9 @@
             </div>
             <div v-if="scope.row.sendstate == 6">
               <el-tag type="danger" :disable-transitions="false">宸插畬鎴�</el-tag>
+            </div>
+            <div v-if="scope.row.sendstate == 7">
+              <el-tag type="danger" :disable-transitions="false">瓒呮椂</el-tag>
             </div>
           </template>
         </el-table-column>
@@ -663,39 +696,52 @@
       loading: false,
       cardlist: [
         {
-          name: "鍑洪櫌鏈嶅姟鎬婚噺",
+          name: "鎮h�呮湇鍔℃�婚噺",
           value: 0,
         },
         {
-          name: "鎮h�呰繃婊�",
+          name: "寰呴殢璁�",
           value: 0,
         },
         {
-          name: "搴旈殢璁�",
+          name: "宸插畬鎴�",
           value: 0,
         },
+      ],
 
-        // {
-        //   name: "寮傚父",
-        //   value: 0,
-        // },
+      serviceStatusValue: null,
+      cascaderProps: {
+        expandTrigger: "hover", // 鎮仠灞曞紑
+        checkStrictly: true, // 鉁� 鍏抽敭锛氬厑璁搁�変腑浠绘剰涓�绾�
+        emitPath: false, // 鉁� 鍙繑鍥為�変腑鐨勫�硷紝涓嶈繑鍥炶矾寰勬暟缁�
+      },
+      // 闅忚鐘舵�佺骇鑱旈�夋嫨鍣�
+      serviceStatusOptions: [
         {
-          name: "鍙戦�佸け璐�",
-          value: 0,
+          value: null,
+          label: "鍏ㄩ儴",
         },
         {
-          name: "寰呮墽琛�",
-          value: 0,
+          value: 10, // 涓�绾э細寰呴殢璁�
+          label: "寰呴殢璁�",
+          children: [
+            { value: 1, label: "琚鍙�" },
+            { value: 2, label: "寰呭彂閫�" },
+            { value: 3, label: "宸插彂閫�" },
+            { value: 5, label: "鍙戦�佸け璐�" },
+            { value: 7, label: "瓒呮椂" },
+          ],
         },
-        // {
-        //   name: "宸插彂閫�",
-        //   value: 0,
-        // },
-
-        // {
-        //   name: "琛ㄥ崟宸插彂閫�",
-        //   value: 0,
-        // },
+        {
+          value: 20, // 涓�绾э細宸插畬鎴�
+          label: "宸插畬鎴�",
+          children: [{ value: 6, label: "宸插畬鎴�" }],
+        },
+        {
+          value: 30, // 涓�绾э細鏃犻渶闅忚
+          label: "鏃犻渶闅忚",
+          children: [{ value: 4, label: "涓嶆墽琛�" }],
+        },
       ],
 
       // 琛ㄥ崟鍙傛暟
@@ -713,6 +759,8 @@
         pageSize: 10,
         serviceType: 20,
         searchscope: 3,
+        sendstateView: null,
+        sendstate: null,
         scopetype: [],
         leaveldeptcodes: [],
         leavehospitaldistrictcodes: [],
@@ -815,19 +863,23 @@
         );
         console.log(this.topqueryParams.leavehospitaldistrictcodes, "11");
       }
+      if (
+        this.topqueryParams.leavehospitaldistrictcodes[0] &&
+        this.topqueryParams.leaveldeptcodes[0]
+      ) {
+        this.topqueryParams.deptOrDistrict = 2;
+      } else {
+        this.topqueryParams.deptOrDistrict = 1;
+      }
       this.loading = true;
       getTaskservelist(this.topqueryParams).then((response) => {
         this.userList = response.rows[0].serviceSubtaskList;
         this.total = response.total;
         if (refresh) {
           this.cardlist[0].value =
-            Number(response.rows[0].wzx) + Number(response.rows[0].ysf);
-          this.cardlist[1].value = response.rows[0].wzx;
-          this.cardlist[2].value = response.rows[0].ysf;
-          this.ycvalue = response.rows[0].yc;
-          this.cardlist[3].value = response.rows[0].fssb;
-          this.cardlist[4].value = response.rows[0].dsf;
-          // this.cardlist[5].value = response.rows[0].yfs2;
+            Number(response.rows[0].wxsf) + Number(response.rows[0].xsf) || 0;
+          this.cardlist[1].value = response.rows[0].dsf || 0;
+          this.cardlist[2].value = response.rows[0].ywc || 0;
           this.yfsvalue = response.rows[0].yfs;
         }
         this.loading = false;
@@ -927,6 +979,35 @@
 
       this.getList(refresh);
     },
+    // 闅忚鐘舵�佸彉鏇村鐞�
+    handleServiceStatusChange(value) {
+      // 娓呯┖閫夋嫨
+      if (value === null || value === undefined || value === "") {
+        this.topqueryParams.sendstateView = null;
+        this.topqueryParams.sendstate = null;
+        return;
+      }
+
+      // 涓�绾ц妭鐐圭殑鍊硷紙澶т簬绛変簬10锛�
+      if (value >= 10) {
+        switch (value) {
+          case 10:
+            this.topqueryParams.sendstateView = 1; // 寰呴殢璁�
+            break;
+          case 20:
+            this.topqueryParams.sendstateView = 2; // 宸插畬鎴�
+            break;
+          case 30:
+            this.topqueryParams.sendstateView = 3; // 鏃犻渶闅忚
+            break;
+        }
+        this.topqueryParams.sendstate = null;
+      } else {
+        // 閫変腑浜嗕簩绾э紙鍏蜂綋鐘舵�侊級
+        this.topqueryParams.sendstateView = null;
+        this.topqueryParams.sendstate = value;
+      }
+    },
     // 鎮h�呰寖鍥村鐞�
     handleChange(value) {
       let type = value[0];
@@ -949,11 +1030,14 @@
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
       this.dateRange = [];
+      this.serviceStatusValue = null;
       this.topqueryParams = {
         pageNum: 1,
         pageSize: 10,
         serviceType: 20,
         searchscope: 2,
+        sendstateView: null,
+        sendstate: null,
       };
       this.handleQuery(1);
     },
diff --git a/vue.config.js b/vue.config.js
index adaa83b..fe4bda0 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -38,9 +38,9 @@
         // target: `https://www.health-y.cn/lssf`,
         // target: `http://192.168.100.10:8096`,
         // target: `http://192.168.100.10:8094`,//鐪佺珛鍚屽痉
-        target: `http://192.168.100.10:8095`,//鏂板崕
+        // target: `http://192.168.100.10:8095`,//鏂板崕
         // target: `http://192.168.100.10:8098`,//甯備竴
-        // target:`http://localhost:8095`,
+        target:`http://localhost:8095`,
         // target:`http://35z1t16164.qicp.vip`,
         // target: `http://192.168.100.172:8095`,
         // target: `http://192.168.100.10:8089`,//鍗楀崕
diff --git "a/\351\232\217\350\256\277\351\200\232\347\224\250.zip" "b/\351\232\217\350\256\277\351\200\232\347\224\250.zip"
new file mode 100644
index 0000000..e770d46
--- /dev/null
+++ "b/\351\232\217\350\256\277\351\200\232\347\224\250.zip"
Binary files differ
diff --git "a/\351\232\217\350\256\277\351\200\232\347\224\2509.10.zip" "b/\351\232\217\350\256\277\351\200\232\347\224\2509.10.zip"
new file mode 100644
index 0000000..220f919
--- /dev/null
+++ "b/\351\232\217\350\256\277\351\200\232\347\224\2509.10.zip"
Binary files differ
diff --git "a/\351\232\217\350\256\277\351\200\232\347\224\2509.11.zip" "b/\351\232\217\350\256\277\351\200\232\347\224\2509.11.zip"
new file mode 100644
index 0000000..5cdef33
--- /dev/null
+++ "b/\351\232\217\350\256\277\351\200\232\347\224\2509.11.zip"
Binary files differ

--
Gitblit v1.9.3