Compare commits

..

No commits in common. "e00c77ae0f016560d8ae30e42d0bfbc39fd2042c" and "7c5de0fe8a1c0fc15fc388a9b2d08acc471f341d" have entirely different histories.

5 changed files with 20 additions and 48 deletions

View File

@ -40,7 +40,7 @@ export default {
name: "Sidebar", name: "Sidebar",
components: { SidebarItem, Logo }, components: { SidebarItem, Logo },
computed: { computed: {
...mapGetters(["permission_routes", "sidebar", "userType", "orgType"]), // orgType ...mapGetters(["permission_routes", "sidebar", "userType"]), // userType
showLogo() { showLogo() {
return true; return true;
@ -57,17 +57,14 @@ export default {
// //
permissionRoutes() { permissionRoutes() {
const routes = this.permission_routes || []; const routes = this.permission_routes || [];
console.log("=== Sidebar 权限路由调试 ==="); console.log("Sidebar - 当前权限路由:", routes);
console.log("当前权限路由:", routes); console.log("Sidebar - 用户类型:", this.userType); //
console.log("用户类型:", this.userType);
console.log("组织类型:", this.orgType);
// //
const hasOrderManagement = routes.some(route => route.path === '/orderManagement'); const hasOrderManagement = routes.some(route => route.path === '/orderManagement');
const hasResourceManagement = routes.some(route => route.path === '/resourceManagement'); const hasResourceManagement = routes.some(route => route.path === '/resourceManagement');
console.log("是否包含订单管理:", hasOrderManagement); console.log("是否包含订单管理:", hasOrderManagement);
console.log("是否包含资源管理:", hasResourceManagement); console.log("是否包含资源管理:", hasResourceManagement);
console.log("=== Sidebar 调试结束 ===");
return routes; return routes;
}, },
@ -89,7 +86,6 @@ export default {
mounted() { mounted() {
console.log("Sidebar mounted - 权限路由:", this.permissionRoutes); console.log("Sidebar mounted - 权限路由:", this.permissionRoutes);
console.log("Sidebar mounted - 用户类型:", this.userType); console.log("Sidebar mounted - 用户类型:", this.userType);
console.log("Sidebar mounted - 组织类型:", this.orgType);
}, },
watch: { watch: {
@ -107,14 +103,6 @@ export default {
console.log("Sidebar - 用户类型变化:", newType); console.log("Sidebar - 用户类型变化:", newType);
}, },
immediate: true immediate: true
},
//
orgType: {
handler(newType) {
console.log("Sidebar - 组织类型变化:", newType);
},
immediate: true
} }
} }
}; };

View File

@ -47,7 +47,7 @@ Vue.use(Router);
/** /**
* constantRoutes * constantRoutes
没有权限要求的基本页面 没有权限要求的基本页面
所有角色都可以访问· 所有角色都可以访问
*/ */
export const constantRoutes = [ export const constantRoutes = [
{ {
@ -325,7 +325,7 @@ export const asyncRoutes = [
] ]
}, },
// 订单管理菜单 - 保持为一级菜单,调整顺序到全部产品后面
{ {
path: "/orderManagement", path: "/orderManagement",
component: Layout, component: Layout,
@ -352,6 +352,7 @@ export const asyncRoutes = [
] ]
}, },
// 资源管理菜单 - 保持为一级菜单,调整顺序到订单管理后面
{ {
path: "/resourceManagement", path: "/resourceManagement",

View File

@ -12,7 +12,8 @@ const getters = {
auths: state => state.user.auths, auths: state => state.user.auths,
requestCode: state => state.user.requestCode, requestCode: state => state.user.requestCode,
permission_routes: state => state.permission.routes, permission_routes: state => state.permission.routes,
// 新增用户类型getter
userType: state => state.user.userType, userType: state => state.user.userType,
orgType: state => state.user.orgType, // 新增组织类型getter // errorLogs: state => state.errorLog.logs,
} }
export default getters export default getters

View File

@ -37,7 +37,7 @@ function filterAsyncRoutes(routes, permissions) {
function addUserRoutes(routes, userType) { function addUserRoutes(routes, userType) {
console.log("addUserRoutes - userType:", userType); console.log("addUserRoutes - userType:", userType);
// 如果是普通用户(org_type为2),添加订单管理和资源管理路由 // 如果是普通用户(非管理员),添加订单管理和资源管理路由
if (userType === 'user') { if (userType === 'user') {
const orderManagementRoute = routes.find(route => route.path === "/orderManagement"); const orderManagementRoute = routes.find(route => route.path === "/orderManagement");
const resourceManagementRoute = routes.find(route => route.path === "/resourceManagement"); const resourceManagementRoute = routes.find(route => route.path === "/resourceManagement");
@ -113,11 +113,11 @@ const actions = {
return new Promise((resolve) => { return new Promise((resolve) => {
let accessedRoutes; let accessedRoutes;
// 判断用户类型:org_type为2是客户否则是管理员 // 判断用户类型:admin为1是管理员否则是普通用户
const userType = params.orgType == 2 ? 'user' : 'admin'; const userType = params.admin == 1 ? 'admin' : 'user';
console.log("用户类型:", userType, "orgType:", params.orgType); console.log("用户类型:", userType);
if (params.user.includes("admin") && params.orgType != 2) { if (params.user.includes("admin") && params.admin == 1) {
// 管理员:只显示超级管理员菜单 // 管理员:只显示超级管理员菜单
accessedRoutes = asyncRoutes.filter(item => item.path === '/superAdministrator'); accessedRoutes = asyncRoutes.filter(item => item.path === '/superAdministrator');
} else { } else {
@ -147,14 +147,7 @@ const actions = {
if (userType === 'user') { if (userType === 'user') {
console.log("为普通用户添加订单管理和资源管理路由"); console.log("为普通用户添加订单管理和资源管理路由");
const userSpecificRoutes = addUserRoutes(asyncRoutes, userType); 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); console.log("添加用户特定路由后的accessedRoutes:", accessedRoutes);
} }
} }

View File

@ -21,9 +21,7 @@ const state = {
//客户余额 //客户余额
mybalance: '', mybalance: '',
// 新增用户类型admin/user // 新增用户类型admin/user
userType: '', userType: ''
// 新增:组织类型
orgType: ''
}; };
const mutations = { const mutations = {
@ -57,11 +55,6 @@ const mutations = {
SET_USER_TYPE: (state, userType) => { SET_USER_TYPE: (state, userType) => {
state.userType = userType; state.userType = userType;
sessionStorage.setItem("userType", userType); sessionStorage.setItem("userType", userType);
},
// 新增:设置组织类型
SET_ORG_TYPE: (state, orgType) => {
state.orgType = orgType;
sessionStorage.setItem("orgType", orgType);
} }
}; };
@ -89,15 +82,13 @@ const actions = {
type: 'error', type: 'error',
}) })
} else { } else {
const {data, org_type} = response; const {data, admin} = response;
commit("SET_USER", username); commit("SET_USER", username);
// 新增:根据 org_type 设置用户类型 // 新增:设置用户类型
// org_type 为 2 表示客户,其他为管理员 const userType = admin == 1 ? 'admin' : 'user';
const userType = org_type == 2 ? 'user' : 'admin';
commit("SET_USER_TYPE", userType); commit("SET_USER_TYPE", userType);
commit("SET_ORG_TYPE", org_type); console.log("登录用户类型:", userType);
console.log("登录用户类型:", userType, "org_type:", org_type);
data ? commit("SET_AUTHS", data) : commit("SET_AUTHS", []); data ? commit("SET_AUTHS", data) : commit("SET_AUTHS", []);
const accessRoutes = await store.dispatch( const accessRoutes = await store.dispatch(
@ -105,7 +96,7 @@ const actions = {
{ {
user: username, user: username,
auths: data, auths: data,
orgType: org_type // 传递 orgType 而不是 admin admin: admin
} }
) )
resetRouter(); resetRouter();
@ -154,7 +145,6 @@ const actions = {
commit("SET_TOKEN", ""); commit("SET_TOKEN", "");
commit("SET_ROLES", []); commit("SET_ROLES", []);
commit("SET_USER_TYPE", ""); // 新增:清除用户类型 commit("SET_USER_TYPE", ""); // 新增:清除用户类型
commit("SET_ORG_TYPE", ""); // 新增:清除组织类型
removeToken(); removeToken();
resetRouter(); resetRouter();
@ -177,7 +167,6 @@ const actions = {
commit("SET_TOKEN", ""); commit("SET_TOKEN", "");
commit("SET_ROLES", []); commit("SET_ROLES", []);
commit("SET_USER_TYPE", ""); // 新增:清除用户类型 commit("SET_USER_TYPE", ""); // 新增:清除用户类型
commit("SET_ORG_TYPE", ""); // 新增:清除组织类型
removeToken(); removeToken();
resolve(); resolve();
}); });