You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

298 lines
9.8 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 保洁相关功能
> 模块编码cleaning
> 端侧:微信小程序
> 关联文档01-模块划分.mdv4.0、02-功能清单-小程序端.md§4、03-业务流转逻辑-小程序端.md§4、05-接口规范.md§9、06-项目技术要求.md
## 功能概览
| 项目 | 说明 |
|------|------|
| 菜单名称 | 保洁管理 |
| 子菜单 | 今日保洁任务 / 保洁执行 / 保洁历史 |
| 功能编号 | MP-CL-01 ~ MP-CL-07 |
| 权限编码 | cleaning:task:*、cleaning:spot-check:*、cleaning:supplement:* |
## 页面清单
### 页面1今日保洁任务
- **页面路径**`/pages/cleaning/today`
- **适用角色**:保洁人员
- **页面元素**
- 日期显示(当天日期)
- 任务统计卡片(待执行/进行中/已完成)
- 任务列表
- **查询条件**:无(自动按当天+本人过滤)
- **列表字段**
| 字段 | 类型 | 说明 |
|------|------|------|
| 任务名称 | 文本 | 保洁区域+任务类型 |
| 保洁区域 | 标签 | 关联区域名称 |
| 计划时间 | 时间 | 预计开始时间 |
| 状态 | 标签 | 待执行/进行中/已完成/超时 |
| 蓝牙状态 | 图标 | 是否需蓝牙打卡 |
- **界面布局**
- 顶部:日期 + 统计数字横向排列
- 中部:任务卡片列表,每张卡片显示区域、时间、状态
- 底部:无操作栏
- **操作按钮**
- 「开始执行」→ 进入保洁执行页权限cleaning:task:update
- 「查看详情」→ 查看任务详情
**需求追溯**
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|------------|----------|----------|----------|----------|
| MP-CL-01 | 今日保洁任务 | 02-小程序端 §4 | 蓝牙打卡确认 | 保洁执行 |
---
### 页面2蓝牙强制打卡确认
- **页面路径**`/pages/cleaning/check-in`(从今日任务页面跳转)
- **适用角色**:保洁人员
- **页面元素**
- 蓝牙扫描状态指示器(扫描中/已连接/未检测到)
- 当前打卡点名称
- 蓝牙信号强度显示
- 重试按钮
- 补录入口(蓝牙未连接时显示)
- **查询条件**:无
- **列表字段**:无
- **界面布局**
- 顶部:打卡点名称 + 蓝牙状态大图标
- 中部:蓝牙连接动画(扫描→连接→成功)
- 底部:操作按钮区
- **操作按钮**
- 「重新扫描」→ 重新搜索蓝牙Beacon
- 「进入补录模式」→ 跳转补录申请页(蓝牙策略=REQUIRED且扫描失败时显示
- 「确认打卡」→ 记录蓝牙打卡成功check_type=BLUETOOTH
**蓝牙策略判断逻辑**
- 调用 `GET /system/bluetooth-policy → cleaning_check_in`
- 策略=REQUIRED必须蓝牙连接后才能打卡
- 策略=OPTIONAL可选蓝牙或手动打卡
**需求追溯**
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|------------|----------|----------|----------|----------|
| MP-CL-02 | 蓝牙强制打卡确认 | 02-小程序端 §4 | 保洁执行 | 保洁补录、系统蓝牙配置 |
---
### 页面3保洁执行
- **页面路径**`/pages/cleaning/execute`
- **适用角色**:保洁人员
- **页面元素**
- 任务信息卡片(区域、类型、时间)
- 保洁清单(逐项检查列表)
- 每项操作按钮(完成/标记异常)
- 完成后照片上传区≤9张含水印时间定位
- 蓝牙拍照提示(策略=REQUIRED时显示
- **查询条件**:无
- **列表字段**
| 字段 | 类型 | 说明 |
|------|------|------|
| 检查项名称 | 文本 | 保洁清单项目 |
| 状态 | 标签 | 待完成/已完成/异常 |
| 备注 | 文本 | 异常时填写说明 |
- **界面布局**
- 顶部:任务信息摘要卡片
- 中部:保洁清单列表(逐项勾选)
- 底部:照片上传区 + 提交按钮
- **操作按钮**
- 「完成该项」→ 标记该项完成
- 「标记异常」→ 跳转异常反馈页
- 「拍照」→ 调用相机拍照(蓝牙策略=REQUIRED时须在蓝牙连接状态下进行
- 「提交完成」→ 提交整个保洁任务
**需求追溯**
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|------------|----------|----------|----------|----------|
| MP-CL-03 | 保洁执行 | 02-小程序端 §4 | 主管抽查 | 保洁异常反馈 |
---
### 页面4异常反馈
- **页面路径**`/pages/cleaning/abnormal`
- **适用角色**:保洁人员
- **页面元素**
- 异常描述输入框(多行文本)
- 拍照上传区≤9张含水印时间定位
- 严重程度选择(一般/严重/紧急)
- 提交按钮
- **查询条件**:无
- **列表字段**:无
- **界面布局**
- 顶部:异常类型提示
- 中部:照片上传 + 描述填写
- 底部:提交按钮
- **操作按钮**
- 「拍照」→ 调用相机
- 「提交反馈」→ 提交异常反馈
**需求追溯**
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|------------|----------|----------|----------|----------|
| MP-CL-04 | 异常反馈 | 02-小程序端 §4 | 通知主管 | 保洁管理Web端 |
---
### 页面5保洁抽查
- **页面路径**`/pages/cleaning/spot-check`
- **适用角色**:主管
- **页面元素**
- 待抽查任务列表
- 任务详情查看
- 抽查结果标记(合格/不合格)
- 不合格原因输入框
- 不合格照片上传
- **查询条件**
- 日期筛选
- 区域筛选
- 状态筛选(待抽查/合格/不合格)
- **列表字段**
| 字段 | 类型 | 说明 |
|------|------|------|
| 区域 | 文本 | 保洁区域名称 |
| 执行人 | 文本 | 保洁人员姓名 |
| 完成时间 | 时间 | 实际完成时间 |
| 抽查状态 | 标签 | 待抽查/合格/不合格 |
- **界面布局**
- 顶部:筛选条件横向滑动
- 中部:任务卡片列表
- 弹窗:抽查结果标记弹窗
- **操作按钮**
- 「合格」→ 确认完成权限cleaning:spot-check:approve
- 「不合格」→ 填写原因后重新生成任务
**需求追溯**
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|------------|----------|----------|----------|----------|
| MP-CL-05 | 保洁抽查 | 02-小程序端 §4 | 不合格时重新生成任务 | 保洁管理Web端 |
---
### 页面6保洁历史
- **页面路径**`/pages/cleaning/history`
- **适用角色**:保洁人员
- **页面元素**
- 月份选择器
- 历史任务列表
- 任务详情查看
- **查询条件**
- 月份筛选
- 状态筛选(全部/正常/异常/补录)
- **列表字段**
| 字段 | 类型 | 说明 |
|------|------|------|
| 日期 | 日期 | 执行日期 |
| 区域 | 文本 | 保洁区域 |
| 状态 | 标签 | 正常/异常/补录 |
| 打卡方式 | 标签 | 蓝牙/手动/补录 |
- **界面布局**
- 顶部:月份选择器 + 统计数字
- 中部:按日期分组的任务列表
- 底部:无操作栏
- **操作按钮**
- 「查看详情」→ 查看历史任务详情
**需求追溯**
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|------------|----------|----------|----------|----------|
| MP-CL-06 | 保洁历史 | 02-小程序端 §4 | 无 | 保洁执行 |
---
### 页面7异常数据补录
- **页面路径**`/pages/cleaning/supplement`
- **适用角色**:保洁人员(蓝牙失灵/定位失败时)
- **页面元素**
- 补录原因选择(蓝牙故障/手机异常/系统异常/其他)
- 补录说明输入框
- 手动填写保洁记录
- 照片上传区(补录证据)
- 提交按钮
- **查询条件**:无
- **列表字段**:无
- **界面布局**
- 顶部:补录模式提示(红色警示条)
- 中部:原因选择 + 说明填写 + 保洁记录
- 底部:提交按钮
- **操作按钮**
- 「提交补录」→ 提交补录申请(需主管审核)
**补录数据标记**
- 所有补录数据标记 `is_supplement=true`
- `supplement_reason`:补录原因
- `check_type=MANUAL`
**需求追溯**
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|------------|----------|----------|----------|----------|
| MP-CL-07 | 异常数据补录 | 02-小程序端 §4 | 主管审核补录 | 操作日志、考勤补录审核 |
---
## 业务规则
1. **蓝牙策略**:保洁打卡和拍照均受蓝牙策略控制(`GET /system/bluetooth-policy → cleaning_check_in` / `cleaning_photo`
2. **蓝牙强制打卡**:策略=REQUIRED时必须连接蓝牙Beacon后才可确认完成拍照也须在蓝牙连接状态下进行
3. **非强制蓝牙**:策略=OPTIONAL时可选蓝牙打卡check_type=BLUETOOTH或手动打卡check_type=MANUAL
4. **补录审核**所有蓝牙失灵的补录数据需主管在Web端或小程序端审核
5. **补录标记**:补录数据必须标记 `is_supplement=true`,并在操作日志中记录
6. **照片水印**:所有照片自动添加时间+位置水印,蓝牙场景标记 `bluetooth_connected`
7. **抽查不合格**:主管标记不合格后,系统自动重新生成保洁任务
8. **照片数量**单次上传最多9张照片
## 状态流转
### 保洁任务状态
```
待执行 → 进行中 → 待抽查 → 已完成
异常反馈 → 待处理
主管抽查 → 合格 → 已完成
→ 不合格 → 重新生成任务
```
### 补录流程
```
蓝牙失灵/定位失败
进入补录模式
选择补录原因 + 手动填写记录
提交补录申请is_supplement=true
主管审核Web/小程序均可)
┌─审核通过─┐ ┌─审核驳回─┐
补录生效 通知员工
记录审核日志 记录审核日志
```