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;
|
name: string;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
warehouse: {
|
|
||||||
name: string;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
interface WarehouseOptionType {
|
|
||||||
value: number;
|
|
||||||
label: string;
|
|
||||||
id: number;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface ExpeditionVendorOptionType {
|
interface ExpeditionVendorOptionType {
|
||||||
@@ -72,7 +63,6 @@ const PurchaseOrderAcceptApprovalForm = ({
|
|||||||
field:
|
field:
|
||||||
| 'purchase_item_id'
|
| 'purchase_item_id'
|
||||||
| 'received_date'
|
| 'received_date'
|
||||||
| 'warehouse_id'
|
|
||||||
| 'travel_number'
|
| 'travel_number'
|
||||||
| 'travel_document_path'
|
| 'travel_document_path'
|
||||||
| 'vehicle_number'
|
| 'vehicle_number'
|
||||||
@@ -161,10 +151,6 @@ const PurchaseOrderAcceptApprovalForm = ({
|
|||||||
? parseInt(item.purchase_item_id) || 0
|
? parseInt(item.purchase_item_id) || 0
|
||||||
: item.purchase_item_id || 0,
|
: item.purchase_item_id || 0,
|
||||||
received_date: item.received_date || '',
|
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_number: item.travel_number || '',
|
||||||
travel_document_path: item.travel_document_path || '',
|
travel_document_path: item.travel_document_path || '',
|
||||||
vehicle_number: item.vehicle_number || '',
|
vehicle_number: item.vehicle_number || '',
|
||||||
@@ -214,35 +200,12 @@ const PurchaseOrderAcceptApprovalForm = ({
|
|||||||
product_category: item.product.product_category,
|
product_category: item.product.product_category,
|
||||||
uom: item.product.uom,
|
uom: item.product.uom,
|
||||||
},
|
},
|
||||||
warehouse: {
|
|
||||||
name: item.warehouse?.name || '',
|
|
||||||
},
|
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
return [];
|
return [];
|
||||||
}, [initialValues?.items]);
|
}, [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(() => {
|
const expeditionVendors: ExpeditionVendorOptionType[] = useMemo(() => {
|
||||||
return [];
|
return [];
|
||||||
}, []);
|
}, []);
|
||||||
@@ -251,10 +214,6 @@ const PurchaseOrderAcceptApprovalForm = ({
|
|||||||
return purchaseItems;
|
return purchaseItems;
|
||||||
}, [purchaseItems]);
|
}, [purchaseItems]);
|
||||||
|
|
||||||
const getWarehouseOptions = useCallback(() => {
|
|
||||||
return warehouses;
|
|
||||||
}, [warehouses]);
|
|
||||||
|
|
||||||
const getExpeditionVendorOptions = useCallback(() => {
|
const getExpeditionVendorOptions = useCallback(() => {
|
||||||
return expeditionVendors;
|
return expeditionVendors;
|
||||||
}, [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 = (
|
const expeditionVendorChangeHandler = (
|
||||||
idx: number,
|
idx: number,
|
||||||
val: OptionType | OptionType[] | null
|
val: OptionType | OptionType[] | null
|
||||||
@@ -362,10 +310,6 @@ const PurchaseOrderAcceptApprovalForm = ({
|
|||||||
Tanggal Diterima
|
Tanggal Diterima
|
||||||
<span className='text-error'>*</span>
|
<span className='text-error'>*</span>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
|
||||||
Gudang Tujuan
|
|
||||||
<span className='text-error'>*</span>
|
|
||||||
</th>
|
|
||||||
<th>
|
<th>
|
||||||
No. Surat Jalan
|
No. Surat Jalan
|
||||||
<span className='text-error'>*</span>
|
<span className='text-error'>*</span>
|
||||||
@@ -447,26 +391,6 @@ const PurchaseOrderAcceptApprovalForm = ({
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</td>
|
</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>
|
<td>
|
||||||
<TextInput
|
<TextInput
|
||||||
required
|
required
|
||||||
|
|||||||
@@ -26,11 +26,6 @@ type PurchaseRequestAcceptApprovalFormSchemaType = {
|
|||||||
} | null;
|
} | null;
|
||||||
purchase_item_id: number;
|
purchase_item_id: number;
|
||||||
received_date: string;
|
received_date: string;
|
||||||
warehouse?: {
|
|
||||||
value: number;
|
|
||||||
label: string;
|
|
||||||
} | null;
|
|
||||||
warehouse_id: number;
|
|
||||||
travel_number: string;
|
travel_number: string;
|
||||||
travel_document_path: string;
|
travel_document_path: string;
|
||||||
vehicle_number: string;
|
vehicle_number: string;
|
||||||
@@ -61,11 +56,6 @@ export type PurchaseAcceptApprovalItemSchema = {
|
|||||||
} | null;
|
} | null;
|
||||||
purchase_item_id: number;
|
purchase_item_id: number;
|
||||||
received_date: string;
|
received_date: string;
|
||||||
warehouse?: {
|
|
||||||
value: number;
|
|
||||||
label: string;
|
|
||||||
} | null;
|
|
||||||
warehouse_id: number;
|
|
||||||
travel_number: string;
|
travel_number: string;
|
||||||
travel_document_path: string;
|
travel_document_path: string;
|
||||||
vehicle_number: string;
|
vehicle_number: string;
|
||||||
@@ -157,22 +147,6 @@ const PurchaseAcceptApprovalItemObjectSchema: Yup.ObjectSchema<PurchaseAcceptApp
|
|||||||
received_date: Yup.string()
|
received_date: Yup.string()
|
||||||
.required('Tanggal penerimaan wajib diisi!')
|
.required('Tanggal penerimaan wajib diisi!')
|
||||||
.typeError('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()
|
travel_number: Yup.string()
|
||||||
.required('No. Surat jalan wajib diisi!')
|
.required('No. Surat jalan wajib diisi!')
|
||||||
.typeError('No. Surat jalan wajib diisi!'),
|
.typeError('No. Surat jalan wajib diisi!'),
|
||||||
@@ -342,7 +316,6 @@ export const PurchaseRequestAcceptApprovalFormInitialValues: PurchaseRequestAcce
|
|||||||
{
|
{
|
||||||
purchase_item_id: 0,
|
purchase_item_id: 0,
|
||||||
received_date: '',
|
received_date: '',
|
||||||
warehouse_id: 0,
|
|
||||||
travel_number: '',
|
travel_number: '',
|
||||||
travel_document_path: '',
|
travel_document_path: '',
|
||||||
vehicle_number: '',
|
vehicle_number: '',
|
||||||
@@ -363,7 +336,6 @@ export const PurchaseRequestAcceptApprovalFormDefaultValues = (
|
|||||||
? purchase.items.map((item) => ({
|
? purchase.items.map((item) => ({
|
||||||
purchase_item_id: item.id,
|
purchase_item_id: item.id,
|
||||||
received_date: '',
|
received_date: '',
|
||||||
warehouse_id: 0,
|
|
||||||
travel_number: '',
|
travel_number: '',
|
||||||
travel_document_path: '',
|
travel_document_path: '',
|
||||||
vehicle_number: '',
|
vehicle_number: '',
|
||||||
@@ -376,7 +348,6 @@ export const PurchaseRequestAcceptApprovalFormDefaultValues = (
|
|||||||
{
|
{
|
||||||
purchase_item_id: 0,
|
purchase_item_id: 0,
|
||||||
received_date: '',
|
received_date: '',
|
||||||
warehouse_id: 0,
|
|
||||||
travel_number: '',
|
travel_number: '',
|
||||||
travel_document_path: '',
|
travel_document_path: '',
|
||||||
vehicle_number: '',
|
vehicle_number: '',
|
||||||
|
|||||||
Vendored
-1
@@ -103,7 +103,6 @@ export type CreateAcceptApprovalRequestPayload = {
|
|||||||
items: {
|
items: {
|
||||||
purchase_item_id: number;
|
purchase_item_id: number;
|
||||||
received_date: string;
|
received_date: string;
|
||||||
warehouse_id: number;
|
|
||||||
travel_number: string;
|
travel_number: string;
|
||||||
travel_document_path: string;
|
travel_document_path: string;
|
||||||
vehicle_number: string;
|
vehicle_number: string;
|
||||||
|
|||||||
Reference in New Issue
Block a user