From f2881f3a3a44bc70b04c3803e2a801ccb1f9dfbc Mon Sep 17 00:00:00 2001 From: yschoi Date: Fri, 25 Jul 2025 15:29:20 +0900 Subject: [PATCH] =?UTF-8?q?=ED=9B=84=EB=B3=B4=EC=A7=80=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20=EC=A7=80=EB=8F=84=20=EC=A7=84=ED=96=89=EC=8B=9C?= =?UTF-8?q?=EC=BC=9C~~~?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dm/app/(popup-layout)/map/popup/page.tsx | 9 ++ .../components/ui/map/searchBar/searchBar.tsx | 105 ++++++++++-------- .../ui/sdmInfoInsertForm/component.tsx | 2 +- .../business_components/src/ui/map/Gis.js | 6 +- 4 files changed, 69 insertions(+), 53 deletions(-) diff --git a/apps/dm/app/(popup-layout)/map/popup/page.tsx b/apps/dm/app/(popup-layout)/map/popup/page.tsx index 84dc49119..06ffdba87 100644 --- a/apps/dm/app/(popup-layout)/map/popup/page.tsx +++ b/apps/dm/app/(popup-layout)/map/popup/page.tsx @@ -15,6 +15,13 @@ const Map = () => { const [checkedLayers, setCheckedLayers] = useState([]); const [checkedLayersData, setCheckedLayersData] = useState([]); const [selectDataPk, setSelectDataPk] = useState(""); + const [subs, setSubs] = useState([]); + + //적용 버튼 클릭 이벤트 + const onApply = () => { + //setSubs([{'41110PB001R1':'수원제1,2 재이용1'},{'41110PB001R2':'수원제1,2 재이용2'}]); + console.log(subs) + }; const fetchData = async () => { try { @@ -120,6 +127,7 @@ const Map = () => { setSelectDataPk(hasuPk); } }} + onApply={onApply} />
{ isSearchModalOpen={isSearchModalOpen} onCheckedLayersChange={handleCheckedLayersChange} imgVisble={false} + setData={setSubs} />
diff --git a/apps/dm/components/ui/map/searchBar/searchBar.tsx b/apps/dm/components/ui/map/searchBar/searchBar.tsx index b75ce7953..544bc7984 100644 --- a/apps/dm/components/ui/map/searchBar/searchBar.tsx +++ b/apps/dm/components/ui/map/searchBar/searchBar.tsx @@ -7,19 +7,20 @@ import { SelectBox, type SelectDataType, } from "@common/business_components/ui"; -import { Button, Label } from "@common/components/ui"; +import { Button, Label } from "@common/components/ui"; import { useCallback, useEffect, useState } from "react"; import SearchInputText from "../SearchInputText/SearchInputText"; export function SearchBar({ - - setHasuPk -}:{ - setHasuPk: (hasuPk: string) => void, -} - -) { - const {map, Common, initializeCommonData ,findRuseFclt} = useDmStore((state) => state); + setHasuPk, + onApply +}: { + setHasuPk: (hasuPk: string) => void; + onApply: () => void; +}) { + const { map, Common, initializeCommonData, findRuseFclt } = useDmStore( + (state) => state + ); const [sidoValue, setSidoValue] = useState(""); const [sigunValue, setSigunValue] = useState(""); const [filteredSigunData, setFilteredSigunData] = useState([ @@ -59,12 +60,11 @@ export function SearchBar({ } }, [initializeSigunData] - ); + ); - -useEffect(()=>{ - console.log('map.ruseFcltList ', map.ruseFcltList) -},[map.ruseFcltList]) + useEffect(() => { + console.log("map.ruseFcltList ", map.ruseFcltList); + }, [map.ruseFcltList]); return ( <> @@ -81,10 +81,10 @@ useEffect(()=>{ onSelectValue={(val) => onSelectValue(val.toString(), "ctpvCd") } - value={sidoValue|| Common.selectSidoData[0]?.val || ""} + value={sidoValue || Common.selectSidoData[0]?.val || ""} /> { } value={sigunValue} /> -
- - { - let sggOrCity='' - if(searchNm){ - if(sigunValue === "0" || sigunValue === "") { - sggOrCity = sidoValue; - }else{ - sggOrCity = sigunValue; +
+ + { + let sggOrCity = ""; + if (searchNm) { + if (sigunValue === "0" || sigunValue === "") { + sggOrCity = sidoValue; + } else { + sggOrCity = sigunValue; + } + findRuseFclt(sggOrCity, searchNm); } - findRuseFclt(sggOrCity, searchNm); - } - }} - setRtnData={(rtnData: any)=> { - setHasuPk(rtnData.bscFctCd || ""); - }} - searchList={map.ruseFcltList || []} - /> - + }} + setRtnData={(rtnData: any) => { + setHasuPk(rtnData.bscFctCd || ""); + }} + searchList={map.ruseFcltList || []} + /> +
+
+ +
- -
- - -
-
diff --git a/apps/dm/components/ui/sdmInfoInsertForm/component.tsx b/apps/dm/components/ui/sdmInfoInsertForm/component.tsx index 94ebe1057..bdb2ef6f3 100644 --- a/apps/dm/components/ui/sdmInfoInsertForm/component.tsx +++ b/apps/dm/components/ui/sdmInfoInsertForm/component.tsx @@ -92,7 +92,7 @@ export function SdmInfoRegForm({ e.stopPropagation(); //setIsCandidatePopup(true); const popupOptions = `width=1920,height=1080,resizable='y',scrollbars='y'`; - window.open('/map/popup', 'title', popupOptions); + window.open("/map/popup", "candidatePopup", popupOptions); }; const searchSimilarCase = (e: React.MouseEvent) => { diff --git a/packages/common/business_components/src/ui/map/Gis.js b/packages/common/business_components/src/ui/map/Gis.js index 18ef123c3..d33fd4930 100644 --- a/packages/common/business_components/src/ui/map/Gis.js +++ b/packages/common/business_components/src/ui/map/Gis.js @@ -8,8 +8,6 @@ import * as olProj from 'ol/proj'; import { register } from 'ol/proj/proj4'; import proj4 from 'proj4'; import React, { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react'; -import { createRoot } from 'react-dom/client'; -import GisLonLat from './GisLonLat'; import GisMapToggle from './GisMapToggle'; import GisSelect from './GisSelect'; import GisToolBar from './GisToolBar'; @@ -36,7 +34,8 @@ function Gis({ detailView: DetailView, onFeatureSelect, setIsSearchModalOpen, - onCheckedLayersChange + onCheckedLayersChange, + setData }) { const mapRef = useRef(); @@ -232,6 +231,7 @@ function Gis({ // 편집 가능한 레이어 목록 생성 const layerItems = getLayerItems(layerCode); //setEditLayerItems(prev => [...layerItems]) + setData([{'41110PB001R1':'수원제1,2 재이용1'},{'41110PB001R2':'수원제1,2 재이용2'}]); }, [treeData]); const getLayerItems = (layerCode) => {