🐛 修复收款流水继续认领预填与付款申请预结算引用提交

部分认领打开时预填历史关联结算单,可认领上限按公告未认领与收款金额取小;付款申请提交前清理误存正式结算单引用。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-19 17:12:24 +08:00
parent 5cb7eb16d5
commit 0e57de5c71
3 changed files with 35 additions and 10 deletions
+15 -7
View File
@@ -252,10 +252,11 @@ export default {
);
},
claimableAmount() {
return Math.max(
Number(this.form.unclaimedAmount || 0) - Number(this.form.claimedAmount || 0),
0
);
const unclaimed = Number(this.form.unclaimedAmount || 0);
const receipt = Number(this.form.receiptAmount || 0);
const ceiling =
unclaimed > 0 && receipt > 0 ? Math.min(unclaimed, receipt) : unclaimed || receipt;
return Math.max(ceiling - Number(this.form.claimedAmount || 0), 0);
},
},
created() {
@@ -274,14 +275,21 @@ export default {
}
const data = this.unwrapData(await api.getDetail(this.flowId));
const userInfo = this.$store.getters.userInfo || {};
// 部分认领继续认领:预填本流水历史关联且仍有剩余可认领金额的结算单
const relatedSettlements = (data?.relatedSettlements || []).map(item => ({
...item,
formalSettlementId: item.id,
settlementId: item.id,
allocatedReceiptAmount: 0,
}));
this.form = {
...emptyForm(),
...data,
claimerName: userInfo.realName || userInfo.userName || data.claimerName || '',
claimerDeptName: userInfo.deptName || userInfo.dept_name || data.claimerDeptName || '',
claimDate: this.$dayjs().format('YYYY-MM-DD'),
settlementIds: [],
settlements: [],
settlementIds: relatedSettlements.map(item => item.formalSettlementId),
settlements: relatedSettlements,
attachments: [],
};
},
@@ -347,7 +355,7 @@ export default {
return;
}
if (this.allocatedTotal > this.claimableAmount + 0.001) {
this.$message.warning('累计认领金额不能超过公告未认领金额(剩余可认领金额)');
this.$message.warning('累计认领金额不能超过剩余可认领金额');
return;
}
for (const row of this.form.settlements)