62 lines
2.0 KiB
Markdown
62 lines
2.0 KiB
Markdown
# 合同列表模块迁移方案 — 01 概述
|
||
|
||
> **编写日期**:2026-05-31
|
||
> **状态**:实施中
|
||
> **参考**:报价单管理 P2/P3 全量移植经验
|
||
|
||
## 迁移目标
|
||
|
||
将原 CRM **合同列表**(`views/crm/contract/index.vue` 及关联组件)完整移植到 shanxia2.0:功能不缩减,字典语义不变,UI 对齐 Fresh Mint。
|
||
|
||
## 前置已完成
|
||
|
||
| 项 | 说明 |
|
||
|----|------|
|
||
| P1 合同 create | `create_contract` + `crm_contract_product`(报价转合同) |
|
||
| 供方 P0 | `crm_supplier_info` 全量 API |
|
||
|
||
## 迁移范围(合同列表全量)
|
||
|
||
| 子模块 | 原 CRM 入口 |
|
||
|--------|-------------|
|
||
| 合同列表(多 Tab + 统计 + 筛选 + 展开产品) | `contract/index.vue` |
|
||
| 提交/批量审批 | `components/ApprovalDialog.vue` |
|
||
| 执行/完成 | `components/ExecuteDialog.vue` |
|
||
| 作废 | `components/InvalidDialog.vue` |
|
||
| 上传扫描件 | `components/UploadDialog.vue` |
|
||
| 详情抽屉(内嵌于 index) | `index.vue` 内 drawer |
|
||
| 新增/编辑表单 | `form.vue`(路由跳转) |
|
||
|
||
**本阶段不含**:合同变更 `change/`、独立审批页 `approval/`、模板管理 `template/`(后续迭代)。
|
||
|
||
## 涉及数据库表
|
||
|
||
| 表 | 阶段 |
|
||
|----|------|
|
||
| `crm_contract`(补字段) | 列表展示/详情/状态机 |
|
||
| `crm_contract_product` | 已有 |
|
||
| `crm_contract_approval` | **新建**(审批流程) |
|
||
|
||
## 实施顺序
|
||
|
||
```
|
||
B1 DDL + Model → B2 后端全量 API → D1 拷贝前端 → D2 Fresh Mint 适配 → E1 验证
|
||
```
|
||
|
||
## 源码位置
|
||
|
||
| 类型 | 路径 |
|
||
|------|------|
|
||
| Java 权威源 | `../shanxia/crm/backend/ruoyi-modules/ruoyi-crm/` |
|
||
| Java 快照 | `docs/crm-migration/reference/java/contract/` |
|
||
| 前端 | `shanxia/crm/web/src/views/crm/contract/` |
|
||
| 门户参考页 | `web-admin/src/views/crm/quote/index.vue` |
|
||
|
||
## 方案文档索引
|
||
|
||
| 文档 | 内容 |
|
||
|------|------|
|
||
| `01-overview.md` | 本文 |
|
||
| `04-api-spec.md` | 接口规格(扩展 P1) |
|
||
| `06-steps.md` | 分步实施计划 |
|