Files
Neo-ZQYY/docs/audit/changes/2026-03-27__board-finance-double-format-fix.md
Neo 14a12342b5 chore(audit): 补追 96 份未入仓审计孤本 — 覆盖 2026-02-26 ~ 2026-04-08
这些审计记录原本堆积在 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>
2026-04-20 06:35:42 +08:00

3.0 KiB
Raw Blame History

变更审计记录board-finance 双重格式化修复

字段
日期 2026-03-27 19:07:51
Prompt-ID P20260327-190751

操作摘要

修复 board-finance.ts 中的双重格式化 bugTS 层 _loadData()formatMoney() 把数字格式化为字符串(如 "¥543,047"WXML 中 WXS fmt.money() 再处理该字符串得到 NaN。移除 TS 层所有 formatMoney() 调用,金额字段直接传原始数字(?? 0),格式化统一由 WXS 完成。同时包含权限守卫添加、区域筛选扩展、AI 洞察字段、预估规则等多项集成改动。

改动方案

TS 层 _loadData() 中移除所有 formatMoney() 调用,金额字段直接传原始数字(?? 0)。百分比字段(discountRatebalanceRate)也直接传原始小数。助教时薪字段不再拼接 '¥' + 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.md
  • docs/audit/prompt_logs/prompt_log_20260327_190751.md
  • docs/audit/session_logs/2026-03/27/16_ecccf230_185956/main_01_ec27502d.md
  • docs/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 预估标记和 aiInsights AI 洞察字段、overview/assistant/gift 等板块数据从 mock 替换为真实 API 绑定
  • 修改结果:财务看板 6 个板块金额/百分比正常显示,筛选联动正常,权限守卫生效,区域筛选完整覆盖所有区域类型

风险评估

  • 低风险:仅移除 TS 层格式化WXS 层格式化逻辑不变
  • 前提WXML 中所有金额字段已使用 fmt.money() 等 WXS 函数,百分比/时薪字段有对应 WXS 处理

回滚

恢复 formatMoney 导入,将所有 ?? 0 改回 formatMoney(...) 调用,百分比字段恢复 * 100 + '%',时薪恢复 '¥' + val + '/h'

验证

  1. 打开财务看板页,确认 6 个板块金额显示正常(非 NaN
  2. 切换时间/区域筛选,确认数据刷新后金额仍正常
  3. 开启环比开关,确认对比数据显示正常