diff --git a/web/src/pinia/modules/router.js b/web/src/pinia/modules/router.js index 18a973324..2769e7b5b 100644 --- a/web/src/pinia/modules/router.js +++ b/web/src/pinia/modules/router.js @@ -57,8 +57,18 @@ export const useRouterStore = defineStore('router', () => { hidden: true, meta: { title: '迷路了*。*', + closeTab: true, }, component: 'view/error/index.vue' + }, { + path: 'reload', + name: 'Reload', + hidden: true, + meta: { + title: '', + closeTab: true, + }, + component: 'view/error/reload.vue' }) formatRouter(asyncRouter, routeMap) baseRouter[0].children = asyncRouter diff --git a/web/src/view/error/reload.vue b/web/src/view/error/reload.vue new file mode 100644 index 000000000..fdeb8ce49 --- /dev/null +++ b/web/src/view/error/reload.vue @@ -0,0 +1,14 @@ + + + + diff --git a/web/src/view/example/index.vue b/web/src/view/example/index.vue index 76fae0425..554852fe1 100644 --- a/web/src/view/example/index.vue +++ b/web/src/view/example/index.vue @@ -2,7 +2,7 @@
- + @@ -17,4 +17,5 @@ export default { diff --git a/web/src/view/layout/aside/historyComponent/history.vue b/web/src/view/layout/aside/historyComponent/history.vue index 0b915d910..68a123e6c 100644 --- a/web/src/view/layout/aside/historyComponent/history.vue +++ b/web/src/view/layout/aside/historyComponent/history.vue @@ -247,16 +247,13 @@ watch(contextMenuVisible, () => { }) watch(route, (to, now) => { - if (to.name === 'Login') { + if (to.name === 'Login' || to.name === 'Reload') { return } historys.value = historys.value.filter((item) => !item.meta.closeTab) setTab(to) sessionStorage.setItem('historys', JSON.stringify(historys.value)) activeValue.value = window.sessionStorage.getItem('activeValue') - if (now && to && now.name === to.name) { - emitter.emit('reload') - } }) const initPage = () => { diff --git a/web/src/view/layout/index.vue b/web/src/view/layout/index.vue index 294f86c27..309d918ba 100644 --- a/web/src/view/layout/index.vue +++ b/web/src/view/layout/index.vue @@ -34,7 +34,7 @@ {{ item.meta.title }} + >{{ route.params.title || item.meta.title }} @@ -83,7 +83,7 @@ - + @@ -118,7 +118,8 @@ import { useRouterStore } from '@/pinia/modules/router' const router = useRouter() const route = useRoute() - +const routerStore = useRouterStore() +console.log(routerStore.keepAliveRouters) // 三种窗口适配 const isCollapse = ref(false) const isSider = ref(true) @@ -201,9 +202,14 @@ const changeUserAuth = async(id) => { const reloadFlag = ref(true) const reload = async() => { - reloadFlag.value = false - await nextTick() - reloadFlag.value = true + if (route.meta.keepAlive) { + reloadFlag.value = false + await nextTick() + reloadFlag.value = true + } else { + const title = route.meta.title + router.push({ name: 'Reload', params: { title }}) + } } const isShadowBg = ref(false) diff --git a/web/src/view/routerHolder.vue b/web/src/view/routerHolder.vue index 37894d547..d65fc4e1f 100644 --- a/web/src/view/routerHolder.vue +++ b/web/src/view/routerHolder.vue @@ -3,7 +3,7 @@
- + @@ -19,4 +19,5 @@ export default { diff --git a/web/src/view/superAdmin/index.vue b/web/src/view/superAdmin/index.vue index f7b1f820f..28c4fdeb4 100644 --- a/web/src/view/superAdmin/index.vue +++ b/web/src/view/superAdmin/index.vue @@ -2,7 +2,7 @@
- + @@ -17,4 +17,5 @@ export default { diff --git a/web/src/view/systemTools/index.vue b/web/src/view/systemTools/index.vue index 1922f1247..1077e8bab 100644 --- a/web/src/view/systemTools/index.vue +++ b/web/src/view/systemTools/index.vue @@ -2,7 +2,7 @@
- + @@ -17,4 +17,5 @@ export default {