# 在线报修 > 模块编码:repair > 端侧:Web + 小程序(双端) > 关联文档:01-模块划分 §3.1 / 02-功能清单-物业公司 §1 / 03-业务流转逻辑-物业公司 §1 / 05-接口规范 §9.2 / 06-项目技术要求 §4.4 ## 功能概览 | 项目 | 说明 | |------|------| | 菜单名称 | 在线报修 | | 子菜单 | 工单列表、工单详情、报修类型管理、数据补录 | | 功能编号 | PR-R-01 ~ PR-R-11 | | 权限编码前缀 | repair:list:* / repair:detail:* / repair:type:* / repair:supplement:* | --- ## 页面1:工单列表页 **页面编号**:PR-R-01-P01 **端侧归属**:Web专属(小程序端对应"我的工单",见 MP-R-03) **页面路径**:/repair/orders ### 界面布局 ``` ┌──────────────────────────────────────────────────────────────────┐ │ [面包屑] 在线报修 > 工单列表 │ ├──────────────────────────────────────────────────────────────────┤ │ [查询条件区] │ │ 工单号[____] 状态[▼多选] 报修类型[▼] 紧急程度[▼] │ │ 提交日期[起始]~[结束] 所属班组[▼] 所属区域[▼] │ │ [查询] [重置] │ ├──────────────────────────────────────────────────────────────────┤ │ [操作栏] [新增工单] [批量分配] [批量关闭] [导出Excel] │ ├──────────────────────────────────────────────────────────────────┤ │ [列表区] │ │ ☐ | 工单号 | 报修类型 | 紧急程度 | 状态 | 报修人 | 班组 | ... │ │ ☐ | WX001 | 水电 | 紧急 | 待分配| 张三 | 水电班| ... │ │ ☐ | WX002 | 木工 | 普通 | 处理中| 李四 | 木工班| ... │ ├──────────────────────────────────────────────────────────────────┤ │ [分页] 共156条 每页[20▼] < 1 2 3 ... 8 > │ └──────────────────────────────────────────────────────────────────┘ ``` ### 查询条件 | 字段名 | 控件类型 | 必填 | 默认值 | 说明 | |--------|----------|------|--------|------| | 工单号 | 文本输入 | 否 | — | 模糊匹配 | | 状态 | 下拉多选 | 否 | 全部 | 待分配/处理中/延期中/待验收/已完成/已关闭 | | 报修类型 | 下拉单选 | 否 | 全部 | 数据来源:字典管理-报修类型 | | 紧急程度 | 下拉单选 | 否 | 全部 | 紧急/普通/低优先 | | 提交日期 | 日期范围 | 否 | — | 起始~结束 | | 所属班组 | 下拉单选 | 否 | 全部 | 数据来源:组织架构-班组 | | 所属区域 | 级联选择 | 否 | 全部 | 项目→区域→楼栋→楼层 | ### 列表字段 | 序号 | 字段名 | 列宽 | 支持排序 | 说明 | |------|--------|------|----------|------| | 1 | ☐勾选 | 40px | — | 批量操作用 | | 2 | 工单号 | 140px | 是 | 点击跳转详情页 | | 3 | 报修类型 | 80px | 是 | 标签样式 | | 4 | 紧急程度 | 80px | 是 | 紧急=红色/普通=蓝色/低=灰色 | | 5 | 状态 | 90px | 是 | 彩色标签区分状态 | | 6 | 报修人 | 80px | 否 | — | | 7 | 负责班组 | 90px | 是 | — | | 8 | 维修人员 | 80px | 否 | 未分配时显示"—" | | 9 | 提交时间 | 150px | 是 | 默认倒序 | | 10 | 预约时间 | 150px | 否 | — | | 11 | 补录标记 | 70px | 否 | 补录数据显示"补录"橙色标签 | | 12 | 操作 | 160px | — | 查看/分配/关闭 | ### 操作按钮 | 按钮 | 权限编码 | 位置 | 显示条件 | 说明 | |------|----------|------|----------|------| | 新增工单 | repair:list:create | 操作栏 | 始终 | 弹窗/跳转新增页 | | 批量分配 | repair:list:assign | 操作栏 | 勾选≥1条且状态=待分配 | 批量分配弹窗 | | 批量关闭 | repair:list:update | 操作栏 | 勾选≥1条且状态=待分配 | 二次确认弹窗 | | 导出Excel | repair:list:export | 操作栏 | 始终 | 导出当前筛选结果 | | 行内-分配 | repair:list:assign | 操作列 | 状态=待分配 | — | | 行内-关闭 | repair:list:update | 操作列 | 状态=待分配 | 二次确认 | | 行内-查看 | repair:list:view | 操作列 | 始终 | 跳转详情页 | ### 角色差异化视图 | 角色 | 可见按钮 | 数据范围 | 备注 | |------|----------|----------|------| | 物业管理员 | 全部按钮 | 本公司绑定医院全部数据 | — | | 主管 | 查看、分配、导出 | 本班组数据 | 无新增按钮 | | 维修人员 | 仅查看 | 仅本人负责的工单 | 操作列仅"查看" | ### 通知触发 | 触发操作 | 通知对象 | 通知方式 | 消息模板 | 文档来源 | |----------|----------|----------|----------|----------| | 工单分配 | 被分配的维修人员 | 小程序推送 | 新工单通知 | 01 §7.1 | | 工单关闭 | 报修人 | 小程序推送 | 工单关闭通知 | 01 §7.1 | ### API端点 | 页面操作 | API路径 | 方法 | 说明 | |----------|---------|------|------| | 列表查询 | /api/v1/repair-orders | GET | 分页查询,支持筛选参数 | | 批量分配 | /api/v1/repair-orders/batch-assign | POST | 批量分配到班组/人员 | | 批量关闭 | /api/v1/repair-orders/batch-close | POST | 需填关闭原因 | | 导出 | /api/v1/repair-orders/export | GET | 导出Excel | --- ## 页面2:工单详情页 **页面编号**:PR-R-02-P01 **端侧归属**:Web专属 **页面路径**:/repair/orders/:id ### 界面布局 ``` ┌──────────────────────────────────────────────────────────────────┐ │ [面包屑] 在线报修 > 工单列表 > 工单详情 │ ├──────────────────────────────────────────────────────────────────┤ │ [状态栏] 工单号:WX20260416001 当前状态:待分配 │ ├──────────────────────────────────────────────────────────────────┤ │ [标签页] 基本信息 | 流转记录 | 照片附件 | 评价信息 │ ├──────────────────────────────────────────────────────────────────┤ │ ── 基本信息(默认展示)── │ │ 报修类型:水电 紧急程度:紧急 │ │ 报修人:张三 联系电话:138****1234 │ │ 报修区域:主院区/门诊楼/3层 │ │ 报修描述:3楼走廊灯管不亮,影响夜间通行 │ │ 预约时间:2026-04-16 14:00 │ │ 补录标记:否 │ ├──────────────────────────────────────────────────────────────────┤ │ [底部操作栏] │ │ [分配工单] [关闭工单] 状态=待分配时显示 │ │ [验收通过] [验收不通过(退回)] 状态=待验收时显示 │ └──────────────────────────────────────────────────────────────────┘ ``` ### 标签页内容 | 标签页 | 内容 | 说明 | |--------|------|------| | 基本信息 | 报修类型、紧急程度、报修人、区域、描述、预约时间、补录标记 | 补录数据额外显示补录原因和审核状态 | | 流转记录 | 时间轴展示工单状态变更历史 | 每条记录含:操作人、时间、操作类型、备注 | | 照片附件 | 报修照片(缩略图+点击预览) | 照片含水印信息:时间+位置+蓝牙连接标记 | | 评价信息 | 工单完成后的评价内容 | 评分+留言+图片,未评价时显示"暂无评价" | ### 操作按钮 | 按钮 | 权限编码 | 位置 | 显示条件 | 说明 | |------|----------|------|----------|------| | 分配工单 | repair:list:assign | 底部操作栏 | 状态=待分配 | 弹窗选择班组/人员 | | 关闭工单 | repair:list:update | 底部操作栏 | 状态=待分配 | 填写关闭原因 | | 审批延期 | repair:detail:approve | 底部操作栏 | 状态=延期中 | 通过/驳回 | | 验收通过 | repair:detail:approve | 底部操作栏 | 状态=待验收 | — | | 验收不通过 | repair:detail:approve | 底部操作栏 | 状态=待验收 | 填写不通过原因,退回返修 | ### 角色差异化视图 | 角色 | 可见操作 | 数据范围 | 备注 | |------|----------|----------|------| | 物业管理员 | 全部操作 | 全部工单 | — | | 主管 | 分配、审批、验收 | 本班组工单 | — | | 维修人员 | 仅查看 | 仅本人负责的工单 | 底部操作栏隐藏 | ### 通知触发 | 触发操作 | 通知对象 | 通知方式 | 消息模板 | 文档来源 | |----------|----------|----------|----------|----------| | 分配工单 | 维修人员 | 小程序推送 | 新工单通知 | 01 §7.1 | | 延期审批结果 | 维修人员 | 小程序推送 | 延期审批结果通知 | 01 §7.1 | | 验收不通过 | 维修人员 | 小程序推送 | 验收退回通知 | 01 §7.1 | | 验收通过 | 报修人 | 小程序推送 | 工单完成通知,触发评价 | 01 §7.1 | ### API端点 | 页面操作 | API路径 | 方法 | 说明 | |----------|---------|------|------| | 详情查询 | /api/v1/repair-orders/{id} | GET | 含基本信息+流转记录+照片 | | 分配工单 | /api/v1/repair-orders/{id}/assign | POST | 分配到班组/人员 | | 关闭工单 | /api/v1/repair-orders/{id}/close | POST | 填写关闭原因 | | 延期审批 | /api/v1/repair-orders/{id}/delay-approve | POST | 通过/驳回 | | 验收 | /api/v1/repair-orders/{id}/accept | POST | 通过/不通过 | --- ## 页面3:新增工单弹窗 **页面编号**:PR-R-01-P02 **端侧归属**:Web专属 **页面路径**:弹窗形式 ### 界面布局 ``` ┌──────────────────────────────────────┐ │ 新增工单 [×] │ ├──────────────────────────────────────┤ │ 报修类型:[▼必选] 紧急程度:[▼] │ │ 报修区域:[级联选择▼] │ │ 报修人: [____] 联系电话:[____] │ │ 预约时间:[日期时间选择] │ │ 报修描述: │ │ ┌────────────────────────────────┐ │ │ │ │ │ │ └────────────────────────────────┘ │ │ 照片上传:[+点击上传] (≤9张) │ │ 📷1 📷2 📷3 │ ├──────────────────────────────────────┤ │ [取消] [提交] │ └──────────────────────────────────────┘ ``` ### 表单字段 | 字段名 | 控件类型 | 必填 | 默认值 | 数据来源 | 校验规则 | |--------|----------|------|--------|----------|----------| | 报修类型 | 下拉单选 | 是 | — | 字典管理-报修类型 | — | | 紧急程度 | 下拉单选 | 是 | 普通 | 固定选项 | 紧急/普通/低优先 | | 报修区域 | 级联选择 | 是 | — | 区域五级架构 | 至少选到楼层 | | 报修人 | 文本输入 | 是 | — | 自填 | 最大20字 | | 联系电话 | 文本输入 | 是 | — | 自填 | 手机号格式校验 | | 预约时间 | 日期时间 | 否 | — | 自填 | 不早于当前时间 | | 报修描述 | 多行文本 | 是 | — | 自填 | 最大500字 | | 照片 | 图片上传 | 否 | — | 拍照/相册 | ≤9张,单张≤20MB,自动加水印 | --- ## 页面4:报修类型管理页 **页面编号**:PR-R-07-P01 **端侧归属**:Web专属 **页面路径**:/repair/types ### 界面布局 ``` ┌──────────────────────────────────────────────────────────────────┐ │ [面包屑] 在线报修 > 报修类型管理 │ ├──────────────────────────────────────────────────────────────────┤ │ [操作栏] [新增类型] │ ├──────────────────────────────────────────────────────────────────┤ │ [列表区] │ │ 序号 | 类型名称 | 关联班组 | 工单数量 | 状态 | 操作 │ │ 1 | 水电 | 水电班 | 23 | 启用 | 编辑 停用 │ │ 2 | 木工 | 木工班 | 8 | 启用 | 编辑 停用 │ │ 3 | 空调 | 暖通班 | 15 | 停用 | 编辑 启用 │ └──────────────────────────────────────────────────────────────────┘ ``` ### 表单字段(新增/编辑弹窗) | 字段名 | 控件类型 | 必填 | 默认值 | 数据来源 | 校验规则 | |--------|----------|------|--------|----------|----------| | 类型名称 | 文本输入 | 是 | — | 自填 | 最大20字,同租户内唯一 | | 关联班组 | 下拉多选 | 是 | — | 组织架构-班组 | 至少选一个 | | 描述 | 多行文本 | 否 | — | 自填 | 最大200字 | ### 操作按钮 | 按钮 | 权限编码 | 位置 | 显示条件 | 说明 | |------|----------|------|----------|------| | 新增类型 | repair:type:create | 操作栏 | 始终 | 弹窗 | | 编辑 | repair:type:update | 行操作 | 始终 | 弹窗 | | 启用/停用 | repair:type:update | 行操作 | 始终 | 有工单关联时不可停用,提示先迁移 | ### API端点 | 页面操作 | API路径 | 方法 | 说明 | |----------|---------|------|------| | 列表查询 | /api/v1/repair-types | GET | — | | 新增 | /api/v1/repair-types | POST | — | | 编辑 | /api/v1/repair-types/{id} | PUT | — | | 启用/停用 | /api/v1/repair-types/{id}/toggle-status | PUT | — | --- ## 页面5:数据补录页 **页面编号**:PR-R-10-P01 **端侧归属**:Web专属 **页面路径**:/repair/supplement ### 界面布局 ``` ┌──────────────────────────────────────────────────────────────────┐ │ [面包屑] 在线报修 > 数据补录 │ ├──────────────────────────────────────────────────────────────────┤ │ [查询条件区] │ │ 补录状态[▼] 补录人[____] 补录时间[起始]~[结束] [查询] [重置] │ ├──────────────────────────────────────────────────────────────────┤ │ [列表区] │ │ 序号 | 工单号 | 补录人 | 补录原因 | 补录时间 | 审核状态 | 操作 │ │ 1 | WX001 | 张三 | 系统异常 | 10:30 | 待审核 | 审核 详情│ │ 2 | WX002 | 李四 | 蓝牙故障 | 09:15 | 已通过 | 详情 │ └──────────────────────────────────────────────────────────────────┘ ``` ### 查询条件 | 字段名 | 控件类型 | 必填 | 默认值 | 说明 | |--------|----------|------|--------|------| | 补录状态 | 下拉单选 | 否 | 全部 | 待审核/已通过/已驳回 | | 补录人 | 文本输入 | 否 | — | 模糊匹配 | | 补录时间 | 日期范围 | 否 | — | — | ### 补录数据标记规范 | 标记项 | 说明 | |--------|------| | 列表标签 | 补录行在工单列表中显示"补录"橙色标签 | | 补录原因 | 蓝牙故障/系统异常/定位失败/其他(枚举) | | 审核状态列 | 待审核(黄色)/已通过(绿色)/已驳回(红色) | | 详情展示 | 补录原因+详细说明+审核人+审核时间 | | 统计排除 | 补录数据在统计报表中单独标记,默认包含,可筛选排除 | ### 操作按钮 | 按钮 | 权限编码 | 位置 | 显示条件 | 说明 | |------|----------|------|----------|------| | 审核 | repair:supplement:approve | 行操作 | 审核状态=待审核 | 通过/驳回弹窗 | | 详情 | repair:supplement:view | 行操作 | 始终 | 查看补录详情 | ### API端点 | 页面操作 | API路径 | 方法 | 说明 | |----------|---------|------|------| | 列表查询 | /api/v1/repair-orders/supplements | GET | 分页查询 | | 审核 | /api/v1/repair-orders/supplements/{id}/approve | POST | 通过/驳回 | --- ## 需求追溯 | 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 | |------------|----------|----------|----------|----------| | PR-R-01 | 工单列表 | 02-物业公司 §1 / 03-物业公司 §1.2 | — | 巡检异常上报→自动生成工单 | | PR-R-02 | 工单详情 | 02-物业公司 §1 / 03-物业公司 §1.2 | 流转记录、照片查看 | 评价管理→工单评价展示 | | PR-R-03 | 工单分配 | 02-物业公司 §1 / 03-物业公司 §1.2 | 触发通知服务→推送维修人员 | 组织架构→班组/人员选择 | | PR-R-04 | 工单流转 | 02-物业公司 §1 / 03-物业公司 §1.2 | 状态变更→触发通知 | — | | PR-R-05 | 延期审批 | 02-物业公司 §1 / 03-物业公司 §1.2 | 审批结果→通知维修人员 | 小程序端延期申请(MP-R-07) | | PR-R-06 | 协助维修管理 | 02-物业公司 §1 / 03-物业公司 §1.2 | 生成协助子工单→通知协助班组 | 小程序端协助申请(MP-R-09) | | PR-R-07 | 报修类型管理 | 02-物业公司 §1 | 类型变更→刷新字典缓存 | 字典管理→报修类型字典 | | PR-R-08 | 工单验收 | 02-物业公司 §1 / 03-物业公司 §1.2 | 验收通过→触发评价 | 小程序端验收(MP-R-11) / 评价管理 | | PR-R-09 | 退单/返修处理 | 02-物业公司 §1 / 03-物业公司 §1.2 | 退回→通知维修人员 | — | | PR-R-10 | 数据补录 | 02-物业公司 §1 / 03-物业公司 §2.2 | 补录审核→通知补录人 | 操作日志→补录日志 | | PR-R-11 | 工单导出 | 02-物业公司 §1 | 记录导出操作日志 | — | ## 业务规则 1. **工单号规则**:WX + 年月日 + 3位序号,如 WX20260416001(来源:03-物业公司 §1) 2. **状态流转规则**:待分配→处理中→待验收→已完成/已关闭,详见状态流转图(来源:03-物业公司 §1.2) 3. **分配规则**:支持手动分配和自动分配(按报修类型→关联班组→班组内轮询)(来源:02-物业公司 PR-R-03) 4. **照片水印**:上传照片自动添加水印(时间+位置+蓝牙连接标记),来源:05-接口规范 §3.2 5. **补录审核**:补录数据需主管审核,审核通过后生效;审核驳回需通知补录人(来源:03-物业公司 §2.2) 6. **验收触发评价**:工单验收通过后自动触发评价流程(来源:03-物业公司 §1.2,事件:ORDER_COMPLETED) 7. **退单返修**:验收不通过时工单退回处理中状态,维修人员需重新处理(来源:03-物业公司 §1.2) 8. **数据权限**:主管仅看本班组数据,员工仅看本人数据(来源:01 §1.3) 9. **操作日志**:所有工单操作自动记录审计日志(来源:06 §4.5) ## 状态流转 ``` ┌─── 关闭工单 ──▶ 已关闭 │ 报修提交 ──▶ 待分配 ──▶ 分配工单 ──▶ 处理中 ──▶ 提交完工 ──▶ 待验收 ──▶ 验收通过 ──▶ 已完成 │ │ 申请延期▶ 延期中 验收不通过 申请协助▶ 生成子工单 │ │ ▼ 延期审批 退回处理中 通过/驳回 (返修) ``` | 当前状态 | 操作 | 目标状态 | 执行角色 | 端侧 | |----------|------|----------|----------|------| | — | 提交报修 | 待分配 | 报修人 | 小程序 | | 待分配 | 分配工单 | 处理中 | 主管/系统 | Web+小程序 | | 待分配 | 关闭工单 | 已关闭 | 主管 | Web+小程序 | | 处理中 | 提交完工 | 待验收 | 维修人员 | 小程序 | | 处理中 | 申请延期 | 延期中 | 维修人员 | 小程序 | | 处理中 | 申请协助 | 处理中 | 维修人员 | 小程序 | | 延期中 | 审批通过 | 处理中 | 主管 | Web+小程序 | | 延期中 | 审批驳回 | 处理中 | 主管 | Web+小程序 | | 待验收 | 验收通过 | 已完成 | 主管/报修人 | Web+小程序 | | 待验收 | 验收不通过 | 处理中 | 主管/报修人 | Web+小程序 | | 已完成 | 评价 | 已完成 | 报修人 | 小程序 |