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.
16 KiB
16 KiB
微信小程序端 — 业务流转逻辑
版本: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+小程序(主管审核) | 小程序端补录申请 |
| 保洁抽查 | 小程序(主管标记) | — | 保洁人员完成的任务 |