Files
Neo-ZQYY/docs/prd/specs/P8-miniapp-fe-boards.md
2026-03-15 10:15:02 +08:00

6.8 KiB
Raw Permalink Blame History

P8小程序前端 — 看板模块 — miniapp-fe-boards

优先级P8依赖 P2 + P3 + P5-A 预估工作量:大


需求Requirements

用户故事

  1. 作为管理者我在财务看板能看到多维度交叉筛选的财务数据、环比、AI 洞察。
  2. 作为管理者,我在客户看板能按 8 个维度排序查看前 100 名客户。
  3. 作为管理者,我在助教看板能按业绩/工资/客源储值/任务完成等维度排序查看助教。
  4. 作为系统,看板数据需要缓存层以提升查询性能。

验收标准

  • AC1财务看板支持 2 组筛选交叉(区域 × 时间),选择非"全部区域"时预收资产板块消失
  • AC2财务看板环比数据正确计算
  • AC3财务看板 AI 洞察从缓存读取(应用 2 每日更新JSON 格式:序号+标题+正文数组)
  • AC4客户看板 8 个维度筛选正确(最应召回/最大消费潜力/最高余额/最近充值/最高消费60天/最频繁60天/最近到店/最专一)
  • AC5客户看板"最专一"维度下类型筛选锁定为"不限"
  • AC6助教看板维度×项目×日期三重筛选交叉正确
  • AC7看板数据有缓存层非每次实时查询 FDW

页面清单

board-finance财务看板

  • 筛选器:区域筛选 + 时间筛选(本月/上月/本周/上周/前3月/本季/上季/近6月营业日以 08:00 为分割点,如"本月"= 当月1日 08:00 ~ 次月1日 08:00
  • 数据板块:收入结构、预收资产(条件隐藏)、支出汇总、平台结算
  • 环比展示
  • AI 智能洞察(应用 2 缓存结果JSON 结构化输出:数组,每条含序号+标题+正文详情UI 布局参考 docs/h5_ui/ 财务看板 AI 智能洞察)
  • "问问助手"入口 → chat.html

board-customer客户看板

  • 维度筛选8 个维度,默认"最应召回"
  • 类型筛选(全部/🎱 中式/追分/斯诺克/🀄 麻将/棋牌/🎤 团建/K歌 + 台费包厢流水过滤)
  • 筛选互斥规则:"最专一"锁定类型为"不限"
  • 客户列表(前 100 名)
  • 每个客户卡片:昵称、爱心 icon、喜好标签、关键指标值
  • 右下角 AI 按钮 → chat.html

board-coach助教看板

  • 维度筛选:定档业绩最高/最低、工资最高/最低、高客源储值额最高、任务完成最多
  • 项目筛选:全部/🎱 中式/追分/斯诺克/🀄 麻将/棋牌/🎤 团建/K歌
  • 日期维度筛选:本月/上月/本周/上周/前3月/本季/上季/近6月营业日以 08:00 为分割点,如"本月"= 当月1日 08:00 ~ 次月1日 08:00
  • 助教列表
  • 右下角 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 助教看板(维度×项目×日期)

财务看板数据字段映射已校准数据源DWD-DOC 03-财务全景)

收入结构settle_type IN (1, 3),台桌结账 + 商城订单):

收入来源 DWS 字段 占比 说明
台费 table_charge_money 56.6% 按秒计时,台区单价固定
助教陪打 assistant_pd_money 30.6% 按秒计时,单价按等级
商品 goods_money 10.1% 酒水食品
助教超休 assistant_cx_money 0.9%(仅 type=1 按课时190 元/课时settle_type=3 含 477 笔纯超休订单cx=245,480占全口径超休 85%+
灯控电费 electricity_money 0% 门店未启用,全为 0

⚠️ settle_type=3商城订单中包含大量纯超休/激励课订单,财务看板取数必须 settle_type IN (1, 3),否则严重低估超休收入。

⚠️ 消费金额口径:使用 items_sum= tc + goods + pd + cx + electricity不得使用 consume_money(三种历史口径混合)。

充值收入settle_type=5dws_finance_recharge_summary 读取充值退款settle_type=7需扣除。

支付渠道分布settle_type=1

  • 纯团购券 60.6%、纯线上支付 14.0%、纯储值卡 10.6%、线上+团购券 9.7%

客户看板金额口径说明

  • "最高消费60天":基于 dws_member_consumption_summary 中的消费汇总字段,底层应基于 items_sum 聚合
  • "最高余额":基于 dws_member_consumption_summary 中的余额字段(= 储值卡余额,独立于消费金额)
  • "最近充值":基于 dwd_recharge_ordersettle_type=5

缓存策略

  • 看板数据缓存层Redis 或内存缓存
  • 缓存粒度:site_id + 筛选条件组合
  • 缓存过期ETL 数据更新后失效(约 1 小时)
  • AI 洞察缓存:从 biz.ai_cache 读取(应用 2 每日更新,cache_type = app2_financeresult_json 为 JSON 数组:序号+标题+正文详情)

小程序前端开发强制规范

以下规范适用于本 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.mdtdesign.mdbuiltin-components.md),确保语法和组件用法正确。
  6. 项目踩坑指南必读:实现前必须阅读 docs/prd/MIGRATION-PLAYBOOK.md 第六章,该文档是基于本项目实际转换经验的避坑手册,涵盖 WXML/WXSS 差异、事件系统、TDesign 用法、rpx 换算规则及新页面开发 Checklist。

任务清单

  • T1实现看板缓存层Redis/内存,按 site_id + 筛选条件)
  • T2实现财务看板 API交叉筛选 + 环比 + 预收资产条件隐藏)
  • T3实现客户看板 API8 维度排序 + 类型筛选 + 互斥规则)
  • T4实现助教看板 API维度×项目×日期三重筛选
  • T5实现 board-finance 小程序页面
  • T6实现 board-customer 小程序页面
  • T7实现 board-coach 小程序页面
  • T8实现通用筛选器组件时间/维度/项目)