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 f1ee55c44..50c353560 100644 --- a/apps/web-antd/src/views/erp/sale/out/data.ts +++ b/apps/web-antd/src/views/erp/sale/out/data.ts @@ -162,6 +162,15 @@ export function useFormSchema(formType: string): VbenFormSchema[] { formatter: erpPriceInputFormatter, disabled: true, }, + dependencies: { + triggerFields: ['totalPrice', 'otherPrice'], + componentProps: (values) => { + const totalPrice = values.totalPrice || 0; + const otherPrice = values.otherPrice || 0; + values.discountedPrice = totalPrice - otherPrice; + return {}; + }, + }, }, { fieldName: 'otherPrice', diff --git a/apps/web-antd/src/views/erp/sale/out/modules/form.vue b/apps/web-antd/src/views/erp/sale/out/modules/form.vue index 365551916..de7b89222 100644 --- a/apps/web-antd/src/views/erp/sale/out/modules/form.vue +++ b/apps/web-antd/src/views/erp/sale/out/modules/form.vue @@ -21,7 +21,6 @@ const formData = ref< ErpSaleOutApi.SaleOut & { accountId?: number; customerId?: number; - discountedPrice?: number; discountPercent?: number; fileUrl?: string; order?: ErpSaleOrderApi.SaleOrder; @@ -40,7 +39,6 @@ const formData = ref< discountPrice: 0, totalPrice: 0, otherPrice: 0, - discountedPrice: 0, items: [], }); const formType = ref(''); // 表单类型:'create' | 'edit' | 'detail' @@ -167,20 +165,7 @@ const [Modal, modalApi] = useVbenModal({ }, async onOpenChange(isOpen: boolean) { if (!isOpen) { - formData.value = { - id: undefined, - no: undefined, - accountId: undefined, - outTime: undefined, - remark: undefined, - fileUrl: undefined, - discountPercent: 0, - customerId: undefined, - discountPrice: 0, - totalPrice: 0, - otherPrice: 0, - items: [], - }; + formData.value = undefined; return; } // 加载数据 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 d451e2388..7f6b4d9f9 100644 --- a/apps/web-antd/src/views/erp/sale/return/data.ts +++ b/apps/web-antd/src/views/erp/sale/return/data.ts @@ -161,6 +161,15 @@ export function useFormSchema(formType: string): VbenFormSchema[] { formatter: erpPriceInputFormatter, disabled: true, }, + dependencies: { + triggerFields: ['totalPrice', 'otherPrice'], + componentProps: (values) => { + const totalPrice = values.totalPrice || 0; + const otherPrice = values.otherPrice || 0; + values.discountedPrice = totalPrice - otherPrice; + return {}; + }, + }, }, { fieldName: 'otherPrice', diff --git a/apps/web-antd/src/views/erp/sale/return/modules/form.vue b/apps/web-antd/src/views/erp/sale/return/modules/form.vue index 617f4cf96..7c357be4f 100644 --- a/apps/web-antd/src/views/erp/sale/return/modules/form.vue +++ b/apps/web-antd/src/views/erp/sale/return/modules/form.vue @@ -25,7 +25,6 @@ const formData = ref< ErpSaleReturnApi.SaleReturn & { accountId?: number; customerId?: number; - discountedPrice?: number; discountPercent?: number; fileUrl?: string; order?: ErpSaleOrderApi.SaleOrder; @@ -44,7 +43,6 @@ const formData = ref< discountPrice: 0, totalPrice: 0, otherPrice: 0, - discountedPrice: 0, items: [], }); const formType = ref(''); // 表单类型:'create' | 'edit' | 'detail' @@ -171,20 +169,7 @@ const [Modal, modalApi] = useVbenModal({ }, async onOpenChange(isOpen: boolean) { if (!isOpen) { - formData.value = { - id: undefined, - no: undefined, - accountId: undefined, - returnTime: undefined, - remark: undefined, - fileUrl: undefined, - discountPercent: 0, - customerId: undefined, - discountPrice: 0, - totalPrice: 0, - otherPrice: 0, - items: [], - }; + formData.value = undefined; return; } // 加载数据