From b19099cea220544cefc384db9b8d25ec2bc15a16 Mon Sep 17 00:00:00 2001 From: ValdiANS Date: Mon, 4 May 2026 16:23:35 +0700 Subject: [PATCH 1/2] fix: takeout export button --- .../project-flock/ProjectFlockTable.tsx | 89 ++----------------- 1 file changed, 8 insertions(+), 81 deletions(-) diff --git a/src/components/pages/production/project-flock/ProjectFlockTable.tsx b/src/components/pages/production/project-flock/ProjectFlockTable.tsx index f74787f1..d497fac0 100644 --- a/src/components/pages/production/project-flock/ProjectFlockTable.tsx +++ b/src/components/pages/production/project-flock/ProjectFlockTable.tsx @@ -11,7 +11,6 @@ import { useModal } from '@/components/Modal'; import ConfirmationModal from '@/components/modal/ConfirmationModal'; import ConfirmationModalWithNotes from '@/components/modal/ConfirmationModalWithNotes'; import Table from '@/components/Table'; -import Dropdown from '@/components/Dropdown'; import { isResponseError, isResponseSuccess } from '@/lib/api-helper'; import { cn, formatDate } from '@/lib/helper'; import { AreaApi, KandangApi, LocationApi } from '@/services/api/master-data'; @@ -44,6 +43,7 @@ import { import Modal from '@/components/Modal'; import SelectInputRadio from '@/components/input/SelectInputRadio'; import ButtonFilter from '@/components/helper/ButtonFilter'; +import NumberInput from '@/components/input/NumberInput'; const RowOptionsMenu = ({ props, @@ -211,8 +211,7 @@ const ProjectFlockTable = ({ refresh }: { refresh?: () => void }) => { ); const [isDeleteLoading, setIsDeleteLoading] = useState(false); const [isApproveLoading, setIsApproveLoading] = useState(false); - const [isLoadingExportingToExcel, setIsLoadingExportingToExcel] = - useState(false); + const { isChickinApproveModalOpen, isChickinApproveLoading, @@ -327,14 +326,6 @@ const ProjectFlockTable = ({ refresh }: { refresh?: () => void }) => { [] ); - const periodOptions = useMemo( - () => [ - { value: '1', label: 'Periode 1' }, - { value: '2', label: 'Periode 2' }, - ], - [] - ); - // ===== FILTER HELPERS ===== const areaValue = useMemo(() => { if (!formik.values.area_id) return null; @@ -393,13 +384,6 @@ const ProjectFlockTable = ({ refresh }: { refresh?: () => void }) => { ); }, [formik.values.category, categoryOptions]); - const periodValue = useMemo(() => { - if (!formik.values.period) return null; - return ( - periodOptions.find((opt) => opt.value === formik.values.period) || null - ); - }, [formik.values.period, periodOptions]); - // ===== FILTER DEPENDENCY HANDLERS ===== const handleFilterAreaChange = (area: OptionType | null) => { const areaId = area?.value ? String(area.value) : undefined; @@ -813,14 +797,6 @@ const ProjectFlockTable = ({ refresh }: { refresh?: () => void }) => { [] ); - const exportToExcelHandler = async () => { - setIsLoadingExportingToExcel(true); - - toast.error('Not implemented yet!'); - - setIsLoadingExportingToExcel(false); - }; - const bulkApproveClickHandler = () => { setApprovalAction('APPROVED'); confirmModal.openModal(); @@ -1020,51 +996,6 @@ const ProjectFlockTable = ({ refresh }: { refresh?: () => void }) => { onClick={handleFilterModalOpen} className='px-3 py-2.5' /> - - -
- - - Export - -
- - -
- - } - > - -
@@ -1393,18 +1324,14 @@ const ProjectFlockTable = ({ refresh }: { refresh?: () => void }) => { isClearable={true} /> - { - if (!Array.isArray(val)) { - formik.setFieldValue('period', val?.value || null); - } - }} + name='period' + placeholder='Masukkan Periode' + value={formik.values.period ?? ''} + onChange={formik.handleChange} + onBlur={formik.handleBlur} className={{ wrapper: 'w-full' }} - isClearable /> From 3945142966882ed6a324cbf59206275b4e623a17 Mon Sep 17 00:00:00 2001 From: ValdiANS Date: Mon, 4 May 2026 16:24:21 +0700 Subject: [PATCH 2/2] fix: add formikFlockSource to useEffect dependencies to set flock source raw data --- .../transfer-to-laying/TransferToLayingFormModal.tsx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/components/pages/production/transfer-to-laying/TransferToLayingFormModal.tsx b/src/components/pages/production/transfer-to-laying/TransferToLayingFormModal.tsx index 91a56085..a1d30d5a 100644 --- a/src/components/pages/production/transfer-to-laying/TransferToLayingFormModal.tsx +++ b/src/components/pages/production/transfer-to-laying/TransferToLayingFormModal.tsx @@ -223,6 +223,8 @@ const TransferToLayingFormModal = () => { }, }); + const { flockSource: formikFlockSource } = formik.values; + const { formErrorList, close, handleFormSubmit } = useFormikErrorList(formik); const [selectedFlockSourceRawData, setSelectedFlockSourceRawData] = useState< @@ -455,13 +457,13 @@ const TransferToLayingFormModal = () => { useEffect(() => { if (isResponseSuccess(flockSourceRawData)) { - const selectedFlockSourceRawData = flockSourceRawData.data.find( + const currentSelectedFlockSourceRawData = flockSourceRawData.data.find( (item) => item.id === formik.values.flockSource?.value ); - setSelectedFlockSourceRawData(selectedFlockSourceRawData); + setSelectedFlockSourceRawData(currentSelectedFlockSourceRawData); } - }, [flockSourceRawData]); + }, [flockSourceRawData, formikFlockSource]); useEffect(() => { formik.setFieldValue('totalQuantity', totalTransferedChicken); @@ -625,6 +627,7 @@ const TransferToLayingFormModal = () => { >
{ />