微信小程序页面迁移校验之前 P5任务处理之前

This commit is contained in:
Neo
2026-03-09 01:19:21 +08:00
parent 263bf96035
commit 6e20987d2f
1112 changed files with 153824 additions and 219694 deletions

View File

@@ -0,0 +1,104 @@
# 页面名board-coach助教看板
> PRD 参考P8 `docs/prd/specs/P8-miniapp-fe-boards.md``apps/miniprogram/doc/prd.md` 第九节 9.3
> 已实现:否
## 页面说明
按排序×技能×时间三重筛选查看助教排名列表。不同排序维度下卡片结构和突出数据不同。
## 状态变量
| 变量名 | 类型 | 初始值 | 说明 |
|--------|------|--------|------|
| selectedSort | string | "定档业绩最高" | 排序筛选 |
| selectedSkill | string | "不限" | 技能筛选 |
| selectedTime | string | "本月" | 时间筛选 |
| sortDropdownVisible | boolean | false | 排序筛选下拉展开 |
| skillDropdownVisible | boolean | false | 技能筛选下拉展开 |
| timeDropdownVisible | boolean | false | 时间筛选下拉展开 |
| coaches | array | [] | 助教列表 |
| loading | boolean | true | 数据加载中 |
| error | boolean | false | 加载失败 |
## 用户操作 → 响应
| 操作 | 触发条件 | 响应行为 | 目标状态 |
|------|----------|----------|----------|
| 页面加载 | 进入页面 | GET /api/board/coaches | loading→false |
| 点击排序筛选 | 无 | 展开排序下拉,关闭其他 | sortDropdownVisible=true |
| 选择排序 | 下拉展开 | 切换对应 dim-container 显隐,重新请求数据 | selectedSort 更新 |
| 点击技能筛选 | 无 | 展开技能下拉,关闭其他 | skillDropdownVisible=true |
| 选择技能 | 下拉展开 | 重新请求数据 | selectedSkill 更新 |
| 点击时间筛选 | 无 | 展开时间下拉,关闭其他 | timeDropdownVisible=true |
| 选择时间 | 下拉展开 | 重新请求数据 | selectedTime 更新 |
| 点击助教卡片 | 无 | navigateTo coach-detail | — |
| 切换看板 Tab | 顶部 Tab 栏 | navigateTo board-finance / board-customer | — |
| 滚动页面 | 持续 | 下滑隐藏筛选栏,上滑显示 | — |
| 点击"重试" | error=true | 重新请求数据 | loading=true |
## 筛选器选项(忠于原型 HTML
### 排序筛选6 个)
1. 定档业绩最高
2. 定档业绩最低
3. 工资最高
4. 工资最低
5. 客源储值最高
6. 任务完成最多
### 技能筛选
不限 / 🎱 / 斯 / 🀄 / 🎤
### 时间筛选
本月 / 本季度 / 上月 / 前3个月不含本月/ 上季度 / 最近6个月不含本月不支持客源储值最高
## 排序切换 → 卡片结构映射(忠于原型 HTML
切换排序时,通过 `selectSort(value)` 函数切换对应的 `dim-container` 显隐。每种排序的卡片右侧突出数据不同:
| 排序 | container id | 卡片右侧突出数据 |
|------|-------------|-----------------|
| 定档业绩最高/最低 | `dim-perf` | 定档 Xh + 折前 Xh + 距升档 Xh或 ✅ 已达标) |
| 工资最高/最低 | `dim-salary` | 预估标签 + ¥金额(大字)+ 定档/折前 |
| 客源储值最高 | `dim-sv` | 储值 ¥金额(大字)+ 客户 X人 + 消耗 ¥X |
> 高客源储值定义PRD 补充RS > 2 的客户的会员卡储值合计RS = 关系强度指数,> 2 表示有一定服务关系的客户)
| 任务完成最多 | `dim-task` | 召回 X蓝色大字+ 回访 X |
### 所有卡片共有元素
- 助教头像圆形 + 姓名
- 等级标签(星级/高级/中级/初级)— 不同等级不同颜色
- 技能标签(🎱/斯/🀄/🎤)
- 底部 TOP3 客户 emoji 列表
## 等级标签颜色
| 等级 | 颜色 |
|------|------|
| 星级 | 金色/amber |
| 高级 | 蓝色/primary |
| 中级 | 绿色/success |
| 初级 | 灰色/gray |
## 筛选栏滚动行为
- 下滑时筛选栏隐藏,上滑时重新显示
-`initFilterBarScrollBehavior()` 实现
## 页面状态枚举
| 状态名 | 视觉表现 | 触发条件 |
|--------|----------|----------|
| 加载中 | 区域文案"加载中..." | loading=true |
| 正常态 | 助教列表 | 有数据 |
| 空数据态 | "暂无数据" | coaches 为空 |
| 错误态 | "加载失败,请点击重试" + 重试按钮 | error=true |
## 后端 API 依赖
| API | 方法 | 说明 |
|-----|------|------|
| `GET /api/board/coaches` | GET | 助教看板(排序×技能×时间三重筛选) |
## 页面导航
- 来源board-finance / board-customer看板 Tab 切换)
- 去向coach-detail / chat
## 全局组件
- 底部 TabBar看板 active
- AI 悬浮按钮(右下角)
- 看板顶部 Tab 栏(财务 / 客户 / 助教 active