From 6e8393cf5401752eda92722a456be69ea1c6f501 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Mon, 20 Jul 2026 10:42:23 +0800 Subject: [PATCH] =?UTF-8?q?2026-07-20=20=E5=BC=82=E5=B8=B8=E8=A7=84?= =?UTF-8?q?=E5=88=99=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/main-sidebar-hover.vue | 9 ++ src/views/main-sidebar.vue | 9 ++ src/views/modules/todo/todoCenter.vue | 123 +++++++++--------- .../modules/yieldReport/com_mrb_register.vue | 10 +- .../yieldReport/com_produce_report_normal.vue | 7 +- .../modules/yieldReport/com_separate_roll.vue | 1 - 6 files changed, 87 insertions(+), 72 deletions(-) diff --git a/src/views/main-sidebar-hover.vue b/src/views/main-sidebar-hover.vue index bd53c1f..021c77c 100644 --- a/src/views/main-sidebar-hover.vue +++ b/src/views/main-sidebar-hover.vue @@ -249,6 +249,9 @@ export default { // 添加全局点击监听,点击其他地方时收起菜单 document.addEventListener('click', this.handleDocumentClick) this.todoBadgeTimer = setInterval(this.refreshTodoPendingCount, 60000) + if (typeof window !== 'undefined') { + window.addEventListener('todo-badge-refresh', this.handleTodoBadgeRefresh) + } }, beforeDestroy() { // 移除全局点击监听 @@ -257,8 +260,14 @@ export default { clearInterval(this.todoBadgeTimer) this.todoBadgeTimer = null } + if (typeof window !== 'undefined') { + window.removeEventListener('todo-badge-refresh', this.handleTodoBadgeRefresh) + } }, methods: { + handleTodoBadgeRefresh () { + this.refreshTodoPendingCount() + }, refreshTodoPendingCount () { const site = this.$store.state.user.site if (!site) { diff --git a/src/views/main-sidebar.vue b/src/views/main-sidebar.vue index 7946a1c..e013d64 100644 --- a/src/views/main-sidebar.vue +++ b/src/views/main-sidebar.vue @@ -128,14 +128,23 @@ export default { }, mounted () { this.todoBadgeTimer = setInterval(this.refreshTodoPendingCount, 60000) + if (typeof window !== 'undefined') { + window.addEventListener('todo-badge-refresh', this.handleTodoBadgeRefresh) + } }, beforeDestroy () { if (this.todoBadgeTimer) { clearInterval(this.todoBadgeTimer) this.todoBadgeTimer = null } + if (typeof window !== 'undefined') { + window.removeEventListener('todo-badge-refresh', this.handleTodoBadgeRefresh) + } }, methods: { + handleTodoBadgeRefresh () { + this.refreshTodoPendingCount() + }, refreshTodoPendingCount () { const site = this.$store.state.user.site if (!site) { diff --git a/src/views/modules/todo/todoCenter.vue b/src/views/modules/todo/todoCenter.vue index b40ddd5..421417c 100644 --- a/src/views/modules/todo/todoCenter.vue +++ b/src/views/modules/todo/todoCenter.vue @@ -167,7 +167,7 @@ :close-on-click-modal="false" :visible.sync="detailDialogVisible" width="820px" - class="customer-dialog todo-cache-detail-dialog" + class="todo-cache-detail-dialog" append-to-body>