lizhuoran
3e7083d7c1
fix(权限): 修复权限编辑时的自动勾选显示问题
问题:
- 使用 Tabs 组件时,每个 Tab 中的 CheckboxList 都使用相同的字段名 'permissions'
- 导致字段冲突,无法正确加载和保存已有权限
解决方案:
- 为每个模块使用唯一的字段名(permissions_document, permissions_user 等)
- 添加 afterStateHydrated 钩子,在编辑时自动加载该模块的已有权限
- 添加隐藏字段 all_permissions 收集所有模块的权限
- 在 mutateFormDataBeforeSave/mutateFormDataBeforeCreate 中处理权限数据
- 在 afterSave/afterCreate 中使用 syncPermissions 同步权限到数据库
改进:
- RoleResource: 编辑角色时,每个模块的权限会自动勾选显示
- UserResource: 编辑用户时,直接权限会自动勾选显示
- 保存时正确收集所有模块的权限并同步到数据库
- super-admin 角色的权限字段保持禁用状态
现在编辑角色或用户时,已有的权限会正确显示为勾选状态
2026-03-11 10:25:43 +08:00
..
2026-02-28 15:51:19 +08:00
2026-03-09 10:08:29 +08:00
2026-03-11 10:25:43 +08:00
2025-12-05 14:44:44 +08:00
2026-03-09 10:59:50 +08:00
2026-03-11 09:55:40 +08:00
2025-12-05 14:44:44 +08:00
2026-03-11 10:08:22 +08:00
2026-03-11 10:08:22 +08:00
2026-03-09 13:24:24 +08:00