diff --git a/apps/sn/app/(map-layout)/map/components/popupComponent/MsSwagePpl.tsx b/apps/sn/app/(map-layout)/map/components/popupComponent/MsSwagePpl.tsx index 1f7774bce..c6d10aa3f 100644 --- a/apps/sn/app/(map-layout)/map/components/popupComponent/MsSwagePpl.tsx +++ b/apps/sn/app/(map-layout)/map/components/popupComponent/MsSwagePpl.tsx @@ -21,6 +21,7 @@ const MsSwagePpl = ({ featureData }: { featureData: any }) => { // SwtrmtFclt const [isModalInfil, setIsModalInfil] = React.useState(false); const [isModalRdii, setIsModalRdii] = React.useState(false); const [btnTxt, setBtnTxt] = useState(""); + const pplMngNo= featureData?.pplMngNo || ""; // 관로관리번호 const openModalRdii = (e: React.MouseEvent) => { e.currentTarget.textContent && setBtnTxt(e.currentTarget.textContent) setIsModalRdii(true); @@ -87,8 +88,8 @@ const MsSwagePpl = ({ featureData }: { featureData: any }) => { // SwtrmtFclt RDII - - + + ) } diff --git a/apps/sn/app/(map-layout)/map/components/popupComponent/chart/aplcnYms.ts b/apps/sn/app/(map-layout)/map/components/popupComponent/chart/aplcnYms.ts index c9106fb16..e80711f5c 100644 --- a/apps/sn/app/(map-layout)/map/components/popupComponent/chart/aplcnYms.ts +++ b/apps/sn/app/(map-layout)/map/components/popupComponent/chart/aplcnYms.ts @@ -126,7 +126,7 @@ export const getChartDataInftwtAnlsRslt = (arr: TInftwtAnlsRslt[]): { label: str })); return options; }; -export const selectInftwtAnlsRslt = async(inftwtAnlsSn:number, pplMngNo:string) => { // 침입수분석 결과 +export const selectInftwtAnlsRslt = async(inftwtAnlsSn:number, pplMngNo:string|undefined) => { // 침입수분석 결과 try { if ((inftwtAnlsSn === undefined || inftwtAnlsSn === 0) || !pplMngNo) { console.warn("inftwtAnlsSn or pplMngNo is not provided"); @@ -148,7 +148,7 @@ export const getChartDataOilq = (arr: TOilqData[]): { label: string; val: number })); return options; }; -export const selectOilq = async(inftwtAnlsSn:number, pplMngNo:string) => { // 유량 +export const selectOilq = async(inftwtAnlsSn:number, pplMngNo:string|undefined) => { // 유량 try { if ((inftwtAnlsSn === undefined || inftwtAnlsSn === 0) || !pplMngNo) { console.warn("inftwtAnlsSn or pplMngNo is not provided"); diff --git a/apps/sn/app/(map-layout)/map/components/popupComponent/chart/infilChart.tsx b/apps/sn/app/(map-layout)/map/components/popupComponent/chart/infilChart.tsx index 7385d84cc..8f4d22bfa 100644 --- a/apps/sn/app/(map-layout)/map/components/popupComponent/chart/infilChart.tsx +++ b/apps/sn/app/(map-layout)/map/components/popupComponent/chart/infilChart.tsx @@ -12,9 +12,10 @@ type ModalOpenProp = { setIsModalOpen: (open: boolean) => void, closeModal: () => void, btnTxt?: string, + pplMngNo?: string, // 관로관리번호 } -const InfilChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal }: ModalOpenProp) => { +const InfilChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal, pplMngNo }: ModalOpenProp) => { const [popupOpen, setPopupOpen] = React.useState(true); const buttonRef = React.useRef(null); // 버튼 참조 const [popupPosition, setPopupPosition] = useState<{ top: number; left: number }>({ top: 0, left: 0 }); // 팝업 위치 @@ -32,6 +33,7 @@ const InfilChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal }: ModalOp { label: "5", val: 55 },], }); const aplcnYms = useAplcnYms('inftwtAnlsRslt'); // 상수사용월 데이터 가져오기 + pplMngNo = "L13101003"; const openPopup = () => { if (buttonRef.current) { const rect = buttonRef.current.getBoundingClientRect(); // 버튼 위치 계산 @@ -103,25 +105,30 @@ const InfilChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal }: ModalOp }, [inftwtAnlsSn]); const closePopup = () => { // 팝업 닫기 - selectInftwtAnlsRslt(inftwtAnlsSn, "L13101003").then((data) => {// 침입수분석 결과 조회 + + selectInftwtAnlsRslt(inftwtAnlsSn, pplMngNo).then((data) => {// 침입수분석 결과 조회 const rsltData = getChartDataInftwtAnlsRslt(data ?? []); setChartData(prev => ({ ...prev, chartData1: rsltData // 침입수분석결과 })); }); - selectOilq(inftwtAnlsSn,"L13101003").then((data) => {// 유량 조회 + selectOilq(inftwtAnlsSn, pplMngNo).then((data) => {// 유량 조회 const rsltData = getChartDataOilq(data ?? []); setChartData(prev => ({ ...prev, chartData2: rsltData // 유량 })); + }).catch((err) => { + console.error("selectOilq 에러:", err); + setChartData(prev => ({ + ...prev, + chartData2: [] // 유량 데이터 초기화 + })); }); setPopupOpen(false); }; - - const renderBody = () => ( <> {/* */} @@ -165,7 +172,7 @@ const InfilChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal }: ModalOp label='' selectArray={aplcnYms} value={aplcnYm} - onSelectValue={(val) => { + onSelectValue={(val) => {console.log("선택된 상수사용월:", val); setAplcnYm(String(val)); }} /> diff --git a/apps/sn/app/(map-layout)/map/components/popupComponent/chart/rdiiChart.tsx b/apps/sn/app/(map-layout)/map/components/popupComponent/chart/rdiiChart.tsx index 3b13a3df7..86be63ae4 100644 --- a/apps/sn/app/(map-layout)/map/components/popupComponent/chart/rdiiChart.tsx +++ b/apps/sn/app/(map-layout)/map/components/popupComponent/chart/rdiiChart.tsx @@ -12,9 +12,10 @@ type ModalOpenProp = { setIsModalOpen: (open: boolean) => void, closeModal: () => void, btnTxt?: string, + pplMngNo?: string, // 관로관리번호 } -const RdiiChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal }: ModalOpenProp) => { +const RdiiChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal, pplMngNo }: ModalOpenProp) => { const [popupOpen, setPopupOpen] = React.useState(true); const buttonRef = React.useRef(null); // 버튼 참조 const [popupPosition, setPopupPosition] = useState<{ top: number; left: number }>({ top: 0, left: 0 }); // 팝업 위치 @@ -110,13 +111,7 @@ const RdiiChart = ({ btnTxt, isModalOpen, setIsModalOpen, closeModal }: ModalOpe chartData1: rsltData // 강우유입수분석결과 })); }); - // selectOilq(rdiiAnlsSn,"L13101003").then((data) => {// 유량 조회 - // const rsltData = getChartDataOilq(data ?? []); - // setChartData(prev => ({ - // ...prev, - // chartData2: rsltData // 유량 - // })); - // }); + setPopupOpen(false); };