From 001dafecb72c8abdb814b72a5ac8451744d23b3a Mon Sep 17 00:00:00 2001 From: ValdiANS Date: Mon, 18 May 2026 14:18:35 +0700 Subject: [PATCH 1/5] fix: adjust copywriting for approve button based on approval step number --- src/components/pages/marketing/DeliveryOrderFormModal.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/pages/marketing/DeliveryOrderFormModal.tsx b/src/components/pages/marketing/DeliveryOrderFormModal.tsx index d6ace126..fe98603d 100644 --- a/src/components/pages/marketing/DeliveryOrderFormModal.tsx +++ b/src/components/pages/marketing/DeliveryOrderFormModal.tsx @@ -849,7 +849,11 @@ const DeliveryOrderFormModal = ({}: { initialValues?: Marketing }) => { className='p-3 shadow-button-soft text-base-100 rounded-lg text-sm font-semibold' disabled={deliveryRejected} > - Approve + {marketing?.data?.latest_approval?.step_number === 1 && + 'Approve'} + + {marketing?.data?.latest_approval?.step_number === 2 && + 'Deliver Item'} )} From 6c6f739fc05d4180e63b0f5993f4007cdc5579dc Mon Sep 17 00:00:00 2001 From: ValdiANS Date: Mon, 18 May 2026 14:20:30 +0700 Subject: [PATCH 2/5] fix: remove onAfterSubmit callback in useFormikErrorList --- src/components/pages/marketing/SalesOrderFormModal.tsx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/components/pages/marketing/SalesOrderFormModal.tsx b/src/components/pages/marketing/SalesOrderFormModal.tsx index 17a59a92..77f9c92b 100644 --- a/src/components/pages/marketing/SalesOrderFormModal.tsx +++ b/src/components/pages/marketing/SalesOrderFormModal.tsx @@ -246,6 +246,7 @@ const SalesOrderFormModal = ({ }) .filter((item) => Boolean(item)), } as UpdateDeliveryOrderPayload); + switch (modalAction) { case 'add': await createMarketingHandler(payload as CreateSalesOrderPayload); @@ -261,11 +262,7 @@ const SalesOrderFormModal = ({ // ===== Formik Error List ===== const { formErrorList, setFormErrorList, close, handleFormSubmit } = - useFormikErrorList(formik, { - onAfterSubmit: () => { - router.push('/marketing'); - }, - }); + useFormikErrorList(formik); // ================== FORM REPEATER HANDLER ================== const createMarketingHandler = async (values: CreateSalesOrderPayload) => { From 82b5429d021485a483a1325d10745f79a13bfe18 Mon Sep 17 00:00:00 2001 From: ValdiANS Date: Mon, 18 May 2026 14:24:59 +0700 Subject: [PATCH 3/5] fix: update DeliveryOrderSchema validation, make all delivery_order should valid instead of some --- src/components/pages/marketing/form/MarketingForm.schema.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/pages/marketing/form/MarketingForm.schema.ts b/src/components/pages/marketing/form/MarketingForm.schema.ts index 7e3d21c7..385f1c90 100644 --- a/src/components/pages/marketing/form/MarketingForm.schema.ts +++ b/src/components/pages/marketing/form/MarketingForm.schema.ts @@ -71,14 +71,14 @@ export const DeliveryOrderSchema: Yup.ObjectSchema = .required('Pengiriman wajib diisi!') .test( 'at-least-one-valid-row', - 'Minimal harus ada satu baris pengiriman yang lengkap diisi!', + 'Seluruh data pengiriman harus diisi lengkap!', function (items) { if (!items || items.length === 0) return false; - // VALIDASI: minimal 1 item valid full + // VALIDASI: seluruh item harus valid full const itemSchema = DeliveryOrderProductSchema; - const hasValidItem = items.some((item) => { + const hasValidItem = items.every((item) => { if (!item) return false; return itemSchema.isValidSync(item, { abortEarly: true }); }); From 910981645b253a9ca952484d539e1f168209340f Mon Sep 17 00:00:00 2001 From: ValdiANS Date: Mon, 18 May 2026 14:25:19 +0700 Subject: [PATCH 4/5] fix: remove unnecessary code --- .../delivery-order/DeliverOrderProduct.tsx | 22 +++++-------------- 1 file changed, 6 insertions(+), 16 deletions(-) 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 71716a70..f42ac710 100644 --- a/src/components/pages/marketing/form/repeater/delivery-order/DeliverOrderProduct.tsx +++ b/src/components/pages/marketing/form/repeater/delivery-order/DeliverOrderProduct.tsx @@ -146,15 +146,6 @@ const DeliveryOrderProductForm = ({ ); // ============ Fetch Data ============ - const { data: productData } = useSWR( - selectedProduct?.value - ? ProductApi.basePath + '/' + selectedProduct?.value - : null, - () => - selectedProduct?.value - ? ProductApi.getSingle(Number(selectedProduct?.value)) - : undefined - ); // Options Week dari minggu 1 - 22 // const optionsWeek = useMemo(() => { @@ -440,7 +431,8 @@ const DeliveryOrderProductForm = ({ handleBlurField(currentInput); formik.setFieldValue( 'uom', - isResponseSuccess(productData) ? productData?.data?.uom?.name : '' + initialValues?.marketing_product?.product_warehouse_data?.product?.uom + ?.name ?? '' ); }, } @@ -813,9 +805,8 @@ const DeliveryOrderProductForm = ({ endAdornment={
- {isResponseSuccess(productData) - ? productData?.data?.uom.name - : ''} + {initialValues?.marketing_product?.product_warehouse_data + ?.product?.uom?.name ?? ''}
} @@ -826,9 +817,8 @@ const DeliveryOrderProductForm = ({ (item) => item.id === formik.values.marketing_product_id )?.qty + ' ' + - (isResponseSuccess(productData) - ? productData?.data?.uom.name - : '') + (initialValues?.marketing_product?.product_warehouse_data + ?.product?.uom?.name ?? '') : '' } /> From c12beca4d709633f8c0ad72660be2941d779f7c1 Mon Sep 17 00:00:00 2001 From: ValdiANS Date: Mon, 18 May 2026 14:26:52 +0700 Subject: [PATCH 5/5] fix: recalculate qty if product change --- .../form/repeater/sales-order/SalesOrderProductForm.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/components/pages/marketing/form/repeater/sales-order/SalesOrderProductForm.tsx b/src/components/pages/marketing/form/repeater/sales-order/SalesOrderProductForm.tsx index 5f0031f8..bcc71131 100644 --- a/src/components/pages/marketing/form/repeater/sales-order/SalesOrderProductForm.tsx +++ b/src/components/pages/marketing/form/repeater/sales-order/SalesOrderProductForm.tsx @@ -252,6 +252,11 @@ const SalesOrderProductForm = ({ setSelectedProductWarehouse(productWarehouse || null); formik.setFieldValue('product_warehouse_data', productWarehouse || null); formik.setFieldValue('qty', productWarehouse?.quantity); + + if (productWarehouse?.quantity) { + handleFieldChange('qty', productWarehouse?.quantity); + } + formik.setFieldValue('uom', productWarehouse?.product?.uom?.name || ''); if ( productWarehouse?.week !== undefined &&