账号管理
1. 功能定位
账号管理用于维护系统登录身份。
账号可以绑定人员,账号和人员为一对一关系。账号也可以不绑定人员,适用于系统管理员等特殊账号。
2. 页面布局
账号管理采用列表页。
筛选区拆分为以下独立条件:
- 账号名称。
- 昵称。
- 绑定人员。
- 状态。
- 角色。
表格列:
- 账号名称。
- 昵称。
- 绑定人员。
- 人员主部门。
- 状态。
- 角色数量。
- 最后登录时间。
- 操作。
操作:
- 新增。
- 编辑。
- 启用。
- 停用。
- 重置密码。
- 绑定人员。
- 换绑人员。
- 解绑人员。
- 删除。
- 导入。
- 导出。
- 账号详情。
- 操作历史。
导入、导出延后到导入导出专项需求中实现。
3. 账号字段
| 字段 | 是否必填 | 控件 | 说明 |
|---|---|---|---|
| 账号名称 | 是 | 输入框 | 登录账号,唯一 |
| 昵称 | 否 | 输入框 | 展示名称 |
| 手机号 | 否 | 输入框 | 仅校验中国大陆 11 位手机号格式,不要求唯一 |
| 邮箱 | 否 | 输入框 | 仅校验邮箱格式,不要求唯一 |
| 绑定人员 | 否 | 人员选择 | 一对一绑定 |
| 状态 | 是 | 列表开关 / 标签 | 启用 / 停用,不在新增和编辑 Dialog 中维护 |
| 密码 | 是 | 密码输入 / 生成 | 新增时设置或系统生成,暂不限制密码强度规则 |
| 角色 | 否 | 多选 | 保留现有角色绑定能力 |
| 备注 | 否 | 多行输入 | 保留现有 remark 字段 |
| 最后登录时间 | 系统生成 | 文本 | 展示用 |
4. 新增与编辑账号
入口:
- 点击「新增账号」。
- 点击账号行的「编辑」。
打开方式:
- 新增和编辑使用同一个 Dialog 容器。
- 容器内通过
component :is切换新增和编辑内容组件。 - Dialog 存在未保存修改时,关闭不需要二次确认。
新增字段:
- 账号名称。
- 昵称。
- 手机号。
- 邮箱。
- 密码设置方式。
- 角色。
- 备注。
- 是否绑定人员。
新增时如果选择绑定人员:
- 使用 Select 选择人员。
编辑时:
- 普通账号名称允许修改。
- 超级管理员账号名称不允许修改。
- 保留角色选择,新增角色绑定时记录绑定时间。
- 账号与角色的关系与角色管理使用同一份关系数据。
校验:
- 账号名称不能为空。
- 账号名称必须唯一。
- 若绑定人员,人员不能已有账号。
5. 账号与人员绑定
规则:
- 一个账号最多绑定一个人员。
- 一个人员最多绑定一个账号。
- 未绑定人员的账号允许登录。
- 账号绑定人员时,如果人员已有账号,禁止绑定并提示。
- 绑定人员时不限制人员状态。
- 账号不继承、复制或保存人员的部门、岗位和任职关系。
- 已绑定人员账号不可删除。
- 非停用账号不可删除。
- 人员离职后,绑定账号自动停用。
- 保留解绑人员能力。
6. 绑定、换绑与解绑人员
入口:
- 账号列表点击「绑定人员」。
- 已绑定人员账号点击「换绑人员」。
- 已绑定人员账号点击独立的「解绑人员」。
打开方式:绑定、换绑和解绑分别使用独立交互;均通过 Dialog 完成。
绑定流程:
- 选择人员。
- 系统校验人员是否已有账号。
- 若已有账号,提示并禁止绑定。
- 保存。
换绑规则:
- 换绑仅更换账号的使用人。
- 换绑 Dialog 必须选择新的使用人,不能通过清空选择执行解绑。
- 不修改原人员或新人员的部门、岗位和任职关系。
- 账号角色、状态和其他账号资料保持不变。
- 不对新人员执行任职关系继承或其他额外操作。
解绑规则:
- 解绑是独立功能,不与换绑入口或提交逻辑合并。
- 仅删除账号与人员的绑定关系。
- 不修改人员的部门、岗位和任职关系。
提示文案:
text
该人员已绑定其他账号,不能重复绑定。7. 账号与组织关系
- 账号绑定人员仅表示将该账号的使用权交给对应人员。
- 账号不保存组织关系继承范围,不提供「继承全部」或「继承部分」配置。
- 绑定、换绑和解绑都不修改人员的部门、岗位和任职关系。
- 数据权限需要组织身份时,由后端根据账号当前绑定人员的实时组织关系计算。
8. 未绑定人员账号
规则:
- 允许登录。
- 当数据权限涉及本人、本部门、本部门及下级等组织条件时,默认拥有全部数据。
- 适用于系统管理员等特殊账号。
9. 角色关系与权限明细
- 账号新增或编辑时保留角色多选。
- 新增账号角色关系或为已有账号新增角色时,记录绑定时间。
- 角色关系与角色管理使用同一份数据。
- 列表展示角色数量。
- 点击角色数量打开右侧权限明细抽屉。
- 账号绑定多个角色时,抽屉使用 Tab 切换。
- 抽屉增加「全部」Tab,由前端计算并展示所有启用角色权限的并集。
- 菜单、功能和可见列按稳定 ID 去重后取并集。
- 行权限不强行合并为单一范围,而是按菜单展示各启用角色的规则并标注来源角色,规则之间为「或」关系。
- 其他 Tab 分别展示各个角色的菜单、功能、行权限和列权限,不展示该角绑定的其他账号。
- 停用角色仍保留独立 Tab 展示历史配置,但不参与「全部」Tab 的有效权限并集。
10. 超级管理员账号
- 系统允许存在多个超级管理员账号。
- 不允许新增超级管理员。
- 账号是否为超级管理员,以是否绑定内置「超级管理员」角色为判定标准。
- 新增账号时不提供内置「超级管理员」角色。
- 编辑账号时,已有的内置「超级管理员」角色不可新增或移除。
- 角色管理中,内置「超级管理员」角色的账号绑定仅读,不可新增或解绑账号。
- 所有超级管理员账号均不可停用、不可删除、不可修改账号名称。
11. 停用与启用账号
停用确认弹窗展示:
- 账号名称。
- 绑定人员。
- 当前角色数量。
- 停用后不可登录。
停用后:
- 账号状态变更为停用。
- 账号不可登录。
- 角色绑定关系保留。
- 不影响人员状态。
启用后:
- 账号可登录。
- 原角色绑定关系继续生效。
- 账号绑定离职、退休或已删除人员时,不禁止启用,但需先展示风险提示。
绑定人员状态风险:
- 选择离职、退休或已删除人员时,在绑定 Dialog 内展示风险提示。
- Dialog 提供「同时停用账号」开关,默认关闭,由用户决定。
- 不因绑定上述状态人员而强制停用账号。
- 尝试启用已绑定上述状态人员的账号时,展示风险提示,用户确认后仍可启用。
12. 删除账号
删除规则:
- 已绑定人员账号不可删除。
- 非停用账号不可删除。
- 超级管理员账号不可删除。
- 账号删除后,角色绑定关系一并不存在。
- 删除前需展示影响范围并二次确认。
不满足规则时:
- 删除按钮置灰,或点击后提示原因。
提示文案:
text
已绑定人员或未停用的账号不可删除。13. 重置密码
入口:点击「重置密码」。
交互:
- 可由系统生成临时密码。
- 可由管理员手动输入新密码。
- 手动输入的密码仅校验非空,不限制长度和强度。
- 系统生成 8 位字母数字临时密码。
- 生成后明文展示密码并提供复制按钮。
- 重置后提示用户妥善保存或通知账号使用人。
影响:
- 不影响账号状态。
- 不影响绑定人员。
- 不影响角色权限。
14. 账号详情与操作历史
- 保留现有账号详情入口。
- 保留现有操作历史入口。
- 继续记录新增、编辑、绑定、换绑、解绑、启用、停用、重置密码、登录和删除等事件。
15. 当前实施边界
- 当前没有正式后台接口,允许扩展前端 API 类型和 Mock 接口。
- 前端负责字段、校验、交互、影响范围展示和二次确认。
- 实际权限校验、人员状态联动和组织条件计算以后端结果为准。
- 账号权限明细抽屉中的多角色并集仅用于前端展示,由前端根据角色配置计算。
16. 当前代码实现(截至 2026-09-01)
列表与表单:
- 账号列表支持账号名称、昵称、绑定人员、状态和角色筛选,并提供列显隐和分页。
- 默认列包括账号名称、昵称、绑定人员、人员主部门、状态、角色数量、最后登录时间和操作;手机号、邮箱、备注默认隐藏。
- 新增和编辑共用一个 Dialog,通过
component :is切换AccountCreateForm和AccountEditForm。 - 新增可设置登录名、密码、人员、角色及基础资料;编辑保留登录名并维护昵称、联系方式、角色和备注。
绑定关系:
- 绑定、换绑和解绑是三个独立操作。绑定和换绑使用人员 Select;换绑只更换账号使用人,账号角色及人员任职均不迁移。
- 解绑有单独确认 Dialog;解绑后账号仍可登录,账号状态和角色不变,原人员的部门、岗位和任职不变。
- 绑定离职、退休或已删除人员时展示风险,并由用户决定是否同时停用账号。
权限与安全操作:
- 角色数量可点击打开权限明细抽屉;抽屉包含“全部”并集视图和各角色视图,展示菜单、功能、行权限、可见列和可编辑列。
- 详情抽屉展示账号、绑定人员、人员状态、部门、联系方式、登录时间及角色。
- 重置密码支持手动输入或系统生成;生成结果可重新生成和复制。
- 操作历史使用独立抽屉展示账号事件。
- 超级管理员带“超管”标识,不能停用或删除;已绑定人员、启用状态或超级管理员账号不能删除。
- 符合删除条件的账号先展示影响,再进行二次确认后永久删除。
接口和演示实现:
- 已定义账号分页、详情、创建编辑、绑定/换绑、解绑、启停、重置密码、删除影响、删除和历史接口。
- 当前多角色权限并集由前端从角色、菜单、功能和字段配置中计算,仅用于明细展示。
Grow Admin