# 保洁相关功能 > 模块编码:cleaning > 端侧:微信小程序 > 关联文档:01-模块划分.md(v4.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/小程序均可) │ ┌─审核通过─┐ ┌─审核驳回─┐ 补录生效 通知员工 记录审核日志 记录审核日志 ```