feat: add employee workspace operations admin
This commit is contained in:
@@ -0,0 +1,155 @@
|
||||
# role-admin C 端正式版管理后台需求文档
|
||||
|
||||
## 1. 后台定位
|
||||
|
||||
`role-admin` 继续作为管理后台,不承载员工日常移动端工作。正式版需要在现有门店、角色、员工、权限策略基础上,增加 C 端运营能力:
|
||||
|
||||
- 公告管理。
|
||||
- 任务管理。
|
||||
- 排班管理。
|
||||
- 员工密码重置和凭据审计。
|
||||
|
||||
## 2. 现有能力保留
|
||||
|
||||
继续保留当前页面:
|
||||
|
||||
- 门店管理。
|
||||
- 角色管理。
|
||||
- 员工管理。
|
||||
- 权限策略。
|
||||
|
||||
登录与鉴权仍按现有流程:
|
||||
|
||||
1. `POST /api/auth/admin/login`
|
||||
2. `GET /api/auth/me`
|
||||
3. `GET /api/permissions/me`
|
||||
|
||||
菜单和按钮继续以后端返回的 `menus`、`permissions`、`actions` 为准。
|
||||
|
||||
## 3. 新增菜单
|
||||
|
||||
在现有“权限管理”业务组之外,新增“员工工作台运营”业务组。
|
||||
|
||||
| 路由 | 菜单 | 权限 | 说明 |
|
||||
| --- | --- | --- | --- |
|
||||
| `/announcements` | 公告管理 | `announcement:view` | 管理 C 端公告 |
|
||||
| `/tasks` | 任务管理 | `task:view` | 管理门店和员工任务 |
|
||||
| `/shifts` | 排班管理 | `shift:view` | 管理员工排班 |
|
||||
| `/credential-audits` | 凭据审计 | `credential:audit:view` | 查看密码重置审计 |
|
||||
|
||||
## 4. 公告管理
|
||||
|
||||
列表:
|
||||
|
||||
- 标题、重要级别、目标范围、状态、发布人、发布时间、已读人数。
|
||||
- 支持状态、重要级别、关键词筛选。
|
||||
|
||||
表单:
|
||||
|
||||
- 标题、内容、重要级别。
|
||||
- 目标范围:全部门店、指定门店、指定角色、指定员工。
|
||||
- 保存草稿、发布、归档。
|
||||
|
||||
权限:
|
||||
|
||||
- `announcement:view`: 查看列表和详情。
|
||||
- `announcement:manage`: 新建、编辑、发布、归档。
|
||||
|
||||
## 5. 任务管理
|
||||
|
||||
列表:
|
||||
|
||||
- 标题、目标门店、分配员工、状态、优先级、截止时间、创建人。
|
||||
- 支持门店、员工、状态、优先级、关键词筛选。
|
||||
|
||||
表单:
|
||||
|
||||
- 标题、描述、目标门店、分配员工、优先级、截止时间。
|
||||
- 支持取消未完成任务。
|
||||
|
||||
详情:
|
||||
|
||||
- 展示任务状态流转记录和员工备注。
|
||||
|
||||
权限:
|
||||
|
||||
- `task:view`: 查看任务。
|
||||
- `task:manage`: 新建、编辑、取消任务。
|
||||
|
||||
## 6. 排班管理
|
||||
|
||||
列表:
|
||||
|
||||
- 门店、员工、岗位、开始时间、结束时间、状态。
|
||||
- 支持门店、员工、日期范围筛选。
|
||||
|
||||
表单:
|
||||
|
||||
- 选择门店后加载员工。
|
||||
- 选择员工、岗位、开始时间、结束时间。
|
||||
- 同一员工同一时间段不能重复排班。
|
||||
|
||||
权限:
|
||||
|
||||
- `shift:view`: 查看排班。
|
||||
- `shift:manage`: 新增、编辑、取消排班。
|
||||
|
||||
## 7. 密码重置与凭据审计
|
||||
|
||||
用户提出“超级管理员与管理员需要支持查看自身和下级用户密码”。后台正式实现为“重置和一次性查看临时密码”,不做明文原密码查看。
|
||||
|
||||
### 7.1 员工管理页改造
|
||||
|
||||
在员工列表和员工详情增加:
|
||||
|
||||
- “重置密码”按钮:需要 `credential:reset`。
|
||||
- 重置确认弹窗:必须填写原因。
|
||||
- 重置成功弹窗:显示一次性临时密码,并提供复制按钮。
|
||||
- 弹窗关闭后不再展示该临时密码。
|
||||
|
||||
范围规则:
|
||||
|
||||
- 超级管理员可重置所有员工。
|
||||
- 管理员只能重置自己权限范围内的员工。
|
||||
- 店长如被授予 `credential:reset`,只能重置本店员工。
|
||||
- 不支持查看自身当前密码;自身密码走修改密码。
|
||||
|
||||
### 7.2 凭据审计页
|
||||
|
||||
展示:
|
||||
|
||||
- 操作者。
|
||||
- 目标员工。
|
||||
- 动作类型。
|
||||
- 时间。
|
||||
- IP。
|
||||
- User-Agent。
|
||||
- 原因。
|
||||
|
||||
筛选:
|
||||
|
||||
- 操作者、目标员工、时间范围、门店。
|
||||
|
||||
## 8. 前端实现要求
|
||||
|
||||
- 业务接口继续集中在 `src/api/access.ts` 或按模块拆分到 `src/api/*.ts`,页面不直接拼接 URL。
|
||||
- 路由、菜单和按钮显隐继续基于后端权限。
|
||||
- 新增页面应复用现有 Element Plus 和 pure-admin 页面风格。
|
||||
- 列表页都要支持分页、筛选、重置、保存后刷新。
|
||||
- 重置密码成功弹窗不能把临时密码写入本地存储、日志或 URL。
|
||||
|
||||
## 9. README 同步
|
||||
|
||||
新增页面、API 模块、路由模块或关键配置后,必须同步更新 `README.md` 的:
|
||||
|
||||
- 业务模块。
|
||||
- 后端对接接口。
|
||||
- 登录与鉴权流程中涉及的新增凭据规则。
|
||||
|
||||
## 10. 验收标准
|
||||
|
||||
- 超级管理员可以看到新增菜单。
|
||||
- 没有权限的用户看不到对应菜单和按钮。
|
||||
- 员工密码重置只显示一次性临时密码。
|
||||
- 凭据审计能查到每次重置行为。
|
||||
- 不存在“查看当前明文密码”的入口。
|
||||
Reference in New Issue
Block a user