Files
HF-MES-manual/system_settings/user_management.md
sheng 2d0c34d36e docs: 新增和更新多个模块的文档
新增SPC模块、托盘登录、生产批次不良报表、设备监控、半成品管理、托盘管理、系统监控、批次管理、班组模型、电池工序管理、电池复投管理、批次托盘、系统助手、SPC采集模型、产品模型管理、物料模型管理、用户管理、菜单配置等文档内容

更新文档指南,添加系统功能清单
2026-04-29 17:59:31 +08:00

316 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 用户管理
## 1. 功能概述
用户管理模块用于管理系统用户账号和角色权限,实现用户的增删改查、角色分配、密码管理以及权限配置功能。
**核心功能:**
- 用户账号管理:创建、编辑、删除用户账号
- 用户状态控制:启用/禁用用户账号
- 角色管理:创建、编辑、删除角色(用户组)
- 权限分配为角色分配菜单和API权限
- 密码管理:修改密码、重置密码
- 用户数据导入导出:支持批量导入和导出用户数据
## 2. 术语说明
#### 2.1.1 用户管理术语
| 术语 | 定义 | 说明 |
|------|------|------|
| 用户组/角色 | 用户所属的权限分组 | 同一角色的用户拥有相同权限 |
| 出入证编号 | 用户的证件编号 | 用于门禁等场景 |
| 超级管理员 | 系统最高权限角色 | 默认拥有所有菜单权限 |
| is_all_menu | 是否拥有全部菜单权限 | 1表示拥有全部权限 |
## 3. 角色管理
### 3.1 角色列表查询
**查询条件:**
| 查询条件 | 说明 |
|---------|------|
| 状态 | 筛选启用或禁用状态的角色 |
**操作步骤:**
1. 进入【系统设置】→【用户管理】→【角色】
2. 在顶部查询区域选择状态条件
3. 点击【查询】按钮获取角色列表
### 3.2 新增角色
**操作步骤:**
1. 点击【新增角色】按钮
2. 填写角色名称和描述
3. 设置角色状态
4. 点击【确定】完成新增
**字段说明:**
| 字段 | 说明 | 必填 |
|------|------|------|
| 名称 | 角色名称,如"管理员"、"普通用户" | 是 |
| 描述 | 角色的详细说明 | 否 |
| 状态 | 启用或禁用 | 是 |
**【提示】** 角色名称不能重复。
### 3.3 编辑角色
**操作步骤:**
1. 在角色列表中点击需要编辑的角色
2. 修改角色信息
3. 点击【确定】保存更改
### 3.4 删除角色
**操作步骤:**
1. 在角色列表中找到需要删除的角色
2. 点击【删除】按钮
3. 在确认对话框中点击【确定】
**【重要】** 如果角色下存在用户,无法删除该角色。
### 3.5 权限分配
**操作步骤:**
1. 在角色列表中点击【权限配置】按钮
2. 在权限配置页面选择需要分配的菜单和API
3. 点击【确定】保存权限配置
**【提示】** 权限配置会覆盖角色原有的所有权限。
## 4. 用户管理
### 4.1 用户列表查询
**查询条件:**
| 查询条件 | 说明 |
|---------|------|
| 账号 | 按用户名模糊查询 |
| 姓名 | 按昵称模糊查询 |
| 用户组 | 按角色筛选 |
| 状态 | 筛选启用或禁用状态的用户 |
### 4.2 新增用户
**操作步骤:**
1. 点击【新增用户】按钮
2. 填写用户信息
3. 设置用户组和状态
4. 点击【确定】完成新增
**字段说明:**
| 字段 | 说明 | 必填 |
|------|------|------|
| 账号 | 用户登录账号 | 是 |
| 姓名 | 用户昵称或真实姓名 | 是 |
| 出入证编号 | 用户的证件编号 | 否 |
| 密码 | 用户登录密码 | 是 |
| 确认密码 | 再次输入密码确认 | 是 |
| 用户组 | 选择用户所属角色 | 是 |
| 状态 | 启用或禁用 | 是 |
**【注意】** 两次输入的密码必须一致,已删除或禁用的用户组无法选择。
### 4.3 编辑用户
**操作步骤:**
1. 在用户列表中点击需要编辑的用户
2. 修改用户信息
3. 点击【确定】保存更改
**【注意】** 不能禁用自己的账号。
### 4.4 删除用户
**操作步骤:**
1. 在用户列表中找到需要删除的用户
2. 点击【删除】按钮
3. 在确认对话框中点击【确定】
**【重要】** 不能删除自己的账号。
### 4.5 批量操作
**支持的批量操作:**
- 批量删除:选择多个用户后点击【批量删除】
- 批量启用/禁用:选择多个用户后点击【批量启用】或【批量禁用】
### 4.6 密码管理
#### 修改密码
**操作步骤:**
1. 在用户列表中点击【修改密码】按钮
2. 输入旧密码和新密码
3. 点击【确定】完成修改
#### 重置密码
**操作步骤:**
1. 在用户列表中点击【重置密码】按钮
2. 在确认对话框中点击【确定】
3. 密码将被重置为默认密码"123456"
### 4.7 用户数据导入导出
#### 导入用户数据
**操作步骤:**
1. 点击【下载导入模板】获取导入模板文件
2. 按照模板格式填写用户数据
3. 上传填写好的Excel文件
4. 点击【导入】完成批量导入
**导入模板字段:**
| 字段 | 说明 | 必填 |
|------|------|------|
| 账号 | 用户登录账号 | 是 |
| 姓名 | 用户昵称 | 是 |
| 出入证编号 | 用户证件编号 | 否 |
| 密码 | 用户密码 | 是 |
| 状态 | 启用或禁用 | 是 |
| 用户组 | 用户所属角色名称 | 是 |
#### 导出用户数据
**操作步骤:**
1. 设置查询条件筛选需要导出的用户
2. 点击【导出】按钮
3. 系统后台生成导出任务
4. 在下载管理中获取导出文件
## 5. 后台API接口
### 5.1 用户管理接口
| API路径 | 方法 | 功能描述 | 所属文件 |
|---------|------|---------|---------|
| `/api/background/v1/system_settings/user_management/user/all` | GET | 获取启用状态的用户列表 | UserService.php:44 |
| `/api/background/v1/system_settings/user_management/user/list` | GET | 获取用户列表(分页) | UserService.php:77 |
| `/api/background/v1/system_settings/user_management/user/create` | POST | 创建用户 | UserService.php:144 |
| `/api/background/v1/system_settings/user_management/user/edit` | POST | 编辑用户 | UserService.php:192 |
| `/api/background/v1/system_settings/user_management/user/delete` | POST | 删除用户 | UserService.php:239 |
| `/api/background/v1/system_settings/user_management/user/batch_delete` | POST | 批量删除用户 | UserService.php:269 |
| `/api/background/v1/system_settings/user_management/user/enable` | POST | 启用用户 | UserService.php:302 |
| `/api/background/v1/system_settings/user_management/user/disable` | POST | 禁用用户 | UserService.php:321 |
| `/api/background/v1/system_settings/user_management/user/update_pwd` | POST | 修改密码 | UserService.php:346 |
| `/api/background/v1/system_settings/user_management/user/reset_pwd` | POST | 重置密码 | UserService.php:372 |
| `/api/background/v1/system_settings/user_management/user/get_import_template` | GET | 获取导入模板 | UserService.php:392 |
| `/api/background/v1/system_settings/user_management/user/user_data_import` | POST | 导入用户数据 | UserService.php:458 |
| `/api/background/v1/system_settings/user_management/user/user_data_export_task` | POST | 创建导出任务 | UserService.php:515 |
### 5.2 角色管理接口
| API路径 | 方法 | 功能描述 | 所属文件 |
|---------|------|---------|---------|
| `/api/background/v1/system_settings/user_management/role/all` | GET | 获取启用状态的角色列表 | RoleService.php:55 |
| `/api/background/v1/system_settings/user_management/role/list` | GET | 获取角色列表(分页) | RoleService.php:81 |
| `/api/background/v1/system_settings/user_management/role/create` | POST | 创建角色 | RoleService.php:154 |
| `/api/background/v1/system_settings/user_management/role/edit` | POST | 编辑角色 | RoleService.php:185 |
| `/api/background/v1/system_settings/user_management/role/delete` | POST | 删除角色 | RoleService.php:218 |
| `/api/background/v1/system_settings/user_management/role/update_status` | POST | 更新角色状态 | RoleService.php:243 |
| `/api/background/v1/system_settings/user_management/role/get_role_menu` | GET | 获取角色权限 | RoleService.php:257 |
| `/api/background/v1/system_settings/user_management/role/give_role_menu` | POST | 分配角色权限 | RoleService.php:300 |
## 6. 数据模型
### 6.1 用户表
| 字段名 | 类型 | 说明 |
|--------|------|------|
| id | int | 用户唯一标识 |
| username | varchar | 登录账号 |
| password | varchar | 加密后的密码 |
| nickname | varchar | 用户昵称 |
| role_id | int | 所属角色ID |
| head_pic | varchar | 头像URL |
| pass_number | varchar | 出入证编号 |
| last_login | datetime | 最后登录时间 |
| last_ip | varchar | 最后登录IP |
| is_all_menu | tinyint | 是否拥有全部菜单权限 |
| status | tinyint | 状态(0禁用/1启用) |
| sort | int | 排序序号 |
| create_time | datetime | 创建时间 |
| update_time | datetime | 更新时间 |
### 6.2 角色表
| 字段名 | 类型 | 说明 |
|--------|------|------|
| id | int | 角色唯一标识 |
| name | varchar | 角色名称 |
| description | varchar | 角色描述 |
| system | tinyint | 是否系统内置角色 |
| status | tinyint | 状态(0禁用/1启用) |
| sort | int | 排序序号 |
### 6.3 角色菜单关联表
| 字段名 | 类型 | 说明 |
|--------|------|------|
| id | int | 关联ID |
| role_id | int | 角色ID |
| menu_id | int | 菜单ID |
| module | varchar | 模块(admin/pda/api) |
## 7. 数据流程图
```mermaid
flowchart TD
A[用户管理] --> B[新增用户]
A --> C[编辑用户]
A --> D[删除用户]
A --> E[修改密码]
B --> F{验证用户名唯一性}
F -->|已存在| G[提示错误]
F -->|不存在| H{验证密码一致性}
H -->|不一致| I[提示错误]
H -->|一致| J{验证角色有效性}
J -->|无效| K[提示错误]
J -->|有效| L[保存用户数据]
C --> M{验证用户名唯一性}
M -->|重复| N[提示错误]
M -->|唯一| O{是否禁用自己}
O -->|是| P[提示错误]
O -->|否| Q[更新用户数据]
D --> R{是否删除自己}
R -->|是| S[提示错误]
R -->|否| T[删除用户并重新排序]
E --> U{验证密码一致性}
U -->|不一致| V[提示错误]
U -->|一致| W{新旧密码是否相同}
W -->|相同| X[提示错误]
W -->|不同| Y[更新密码]
```
## 8. 注意事项
**【重要】** 用户在进行删除或禁用操作时,不能操作自己的账号。
**【注意】** 删除或禁用角色前,请确保该角色下没有关联的用户。
**【提示】** 导入用户数据时,如果用户名已存在,该行数据将被跳过。