Merge branch 'iipbs/st/dev' of https://onasys.co.kr:3000/ONAANDALL/frontend into feature/management-skeleton-eunsun

This commit is contained in:
2026-01-09 13:26:05 +09:00
90 changed files with 1996 additions and 462 deletions
@@ -0,0 +1,50 @@
import SearchForm from "@/components/module/SearchForm";
import { DataGrid } from "@rsone/components";
import SubmitButton from "@/components/button/SumitButton";
import SaveButton from "@/components/button/SaveButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import { useState } from "react";
import { ExcretaTreatmentFacilityMngColumn } from "@/components/util/column/input/ExcretaTreatmentFacilityMngColumn"
// 하수도 통계 관리 > 07. 분뇨처리시설
const ExcretaTreatmentFacilityInp = () => {
const submitExceptionFunc = () => {
console.log('submit exception');
// 예외제출 로직
};
const getLastYearDataFunc = () => {
console.log('get last year data');
// 지난년도 데이터 가져오기 로직
};
const submitFunc = () => {
console.log('submit');
// 제출 로직
};
const saveFunc = () => {
console.log('save');
// 저장 로직
};
const [rowData, setRowData] = useState<Record<string, string | number>[]>([]);
return (
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<SubmitExceptionButton SubmitExceptionFunc={submitExceptionFunc} />
<LastYearDataButton getLastYearDataFunc={getLastYearDataFunc} />
<SaveButton saveFunc={saveFunc} />
<SubmitButton submitFunc={submitFunc} />
</div>
<DataGrid columnInfo={ExcretaTreatmentFacilityMngColumn} rowStartNum={2} fixedColumns={2} isExcelImport={true} rowData={rowData} setRowData={setRowData} />
</>
);
};
export default ExcretaTreatmentFacilityInp;
@@ -0,0 +1,59 @@
import { useState } from "react";
import SearchForm from "@/components/module/SearchForm";
import { TabDataGrid } from "@rsone/components";
import SubmitButton from "@/components/button/SumitButton";
import SaveButton from "@/components/button/SaveButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import { SewageTreatmentFacilityStatusMngColumn } from "@/components/util/column/input/privateSewageFacility/SewageTreatmentFacilityStatusMngColumn"
import { SepticTankStatusMngColumn } from "@/components/util/column/input/privateSewageFacility/SepticTankStatusMngColumn"
import { PrivateSewageDesignationStatusMngColumn } from "@/components/util/column/input/privateSewageFacility/PrivateSewageDesignationStatusMngColumn"
// 하수도 통계 관리 > 08. 개인하수처리시설
const PrivateSewageFacilityInp = () => {
const [rowDataMap, setRowDataMap] = useState<Map<string, Record<string, string | number>[]>>(new Map());
// tab list
const PrivateSewageFacilityInpColumnList = [
SewageTreatmentFacilityStatusMngColumn,
SepticTankStatusMngColumn,
PrivateSewageDesignationStatusMngColumn
];
const submitExceptionFunc = () => {
// TODO: 예외 제출 로직 구현
console.log('예외 제출 로직 실행');
};
const lastYearDataFunc = () => {
// TODO: 지난연도 데이터 가져오기 로직 구현
console.log('지난연도 데이터 가져오기 로직 실행');
};
const submitFunc = () => {
// TODO: 제출 로직 구현
console.log('제출 로직 실행');
};
const saveFunc = () => {
// TODO: 저장 로직 구현
console.log('저장 로직 실행');
};
return (
<>
<SearchForm userMenual={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<SubmitExceptionButton SubmitExceptionFunc={submitExceptionFunc} />
<LastYearDataButton getLastYearDataFunc={lastYearDataFunc} />
<SubmitButton submitFunc={submitFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={PrivateSewageFacilityInpColumnList} rowDataMap={rowDataMap} setRowDataMap={setRowDataMap} />
</>
);
};
export default PrivateSewageFacilityInp;
@@ -0,0 +1,50 @@
import SearchForm from '@/components/module/SearchForm';
import { DataGrid } from '@rsone/components';
import SubmitButton from '@/components/button/SumitButton';
import SaveButton from '@/components/button/SaveButton';
import SubmitExceptionButton from '@/components/button/SubmitExceptionButton';
import OperateDataButton from '@/components/button/OperateDataButton';
import { useState } from 'react';
import { PublicSewageFacilityMngColumn } from '@/components/util/column/input/PublicSewageFacilityMngColumn';
// 하수도 통계 관리 > 06. 공공하수처리시설
const PublicSewageFacilityInp = () => {
const SubmitExceptionFunc = () => {
console.log('submitException');
// 예외제출 로직
};
const getOperateDataFunc = () => {
console.log('get operate data');
// 운영 데이터 가져오기
};
const submitFunc = () => {
console.log('submit');
// 제출 로직: 데이터 검증 후 제출 팝업 호출
};
const saveFunc = () => {
console.log('save');
// 저장 로직: 자동 계산 (합계 필드 계산) 후 저장
};
const [rowData, setRowData] = useState<Record<string, string | number>[]>([]);
return (
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<SubmitExceptionButton SubmitExceptionFunc={SubmitExceptionFunc} />
<OperateDataButton getOperateDataFunc={getOperateDataFunc} />
<SubmitButton submitFunc={submitFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<DataGrid columnInfo={ PublicSewageFacilityMngColumn } rowStartNum={3} fixedColumns={2} rowData={rowData} setRowData={setRowData} />
</>
);
};
export default PublicSewageFacilityInp;
@@ -0,0 +1,49 @@
import SearchForm from "@/components/module/SearchForm";
import { DataGrid } from '@rsone/components';
import SubmitButton from "@/components/button/SumitButton";
import SaveButton from "@/components/button/SaveButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import { useState } from "react";
import { PumpingStationMngColumn } from "@/components/util/column/input/PumpingStationMngColumn"
// 하수도 통계 관리 > 05. 펌프장
const PumpingStationInp = () => {
const SubmitExceptionFunc = () => {
console.log('submit exception');
// 예외 제출 로직
};
const getLastYearDataFunc = () => {
console.log('get last year data');
// 지난연도 데이터 가져오기 로직
};
const submitFunc = () => {
console.log('submit');
// 제출 로직
};
const saveFunc = () => {
console.log('save');
// 저장 로직
};
const [rowData, setRowData] = useState<Record<string, string | number>[]>([]);
return (
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<SubmitExceptionButton SubmitExceptionFunc={SubmitExceptionFunc} />
<LastYearDataButton getLastYearDataFunc={getLastYearDataFunc} />
<SubmitButton submitFunc={submitFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<DataGrid columnInfo={PumpingStationMngColumn} rowStartNum={3} isExcelImport={true} fixedColumns={3} rowData={rowData} setRowData={setRowData} />
</>
);
};
export default PumpingStationInp;
@@ -0,0 +1,12 @@
import SearchForm from "@/components/module/SearchForm";
// 하수도 통계 관리 > 12. 하수 및 분뇨관련산업
const SewageExcretaRelatedInp = () => {
return (
<>
<SearchForm userMenual={true} />
</>
);
};
export default SewageExcretaRelatedInp;
@@ -0,0 +1,59 @@
import { useState } from "react";
import SearchForm from "@/components/module/SearchForm";
import TabDataGrid from "@/components/module/TabDataGrid";
import SubmitButton from "@/components/button/SumitButton";
import SaveButton from "@/components/button/SaveButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import {SlurgeProcessingFacStatusMngColumn } from "@/components/util/column/management/sewageExcretaSlurge/SlurgeProcessingFacStatusMngColumn";
import { DigestorOperatingStatusMngColumn } from "@/components/util/column/management/sewageExcretaSlurge/DigestorOperatingStatusMngColumn";
import { SewageSlurgeProcessingFacStatusMngColumn } from "@/components/util/column/management/sewageExcretaSlurge/SewageSlurgeProcessingFacStatusMngColumn";
import { ExcretaSlurgeProcessingStatusMngColumn } from "@/components/util/column/management/sewageExcretaSlurge/ExcretaSlurgeProcessingStatusMngColumn";
// 하수도 통계 관리 > 11. 하수 및 분뇨찌꺼기(슬러지)처리
const SewageExcretaSlurgeInp = () => {
const [rowDataMap, setRowDataMap] = useState<Map<string, Record<string, string | number>[]>>(new Map());
// tab list
const SewageExcretaSlurgeMngList = [
SlurgeProcessingFacStatusMngColumn
];
const submitExceptionFunc = () => {
// TODO: 예외 제출 로직 구현
console.log('예외 제출 로직 실행');
};
const lastYearDataFunc = () => {
// TODO: 지난연도 데이터 가져오기 로직 구현
console.log('지난연도 데이터 가져오기 로직 실행');
};
const submitFunc = () => {
// TODO: 제출 로직 구현
console.log('제출 로직 실행');
};
const saveFunc = () => {
// TODO: 저장 로직 구현
console.log('저장 로직 실행');
};
return (
<>
<SearchForm userMenual={true} fctName={true}/>
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<SubmitExceptionButton SubmitExceptionFunc={submitExceptionFunc} />
<LastYearDataButton getLastYearDataFunc={lastYearDataFunc} />
<SubmitButton submitFunc={submitFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={SewageExcretaSlurgeMngList} rowDataMap={rowDataMap} setRowDataMap={setRowDataMap} />
</>
);
};
export default SewageExcretaSlurgeInp;
@@ -0,0 +1,77 @@
import { useState } from "react";
import SearchForm from "@/components/module/SearchForm";
import { TabDataGrid } from '@rsone/components';
import SubmitButton from "@/components/button/SumitButton";
import SaveButton from "@/components/button/SaveButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import OperateDateButton from "@/components/button/OperateDataButton";
import { RegionalFacilityStatusMngColumn } from "@/components/util/column/input/sewagePipe/RegionalFacilityStatusMngColumn";
import { FacilityInstallStatusMngColumn } from "@/components/util/column/input/sewagePipe/FacilityInstallStatusMngColumn";
import { PipeTypeStatusMngColumn } from "@/components/util/column/input/sewagePipe/PipeTypeStatusMngColumn";
import { PipeDiameterStatusMngColumn } from "@/components/util/column/input/sewagePipe/PipeDiameterStatusMngColumn";
import { ManholeStatusMngColumn } from "@/components/util/column/input/sewagePipe/ManholeStatusMngColumn";
import {
AdminAreaConnectionMngColumn,
TreatmentPlantConnectionMngColumn
} from "@/components/util/column/input/sewagePipe/ConnectionStatusMngColumn";
// 하수도 통계 관리 > 02. 하수관로
const SewagePipeInp = () => {
const [rowDataMap, setRowDataMap] = useState<Map<string, Record<string, string | number>[]>>(new Map());
// tab List
const SewagePipeInpColumnList = [
RegionalFacilityStatusMngColumn,
FacilityInstallStatusMngColumn,
PipeTypeStatusMngColumn,
PipeDiameterStatusMngColumn,
ManholeStatusMngColumn,
// 일단 각 tab으로 구현
AdminAreaConnectionMngColumn,
TreatmentPlantConnectionMngColumn
];
const SubmitExceptionFunc = () => {
console.log('submit exception');
// 예외 제출 로직
};
const getLastYearDataFunc = () => {
console.log('get last year data');
// 전년도 데이터 가져오기
};
const submitFunc = () => {
console.log('submit');
// 제출 로직
};
const saveFunc = () => {
console.log('save');
// 저장 로직
};
// 화면정의서 때문에 추가한 button
const getOperateDataFunc = () => {
};
return (
<>
<SearchForm userMenual={true} />
<div className="card !py-0">
<div className="flex justify-end items-center gap-[0.6rem] mx-[0.6rem]">
<SubmitExceptionButton SubmitExceptionFunc={SubmitExceptionFunc} />
<LastYearDataButton getLastYearDataFunc={getLastYearDataFunc} />
<OperateDateButton getOperateDataFunc={getOperateDataFunc} />
<SubmitButton submitFunc={submitFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
</div>
<TabDataGrid columnInfo={SewagePipeInpColumnList} rowDataMap={rowDataMap} setRowDataMap={setRowDataMap} />
</>
);
};
export default SewagePipeInp;
@@ -0,0 +1,59 @@
import { useState } from "react";
import SearchForm from "@/components/module/SearchForm";
import { TabDataGrid } from '@rsone/components';
import SubmitButton from "@/components/button/SumitButton";
import SaveButton from "@/components/button/SaveButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import { RepairStatusMngColumn } from "@/components/util/column/input/sewagePipeMaintain/RepairStatusMngColumn";
import { PipeDredgingStatusMngColumn } from "@/components/util/column/input/sewagePipeMaintain/PipeDredgingStatusMngColumn";
// 하수도 통계 관리 > 03. 하수관로 유지관리
const SewagePipeMaintainInp = () => {
const [rowDataMap, setRowDataMap] = useState<Map<string, Record<string, string | number>[]>>(new Map());
// tab List
const SewagePipeMaintainInpColumnList = [
RepairStatusMngColumn,
PipeDredgingStatusMngColumn
];
const SubmitExceptionFunc = () => {
console.log('submit exception');
// 예외 제출 로직
};
const getLastYearDataFunc = () => {
console.log('get last year data');
// 전연도 데이터 가져오기
};
const submitFunc = () => {
console.log('submit');
// 제출 로직
};
const saveFunc = () => {
console.log('save');
// 저장 로직
};
return (
<>
<SearchForm userMenual={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<SubmitExceptionButton SubmitExceptionFunc={SubmitExceptionFunc} />
<LastYearDataButton getLastYearDataFunc={getLastYearDataFunc} />
<SubmitButton submitFunc={submitFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={SewagePipeMaintainInpColumnList} rowDataMap={rowDataMap} setRowDataMap={setRowDataMap} />
</>
);
};
export default SewagePipeMaintainInp;
@@ -0,0 +1,56 @@
import { useState } from "react";
import SearchForm from "@/components/module/SearchForm";
import { TabDataGrid } from '@rsone/components';
import SubmitButton from "@/components/button/SumitButton";
import SaveButton from "@/components/button/SaveButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import { SewageReservoirMngColumn } from "@/components/util/column/input/sewageReservoirPump/SewageReservoirMngColumn";
import { RainfallPumpStationMngColumn } from "@/components/util/column/input/sewageReservoirPump/RainfallPumpStationMngColumn";
// 하수도 통계 관리 > 04. 하수저류 시설 및 빗물 펌프장
const SewageReservoirPumpInp = () => {
const [rowDataMap, setRowDataMap] = useState<Map<string, Record<string, string | number>[]>>(new Map());
// tab List
const SewageReservoirPumpInpColumnList = [
SewageReservoirMngColumn,
RainfallPumpStationMngColumn
];
const submitExceptionFunc = () => {
console.log('submit exception');
// 예외 제출 로직
};
const getLastYearDataFunc = () => {
console.log('get last year data');
// 지난연도 데이터 가져오기 로직
};
const submitFunc = () => {
console.log('submit');
// 제출 로직
};
const saveFunc = () => {
console.log('save');
// 저장 로직
};
return (
<>
<SearchForm userMenual={true} fctName={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<SubmitExceptionButton SubmitExceptionFunc={submitExceptionFunc} />
<LastYearDataButton getLastYearDataFunc={getLastYearDataFunc} />
<SubmitButton submitFunc={submitFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={SewageReservoirPumpInpColumnList} rowDataMap={rowDataMap} setRowDataMap={setRowDataMap} />
</>
);
};
export default SewageReservoirPumpInp;
@@ -0,0 +1,62 @@
import { useState } from "react";
import SearchForm from "@/components/module/SearchForm";
import { TabDataGrid } from '@rsone/components';
import SubmitButton from "@/components/button/SumitButton";
import SaveButton from "@/components/button/SaveButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import { SewerageFinanceSettlementMngColumn } from "@/components/util/column/input/sewerageFinance/SewerageFinanceSettlementMngColumn"
import { SewerageChargeMngColumn } from "@/components/util/column/input/sewerageFinance/SewerageChargeMngColumn"
import { SewerageUsageFeeMngColumn } from "@/components/util/column/input/sewerageFinance/SewerageUsageFeeMngColumn"
import { CauserBurdenMngColumn } from "@/components/util/column/input/sewerageFinance/CauserBurdenMngColumn"
// 하수도 통계 관리 > 09. 하수도재정
const SewerageFinanceInp = () => {
const [rowDataMap, setRowDataMap] = useState<Map<string, Record<string, string | number>[]>>(new Map());
// tab list
const SewerageFinanceInpList = [
SewerageFinanceSettlementMngColumn,
SewerageChargeMngColumn,
SewerageUsageFeeMngColumn,
CauserBurdenMngColumn
];
const submitExceptionFunc = () => {
// TODO: 예외 제출 로직 구현
console.log('예외 제출 로직 실행');
};
const lastYearDataFunc = () => {
// TODO: 지난연도 데이터 가져오기 로직 구현
console.log('지난연도 데이터 가져오기 로직 실행');
};
const submitFunc = () => {
// TODO: 제출 로직 구현
console.log('제출 로직 실행');
};
const saveFunc = () => {
// TODO: 저장 로직 구현
console.log('저장 로직 실행');
};
return (
<>
<SearchForm userMenual={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<SubmitExceptionButton SubmitExceptionFunc={submitExceptionFunc} />
<LastYearDataButton getLastYearDataFunc={lastYearDataFunc} />
<SubmitButton submitFunc={submitFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={SewerageFinanceInpList} rowDataMap={rowDataMap} setRowDataMap={setRowDataMap} />
</>
);
};
export default SewerageFinanceInp;
@@ -0,0 +1,60 @@
import SearchForm from "@/components/module/SearchForm";
import { DataGrid } from "@rsone/components";
import SubmitButton from "@/components/button/SumitButton";
import SaveButton from "@/components/button/SaveButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import { useState } from "react";
import { SeweragePenetrationRateMngColumn } from "@/components/util/column/input/SeweragePenetrationRateMngColumn";
// 하수도 통계 관리 > 01. 하수도 보급률
const SeweragePenetrationRateInp = () => {
const SubmitExceptionFunc = () => {
console.log('submit exception');
// 예외 제출 로직
};
const getLastYearDataFunc = () => {
console.log('get last year data');
// 전년도 데이터 가져오기
};
const submitFunc = () => {
console.log('submit');
// 제출 로직
};
const saveFunc = () => {
console.log('save');
// 저장 로직
};
const [rowData, setRowData] = useState<Record<string, string | number>[]>([]);
return (
<>
<SearchForm userMenual={true} />
<div className="card !py-0">
<div className="flex justify-end items-center gap-[0.6rem] mx-[0.6rem]">
<LastYearDataButton getLastYearDataFunc={getLastYearDataFunc} />
<SubmitExceptionButton SubmitExceptionFunc={SubmitExceptionFunc} />
<SubmitButton submitFunc={submitFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
</div>
<DataGrid
columnInfo={SeweragePenetrationRateMngColumn}
rowStartNum={3}
isExcelImport={true}
fixedColumns={1}
rowData={rowData}
setRowData={setRowData}
/>
</>
);
};
export default SeweragePenetrationRateInp;
@@ -0,0 +1,12 @@
import SearchForm from "../../module/SearchForm";
// 하수도 통계 관리 > 13. 하수도 서비스 수준
const SewerageServiceLevelInp = () => {
return (
<>
<SearchForm userMenual={true} />
</>
);
};
export default SewerageServiceLevelInp;
@@ -0,0 +1,38 @@
import SearchForm from "@/components/module/SearchForm";
import DataGrid from "@/components/module/DataGrid";
import ApproveButton from "@/components/button/ApproveButton";
import RejectButton from "@/components/button/RejectButton";
import { useState } from "react";
import { StatsInputSatusMngColumn } from "@/components/util/column/input/StatsInputSatusMngColumn";
// 하수도 통계 관리 > 00. 통계 입력 현황
const StatsInputSatusInp = () => {
const rejectFunc = () => {
console.log('reject');
// 보완 요청 로직
};
const approveFunc = () => {
console.log('appoved');
// 승인 요청 로직
};
const [rowData, setRowData] = useState<Record<string, string | number>[]>([]);
return (
<>
<SearchForm userMenual={true} />
<div className="card !py-0">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<RejectButton rejectFunc={rejectFunc} />
<ApproveButton approveFunc={approveFunc} />
</div>
</div>
<DataGrid columnInfo={ StatsInputSatusMngColumn } rowStartNum={2} fixedColumns={3} rowData={rowData} setRowData={setRowData} isExcelImport={false} />
</>
);
};
export default StatsInputSatusInp;
@@ -0,0 +1,71 @@
import { useState } from "react";
import SearchForm from "@/components/module/SearchForm";
import { TabDataGrid } from '@rsone/components';
import SubmitButton from "@/components/button/SumitButton";
import SaveButton from "@/components/button/SaveButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import OperateDataButton from "@/components/button/OperateDataButton"
import { PublicSewageTreatmentWaterReuseMngColumn } from "@/components/util/column/input/waterReuse/PublicSewageTreatmentWaterReuseMngColumn";
import { RecycledWaterStatusMngColumn } from "@/components/util/column/input/waterReuse/RecycledWaterStatusMngColumn";
import { RainfallUtilizationFacilityStatusMngColumn } from "@/components/util/column/input/waterReuse/RainfallUtilizationFacilityStatusMngColumn";
import { TreatmentWaterReuseDesignConstructionStatusMngColumn } from "@/components/util/column/input/waterReuse/TreatmentWaterReuseDesignConstructionStatusMngColumn";
import { TreatmentWaterReuseBussinessApprovalStatusMngColumn } from "@/components/util/column/input/waterReuse/TreatmentWaterReuseBussinessApprovalStatusMngColumn";
// 하수도 통계 관리 > 10. 물 재이용
const WaterReuseInp = () => {
const [rowDataMap, setRowDataMap] = useState<Map<string, Record<string, string | number>[]>>(new Map());
// tab list
const WaterReuseInpColumnList = [
PublicSewageTreatmentWaterReuseMngColumn,
RecycledWaterStatusMngColumn,
RainfallUtilizationFacilityStatusMngColumn,
TreatmentWaterReuseDesignConstructionStatusMngColumn,
TreatmentWaterReuseBussinessApprovalStatusMngColumn
];
const SubmitExceptionFunc = () => {
console.log('submit exception');
// 예외 제출 로직
};
const getLastYearDataFunc = () => {
console.log('get last year data');
// 전연도 데이터 가져오기
};
const submitFunc = () => {
console.log('submit');
// 제출 로직
};
const saveFunc = () => {
console.log('save');
// 저장 로직
};
const getOperateDataFunc = () => {
console.log('operateData');
// 운영 데이터 업데이트 로직
};
return (
<>
<SearchForm userMenual={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<SubmitExceptionButton SubmitExceptionFunc={SubmitExceptionFunc} />
<LastYearDataButton getLastYearDataFunc={getLastYearDataFunc} />
<SubmitButton submitFunc={submitFunc} />
<SaveButton saveFunc={saveFunc} />
<OperateDataButton getOperateDataFunc={getOperateDataFunc} />
</div>
<TabDataGrid columnInfo={WaterReuseInpColumnList} rowDataMap={rowDataMap} setRowDataMap={setRowDataMap} />
</>
);
};
export default WaterReuseInp;