Merge branch 'fix/purchase-product-receive-confirmation' into 'development'

[FIX/FE] Purchase Product Receive Confirmation

See merge request mbugroup/lti-web-client!379
This commit is contained in:
Rivaldi A N S
2026-04-08 08:37:44 +00:00
3 changed files with 18 additions and 7 deletions
@@ -157,11 +157,6 @@ const SalesOrderProductForm = ({
); );
}, [selectedProductWarehouse, formik.values.marketing_type]); }, [selectedProductWarehouse, formik.values.marketing_type]);
console.log({
initialValues,
values: formik.values,
});
// ===== Options ===== // ===== Options =====
const { const {
options: warehouseOptions, options: warehouseOptions,
@@ -367,6 +367,9 @@ const PurchaseOrderAcceptApprovalForm = ({
); );
} else { } else {
formik.setFieldValue(`items.${idx}.expedition_vendor_id`, null); 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} onBlur={formik.handleBlur}
disabled={!Boolean(formItem?.expedition_vendor)}
isError={ isError={
isRepeaterInputError(idx, 'vehicle_number').isError isRepeaterInputError(idx, 'vehicle_number').isError
} }
@@ -657,6 +661,7 @@ const PurchaseOrderAcceptApprovalForm = ({
thousandSeparator=',' thousandSeparator=','
decimalSeparator='.' decimalSeparator='.'
inputPrefix={'Rp'} inputPrefix={'Rp'}
disabled={!Boolean(formItem?.expedition_vendor)}
isError={ isError={
isRepeaterInputError(idx, 'transport_per_item') isRepeaterInputError(idx, 'transport_per_item')
.isError .isError
@@ -185,7 +185,12 @@ const PurchaseAcceptApprovalItemObjectSchema: Yup.ObjectSchema<PurchaseAcceptApp
.typeError('No. Surat jalan wajib diisi!'), .typeError('No. Surat jalan wajib diisi!'),
vehicle_number: Yup.string() vehicle_number: Yup.string()
.nullable() .nullable()
.optional() .when('expedition_vendor', {
is: (expeditionVendor?: { value?: number; label?: string } | null) =>
Boolean(expeditionVendor?.value),
then: (schema) => schema.required('Nomor kendaraan wajib diisi!'),
otherwise: (schema) => schema.optional(),
})
.typeError('Nomor kendaraan harus berupa plat nomor!'), .typeError('Nomor kendaraan harus berupa plat nomor!'),
expedition_vendor: Yup.object({ expedition_vendor: Yup.object({
value: Yup.number().min(1).required(), value: Yup.number().min(1).required(),
@@ -213,7 +218,13 @@ const PurchaseAcceptApprovalItemObjectSchema: Yup.ObjectSchema<PurchaseAcceptApp
.typeError('Jumlah diterima harus berupa angka!'), .typeError('Jumlah diterima harus berupa angka!'),
transport_per_item: Yup.mixed<string | number>() transport_per_item: Yup.mixed<string | number>()
.nullable() .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( .test(
'is-valid-transport-per-item', 'is-valid-transport-per-item',
'Biaya transport per item harus berupa angka lebih dari atau sama dengan 0!', 'Biaya transport per item harus berupa angka lebih dari atau sama dengan 0!',