diff --git a/src/router/index.js b/src/router/index.js index 6fe35ecf..c4847e15 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -5,6 +5,7 @@ import NProgress from 'nprogress' import 'nprogress/nprogress.css' import tool from '@/utils/tool'; import systemRouter from './systemRouter'; +import {beforeEach, afterEach} from './scrollBehavior'; //系统路由 const routes = systemRouter @@ -29,7 +30,7 @@ var isGetApiRouter = false; router.beforeEach(async (to, from, next) => { NProgress.start() - + //动态标题 document.title = `${to.meta.title} - ${config.APP_NAME}` @@ -60,10 +61,12 @@ router.beforeEach(async (to, from, next) => { } isGetApiRouter = true; } + beforeEach(to, from) next(); }); -router.afterEach(() => { +router.afterEach((to, from) => { + afterEach(to, from) NProgress.done() }); diff --git a/src/router/scrollBehavior.js b/src/router/scrollBehavior.js new file mode 100644 index 00000000..7121690d --- /dev/null +++ b/src/router/scrollBehavior.js @@ -0,0 +1,20 @@ +import store from '@/store' +import { nextTick } from 'vue' + +export function beforeEach(to, from){ + var adminMain = document.querySelector('#adminui-main') + if(!adminMain){return false} + store.commit("updateViewTags", { + fullPath: from.fullPath, + scrollTop: adminMain.scrollTop + }) +} + +export function afterEach(to){ + var adminMain = document.querySelector('#adminui-main') + if(!adminMain){return false} + nextTick(()=>{ + var beforeRoute = store.state.viewTags.viewTags.filter(v => v.fullPath == to.fullPath)[0] + adminMain.scrollTop = beforeRoute.scrollTop || 0 + }) +} \ No newline at end of file