|
@@ -36,24 +36,33 @@ export const useAuthStore = defineStore({
|
|
|
const { data } = (await getAuthMenuListApi()) as any;
|
|
const { data } = (await getAuthMenuListApi()) as any;
|
|
|
|
|
|
|
|
const hasPermission = await usePermission();
|
|
const hasPermission = await usePermission();
|
|
|
- if (!hasPermission) {
|
|
|
|
|
- // 根据权限隐藏"门店装修"、"财务管理"和"证照管理"菜单
|
|
|
|
|
- const hideMenuNames = ["storeDecoration", "financialManagement", "licenseManagement"];
|
|
|
|
|
- // 递归查找并隐藏指定菜单
|
|
|
|
|
- const hideMenus = (menuList: any[]) => {
|
|
|
|
|
- menuList.forEach(menu => {
|
|
|
|
|
- // 根据菜单名称判断是否需要隐藏
|
|
|
|
|
- if (menu.name && hideMenuNames.includes(menu.name)) {
|
|
|
|
|
|
|
+ const hideMenuNames = ["storeDecoration", "financialManagement", "licenseManagement"];
|
|
|
|
|
+
|
|
|
|
|
+ // 递归处理菜单的显示/隐藏状态
|
|
|
|
|
+ const processMenus = (menuList: any[]) => {
|
|
|
|
|
+ menuList.forEach(menu => {
|
|
|
|
|
+ // 根据菜单名称判断是否需要处理
|
|
|
|
|
+ if (menu.name && hideMenuNames.includes(menu.name)) {
|
|
|
|
|
+ if (!hasPermission) {
|
|
|
|
|
+ // 如果没有权限,隐藏菜单
|
|
|
menu.meta.isHide = true;
|
|
menu.meta.isHide = true;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 如果有权限,确保菜单显示(移除 isHide 或设置为 false)
|
|
|
|
|
+ if (menu.meta) {
|
|
|
|
|
+ menu.meta.isHide = false;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ menu.meta = { isHide: false };
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- // 递归处理子菜单
|
|
|
|
|
- if (menu.children && menu.children.length > 0) {
|
|
|
|
|
- hideMenus(menu.children);
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
- };
|
|
|
|
|
- hideMenus(data);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ // 递归处理子菜单
|
|
|
|
|
+ if (menu.children && menu.children.length > 0) {
|
|
|
|
|
+ processMenus(menu.children);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ processMenus(data);
|
|
|
|
|
|
|
|
this.authMenuList = data;
|
|
this.authMenuList = data;
|
|
|
},
|
|
},
|