diff --git a/src/components/pages/marketing/form/MarketingForm.tsx b/src/components/pages/marketing/form/MarketingForm.tsx index 6240570f..b9a1a1fb 100644 --- a/src/components/pages/marketing/form/MarketingForm.tsx +++ b/src/components/pages/marketing/form/MarketingForm.tsx @@ -582,6 +582,30 @@ const MarketingForm = ({ }, [addDOModal] ); + const handleDeleteDO = useCallback( + async (id: number) => { + setDeliveryOrderValues((prev) => + prev.map((product) => + product.id === id + ? { + ...product, + ...{ + unit_price: '', + total_weight: '', + qty: '', + avg_weight: '', + total_price: '', + delivery_date: '', + }, + } + : product + ) + ); + addDOModal.closeModal(); + setSelectedDeliveryProduct(null); + }, + [addDOModal] + ); useEffect(() => { formik.setFieldValue('delivery_order', deliveryOrderValues); @@ -686,6 +710,7 @@ const MarketingForm = ({ formType={formType} data={deliveryOrderValues} onEdit={handleEditDO} + onDelete={handleDeleteDO} onAddProductClick={handleAddDOClick} /> diff --git a/src/components/pages/marketing/form/repeater/delivery-order/DeliverOrderProduct.tsx b/src/components/pages/marketing/form/repeater/delivery-order/DeliverOrderProduct.tsx index da3b2fee..56f00135 100644 --- a/src/components/pages/marketing/form/repeater/delivery-order/DeliverOrderProduct.tsx +++ b/src/components/pages/marketing/form/repeater/delivery-order/DeliverOrderProduct.tsx @@ -106,6 +106,7 @@ const DeliveryOrderProductForm = ({ await onUpdateForm?.(values.marketing_product_id as number, values); } handleResetForm(); + setSelectedProduct(null); }, }); @@ -124,7 +125,7 @@ const DeliveryOrderProductForm = ({ marketing_product: undefined, }, }); - setSelectedProduct(null); + // setSelectedProduct(null); }; const handleBlurField = (field: string) => { diff --git a/src/components/pages/marketing/form/table-view/DeliveryOrderProductTable.tsx b/src/components/pages/marketing/form/table-view/DeliveryOrderProductTable.tsx index ac59529e..6b6f6a81 100644 --- a/src/components/pages/marketing/form/table-view/DeliveryOrderProductTable.tsx +++ b/src/components/pages/marketing/form/table-view/DeliveryOrderProductTable.tsx @@ -16,6 +16,7 @@ type DeliveryOrderProductTableProps = { data: DeliveryOrderProductFormValues[]; formType?: 'add' | 'edit' | 'add_deliver' | 'edit_deliver'; onEdit: (id: number) => void; + onDelete: (id: number) => void; onAddProductClick: () => void; }; @@ -23,10 +24,13 @@ const DeliveryOrderProductTable = ({ data, formType, onEdit, + onDelete, onAddProductClick, }: DeliveryOrderProductTableProps) => { const onEditRef = useRef(onEdit); onEditRef.current = onEdit; + const onDeleteRef = useRef(onDelete); + onDeleteRef.current = onDelete; const canAddData = data.filter((item) => !Boolean(item.qty)); @@ -144,16 +148,29 @@ const DeliveryOrderProductTable = ({