gaoluyang
4 小时以前 8b0476cb0cbd4baa4ab1214f4f9481bafe0a7db6
src/views/erp/finance/payment/modules/item-form.vue
@@ -51,6 +51,9 @@
const tableData = ref<ErpFinancePaymentApi.FinancePaymentItem[]>([]); // 表格数据
/** 回显父组件传入的明细时跳过总额重算,避免覆盖用户手动修改的合计付款 */
const skipTotalCalc = ref(false);
/** 已根据该来票生成的明细,避免重复生成 */
const generatedInvoiceId = ref<number | undefined>();
@@ -100,11 +103,14 @@
    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,
@@ -146,6 +152,9 @@
watch(
  () => [tableData.value, props.discountPrice],
  () => {
    if (skipTotalCalc.value) {
      return;
    }
    if (!tableData.value || tableData.value.length === 0) {
      return;
    }