Appearance
四线改造总路线图(Acc · 工程质量 · 个人记账 · Web)
与 release-ops-quickstart.md、miniapp-acc-mobile-write.md、miniapp-bookkeeping-user-scope 配套。
原则:四条线可并行,但 投入顺序 按下文「战略优先级」;勿在 Phase 1 Acc/门禁未完成前启动 C 端预算等大功能。
战略优先级(产品定稿)
| 层级 | 范围 | 对应线 | 本阶段做什么 |
|---|---|---|---|
| P0 | 站点 Acc + 发版门禁 | Track 1 + 2 | 在制/结算/库存边界、M3/M4 验收、300+ 行拆、STRICT 签字、E2E 补洞、prerelease |
| P1 | 个人记账 C 端(Phase 2+) | Track 3 | 预算、周期账、分享图等;须遵守 openid、无 siteId |
| P1 | Web 报表口径统一 | Track 4 | 与小程序 reports / 首页指标 同口径;大弹窗拆为工程债,不挡发版 |
不做(除非单独立项):记账域套 siteId;小程序生产冲红;为 C 端功能改动 Acc 权限模型。
进度总览
| 线 | 主题 | Phase 0(文档/门禁) | Phase 1(当前迭代) | Phase 2+(P1 扩展) |
|---|---|---|---|---|
| 1 | 站点 Acc | miniapp-wip-scope.md | 库存导出;300+ 行拆;M4 对齐 | 经理报表;冲红评审 |
| 2 | 发版门禁 | prerelease / CI gates | E2E 冒烟;§4.2 签字;时区/文档站导航 | Secrets 矩阵;Acc 链路集成测 |
| 3 | 个人 C 端(常用) | openid 规则 | 记账:筛选/导出/统计/预算/周期账/分享图(已完成) | 日常打卡;可选 personal 微服务 |
| 4 | Web | frontend-structure.md | 报工弹窗、AccHome composable | 报表口径对齐;大弹窗拆 |
Track 1 — 站点 Acc(结算 / 在制 / 库存)
已定边界(勿擅自扩展)
- 生产/报工 冲红、整单冲红:仅 Web +
btn_acc_production_wip_correct - 小程序:开单、登记审核、现场报工、关账、入出库过账与冲红、M4 结算
Phase 1 清单
- [x] 库存流水
POST /acc/stock-ledger/export-csv+ 小程序stock-ledger导出 - [x]
production-wip-op-add拆分(useProductionWipOpAdd+ProductionWipOpAdd*Fields) - [x]
production-wip-close拆分(useProductionWipClose+ProductionWipClose*组件) - [x]
labor-submission-mine、stock-ledger拆分(见 miniapp-large-page-split.md) - [x] 结算列表筛选参数与 Web 对齐(代码 + m4-settlement-api-parity.md;业务签字见 M4 手工表)
- [x]
labor-submission-review-detail拆分(useLaborSubmissionReviewDetail+LaborSubmissionReviewDetailFooter) - [ ] 在制 / M3 / M4 / §4.2 / P2 库存(S1/S2):预发手工表签字(release-signoff-bundle.md §F · acc-stock-staging-checklist.md)
Phase 2+
- [x] 经理报表站点 Tab 钻取(入/出/生产/记工/结算列表)
- [x] 记工 Tab 全站快照与 AccHome 对照;趋势 90 天与 Web 一致
- [x] 经理报表异常提示(待结算过高 Toast 等)
- 可选:移动端冲红 单独立项(须产品 + 权限评审)
Track 2 — 工程质量(E2E、STRICT、发版)
发版一条龙
bash
pnpm run prerelease # check + staging + 月结 SQL
pnpm run check:env-pack # 生产 .env.pack 须含 STRICT
pnpm run test:e2e # Web 冒烟(可选 Secrets)Phase 1 清单
- [x] 只读
settlement/post、mark-paidAPI 拒绝(e2e/acc-permission-denied-api.spec.ts) - [x] 只读
/acc/ops路由 →/no-permission(acc-readonly-route-guard.spec.ts) - [x] 只读
stock-ledger/export-csvAPI 拒绝(btn_acc_stock_ledger_export+acc-stock-ledger-export-readonly.spec.ts) - [x] 登录用户
bookkeeping/entry/export-csv冒烟(sys-bookkeeping-export.spec.ts) - [x] CI Prerelease gates:
check:staging+check:env-pack+ 上传 release-signoff-templates(STRICT + M3/M4 合并表) - [x] Acc 业务日/筛选时区统一(datetime-conventions.md)
- [x] 文档站
guide/全量侧栏 +/ci/发版签字导航(docs/.vitepress/config.ts) - [ ] 预发 §4.2 签字表 存档(运维按 strict-signoff-ops-runbook.md 执行并填写)
Phase 2+
- GitHub Actions 默认 Secrets 矩阵文档化(env-pack-strict-and-e2e.md)
- 关键 Acc 链路 API 集成测试(开单 → 报工 → 结算)扩 3–5 条
Track 3 — 个人 C 端(含常用)
约束
- 无
siteId;openid/JWT 即可(miniapp-bookkeeping-user-scope) - 记账 / 清单计价 / 日常打卡:网关 不附
X-Site-Id;API 在 Sys(POST /sys/bookkeeping/*、/sys/config-quote/*、/sys/daily-check-in/*)
架构:模块 vs 微服务
- 默认:新能力做 Sys 内模块(与记账并列),见 microservice-split-decision.md
- 可选 Phase 2:记账 + 清单计价 + 打卡 整体 迁至
/api/personal/*(单进程personal,非每功能一服务)
个人记账 — Phase 1 清单(已完成)
- [x] 大页拆分(home / entry-form / stats / amount-input / 筛选底栏)
- [x]
entry/page支持keyword、kind、occurredAtFrom/To - [x]
entry/export-csv+ 账本详情页导出 - [x] 周/月/年统计:
POST /bookkeeping/stats/summary服务端聚合(小程序stats.vue已对接)
个人记账 — Phase 2+(已完成)
- [x]
stats-custom默认stats/summary;有分类筛选 时按日期范围分页拉流水 - [x] 月度支出预算(
mini_book_budgets+ 首页进度条 + 账本设置) - [x] 周期账、分享图(见 program-full-execution.md)
日常打卡 — P0/P1(已落地)
设计定稿:miniapp-daily-check-in.md
- [x] 表
mini_daily_check_in_types/mini_daily_check_in_records(zen:push已同步) - [x] Sys
daily-check-in模块 + 路由 registry - [x] 小程序:今日 / 明细 / 类型管理 / 周月统计 + 常用三入口;P1 自定义统计 / 热力格 / 分享图
- [x] 统计:连续天数(按类型)优先,本月总次数次之;一日一类多条
C 端 — 架构 Phase 2+(可选,单独立项)
- [ ] 五条决策评审通过(microservice-split-decision.md)
- [ ] 网关
/api/personal/*+PERSONAL_SERVICE_URL+ 部署/Knife4j - [ ] 迁移 bookkeeping / config-quote / daily-check-in 路径(兼容期可双写或网关别名)
Track 4 — Web 管理端
Phase 1 清单
- [x]
LaborSubmissionReviewDialog→useLaborSubmissionReviewDialog+LaborSubmissionReviewApproveModal - [x]
AccHomeView→composables/acc/useAccHomeSummary.ts - [x] 报工审核展示 helper →
utils/labor-submission-review-display.ts - [x] 大弹窗拆分:
GoodsSaveDialog、ProductionWipAddDialog、UserEditDialog(composable + 子组件)
Phase 2+
- [x] 报表与
AccHome:shared/types/acc-home-summary+acc-home-summary-metrics+ acc-home-metrics-parity.md - [x] 经理报表说明:miniapp-manager-reports.md
执行顺序(定稿)
见 release-phase-plan.md:先 P0(release:p0-preflight + 签字 + zen:push),再 track3-bookkeeping-phase2.md / track1-b-acc-phase2.md / track2-tech-phase2.md。
下一迭代(P0 执行清单)
仅 Track 1 + 2;Track 3 预算/周期账、Track 4 报表对齐 排队到 P0 勾完。
| 序 | 项 | 线 | 状态 | 验收 |
|---|---|---|---|---|
| 1 | 预发 §4.2 STRICT 签字 + M3/M4 手工表 | 2 / 1 | 待运维/业务 | strict-signoff-ops-runbook.md · release-signoff-bundle.md |
| — | labor-submission-mine、stock-ledger | 1 | 已完成 | pnpm run check:miniapp |
| — | production-wip-close 拆分 | 1 | 已完成 | — |
| — | 2 | 已完成 | 预发须 db:sync-roles-perms 赋权 | |
| 4 | M4 结算手工表签字(参数已对齐) | 1 | 待业务 | m4-settlement-manual-checklist.md · m4-settlement-api-parity.md |
| — | stats-custom → stats/summary | 3 | 已完成 | — |
P1 排队(Phase 2+)
| 主题 | 线 | 入口文档/约束 |
|---|---|---|
| 日常打卡 P0 | 3 | miniapp-daily-check-in.md;POST /sys/daily-check-in/* |
| personal 微服务(可选) | 3 | microservice-split-decision.md |
| 预算、周期账、分享图 | 3 | 已完成;POST /sys/bookkeeping/* |
| Web / 小程序 报表指标同口径 | 4 | 已落地 acc-home-summary + 单测;记工 Tab 另文档 |
| 经理报表钻取、CI E2E Secrets | 1 / 2 | 见各 Track Phase 2+ |
建议迭代节奏(4 周示例)
| 周 | Track 1 | Track 2 | Track 3 | Track 4 |
|---|---|---|---|---|
| 1 | wip-op-add 拆分 | E2E 库存/记账导出 | entry 筛选 + 导出 API | 报工弹窗 composable |
| 2 | wip-close / stock-ledger 拆 | STRICT 预发签字 | 统计按时间拉取 | AccHome composable |
| 3 | M4 手工验收 | prerelease 固定进发布流程 | ledger-detail 体验 | GoodsSaveDialog 拆 |
| 4 | 缓冲 / M4 | CI Secrets 试点 | 预算/周期账(P1) | 报表口径对齐(P1) |
验收(每迭代末)
bash
pnpm run check
pnpm run check:miniapp # 若动小程序
pnpm run check:staging # 若动权限/registryTrack 2 发版候选额外:
bash
pnpm run prerelease
pnpm run check:env-pack