main #34
@ -40,7 +40,7 @@ export default {
|
|||||||
name: "Sidebar",
|
name: "Sidebar",
|
||||||
components: { SidebarItem, Logo },
|
components: { SidebarItem, Logo },
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(["permission_routes", "sidebar", "userType"]), // 新增:映射userType
|
...mapGetters(["permission_routes", "sidebar", "userType", "orgType"]), // 新增:映射orgType
|
||||||
|
|
||||||
showLogo() {
|
showLogo() {
|
||||||
return true;
|
return true;
|
||||||
@ -57,14 +57,17 @@ export default {
|
|||||||
// 修复:确保权限路由正确获取
|
// 修复:确保权限路由正确获取
|
||||||
permissionRoutes() {
|
permissionRoutes() {
|
||||||
const routes = this.permission_routes || [];
|
const routes = this.permission_routes || [];
|
||||||
console.log("Sidebar - 当前权限路由:", routes);
|
console.log("=== Sidebar 权限路由调试 ===");
|
||||||
console.log("Sidebar - 用户类型:", this.userType); // 新增:打印用户类型
|
console.log("当前权限路由:", routes);
|
||||||
|
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;
|
||||||
},
|
},
|
||||||
@ -86,6 +89,7 @@ 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: {
|
||||||
@ -103,6 +107,14 @@ export default {
|
|||||||
console.log("Sidebar - 用户类型变化:", newType);
|
console.log("Sidebar - 用户类型变化:", newType);
|
||||||
},
|
},
|
||||||
immediate: true
|
immediate: true
|
||||||
|
},
|
||||||
|
|
||||||
|
// 新增:监听组织类型变化
|
||||||
|
orgType: {
|
||||||
|
handler(newType) {
|
||||||
|
console.log("Sidebar - 组织类型变化:", newType);
|
||||||
|
},
|
||||||
|
immediate: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -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,7 +352,6 @@ export const asyncRoutes = [
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
// 资源管理菜单 - 保持为一级菜单,调整顺序到订单管理后面
|
|
||||||
|
|
||||||
{
|
{
|
||||||
path: "/resourceManagement",
|
path: "/resourceManagement",
|
||||||
|
|||||||
@ -12,8 +12,7 @@ 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,
|
||||||
// errorLogs: state => state.errorLog.logs,
|
orgType: state => state.user.orgType, // 新增:组织类型getter
|
||||||
}
|
}
|
||||||
export default getters
|
export default getters
|
||||||
|
|||||||
@ -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;
|
||||||
|
|
||||||
// 判断用户类型:admin为1是管理员,否则是普通用户
|
// 判断用户类型:org_type为2是客户,否则是管理员
|
||||||
const userType = params.admin == 1 ? 'admin' : 'user';
|
const userType = params.orgType == 2 ? 'user' : 'admin';
|
||||||
console.log("用户类型:", userType);
|
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');
|
accessedRoutes = asyncRoutes.filter(item => item.path === '/superAdministrator');
|
||||||
} else {
|
} else {
|
||||||
@ -147,7 +147,14 @@ 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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,7 +21,9 @@ const state = {
|
|||||||
//客户余额
|
//客户余额
|
||||||
mybalance: '',
|
mybalance: '',
|
||||||
// 新增:用户类型(admin/user)
|
// 新增:用户类型(admin/user)
|
||||||
userType: ''
|
userType: '',
|
||||||
|
// 新增:组织类型
|
||||||
|
orgType: ''
|
||||||
};
|
};
|
||||||
|
|
||||||
const mutations = {
|
const mutations = {
|
||||||
@ -55,6 +57,11 @@ 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);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -82,13 +89,15 @@ const actions = {
|
|||||||
type: 'error',
|
type: 'error',
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
const {data, admin} = response;
|
const {data, org_type} = response;
|
||||||
commit("SET_USER", username);
|
commit("SET_USER", username);
|
||||||
|
|
||||||
// 新增:设置用户类型
|
// 新增:根据 org_type 设置用户类型
|
||||||
const userType = admin == 1 ? 'admin' : 'user';
|
// org_type 为 2 表示客户,其他为管理员
|
||||||
|
const userType = org_type == 2 ? 'user' : 'admin';
|
||||||
commit("SET_USER_TYPE", userType);
|
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", []);
|
data ? commit("SET_AUTHS", data) : commit("SET_AUTHS", []);
|
||||||
const accessRoutes = await store.dispatch(
|
const accessRoutes = await store.dispatch(
|
||||||
@ -96,7 +105,7 @@ const actions = {
|
|||||||
{
|
{
|
||||||
user: username,
|
user: username,
|
||||||
auths: data,
|
auths: data,
|
||||||
admin: admin
|
orgType: org_type // 传递 orgType 而不是 admin
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
resetRouter();
|
resetRouter();
|
||||||
@ -145,6 +154,7 @@ 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();
|
||||||
|
|
||||||
@ -167,6 +177,7 @@ 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();
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user