From a9d2b856e0f6be6475319c2dc36bf405c2f908fc Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期二, 22 九月 2026 14:04:52 +0800
Subject: [PATCH] 测试完成

---
 src/views/followvisit/discharge/index.vue |  106 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 98 insertions(+), 8 deletions(-)

diff --git a/src/views/followvisit/discharge/index.vue b/src/views/followvisit/discharge/index.vue
index da3ba46..3531957 100644
--- a/src/views/followvisit/discharge/index.vue
+++ b/src/views/followvisit/discharge/index.vue
@@ -243,6 +243,17 @@
             </div>
           </div>
         </el-col>
+        <div class="color-legend">
+          <span class="legend-item" v-if="orgname == '鍗楀崕澶у闄勫睘绗竴鍖婚櫌'">
+            <span class="legend-block legend-blue"></span>鏈埌闅忚鏃堕棿
+          </span>
+          <span class="legend-item">
+            <span class="legend-block legend-red"></span>濉姤鍐呭瀛樺湪寮傚父
+          </span>
+          <span class="legend-item">
+            <span class="legend-block legend-yellow"></span>濉姤鍐呭瀛樺湪璀﹀憡
+          </span>
+        </div>
       </el-row>
       <div class="selected-info">
         宸查�変腑
@@ -1500,6 +1511,8 @@
         value: dept.districtCode,
       };
     });
+    // 鍏嶇櫥鐩磋揪锛氭牴鎹瀹�/鐥呭尯缂栫爜棰勫~鎮h�呰寖鍥�
+    this.applyFollowUpScope();
     if (this.errtype == 1) {
       this.toleadExport(2);
     } else if (this.errtype == 2) {
@@ -1714,8 +1727,10 @@
     onthatday() {
       this.resetQuerykj();
 
-      this.topqueryParams.startSendDateTime = this.getCurrentDate();
-      this.topqueryParams.endSendDateTime = this.getCurrentDate();
+      this.topqueryParams.sendstateView = 1; // 寰呴殢璁�
+      this.topqueryParams.sendstate = null;
+      this.topqueryParams.startSendDateTime = null;
+      this.topqueryParams.endSendDateTime = this.getCurrentDate(); // 寮�濮嬮殢璁挎棩鏈� <= 浠婂ぉ
       this.getList(1);
     },
     getCurrentDate() {
@@ -1724,10 +1739,12 @@
     },
 
     buidegetTasklist(type) {
-      if (type) {
-        this.resetQuerykj();
-      }
-      this.applyDeptWardScope();
+      // 鐢ㄦ埛鏉冮檺涓嬫墍鏈夊緟闅忚浠诲姟锛氫紶閫掑叏閮ㄧ瀹ゅ拰鐥呭尯
+      this.topqueryParams.leaveldeptcodes = store.getters.belongDepts.map(
+        (obj) => obj.deptCode
+      );
+      this.topqueryParams.leavehospitaldistrictcodes =
+        store.getters.belongWards.map((obj) => obj.districtCode);
       // 鎺ュ彈寮傚父璺宠浆
       if (this.errtype) {
         this.topqueryParams.leavehospitaldistrictcodes.push(
@@ -1739,7 +1756,7 @@
         pageSize: 10,
         leavehospitaldistrictcodes:
           this.topqueryParams.leavehospitaldistrictcodes,
-        sendstates: [2, 3],
+        sendstateView: 1,
         leaveldeptcodes: this.topqueryParams.leaveldeptcodes,
       };
       buidegetTasklist(obj).then((response) => {
@@ -1836,6 +1853,7 @@
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery(refresh) {
       this.applyDeptWardScope();
+      this.clearAllSelection();
       this.topqueryParams.pageNum = 1;
       // 鍒ゆ柇鏄笉鏄伐浣滃彴蹇嵎鏌ヨ
       if (this.errtype != 2) {
@@ -1845,6 +1863,17 @@
         this.topqueryParams.endSendDateTime = this.dateRangefs[1];
       }
       this.getList(refresh);
+    },
+    // 鍏嶇櫥鐩磋揪锛氭牴鎹矾鐢变腑鐨勭瀹�/鐥呭尯缂栫爜棰勫~鎮h�呰寖鍥�
+    applyFollowUpScope() {
+      const deptCode = this.$route.query.followUpDeptCode;
+      const wardCode = this.$route.query.followUpWardCode;
+      if (!deptCode && !wardCode) return;
+      const scope = [];
+      if (deptCode) scope.push([1, deptCode]);
+      if (wardCode) scope.push([2, wardCode]);
+      this.topqueryParams.scopetype = scope;
+      this.lastScopeType = deptCode ? 1 : 2;
     },
     // 鎮h�呰寖鍥村鐞嗭細浠庡閫夌骇鑱� scopetype 瑙f瀽绉戝/鐥呭尯
     applyDeptWardScope() {
@@ -2309,14 +2338,41 @@
         this.getList();
       });
     },
-    // 寮傚父鍒楁覆鏌�
+    // 琛岄鑹叉覆鏌擄細钃濊壊(鏈埌闅忚鏃堕棿) / 绾㈣壊(寮傚父) / 榛勮壊(璀﹀憡)
     tableRowClassName({ row, rowIndex }) {
+      // 褰撳墠鏃堕棿灏忎簬搴旈殢璁挎椂闂翠笖浠诲姟鐘舵�佷负寰呴殢璁� 鈫� 鏁磋钃濊壊锛堝崡鍗庡ぇ瀛﹂檮灞炵涓�鍖婚櫌涓嶇敓鏁堬級
+      if (
+        this.orgname == "鍗楀崕澶у闄勫睘绗竴鍖婚櫌" &&
+        row.sendstate == 2 &&
+        this.isBeforeVisitTime(row.visitTime)
+      ) {
+        return "blue-row";
+      }
       if (row.excep == 1) {
         return "warning-row";
       } else if (row.excep == 2) {
         return "remind-row";
       }
       return "";
+    },
+    // 鍒ゆ柇褰撳墠鏃堕棿鏄惁鏃╀簬搴旈殢璁挎椂闂达紙鎸夆�滃ぉ鈥濇瘮杈冿級
+    isBeforeVisitTime(visitTime) {
+      if (!visitTime) return false;
+      let date;
+      if (typeof visitTime === "number") {
+        date = new Date(visitTime);
+      } else {
+        date = new Date(String(visitTime).replace(/-/g, "/"));
+      }
+      if (isNaN(date.getTime())) return false;
+      const now = new Date();
+      const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
+      const visitDay = new Date(
+        date.getFullYear(),
+        date.getMonth(),
+        date.getDate()
+      );
+      return today.getTime() < visitDay.getTime();
     },
     restoreSelection() {
       if (!this.$refs.userform) {
@@ -2549,12 +2605,46 @@
 ::v-deep.el-table .remind-row {
   background: #fcf5aa;
 }
+::v-deep.el-table .blue-row {
+  background: #c6e2ff;
+}
 
 .documentf {
   display: flex;
   justify-content: flex-end;
 }
 
+.color-legend {
+  float: right;
+  display: flex;
+  align-items: center;
+  height: 40px;
+  gap: 16px;
+  margin-right: 5px;
+}
+.legend-item {
+  display: inline-flex;
+  align-items: center;
+  font-size: 16px;
+  color: #666;
+}
+.legend-block {
+  display: inline-block;
+  width: 14px;
+  height: 14px;
+  border-radius: 3px;
+  margin-right: 6px;
+}
+.legend-blue {
+  background: #9cc9fa;
+}
+.legend-red {
+  background: #f1aaaa;
+}
+.legend-yellow {
+  background: #faf18d;
+}
+
 .download {
   text-align: center;
 

--
Gitblit v1.9.3