|
|
# 管理员小程序功能
|
|
|
|
|
|
> 模块编码:property-manager
|
|
|
> 端侧:微信小程序
|
|
|
> 关联文档:01-模块划分.md(v4.0)、02-功能清单-小程序端.md(§9)、03-业务流转逻辑-小程序端.md(§9)、05-接口规范.md(§9)、06-项目技术要求.md
|
|
|
> 强制规范遵循 `07-前端界面开发规范.md`
|
|
|
|
|
|
## 功能概览
|
|
|
|
|
|
| 项目 | 说明 |
|
|
|
|------|------|
|
|
|
| 菜单名称 | 管理工作台 |
|
|
|
| 子菜单 | 报修管理 / 巡检管理 / 保洁管理 / 考勤管理 / 评价管理 / 组织架构查看 |
|
|
|
| 功能编号 | MP-PM-01 ~ MP-PM-06 |
|
|
|
| 权限编码 | repair:list:*、inspection:*:*、cleaning:*:*、attendance:*:*、evaluation:list:*、org:team:view |
|
|
|
|
|
|
> **说明**:管理员小程序功能是物业公司管理员/主管在小程序端的简化版管理功能,与Web端功能对应但功能简化。所有数据与Web端同一数据源,操作实时同步。
|
|
|
|
|
|
## 页面清单
|
|
|
|
|
|
### 页面1:报修管理
|
|
|
|
|
|
- **页面路径**:`/pages/manager/repair`
|
|
|
- **适用角色**:物业管理员/主管
|
|
|
- **页面元素**:
|
|
|
- 工单统计卡片(待分配/处理中/待验收/已完成)
|
|
|
- 工单列表
|
|
|
- 工单分配操作
|
|
|
- 工单流转操作
|
|
|
- **查询条件**:
|
|
|
- 状态筛选(全部/待分配/处理中/待验收/已完成)
|
|
|
- 日期筛选
|
|
|
- 类型筛选
|
|
|
- 关键词搜索
|
|
|
- **列表字段**:
|
|
|
|
|
|
| 字段 | 类型 | 说明 |
|
|
|
|------|------|------|
|
|
|
| 工单编号 | 文本 | 报修工单号 |
|
|
|
| 报修类型 | 标签 | 报修分类 |
|
|
|
| 报修描述 | 文本 | 问题描述摘要 |
|
|
|
| 报修人 | 文本 | 提交人姓名 |
|
|
|
| 状态 | 标签 | 待分配/处理中/待验收/已完成 |
|
|
|
| 创建时间 | 时间 | 工单创建时间 |
|
|
|
|
|
|
- **界面布局**:
|
|
|
- 顶部:统计数字横向排列
|
|
|
- 中部:筛选条件 + 工单卡片列表
|
|
|
- 底部:操作按钮
|
|
|
- **操作按钮**:
|
|
|
- 「分配」→ 分配工单到班组/人员(权限:repair:list:assign)
|
|
|
- 「查看详情」→ 查看工单详情
|
|
|
- 「审批延期」→ 审批维修人员延期申请(权限:repair:detail:approve)
|
|
|
|
|
|
**需求追溯**:
|
|
|
|
|
|
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|
|
|
|------------|----------|----------|----------|----------|
|
|
|
| MP-PM-01 | 报修管理 | 02-小程序端 §9 | 通知维修人员 | 在线报修(Web端) |
|
|
|
|
|
|
### 交互流程要求
|
|
|
|
|
|
1. **页面加载流程**:进入页面 → 并行调用:统计卡片数据 + 工单列表(默认全部状态)
|
|
|
2. **筛选交互**:选择状态/日期/类型 → 触发列表刷新;搜索框输入 → 回车或点击搜索
|
|
|
3. **分配操作**:点击"分配"→ 弹出人员选择弹窗(按班组筛选)→ 选择人员 → 确认 → 调用API → 成功提示 → 推送通知维修人员
|
|
|
4. **查看详情**:点击工单卡片 → 跳转工单详情页
|
|
|
5. **审批延期**:点击"审批延期"→ 弹窗展示延期原因 → 同意/拒绝 → API调用 → 通知申请人
|
|
|
6. **异常处理**:分配失败提示;网络离线提示
|
|
|
7. **权限控制**:无分配权限 → "分配"按钮不显示;无审批权限 → "审批延期"不显示
|
|
|
|
|
|
8. **[H1]防重复请求**
|
|
|
- 分配操作:点击"分配"后按钮 disabled + loading态,API返回后恢复
|
|
|
- 审批延期操作:点击后弹窗底部确认按钮 disabled + loading
|
|
|
- 筛选切换:状态/日期切换时 abort 上一次列表请求再发新的
|
|
|
- 下拉刷新:refreshing 标志位防止重复触发
|
|
|
|
|
|
9. **[H2]超时与加载反馈**
|
|
|
- 统计卡片+列表查询 timeout=15秒
|
|
|
- 分配/审批操作 timeout=30秒
|
|
|
- 超过3秒 wx.showLoading({ title: '加载中', mask: true })
|
|
|
- 超时 → wx.showToast({ icon: 'none', title: '请求超时' }) + 重试按钮
|
|
|
|
|
|
10. **[H3]操作确认机制**
|
|
|
- 分配确认:选择人员后 uni.showModal({ content: '确定将工单分配给{人员姓名}?', success: res => { if(res.confirm) ... } })
|
|
|
- 审批延期同意:uni.showModal({ content: '确定同意该延期申请?', ... })
|
|
|
- 审批延期拒绝:必须填写拒绝原因(弹窗内输入框)
|
|
|
|
|
|
11. **[H8]操作结果反馈**
|
|
|
- 分配成功:wx.showToast({ icon: 'success', title: '分配成功' }) + 刷新列表
|
|
|
- 操作失败:wx.showToast({ icon: 'none', title: errMsg })
|
|
|
- 网络异常:wx.showModal({ title: '提示', content: '网络连接异常', confirmText: '重试' })
|
|
|
|
|
|
### 组件规范
|
|
|
|
|
|
| 元素 | 组件 | 配置参数 |
|
|
|
|------|------|----------|
|
|
|
| 页面容器 | scroll-view | scroll-y, refresher-enabled, @scrolltolower |
|
|
|
| 统计卡片 | view | class="stat-card", v-for, horizontal scroll |
|
|
|
| 状态筛选 | uni-segmented-control | :values="['全部','待分配','处理中','待验收','已完成']" |
|
|
|
| 工单列表 | view | v-for, class="order-card" |
|
|
|
| 状态标签 | uni-tag | :type按状态变化 |
|
|
|
| 分配按钮 | button | size="mini", type="primary" |
|
|
|
| 人员选择弹窗 | uni-popup | type="bottom" |
|
|
|
| 人员列表 | radio-group | v-for |
|
|
|
|
|
|
### 校验规则
|
|
|
|
|
|
无表单校验
|
|
|
|
|
|
### 响应式布局
|
|
|
|
|
|
- 适配机型:iPhone SE ~ iPad mini
|
|
|
- 统计卡片:横向滚动
|
|
|
- 工单卡片:全宽
|
|
|
- 触摸区域:按钮≥44px
|
|
|
|
|
|
---
|
|
|
|
|
|
### 页面2:巡检管理
|
|
|
|
|
|
- **页面路径**:`/pages/manager/inspection`
|
|
|
- **适用角色**:物业管理员/主管
|
|
|
- **页面元素**:
|
|
|
- 巡检统计卡片(今日任务/已完成/异常)
|
|
|
- 巡检看板(人员执行状态)
|
|
|
- 巡检记录列表
|
|
|
- 异常记录查看
|
|
|
- **查询条件**:
|
|
|
- 日期筛选
|
|
|
- 状态筛选
|
|
|
- 人员筛选
|
|
|
- **列表字段**:
|
|
|
|
|
|
| 字段 | 类型 | 说明 |
|
|
|
|------|------|------|
|
|
|
| 计划名称 | 文本 | 巡检计划名称 |
|
|
|
| 执行人 | 文本 | 巡检人员姓名 |
|
|
|
| 区域 | 文本 | 巡检区域 |
|
|
|
| 状态 | 标签 | 待执行/进行中/已完成 |
|
|
|
| 异常数 | 数字 | 发现异常数量 |
|
|
|
|
|
|
- **界面布局**:
|
|
|
- 顶部:统计数字 + 看板缩略
|
|
|
- 中部:巡检记录卡片列表
|
|
|
- 底部:无操作栏
|
|
|
- **操作按钮**:
|
|
|
- 「查看详情」→ 查看巡检记录详情
|
|
|
- 「审核补录」→ 审核巡检补录申请(权限:inspection:supplement:approve)
|
|
|
|
|
|
**需求追溯**:
|
|
|
|
|
|
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|
|
|
|------------|----------|----------|----------|----------|
|
|
|
| MP-PM-02 | 巡检管理 | 02-小程序端 §9 | 无 | 巡检管理(Web端) |
|
|
|
|
|
|
### 交互流程要求
|
|
|
|
|
|
1. **页面加载流程**:进入页面 → 并行加载统计卡片 + 巡检记录列表
|
|
|
2. **筛选交互**:选择日期/状态/人员 → 触发列表刷新
|
|
|
3. **查看详情**:点击记录卡片 → 跳转巡检详情页
|
|
|
4. **审核补录**:点击"审核补录"→ 弹窗展示补录原因+证据 → 同意/拒绝 → API调用 → 通知申请人
|
|
|
5. **异常处理**:数据加载失败显示重试;网络离线提示
|
|
|
6. **权限控制**:无补录审核权限 → "审核补录"按钮不显示
|
|
|
7. **[H1]防重复请求**
|
|
|
- 筛选操作点击后 disabled + loading态,API返回后恢复
|
|
|
- 审核补录操作点击后 disabled + loading态
|
|
|
- 使用 pending 标志位去重,页面卸载时 onUnload 必须 abort 未完成请求(wx.requestTask.abort())
|
|
|
8. **[H2]超时与加载反馈**
|
|
|
- GET列表查询 timeout=15秒;POST/PUT/DELETE写操作 timeout=30秒
|
|
|
- 超时 → wx.showToast({icon:'none', title:'请求超时,请检查网络后重试'})
|
|
|
- 加载>2秒显示 wx.showLoading
|
|
|
9. **[H3]操作确认机制**(有不可逆操作时)
|
|
|
- 审核补录: wx.showModal 确认
|
|
|
10. **[H8]操作结果反馈**
|
|
|
- 成功: wx.showToast({icon:'success', duration:2000})
|
|
|
- 失败: wx.showToast({icon:'none'}) 需手动关闭
|
|
|
- 网络/离线: 异常提示+重试按钮
|
|
|
|
|
|
### 组件规范
|
|
|
|
|
|
| 元素 | 组件 | 配置参数 |
|
|
|
|------|------|----------|
|
|
|
| 页面容器 | scroll-view | scroll-y, refresher-enabled |
|
|
|
| 统计卡片 | view | class="stat-card", v-for |
|
|
|
| 巡检记录列表 | view | v-for, class="inspection-card" |
|
|
|
| 状态标签 | uni-tag | 待执行:type="info", 进行中:type="primary", 已完成:type="success" |
|
|
|
| 审核补录弹窗 | uni-popup | type="bottom" |
|
|
|
| 同意/拒绝按钮 | button | 同意:type="primary", 拒绝:type="warn" |
|
|
|
|
|
|
### 校验规则
|
|
|
|
|
|
无
|
|
|
|
|
|
### 响应式布局
|
|
|
|
|
|
- 适配机型:iPhone SE ~ iPad mini
|
|
|
- 统计卡片横向排列
|
|
|
- 记录卡片全宽
|
|
|
- 按钮触摸区≥44px
|
|
|
|
|
|
---
|
|
|
|
|
|
### 页面3:保洁管理
|
|
|
|
|
|
- **页面路径**:`/pages/manager/cleaning`
|
|
|
- **适用角色**:物业管理员/主管
|
|
|
- **页面元素**:
|
|
|
- 保洁统计卡片(今日任务/已完成/超时)
|
|
|
- 保洁任务列表
|
|
|
- 排班查看
|
|
|
- 抽查操作
|
|
|
- **查询条件**:
|
|
|
- 日期筛选
|
|
|
- 区域筛选
|
|
|
- 状态筛选
|
|
|
- **列表字段**:
|
|
|
|
|
|
| 字段 | 类型 | 说明 |
|
|
|
|------|------|------|
|
|
|
| 任务名称 | 文本 | 保洁区域+类型 |
|
|
|
| 执行人 | 文本 | 保洁人员姓名 |
|
|
|
| 区域 | 文本 | 保洁区域 |
|
|
|
| 状态 | 标签 | 待执行/进行中/待抽查/已完成 |
|
|
|
| 抽查结果 | 标签 | 合格/不合格/待抽查 |
|
|
|
|
|
|
- **界面布局**:
|
|
|
- 顶部:统计数字
|
|
|
- 中部:任务卡片列表
|
|
|
- 底部:抽查操作按钮
|
|
|
- **操作按钮**:
|
|
|
- 「抽查」→ 标记抽查合格/不合格(权限:cleaning:spot-check:approve)
|
|
|
- 「审核补录」→ 审核保洁补录申请(权限:cleaning:supplement:approve)
|
|
|
- 「查看详情」→ 查看任务详情
|
|
|
|
|
|
**需求追溯**:
|
|
|
|
|
|
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|
|
|
|------------|----------|----------|----------|----------|
|
|
|
| MP-PM-03 | 保洁管理 | 02-小程序端 §9 | 不合格时重新生成任务 | 保洁管理(Web端) |
|
|
|
|
|
|
### 交互流程要求
|
|
|
|
|
|
1. **页面加载**:进入页面 → 加载统计卡片 + 保洁任务列表
|
|
|
2. **抽查操作**:点击"抽查"→ 弹窗选择合格/不合格 → 提交 → 不合格时系统自动重新生成任务
|
|
|
3. **审核补录**:同巡检补录审核流程
|
|
|
4. **异常处理**:抽查提交失败提示;不合格重新生成任务失败提示
|
|
|
|
|
|
5. **[H1]防重复请求**
|
|
|
- 抽查操作:点击"抽查"后按钮 disabled + 弹窗确认按钮 loading
|
|
|
- 审核补录:同上
|
|
|
- 筛选切换时 abort 上次请求
|
|
|
|
|
|
6. **[H2]超时与加载反馈**
|
|
|
- 列表查询 timeout=15秒;抽查/审核操作 timeout=30秒
|
|
|
- >3秒 wx.showLoading;超时提示+重试
|
|
|
|
|
|
7. **[H3]操作确认机制**
|
|
|
- 抽查不合格:uni.showModal({ content: '确定标记为不合格?系统将自动重新生成任务', ... })
|
|
|
- 抽查合格:uni.showModal({ content: '确定标记为合格?', ... })
|
|
|
|
|
|
8. **[H8]操作结果反馈**
|
|
|
- 成功:wx.showToast({ icon: 'success' }) + 刷新
|
|
|
- 失败:wx.showToast({ icon: 'none', title: errMsg })
|
|
|
|
|
|
### 组件规范
|
|
|
|
|
|
| 元素 | 组件 | 配置参数 |
|
|
|
|------|------|----------|
|
|
|
| 抽查弹窗 | uni-popup | type="bottom" |
|
|
|
| 合格/不合格 | radio-group | 合格/不合格 |
|
|
|
| 抽查结果标签 | uni-tag | 合格:type="success", 不合格:type="error", 待抽查:type="info" |
|
|
|
|
|
|
### 校验规则
|
|
|
|
|
|
无
|
|
|
|
|
|
### 响应式布局
|
|
|
|
|
|
- 适配机型:iPhone SE ~ iPad mini
|
|
|
- 触摸区域≥44px
|
|
|
|
|
|
---
|
|
|
|
|
|
### 页面4:考勤管理
|
|
|
|
|
|
- **页面路径**:`/pages/manager/attendance`
|
|
|
- **适用角色**:物业管理员/主管
|
|
|
- **页面元素**:
|
|
|
- 今日出勤统计卡片(应到/实到/缺勤/异常)
|
|
|
- 考勤记录列表
|
|
|
- 异常申诉审核
|
|
|
- **查询条件**:
|
|
|
- 日期筛选
|
|
|
- 班组筛选
|
|
|
- 状态筛选(正常/迟到/早退/缺卡/异常)
|
|
|
- **列表字段**:
|
|
|
|
|
|
| 字段 | 类型 | 说明 |
|
|
|
|------|------|------|
|
|
|
| 姓名 | 文本 | 员工姓名 |
|
|
|
| 班组 | 文本 | 所属班组 |
|
|
|
| 上班时间 | 时间 | 上班打卡时间 |
|
|
|
| 下班时间 | 时间 | 下班打卡时间 |
|
|
|
| 状态 | 标签 | 正常/迟到/早退/缺卡 |
|
|
|
| 打卡方式 | 标签 | 蓝牙/手动/补录 |
|
|
|
|
|
|
- **界面布局**:
|
|
|
- 顶部:统计数字
|
|
|
- 中部:考勤记录列表
|
|
|
- 底部:审核操作按钮
|
|
|
- **操作按钮**:
|
|
|
- 「审核申诉」→ 审核打卡异常申诉(权限:attendance:appeal:approve)
|
|
|
- 「审核补录」→ 审核考勤补录(权限:attendance:supplement:approve)
|
|
|
|
|
|
**需求追溯**:
|
|
|
|
|
|
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|
|
|
|------------|----------|----------|----------|----------|
|
|
|
| MP-PM-04 | 考勤管理 | 02-小程序端 §9 | 补录打卡记录 | 考勤打卡(Web端) |
|
|
|
|
|
|
### 交互流程要求
|
|
|
|
|
|
1. **页面加载**:进入页面 → 加载今日出勤统计 + 考勤记录列表
|
|
|
2. **审核申诉**:点击"审核申诉"→ 弹窗展示申诉原因+证据 → 同意/拒绝 → API调用
|
|
|
3. **审核补录**:同上补录审核流程
|
|
|
4. **异常处理**:审核失败提示
|
|
|
|
|
|
5. **[H1]防重复请求**
|
|
|
- 审核申诉/补录:操作按钮点击后 disabled + loading
|
|
|
- 筛选切换 abort 上次请求
|
|
|
|
|
|
6. **[H2]超时与加载反馈**
|
|
|
- 列表查询 timeout=15秒;审核操作 timeout=30秒
|
|
|
- >3秒 wx.showLoading;超时提示+重试
|
|
|
|
|
|
7. **[H3]操作确认机制**
|
|
|
- 审核通过:uni.showModal({ content: '确定同意该申诉/补录?', ... })
|
|
|
- 审核拒绝:uni.showModal + 必填拒绝原因
|
|
|
|
|
|
8. **[H8]操作结果反馈**
|
|
|
- 成功:wx.showToast({ icon: 'success' }) + 刷新
|
|
|
- 失败:wx.showToast({ icon: 'none', title: errMsg })
|
|
|
|
|
|
### 组件规范
|
|
|
|
|
|
| 元素 | 组件 | 配置参数 |
|
|
|
|------|------|----------|
|
|
|
| 统计卡片 | view | class="stat-card" |
|
|
|
| 状态标签 | uni-tag | 正常:type="success", 迟到:type="warning", 早退:type="warning", 缺卡:type="error" |
|
|
|
| 打卡方式标签 | uni-tag | 蓝牙:type="primary", 手动:type="info", 补录:type="warning" |
|
|
|
| 审核弹窗 | uni-popup | type="bottom" |
|
|
|
|
|
|
### 校验规则
|
|
|
|
|
|
无
|
|
|
|
|
|
### 响应式布局
|
|
|
|
|
|
- 适配机型:iPhone SE ~ iPad mini
|
|
|
- 触摸区域≥44px
|
|
|
|
|
|
---
|
|
|
|
|
|
### 页面5:评价管理
|
|
|
|
|
|
- **页面路径**:`/pages/manager/evaluation`
|
|
|
- **适用角色**:物业管理员/主管
|
|
|
- **页面元素**:
|
|
|
- 评价统计卡片(总评价数/平均分/待回复)
|
|
|
- 评价列表
|
|
|
- 回复操作
|
|
|
- **查询条件**:
|
|
|
- 评分筛选(全部/好评/中评/差评)
|
|
|
- 回复状态筛选(全部/待回复/已回复)
|
|
|
- 时间筛选
|
|
|
- **列表字段**:
|
|
|
|
|
|
| 字段 | 类型 | 说明 |
|
|
|
|------|------|------|
|
|
|
| 工单编号 | 文本 | 关联工单号 |
|
|
|
| 评分 | 数字 | 1~5分 |
|
|
|
| 评价内容 | 文本 | 留言摘要 |
|
|
|
| 评价时间 | 时间 | 提交评价时间 |
|
|
|
| 回复状态 | 标签 | 已回复/未回复 |
|
|
|
|
|
|
- **界面布局**:
|
|
|
- 顶部:统计数字 + 平均分显示
|
|
|
- 中部:评价卡片列表
|
|
|
- 底部:回复操作
|
|
|
- **操作按钮**:
|
|
|
- 「回复」→ 回复评价(权限:evaluation:list:update)
|
|
|
- 「查看详情」→ 查看评价详情
|
|
|
|
|
|
**需求追溯**:
|
|
|
|
|
|
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|
|
|
|------------|----------|----------|----------|----------|
|
|
|
| MP-PM-05 | 评价管理 | 02-小程序端 §9 | 通知报修人 | 服务评价(Web端) |
|
|
|
|
|
|
### 交互流程要求
|
|
|
|
|
|
1. **页面加载**:进入页面 → 加载评价统计 + 评价列表
|
|
|
2. **回复操作**:点击"回复"→ 弹窗输入回复内容 → 提交 → API调用 → 成功后通知报修人
|
|
|
3. **查看详情**:点击评价卡片 → 跳转评价详情页
|
|
|
4. **异常处理**:回复失败提示
|
|
|
|
|
|
5. **[H1]防重复请求**
|
|
|
- 回复操作:点击"回复"后按钮 disabled + 弹窗提交按钮 loading
|
|
|
- 筛选切换 abort 上次请求
|
|
|
|
|
|
6. **[H2]超时与加载反馈**
|
|
|
- 列表查询 timeout=15秒;回复提交 timeout=30秒
|
|
|
- >3秒 wx.showLoading;超时提示+重试
|
|
|
|
|
|
7. **[H8]操作结果反馈**
|
|
|
- 回复成功:wx.showToast({ icon: 'success', title: '回复成功' }) + 刷新
|
|
|
- 回复失败:wx.showToast({ icon: 'none', title: errMsg })
|
|
|
|
|
|
### 组件规范
|
|
|
|
|
|
| 元素 | 组件 | 配置参数 |
|
|
|
|------|------|----------|
|
|
|
| 评分展示 | uni-rate | :size=16, :readonly=true |
|
|
|
| 回复状态标签 | uni-tag | 已回复:type="success", 未回复:type="warning" |
|
|
|
| 回复弹窗 | uni-popup | type="bottom" |
|
|
|
| 回复输入 | uni-easyinput | type="textarea", maxlength=200 |
|
|
|
|
|
|
### 校验规则
|
|
|
|
|
|
| 字段 | 规则 | 错误提示 |
|
|
|
|------|------|----------|
|
|
|
| 回复内容 | 必填, 最大200字符 | "请输入回复内容" |
|
|
|
|
|
|
### 响应式布局
|
|
|
|
|
|
- 适配机型:iPhone SE ~ iPad mini
|
|
|
- 触摸区域≥44px
|
|
|
|
|
|
---
|
|
|
|
|
|
### 页面6:组织架构查看
|
|
|
|
|
|
- **页面路径**:`/pages/manager/org`
|
|
|
- **适用角色**:物业管理员/主管
|
|
|
- **页面元素**:
|
|
|
- 班组列表
|
|
|
- 班组成员查看
|
|
|
- 人员基本信息查看
|
|
|
- **查询条件**:
|
|
|
- 班组筛选
|
|
|
- 关键词搜索(姓名/职位)
|
|
|
- **列表字段**:
|
|
|
|
|
|
| 字段 | 类型 | 说明 |
|
|
|
|------|------|------|
|
|
|
| 班组名称 | 文本 | 班组名 |
|
|
|
| 班组长 | 文本 | 负责人姓名 |
|
|
|
| 人数 | 数字 | 班组人数 |
|
|
|
| 技能标签 | 标签组 | 班组主要技能 |
|
|
|
|
|
|
- **界面布局**:
|
|
|
- 顶部:搜索框 + 筛选
|
|
|
- 中部:班组卡片列表 → 点击展开成员列表
|
|
|
- 底部:无操作栏
|
|
|
- **操作按钮**:
|
|
|
- 「查看班组」→ 展开班组成员列表
|
|
|
- 「查看人员」→ 查看人员详情
|
|
|
- 「拨打电话」→ 调用手机拨号功能
|
|
|
|
|
|
**数据来源**:与Web端组织架构同一数据源
|
|
|
|
|
|
**需求追溯**:
|
|
|
|
|
|
| 功能点编号 | 功能名称 | 文档来源 | 后续服务 | 关联功能 |
|
|
|
|------------|----------|----------|----------|----------|
|
|
|
| MP-PM-06 | 组织架构查看 | 02-小程序端 §9 | 无 | 组织架构(Web端) |
|
|
|
|
|
|
### 交互流程要求
|
|
|
|
|
|
1. **页面加载**:进入页面 → 调用API加载班组列表
|
|
|
2. **查看班组**:点击班组卡片 → 展开班组成员列表(手风琴模式,同时只展开一个)
|
|
|
3. **查看人员**:点击人员 → 跳转人员详情页(姓名、职位、电话、技能标签)
|
|
|
4. **拨打电话**:点击"拨打电话"→ 调用 `uni.makePhoneCall` → 拨号
|
|
|
5. **搜索**:输入关键词 → 实时筛选班组/人员
|
|
|
6. **异常处理**:拨号失败(无电话号码)→ 提示"该人员未设置联系电话"
|
|
|
|
|
|
### 前端硬性约束
|
|
|
|
|
|
> - **H1 防重复提交**:
|
|
|
> - 搜索/筛选请求使用 pending 标志位去重,避免频繁触发 API 调用。
|
|
|
> - 页面卸载时(`onUnload`)必须 `abort` 未完成的请求。
|
|
|
> - **H2 超时处理**:
|
|
|
> - 班组列表(GET)接口超时 **15秒**;超过 3 秒未响应展示 loading 动画。
|
|
|
> - 搜索防抖处理(300ms),避免高频输入触发过多请求。
|
|
|
> - **H8 操作反馈**:
|
|
|
> - 数据加载成功 `uni.showToast({ icon: 'success', duration: 2000 })`,拨号失败 `icon: 'none'` 提示具体原因。
|
|
|
|
|
|
### 组件规范
|
|
|
|
|
|
| 元素 | 组件 | 配置参数 |
|
|
|
|------|------|----------|
|
|
|
| 搜索框 | uni-easyinput | placeholder="搜索姓名/职位", clearable |
|
|
|
| 班组卡片 | uni-card | :isFull=true, @click="toggleExpand" |
|
|
|
| 展开收起 | uni-icons | type="bottom"/"top" |
|
|
|
| 成员列表 | view | v-for, v-show="expanded" |
|
|
|
| 技能标签 | uni-tag | v-for, type="primary", size="mini" |
|
|
|
| 拨打电话按钮 | button | size="mini", type="primary", @click="makePhoneCall" |
|
|
|
|
|
|
### 校验规则
|
|
|
|
|
|
无
|
|
|
|
|
|
### 响应式布局
|
|
|
|
|
|
- 适配机型:iPhone SE ~ iPad mini
|
|
|
- 班组卡片全宽
|
|
|
- 成员列表全宽
|
|
|
- 触摸区域≥44px
|
|
|
|
|
|
---
|
|
|
|
|
|
## 业务规则
|
|
|
|
|
|
1. **数据同步**:管理员小程序端与Web端同一数据源,操作实时同步
|
|
|
2. **功能简化**:小程序端为简化版管理功能,完整管理操作在Web端进行
|
|
|
3. **权限继承**:管理员小程序端的权限与Web端角色权限一致,通过四级权限体系控制
|
|
|
4. **双端审批**:以下审批场景支持Web+小程序双端操作:
|
|
|
- 工单延期审批 ✅
|
|
|
- 工单分配 ✅
|
|
|
- 工单验收 ✅
|
|
|
- 打卡异常审核 ✅
|
|
|
- 数据补录审核 ✅
|
|
|
- 保洁抽查 ✅
|
|
|
5. **仅限物业端审批**:合同审批、合同变更审批、合同续签审批、付款确认、定标审批仅Web端(医院账号)
|
|
|
6. **推送通知**:审批待办通过微信小程序推送通知管理员
|
|
|
7. **操作日志**:所有管理操作记录审计日志
|
|
|
|
|
|
## 状态流转
|
|
|
|
|
|
管理员小程序端的状态流转与Web端一致,具体参见各模块文档:
|
|
|
- 报修工单流转 → 参见02-功能清单-物业公司/01-在线报修.md
|
|
|
- 巡检任务流转 → 参见02-功能清单-物业公司/02-巡检管理.md
|
|
|
- 保洁任务流转 → 参见02-功能清单-物业公司/03-保洁管理.md
|
|
|
|
|
|
## 双端审批对照表
|
|
|
|
|
|
| 审批场景 | Web端 | 小程序端 | 审批角色 |
|
|
|
|----------|-------|----------|----------|
|
|
|
| 工单延期审批 | ✅ | ✅ | 物业(主管) |
|
|
|
| 工单分配 | ✅ | ✅ | 物业(主管) |
|
|
|
| 工单验收 | ✅ | ✅ | 物业(主管/报修人) |
|
|
|
| 合同审批 | ✅ | — | 医院账号(仅Web端) |
|
|
|
| 合同变更审批 | ✅ | — | 医院账号(仅Web端) |
|
|
|
| 合同续签审批 | ✅ | — | 医院账号(仅Web端) |
|
|
|
| 付款确认 | ✅ | — | 医院账号(仅Web端) |
|
|
|
| 定标审批 | ✅ | — | 医院账号(仅Web端) |
|
|
|
| 打卡异常审核 | ✅ | ✅ | 物业(主管) |
|
|
|
| 数据补录审核 | ✅ | ✅ | 物业(主管) |
|
|
|
| 保洁抽查 | ✅ | ✅ | 物业(主管) |
|