diff --git a/src/views/payment/receipt-flow-batch-form.vue b/src/views/payment/receipt-flow-batch-form.vue index b7f0bd8..156a5f5 100644 --- a/src/views/payment/receipt-flow-batch-form.vue +++ b/src/views/payment/receipt-flow-batch-form.vue @@ -46,6 +46,9 @@ + + + @@ -298,10 +301,21 @@ export default { 0 ); }, + flowRemaining(flow) { + return Math.max(Number(flow.unclaimedAmount || 0) - Number(flow.claimedAmount || 0), 0); + }, maxAllocation(row) { const current = Number(row.settlement.allocations?.[row.flow.id] || 0); const otherTotal = this.settlementAllocatedTotal(row.settlement) - current; - return Math.max(this.settlementRemaining(row.settlement) - otherTotal, 0); + // 流水维度:该流水其余分摊已占用部分同样挤占剩余可认领金额 + const flowOtherTotal = this.flowAllocatedTotal(row.flow.id) - current; + return Math.max( + Math.min( + this.settlementRemaining(row.settlement) - otherTotal, + this.flowRemaining(row.flow) - flowOtherTotal + ), + 0 + ); }, handleAllocationChange(settlement) { const total = this.settlementAllocatedTotal(settlement);