From fcef237a3a7bcfc04a1bb5ae0d9cfc79b5c79c93 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期六, 29 八月 2026 15:10:01 +0800
Subject: [PATCH] 天津_建诚恒商贸 1.备件管理-新增独立备件出库功能入口,支持直接完成备件领用出库操作。 2.设备保养-支持按日期分组折叠展示,分组条目可展开查看明细;单条明细行末尾增加【保养完成】操作按钮,可单独办结单条保养任务;折叠汇总状态下,新增【一键保养完成】批量操作按钮,快速办结当前分组全部保养项。 3.设备巡检-按日期分组折叠展示,分组支持展开查看明细;每条巡检明细后增设【巡检完成】按钮,支持单独办结单条巡检记录;分组折叠未展开状态下,提供【一键巡检完成】批量操作,统一办结该分组下所有巡检任务。 4.增值税对比-优化数据展示逻辑,列表展示各订单增值税明细;页面右侧新增柱状可视化图表,直观对比进销项增值税数据。 5.管理驾驶舱-指标修改:将顶部「销售产品数」调整为「销售订单数」;时间筛选:页面左上角新增日期范围下拉筛选控件,所有统计指标标注当前筛选时段;

---
 src/layout/components/NotificationCenter/index.vue |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 50 insertions(+), 7 deletions(-)

diff --git a/src/layout/components/NotificationCenter/index.vue b/src/layout/components/NotificationCenter/index.vue
index 66f489a..ad066ec 100644
--- a/src/layout/components/NotificationCenter/index.vue
+++ b/src/layout/components/NotificationCenter/index.vue
@@ -2,12 +2,20 @@
   <div class="notification-popover-content">
     <div class="popover-header">
       <span class="popover-title">娑堟伅閫氱煡</span>
-      <el-button type="primary"
-                 size="small"
-                 @click="handleMarkAllAsRead"
-                 :disabled="unreadCount === 0">
-        涓�閿凡璇�
-      </el-button>
+      <div class="popover-actions">
+        <el-button type="primary"
+                   size="small"
+                   @click="handleMarkAllAsRead"
+                   :disabled="unreadCount === 0">
+          涓�閿凡璇�
+        </el-button>
+        <el-button type="danger"
+                   size="small"
+                   plain
+                   @click="handleClearAll">
+          娓呴櫎
+        </el-button>
+      </div>
     </div>
     <div class="notification-content">
       <el-tabs v-model="activeTab"
@@ -91,10 +99,11 @@
     listMessage,
     markAsRead,
     markAllAsRead,
+    clearAllMessage,
     confirmMessage,
     getUnreadCount,
   } from "@/api/system/message";
-  import { ElMessage } from "element-plus";
+  import { ElMessage, ElMessageBox } from "element-plus";
   import useUserStore from "@/store/modules/user";
   import { useRouter } from "vue-router";
 
@@ -221,6 +230,35 @@
     }
   };
 
+  // 娓呴櫎鍏ㄩ儴娑堟伅
+  const handleClearAll = async () => {
+    try {
+      await ElMessageBox.confirm("纭娓呴櫎鍏ㄩ儴娑堟伅鍚楋紵娓呴櫎鍚庢棤娉曟仮澶嶃��", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      });
+    } catch (error) {
+      // 鍙栨秷娓呴櫎
+      return;
+    }
+    try {
+      const res = await clearAllMessage();
+      if (res.code === 200) {
+        ElMessage.success("娓呴櫎鎴愬姛");
+        unreadList.value = [];
+        readList.value = [];
+        total.value = 0;
+        pageNum.value = 1;
+        loadMessages();
+        loadUnreadCount();
+      }
+    } catch (error) {
+      console.error("娓呴櫎娑堟伅澶辫触:", error);
+      ElMessage.error("娓呴櫎澶辫触");
+    }
+  };
+
   // 鍒嗛〉澶у皬鏀瑰彉
   const handleSizeChange = size => {
     pageSize.value = size;
@@ -272,6 +310,11 @@
       font-weight: 500;
       color: var(--text-primary);
     }
+
+    .popover-actions {
+      display: flex;
+      align-items: center;
+    }
   }
 
   .notification-content {

--
Gitblit v1.9.3