# 总合同号字段同步添加
## 涉及页面
### 销售相关
- 生产订单管理页面
- 生产报工管理页面
- 生产计划管理页面
- 发货管理页面
- 销售退货管理页面
- 客户往来页面(发货明细、产品明细、合同明细)
- 质检管理页面
- 财务管理-销售出库台账
- 财务管理-销售退货台账
### 采购相关
- 采购入库管理页面
- 采购退货管理页面
- 供应商往来页面(采购明细)
- 财务管理-采购入库台账
- 财务管理-采购退货台账
## 新增字段说明
| 字段名 | 类型 | 说明 |
|--------|------|------|
| masterContractNo | String | 总合同号 |
## 涉及接口
### 1. 生产订单接口
**GET /productionOrder/pageProductionOrder**
**响应新增字段:**
```json
{
"code": 200,
"data": {
"records": [
{
"id": 1,
"salesContractNo": "XS202601001",
"masterContractNo": "ZHT202601001",
"customerName": "客户名称"
}
]
}
}
```
### 2. 生产报工接口
**GET /productionProductMain/listPage**
**响应新增字段:**
```json
{
"code": 200,
"data": {
"records": [
{
"id": 1,
"salesContractNo": "XS202601001",
"masterContractNo": "ZHT202601001"
}
]
}
}
```
### 3. 生产计划接口
**GET /productionPlan/listPage**
**响应新增字段:**
```json
{
"code": 200,
"data": {
"records": [
{
"id": 1,
"salesContractNo": "XS202601001",
"masterContractNo": "ZHT202601001"
}
]
}
}
```
### 4. 发货管理接口
**GET /shippingInfo/listPage**
**响应新增字段:**
```json
{
"code": 200,
"data": {
"records": [
{
"id": 1,
"salesContractNo": "XS202601001",
"masterContractNo": "ZHT202601001"
}
]
}
}
```
**查询参数新增:**
| 参数 | 类型 | 说明 |
|------|------|------|
| masterContractNo | String | 总合同号(模糊查询) |
### 5. 销售退货接口
**GET /returnManagement/listPage**
**响应新增字段:**
```json
{
"code": 200,
"data": {
"records": [
{
"id": 1,
"returnNo": "TH202601001",
"salesContractNo": "XS202601001",
"masterContractNo": "ZHT202601001",
"shippingNo": "FH202601001"
}
]
}
}
```
**查询参数新增:**
| 参数 | 类型 | 说明 |
|------|------|------|
| masterContractNo | String | 总合同号(模糊查询) |
### 6. 销售退货发货信息接口
**GET /shippingInfo/getShippingInfoForReturn**
**响应新增字段:**
```json
{
"code": 200,
"data": [
{
"shippingId": 1,
"shippingNo": "FH202601001",
"salesContractNo": "XS202601001",
"masterContractNo": "ZHT202601001",
"customerName": "客户名称"
}
]
}
```
### 7. 财务-销售出库台账接口
**GET /stockOutRecord/listPageAccountSales**
**响应新增字段:**
```json
{
"code": 200,
"data": {
"records": [
{
"id": 1,
"outboundBatches": "CK202601001",
"salesContractNo": "XS202601001",
"masterContractNo": "ZHT202601001",
"customerName": "客户名称"
}
]
}
}
```
### 8. 财务-销售退货台账接口
**GET /returnManagement/listPageAccountSalesReturn**
**响应新增字段:**
```json
{
"code": 200,
"data": {
"records": [
{
"id": 1,
"returnNo": "TH202601001",
"salesContractNo": "XS202601001",
"masterContractNo": "ZHT202601001",
"customerName": "客户名称"
}
]
}
}
```
### 9. 采购入库管理接口
**GET /stockin/listPage**
**响应新增字段:**
```json
{
"code": 200,
"data": {
"records": [
{
"id": 1,
"inboundBatches": "RK202601001",
"purchaseContractNumber": "CG202601001",
"masterContractNo": "ZHT202601001",
"supplierName": "供应商名称"
}
]
}
}
```
**GET /stockin/listPageCopy**
**响应新增字段:**
```json
{
"code": 200,
"data": {
"records": [
{
"id": 1,
"inboundBatches": "RK202601001",
"purchaseContractNumber": "CG202601001",
"masterContractNo": "ZHT202601001",
"supplierName": "供应商名称"
}
]
}
}
```
### 10. 采购退货接口
**GET /purchaseReturnOrders/listPage**
**响应新增字段:**
```json
{
"code": 200,
"data": {
"records": [
{
"id": 1,
"no": "CT202601001",
"purchaseContractNumber": "CG202601001",
"masterContractNo": "ZHT202601001",
"supplierName": "供应商名称"
}
]
}
}
```
### 11. 供应商往来明细接口
**GET /supplierManage/supplierTransactionsDetails**
**响应新增字段:**
```json
{
"code": 200,
"data": [
{
"purchaseLedgerId": 1,
"purchaseContractNumber": "CG202601001",
"masterContractNo": "ZHT202601001",
"executionDate": "2026-01-01",
"contractAmount": 10000.00
}
]
}
```
### 12. 财务-采购入库台账接口
**GET /stockInRecord/listPageAccountPurchase**
**响应新增字段:**
```json
{
"code": 200,
"data": {
"records": [
{
"id": 1,
"inboundBatches": "RK202601001",
"purchaseContractNumber": "CG202601001",
"masterContractNo": "ZHT202601001",
"supplierName": "供应商名称"
}
]
}
}
```
### 13. 财务-采购退货台账接口
**GET /purchaseReturnOrders/listPageAccountPurchaseReturn**
**响应新增字段:**
```json
{
"code": 200,
"data": {
"records": [
{
"id": 1,
"returnNo": "CT202601001",
"purchaseContractNumber": "CG202601001",
"masterContractNo": "ZHT202601001",
"supplierName": "供应商名称"
}
]
}
}
```
## 前端修改点
### 1. 表格列添加
在各页面的表格中添加总合同号列:
```html
```
### 2. 查询条件添加
在需要支持总合同号查询的页面添加搜索框:
```html
```
### 3. 详细页面示例
#### 发货管理页面
```html
```
#### 销售退货页面
```html
```
#### 采购入库管理页面
```html
```
#### 采购退货页面
```html
```
#### 供应商往来明细
```html
```
#### 财务-采购入库台账
```html
```
#### 财务-采购退货台账
```html
```
### 4. data 数据修改
```js
data() {
return {
queryParams: {
pageNum: 1,
pageSize: 10,
salesContractNo: '',
masterContractNo: '', // 新增
// ... 其他查询参数
}
}
}
```
### 5. 导出功能
如需导出功能,需在导出字段中添加总合同号:
```js
// 导出列配置
const exportColumns = [
{ prop: 'salesContractNo', label: '销售合同号' },
{ prop: 'purchaseContractNumber', label: '采购合同号' },
{ prop: 'masterContractNo', label: '总合同号' },
// ... 其他列
];
```
## 注意事项
1. **字段位置**:建议将总合同号列放在销售合同号/采购合同号列后面,保持一致性。
2. **查询逻辑**:总合同号支持模糊查询,与合同号查询方式一致。
3. **数据关联**:
- 销售相关:总合同号来源于销售台账(sales_ledger)表的 master_contract_no 字段
- 采购相关:总合同号来源于采购台账(purchase_ledger)表的 master_contract_no 字段
4. **多值处理**:部分查询(如生产订单)可能关联多个销售台账,此时总合同号会以逗号分隔显示多个值。
5. **空值处理**:如果台账未填写总合同号,该字段可能为空,前端需做好空值显示处理。
6. **销售退货选择发货**:在销售退货选择发货信息时,总合同号会一并返回,便于识别。
7. **采购退货选择入库**:在采购退货选择入库信息时,总合同号会一并返回,便于识别。