fix bug
This commit is contained in:
@@ -709,18 +709,33 @@ export default {
|
||||
if (!rows.length) return;
|
||||
const first = rows[0];
|
||||
const settlementType = this.initialData.settlementType || first.settlementType || 'payable';
|
||||
const contractId = first.contractId || null;
|
||||
const matchedContract = this.allContracts.find(
|
||||
item =>
|
||||
(first.contractId && String(item.id) === String(first.contractId)) ||
|
||||
(first.contractNo && String(item.contractNo) === String(first.contractNo))
|
||||
);
|
||||
const contractId = first.contractId || matchedContract?.id || null;
|
||||
const projectId = first.projectId || matchedContract?.projectId || null;
|
||||
const projectName = first.projectName || matchedContract?.projectName || '';
|
||||
this.contracts = this.allContracts.filter(
|
||||
item => projectId && String(item.projectId) === String(projectId)
|
||||
);
|
||||
if (projectId && !this.projects.some(item => String(item.id) === String(projectId))) {
|
||||
this.projects.push({ id: projectId, name: projectName });
|
||||
}
|
||||
if (!this.contracts.some(item => String(item.id) === String(contractId))) {
|
||||
this.contracts.push({
|
||||
id: contractId,
|
||||
contractNo: first.contractNo,
|
||||
contractName: first.contractName,
|
||||
projectId: first.projectId,
|
||||
projectName: first.projectName,
|
||||
deptId: first.deptId,
|
||||
deptName: first.deptName,
|
||||
projectId,
|
||||
projectName,
|
||||
deptId: first.deptId || matchedContract?.deptId,
|
||||
deptName: first.deptName || matchedContract?.deptName,
|
||||
payerName: first.payerName,
|
||||
payeeName: first.payeeName,
|
||||
partyA: matchedContract?.partyA,
|
||||
partyB: matchedContract?.partyB,
|
||||
settlementType,
|
||||
});
|
||||
}
|
||||
@@ -729,8 +744,8 @@ export default {
|
||||
contractId,
|
||||
contractNo: first.contractNo || this.form.contractNo,
|
||||
contractName: first.contractName || this.form.contractName,
|
||||
projectId: first.projectId || this.form.projectId,
|
||||
projectName: first.projectName || this.form.projectName,
|
||||
projectId: projectId || this.form.projectId,
|
||||
projectName: projectName || this.form.projectName,
|
||||
deptId: first.deptId || this.form.deptId,
|
||||
deptName: first.deptName || this.form.deptName,
|
||||
payerName: first.payerName || this.form.payerName,
|
||||
@@ -1035,10 +1050,7 @@ export default {
|
||||
return columns.map((column, index) => {
|
||||
if (index === 0) return '合计';
|
||||
if (!sumProps.includes(column.property)) return '';
|
||||
const total = data.reduce(
|
||||
(sum, row) => sum + Number(row[column.property] || 0),
|
||||
0
|
||||
);
|
||||
const total = data.reduce((sum, row) => sum + Number(row[column.property] || 0), 0);
|
||||
return this.formatMoney(total);
|
||||
});
|
||||
},
|
||||
|
||||
@@ -1010,6 +1010,15 @@ export default {
|
||||
this.$message.warning('请至少选择一条结算明细');
|
||||
return;
|
||||
}
|
||||
const invalidManualFeeIndex = this.summaryFees.findIndex(
|
||||
row =>
|
||||
Number(row.manualFlag) === 1 &&
|
||||
(!String(row.feeType || '').trim() || !String(row.feeItem || '').trim())
|
||||
);
|
||||
if (invalidManualFeeIndex >= 0) {
|
||||
this.$message.warning(`请完善结算合计第${invalidManualFeeIndex + 1}行的费用类型和费用项`);
|
||||
return;
|
||||
}
|
||||
const stateKey = shouldSubmit ? 'submitting' : 'saving';
|
||||
this[stateKey] = true;
|
||||
try {
|
||||
@@ -1040,7 +1049,7 @@ export default {
|
||||
sourceDetailIds: this.details.map(row => row.sourceDetailId || row.id),
|
||||
summaryFees: this.summaryFees.map(row => ({
|
||||
id: row.id || undefined,
|
||||
feeType: row.feeType,
|
||||
feeType: row.feeType || '',
|
||||
feeItem: row.feeItem,
|
||||
adjustAmount: Number(row.adjustAmount || 0),
|
||||
remark: row.remark,
|
||||
@@ -1067,7 +1076,7 @@ export default {
|
||||
return this.feeOptions.find(item => item.feeType === feeType)?.feeItems || [];
|
||||
},
|
||||
feeCategoryName(value) {
|
||||
if (value === undefined || value === null || value === '') return '-';
|
||||
if (value === undefined || value === null || value === '') return '';
|
||||
const option = this.feeCategoryOptions.find(
|
||||
item => String(item.dictKey) === String(value) || String(item.dictValue) === String(value)
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user