diff --git a/apps/web-antd/src/views/erp/sale/out/data.ts b/apps/web-antd/src/views/erp/sale/out/data.ts index 50c353560..7e66cd053 100644 --- a/apps/web-antd/src/views/erp/sale/out/data.ts +++ b/apps/web-antd/src/views/erp/sale/out/data.ts @@ -214,7 +214,9 @@ export function useFormSchema(formType: string): VbenFormSchema[] { } /** 表单的明细表格列 */ -export function useFormItemColumns(): VxeTableGridOptions['columns'] { +export function useFormItemColumns( + formData?: any[], +): VxeTableGridOptions['columns'] { return [ { type: 'seq', title: '序号', minWidth: 50, fixed: 'left' }, { @@ -250,6 +252,22 @@ export function useFormItemColumns(): VxeTableGridOptions['columns'] { minWidth: 150, slots: { default: 'remark' }, }, + { + field: 'totalCount', + title: '原数量', + formatter: 'formatAmount3', + minWidth: 120, + fixed: 'right', + visible: formData && formData[0]?.outCount !== undefined, + }, + { + field: 'outCount', + title: '已出库', + formatter: 'formatAmount3', + minWidth: 120, + fixed: 'right', + visible: formData && formData[0]?.returnCount !== undefined, + }, { field: 'count', title: '数量', diff --git a/apps/web-antd/src/views/erp/sale/out/modules/item-form.vue b/apps/web-antd/src/views/erp/sale/out/modules/item-form.vue index 1174a69a3..b3db88255 100644 --- a/apps/web-antd/src/views/erp/sale/out/modules/item-form.vue +++ b/apps/web-antd/src/views/erp/sale/out/modules/item-form.vue @@ -94,6 +94,9 @@ watch( tableData.value = [...items]; await nextTick(); // 特殊:保证 gridApi 已经初始化 await gridApi.grid.reloadData(tableData.value); + // 更新表格列配置(目的:原数量、已出库动态列) + const columns = useFormItemColumns(tableData.value); + await gridApi.grid.reloadColumn(columns); }, { immediate: true, diff --git a/apps/web-antd/src/views/erp/sale/return/data.ts b/apps/web-antd/src/views/erp/sale/return/data.ts index 7f6b4d9f9..428c14e16 100644 --- a/apps/web-antd/src/views/erp/sale/return/data.ts +++ b/apps/web-antd/src/views/erp/sale/return/data.ts @@ -213,7 +213,9 @@ export function useFormSchema(formType: string): VbenFormSchema[] { } /** 表单的明细表格列 */ -export function useFormItemColumns(): VxeTableGridOptions['columns'] { +export function useFormItemColumns( + formData?: any[], +): VxeTableGridOptions['columns'] { return [ { type: 'seq', title: '序号', minWidth: 50, fixed: 'left' }, { @@ -249,21 +251,21 @@ export function useFormItemColumns(): VxeTableGridOptions['columns'] { minWidth: 150, slots: { default: 'remark' }, }, - // TODO @AI:formData[0]?.outCount != null { field: 'totalCount', title: '已出库', formatter: 'formatAmount3', minWidth: 120, fixed: 'right', + visible: formData && formData[0]?.outCount !== undefined, }, - // TODO @AI:formData[0]?.returnCount != null { field: 'returnCount', title: '已退货', formatter: 'formatAmount3', minWidth: 120, fixed: 'right', + visible: formData && formData[0]?.returnCount !== undefined, }, { field: 'count', diff --git a/apps/web-antd/src/views/erp/sale/return/modules/item-form.vue b/apps/web-antd/src/views/erp/sale/return/modules/item-form.vue index 01e86e1b5..2ad54238a 100644 --- a/apps/web-antd/src/views/erp/sale/return/modules/item-form.vue +++ b/apps/web-antd/src/views/erp/sale/return/modules/item-form.vue @@ -65,7 +65,7 @@ const summaries = computed(() => { /** 表格配置 */ const [Grid, gridApi] = useVbenVxeGrid({ gridOptions: { - columns: useFormItemColumns(), + columns: useFormItemColumns(tableData.value), data: tableData.value, minHeight: 250, autoResize: true, @@ -94,6 +94,9 @@ watch( tableData.value = [...items]; await nextTick(); // 特殊:保证 gridApi 已经初始化 await gridApi.grid.reloadData(tableData.value); + // 更新表格列配置(目的:已出库、已出库动态列) + const columns = useFormItemColumns(tableData.value); + await gridApi.grid.reloadColumn(columns); }, { immediate: true,