# 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. 验收标准 - 超级管理员可以看到新增菜单。 - 没有权限的用户看不到对应菜单和按钮。 - 员工密码重置只显示一次性临时密码。 - 凭据审计能查到每次重置行为。 - 不存在“查看当前明文密码”的入口。