import { useState } from "react"; import SearchForm from "@/components/module/SearchForm"; // import { DataGrid } from "@rsone/components"; import DataGrid from "@/components/module/DataGrid"; import ApproveButton from "@/components/button/ApproveButton"; import RejectButton from "@/components/button/RejectButton"; import { LoadingWithAnimation } from "@common/components"; import { StatsInputStatusInpColumn } from "@/components/util/column/input/StatsInputStatusInpColumn"; import { StatisticsInputStatusApi } from "@/entities/statistics/api/statistics-input-status-service"; import type { StatsInputStatusListRequestParams } from "@/entities/statistics/model/statistics-input-status-interface"; import type { SearchFormValues } from "@/components/type/SearchForm.type"; import { useAlertStore } from "@/shared/lib"; import { toGridRows } from "@/components/util/grid/gridFunction"; // 하수도 통계 관리 > 00. 통계 입력 현황 const StatsInputStatusInp = () => { const { setMessage: alert } = useAlertStore((state) => state); const [rowData, setRowData] = useState[]>([]); const [isLoading, setIsLoading] = useState(false); const handleSearch = async (values: SearchFormValues) => { if (values.sido === '' || values.sido === 'ALL') { alert('시도를 선택해주세요.'); return; } const searchParam: StatsInputStatusListRequestParams = { ctpvNm: values.sido, sewerBzmnCd: values.bsnmCd, sggNm: values.gugun === 'ALL' ? '' : values.gugun, statsYr: values.year, }; try { setIsLoading(true); const response = await StatisticsInputStatusApi.getStatisticsInputStatusList(searchParam); if (response.status === 'success' && response.data) { setRowData(toGridRows(response.data)); } else { alert(response.message); } } catch { alert('데이터 조회 중 오류가 발생했습니다.'); setRowData([]); } finally { setIsLoading(false); } }; const handleReset = () => { setRowData([]); }; const rejectFunc = () => { // 보완 요청 로직 }; const approveFunc = () => { // 승인 요청 로직 }; return ( <>
{isLoading &&
}
); }; export default StatsInputStatusInp;