5.0 KiB
5.0 KiB
组织架构权限等级自动管理功能
功能概述
本次更新实现了基于组织架构层级的权限等级自动管理功能,彻底解决了手动填写权限等级的问题,使权限等级管理更加智能化和自动化。
核心改进
1. 前端优化 (static/super_admin.html)
新增模态框显示权限信息
- 新增部门时:显示蓝色信息框,清晰展示:
- 父级层级
- 子级层级
- 自动分配的权限等级
- 编辑部门时:显示黄色信息框,展示:
- 当前层级
- 当前权限等级
- 权限等级自动计算说明
移除手动选择权限等级
- ❌ 删除了权限等级下拉选择框
- ✅ 改为自动显示权限等级信息
- ✅ 用户无需手动填写数字
新增辅助函数
calculateGradeByLevel(level)- 根据层级计算权限等级getGradeInfo(grade)- 获取权限等级详细信息syncGradesWithLevels()- 同步权限等级与层级关系
2. 后端优化 (lawrisk/services/licensing_repo.py)
新增自动计算函数
-
_calculate_grade_by_parent(parent_id)- 根据父节点计算权限等级- 根级部门(无父节点):90(超级权限)
- 二级部门:80(高级权限)
- 三级部门:70(中级权限)
- 四级及以下:60(一般权限)
-
_get_department_level(department_id)- 获取部门在组织架构中的层级- 通过递归查询parent_id追溯到根节点
- 返回该部门的深度层级(根节点为0)
修改创建部门逻辑
# 自动根据父节点计算权限等级,不再使用传入的grade参数
grade_value = _calculate_grade_by_parent(parent_token)
修改更新部门逻辑
# 如果修改了parent_id,则自动计算grade
if parent_id is not None:
new_grade = _calculate_grade_by_parent(parent_id)
updates.append("grade = %s")
values.append(new_grade)
权限等级映射表
| 组织层级 | 权限等级 | 权限名称 | 颜色标识 |
|---|---|---|---|
| 0级(根级) | 90 | 超级权限 | 🔴 红色 |
| 1级(二级) | 80 | 高级权限 | 🟠 橙色 |
| 2级(三级) | 70 | 中级权限 | 🟡 黄色 |
| 3级+(四级及以下) | 60 | 一般权限 | 🟢 绿色 |
功能特性
1. 自动计算
- ✅ 新增部门时自动根据父级部门计算权限等级
- ✅ 拖拽修改从属关系时自动重新计算权限等级
- ✅ 编辑部门信息时自动显示当前权限等级
2. 智能提示
- ✅ 新增部门时显示权限等级自动设置信息
- ✅ 编辑部门时显示当前权限等级和层级
- ✅ 控制台输出调试信息,便于问题定位
3. 无缝兼容
- ✅ 保留grade字段向后兼容
- ✅ 不影响现有数据
- ✅ 自动同步现有不匹配的权限等级
使用场景
场景1:新增子部门
- 点击某个部门的"➕ 新增"按钮
- 弹出模态框显示蓝色信息框:
- 父级层级:X 级
- 子级层级:X+1 级
- 自动分配:XX - XXXX权限
- 填写部门名称、账号等信息
- 点击确定,系统自动分配正确的权限等级
场景2:拖拽修改从属关系
- 拖拽部门到其他部门下作为子级
- 释放鼠标确认操作
- 系统自动:
- 更新从属关系
- 重新计算权限等级
- 刷新组织架构显示
场景3:编辑部门信息
- 点击部门的"✏️ 编辑"按钮
- 弹出模态框显示黄色信息框:
- 当前层级:X 级
- 当前权限:XX - XXXX权限
- 修改部门名称、电话等信息(不影响权限等级)
- 权限等级基于层级自动保持正确
技术实现细节
数据库层
- 在
update_service_department中添加自动计算grade逻辑 - 新增
_calculate_grade_by_parent函数 - 新增
_get_department_level函数
API层
- 创建和更新部门时自动计算grade
- grade参数保留但不再使用
前端层
- 修改
showAddChildModal函数,显示权限信息 - 修改
showEditModal函数,显示当前权限 - 添加权限等级计算辅助函数
- 移除手动选择权限等级的UI
优势
- 智能化:无需手动计算和填写权限等级
- 一致性:确保权限等级与组织架构层级始终一致
- 易用性:清晰的信息提示,用户一目了然
- 可维护性:逻辑集中管理,便于维护和修改
- 向后兼容:不破坏现有功能和数据
部署状态
✅ Flask服务已启动 (http://127.0.0.1:8000) ✅ 所有修改已部署 ✅ 功能已生效
测试建议
-
新增部门测试
- 在不同层级新增部门
- 验证权限等级是否正确自动分配
-
拖拽测试
- 拖拽部门改变从属关系
- 验证权限等级是否自动更新
-
编辑测试
- 编辑部门基本信息
- 验证权限等级显示是否正确
-
信息显示测试
- 检查新增和编辑模态框中的权限信息提示
- 验证颜色标识和文字说明
功能完成! 🎉 权限等级现在完全基于组织架构层级自动管理,用户无需再手动填写数字。