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>
This commit is contained in:
Neo
2026-04-20 06:35:42 +08:00
parent 80bda9b991
commit 14a12342b5
96 changed files with 9521 additions and 0 deletions

View File

@@ -0,0 +1,53 @@
# 变更审计记录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`)。百分比字段(`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.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. 开启环比开关,确认对比数据显示正常