diff --git a/src/views/erp/product/product/ProductForm.vue b/src/views/erp/product/product/ProductForm.vue index 4488191a..9f016714 100644 --- a/src/views/erp/product/product/ProductForm.vue +++ b/src/views/erp/product/product/ProductForm.vue @@ -289,7 +289,13 @@ @@ -333,9 +339,15 @@ - + @@ -662,6 +674,14 @@ const getPackagingSchemeDialogList = async () => { const handlePackagingSchemeSelectionChange = (selection: any[]) => { packagingSchemeSelectedRows.value = selection + if (!selection.length) { + packagingSchemeDefaultId.value = undefined + return + } + const selectedIds = selection.map((item) => item.id) + if (selection.length === 1 || !selectedIds.includes(packagingSchemeDefaultId.value)) { + packagingSchemeDefaultId.value = selection[0].id + } } const displayPackagingSchemeText = computed(() => { @@ -703,6 +723,9 @@ const confirmPackagingSchemeSelect = () => { message.warning(t('FactoryModeling.ProductInformation.validatorPackagingSchemeRequired')) return } + if (!packagingSchemeDefaultId.value) { + packagingSchemeDefaultId.value = packagingSchemeSelectedRows.value[0].id + } formData.value.packagingSchemes = packagingSchemeSelectedRows.value.map((row) => ({ packagingSchemeId: row.id, defaultStatus: row.id === packagingSchemeDefaultId.value ? 1 : 0 @@ -764,6 +787,14 @@ const getSupplierDialogList = async () => { const handleSupplierSelectionChange = (selection: any[]) => { supplierSelectedRows.value = selection + if (!selection.length) { + supplierDefaultId.value = undefined + return + } + const selectedIds = selection.map((item) => item.id) + if (selection.length === 1 || !selectedIds.includes(supplierDefaultId.value)) { + supplierDefaultId.value = selection[0].id + } } const displaySupplierText = computed(() => { @@ -804,6 +835,9 @@ const confirmSupplierSelect = () => { message.warning(t('FactoryModeling.ProductInformation.validatorSupplierRequired')) return } + if (!supplierDefaultId.value) { + supplierDefaultId.value = supplierSelectedRows.value[0].id + } formData.value.suppliers = supplierSelectedRows.value.map((row) => ({ supplierId: row.id, defaultStatus: row.id === supplierDefaultId.value ? 1 : 0