mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-20 13:32:00 +00:00
refactor(FE-208,212): remove warehouse-related fields and logic from PurchaseOrder forms and schema
This commit is contained in:
@@ -49,15 +49,6 @@ const PurchaseOrderAcceptApprovalForm = ({
|
||||
name: string;
|
||||
};
|
||||
};
|
||||
warehouse: {
|
||||
name: string;
|
||||
};
|
||||
}
|
||||
|
||||
interface WarehouseOptionType {
|
||||
value: number;
|
||||
label: string;
|
||||
id: number;
|
||||
}
|
||||
|
||||
interface ExpeditionVendorOptionType {
|
||||
@@ -72,7 +63,6 @@ const PurchaseOrderAcceptApprovalForm = ({
|
||||
field:
|
||||
| 'purchase_item_id'
|
||||
| 'received_date'
|
||||
| 'warehouse_id'
|
||||
| 'travel_number'
|
||||
| 'travel_document_path'
|
||||
| 'vehicle_number'
|
||||
@@ -161,10 +151,6 @@ const PurchaseOrderAcceptApprovalForm = ({
|
||||
? parseInt(item.purchase_item_id) || 0
|
||||
: item.purchase_item_id || 0,
|
||||
received_date: item.received_date || '',
|
||||
warehouse_id:
|
||||
typeof item.warehouse_id === 'string'
|
||||
? parseInt(item.warehouse_id) || 0
|
||||
: item.warehouse_id || 0,
|
||||
travel_number: item.travel_number || '',
|
||||
travel_document_path: item.travel_document_path || '',
|
||||
vehicle_number: item.vehicle_number || '',
|
||||
@@ -214,35 +200,12 @@ const PurchaseOrderAcceptApprovalForm = ({
|
||||
product_category: item.product.product_category,
|
||||
uom: item.product.uom,
|
||||
},
|
||||
warehouse: {
|
||||
name: item.warehouse?.name || '',
|
||||
},
|
||||
}));
|
||||
}
|
||||
|
||||
return [];
|
||||
}, [initialValues?.items]);
|
||||
|
||||
const warehouses: WarehouseOptionType[] = useMemo(() => {
|
||||
if (initialValues?.items) {
|
||||
const uniqueWarehouses = new Map();
|
||||
|
||||
initialValues.items.forEach((item) => {
|
||||
if (item.warehouse && !uniqueWarehouses.has(item.warehouse.id)) {
|
||||
uniqueWarehouses.set(item.warehouse.id, {
|
||||
value: item.warehouse.id,
|
||||
label: item.warehouse.name,
|
||||
id: item.warehouse.id,
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
return Array.from(uniqueWarehouses.values());
|
||||
}
|
||||
|
||||
return [];
|
||||
}, [initialValues?.items]);
|
||||
|
||||
const expeditionVendors: ExpeditionVendorOptionType[] = useMemo(() => {
|
||||
return [];
|
||||
}, []);
|
||||
@@ -251,10 +214,6 @@ const PurchaseOrderAcceptApprovalForm = ({
|
||||
return purchaseItems;
|
||||
}, [purchaseItems]);
|
||||
|
||||
const getWarehouseOptions = useCallback(() => {
|
||||
return warehouses;
|
||||
}, [warehouses]);
|
||||
|
||||
const getExpeditionVendorOptions = useCallback(() => {
|
||||
return expeditionVendors;
|
||||
}, [expeditionVendors]);
|
||||
@@ -274,17 +233,6 @@ const PurchaseOrderAcceptApprovalForm = ({
|
||||
);
|
||||
};
|
||||
|
||||
const warehouseChangeHandler = (
|
||||
idx: number,
|
||||
val: OptionType | OptionType[] | null
|
||||
) => {
|
||||
const warehouse = val as WarehouseOptionType | null;
|
||||
formik.setFieldTouched(`items.${idx}.warehouse`, true);
|
||||
formik.setFieldValue(`items.${idx}.warehouse`, warehouse);
|
||||
formik.setFieldTouched(`items.${idx}.warehouse_id`, true);
|
||||
formik.setFieldValue(`items.${idx}.warehouse_id`, warehouse?.value || 0);
|
||||
};
|
||||
|
||||
const expeditionVendorChangeHandler = (
|
||||
idx: number,
|
||||
val: OptionType | OptionType[] | null
|
||||
@@ -362,10 +310,6 @@ const PurchaseOrderAcceptApprovalForm = ({
|
||||
Tanggal Diterima
|
||||
<span className='text-error'>*</span>
|
||||
</th>
|
||||
<th>
|
||||
Gudang Tujuan
|
||||
<span className='text-error'>*</span>
|
||||
</th>
|
||||
<th>
|
||||
No. Surat Jalan
|
||||
<span className='text-error'>*</span>
|
||||
@@ -447,26 +391,6 @@ const PurchaseOrderAcceptApprovalForm = ({
|
||||
}}
|
||||
/>
|
||||
</td>
|
||||
<td>
|
||||
<SelectInput
|
||||
required
|
||||
isClearable={true}
|
||||
value={item.warehouse}
|
||||
key={`warehouse-${idx}`}
|
||||
onChange={(val) => warehouseChangeHandler(idx, val)}
|
||||
options={getWarehouseOptions()}
|
||||
isError={
|
||||
isRepeaterInputError(idx, 'warehouse_id').isError
|
||||
}
|
||||
errorMessage={
|
||||
isRepeaterInputError(idx, 'warehouse_id').errorMessage
|
||||
}
|
||||
placeholder='Pilih Gudang...'
|
||||
className={{
|
||||
wrapper: 'min-w-52 md:min-w-72 lg:min-w-80',
|
||||
}}
|
||||
/>
|
||||
</td>
|
||||
<td>
|
||||
<TextInput
|
||||
required
|
||||
|
||||
@@ -26,11 +26,6 @@ type PurchaseRequestAcceptApprovalFormSchemaType = {
|
||||
} | null;
|
||||
purchase_item_id: number;
|
||||
received_date: string;
|
||||
warehouse?: {
|
||||
value: number;
|
||||
label: string;
|
||||
} | null;
|
||||
warehouse_id: number;
|
||||
travel_number: string;
|
||||
travel_document_path: string;
|
||||
vehicle_number: string;
|
||||
@@ -61,11 +56,6 @@ export type PurchaseAcceptApprovalItemSchema = {
|
||||
} | null;
|
||||
purchase_item_id: number;
|
||||
received_date: string;
|
||||
warehouse?: {
|
||||
value: number;
|
||||
label: string;
|
||||
} | null;
|
||||
warehouse_id: number;
|
||||
travel_number: string;
|
||||
travel_document_path: string;
|
||||
vehicle_number: string;
|
||||
@@ -157,22 +147,6 @@ const PurchaseAcceptApprovalItemObjectSchema: Yup.ObjectSchema<PurchaseAcceptApp
|
||||
received_date: Yup.string()
|
||||
.required('Tanggal penerimaan wajib diisi!')
|
||||
.typeError('Tanggal penerimaan wajib diisi!'),
|
||||
warehouse: Yup.object({
|
||||
value: Yup.number().min(1).required(),
|
||||
label: Yup.string().required(),
|
||||
}).nullable(),
|
||||
warehouse_id: Yup.number()
|
||||
.min(1, 'Gudang tujuan wajib diisi!')
|
||||
.required('Gudang tujuan wajib diisi!')
|
||||
.test(
|
||||
'is-valid-warehouse',
|
||||
'Gudang tujuan harus dipilih!',
|
||||
function (value) {
|
||||
if (!this.parent.warehouse) return true;
|
||||
return Boolean(value && value > 0);
|
||||
}
|
||||
)
|
||||
.typeError('Gudang tujuan harus dipilih!'),
|
||||
travel_number: Yup.string()
|
||||
.required('No. Surat jalan wajib diisi!')
|
||||
.typeError('No. Surat jalan wajib diisi!'),
|
||||
@@ -342,7 +316,6 @@ export const PurchaseRequestAcceptApprovalFormInitialValues: PurchaseRequestAcce
|
||||
{
|
||||
purchase_item_id: 0,
|
||||
received_date: '',
|
||||
warehouse_id: 0,
|
||||
travel_number: '',
|
||||
travel_document_path: '',
|
||||
vehicle_number: '',
|
||||
@@ -363,7 +336,6 @@ export const PurchaseRequestAcceptApprovalFormDefaultValues = (
|
||||
? purchase.items.map((item) => ({
|
||||
purchase_item_id: item.id,
|
||||
received_date: '',
|
||||
warehouse_id: 0,
|
||||
travel_number: '',
|
||||
travel_document_path: '',
|
||||
vehicle_number: '',
|
||||
@@ -376,7 +348,6 @@ export const PurchaseRequestAcceptApprovalFormDefaultValues = (
|
||||
{
|
||||
purchase_item_id: 0,
|
||||
received_date: '',
|
||||
warehouse_id: 0,
|
||||
travel_number: '',
|
||||
travel_document_path: '',
|
||||
vehicle_number: '',
|
||||
|
||||
Vendored
-1
@@ -103,7 +103,6 @@ export type CreateAcceptApprovalRequestPayload = {
|
||||
items: {
|
||||
purchase_item_id: number;
|
||||
received_date: string;
|
||||
warehouse_id: number;
|
||||
travel_number: string;
|
||||
travel_document_path: string;
|
||||
vehicle_number: string;
|
||||
|
||||
Reference in New Issue
Block a user