62 lines
2.1 KiB
TypeScript
62 lines
2.1 KiB
TypeScript
/**
|
|
* 대시보드 - 표로보기 상단구역 페에지
|
|
*
|
|
* - 대시보드 - 표로보기의 3개의 탭 상단에 조회년도, 행정정보, 시설명의 구역을 컴포넌트
|
|
*/
|
|
|
|
"use client"
|
|
import { useFoStore } from "@/app/store";
|
|
import { useEffect, useState } from "react";
|
|
import SearchInput from "../../../components/common/SearchInput";
|
|
|
|
export default function DashBoardFclty({ onFacilityChange, sidoSigun, facilityNm, }: { onFacilityChange?: (facility: { bscFctCd: string, bscFctNm: string, fcltyCpc: number | '', trtFrfNm: string | '', efflWqltStndrdNm: string | '' }) => void, sidoSigun?: string, facilityNm?: string }) {
|
|
// 입력값 상태 관리
|
|
const { Common, initializeCommonData } = useFoStore((state) => state);
|
|
|
|
const {
|
|
isInit,
|
|
} = Common;
|
|
|
|
// 시설명
|
|
const [bscFctNm, setFcltyName] = useState<string>(facilityNm || '난지');
|
|
const [bscFctCd, setbscFctCd] = useState<string>('11000SW001R');
|
|
const [fcltyCpc, setFcltyCpc] = useState<number | ''>(860000);
|
|
const [trtFrfNm, setTrtFrfNm] = useState<string | ''>('표준활성슬러지법, MLE, A2O');
|
|
const [efflWqltStndrdNm, setEfflWqltStndrdNm] = useState<string | ''>('500톤 이상(Ⅲ지역)');
|
|
|
|
useEffect(() => {
|
|
if (!isInit) {
|
|
initializeCommonData();
|
|
}
|
|
}, [isInit, initializeCommonData ]);
|
|
|
|
useEffect(() => {
|
|
if (facilityNm) {
|
|
setFcltyName(facilityNm);
|
|
}
|
|
}, [facilityNm]);
|
|
|
|
const fncNextPage = (bscFctCd?: string, bscFctNm?: string, fcltyCpc?: number | '', trtFrfNm?: string | '', efflWqltStndrdNm?: string | '') => {
|
|
setbscFctCd(bscFctCd || '');
|
|
setFcltyName(bscFctNm || '');
|
|
setFcltyCpc(fcltyCpc || '');
|
|
setTrtFrfNm(trtFrfNm || '');
|
|
setEfflWqltStndrdNm(efflWqltStndrdNm || '');
|
|
|
|
if (bscFctCd && onFacilityChange) {
|
|
onFacilityChange({
|
|
bscFctCd: bscFctCd || '',
|
|
bscFctNm: bscFctNm || '',
|
|
fcltyCpc: fcltyCpc || '',
|
|
trtFrfNm: trtFrfNm || '',
|
|
efflWqltStndrdNm: efflWqltStndrdNm || ''
|
|
});
|
|
}
|
|
}
|
|
|
|
return (
|
|
<div className="z-50">
|
|
<SearchInput label={'시설명'} setValue={fncNextPage} sidoSigun={sidoSigun} fcltyName={bscFctNm}/>
|
|
</div>
|
|
);
|
|
} |