2.3 KiB
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 typecheckcd client && npm run buildcd 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=页面形态。