From 9b2e7c19e661606ba7afdf6bf9896efa1b10308b Mon Sep 17 00:00:00 2001 From: JIeunhuh Date: Wed, 9 Jul 2025 11:41:53 +0900 Subject: [PATCH] =?UTF-8?q?=ED=98=84=ED=99=A9=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EC=85=80=20=ED=81=B4=EB=A6=AD=ED=95=98=EB=A9=B4=20=EC=A7=80?= =?UTF-8?q?=EB=8F=84=20=ED=99=95=EB=8C=80=EB=90=98=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/wr/app/map/newWindowPopup.tsx | 65 ++++++++++++++++-------------- 1 file changed, 35 insertions(+), 30 deletions(-) diff --git a/apps/wr/app/map/newWindowPopup.tsx b/apps/wr/app/map/newWindowPopup.tsx index cd9bb8e00..92b3100aa 100644 --- a/apps/wr/app/map/newWindowPopup.tsx +++ b/apps/wr/app/map/newWindowPopup.tsx @@ -116,7 +116,6 @@ const NewWindowPopup: React.FC = ({ data:any | undefined; }>({ data: undefined }); const [hasuTable, setHasuTable] = useState(); - const [selectRow, setSelectRow] = useState(); const [hasuPage, setHasuPage] = useState(1); if (!featureData) return; ///////////////////////////////////////////// 피쳐데이터 선택 시 각 시설별 데이터 처리 /////////////////////////////////////////////// @@ -141,19 +140,19 @@ const NewWindowPopup: React.FC = ({ else if (layerId == '중수도시설') { featureCd = selectedVal?.bdst_nm; setFcltPk(featureCd) - rswtSttnSearch(1, '20', '', featureCd, code.cityCd, code.sggCd); + rswtSttnSearch(true,1, '20', '', featureCd, code.cityCd, code.sggCd); setRswtrDetailModal({ isOpen: true, data: rswtSttnRes[0] }); } else if (layerId == '온배수시설') { featureCd = selectedVal?.bdst_nm; setFcltPk(featureCd) - htdflSttnSearch(1, '20', '', featureCd, code.cityCd, code.sggCd); + htdflSttnSearch(true,1, '20', '', featureCd, code.cityCd, code.sggCd); setHtdflDetailModal({ isOpen: true, data: htdflSttnRes[0] }); } else if (layerId == '하수처리시설') { featureCd = selectedVal?.swtrmt_fclt_nm; setFcltPk(featureCd); // 현재 호출된 featureCd 저장 - const res = fetchHasuDetail(featureCd,selectedVal?.swtrmt_fclt_cd); + fetchHasuDetail(featureCd,selectedVal?.swtrmt_fclt_cd); }; setViewMode("detail") @@ -171,11 +170,11 @@ const NewWindowPopup: React.FC = ({ pbnstSttn.pbnstSttnRes[index] ) { setFcltPk(pbnstSttn.pbnstSttnRes[index].pbnstRuseFcltPk); - fetchpbnstDetail(pbnstSttn.pbnstSttnRes[index].pbnstRuseFcltPk) - // onFeatureSelect(pbnstSttn.pbnstSttnRes[index]); - setActiveTab(pbnstSttn.pbnstSttnRes[index].pbnstRuseFcltPk) - setViewMode("detail") - // onClose() + // fetchpbnstDetail(pbnstSttn.pbnstSttnRes[index].pbnstRuseFcltPk) + onFeatureSelect(pbnstSttn.pbnstSttnRes[index]); + // setActiveTab(pbnstSttn.pbnstSttnRes[index].pbnstRuseFcltPk) + // setViewMode("detail") + onClose() } }; const getSelectedLayers = () => { @@ -273,10 +272,10 @@ const NewWindowPopup: React.FC = ({ index !== undefined && rainTable !== undefined && headId !== 'chBuildingYn') { - setRainDetailModal({ isOpen: true, data: rainTable[index] }) - setViewMode('detail') - // onFeatureSelect(rainTable[index]); - // onClose(); + // setRainDetailModal({ isOpen: true, data: rainTable[index] }) + // setViewMode('detail') + onFeatureSelect(rainTable[index]); + onClose(); } else if (headId === 'chBuildingYn' && index !== undefined && rainTable !== undefined) { if (rainTable[index] && rainTable[index]?.chgBuilding[0]?.bdstChgNm !== null) setRainBdstChgProps({ isOpen: true, chBuilding: rainTable[index].chgBuilding }); @@ -329,8 +328,10 @@ const NewWindowPopup: React.FC = ({ // 중수도시설 cellClick 이벤트 (상세정보) const rswtCellClick = (index: number | undefined, headId: string) => { if (headId !== 'chBuildingYn' && index !== undefined && rswtrTable !== undefined) { - setRswtrDetailModal({ isOpen: true, data: rswtrTable[index] }); - setViewMode('detail') + // setRswtrDetailModal({ isOpen: true, data: rswtrTable[index] }); + // setViewMode('detail') + onFeatureSelect(rswtrTable[index]); + onClose(); } else if (headId === 'chBuildingYn' && index !== undefined && rswtrTable !== undefined) { if (rswtrTable[index] && rswtrTable[index]?.chBuildingYn === 'Y') { setRswtrBdstChgProps({ isOpen: true, chBuilding: rswtrTable[index].chgBuilding }); @@ -339,7 +340,8 @@ const NewWindowPopup: React.FC = ({ } useEffect(() => { if (!rswtSttn.isInit) { - rswtSttnInit(1, "20", "0", '', code.cityCd, code.sggCd); + rswtSttnInit(false,1, "20", "0", '', code.cityCd, code.sggCd); + console.log('rswtSttnInit', rswtSttnRes); } }, [rswtSttn.isInit, rswtSttnInit]); @@ -361,8 +363,7 @@ const NewWindowPopup: React.FC = ({ (item: customRswtBdst) => item.reuseBuilding[0]?.rswtrObj !== undefined ); - - setRswtrTable(chData); + setRswtrTable(chData); }, [code, rswtSttnRes]); // 엑셀 관련 const rswtSttnExcelDownload = useCallback(() => { @@ -378,20 +379,18 @@ const NewWindowPopup: React.FC = ({ }, [rswtSttn.excelList]) useEffect(() => { - rswtSttnSearch(rswtrPage, "20", '', '', code.cityCd, code.sggCd); + rswtSttnSearch(false,rswtrPage, "20", '', '', code.cityCd, code.sggCd); }, [rswtrPage]); ///////////////////////////////////////////// 중수도 시설 ////////////////////////////////////////////////// ///////////////////////////////////////////// 온배수 시설 ////////////////////////////////////////////////// // 온배수시설 cellClick 이벤트 (상세정보) const htdflCellClick = (index: number | undefined, headId: string) => { - if ( - headId !== "chBuildingYn" && - index !== undefined && - htdflTable !== undefined - ) { - setHtdflDetailModal({ isOpen: true, data: htdflTable[index] }); - setViewMode('detail') + if (index !== undefined && htdflTable !== undefined) { + // setHtdflDetailModal({ isOpen: true, data: htdflTable[index] }); + // setViewMode('detail') + onFeatureSelect(htdflTable[index]); + onClose(); } }; useEffect(() => { @@ -414,10 +413,11 @@ const NewWindowPopup: React.FC = ({ }, [code, htdflSttnRes, htdflSttn.htdflSttHeadList]); useEffect(() => { - htdflSttnSearch(htdflPage, "20", '', '', code.cityCd, code.sggCd); + htdflSttnSearch(true,htdflPage, "20", '', '', code.cityCd, code.sggCd); }, [htdflPage]); ///////////////////////////////////////////// 온배수 시설 ////////////////////////////////////////////////// + ///////////////////////////////////////////// 하수처리 시설 ////////////////////////////////////////////////// useEffect(() => { if (code.sggCd.length && pbnstHasuRes.length > 0) { setHasuTable(tableData(pbnstHasuRes, { code })); @@ -442,14 +442,19 @@ const NewWindowPopup: React.FC = ({ }; }); pbnstHasuRes = hasuList - // console.log(hasuList) if(pbnstHasuRes.length >0)setIsRuseReg({ data:[pbnstHasuRes[0]] }); - console.log(pbnstHasuRes) } catch (error) { console.error("Error fetching data:", error); } }; + const hasuCellClick = (index: number | undefined, headId: string) => { + if (index !== undefined && pbnstHasuRes !== undefined) { + onFeatureSelect(pbnstHasuRes[index]); + onClose(); + } + }; +///////////////////////////////////////////// 하수처리 시설 ////////////////////////////////////////////////// // 체크된 레이어에 따른 조건부 컴포넌트 렌더링 함수 const renderConditionalContent = () => { @@ -482,7 +487,7 @@ const NewWindowPopup: React.FC = ({ pageSize={10} total={100000} headName={""} - cellClick={() => { }} + cellClick={hasuCellClick} onPageChange={setHasuPage} children={undefined} />