# P7：小程序前端 — 绩效模块 — miniapp-fe-performance

> 优先级：P7（依赖 P2 + P3）
> 预估工作量：中等

---

## 需求（Requirements）

### 用户故事

1. 作为助教，我在绩效页面能看到当月收入、业绩档位、工资预估。
2. 作为助教，我能看到本月/上月的服务记录明细，按天归总。（营业日以 08:00 为分割点，如"本月"= 当月1日 08:00 ~ 次月1日 08:00）
3. 作为助教，我能看到"我的新客"（首次服务且 2 月内服务 ≤2 次的客户）和"我的常客"（2 月内服务次数最多的客户）。
4. 作为助教，我在业绩明细页能看到每条服务的详情，包括定档折算惩罚展示。

### 验收标准

- AC1：收入与业绩档位数据从 `dws_assistant_salary_calc` 正确读取
- AC2：服务记录按天归总展示，支持本月/上月切换（营业日以 08:00 为分割点）
- AC3："我的新客"筛选逻辑正确（该助教首次服务 + 2 月内 + 服务次数 ≤2）
- AC4："我的常客"按服务次数降序，展示次数、小时数、工资合计
- AC5：业绩明细每条展示：结账时间、课程类型、台桌/房间、会员昵称、开始/结束时间、业绩分钟
- AC6：有定档折算惩罚时展示"120分钟（定档折算30分钟）"格式
- AC7：当月数据显示"预估"标记

---

## 页面清单

### performance（我的绩效）

- 收入与业绩档位卡片
- 服务记录明细（按天归总，本月/上月切换；营业日以 08:00 为分割点）
- 我的新客列表（按最后服务时间排列）
- 我的常客列表（按服务次数降序）
- 服务明细：按天/月归总整合数据

### performance-records（业绩明细）

- 口径选择（本月/上月/本周/上周等；营业日以 08:00 为分割点，如"本月"= 当月1日 08:00 ~ 次月1日 08:00）
- 业绩列表（每条含：结账时间、课程类型、台桌/房间、会员昵称、开始/结束时间、业绩分钟+折算展示）
- 按天/月归总整合

---

## 后端 API 需求

| API | 说明 | 数据源 |
|-----|------|--------|
| `GET /api/performance/summary` | 当月绩效汇总 | `fdw_etl.dws_assistant_salary_calc` |
| `GET /api/performance/service-records` | 服务记录明细（分页） | `fdw_etl.dwd_assistant_service_log` |
| `GET /api/performance/my-new-customers` | 我的新客列表 | `fdw_etl.dws_assistant_customer_stats` |
| `GET /api/performance/my-regulars` | 我的常客列表 | `fdw_etl.dws_assistant_customer_stats` |
| `GET /api/performance/records` | 业绩明细（按口径） | `fdw_etl.dwd_assistant_service_log` + `fdw_etl.dws_assistant_daily_detail` |

---

## 小程序前端开发强制规范

> 以下规范适用于本 SPEC 中所有小程序页面实现，具有强制约束力。

1. **原型图是唯一视觉真相**：`docs/h5_ui/pages/*.html` 中的结构、层次、元素、配色、间距、交互行为是小程序页面实现的唯一参考标准。任何偏离原型图的实现都需要明确的产品确认。
2. **WXML ≠ HTML**：严禁在小程序中使用 HTML 标签（div/span/p/a/img 等），必须使用小程序原生标签（view/text/image/navigator 等）。
3. **WXSS ≠ CSS**：使用 rpx 单位、仅支持有限选择器、无 DOM/BOM API、样式隔离机制不同。Tailwind CSS 类名必须手动转换为 WXSS。
4. **TDesign 优先**：凡 TDesign 组件库能覆盖的 UI 元素，必须使用 TDesign 组件；自定义实现仅限 TDesign 无法覆盖的场景。
5. **Power 文档优先**：实现前必须加载 `wechat-miniprogram` Power 的相关 steering 文件（`view-layer.md`、`tdesign.md`、`builtin-components.md`），确保语法和组件用法正确。
6. **项目踩坑指南必读**：实现前必须阅读 `docs/prd/MIGRATION-PLAYBOOK.md` 第六章，该文档是基于本项目实际转换经验的避坑手册，涵盖 WXML/WXSS 差异、事件系统、TDesign 用法、rpx 换算规则及新页面开发 Checklist。

---

## 任务清单

- [ ] T1：实现绩效汇总 API（含定档、工资、档位）
- [ ] T2：实现服务记录明细 API（按天归总 + 分页）
- [ ] T3：实现我的新客/常客 API
- [ ] T4：实现业绩明细 API（含定档折算惩罚字段）
- [ ] T5：实现 performance 小程序页面
- [ ] T6：实现 performance-records 小程序页面
- [ ] T7：实现"预估"标记组件（当月/本周数据自动标记；营业日以 08:00 为分割点）
