# 合同列表模块迁移方案 — 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` | 分步实施计划 |