diff --git a/f/web-kboss/src/layout/components/Sidebar/index.vue b/f/web-kboss/src/layout/components/Sidebar/index.vue index 08bf1c2..7effadb 100644 --- a/f/web-kboss/src/layout/components/Sidebar/index.vue +++ b/f/web-kboss/src/layout/components/Sidebar/index.vue @@ -40,7 +40,7 @@ export default { name: "Sidebar", components: { SidebarItem, Logo }, computed: { - ...mapGetters(["permission_routes", "sidebar", "userType"]), // 新增:映射userType + ...mapGetters(["permission_routes", "sidebar", "userType", "orgType"]), // 新增:映射orgType showLogo() { return true; @@ -57,14 +57,17 @@ export default { // 修复:确保权限路由正确获取 permissionRoutes() { const routes = this.permission_routes || []; - console.log("Sidebar - 当前权限路由:", routes); - console.log("Sidebar - 用户类型:", this.userType); // 新增:打印用户类型 + console.log("=== Sidebar 权限路由调试 ==="); + console.log("当前权限路由:", routes); + console.log("用户类型:", this.userType); + console.log("组织类型:", this.orgType); // 调试:检查是否包含订单管理和资源管理路由 const hasOrderManagement = routes.some(route => route.path === '/orderManagement'); const hasResourceManagement = routes.some(route => route.path === '/resourceManagement'); console.log("是否包含订单管理:", hasOrderManagement); console.log("是否包含资源管理:", hasResourceManagement); + console.log("=== Sidebar 调试结束 ==="); return routes; }, @@ -86,6 +89,7 @@ export default { mounted() { console.log("Sidebar mounted - 权限路由:", this.permissionRoutes); console.log("Sidebar mounted - 用户类型:", this.userType); + console.log("Sidebar mounted - 组织类型:", this.orgType); }, watch: { @@ -103,6 +107,14 @@ export default { console.log("Sidebar - 用户类型变化:", newType); }, immediate: true + }, + + // 新增:监听组织类型变化 + orgType: { + handler(newType) { + console.log("Sidebar - 组织类型变化:", newType); + }, + immediate: true } } }; diff --git a/f/web-kboss/src/router/index.js b/f/web-kboss/src/router/index.js index 0fa9c7a..f412102 100644 --- a/f/web-kboss/src/router/index.js +++ b/f/web-kboss/src/router/index.js @@ -47,7 +47,7 @@ Vue.use(Router); /** * constantRoutes 没有权限要求的基本页面 - 所有角色都可以访问 + 所有角色都可以访问下· */ export const constantRoutes = [ { @@ -325,7 +325,7 @@ export const asyncRoutes = [ ] }, - // 订单管理菜单 - 保持为一级菜单,调整顺序到全部产品后面 + { path: "/orderManagement", component: Layout, @@ -352,7 +352,6 @@ export const asyncRoutes = [ ] }, - // 资源管理菜单 - 保持为一级菜单,调整顺序到订单管理后面 { path: "/resourceManagement", diff --git a/f/web-kboss/src/store/getters.js b/f/web-kboss/src/store/getters.js index e66a442..f0a9cc1 100644 --- a/f/web-kboss/src/store/getters.js +++ b/f/web-kboss/src/store/getters.js @@ -12,8 +12,7 @@ const getters = { auths: state => state.user.auths, requestCode: state => state.user.requestCode, permission_routes: state => state.permission.routes, - // 新增:用户类型getter userType: state => state.user.userType, - // errorLogs: state => state.errorLog.logs, + orgType: state => state.user.orgType, // 新增:组织类型getter } export default getters diff --git a/f/web-kboss/src/store/modules/permission.js b/f/web-kboss/src/store/modules/permission.js index e81fa6d..a575af1 100644 --- a/f/web-kboss/src/store/modules/permission.js +++ b/f/web-kboss/src/store/modules/permission.js @@ -37,7 +37,7 @@ function filterAsyncRoutes(routes, permissions) { function addUserRoutes(routes, userType) { console.log("addUserRoutes - userType:", userType); - // 如果是普通用户(非管理员),添加订单管理和资源管理路由 + // 如果是普通用户(org_type为2),添加订单管理和资源管理路由 if (userType === 'user') { const orderManagementRoute = routes.find(route => route.path === "/orderManagement"); const resourceManagementRoute = routes.find(route => route.path === "/resourceManagement"); @@ -113,11 +113,11 @@ const actions = { return new Promise((resolve) => { let accessedRoutes; - // 判断用户类型:admin为1是管理员,否则是普通用户 - const userType = params.admin == 1 ? 'admin' : 'user'; - console.log("用户类型:", userType); + // 判断用户类型:org_type为2是客户,否则是管理员 + const userType = params.orgType == 2 ? 'user' : 'admin'; + console.log("用户类型:", userType, "orgType:", params.orgType); - if (params.user.includes("admin") && params.admin == 1) { + if (params.user.includes("admin") && params.orgType != 2) { // 管理员:只显示超级管理员菜单 accessedRoutes = asyncRoutes.filter(item => item.path === '/superAdministrator'); } else { @@ -147,7 +147,14 @@ const actions = { if (userType === 'user') { console.log("为普通用户添加订单管理和资源管理路由"); const userSpecificRoutes = addUserRoutes(asyncRoutes, userType); - accessedRoutes = [...accessedRoutes, ...userSpecificRoutes]; + + // 确保不重复添加路由 + userSpecificRoutes.forEach(route => { + if (!accessedRoutes.some(r => r.path === route.path)) { + accessedRoutes.push(route); + } + }); + console.log("添加用户特定路由后的accessedRoutes:", accessedRoutes); } } diff --git a/f/web-kboss/src/store/modules/user.js b/f/web-kboss/src/store/modules/user.js index c2e673f..7b58f2b 100644 --- a/f/web-kboss/src/store/modules/user.js +++ b/f/web-kboss/src/store/modules/user.js @@ -21,7 +21,9 @@ const state = { //客户余额 mybalance: '', // 新增:用户类型(admin/user) - userType: '' + userType: '', + // 新增:组织类型 + orgType: '' }; const mutations = { @@ -55,6 +57,11 @@ const mutations = { SET_USER_TYPE: (state, userType) => { state.userType = userType; sessionStorage.setItem("userType", userType); + }, + // 新增:设置组织类型 + SET_ORG_TYPE: (state, orgType) => { + state.orgType = orgType; + sessionStorage.setItem("orgType", orgType); } }; @@ -82,13 +89,15 @@ const actions = { type: 'error', }) } else { - const {data, admin} = response; + const {data, org_type} = response; commit("SET_USER", username); - // 新增:设置用户类型 - const userType = admin == 1 ? 'admin' : 'user'; + // 新增:根据 org_type 设置用户类型 + // org_type 为 2 表示客户,其他为管理员 + const userType = org_type == 2 ? 'user' : 'admin'; commit("SET_USER_TYPE", userType); - console.log("登录用户类型:", userType); + commit("SET_ORG_TYPE", org_type); + console.log("登录用户类型:", userType, "org_type:", org_type); data ? commit("SET_AUTHS", data) : commit("SET_AUTHS", []); const accessRoutes = await store.dispatch( @@ -96,7 +105,7 @@ const actions = { { user: username, auths: data, - admin: admin + orgType: org_type // 传递 orgType 而不是 admin } ) resetRouter(); @@ -145,6 +154,7 @@ const actions = { commit("SET_TOKEN", ""); commit("SET_ROLES", []); commit("SET_USER_TYPE", ""); // 新增:清除用户类型 + commit("SET_ORG_TYPE", ""); // 新增:清除组织类型 removeToken(); resetRouter(); @@ -167,6 +177,7 @@ const actions = { commit("SET_TOKEN", ""); commit("SET_ROLES", []); commit("SET_USER_TYPE", ""); // 新增:清除用户类型 + commit("SET_ORG_TYPE", ""); // 新增:清除组织类型 removeToken(); resolve(); });