From 1169381f7a94bfc173792f788b0be1c6659d63aa Mon Sep 17 00:00:00 2001 From: huang <1724659546@qq.com> Date: Tue, 18 Nov 2025 13:44:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BF=BD=E7=95=A5=E7=BB=93?= =?UTF-8?q?=E6=9D=9F=E6=97=B6=E9=97=B4=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layouts/MainLayout.vue | 2 ++ src/views/alarm/AlarmList.vue | 13 ++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/layouts/MainLayout.vue b/src/layouts/MainLayout.vue index 0bce5828..c5c8e0ba 100644 --- a/src/layouts/MainLayout.vue +++ b/src/layouts/MainLayout.vue @@ -397,6 +397,7 @@ export default { onMounted(() => { window.addEventListener('storage', handleStorageChange); + window.addEventListener('alarm-updated', fetchUnresolvedAlarmCount); // 首次加载时获取告警数量 fetchUnresolvedAlarmCount(); // 每60秒刷新一次告警数量 @@ -405,6 +406,7 @@ export default { onUnmounted(() => { window.removeEventListener('storage', handleStorageChange); + window.removeEventListener('alarm-updated', fetchUnresolvedAlarmCount); // 清除定时器 if (alarmFetchInterval) { clearInterval(alarmFetchInterval); diff --git a/src/views/alarm/AlarmList.vue b/src/views/alarm/AlarmList.vue index 9cfbe976..0f56e572 100644 --- a/src/views/alarm/AlarmList.vue +++ b/src/views/alarm/AlarmList.vue @@ -57,9 +57,15 @@ @@ -168,6 +174,7 @@ export default { const duration = parseInt(value, 10); await AlarmApi.snoozeAlarm(alarm.id, { duration_minutes: duration }); this.$message.success('告警已忽略'); + window.dispatchEvent(new CustomEvent('alarm-updated')); await this.loadAlarms(); } catch (err) { if (err !== 'cancel') {