文件
hyb-oa/.trellis/tasks/08-05-business-detail-routing/implement.md
T

2.3 KiB

实施计划

1. 公共准备

  • 盘点采购/资产页面中列表状态、详情状态、纯函数和共享 section,确定最小拆分边界。
  • 增加安全的列表来源/返回 helper 与旧 ?id= redirect helper,先写单元或 Playwright 合同。
  • 在 router 和 page meta 中注册两个详情路径,复制原权限 guard。

2. 采购迁移

  • 将采购列表收敛为筛选、列表、创建入口和查看详情。
  • 新建采购详情页,搬迁 detail query、表单、附件、归档、提交/撤回和 dirty guard。
  • 创建成功、项目关联、通知/审批/搜索等入口改为 /purchase-requests/:id。
  • 旧 /purchase-requests?id= replace 到新路由并保留其他查询条件。

3. 资产迁移

  • 将资产列表收敛为筛选、列表、创建入口和查看详情。
  • 新建资产详情页,搬迁 detail query、编辑、调拨/盘点相关入口、敏感字段和 dirty guard。
  • 创建成功、项目关联、搜索和其他入口改为 /assets/:id。
  • 旧 /assets?id= replace 到新路由并保留其他查询条件。

4. 回归与兼容

  • 搜索并消除仓库内新产生的采购/资产 ?id= 详情链接;只保留兼容测试。
  • 验证直接深链、刷新、返回列表、浏览器前进/后退和筛选来源。
  • 验证无权限/不存在不泄露摘要,列表页不请求详情。
  • 验证 dirty-form 取消保留输入、确认后离开。
  • 验证移动采购路由、合同、差旅、付款和请假未被改动。

5. 测试命令

  • cd client && npm run typecheck
  • cd client && npm run build
  • cd client && npx playwright test tests/e2e/procurement-flow.spec.ts tests/e2e/assets-flow.spec.ts tests/e2e/r103-cross-page-ui-consistency.spec.ts tests/e2e/pc-detail-mobile-visual-wave3.spec.ts --workers=1 --reporter=list
  • 按修改范围补跑 project/notification/search 关联入口用例。
  • 运行 task validate、process contract、docs registry、Trellis governance 和 git diff --check。

6. 提交与回滚

  • 使用中文 commit message 并引用 08-05-business-detail-routing。
  • 提交前确认无后端 API、schema、权限、差旅/付款/请假或真实数据变化。
  • 回滚必须同时恢复动态路由、页面消费者、page meta 和旧 ?id= 页面形态。