From b25a280ebbfc5ca2ea334f2c7e337376e4ffd1cd Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Tue, 17 Dec 2024 11:57:05 +0800
Subject: [PATCH] 优化TopNav内链菜单点击没有高亮(IB8WHJ)
---
ruoyi-ui/src/layout/components/TagsView/index.vue | 27 +++++++++++----------------
1 files changed, 11 insertions(+), 16 deletions(-)
diff --git a/ruoyi-ui/src/layout/components/TagsView/index.vue b/ruoyi-ui/src/layout/components/TagsView/index.vue
index e43aa2e..44eff7d 100644
--- a/ruoyi-ui/src/layout/components/TagsView/index.vue
+++ b/ruoyi-ui/src/layout/components/TagsView/index.vue
@@ -87,7 +87,7 @@
},
isFirstView() {
try {
- return this.selectedTag.fullPath === this.visitedViews[1].fullPath || this.selectedTag.fullPath === '/index'
+ return this.selectedTag.fullPath === '/index' || this.selectedTag.fullPath === this.visitedViews[1].fullPath
} catch (err) {
return false
}
@@ -134,7 +134,6 @@
if (name) {
this.$store.dispatch('tagsView/addView', this.$route)
}
- return false
},
moveToCurrentTag() {
const tags = this.$refs.tag
@@ -152,44 +151,40 @@
})
},
refreshSelectedTag(view) {
- this.$store.dispatch('tagsView/delCachedView', view).then(() => {
- const { fullPath } = view
- this.$nextTick(() => {
- this.$router.replace({
- path: '/redirect' + fullPath
- })
- })
- })
+ this.$tab.refreshPage(view);
+ if (this.$route.meta.link) {
+ this.$store.dispatch('tagsView/delIframeView', this.$route)
+ }
},
closeSelectedTag(view) {
- this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => {
+ this.$tab.closePage(view).then(({ visitedViews }) => {
if (this.isActive(view)) {
this.toLastView(visitedViews, view)
}
})
},
closeRightTags() {
- this.$store.dispatch('tagsView/delRightTags', this.selectedTag).then(visitedViews => {
+ this.$tab.closeRightPage(this.selectedTag).then(visitedViews => {
if (!visitedViews.find(i => i.fullPath === this.$route.fullPath)) {
this.toLastView(visitedViews)
}
})
},
closeLeftTags() {
- this.$store.dispatch('tagsView/delLeftTags', this.selectedTag).then(visitedViews => {
+ this.$tab.closeLeftPage(this.selectedTag).then(visitedViews => {
if (!visitedViews.find(i => i.fullPath === this.$route.fullPath)) {
this.toLastView(visitedViews)
}
})
},
closeOthersTags() {
- this.$router.push(this.selectedTag).catch(()=>{});
- this.$store.dispatch('tagsView/delOthersViews', this.selectedTag).then(() => {
+ this.$router.push(this.selectedTag.fullPath).catch(()=>{});
+ this.$tab.closeOtherPage(this.selectedTag).then(() => {
this.moveToCurrentTag()
})
},
closeAllTags(view) {
- this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => {
+ this.$tab.closeAllPage().then(({ visitedViews }) => {
if (this.affixTags.some(tag => tag.path === this.$route.path)) {
return
}
--
Gitblit v1.9.3