fix(purchase): 修复合同信息未正确传递的问题

- loadData中始终传递合同相关字段(不再依赖batches是否存在)
- 添加contractFlowStatus、contractName、contractNo、contractMoney字段传递
- 更新DEFAULT_COMMON_FORM包含新字段
This commit is contained in:
吴红兵
2026-03-15 11:26:05 +08:00
parent 8bc778345b
commit 451004d84e

View File

@@ -147,30 +147,26 @@ const loadData = async () => {
loading.value = true; loading.value = true;
try { try {
const configRes = await getCommonConfigWithBatches(currentId); const configRes = await getCommonConfigWithBatches(currentId);
// 防止快速切换:若已打开其他申请单,忽略本次结果
if (String(purchaseId.value) !== currentId) return; if (String(purchaseId.value) !== currentId) return;
const config = configRes?.data; const config = configRes?.data;
if (config?.common) { if (config?.common) {
applyInfo.value = config.common; applyInfo.value = config.common;
// 采购人员和资产管理员始终回填
commonForm.value.purchaserId = config.common.purchaserId || ''; commonForm.value.purchaserId = config.common.purchaserId || '';
commonForm.value.purchaserName = config.common.purchaserName || ''; commonForm.value.purchaserName = config.common.purchaserName || '';
commonForm.value.assetAdminId = config.common.assetAdminId || ''; commonForm.value.assetAdminId = config.common.assetAdminId || '';
commonForm.value.assetAdminName = config.common.assetAdminName || ''; commonForm.value.assetAdminName = config.common.assetAdminName || '';
commonForm.value.hasContract = config.common.hasContract || '0';
// 其他字段仅当存在已保存批次时回填 commonForm.value.contractId = config.common.contractId || '';
if (config?.batches?.length) { commonForm.value.contractName = config.common.contractName || '';
Object.assign(commonForm.value, { commonForm.value.contractNo = config.common.contractNo || '';
hasContract: config.common.hasContract || '0', commonForm.value.contractMoney = config.common.contractMoney || null;
contractId: config.common.contractId || '', commonForm.value.contractFlowStatus = config.common.contractFlowStatus || '';
isInstallment: config.common.isInstallment || '0', commonForm.value.supplierName = config.common.supplierName || '';
totalPhases: config.common.totalPhases || 1, commonForm.value.isInstallment = config.common.isInstallment || '0';
supplierName: config.common.supplierName || '', commonForm.value.totalPhases = config.common.totalPhases || 1;
transactionAmount: config.common.transactionAmount || null, commonForm.value.transactionAmount = config.common.transactionAmount || null;
});
}
} }
if (config?.batches?.length) { if (config?.batches?.length) {
@@ -327,6 +323,10 @@ const handleClose = () => {
const DEFAULT_COMMON_FORM = { const DEFAULT_COMMON_FORM = {
hasContract: '0', hasContract: '0',
contractId: '', contractId: '',
contractName: '',
contractNo: '',
contractMoney: null,
contractFlowStatus: '',
isInstallment: '0', isInstallment: '0',
totalPhases: 1, totalPhases: 1,
supplierName: '', supplierName: '',