diff --git a/inventory-backend/app/services/permission_service.py b/inventory-backend/app/services/permission_service.py index 9b37790..224901e 100644 --- a/inventory-backend/app/services/permission_service.py +++ b/inventory-backend/app/services/permission_service.py @@ -11,8 +11,8 @@ class PermissionService: 获取完整的权限树(菜单嵌套菜单 + 菜单包含元素) 供前端权限配置页面展示 """ - # 1. 获取所有菜单 (按 parent_id 和 sort_order 排序,保证父子处理顺序) - menus = SysMenu.query.order_by(SysMenu.parent_id, SysMenu.sort_order).all() + # 1. 获取所有可见菜单 (按 parent_id 和 sort_order 排序,保证父子处理顺序) + menus = SysMenu.query.filter(SysMenu.is_visible == True).order_by(SysMenu.parent_id, SysMenu.sort_order).all() # 2. 获取所有元素 elements = SysElement.query.all() @@ -64,8 +64,8 @@ class PermissionService: try: # === 新增逻辑:超级管理员上帝模式 === if role_code == 'SUPER_ADMIN': - # 直接获取所有菜单和元素,无视配置表 - all_menus = [m.code for m in SysMenu.query.all()] + # 直接获取所有可见菜单和元素,无视配置表 + all_menus = [m.code for m in SysMenu.query.filter(SysMenu.is_visible == True).all()] all_elements = [e.code for e in SysElement.query.all()] return { 'menus': all_menus,