32 lines
1.3 KiB
Markdown
32 lines
1.3 KiB
Markdown
# 合同列表 — 06 分步实施计划
|
||
|
||
> 对照报价单 P2/P3;Java 快照按需拷贝 `reference/java/contract/`。
|
||
|
||
## 阶段 B:后端
|
||
|
||
| 步骤 | 实施 | 完成标准 |
|
||
|------|------|----------|
|
||
| B1 | `incremental_crm_contract_list.sql` + Model 补字段 + `CrmContractApproval` | DDL 可执行 |
|
||
| B2 | `contract.py` 扩展:`buildQueryWrapper`、update/delete、状态机 | 对齐 Java ServiceImpl |
|
||
| B3 | `contract_approval.py` + 审批 API | 对齐 quote_approval |
|
||
| B4 | `crm_contract_routes.py` 注册全量路由 + export | 04-api-spec ✅ |
|
||
| B5 | `CONTRACT_EXPORT_COLUMNS` | 对齐 CrmContractVo @ExcelDictFormat |
|
||
|
||
## 阶段 D:前端
|
||
|
||
| 步骤 | 实施 | 完成标准 |
|
||
|------|------|----------|
|
||
| D1 | 拷贝 `views/crm/contract/` + `api/crm/contract/` | 文件齐全 |
|
||
| D2 | `migrate-contract-vue.py` 机械替换 | dict/http/modal |
|
||
| D3 | `index.vue` Fresh Mint 骨架(参照 quote) | panel/filter/toolbar/table |
|
||
| D4 | `useContractPerm` + 路由 `sqxp.ts` | menu-codes |
|
||
| D5 | API `types.ts` + POST `/web/crm/contract/*` | 对齐 04-api-spec |
|
||
|
||
## 阶段 E:验证
|
||
|
||
| 步骤 | 内容 |
|
||
|------|------|
|
||
| E1 | 列表 Tab 切换、筛选、展开产品、导出 |
|
||
| E2 | 提交审批 → 通过/驳回 → 执行 → 完成/作废 |
|
||
| E3 | 更新 `module-status.md` |
|