From fe66bc4e881bac6f0aa8835a2d8bdbed9189201a Mon Sep 17 00:00:00 2001 From: JIeunhuh Date: Wed, 2 Jul 2025 11:22:40 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9E=AC=EC=9D=B4=EC=9A=A9=EC=8B=9C=EC=84=A4?= =?UTF-8?q?=20=EC=83=81=EC=84=B8=EC=A0=95=EB=B3=B4=20=ED=8C=9D=EC=97=85=20?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=20=ED=91=9C=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wr/app/map/newWindowPopup.tsx | 34 +++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/apps/wr/app/map/newWindowPopup.tsx b/apps/wr/app/map/newWindowPopup.tsx index ebfcac1ca..a9f1f0326 100644 --- a/apps/wr/app/map/newWindowPopup.tsx +++ b/apps/wr/app/map/newWindowPopup.tsx @@ -67,6 +67,7 @@ const NewWindowPopup: React.FC = ({ } = useWrStore((state) => state); const [bdstTable, setBdstTable] = useState(); const [pageNation, setPageNation] = useState(1); + const [pbnstRuseFcltPk, setPbnstRuseFcltPk] = useState(''); const [pbnDetaileData, setPbnDetaileData] = useState<{ isModal: boolean; data: customPbnst; @@ -108,8 +109,7 @@ const NewWindowPopup: React.FC = ({ } // 2. RuseMngTable에 필요한 tableData를 생성합니다. (단일 행 데이터) - const tableData = [featureData]; - console.log("tableData", tableData); + // 선택된 피쳐 데이터 속성값 // 물재이용시설 cellClick 이벤트 (상세정보) const pbnstCellClick = (index: number | undefined) => { @@ -118,20 +118,35 @@ const NewWindowPopup: React.FC = ({ pbnstSttn.pbnstSttnRes && pbnstSttn.pbnstSttnRes[index] ) { - const pbnstRuseFcltPk = pbnstSttn.pbnstSttnRes[index].pbnstRuseFcltPk; - getPbnStnDetail(pbnstRuseFcltPk); + setPbnstRuseFcltPk(pbnstSttn.pbnstSttnRes[index].pbnstRuseFcltPk); + getPbnStnDetail(pbnstSttn.pbnstSttnRes[index].pbnstRuseFcltPk); } }; - useEffect(() => { - setBdstTable(pbnstSttn.pbnstSttnRes); - }, [pbnstSttn.pbnstSttnRes]); + // useEffect(() => { + // setBdstTable(pbnstSttn.pbnstSttnRes); + // }, [pbnstSttn.pbnstSttnRes]); useEffect(() => { - if (pbnstSttn.pbnstDetail.pbnstRuseFcltPk) setShowDetailView(true); + if (featureData) { + const selectedVal = featureData.getProperties(); + const featureCd = selectedVal?.swtrmt_fclt_cd + '1'; + + if (featureCd && featureCd !== pbnstRuseFcltPk) { + setPbnstRuseFcltPk(featureCd); // 현재 호출된 featureCd 저장 + getPbnStnDetail(featureCd); + } + } + }, [featureData]); + useEffect(() => { + if (pbnstSttn.pbnstDetail) { + setPbnDetaileData({ + isModal: true, + data: pbnstSttn.pbnstDetail, + }); + } }, [pbnstSttn.pbnstDetail]); - // 빗물재이용시설 cellClick 이벤트 (상세정보) const rainCellClick = (index: number | undefined, headId: string) => { if ( @@ -221,7 +236,6 @@ const NewWindowPopup: React.FC = ({ data={pbnDetaileData.data || ({} as customPbnst)} titleVisible={false} /> - ) : ( // 재이용시설 목록