From e5b3af3239ba30987715eeb5565d762ae3e4ffbe Mon Sep 17 00:00:00 2001 From: randy-ar Date: Tue, 21 Oct 2025 13:19:50 +0700 Subject: [PATCH] fix(FE-88): fix project flock data types --- src/app/production/chickin/page.tsx | 0 .../project-flock/form/ProjectFlockForm.tsx | 20 ++++++++++--------- src/types/api/production/project-flock.d.ts | 2 ++ 3 files changed, 13 insertions(+), 9 deletions(-) create mode 100644 src/app/production/chickin/page.tsx diff --git a/src/app/production/chickin/page.tsx b/src/app/production/chickin/page.tsx new file mode 100644 index 00000000..e69de29b diff --git a/src/components/pages/production/project-flock/form/ProjectFlockForm.tsx b/src/components/pages/production/project-flock/form/ProjectFlockForm.tsx index f3101f7d..f80db610 100644 --- a/src/components/pages/production/project-flock/form/ProjectFlockForm.tsx +++ b/src/components/pages/production/project-flock/form/ProjectFlockForm.tsx @@ -58,7 +58,7 @@ const ProjectFlockForm = ({ const [optionsLocation, setOptionsLocation] = useState([]); const [openSelectKandangs, setOpenSelectKandangs] = useState( - initialValues?.kandangs?.length > 0 + initialValues?.kandangs && initialValues?.kandangs?.length > 0 ); const [optionsKandang, setOptionsKandang] = useState( initialValues?.kandangs ?? [] @@ -329,11 +329,11 @@ const ProjectFlockForm = ({ : null, flock_id: initialValues?.flock?.id ?? 0, area_id: initialValues?.area?.id ?? 0, - category: initialValues?.category, + category: initialValues?.category as (NonNullable<"GROWING" | "LAYING" | undefined>), fcr_id: initialValues?.fcr?.id ?? 0, location_id: initialValues?.location?.id ?? 0, - period: initialValues?.period ?? '', - kandang_ids: initialValues?.kandangs?.map((k: Kandang) => k.id), + period: initialValues?.period ?? 0, + kandang_ids: initialValues?.kandangs?.map((k: Kandang) => k.id) as (number | undefined)[], }; }, [initialValues]); @@ -376,13 +376,15 @@ const ProjectFlockForm = ({ useEffect(() => { if (formType == 'detail') { formik.setFieldValue('area', { - value: initialValues.area.id, - label: initialValues.area.name, + value: initialValues?.area.id, + label: initialValues?.area.name, }); - formik.setFieldValue('area_id', initialValues.area_id); - setSelectedArea(initialValues.area?.id); + formik.setFieldValue('area_id', initialValues?.area_id); + if(initialValues?.area_id){ + setSelectedArea(initialValues?.area_id.toString() as string); + } - formik.setFieldValue('period', initialValues.period); + formik.setFieldValue('period', initialValues?.period); } }, [initialValues, setSelectedArea, formType]); useEffect(() => { diff --git a/src/types/api/production/project-flock.d.ts b/src/types/api/production/project-flock.d.ts index 07eb5082..12c01c3c 100644 --- a/src/types/api/production/project-flock.d.ts +++ b/src/types/api/production/project-flock.d.ts @@ -4,8 +4,10 @@ import { Flock } from "@/types/api/master-data/flock"; import { Kandang } from "@/types/api/master-data/kandang"; import { Location } from "@/types/api/master-data/location"; import { ProductCategory } from "@/types/api/master-data/product-category"; +import { BaseMetadata } from "@/types/api/api-general"; export type BaseProjectFlock = { + id: number; name: string; status: string; flock: Flock;