관로번호 넘기기

This commit is contained in:
ljpark
2025-07-01 11:44:52 +09:00
parent dd05769560
commit c39afc3114
4 changed files with 21 additions and 18 deletions
@@ -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<string>("");
const pplMngNo= featureData?.pplMngNo || ""; // 관로관리번호
const openModalRdii = (e: React.MouseEvent<HTMLButtonElement>) => {
e.currentTarget.textContent && setBtnTxt(e.currentTarget.textContent)
setIsModalRdii(true);
@@ -87,8 +88,8 @@ const MsSwagePpl = ({ featureData }: { featureData: any }) => { // SwtrmtFclt
RDII
</Button>
</div>
<InfilChart btnTxt={btnTxt} isModalOpen={isModalInfil} setIsModalOpen={setIsModalInfil} closeModal={closeModalInfil} />
<RdiiChart btnTxt={btnTxt} isModalOpen={isModalRdii} setIsModalOpen={setIsModalRdii} closeModal={closeModalRdii} />
<InfilChart btnTxt={btnTxt} isModalOpen={isModalInfil} setIsModalOpen={setIsModalInfil} closeModal={closeModalInfil} pplMngNo={pplMngNo} />
<RdiiChart btnTxt={btnTxt} isModalOpen={isModalRdii} setIsModalOpen={setIsModalRdii} closeModal={closeModalRdii} pplMngNo={pplMngNo}/>
</div>
)
}
@@ -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");
@@ -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<HTMLButtonElement>(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 = () => (
<>
{/* <Modal isModalOpen={isModalOpen} setIsModalOpen={setIsModalOpen} closeModal={closeModal} > */}
@@ -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));
}}
/>
@@ -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<HTMLButtonElement>(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);
};