这些审计记录原本堆积在 docs/audit/changes/changes/ 嵌套误产物目录下(由开发机迁移
79d3c2e 前后的不明批量操作产生)。由于同期 .gitignore 屏蔽了 docs/audit/ 全目录,
它们从未入过 git 任何分支 history。删除即永久丢失。
按 docs/specs/audit-gap-recovery/tasks.md 阶段 1 执行,将全部 96 份 D 类孤本
(主目录无同名、git history 亦无记录)复制到 docs/audit/changes/ 主目录入仓。
涵盖主题: P1-P18 全栈集成 / 多模块累积变更 / ETL bug 修复 / 业务日切 /
召回与任务引擎改造 / 租户管理与审批 / 董事会财务 / 客户与助教详情 /
DDL 基线合并 / Kiro 到 Claude Code 迁移
阶段 2(B 类内容漂移 1 份)和阶段 4(嵌套目录删除)独立推进。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.0 KiB
3.0 KiB
变更审计记录:board-finance 双重格式化修复
| 字段 | 值 |
|---|---|
| 日期 | 2026-03-27 19:07:51 |
| Prompt-ID | P20260327-190751 |
操作摘要
修复 board-finance.ts 中的双重格式化 bug:TS 层 _loadData() 用 formatMoney() 把数字格式化为字符串(如 "¥543,047"),WXML 中 WXS fmt.money() 再处理该字符串得到 NaN。移除 TS 层所有 formatMoney() 调用,金额字段直接传原始数字(?? 0),格式化统一由 WXS 完成。同时包含权限守卫添加、区域筛选扩展、AI 洞察字段、预估规则等多项集成改动。
改动方案
TS 层 _loadData() 中移除所有 formatMoney() 调用,金额字段直接传原始数字(?? 0)。百分比字段(discountRate、balanceRate)也直接传原始小数。助教时薪字段不再拼接 '¥' + val + '/h',直接传数字。格式化统一由 WXML 中的 WXS 函数完成。
移除了 import { formatMoney } 导入(文件内不再使用)。
文件清单
| 文件 | 改动类型 |
|---|---|
apps/miniprogram/miniprogram/pages/board-finance/board-finance.ts |
逻辑修复 |
本次对话文件变更
新增文件:
docs/audit/changes/2026-03-27__board-finance-double-format-fix.mddocs/audit/prompt_logs/prompt_log_20260327_190751.mddocs/audit/session_logs/2026-03/27/16_ecccf230_185956/main_01_ec27502d.mddocs/audit/session_logs/2026-03/27/16_ecccf230_185956/sub_01_9802833d.md
改动注解
apps/miniprogram/miniprogram/pages/board-finance/board-finance.ts
- 变更类型:修改
- 原始原因:财务看板全部 6 个板块金额显示为 NaN,根因是 TS 层
formatMoney()预格式化后 WXS 再次调用数值方法导致双重格式化 - 思路分析:遵循「TS 与 WXS 格式化互斥」原则,TS 层只传原始数字(
?? 0防 null),所有格式化交给 WXML 中的 WXS 函数。同时本次集成了多项之前的改动:添加checkPageAccess权限守卫、getVisibleBoardTabs动态看板 tab、区域筛选从 7 项扩展到 9 项(对齐后端AreaFilterEnum)、新增isCurrentMonth预估标记和aiInsightsAI 洞察字段、overview/assistant/gift 等板块数据从 mock 替换为真实 API 绑定 - 修改结果:财务看板 6 个板块金额/百分比正常显示,筛选联动正常,权限守卫生效,区域筛选完整覆盖所有区域类型
风险评估
- 低风险:仅移除 TS 层格式化,WXS 层格式化逻辑不变
- 前提:WXML 中所有金额字段已使用
fmt.money()等 WXS 函数,百分比/时薪字段有对应 WXS 处理
回滚
恢复 formatMoney 导入,将所有 ?? 0 改回 formatMoney(...) 调用,百分比字段恢复 * 100 + '%',时薪恢复 '¥' + val + '/h'。
验证
- 打开财务看板页,确认 6 个板块金额显示正常(非 NaN)
- 切换时间/区域筛选,确认数据刷新后金额仍正常
- 开启环比开关,确认对比数据显示正常