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.

340 lines
14 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.

# 报修相关功能
> 模块编码repair
> 端侧:小程序
> 关联文档01-模块划分.md §3.1、02-功能清单-小程序端.md §2、03-业务流转逻辑-小程序端.md §2、05-接口规范.md §9.2、06-项目技术要求.md §4.4
## 功能概览
| 项目 | 说明 |
|------|------|
| 菜单名称 | 报修相关功能 |
| 子菜单 | 扫码注册、一键报修、我的工单、催单、维修接单、维修完工、延期申请、延期审批、协助维修申请、工单分配、工单验收、评价 |
| 功能编号 | MP-R-01 ~ MP-R-12 |
| 权限编码 | repair:list:* / repair:detail:approve 等 |
## 页面清单
### 页面1扫码注册页
- **页面路径**`/pages/repair/scan-register`
- **页面元素**
- 扫码区域调用wx.scanCode
- 项目信息展示(扫码后显示)
- 确认绑定按钮
- **界面布局**
- 顶部:扫码提示文字
- 中部:扫码框(居中,带边框提示)
- 底部:扫码结果展示 + 确认绑定按钮
- **操作按钮**
| 按钮 | 权限 | 说明 |
|------|------|------|
| 扫描二维码 | — | 调用wx.scanCode扫描项目二维码 |
| 确认绑定 | — | 绑定身份到对应项目 |
### 页面2一键报修页
- **页面路径**`/pages/repair/create`
- **页面元素**
- 报修类型选择下拉数据来源物业公司Web端配置的报修类型字典
- 报修描述多行文本最多500字
- 照片上传区域最多9张含水印时间定位
- 报修位置(可选,手动选择或自动定位)
- 联系方式(默认当前用户手机号)
- **界面布局**
- 顶部:报修类型选择器
- 中部:报修描述输入框
- 下部照片上传网格3列+号占位)
- 底部:提交按钮
- **操作按钮**
| 按钮 | 权限 | 说明 |
|------|------|------|
| 拍照上传 | — | 调用相机,自动添加水印(时间+位置) |
| 从相册选择 | — | 选择相册照片,自动添加水印 |
| 提交报修 | — | 生成工单,等待分配 |
### 页面3我的工单列表
- **页面路径**`/pages/repair/my-orders`
- **页面元素**
- 状态Tab筛选全部/待分配/处理中/待验收/已完成/已关闭)
- 工单列表
- 下拉刷新 + 上拉加载
- **查询条件**
| 条件 | 类型 | 说明 |
|------|------|------|
| 状态筛选 | Tab | 全部/待分配/处理中/待验收/已完成/已关闭 |
| 关键词 | 搜索框 | 按工单号/描述搜索 |
- **列表字段**
| 字段 | 说明 |
|------|------|
| 工单编号 | 如 WO20260416001 |
| 报修类型 | 图标+文字 |
| 报修描述 | 截断显示 |
| 报修时间 | 相对时间 |
| 工单状态 | 状态标签(不同颜色) |
| 维修人员 | 已分配时显示 |
| 催单标记 | 已催单显示红色标记 |
- **界面布局**
- 顶部状态Tab + 搜索框
- 中部:工单卡片列表
- 卡片顶部:工单编号 + 状态标签
- 卡片中部:报修类型 + 描述
- 卡片底部:时间 + 维修人员 + 催单标记
- 底部:无更多数据提示
- **操作按钮**
| 按钮 | 权限 | 说明 |
|------|------|------|
| 查看详情 | — | 跳转工单详情页 |
| 催单 | repair:list:view | 处理中工单可催单 |
### 页面4待处理工单列表维修人员
- **页面路径**`/pages/repair/pending-orders`
- **页面元素**
- 待接单工单列表
- 下拉刷新 + 上拉加载
- **查询条件**:无(自动加载分配给当前人员的待处理工单)
- **列表字段**
| 字段 | 说明 |
|------|------|
| 工单编号 | 如 WO20260416001 |
| 报修类型 | 图标+文字 |
| 报修描述 | 截断显示 |
| 报修时间 | 相对时间 |
| 优先级 | 高/中/低,不同颜色标记 |
| 报修照片缩略图 | 第一张照片 |
- **界面布局**
- 顶部:待处理工单数量统计
- 中部:工单卡片列表
- 卡片顶部:工单编号 + 优先级标签
- 卡片中部:报修类型 + 描述
- 卡片底部:报修时间 + 接单按钮
- 底部:无更多数据提示
- **操作按钮**
| 按钮 | 权限 | 说明 |
|------|------|------|
| 接单 | repair:list:update | 接单后工单状态变为"处理中" |
### 页面5维修完工页
- **页面路径**`/pages/repair/complete`
- **页面元素**
- 工单基本信息(只读)
- 维修说明(多行文本,必填)
- 维修后照片上传最多9张含水印时间定位
- 材料使用记录(可选)
- **界面布局**
- 顶部:工单信息摘要
- 中部:维修说明输入框
- 下部:照片上传网格
- 底部:提交完工按钮
- **操作按钮**
| 按钮 | 权限 | 说明 |
|------|------|------|
| 拍照上传 | — | 拍摄维修后照片 |
| 提交完工 | repair:list:update | 工单状态变为"待验收" |
### 页面6延期申请页
- **页面路径**`/pages/repair/extension-apply`
- **页面元素**
- 工单基本信息(只读)
- 延期原因(多行文本,必填)
- 预计完成时间(日期时间选择器,必填)
- **界面布局**
- 顶部:工单信息摘要
- 中部:延期原因输入 + 预计完成时间
- 底部:提交申请按钮
- **操作按钮**
| 按钮 | 权限 | 说明 |
|------|------|------|
| 提交延期申请 | repair:list:update | 工单状态变为"延期中",等待主管审批 |
### 页面7延期审批页主管
- **页面路径**`/pages/repair/extension-approve`
- **页面元素**
- 工单基本信息(只读)
- 延期申请详情(申请人、原因、预计完成时间)
- 审批意见输入(多行文本)
- 通过/驳回按钮
- **界面布局**
- 顶部:工单信息摘要
- 中部:延期申请详情 + 审批意见
- 底部:通过 + 驳回按钮(并排)
- **操作按钮**
| 按钮 | 权限 | 说明 |
|------|------|------|
| 通过 | repair:detail:approve | 延期生效,工单继续处理 |
| 驳回 | repair:detail:approve | 通知维修人员,工单恢复原状态 |
### 页面8协助维修申请页
- **页面路径**`/pages/repair/assist-apply`
- **页面元素**
- 工单基本信息(只读)
- 协助班组选择(下拉选择其他班组)
- 协助原因(多行文本,必填)
- **界面布局**
- 顶部:工单信息摘要
- 中部:协助班组选择 + 协助原因
- 底部:提交申请按钮
- **操作按钮**
| 按钮 | 权限 | 说明 |
|------|------|------|
| 提交协助申请 | repair:list:update | 生成协助子工单,等待协助完成 |
### 页面9工单分配页主管
- **页面路径**`/pages/repair/assign`
- **页面元素**
- 工单基本信息(只读)
- 分配班组选择(下拉选择)
- 分配人员选择(联动,根据班组筛选)
- 分配备注(可选)
- **界面布局**
- 顶部:工单信息摘要
- 中部:班组 + 人员级联选择
- 底部:确认分配按钮
- **操作按钮**
| 按钮 | 权限 | 说明 |
|------|------|------|
| 确认分配 | repair:list:assign | 分配成功后通知维修人员 |
### 页面10工单验收页
- **页面路径**`/pages/repair/accept`
- **页面元素**
- 工单基本信息(只读)
- 维修说明展示
- 维修前后照片对比
- 验收结果选择(通过/不通过)
- 验收意见(多行文本,不通过时必填)
- **界面布局**
- 顶部:工单信息摘要
- 中部:维修说明 + 照片对比
- 下部:验收结果选择 + 验收意见
- 底部:提交验收按钮
- **操作按钮**
| 按钮 | 权限 | 说明 |
|------|------|------|
| 提交验收 | repair:detail:approve | 通过→工单完成;不通过→退回维修 |
### 页面11工单评价页
- **页面路径**`/pages/repair/evaluate`
- **页面元素**
- 工单基本信息(只读)
- 评分组件(五分制星级评分)
- 评价内容多行文本最多200字
- 图片上传最多3张
- **界面布局**
- 顶部:工单信息摘要
- 中部:评分星级 + 评价输入 + 图片上传
- 底部:提交评价按钮
- **操作按钮**
| 按钮 | 权限 | 说明 |
|------|------|------|
| 提交评价 | — | 评价提交后不可修改 |
### 页面12工单详情页
- **页面路径**`/pages/repair/detail`
- **页面元素**
- 工单基本信息
- 报修照片
- 维修人员信息(已分配时)
- 维修记录时间轴
- 维修后照片
- 操作按钮区(根据状态和角色动态显示)
- **界面布局**
- 顶部:工单编号 + 状态标签
- 信息区:报修类型、描述、位置、联系方式、报修时间
- 照片区:报修照片轮播
- 维修区:维修人员 + 维修说明 + 维修照片
- 时间轴:工单流转记录(提交→分配→接单→完工→验收)
- 底部:操作按钮区(动态)
- **操作按钮**(根据角色和状态动态显示):
| 按钮 | 适用角色 | 工单状态 | 说明 |
|------|----------|----------|------|
| 催单 | 报修人 | 处理中 | 发起催单 |
| 接单 | 维修人员 | 待分配/已分配 | 接单 |
| 完工 | 维修人员 | 处理中 | 提交维修完工 |
| 延期申请 | 维修人员 | 处理中 | 申请延期 |
| 协助申请 | 维修人员 | 处理中 | 请求协助 |
| 分配 | 主管 | 待分配 | 分配工单 |
| 延期审批 | 主管 | 延期中 | 审批延期 |
| 验收 | 主管/报修人 | 待验收 | 验收工单 |
| 评价 | 报修人 | 已完成 | 评价工单 |
## 需求追溯
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|------------|----------|----------|----------|----------|
| MP-R-01 | 扫码注册 | 02-小程序端 §2 | 注册成功→绑定项目身份 | 通用功能(登录) |
| MP-R-02 | 一键报修 | 02-小程序端 §2 | 提交→生成工单→触发分配通知 | 物业Web端工单列表 |
| MP-R-03 | 我的工单 | 02-小程序端 §2 | 查看工单状态→催单/验收/评价 | 工单详情 |
| MP-R-04 | 催单 | 02-小程序端 §2 | 催单→触发通知服务→通知维修人员/主管 | 消息通知 |
| MP-R-05 | 维修接单 | 02-小程序端 §2 | 接单→工单状态变更→通知报修人 | 工单详情 |
| MP-R-06 | 维修完工 | 02-小程序端 §2 | 完工→工单状态变为"待验收"→触发验收通知 | 工单验收 |
| MP-R-07 | 延期申请 | 02-小程序端 §2 | 申请→工单状态变为"延期中"→通知主管审批 | 延期审批 |
| MP-R-08 | 延期审批 | 02-小程序端 §2 | 通过→延期生效;驳回→通知申请人 | 延期申请 |
| MP-R-09 | 协助维修申请 | 02-小程序端 §2 | 申请→生成协助子工单→通知协助班组 | 工单分配 |
| MP-R-10 | 工单分配 | 02-小程序端 §2 | 分配→通知维修人员 | 维修接单 |
| MP-R-11 | 工单验收 | 02-小程序端 §2 | 验收通过→工单完成→触发评价 | 服务评价 |
| MP-R-12 | 评价 | 02-小程序端 §2 | 评价→数据写入评价模块→物业可查看回复 | 服务评价 |
## 业务规则
1. **照片上传规则**06-项目技术要求.md §4.4
- 报修照片最多9张必须含水印时间+位置信息)
- 水印位置:图片右下角
- 上传时自动附带 `bluetooth_connected` 标记(如蓝牙连接时)
2. **工单状态流转**03-业务流转逻辑-小程序端 §2
- 报修人提交 → 待分配 → 处理中(接单) → 待验收(完工) → 已完成(验收通过)
- 处理中可延期 → 延期中 → 主管审批 → 继续处理/驳回
- 处理中可申请协助 → 生成子工单
3. **催单规则**
- 只有处理中的工单可以催单
- 催单后触发通知服务,通知维修人员和主管
- 同一工单每天最多催单3次
4. **双端审批对照**02-功能清单-小程序端.md 附录):
- 工单延期审批Web+小程序均可(物业主管)
- 工单分配Web+小程序均可(物业主管)
- 工单验收Web+小程序均可(物业主管/报修人)
5. **数据权限**01-模块划分.md §1.3
- 主管:本班组工单数据
- 员工:仅本人相关工单数据
## 状态流转
### 工单完整状态流转
```
待分配 ──[主管分配/自动分配]──▶ 已分配 ──[维修人员接单]──▶ 处理中
│ │
│ ┌───正常完工───┐───延期申请───┐───协助申请───┐
│ │ │ │
│ ▼ ▼ ▼
│ 待验收 延期中 协助处理中
│ │ │ │
│ │ 主管审批 协助完成
│ │ ┌通过┐┌驳回┐ │
│ │ ▼ ▼ │
│ │ 继续处理 通知员工 │
│ │ │
│ ┌───验收通过───┐───验收不通过───┐
│ │ │ │
│ ▼ ▼ │
│ 已完成 退回处理中 │
│ │ │
│ 可评价 │
│ │
└─────────────────────────────────────────────────────────────────────────┘
```