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 a17dbda1..a7f2c73e 100644 --- a/src/components/pages/marketing/form/repeater/sales-order/SalesOrderProductForm.tsx +++ b/src/components/pages/marketing/form/repeater/sales-order/SalesOrderProductForm.tsx @@ -157,11 +157,6 @@ const SalesOrderProductForm = ({ ); }, [selectedProductWarehouse, formik.values.marketing_type]); - console.log({ - initialValues, - values: formik.values, - }); - // ===== Options ===== const { options: warehouseOptions, diff --git a/src/components/pages/purchase/form/order/PurchaseOrderAcceptApprovalForm.tsx b/src/components/pages/purchase/form/order/PurchaseOrderAcceptApprovalForm.tsx index 93e15dfb..2eacfbad 100644 --- a/src/components/pages/purchase/form/order/PurchaseOrderAcceptApprovalForm.tsx +++ b/src/components/pages/purchase/form/order/PurchaseOrderAcceptApprovalForm.tsx @@ -367,6 +367,9 @@ const PurchaseOrderAcceptApprovalForm = ({ ); } else { formik.setFieldValue(`items.${idx}.expedition_vendor_id`, null); + + formik.setFieldValue(`items.${idx}.transport_per_item`, null); + formik.setFieldValue(`items.${idx}.vehicle_number`, null); } }; @@ -553,6 +556,7 @@ const PurchaseOrderAcceptApprovalForm = ({ ) } onBlur={formik.handleBlur} + disabled={!Boolean(formItem?.expedition_vendor)} isError={ isRepeaterInputError(idx, 'vehicle_number').isError } @@ -657,6 +661,7 @@ const PurchaseOrderAcceptApprovalForm = ({ thousandSeparator=',' decimalSeparator='.' inputPrefix={'Rp'} + disabled={!Boolean(formItem?.expedition_vendor)} isError={ isRepeaterInputError(idx, 'transport_per_item') .isError diff --git a/src/components/pages/purchase/form/order/PurchaseOrderForm.schema.ts b/src/components/pages/purchase/form/order/PurchaseOrderForm.schema.ts index 6a299703..9e6f43b0 100644 --- a/src/components/pages/purchase/form/order/PurchaseOrderForm.schema.ts +++ b/src/components/pages/purchase/form/order/PurchaseOrderForm.schema.ts @@ -185,7 +185,12 @@ const PurchaseAcceptApprovalItemObjectSchema: Yup.ObjectSchema + Boolean(expeditionVendor?.value), + then: (schema) => schema.required('Nomor kendaraan wajib diisi!'), + otherwise: (schema) => schema.optional(), + }) .typeError('Nomor kendaraan harus berupa plat nomor!'), expedition_vendor: Yup.object({ value: Yup.number().min(1).required(), @@ -213,7 +218,13 @@ const PurchaseAcceptApprovalItemObjectSchema: Yup.ObjectSchema() .nullable() - .optional() + .when('expedition_vendor', { + is: (expeditionVendor?: { value?: number; label?: string } | null) => + Boolean(expeditionVendor?.value), + then: (schema) => + schema.required('Biaya transport per item wajib diisi!'), + otherwise: (schema) => schema.optional(), + }) .test( 'is-valid-transport-per-item', 'Biaya transport per item harus berupa angka lebih dari atau sama dengan 0!',