Skip to content

Commit c16972a

Browse files
committed
fix: redirect bug
1 parent 7bff562 commit c16972a

File tree

3 files changed

+15
-14
lines changed

3 files changed

+15
-14
lines changed

src/layout/components/columns/ma-columns-menu.vue

+6-6
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,14 @@
6060
const classStyle = ref('flex flex-col parent-menu items-center rounded mt-1 text-gray-200 hover:bg-gray-700 dark:hover:text-gray-50 dark:hover:bg-blackgray-1')
6161

6262
onMounted(() => {
63-
initMenu()
63+
initMenu(true)
6464
})
6565

6666
watch(() => route, v => {
67-
initMenu()
67+
initMenu(false)
6868
}, { deep: true })
6969

70-
const initMenu = () => {
70+
const initMenu = (init = true) => {
7171
let current
7272
if (route.matched[1]?.meta?.breadcrumb) {
7373
current = route.matched[1].meta.breadcrumb[0].name
@@ -76,18 +76,18 @@
7676
}
7777
if (userStore.routers && userStore.routers.length > 0) {
7878
userStore.routers.map((item, index) => {
79-
if (item.name == current) loadMenu(item, index)
79+
if (item.name == current) loadMenu(item, index, init)
8080
})
8181
}
8282
}
8383

84-
const loadMenu = (bigMenu, index) => {
84+
const loadMenu = (bigMenu, index, isInit = true) => {
8585
if (bigMenu.meta.type === 'L') {
8686
window.open(bigMenu.path)
8787
return
8888
}
8989
if (bigMenu.children.length > 0) {
90-
if (bigMenu.redirect) {
90+
if (bigMenu.redirect && isInit) {
9191
router.push(bigMenu.redirect)
9292
}
9393
MaMenuRef.value.loadChildMenu(bigMenu)

src/layout/components/components/children-menu.vue

+1-3
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,7 @@
5151
const routerPush = (menu) => {
5252
if (menu.meta && menu.meta.type === 'L') {
5353
window.open(menu.path)
54-
} else if (menu.redirect) {
55-
router.push(menu.redirect)
56-
} else {
54+
}else {
5755
router.push(menu.path)
5856
tagStore.addTag({ name: menu.name, title: menu.meta.title, path: menu.path })
5957
}

src/layout/components/mixed/index.vue

+8-5
Original file line numberDiff line numberDiff line change
@@ -62,32 +62,35 @@
6262
const active = ref()
6363

6464
onMounted(() => {
65-
initMenu()
65+
initMenu(true)
6666
})
6767

6868
watch(() => route, v => {
69-
initMenu()
69+
initMenu(false)
7070
}, { deep: true })
7171

72-
const initMenu = () => {
72+
const initMenu = (init = true) => {
7373
if (route.matched[1]?.meta?.breadcrumb) {
7474
active.value = route.matched[1].meta.breadcrumb[0].name
7575
} else {
7676
active.value = 'home'
7777
}
7878
if (userStore.routers && userStore.routers.length > 0) {
7979
userStore.routers.map((item, index) => {
80-
if (item.name == active.value) loadMenu(item)
80+
if (item.name == active.value) loadMenu(item, init)
8181
})
8282
}
8383
}
8484

85-
const loadMenu = (bigMenu) => {
85+
const loadMenu = (bigMenu, isInit = true) => {
8686
if (bigMenu.meta.type === 'L') {
8787
window.open(bigMenu.path)
8888
return
8989
}
9090
if (bigMenu.children.length > 0) {
91+
if (bigMenu.redirect && isInit) {
92+
router.push(bigMenu.redirect)
93+
}
9194
MaMenuRef.value.loadChildMenu(bigMenu)
9295
showMenu.value = true
9396
} else {

0 commit comments

Comments
 (0)