mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-20 13:32:00 +00:00
feat(FE-174): add grading functionality to daily recording form with validation
This commit is contained in:
@@ -4,6 +4,7 @@ import {
|
|||||||
CreateGrowingRecordingPayload,
|
CreateGrowingRecordingPayload,
|
||||||
CreateLayingRecordingPayload,
|
CreateLayingRecordingPayload,
|
||||||
CreateEggPayload,
|
CreateEggPayload,
|
||||||
|
CreateGradingPayload,
|
||||||
} from '@/types/api/production/recording';
|
} from '@/types/api/production/recording';
|
||||||
|
|
||||||
export const RecordingGrowingFormSchema = Yup.object({
|
export const RecordingGrowingFormSchema = Yup.object({
|
||||||
@@ -132,6 +133,35 @@ export const UpdateRecordingLayingFormSchema = RecordingLayingFormSchema.shape({
|
|||||||
.required('Project Flock Kandang wajib diisi!'),
|
.required('Project Flock Kandang wajib diisi!'),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export const RecordingGradingFormSchema = Yup.object({
|
||||||
|
recording_egg_id: Yup.number()
|
||||||
|
.required('Recording Egg ID wajib diisi!')
|
||||||
|
.min(1, 'Recording Egg ID minimal 1!')
|
||||||
|
.typeError('Recording Egg ID harus berupa angka!'),
|
||||||
|
eggs_grading: Yup.array()
|
||||||
|
.of(
|
||||||
|
Yup.object({
|
||||||
|
grade: Yup.string()
|
||||||
|
.required('Grade telur wajib diisi!')
|
||||||
|
.typeError('Grade telur harus berupa string!'),
|
||||||
|
qty: Yup.number()
|
||||||
|
.required('Jumlah telur wajib diisi!')
|
||||||
|
.min(1, 'Jumlah telur minimal 1!')
|
||||||
|
.typeError('Jumlah telur harus berupa angka!'),
|
||||||
|
})
|
||||||
|
)
|
||||||
|
.min(1, 'Minimal harus ada 1 data grading telur!')
|
||||||
|
.required('Data grading telur wajib diisi!'),
|
||||||
|
});
|
||||||
|
|
||||||
|
export const UpdateRecordingGradingFormSchema =
|
||||||
|
RecordingGradingFormSchema.shape({
|
||||||
|
recording_egg_id: Yup.number()
|
||||||
|
.required('Recording Egg ID wajib diisi!')
|
||||||
|
.min(1, 'Recording Egg ID minimal 1!')
|
||||||
|
.typeError('Recording Egg ID harus berupa angka!'),
|
||||||
|
});
|
||||||
|
|
||||||
export type RecordingGrowingFormValues = Yup.InferType<
|
export type RecordingGrowingFormValues = Yup.InferType<
|
||||||
typeof RecordingGrowingFormSchema
|
typeof RecordingGrowingFormSchema
|
||||||
>;
|
>;
|
||||||
@@ -140,6 +170,10 @@ export type RecordingLayingFormValues = Yup.InferType<
|
|||||||
typeof RecordingLayingFormSchema
|
typeof RecordingLayingFormSchema
|
||||||
>;
|
>;
|
||||||
|
|
||||||
|
export type RecordingGradingFormValues = Yup.InferType<
|
||||||
|
typeof RecordingGradingFormSchema
|
||||||
|
>;
|
||||||
|
|
||||||
type RecordingFormData = Partial<Recording> & {
|
type RecordingFormData = Partial<Recording> & {
|
||||||
body_weights?: CreateGrowingRecordingPayload['body_weights'];
|
body_weights?: CreateGrowingRecordingPayload['body_weights'];
|
||||||
stocks?: CreateGrowingRecordingPayload['stocks'];
|
stocks?: CreateGrowingRecordingPayload['stocks'];
|
||||||
@@ -211,3 +245,18 @@ export const getRecordingLayingFormInitialValues = (
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export const getRecordingGradingFormInitialValues = (
|
||||||
|
initialValues?: Partial<CreateGradingPayload>
|
||||||
|
): RecordingGradingFormValues => ({
|
||||||
|
recording_egg_id: initialValues?.recording_egg_id ?? 0,
|
||||||
|
eggs_grading: initialValues?.eggs_grading?.map((grading) => ({
|
||||||
|
grade: grading.grade,
|
||||||
|
qty: grading.qty,
|
||||||
|
})) ?? [
|
||||||
|
{
|
||||||
|
grade: '',
|
||||||
|
qty: 0,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
|||||||
+3
-3
@@ -86,9 +86,8 @@ export type CreateGrowingRecordingPayload = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export type CreateGradingPayload = {
|
export type CreateGradingPayload = {
|
||||||
recording_id: number;
|
recording_egg_id: number;
|
||||||
grading: {
|
eggs_grading: {
|
||||||
product_warehouse_id: number;
|
|
||||||
grade: string;
|
grade: string;
|
||||||
qty: number;
|
qty: number;
|
||||||
}[];
|
}[];
|
||||||
@@ -110,5 +109,6 @@ export type CreateRecordingPayload =
|
|||||||
|
|
||||||
export type UpdateGrowingRecordingPayload = CreateGrowingRecordingPayload;
|
export type UpdateGrowingRecordingPayload = CreateGrowingRecordingPayload;
|
||||||
export type UpdateLayingRecordingPayload = CreateLayingRecordingPayload;
|
export type UpdateLayingRecordingPayload = CreateLayingRecordingPayload;
|
||||||
|
export type UpdateGradingRecordingPayload = CreateGradingRecordingPayload;
|
||||||
|
|
||||||
export type UpdateRecordingPayload = CreateRecordingPayload;
|
export type UpdateRecordingPayload = CreateRecordingPayload;
|
||||||
|
|||||||
Reference in New Issue
Block a user