From eabe865c6c946219b33f8dd50dc6beffc2dbcbd1 Mon Sep 17 00:00:00 2001 From: zlwu <704541015@qq.com> Date: Thu, 10 Jul 2025 09:14:28 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9=E8=8F=9C=E5=8D=95t?= =?UTF-8?q?ab=E6=BF=80=E6=B4=BB=E6=97=B6=E8=87=AA=E5=8A=A8=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E7=95=8C=E9=9D=A2=202=E3=80=81=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=E5=8E=85=E9=A2=84=E7=BA=A6=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E7=9A=84=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/layout/components/TagsView/index.vue | 22 ++++++++++++++++++++ web/src/views/hq/hallReservation/index.vue | 21 ++++++++++++------- 2 files changed, 36 insertions(+), 7 deletions(-) diff --git a/web/src/layout/components/TagsView/index.vue b/web/src/layout/components/TagsView/index.vue index b86d4de5..4b8cacd9 100644 --- a/web/src/layout/components/TagsView/index.vue +++ b/web/src/layout/components/TagsView/index.vue @@ -9,6 +9,7 @@ :to="{ path: tag.path ? tag.path : '', query: tag.query }" class="tags-view-item" :style="activeStyle(tag)" + @click="handleTagClick(tag, $event)" @click.middle="!isAffix(tag) ? closeSelectedTag(tag) : ''" @contextmenu.prevent="openMenu(tag, $event)" > @@ -232,6 +233,27 @@ const handleScroll = () => { closeMenu(); }; +// 点击标签时,如果标签已激活,则执行刷新操作 +const handleTagClick = (tag: RouteLocationNormalized, e: MouseEvent) => { + // 阻止 router-link 默认行为,统一由脚本控制导航和刷新 + e.preventDefault(); + + if (isActive(tag)) { + // 当前已激活,直接刷新 + refreshSelectedTag(tag); + } else { + // 尚未激活,先导航到对应路由,导航成功后再刷新 + router + .push({ path: tag.path || '', query: tag.query }) + .then(() => { + refreshSelectedTag(tag); + }) + .catch(() => { + /* 忽略重复导航错误 */ + }); + } +}; + onMounted(() => { initTags(); addTags(); diff --git a/web/src/views/hq/hallReservation/index.vue b/web/src/views/hq/hallReservation/index.vue index 14164106..70e07195 100644 --- a/web/src/views/hq/hallReservation/index.vue +++ b/web/src/views/hq/hallReservation/index.vue @@ -181,7 +181,7 @@ (ID: {{ hall.id }})