Files
shanxia2.0/docs/crm-migration/plans/contract/01-overview.md
T
2026-06-01 08:21:21 +08:00

62 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 合同列表模块迁移方案 — 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` | 分步实施计划 |