From d4f4c52402b91cb8e17c1845da71c5e39662fde0 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期三, 03 一月 2024 15:28:06 +0800 Subject: [PATCH] 销售报价单列表页增加统计内容及接口联调、添加报价单天天客户名称及对应限制功能 --- src/router/index.js | 46 ++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 44 insertions(+), 2 deletions(-) diff --git a/src/router/index.js b/src/router/index.js index 8f17f9d..87e40de 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -5,6 +5,8 @@ import clientRouter from "./client/index.js" import salesRouter from "./sales/index.js" import serviceRouter from "./service/index.js" +import {getMenuTreeByRole} from "@/api/menus/index" +import store from '@/store/index.js'; // import backgroundConfigRouter from "./backgroundConfig/index.js" Vue.use(Router) @@ -18,8 +20,8 @@ export const routes = [ // 鏃犳暟鎹〉闈� { - path: "/", - name: "NoData", + path: "noData", + name: "noData", meta: { title: "", auth: true, @@ -109,6 +111,46 @@ const router = createRouter() +let isSkip = false; +async function hasPermission(routePath) { + isSkip = false; + try { + const res = await getMenuTreeByRole(); + const newPath = { + path: "/noData" + }; + const foundObject = res.data.list.find(obj => obj.systemType === 2); + if (foundObject) { + store.commit('setMenus', foundObject.menus); + foundObject.menus.forEach(item => { + const nextPath = item.children.find(obj => obj.path === routePath); + if (nextPath) { + newPath.path = nextPath.path; + isSkip = true; + } + }); + } else { + newPath.path = '/noData'; + } + return newPath; + } catch (error) { + return { path: "/noData" }; + } +} +router.beforeEach(async (to, from, next) => { + try { + const result = await hasPermission(to.path); + console.log(result,"result") + next(); + // if (!isSkip) { + // next('/noData') + // } + } catch (error) { + console.error('Error in navigation guard:', error); + next(); + } +}); + // router.beforeEach((to, from, next) => { // must call `next` // console.log(to, from) -- Gitblit v1.8.0