4.3 KiB
4.3 KiB
页面名:board-customer(客户看板)
PRD 参考:P8
docs/prd/specs/P8-miniapp-fe-boards.md;apps/miniprogram/doc/prd.md第九节 9.2 已实现:否
页面说明
按 8 个维度查看前 100 名客户。支持维度切换和项目筛选,不同维度下卡片结构和展示内容不同。
状态变量
| 变量名 | 类型 | 初始值 | 说明 |
|---|---|---|---|
| selectedType | string | "最应召回" | 维度/类型筛选(8 个维度) |
| selectedProject | string | "全部" | 项目筛选 |
| customers | array | [] | 客户列表(前 100 名) |
| typeDropdownVisible | boolean | false | 维度筛选下拉展开 |
| projectDropdownVisible | boolean | false | 项目筛选下拉展开 |
| loading | boolean | true | 数据加载中 |
| error | boolean | false | 加载失败 |
用户操作 → 响应
| 操作 | 触发条件 | 响应行为 | 目标状态 |
|---|---|---|---|
| 页面加载 | 进入页面 | GET /api/board/customers | loading→false |
| 点击维度筛选 | 无 | 展开维度下拉,关闭其他 | typeDropdownVisible=true |
| 选择维度 | 下拉展开 | 切换对应 dim-container 显隐,重新请求数据 | selectedType 更新 |
| 点击项目筛选 | 无 | 展开项目下拉,关闭其他 | projectDropdownVisible=true |
| 选择项目 | 下拉展开 | 重新请求数据 | selectedProject 更新 |
| 点击客户卡片 | 无 | navigateTo customer-detail | — |
| 切换看板 Tab | 顶部 Tab 栏 | navigateTo board-finance / board-coach | — |
| 滚动页面 | 持续 | 下滑隐藏筛选栏,上滑显示 | — |
| 点击"重试" | error=true | 重新请求数据 | loading=true |
筛选器选项(忠于原型 HTML)
维度/类型筛选(8 个)
- 最应召回 — WBI(加权流失指数),综合到店间隔、消费频率、余额等
- 最大消费潜力 — 综合权重(频率×客单×余额×活跃度)
- 最高余额
- 最近充值
- 最近到店
- 最高消费 近60天
- 最频繁 近60天
- 最专一 近60天 — 亲密度最大值(该客户对某助教的服务集中度)
项目筛选
全部 / 中🎱 / 斯诺克 / 麻将 / 团建
维度切换 → 卡片结构映射(忠于原型 HTML)
切换维度时,通过 selectType(value) 函数切换对应的 dim-container 显隐。每个维度的卡片结构不同:
| 维度 | container id | 卡片特有内容 |
|---|---|---|
| 最应召回 | dim-recall |
理想天数 / 已过天数 / 超期天数(红色标签)+ 30天到店次数 / 余额 / 召回指数 |
| 最大消费潜力 | dim-potential |
频率标签(高频/中频)+ 客单标签 + 余额标签 + 4列网格:30天消费/月均到店/余额/次均消费 |
| 最高余额 | dim-balance |
最近到店/理想天数 + 3列网格:余额(大字橙色)/月均消耗/可用月数 |
| 最近充值 | dim-recharge |
最近到店/理想天数 + 4列网格:最后充值/充值金额/60天充值次数/当前余额 |
| 最近到店 | dim-recent |
到店天数 + 到店频率 + 余额 |
| 最高消费 近60天 | dim-spend60 |
高消费标签 + 3列网格:60天消费/次均消费/到店次数 |
| 最频繁 近60天 | dim-freq60 |
频率标签 + 到店次数/消费金额/次均消费 |
| 最专一 近60天 | dim-loyal |
专一度指标 + 服务助教分布 |
所有卡片共有元素
- 客户昵称 + 爱心 emoji(💖/🧡/💛/💙)+ 喜好标签(🎱/斯/🀅/🎤)
- 底部助教行:助教名 + 关系 emoji + 跟/弃 badge
- 助教标记样式:有助教跟进时显示助教名+关系状态
筛选栏滚动行为
- 下滑时筛选栏隐藏,上滑时重新显示
- 由
initFilterBarScrollBehavior()实现
助教身份隐式过滤(PRD 补充)
- 助教角色登录时,后台默认只显示该助教 14 天内服务过的客户
- 店长角色无此限制,可查看全部客户
页面状态枚举
后端 API 依赖
| API | 方法 | 说明 |
|---|---|---|
GET /api/board/customers |
GET | 客户看板(维度+项目筛选) |
页面导航
- 来源:board-finance / board-coach(看板 Tab 切换)
- 去向:customer-detail / chat
全局组件
- 底部 TabBar(看板 active)
- AI 悬浮按钮(右下角)
- 看板顶部 Tab 栏(财务 / 客户 active / 助教)