mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-20 05:22:02 +00:00
fix(FE): fixing issue form not reset after success submit
This commit is contained in:
@@ -296,6 +296,7 @@ const SalesOrderFormModal = ({
|
||||
|
||||
// ================== HANDLER ==================
|
||||
const nextButtonHandler = () => {
|
||||
setSelectedMarketingProduct(null);
|
||||
setStep(step + 1);
|
||||
};
|
||||
const prevButtonHandler = () => {
|
||||
@@ -667,6 +668,7 @@ const SalesOrderFormModal = ({
|
||||
</div>
|
||||
<div className='flex flex-1 flex-col'>
|
||||
<MemoizedSalesOrderProductForm
|
||||
key={selectedMarketingProduct?.id ?? 'new'}
|
||||
onSubmitForm={handleAddSubmitSO}
|
||||
initialValues={selectedMarketingProduct ?? undefined}
|
||||
exisitingValues={memoSalesOrder}
|
||||
|
||||
@@ -109,6 +109,7 @@ export const SalesProductToFieldValues = (
|
||||
value: product.product_warehouse.id,
|
||||
label: product.product_warehouse.product.name,
|
||||
},
|
||||
product_warehouse_data: product.product_warehouse,
|
||||
product_warehouse_id: product.product_warehouse.id,
|
||||
unit_price: product.unit_price,
|
||||
total_weight: product.total_weight,
|
||||
@@ -135,6 +136,7 @@ export const SalesProductToFieldValues = (
|
||||
: null,
|
||||
total_peti: product.total_peti,
|
||||
weight_per_convertion: product.weight_per_convertion,
|
||||
uom: product.product_warehouse.product.uom.name,
|
||||
};
|
||||
};
|
||||
export const DeliveryProductToFieldValues = (
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { ProductWarehouse } from '@/types/api/inventory/product-warehouse';
|
||||
import * as Yup from 'yup';
|
||||
|
||||
type SalesOrderProductSchemaType = {
|
||||
@@ -11,6 +12,7 @@ type SalesOrderProductSchemaType = {
|
||||
value: number;
|
||||
label: string;
|
||||
} | null;
|
||||
product_warehouse_data?: ProductWarehouse | null | undefined;
|
||||
product_warehouse_id?: number;
|
||||
unit_price: string | number | undefined;
|
||||
total_weight: string | number | undefined;
|
||||
@@ -63,6 +65,10 @@ export const SalesOrderProductSchema: Yup.ObjectSchema<SalesOrderProductSchemaTy
|
||||
.required('Produk wajib diisi!'),
|
||||
label: Yup.string().required('Produk wajib diisi!'),
|
||||
}).nullable(),
|
||||
product_warehouse_data: Yup.mixed<ProductWarehouse>()
|
||||
.nullable()
|
||||
.optional()
|
||||
.notRequired(),
|
||||
product_warehouse_id: Yup.number()
|
||||
.min(1, 'Produk wajib diisi!')
|
||||
.required('Produk wajib diisi!'),
|
||||
|
||||
@@ -179,14 +179,18 @@ const SalesOrderProductForm = ({
|
||||
);
|
||||
setSelectedProductWarehouse(productWarehouse || null);
|
||||
formik.setFieldValue('qty', productWarehouse?.quantity);
|
||||
formik.setFieldValue('uom', productWarehouse?.product?.uom?.name || '');
|
||||
handleBlurField('qty');
|
||||
} else {
|
||||
formik.setFieldValue('qty', '');
|
||||
formik.setFieldValue('uom', '');
|
||||
}
|
||||
};
|
||||
|
||||
const handleResetForm = () => {
|
||||
setFormErrorMessage('');
|
||||
setHasSisaBerat(false);
|
||||
setSelectedProductWarehouse(null);
|
||||
formik.resetForm({
|
||||
values: {
|
||||
vehicle_number: '',
|
||||
@@ -569,11 +573,13 @@ const SalesOrderProductForm = ({
|
||||
errorMessage={formik.errors.qty}
|
||||
placeholder='Masukan Kuantitas'
|
||||
endAdornment={
|
||||
<div className='flex items-center gap-2'>
|
||||
<span className='text-sm text-base-content/50'>
|
||||
{selectedProductWarehouse?.product?.uom?.name}
|
||||
</span>
|
||||
</div>
|
||||
formik.values.uom ? (
|
||||
<div className='flex items-center gap-2'>
|
||||
<span className='text-sm text-base-content/50'>
|
||||
{formik.values.uom}
|
||||
</span>
|
||||
</div>
|
||||
) : undefined
|
||||
}
|
||||
bottomLabel={
|
||||
isResponseSuccess(warehouseSourceRawData) &&
|
||||
@@ -582,7 +588,7 @@ const SalesOrderProductForm = ({
|
||||
warehouseSourceRawData?.data?.find(
|
||||
(item) => item.id === formik.values.product_warehouse_id
|
||||
)?.quantity ?? 0
|
||||
)} ${selectedProductWarehouse?.product?.uom?.name}`
|
||||
)} ${formik.values.uom}`
|
||||
: ''
|
||||
}
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user