Skip to content
On this page

权限联动与通用规则

1. 功能定位

本文档汇总基础服务中的通用规则、权限联动、状态联动、删除限制和部门负责人管理边界。

2. 权限链路

账号权限计算链路:

text
账号 -> 角色 -> 菜单权限 / 功能权限 / 数据权限

组织关系计算链路:

text
账号 -> 绑定人员 -> 任职关系 -> 部门 / 岗位 / 上下级

规则:

  • 角色只绑定账号。
  • 账号可绑定人员。
  • 账号绑定人员后,可继承人员的组织关系。
  • 数据权限可使用账号继承的组织关系作为条件基础。

3. 多角色权限合并

当账号拥有多个角色时:

权限类型合并规则
菜单权限并集
功能权限并集
行权限并集
列权限并集
列权限冲突可见优先
字段编辑权限并集
字段编辑权限冲突可编辑优先

字段权限规则:

  • 可见字段和可编辑字段分别保存、分别合并。
  • 可编辑字段必须同时可见。
  • 任一启用角色允许字段编辑时,账号最终可编辑该字段;停用角色不参与合并。
  • 字段编辑权限不依赖菜单字段的 formFill 配置。
  • 新增时需要同时具备新增功能权限和字段可编辑权限。
  • 编辑时需要同时具备编辑功能权限、当前记录行权限和字段可编辑权限。
  • 只有可见权限而没有可编辑权限时,字段只读展示。
  • 已有可见字段迁移后默认只读,不自动获得可编辑权限。

4. 数据权限与组织关系

行权限可使用:

  • 当前账号
  • 当前绑定人员
  • 当前人员主部门
  • 当前人员继承部门
  • 当前人员岗位
  • 当前人员直属主管
  • 当前人员下级
  • 当前人员管辖范围

未绑定人员账号:

  • 允许登录。
  • 涉及本人、本部门、本部门及下级等组织条件时,默认拥有全部数据。

细则以后续角色 / 账号文档为准。

上下级术语与当前边界:

  • 人员任职中的单一主要上级统一称为「直属主管」,底层继续使用 supervisorId 字段。
  • 协同上级用于补充汇报关系;部门负责人继续在部门管理中独立维护。
  • 当直属主管和协同上级均为空时,部门负责人作为后续业务兜底;当前前端不自动写入或计算该兜底关系。

5. 部门负责人管理边界

部门负责人可维护自己管辖范围内的数据。

具体范围由行权限决定。细则以后续角色权限文档为准。

可操作:

  • 本部门人员
  • 本部门岗位
  • 本部门人员账号
  • 本部门人员角色

限制:

  • 部门负责人不能维护下级部门,除非行权限允许。
  • 部门负责人不能将人员分配到自己管辖范围外的部门。
  • 部门负责人只能分配自己有权管理的角色。
  • 部门负责人导出数据时,根据可见行权限和列权限决定导出内容。

6. 状态联动

操作联动结果
人员离职账号自动停用;有效任职全部结束;角色绑定保留;编制释放
人员停用人员暂不可用,不等同离职;任职关系保留
人员启用从停用恢复;目标状态可选试用 / 正式,默认带回停用前状态
人员退休人员状态变为退休;有效任职结束;编制释放
人员调岗任职关系变化,编制变化,账号组织关系按继承规则更新
设置为主岗选中兼职原地改为主职并占编;原主职原地改为兼职且不占编;不结束、不新建
人员转正待入职可转入试用或直接正式;试用转为正式
人员复职离职人员恢复为试用或正式,交互同返聘,目标状态不同
人员返聘离职或退休人员恢复,状态为返聘;默认沿用原账号
兼职结束任职关系结束
岗位停用不可再分配新人员
部门停用不可再新增岗位或人员;下级部门和岗位级联停用,有效任职必须迁移或结束
角色停用角色权限立即失效
菜单停用菜单不可访问
功能权限停用功能不可使用

7. 删除限制

对象删除规则
部门仅停用部门可删除,逻辑删除;可选择结束相关任职,未结束任职显示“部门已删除”并置灰
岗位有有效任职人员不可删除或停用
人员非离职人员不可删除;仅离职可删;逻辑删除;历史任职、调岗、权限关联记录保留
账号已绑定人员不可删除,非停用账号不可删除
角色可删除,但需提示影响范围并二次确认
菜单可删除,相关授权一并删除
功能权限可删除,相关授权一并删除

8. 唯一性校验

  • 部门编码唯一。
  • 职位/职级编码唯一。
  • 同一部门下岗位编码唯一。
  • 人员工号唯一。
  • 账号名称唯一。
  • 角色编码唯一。
  • 菜单编码唯一。
  • 同一菜单下功能权限标识唯一。
  • 同一表下字段标识唯一。

9. 高影响操作确认

以下操作必须二次确认:

  • 部门停用
  • 部门迁移
  • 部门合并
  • 部门删除
  • 岗位停用
  • 人员离职
  • 人员删除
  • 人员停用
  • 人员退休
  • 账号删除
  • 角色删除
  • 菜单删除
  • 功能权限删除
  • 字段标识修改

确认前需要展示影响范围。人员离职的影响范围用已加载的人员详情拼装,不另开接口。

10. 影响范围展示

10.1 部门停用

展示:

  • 子部门数量
  • 启用岗位数量
  • 在职人员数量
  • 部门负责人

10.2 部门合并

展示:

  • 原部门
  • 目标部门
  • 原岗位数量
  • 原人员数量
  • 待映射岗位数量

10.3 人员离职

展示:

  • 有效任职关系数量
  • 绑定账号
  • 账号是否将被停用
  • 角色绑定关系是否保留
  • 编制释放情况

10.4 角色删除

展示:

  • 绑定账号数量
  • 菜单权限数量
  • 功能权限数量
  • 数据权限数量

10.5 菜单删除

展示:

  • 角色菜单授权数量
  • 功能权限数量
  • 功能授权数量
  • 表定义数量
  • 列权限配置数量

10.6 字段标识修改

展示:

  • 列权限引用数量
  • 表单配置引用数量
  • 查询条件引用数量

确认后同步引用关系。

11. 通用前端交互规则

  • 人员管理保留「列表 + 独立路由页」(新增 / 详情),不改成抽屉。不再提供独立编辑页;档案在详情页按区块编辑。
  • 调岗走右侧抽屉,不用类型下拉,由任职卡片和图标带出操作。设置为主岗不二次确认、不立刻调接口,点确定再提交。内容区纵向滚动,底部按钮固定。详见 人员管理 - 调岗 一节。
  • 其他模块新增、编辑优先使用右侧抽屉。
  • 删除、停用、合并、迁移等高影响操作使用确认弹窗或步骤向导。设置为主岗、调整任职、停止兼职、新增兼职不要再套确认框。
  • 人员生命周期操作(不含调岗)共用一个 Dialog,内容通过 component :is 按操作类型加载。
  • 涉及批量调整的页面,需要支持统一设置和单行覆盖。
  • 表单提交失败时,字段级错误展示在对应字段下方。
  • 批量处理失败时,需要展示成功数量、失败数量和失败原因。
  • 列表操作成功后,保留当前筛选条件并刷新列表。
  • 抽屉关闭前如存在未保存修改,需要二次确认。
  • 部门树、菜单树、组织架构图需要支持搜索定位。
  • 人员列表左侧部门树保留;点选某部门时,任意有效任职落在该部门的人都算。
  • 权限配置页面中,停用数据不可选但可展示历史配置。
  • 导出字段需要根据列权限动态控制。

12. 备注与人员历史

新增和详情分块编辑不填写备注。删除和生命周期操作可填写备注(选填),有内容时写入人员历史:

  • 调岗(含设置为主岗、新增 / 调整 / 停止兼职)
  • 转正
  • 停用
  • 启用
  • 离职
  • 退休
  • 复职
  • 返聘

13. 重点提示文案

部门停用:

text
该部门下存在人员,需要先分配人员去向。停用后,该部门不可再新增人员或岗位。

岗位超编:

text
当前岗位已超出编制人数,系统仅做提示,不阻止继续分配人员。

人员离职:

text
人员离职后,当前有效任职关系将结束,绑定账号将自动停用,角色绑定关系保留。

账号删除:

text
已绑定人员或未停用的账号不可删除。

角色停用:

text
角色停用后,绑定账号将立即失去该角色下的权限。

菜单删除:

text
删除菜单后,相关角色授权、功能授权和列权限配置将一并删除。

字段标识修改:

text
该字段已被权限、表单或查询条件引用。确认修改后,系统将同步更新引用关系。

14. 当前前端联动实现(截至 2026-09-01)

已实现的前端联动:

  • 账号权限明细按启用角色计算“全部”并集视图,并保留逐角色视图;展示菜单、功能、行权限、可见列和可编辑列。
  • 角色字段权限将可见字段和可编辑字段分开保存;可编辑字段必然同时可见,批量全选同时授权两者。
  • 角色停用和菜单/功能停用均提供风险确认;停用项在授权界面不可继续新增授权。
  • 菜单、功能、表和字段删除会先加载影响数量;菜单和功能关联授权、表字段引用的实际清理由提交接口负责。
  • 部门停用、合并和删除会展示部门、岗位、当前任职及历史影响,并要求对主职和兼职做出符合规则的处置。
  • 人员离职/退休结束当前任职并停用绑定账号;账号角色关系保留。
  • 岗位存在有效任职时阻止停用;职级存在有效任职时阻止删除,停用只影响后续选择。

仍依赖正式后端的能力:

  • 最终菜单可访问性、功能鉴权、行权限过滤、字段脱敏和字段可编辑校验。
  • 多角色权限合并的服务端口径,以及部门负责人、直属主管、协同上级相关组织数据范围计算。
  • 编码修改后的跨模块引用同步、删除后的引用清理和并发唯一性校验。
  • 当前 sample/mock 仅用于前端交互验证,不能代替正式权限服务。