- 39+ 页删除与布局标题同名/基本同名的页面内 h1-h4(同屏三标题→两处) - 增量副标题弱化为 14px #64748B 小字:收付款计划/战略回顾/地图版本/会计科目打标 - 标题 emoji 清零,保留标题处改 Lucide 内联 SVG(bar-chart-3/video/scale/clipboard-list/alert-circle/map/history) - KPIListView 增加 hideTitle(仅展示),客户/学习看板隐藏组件内重复页头 - 不动 MainLayout、不改接口/业务逻辑、不碰 MapCanvas.vue
- 项目铁律:一律 MyDialog(Element 原生弹窗在本项目长期不可见) - 含用户报的 OKR 模板库「应用」弹窗(OKRTemplates.vue) - 等价适配:width 字符串 px → 数字绑定;append-to-body/destroy-on-close /top/show-close/class 等 EP 专有属性移除(MyDialog 已 teleport+卸载语义) - 新增 MyDialog 显式 import;零后端/零数据改动 - 全仓 <el-dialog> 0 命中;components.d.ts 随之移除 ElDialog 自动注册
G1 review fixes P0-1/P0-2/P1-3/P1-4/P1-5/P2-6/P2-7/P2-8 applied: - up() filters comment lines then asserts missing_tables == [] (CREATE hits 6/6) - created counter = new-object diff via information_schema (idempotent second run = 0) - down() drops columns per-column, dumps via write-path creds + fail-closed - seeds expanded to 8 rules + 6 limits; data_status DEFAULT estimated - no physical FK (app-layer checks), amount FLOAT wan-yuan, round(x,4) Scope: 6 treasury_* tables + cash_plans 4 added columns; cash.py untouched. Not pushed: deploy is approval-gated (de851257).