|
|
58f42de9df
|
refactor: 修复知识库和操作指引
|
2026-03-16 00:05:06 +08:00 |
|
|
|
b3f319fc48
|
refactor(权限): 统一权限命名规范并精简权限数量
- 移除冗余的 viewAny 权限,统一使用 view 权限
- 简化权限描述,去掉「列表」和「详情」的区分
- 权限数量从 45 个精简到 32 个
- 更新 RolePolicy 使用统一的 role.view 权限
- 创建迁移脚本自动更新现有权限并合并关联
- 验证所有角色权限分配正确(super-admin: 32, admin: 28, user: 6)
|
2026-03-12 13:15:17 +08:00 |
|
|
|
267bb9a36f
|
feat(导航): 优化左侧导航菜单分组结构
调整导航分组,使菜单结构更加清晰合理:
📚 知识库管理(1个菜单)
1. 文档管理
💼 业务管理(2个菜单)
1. SOP模板
2. 终端管理
🔐 权限管理(3个菜单)
1. 用户管理
2. 角色管理
3. 分组管理
⚙️ 系统管理(2个菜单)
1. 系统设置
2. 操作日志
优化说明:
- 按照业务逻辑将菜单分为4个主要分组
- 每个分组内的菜单按照使用频率和重要性排序
- 知识库管理独立分组,突出核心功能
- 业务管理包含 SOP 和终端,体现业务流程
- 权限管理集中管理用户、角色、分组
- 系统管理包含系统配置和日志监控
导航结构更加清晰,用户可以快速找到需要的功能模块
|
2026-03-11 10:29:45 +08:00 |
|
|
|
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 |
|
|
|
1843fa2883
|
feat(权限): 优化权限列表显示方式,按功能模块分组
- RoleResource: 使用 Tabs 组件按模块分组显示权限
- 每个模块一个标签页,带有对应的图标
- 权限名称简化为操作名称(如:查看详情、创建、编辑等)
- 支持批量选择和取消选择
- super-admin 角色的权限不可修改
- UserResource: 同样使用 Tabs 组件优化直接权限显示
- 与角色权限保持一致的显示风格
- 更清晰地展示权限的模块归属
- 添加 getPermissionTabs() 方法统一生成权限标签页
- 模块包括:文档管理、系统设置、操作日志、终端管理、SOP模板、分组管理、用户管理、角色管理
优化后的界面更加清晰易用,用户可以快速找到需要的权限模块
|
2026-03-11 10:18:10 +08:00 |
|
|
|
a100b2dce7
|
feat(权限): 为所有 Filament 资源添加导航菜单权限控制
- DocumentResource: 添加 document.view 权限检查
- SystemSettingResource: 添加 system-setting.view 权限检查
- ActivityLogResource: 添加 activity-log.view 权限检查
- TerminalResource: 添加 terminal.view 权限检查
- SopTemplateResource: 添加 sop-template.view 权限检查
- GroupResource: 添加 group.view 权限检查
- UserResource: 添加 user.view 权限检查
- RoleResource: 添加 role.viewAny 权限检查
所有资源都实现了 shouldRegisterNavigation() 方法
根据用户权限动态显示/隐藏导航菜单项
|
2026-03-11 10:14:16 +08:00 |
|
|
|
a17fe167b0
|
feat(权限): 创建角色管理资源(RoleResource)
- 创建 RoleResource 及其所有页面类
- 实现角色列表、创建、编辑、查看功能
- 权限选择器按模块分组显示,支持批量选择
- 实现 super-admin 角色保护(不可编辑和删除)
- 实现角色删除前检查(有关联用户时不可删除)
- 创建 RolePolicy 控制角色管理权限
- 在 AppServiceProvider 中注册 RolePolicy
- 角色列表显示权限数量和用户数量
- 完整的中文界面和提示信息
|
2026-03-11 10:00:29 +08:00 |
|