board-finance 页面数据来源排查
排查日期:2026-03-18
页面路径:pages/board-finance/board-finance
排查人:Kiro AI
状态:全量内联 Mock,零 API 对接
概览
| 分类 |
数量 |
说明 |
| Mock 数据(内联) |
120+ 个字段 |
全部财务指标写死在 data 对象中,无外部 mock 函数调用 |
| 硬编码数据 |
19 个字段/配置 |
筛选选项、目录导航、指标解释、板块描述等 |
| 已对接 API |
0 个接口 |
页面无任何 request() / wx.request 调用 |
| 前端计算/派生 |
8 个字段 |
UI 状态、滚动位置、配色等 |
| 路由参数 |
0 个 |
onLoad 未读取 options |
| WXML 硬编码文案 |
3 处 |
AI 洞察文案、平台服务费说明 |
一、Mock 数据(内联在 data 对象中)
本页面 不引用 utils/mock-data.ts(该文件虽定义了 BoardFinanceData 接口,但页面未 import)。
所有 mock 数据直接写死在 Page({ data: { ... } }) 中,文件头注释标注 TODO: 联调时替换 mock 数据为真实 API 调用。
1.1 经营一览 overview
| 字段 |
类型 |
当前 Mock 值 |
联调替换 API |
备注 |
overview.occurrence |
string |
¥823,456 |
财务看板-经营一览 |
发生额/正价 |
overview.occurrenceCompare |
string |
12.5% |
同上(环比) |
|
overview.discount |
string |
-¥113,336 |
同上 |
总优惠 |
overview.discountCompare |
string |
3.2% |
同上(环比) |
|
overview.discountRate |
string |
13.8% |
同上 |
优惠占比 |
overview.discountRateCompare |
string |
1.5% |
同上(环比) |
|
overview.confirmedRevenue |
string |
¥710,120 |
同上 |
成交/确认收入 |
overview.confirmedCompare |
string |
8.7% |
同上(环比) |
|
overview.cashIn |
string |
¥698,500 |
同上 |
实收/现金流入 |
overview.cashInCompare |
string |
5.3% |
同上(环比) |
|
overview.cashOut |
string |
¥472,300 |
同上 |
现金支出 |
overview.cashOutCompare |
string |
2.1% |
同上(环比) |
|
overview.cashBalance |
string |
¥226,200 |
同上 |
现金结余 |
overview.cashBalanceCompare |
string |
15.2% |
同上(环比) |
|
overview.balanceRate |
string |
32.4% |
同上 |
结余率 |
overview.balanceRateCompare |
string |
3.8% |
同上(环比) |
|
1.2 预收资产 recharge
| 字段 |
类型 |
当前 Mock 值 |
联调替换 API |
备注 |
recharge.actualIncome |
string |
¥352,800 |
财务看板-预收资产 |
储值卡充值实收 |
recharge.actualCompare |
string |
18.5% |
同上(环比) |
|
recharge.firstCharge |
string |
¥188,500 |
同上 |
首充 |
recharge.firstChargeCompare |
string |
12.3% |
同上(环比) |
|
recharge.renewCharge |
string |
¥164,300 |
同上 |
续费 |
recharge.renewChargeCompare |
string |
8.7% |
同上(环比) |
|
recharge.consumed |
string |
¥238,200 |
同上 |
消耗 |
recharge.consumedCompare |
string |
5.2% |
同上(环比) |
|
recharge.cardBalance |
string |
¥642,600 |
同上 |
储值卡总余额 |
recharge.cardBalanceCompare |
string |
11.4% |
同上(环比) |
|
recharge.allCardBalance |
string |
¥586,500 |
同上 |
全类别会员卡余额合计 |
recharge.allCardBalanceCompare |
string |
6.2% |
同上(环比) |
|
赠送卡明细 recharge.giftRows(3 行 × 7 字段 = 21 个值)
| 行 |
label |
total |
wine |
table |
coupon |
各字段均含 Compare |
| 0 |
新增 |
¥108,600 |
¥43,200 |
¥54,100 |
¥11,300 |
9.8%/11.2%/8.5%/6.3% |
| 1 |
消费 |
¥75,800 |
¥32,100 |
¥32,800 |
¥10,900 |
7.2%/8.1%/6.5%/5.8% |
| 2 |
余额 |
¥243,900 |
¥118,500 |
¥109,200 |
¥16,200 |
4.5%/5.2%/3.8%/2.5% |
联调 API:财务看板-预收资产-赠送卡统计
1.3 应计收入确认 revenue
收入结构 revenue.structureRows(9 行 × 5~6 字段)
| id |
name |
desc |
amount |
discount |
booked |
bookedCompare |
isSub |
table |
开台与包厢 |
- |
¥358,600 |
-¥45,200 |
¥313,400 |
9.2% |
false |
area-a |
A区 |
- |
¥118,200 |
-¥11,600 |
¥106,600 |
12.1% |
true |
area-b |
B区 |
- |
¥95,800 |
-¥11,200 |
¥84,600 |
8.5% |
true |
area-c |
C区 |
- |
¥72,600 |
-¥11,100 |
¥61,500 |
6.3% |
true |
team |
团建区 |
- |
¥48,200 |
-¥6,800 |
¥41,400 |
5.8% |
true |
mahjong |
麻将区 |
- |
¥23,800 |
-¥4,500 |
¥19,300 |
-2.1% |
true |
coach-basic |
助教 |
基础课 |
¥232,500 |
- |
¥232,500 |
15.3% |
false |
coach-incentive |
助教 |
激励课 |
¥112,800 |
- |
¥112,800 |
8.2% |
false |
food |
食品酒水 |
- |
¥119,556 |
-¥68,136 |
¥51,420 |
6.5% |
false |
联调 API:财务看板-应计收入-收入结构
项目正价 revenue.priceItems(4 项)
| name |
value |
compare |
| 开台消费 |
¥358,600 |
9.2% |
| 酒水商品 |
¥186,420 |
18.5% |
| 包厢费用 |
¥165,636 |
12.1% |
| 助教服务 |
¥112,800 |
15.3% |
发生额合计
| 字段 |
值 |
revenue.totalOccurrence |
¥823,456 |
revenue.totalOccurrenceCompare |
12.5% |
优惠扣减 revenue.discountItems(4 项)
| name |
desc |
value |
compare |
| 团购优惠 |
- |
-¥56,200 |
5.2% |
| 手动调整 + 大客户优惠 |
- |
-¥34,800 |
3.1% |
| 赠送卡抵扣 |
台桌卡+酒水卡+抵用券 |
-¥22,336 |
8.6% |
| 其他优惠 |
免单+抹零 |
-¥0 |
(空) |
成交收入合计
| 字段 |
值 |
revenue.confirmedTotal |
¥710,120 |
revenue.confirmedTotalCompare |
8.7% |
收款渠道 revenue.channelItems(3 项)
| name |
desc |
value |
compare |
| 储值卡结算冲销 |
- |
¥238,200 |
11.2% |
| 现金/线上支付 |
- |
¥345,800 |
7.8% |
| 团购核销确认收入 |
团购成交价 |
¥126,120 |
5.3% |
联调 API:财务看板-应计收入-损益链
1.4 现金流入 cashflow
消费收入 cashflow.consumeItems(3 项)
| name |
desc |
value |
compare |
isDown |
| 纸币现金 |
柜台现金收款 |
¥85,600 |
12.3% |
true |
| 线上收款 |
微信/支付宝/刷卡 已扣除平台服务费 |
¥260,200 |
8.5% |
false |
| 团购平台 |
美团/抖音回款 已扣除平台服务费 |
¥126,120 |
15.2% |
false |
充值收入 cashflow.rechargeItems(1 项)
| name |
desc |
value |
compare |
| 会员充值到账 |
首充/续费实收 |
¥352,800 |
18.5% |
合计
| 字段 |
值 |
cashflow.total |
¥824,720 |
cashflow.totalCompare |
10.2% |
联调 API:财务看板-现金流入
1.5 现金流出 expense
进货与运营 expense.operationItems(3 项)
| name |
value |
compare |
isDown |
| 食品饮料 |
¥108,200 |
4.5% |
false |
| 耗材 |
¥21,850 |
2.1% |
true |
| 报销 |
¥10,920 |
6.8% |
false |
固定支出 expense.fixedItems(4 项)
| name |
value |
compare |
isFlat |
| 房租 |
¥125,000 |
持平 |
true |
| 水电 |
¥24,200 |
3.2% |
false |
| 物业 |
¥11,500 |
持平 |
true |
| 人员工资 |
¥112,000 |
持平 |
true |
助教薪资 expense.coachItems(4 项)
| name |
value |
compare |
isDown |
| 基础课分成 |
¥116,250 |
8.2% |
false |
| 激励课分成 |
¥23,840 |
5.6% |
false |
| 充值提成 |
¥12,640 |
12.3% |
false |
| 额外奖金 |
¥11,500 |
3.1% |
true |
平台服务费 expense.platformItems(3 项)
| name |
value |
compare |
| 汇来米 |
¥10,680 |
1.5% |
| 美团 |
¥11,240 |
2.8% |
| 抖音 |
¥10,580 |
3.5% |
合计
| 字段 |
值 |
expense.total |
¥600,400 |
expense.totalCompare |
2.1% |
联调 API:财务看板-现金流出
1.6 助教分析 coachAnalysis
基础课 coachAnalysis.basic
| 字段 |
值 |
环比 |
| totalPay |
¥232,500 |
15.3% |
| totalShare |
¥116,250 |
15.3% |
| avgHourly |
¥25/h |
4.2% |
明细行(4 行 × 7 字段):
| level |
pay |
payCompare |
share |
shareCompare |
hourly |
hourlyCompare |
特殊标记 |
| 初级 |
¥68,600 |
12.5% |
¥34,300 |
12.5% |
¥20/h |
持平 |
hourlyFlat |
| 中级 |
¥82,400 |
18.2% |
¥41,200 |
18.2% |
¥25/h |
8.7% |
|
| 高级 |
¥57,800 |
14.6% |
¥28,900 |
14.6% |
¥30/h |
持平 |
hourlyFlat |
| 星级 |
¥23,700 |
3.2% ↓ |
¥11,850 |
3.2% ↓ |
¥35/h |
持平 |
payDown, shareDown, hourlyFlat |
激励课 coachAnalysis.incentive
| 字段 |
值 |
环比 |
| totalPay |
¥112,800 |
8.2% |
| totalShare |
¥33,840 |
8.2% |
| avgHourly |
¥15/h |
2.1% |
明细行(4 行 × 7 字段):
| level |
pay |
payCompare |
share |
shareCompare |
hourly |
hourlyCompare |
特殊标记 |
| 初级 |
¥32,400 |
6.8% |
¥9,720 |
6.8% |
¥12/h |
持平 |
hourlyFlat |
| 中级 |
¥38,600 |
10.5% |
¥11,580 |
10.5% |
¥15/h |
5.2% |
|
| 高级 |
¥28,200 |
7.3% |
¥8,460 |
7.3% |
¥18/h |
持平 |
hourlyFlat |
| 星级 |
¥13,600 |
2.1% ↓ |
¥4,080 |
2.1% ↓ |
¥22/h |
持平 |
payDown, shareDown, hourlyFlat |
联调 API:财务看板-助教分析
二、硬编码数据
| 字段 |
当前值 |
应改为 |
风险 |
所在位置 |
timeOptions |
8 个固定选项(本月/上月/本周/上周/前3月/本季/上季/近6月) |
前端常量或后端配置 |
低 |
data.timeOptions |
areaOptions |
7 个固定选项(全部/大厅/A区/B区/C区/麻将房/团建房) |
API 获取门店区域列表 |
高 |
data.areaOptions |
tocItems |
6 个目录项(emoji + title + sectionId) |
前端常量(合理) |
低 |
data.tocItems |
tipContents |
13 个指标解释(title + content) |
前端常量或后端配置 |
低 |
模块级常量 |
_sectionDescs |
6 条板块描述文案 |
前端常量(合理) |
低 |
实例属性 |
selectedTime |
'month' |
默认值合理,但需与 API 参数对齐 |
中 |
data.selectedTime |
selectedTimeText |
'本月' |
同上 |
低 |
data.selectedTimeText |
selectedArea |
'all' |
默认值合理 |
低 |
data.selectedArea |
selectedAreaText |
'全部区域' |
同上 |
低 |
data.selectedAreaText |
compareEnabled |
false |
默认值合理 |
低 |
data.compareEnabled |
pageState |
'normal' |
联调后应初始为 'loading' |
高 |
data.pageState |
Tab 导航 data-tab |
finance/customer/coach 三个固定值 |
前端常量(合理) |
低 |
WXML |
| 导航路径 |
/pages/board-customer/board-customer 等 |
前端常量(合理) |
低 |
onTabChange |
onPullDownRefresh |
setTimeout 500ms 后停止 |
联调后应触发数据刷新 |
高 |
onPullDownRefresh |
| AI 洞察文案 |
3 行硬编码文案(优惠率Top/差异最大/建议关注) |
API 返回或 AI 生成 |
高 |
WXML 内联 |
| 平台服务费说明 |
"服务费在流水流入时,平台已经扣除。不产生支出流水。" |
前端常量(合理) |
低 |
WXML 内联 |
| 板块头描述文案 |
各板块 desc(如"快速了解收入与现金流的整体健康度") |
前端常量(合理) |
低 |
WXML 内联 |
filter-dropdown label |
"本月" / "全部区域" |
应绑定 selectedTimeText / selectedAreaText |
中 |
WXML 属性 |
| 激励课表格 |
WXML 中只渲染了合计行,缺少明细行 wx:for |
需补齐明细行渲染 |
中 |
WXML 板块6 |
三、已对接 API
无。 页面当前零 API 调用。
唯一的 import 是 getRandomAiColor(纯前端工具函数,与数据无关)。
文件头注释明确标注:
onShow 中也有注释:
四、前端计算/派生数据
| 字段 |
计算逻辑 |
说明 |
aiColorClass |
getRandomAiColor().className |
onLoad 时随机选取 AI 配色 |
stickyHeaderVisible |
滚动方向 + scrollTop 阈值判断 |
下滑 >80px 显示,上滑隐藏 |
stickyHeaderEmoji / Title / Desc |
从 tocItems[currentIdx] + _sectionDescs[idx] 映射 |
吸顶头内容 |
currentSectionIndex |
滚动位置与 _sectionTops 数组比较 |
当前所在板块索引 |
_sectionTops |
wx.createSelectorQuery 获取各 section 的 top |
缓存的 DOM 位置 |
selectedTimeText |
从 timeOptions 中按 value 查找 text |
筛选文案 |
selectedAreaText |
从 areaOptions 中按 value 查找 text |
筛选文案 |
tocVisible / tipVisible |
用户交互切换 |
UI 状态 |
五、路由参数
无。 onLoad() 未读取 options 参数。
六、WXML 硬编码文案(业务数据)
| 位置 |
内容 |
类型 |
处理建议 |
| AI 洞察区域 第1行 |
优惠率Top:团购(5.2%) / 大客户(3.1%) / 赠送卡(2.5%) |
业务数据 |
应从 API 获取 |
| AI 洞察区域 第2行 |
差异最大:酒水(+18%) / 台桌(-5%) / 包厢(+12%) |
业务数据 |
应从 API 获取 |
| AI 洞察区域 第3行 |
建议关注:充值高但消耗低,会员活跃度需提升 |
业务数据 |
应从 API/AI 生成 |
| 平台服务费说明 |
服务费在流水流入时,平台已经扣除。不产生支出流水。 |
UI 说明文案 |
可保留为前端常量 |
七、联调 TODO
高优先级(P0 — 阻塞联调)
中优先级(P1 — 影响数据准确性)
低优先级(P2 — 优化项)
数据口径注意事项(参考 DWD-DOC 标杆文档)