mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-20 13:32:00 +00:00
fix(FE-form-object-missmatch): Refactor purchase item handling in
approval forms and schemas
This commit is contained in:
@@ -294,7 +294,6 @@ const PurchaseOrderAcceptApprovalForm = ({
|
|||||||
item.expedition_vendor_id || item.expedition_vendor?.id || null;
|
item.expedition_vendor_id || item.expedition_vendor?.id || null;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
purchase_item: null,
|
|
||||||
purchase_item_id: item.id,
|
purchase_item_id: item.id,
|
||||||
received_date: item.received_date
|
received_date: item.received_date
|
||||||
? new Date(item.received_date).toISOString().split('T')[0]
|
? new Date(item.received_date).toISOString().split('T')[0]
|
||||||
@@ -573,7 +572,7 @@ const PurchaseOrderAcceptApprovalForm = ({
|
|||||||
<td>
|
<td>
|
||||||
<SelectInput
|
<SelectInput
|
||||||
isClearable={true}
|
isClearable={true}
|
||||||
value={formItem?.expedition_vendor}
|
value={formItem?.expedition_vendor ?? null}
|
||||||
key={`expedition-vendor-${idx}`}
|
key={`expedition-vendor-${idx}`}
|
||||||
onChange={(val) =>
|
onChange={(val) =>
|
||||||
expeditionVendorChangeHandler(idx, val)
|
expeditionVendorChangeHandler(idx, val)
|
||||||
|
|||||||
@@ -31,10 +31,6 @@ type PurchaseRequestAcceptApprovalFormSchemaType = {
|
|||||||
action: 'APPROVED' | 'REJECTED';
|
action: 'APPROVED' | 'REJECTED';
|
||||||
notes: string | null;
|
notes: string | null;
|
||||||
items: {
|
items: {
|
||||||
purchase_item?: {
|
|
||||||
value: number;
|
|
||||||
label: string;
|
|
||||||
} | null;
|
|
||||||
purchase_item_id: number;
|
purchase_item_id: number;
|
||||||
received_date: string;
|
received_date: string;
|
||||||
travel_number: string;
|
travel_number: string;
|
||||||
@@ -68,10 +64,6 @@ export type PurchaseStaffApprovalItemSchema = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export type PurchaseAcceptApprovalItemSchema = {
|
export type PurchaseAcceptApprovalItemSchema = {
|
||||||
purchase_item?: {
|
|
||||||
value: number;
|
|
||||||
label: string;
|
|
||||||
} | null;
|
|
||||||
purchase_item_id: number;
|
purchase_item_id: number;
|
||||||
received_date: string;
|
received_date: string;
|
||||||
travel_number: string;
|
travel_number: string;
|
||||||
@@ -160,12 +152,6 @@ const PurchaseManagerApprovalObjectSchema: Yup.ObjectSchema<PurchaseRequestManag
|
|||||||
|
|
||||||
const PurchaseAcceptApprovalItemObjectSchema: Yup.ObjectSchema<PurchaseAcceptApprovalItemSchema> =
|
const PurchaseAcceptApprovalItemObjectSchema: Yup.ObjectSchema<PurchaseAcceptApprovalItemSchema> =
|
||||||
Yup.object({
|
Yup.object({
|
||||||
purchase_item: Yup.object({
|
|
||||||
value: Yup.number().min(1).required(),
|
|
||||||
label: Yup.string().required(),
|
|
||||||
})
|
|
||||||
.nullable()
|
|
||||||
.optional(),
|
|
||||||
purchase_item_id: Yup.number()
|
purchase_item_id: Yup.number()
|
||||||
.min(1, 'Purchase item is required!')
|
.min(1, 'Purchase item is required!')
|
||||||
.required('Purchase item is required!')
|
.required('Purchase item is required!')
|
||||||
@@ -185,9 +171,8 @@ 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()
|
||||||
.when('expedition_vendor', {
|
.when('expedition_vendor_id', {
|
||||||
is: (expeditionVendor?: { value?: number; label?: string } | null) =>
|
is: (expeditionVendorId?: number | null) => Boolean(expeditionVendorId),
|
||||||
Boolean(expeditionVendor?.value),
|
|
||||||
then: (schema) => schema.required('Nomor kendaraan wajib diisi!'),
|
then: (schema) => schema.required('Nomor kendaraan wajib diisi!'),
|
||||||
otherwise: (schema) => schema.optional(),
|
otherwise: (schema) => schema.optional(),
|
||||||
})
|
})
|
||||||
@@ -196,6 +181,7 @@ const PurchaseAcceptApprovalItemObjectSchema: Yup.ObjectSchema<PurchaseAcceptApp
|
|||||||
value: Yup.number().min(1).required(),
|
value: Yup.number().min(1).required(),
|
||||||
label: Yup.string().required(),
|
label: Yup.string().required(),
|
||||||
})
|
})
|
||||||
|
.default(undefined)
|
||||||
.nullable()
|
.nullable()
|
||||||
.optional(),
|
.optional(),
|
||||||
expedition_vendor_id: Yup.number()
|
expedition_vendor_id: Yup.number()
|
||||||
@@ -218,9 +204,8 @@ 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()
|
||||||
.when('expedition_vendor', {
|
.when('expedition_vendor_id', {
|
||||||
is: (expeditionVendor?: { value?: number; label?: string } | null) =>
|
is: (expeditionVendorId?: number | null) => Boolean(expeditionVendorId),
|
||||||
Boolean(expeditionVendor?.value),
|
|
||||||
then: (schema) =>
|
then: (schema) =>
|
||||||
schema.required('Biaya transport per item wajib diisi!'),
|
schema.required('Biaya transport per item wajib diisi!'),
|
||||||
otherwise: (schema) => schema.optional(),
|
otherwise: (schema) => schema.optional(),
|
||||||
|
|||||||
Reference in New Issue
Block a user