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 | 127 +++++++++++++++++++++++++++++++++++-------
1 files changed, 106 insertions(+), 21 deletions(-)
diff --git a/src/router/index.js b/src/router/index.js
index 8050c91..87e40de 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -2,37 +2,52 @@
import Router from "vue-router"
// import type from "@/router/deployCode"
-import customRouter from "./custom/index.js"
-// import salesRouter from "./sales/index.js"
+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)
-const login = (resolve) => require(["@/views/login/index"], resolve)
-const custom = (resolve) => require(["@/views/custom/index"], resolve)
-// const sales = (resolve) => require(["@/views/sales/index"], resolve)
+const login = (resolve) => require(["@/views/other/login/index"], resolve)
+const client = (resolve) => require(["@/views/client/index"], resolve)
+const sales = (resolve) => require(["@/views/sales/index"], resolve)
const service = (resolve) => require(["@/views/service/index"], resolve)
+const noData = (resolve) => require(["@/views/NoData/index"], resolve)
+// const background = (resolve) => require(["@/views/backgroundConfig/index"], resolve)
export const routes = [
+ // 鏃犳暟鎹〉闈�
{
- path: "custom", // 瀹㈡埛绠$悊
- name: "custom",
- component: custom,
- children: customRouter,
+ path: "noData",
+ name: "noData",
+ meta: {
+ title: "",
+ auth: true,
+ },
+ component: noData,
+ },
+ {
+ path: "client", // 瀹㈡埛绠$悊
+ name: "client",
+ component: client,
+ children: clientRouter,
meta: {
title: "瀹㈡埛绠$悊",
isAllways: true
}
},
- // {
- // path: "sales", // 閿�鍞鐞�
- // name: "sales",
- // component: sales,
- // children: salesRouter,
- // meta: {
- // title: "閿�鍞鐞�",
- // isAllways: true
- // }
- // },
+ {
+ path: "sales", // 閿�鍞鐞�
+ name: "sales",
+ component: sales,
+ children: salesRouter,
+ meta: {
+ title: "閿�鍞鐞�",
+ isAllways: true
+ }
+ },
{
path: "service", // 鏈嶅姟绠$悊
name: "service",
@@ -43,6 +58,16 @@
isAllways: true
}
}
+ // {
+ // path: "background", // 鍚庡彴璁剧疆
+ // name: "background",
+ // component: background,
+ // children: backgroundConfigRouter,
+ // meta: {
+ // title: "鍚庡彴璁剧疆",
+ // isAllways: true
+ // }
+ // }
]
export const constantRoutes = [
{
@@ -55,7 +80,7 @@
insIndex: true
},
redirect: {
- name: "custom"
+ name: "salesLead"
},
children: routes
},
@@ -69,7 +94,10 @@
},
{
path: "*",
- redirect: "/404"
+ component: () => import("@/views/other/error/404"),
+ meta: {
+ title: "404"
+ }
}
]
// 瀵煎嚭璺敱 鍦� main.js 閲屼娇鐢�
@@ -83,4 +111,61 @@
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)
+// if (to.path === "/custom/salesLead") {
+// next()
+// } else {
+// if (to.meta.requireAuth) {
+// next({
+// path: "/login",
+// query: { redirect: to.fullPath }
+// })
+// } else {
+// next()
+// }
+// }
+// })
+
export default router
--
Gitblit v1.8.0