|
|
# 微信小程序端 — 业务流转逻辑
|
|
|
|
|
|
> 版本:v4.0
|
|
|
> 微信小程序仅供物业人员使用,**医院账号无小程序端**。
|
|
|
> 不同角色登录后看到不同功能入口。
|
|
|
> 关联文档:`01-模块划分.md`(v4.0)、`02-功能清单-小程序端.md`
|
|
|
|
|
|
---
|
|
|
|
|
|
## 1. 登录与权限加载流程
|
|
|
|
|
|
### 1.1 首次登录
|
|
|
|
|
|
```
|
|
|
用户打开小程序
|
|
|
│
|
|
|
微信授权获取openid
|
|
|
│
|
|
|
绑定手机号(微信获取手机号组件)
|
|
|
│
|
|
|
系统匹配物业公司+人员信息
|
|
|
**数据来源:物业公司Web端创建的下属账号(sys_user表)**
|
|
|
│
|
|
|
┌─── 匹配成功 ──┐ ┌─── 匹配失败 ──┐
|
|
|
│ │ │ │
|
|
|
创建账号 提示"未找到关联信息,请联系管理员"
|
|
|
进入工作台 无法使用
|
|
|
```
|
|
|
|
|
|
### 1.2 再次登录
|
|
|
|
|
|
```
|
|
|
打开小程序
|
|
|
│
|
|
|
读取本地token
|
|
|
│
|
|
|
┌─── token有效 ──┐ ┌─── token无效 ──┐
|
|
|
│ │ │ │
|
|
|
直接进入工作台 openid静默登录
|
|
|
**数据来源:系统用户表自动匹配**
|
|
|
│
|
|
|
刷新token
|
|
|
│
|
|
|
进入工作台
|
|
|
```
|
|
|
|
|
|
### 1.3 权限加载与界面渲染
|
|
|
|
|
|
```
|
|
|
用户登录成功
|
|
|
│
|
|
|
获取角色及权限集(四级粒度)
|
|
|
**数据来源:超级管理员定义的角色+物业公司管理员分配的角色**
|
|
|
│
|
|
|
根据权限动态渲染:
|
|
|
├── 可见菜单项
|
|
|
├── 页面内可见功能点
|
|
|
├── 功能点可用动作(按钮显示/隐藏/禁用)
|
|
|
└── 数据范围(行级隔离)
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 2. 报修流程
|
|
|
|
|
|
### 2.1 报修人视角
|
|
|
|
|
|
```
|
|
|
首页工作台 → 一键报修
|
|
|
│
|
|
|
选择报修类型(数据来源:物业公司Web端配置的报修类型字典)
|
|
|
│
|
|
|
填写描述
|
|
|
│
|
|
|
拍照上传(≤9张,含水印时间定位)
|
|
|
│
|
|
|
提交 → 生成工单 → 等待分配
|
|
|
│
|
|
|
接收处理通知
|
|
|
│
|
|
|
接收完工通知 → 评价(五分制+留言)
|
|
|
```
|
|
|
|
|
|
### 2.2 维修人员视角
|
|
|
|
|
|
```
|
|
|
接收工单通知(小程序推送)
|
|
|
│
|
|
|
查看待处理工单列表
|
|
|
**数据来源:物业公司Web端分配的工单,或自动分配**
|
|
|
│
|
|
|
接单
|
|
|
│
|
|
|
处理维修
|
|
|
│
|
|
|
┌─── 正常完工 ────────────────────┐
|
|
|
│ 上传维修后照片 → 填写说明 → 提交 │
|
|
|
│ → 工单状态变为"待验收" │
|
|
|
└────────────────────────────────────┘
|
|
|
│
|
|
|
┌─── 需要延期 ────────────────────┐
|
|
|
│ 填写延期原因和预计完成时间 │
|
|
|
│ → 工单状态变为"延期中" │
|
|
|
│ → 等待主管审批 │
|
|
|
│ **审批数据来源:主管在Web或小程序端审批** │
|
|
|
└────────────────────────────────────┘
|
|
|
│
|
|
|
┌─── 需要协助 ────────────────────┐
|
|
|
│ 请求其他班组协助 │
|
|
|
│ → 生成协助子工单 │
|
|
|
│ → 等待协助完成 │
|
|
|
└────────────────────────────────────┘
|
|
|
│
|
|
|
等待验收
|
|
|
**验收数据来源:主管或报修人在Web/小程序端验收**
|
|
|
```
|
|
|
|
|
|
### 2.3 主管视角(工单管理)
|
|
|
|
|
|
```
|
|
|
查看待分配工单列表
|
|
|
**数据来源:报修人提交的工单(小程序端)+ Web端录入的工单**
|
|
|
│
|
|
|
工单分配(手动分配到班组/人员)
|
|
|
│
|
|
|
延期审批(审批维修人员延期申请)
|
|
|
**数据来源:维修人员在小程序端提交的延期申请**
|
|
|
│
|
|
|
工单验收
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 3. 巡检流程(巡检人员视角)
|
|
|
|
|
|
```
|
|
|
查看今日巡检任务
|
|
|
**数据来源:物业管理员在Web端创建的巡检计划自动生成**
|
|
|
│
|
|
|
到达巡检点位
|
|
|
│
|
|
|
查询蓝牙策略配置
|
|
|
**数据来源:系统配置的蓝牙策略(GET /system/bluetooth-policy → inspection_check_in)**
|
|
|
│
|
|
|
┌─── 策略=REQUIRED(强制蓝牙)───────────────────────────┐
|
|
|
│ │
|
|
|
│ 小程序自动扫描蓝牙Beacon │
|
|
|
│ │ │
|
|
|
│ ┌─── 检测到目标Beacon ───┐ ┌─── 未检测到 ────────────┐ │
|
|
|
│ │ │ │ │ │
|
|
|
│ │ 读取UUID │ 提示"未检测到蓝牙信号" │ │
|
|
|
│ │ 连接蓝牙设备 │ │ │ │
|
|
|
│ │ 连接成功即打卡 │ ┌─重试──▶ 重新扫描 │ │
|
|
|
│ │ check_type=BLUETOOTH │ └─补录──▶ 进入补录模式 │ │
|
|
|
│ │ **无需距离校验** │ │ │ │
|
|
|
│ └─────────────────────────┘ 选择补录原因 │ │
|
|
|
│ 手动填写巡检记录 │ │
|
|
|
│ 提交补录申请 │ │
|
|
|
│ **需主管审核(Web/小程序)**│ │
|
|
|
└──────────────────────────────────────────────────────────┘
|
|
|
│
|
|
|
┌─── 策略=OPTIONAL(非强制蓝牙)──────────────────────────┐
|
|
|
│ │
|
|
|
│ 用户选择打卡方式 │
|
|
|
│ ┌───蓝牙打卡──┐───手动打卡──┐ │
|
|
|
│ 扫描蓝牙 直接打卡 │
|
|
|
│ check_type= check_type=MANUAL │
|
|
|
│ BLUETOOTH │
|
|
|
└──────────────────────────────────────────────────────────┘
|
|
|
│
|
|
|
打卡成功后 → 逐项检查巡检清单 → 记录正常/异常
|
|
|
│
|
|
|
┌─── 发现异常 ────────────────────────────────────┐
|
|
|
│ 拍照上传 + 标记严重等级 │
|
|
|
│ 可一键生成报修工单(数据写入报修模块) │
|
|
|
└──────────────────────────────────────────────────┘
|
|
|
│
|
|
|
┌─── 拍照(蓝牙策略=REQUIRED时)────────────────────┐
|
|
|
│ 拍照也须在蓝牙连接状态下进行 │
|
|
|
│ **拍照策略数据来源:GET /system/bluetooth-policy │
|
|
|
│ → inspection_photo** │
|
|
|
└──────────────────────────────────────────────────┘
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 4. 保洁流程(保洁人员视角)
|
|
|
|
|
|
```
|
|
|
查看今日保洁任务
|
|
|
**数据来源:物业管理员在Web端配置的排班自动生成**
|
|
|
│
|
|
|
到达保洁区域
|
|
|
│
|
|
|
查询蓝牙策略配置
|
|
|
**数据来源:系统配置的蓝牙策略(GET /system/bluetooth-policy → cleaning_check_in)**
|
|
|
│
|
|
|
┌─── 策略=REQUIRED(强制蓝牙)──────────────────────┐
|
|
|
│ 蓝牙强制打卡确认(流程同巡检3.1) │
|
|
|
│ check_type=BLUETOOTH │
|
|
|
│ 未检测到蓝牙 → 进入补录模式(需主管审核) │
|
|
|
└──────────────────────────────────────────────────────┘
|
|
|
│
|
|
|
┌─── 策略=OPTIONAL(非强制蓝牙)─────────────────────┐
|
|
|
│ 可选蓝牙打卡或手动打卡 │
|
|
|
│ 手动打卡:check_type=MANUAL │
|
|
|
└──────────────────────────────────────────────────────┘
|
|
|
│
|
|
|
逐项完成保洁清单 → 上传完成后照片
|
|
|
│
|
|
|
┌─── 发现异常 ─────────────────────────────┐
|
|
|
│ 异常反馈 → 拍照上报 │
|
|
|
└────────────────────────────────────────────┘
|
|
|
│
|
|
|
任务完成
|
|
|
│
|
|
|
主管抽查(数据来源:主管在小程序端标记)
|
|
|
┌─合格─┐ ┌─不合格─┐
|
|
|
确认完成 重新生成任务
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 5. 考勤打卡流程(员工视角)
|
|
|
|
|
|
```
|
|
|
到达班组打卡点
|
|
|
│
|
|
|
查询蓝牙策略配置
|
|
|
**数据来源:系统配置的蓝牙策略(GET /system/bluetooth-policy → attendance_check)**
|
|
|
│
|
|
|
┌─── 策略=REQUIRED(强制蓝牙)──────────────────────┐
|
|
|
│ │
|
|
|
│ 小程序自动扫描蓝牙Beacon │
|
|
|
│ │ │
|
|
|
│ ┌─── 检测到指定打卡点Beacon ───┐ │
|
|
|
│ │ 验证Beacon属于本人班组打卡点 │ │
|
|
|
│ │ 连接蓝牙成功 │ │
|
|
|
│ │ 记录打卡时间+Beacon标识 │ │
|
|
|
│ │ **打卡点数据来源:Web端配置的打卡点+蓝牙绑定** │
|
|
|
│ │ 打卡成功 check_method=BLUETOOTH │
|
|
|
│ └──────────────────────────────┘ │
|
|
|
│ │ │
|
|
|
│ ┌─── 未检测到打卡点蓝牙 ──────────┐ │
|
|
|
│ │ 提示"未检测到打卡点蓝牙信号" │ │
|
|
|
│ │ ┌─重试──▶ 重新扫描 │ │
|
|
|
│ │ └─异常申诉──▶ 提交打卡异常申诉 │ │
|
|
|
│ │ 选择异常原因(蓝牙故障/手机异常/系统异常/ │
|
|
|
│ │ 忘记打卡/其他) │
|
|
|
│ │ 补充说明(可上传照片) │
|
|
|
│ │ 提交申诉 → 等待主管审核 │
|
|
|
│ │ **审核数据来源:主管在Web/小程序端审核** │
|
|
|
│ └──────────────────────────────────┘ │
|
|
|
└──────────────────────────────────────────────────────┘
|
|
|
│
|
|
|
┌─── 策略=OPTIONAL(非强制蓝牙)─────────────────────┐
|
|
|
│ 可选蓝牙打卡或手动打卡 │
|
|
|
│ 手动打卡:check_method=MANUAL │
|
|
|
└──────────────────────────────────────────────────────┘
|
|
|
│
|
|
|
打卡成功 → 记录操作日志
|
|
|
```
|
|
|
|
|
|
### 5.1 打卡异常申诉审核流程
|
|
|
|
|
|
```
|
|
|
员工提交打卡异常申诉(小程序端)
|
|
|
│
|
|
|
主管审核(Web+小程序均可)
|
|
|
**申诉数据来源:小程序端提交的异常申诉**
|
|
|
│
|
|
|
┌─审核通过─┐ ┌─审核驳回─┐
|
|
|
系统自动补录 通知员工
|
|
|
打卡记录 申诉未通过
|
|
|
标注"补录" 记录审核日志
|
|
|
记录审核日志
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 6. 组织架构相关流程
|
|
|
|
|
|
```
|
|
|
查看我的班组
|
|
|
**数据来源:物业管理员在Web端配置的班组信息**
|
|
|
│
|
|
|
班组信息 + 班组成员列表
|
|
|
│
|
|
|
查看我的排班
|
|
|
**数据来源:物业管理员在Web端配置的排班数据**
|
|
|
│
|
|
|
个人排班日历
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 7. 服务评价流程(报修人视角)
|
|
|
|
|
|
```
|
|
|
工单完工后收到评价通知
|
|
|
**触发数据来源:物业公司在Web/小程序端验收通过**
|
|
|
│
|
|
|
打开待评价列表
|
|
|
│
|
|
|
五分制评分 + 文字留言 + 图片上传
|
|
|
│
|
|
|
提交评价
|
|
|
│
|
|
|
物业公司可查看和回复(数据写入评价模块)
|
|
|
**评价数据来源:小程序端提交,物业公司Web端可查看回复**
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 8. 统计概览流程
|
|
|
|
|
|
### 8.1 管理员/主管视角
|
|
|
|
|
|
```
|
|
|
进入工作台 → 简版统计概览
|
|
|
│
|
|
|
按角色权限显示今日/本周关键指标:
|
|
|
├── 报修:今日工单数/待处理/已完成
|
|
|
├── 巡检:今日任务数/已完成/异常
|
|
|
├── 保洁:今日任务数/已完成/超时
|
|
|
└── 考勤:今日出勤率
|
|
|
│
|
|
|
**数据来源:物业公司各业务模块实时数据**
|
|
|
```
|
|
|
|
|
|
### 8.2 员工视角
|
|
|
|
|
|
```
|
|
|
进入工作台 → 个人绩效统计
|
|
|
│
|
|
|
个人工单量、评分、考勤
|
|
|
**数据来源:报修模块工单数据 + 评价模块评分 + 考勤模块打卡数据**
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 9. 物业公司管理员小程序功能
|
|
|
|
|
|
```
|
|
|
物业管理员登录小程序
|
|
|
│
|
|
|
功能入口(与Web端对应,但功能简化):
|
|
|
├── 报修管理:工单列表/分配/流转
|
|
|
├── 巡检管理:计划/看板/记录
|
|
|
├── 保洁管理:任务/排班/抽查
|
|
|
├── 考勤管理:记录/统计
|
|
|
├── 评价管理:查看/回复
|
|
|
└── 组织架构查看:查看班组/人员
|
|
|
│
|
|
|
**所有数据来源:与Web端同一数据源,操作实时同步**
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 10. 小程序更新流程
|
|
|
|
|
|
```
|
|
|
小程序启动
|
|
|
│
|
|
|
调用后台接口获取最新版本号 + 最低兼容版本
|
|
|
**数据来源:超级管理员在Web端配置的版本信息**
|
|
|
│
|
|
|
与本地版本号比较
|
|
|
│
|
|
|
┌── 版本一致 ──▶ 正常使用
|
|
|
│
|
|
|
┌── 小版本更新(兼容) ──▶ 提示"发现新版本,是否更新?"
|
|
|
│ │
|
|
|
│ 用户确认 → 触发热更新/重启
|
|
|
│ 用户取消 → 继续使用旧版
|
|
|
│
|
|
|
└── 大版本更新(不兼容) ──▶ 强制更新
|
|
|
│
|
|
|
提示"版本过低,必须更新"
|
|
|
│
|
|
|
引导前往微信更新小程序
|
|
|
```
|
|
|
|
|
|
**SDK依赖校验:**
|
|
|
- 启动时校验蓝牙SDK、微信SDK等关键依赖版本
|
|
|
- 低于最低兼容版本时提示更新
|
|
|
- 记录SDK版本信息到操作日志(便于排查问题)
|
|
|
|
|
|
---
|
|
|
|
|
|
## 11. 审批流程(主管视角)
|
|
|
|
|
|
```
|
|
|
收到审批推送(小程序推送通知)
|
|
|
**推送数据来源:系统根据业务规则自动触发**
|
|
|
│
|
|
|
打开审批中心
|
|
|
│
|
|
|
查看待审批列表
|
|
|
│
|
|
|
查看详情 → 通过/驳回
|
|
|
│
|
|
|
通知申请人
|
|
|
│
|
|
|
记录审批操作日志
|
|
|
```
|
|
|
|
|
|
**审批场景汇总:**
|
|
|
|
|
|
| 审批场景 | 发起端 | 审批端 | 数据来源 |
|
|
|
|----------|--------|--------|----------|
|
|
|
| 工单延期审批 | 小程序(维修人员申请) | Web+小程序(主管审批) | 小程序端延期申请 |
|
|
|
| 工单分配 | Web+小程序(主管分配) | — | 报修人提交的工单 |
|
|
|
| 工单验收 | Web+小程序(主管/报修人) | — | 维修人员提交的完工 |
|
|
|
| 打卡异常审核 | 小程序(员工申诉) | Web+小程序(主管审核) | 小程序端异常申诉 |
|
|
|
| 数据补录审核 | 小程序(员工补录) | Web+小程序(主管审核) | 小程序端补录申请 |
|
|
|
| 保洁抽查 | 小程序(主管标记) | — | 保洁人员完成的任务 |
|