Files
Neo-ZQYY/docs/h5_ui/interactions/performance.md

89 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 页面名performance我的业绩
> PRD 参考P7 `docs/prd/specs/P7-miniapp-fe-performance.md`
> 已实现:否
## 页面说明
展示助教业绩全貌:收入档位、本月/上月业绩明细(含服务记录)、新客和常客列表。多个区域支持展开/收起和"查看全部"跳转。
## Banner 主题
`banner-bg theme-blue texture-aurora`(蓝色主题)
## 状态变量
| 变量名 | 类型 | 初始值 | 说明 |
|--------|------|--------|------|
| performanceSummary | object | null | 业绩汇总(收入、档位、工资预估) |
| thisMonthRecordsExpanded | boolean | false | 本月服务记录展开状态 |
| lastMonthRecordsExpanded | boolean | false | 上月服务记录展开状态 |
| newCustomerExpanded | boolean | false | 新客列表展开状态 |
| regularCustomerExpanded | boolean | false | 常客列表展开状态 |
| loading | boolean | true | 数据加载中 |
| error | boolean | false | 加载失败 |
## 页面区域结构(忠于原型 HTML
1. Banner个人信息花名/身份/门店 + 核心数据:本月预计收入 + 上月收入)
2. 收入情况(`bg-primary` 圆点)— 当前档位 + 下一阶段目标 + 升级提示(「距下一阶段需完成 X 小时,到达即得 Y 元」)
- 跳档激励计算公式PRD 补充YYY = max(跳档线差值最小值, 实际差值)
- 各档差值Tier0→1: 1200元 / Tier1→2: 750元 / Tier2→3: 540元 / Tier3→4: 420元
3. 本月业绩 预估(`bg-success` 圆点)— 基础课时费/激励课时费/充值激励/TOP3销冠奖/合计 + 我的服务记录明细
4. 上月收入(`bg-warning` 圆点)— 同结构 + 我的服务记录明细
5. 我的新客(`bg-cyan-500` 圆点)— 按时间顺序
6. 我的常客(`bg-pink-500` 圆点)— 近2月贡献TOP20
## 用户操作 → 响应
| 操作 | 触发条件 | 响应行为 | 目标状态 |
|------|----------|----------|----------|
| 页面加载 | 进入页面 | 请求业绩汇总+服务记录+新客+常客 | loading→false |
| 点击"展开更多"(本月服务记录) | thisMonthRecordsExpanded=false | 显示隐藏的更多记录条目,按钮文字变「收起」 | thisMonthRecordsExpanded=true |
| 点击"收起"(本月服务记录) | thisMonthRecordsExpanded=true | 隐藏多余记录条目,按钮文字变「展开更多」 | thisMonthRecordsExpanded=false |
| 点击"展开更多"(上月服务记录) | lastMonthRecordsExpanded=false | 同上 | lastMonthRecordsExpanded=true |
| 点击"收起"(上月服务记录) | lastMonthRecordsExpanded=true | 同上 | lastMonthRecordsExpanded=false |
| 点击"查看全部"(本月) | 服务记录区域 | navigateTo performance-records本月口径 | — |
| 点击"查看全部"(上月) | 服务记录区域 | navigateTo performance-records上月口径 | — |
| 点击"查看更多 ↓"(新客列表) | newCustomerExpanded=false | 展开完整新客列表 | newCustomerExpanded=true |
| 点击"收起 ↑"(新客列表) | newCustomerExpanded=true | 收起新客列表 | newCustomerExpanded=false |
| 点击"查看更多 ↓"(常客列表) | regularCustomerExpanded=false | 展开完整常客列表 | regularCustomerExpanded=true |
| 点击"收起 ↑"(常客列表) | regularCustomerExpanded=true | 收起常客列表 | regularCustomerExpanded=false |
| 点击新客/常客卡片 | 无 | navigateTo task-detail按该客户当前任务类型跳转对应详情页 | — |
| 点击返回 | 顶部导航栏 | navigateBack / history.back() | — |
| 点击"重试" | error=true | 重新请求数据 | loading=true |
## 服务记录展示
- 按天归总,每天显示服务次数和总时长
- 默认显示前几条,其余折叠
- 展开/收起按钮:`id="thisMonthRecordsToggle"` / `id="lastMonthRecordsToggle"`
- "查看全部"链接跳转 `performance-records.html`
## 新客/常客展示
- 我的新客:该助教首次服务 + 2 月内 + 服务次数 ≤2按最后服务时间排列
- 我的常客近2月贡献TOP20按服务次数降序展示次数、小时数、工资合计
- 两个列表均支持展开/收起(`toggleNewCustomer()` / `toggleRegularCustomer()`
## 业绩数据说明
- 营业日以 08:00 为分割点("本月"= 当月1日 08:00 ~ 次月1日 08:00
- 当月数据标记"预估"
## 页面状态枚举
| 状态名 | 视觉表现 | 触发条件 |
|--------|----------|----------|
| 加载中 | 区域文案"加载中..." | loading=true |
| 正常态 | 完整业绩展示 | 有数据 |
| 空数据态 | 各区域"暂无数据" | 对应列表为空 |
| 错误态 | "加载失败,请点击重试" + 重试按钮 | error=true |
## 后端 API 依赖
| API | 方法 | 说明 |
|-----|------|------|
| `GET /api/performance/summary` | GET | 当月绩效汇总 |
| `GET /api/performance/service-records` | GET | 服务记录明细(分页) |
| `GET /api/performance/my-new-customers` | GET | 我的新客列表 |
| `GET /api/performance/my-regulars` | GET | 我的常客列表 |
## 页面导航
- 来源task-list点击 Banner 业绩区域)
- 去向performance-records查看全部/ task-detail*(点击新客/常客卡片)
## 全局组件
- 自定义顶部导航栏(返回按钮 + "我的业绩"
- AI 悬浮按钮