| | |
| | | |
| | | const tableData = ref<ErpFinancePaymentApi.FinancePaymentItem[]>([]); // 表格数据 |
| | | |
| | | /** 回显父组件传入的明细时跳过总额重算,避免覆盖用户手动修改的合计付款 */ |
| | | const skipTotalCalc = ref(false); |
| | | |
| | | /** 已根据该来票生成的明细,避免重复生成 */ |
| | | const generatedInvoiceId = ref<number | undefined>(); |
| | | |
| | |
| | | if (!items) { |
| | | return; |
| | | } |
| | | // 父组件回显明细时只刷新表格,不重算总额(合计付款允许手动修改) |
| | | skipTotalCalc.value = true; |
| | | tableData.value = [...items]; |
| | | // 编辑回显时,标记已根据当前来票生成过,避免重复生成 |
| | | generatedInvoiceId.value = props.invoice?.id; |
| | | await nextTick(); // 特殊:保证 gridApi 已经初始化 |
| | | await gridApi.grid.reloadData(tableData.value); |
| | | skipTotalCalc.value = false; |
| | | }, |
| | | { |
| | | immediate: true, |
| | |
| | | watch( |
| | | () => [tableData.value, props.discountPrice], |
| | | () => { |
| | | if (skipTotalCalc.value) { |
| | | return; |
| | | } |
| | | if (!tableData.value || tableData.value.length === 0) { |
| | | return; |
| | | } |