Files
Neo-ZQYY/docs/prd/specs/P8-miniapp-fe-boards.md

86 lines
3.4 KiB
Markdown
Raw Permalink 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.
# P8小程序前端 — 看板模块 — miniapp-fe-boards
> 优先级P8依赖 P2 + P3 + P5
> 预估工作量:大
---
## 需求Requirements
### 用户故事
1. 作为管理者我在财务看板能看到多维度交叉筛选的财务数据、环比、AI 洞察。
2. 作为管理者,我在客户看板能按 8 个维度排序查看前 100 名客户。
3. 作为管理者,我在助教看板能按业绩/工资/客源储值/任务完成等维度排序查看助教。
4. 作为系统,看板数据需要缓存层以提升查询性能。
### 验收标准
- AC1财务看板支持 2 组筛选交叉(区域 × 时间),选择非"全部区域"时预收资产板块消失
- AC2财务看板环比数据正确计算
- AC3财务看板 AI 洞察从缓存读取(应用 2 每日更新)
- AC4客户看板 8 个维度筛选正确(最应召回/最大消费潜力/最高余额/最近充值/最高消费60天/最频繁60天/最近到店/最专一)
- AC5客户看板"最专一"维度下类型筛选锁定为"不限"
- AC6助教看板维度×项目×日期三重筛选交叉正确
- AC7看板数据有缓存层非每次实时查询 FDW
---
## 页面清单
### board-finance财务看板
- 筛选器:区域筛选 + 时间筛选(本月/上月/本周/上周/前3月/本季/上季/近6月
- 数据板块:收入结构、预收资产(条件隐藏)、支出汇总、平台结算
- 环比展示
- AI 智能洞察(应用 2 缓存结果)
- "问问助手"入口 → chat.html
### board-customer客户看板
- 维度筛选8 个维度,默认"最应召回"
- 类型筛选(全部/台球/斯诺克/麻将/团建 + 台费包厢流水过滤)
- 筛选互斥规则:"最专一"锁定类型为"不限"
- 客户列表(前 100 名)
- 每个客户卡片:昵称、爱心 icon、喜好标签、关键指标值
- 右下角 AI 按钮 → chat.html
### board-coach助教看板
- 维度筛选:定档业绩最高/最低、工资最高/最低、高客源储值额最高、任务完成最多
- 项目筛选:全部/中🎱/斯诺克/麻将/团建
- 日期维度筛选:本月/上月/本周/上周/前3月/本季/上季/近6月
- 助教列表
- 右下角 AI 按钮 → chat.html
---
## 后端 API 需求
| API | 说明 | 缓存 |
|-----|------|------|
| `GET /api/board/finance` | 财务看板数据(交叉筛选) | 是 |
| `GET /api/board/finance/ai-insight` | 财务 AI 洞察 | 是应用2缓存 |
| `GET /api/board/customers` | 客户看板(维度+类型筛选) | 是 |
| `GET /api/board/coaches` | 助教看板(维度×项目×日期) | 是 |
### 缓存策略
- 看板数据缓存层Redis 或内存缓存
- 缓存粒度:`site_id` + 筛选条件组合
- 缓存过期ETL 数据更新后失效(约 1 小时)
- AI 洞察缓存:从 `biz.ai_cache` 读取(应用 2 每日更新)
---
## 任务清单
- [ ] T1实现看板缓存层Redis/内存,按 site_id + 筛选条件)
- [ ] T2实现财务看板 API交叉筛选 + 环比 + 预收资产条件隐藏)
- [ ] T3实现客户看板 API8 维度排序 + 类型筛选 + 互斥规则)
- [ ] T4实现助教看板 API维度×项目×日期三重筛选
- [ ] T5实现 board-finance 小程序页面
- [ ] T6实现 board-customer 小程序页面
- [ ] T7实现 board-coach 小程序页面
- [ ] T8实现通用筛选器组件时间/维度/项目)