조회버튼 기능완료, 초기화 시 수영으로 초기화 완료

This commit is contained in:
Your Name
2025-07-25 15:49:06 +09:00
parent 12f81754a0
commit ea36df1c29
2 changed files with 36 additions and 10 deletions
+34 -6
View File
@@ -61,6 +61,14 @@ export default function DashBoard() {
const [searchYear, setSearchYear] = useState<string>('2021');
// 시설명
const [fcltyList, setFcltyList] = useState<{bscFctCd: string, bscFctNm: string, fcltyCpc: number | '', trtFrfNm: string | '', efflWqltStndrdNm: string | ''}>({
bscFctCd: '26260PB001R',
bscFctNm: '수영',
fcltyCpc: 452000,
trtFrfNm: '표준활성슬러지법, MLE, MBR',
efflWqltStndrdNm: '500톤 이상(Ⅳ지역)'
});
const [searchFcltyList, setSearchFcltyList] = useState<{bscFctCd: string, bscFctNm: string, fcltyCpc: number | '', trtFrfNm: string | '', efflWqltStndrdNm: string | ''}>({
bscFctCd: '',
bscFctNm: '',
fcltyCpc: '',
@@ -71,7 +79,7 @@ export default function DashBoard() {
useEffect(() => {
if (!isInit) {
initializeCommonData();
setFcltyList({
setSearchFcltyList({
bscFctCd: '26260PB001R',
bscFctNm: '수영',
fcltyCpc: 452000,
@@ -264,6 +272,23 @@ export default function DashBoard() {
trtFrfNm: '표준활성슬러지법, MLE, MBR',
efflWqltStndrdNm: '500톤 이상(Ⅳ지역)'
});
setSearchFcltyList({
bscFctCd: '26260PB001R',
bscFctNm: '수영',
fcltyCpc: 452000,
trtFrfNm: '표준활성슬러지법, MLE, MBR',
efflWqltStndrdNm: '500톤 이상(Ⅳ지역)'
});
searchFcltyList.bscFctNm = '수영';
}
const searchVal = () => {
setSearchFcltyList(fcltyList);
if(searchFcltyList.bscFctCd) {
searchOperationStatus(false, searchYear, fcltyList.bscFctCd);
}
}
return (
@@ -275,10 +300,13 @@ export default function DashBoard() {
<SelectBox className="col-span-3" label={'시도'} selectArray={selectSidoData} onSelectValue={(val) => onSelectValue(val.toString(), 'sido')} value={sidoValue} selectClass={undefined}/>
<SelectBox className="col-span-3" label={'시군구'} selectArray={filteredSigunData} onSelectValue={(val) => onSelectValue(val.toString(), 'sigun')} value={sigunValue} selectClass={undefined}/>
<div className="col-span-4 flex">
<DashBoardFclty onFacilityChange={handleFacilityChange} sidoSigun={sigunValue!='0'?sigunValue:sidoValue!='0'?sidoValue:''} facilityNm={fcltyList.bscFctNm}></DashBoardFclty>
<DashBoardFclty onFacilityChange={handleFacilityChange} sidoSigun={sigunValue!='0'?sigunValue:sidoValue!='0'?sidoValue:''} facilityNm={searchFcltyList.bscFctNm}></DashBoardFclty>
</div>
</div>
<div className="w-4/12 mx-5 flex items-center justify-end space-x-2">
<Button className={btnClass} onClick={searchVal}>
조회
</Button>
<Button className={btnClass} onClick={initVal}>
초기화
</Button>
@@ -289,16 +317,16 @@ export default function DashBoard() {
</div>
<UITab tabList={tabList} defaultValue="facilityInfo" onValueChange={setActiveTab}>
<TabsContent value="facilityInfo">
<ProcessFacilitySearch searchYear={searchYear} fcltyList={[fcltyList]} onFacilityChange={handleFacilityChange} />
<ProcessFacilitySearch searchYear={searchYear} fcltyList={[searchFcltyList]} onFacilityChange={handleFacilityChange} />
</TabsContent>
<TabsContent value="mainGraph">
<DashBoardChart searchYear={searchYear} fcltyList={[fcltyList]}/>
<DashBoardChart searchYear={searchYear} fcltyList={[searchFcltyList]}/>
</TabsContent>
<TabsContent value="rainManage">
<RainManageTab searchYear={searchYear} fcltyList={[fcltyList]}/>
<RainManageTab searchYear={searchYear} fcltyList={[searchFcltyList]}/>
</TabsContent>
<TabsContent value="drainageEquipment">
<DrainageEquipment searchYear={searchYear} fcltyList={[fcltyList]}/>
<DrainageEquipment searchYear={searchYear} fcltyList={[searchFcltyList]}/>
</TabsContent>
</UITab>
</ContentsDiv>
+2 -4
View File
@@ -3,7 +3,7 @@ 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 }) {
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);
@@ -12,7 +12,7 @@ export default function DashBoardFclty({ onFacilityChange, sidoSigun, facilityNm
} = Common;
// 시설명
const [bscFctNm, setFcltyName] = useState<string>(facilityNm || '난지');
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');
@@ -48,8 +48,6 @@ export default function DashBoardFclty({ onFacilityChange, sidoSigun, facilityNm
}
}
console.log('bscFctNm : ', bscFctNm);
return (
<div className="z-50">
<SearchInput label={'시설명'} setValue={fncNextPage} sidoSigun={sidoSigun} fcltyName={bscFctNm}/>