재이용시설 팝업 수정
iipbs_wr / build (push) Waiting to run

This commit is contained in:
JIeunhuh
2025-07-09 18:12:31 +09:00
parent 4481759640
commit 49047576af
+37 -32
View File
@@ -68,7 +68,9 @@ const NewWindowPopup: React.FC<NewWindowPopupProps> = ({
pbnstSttn,
pbnstSttnSearch,
pbnSttnInit,
getFlcts
} = useWrStore((state) => state);
const { fclts, pbnstSttnResCount} = pbnstSttn
const [bdstTable, setBdstTable] = useState<WaterReuseFacility[]>()
// 빗물재이용시설 변수
@@ -104,12 +106,12 @@ const NewWindowPopup: React.FC<NewWindowPopupProps> = ({
const [htdflDetailModal, setHtdflDetailModal] = useState<{ isOpen: boolean, data: customHtdflBdst | undefined }>({ data: undefined, isOpen: false });
const [bdstChgProps, setBdstChgProps] = useState<{ isOpen: boolean, chBuilding: chgBuilding[] }>({ isOpen: false, chBuilding: [] });
const [htdflPage, setHtdflPage] = useState(1)
const [htdflResetPage, isHtdflResetPage] = useState(false);
//하수처리시설 변수
const {
pbnst,
pubHasuInit,
pubHasuSearch,
} = useWrStore((state) => state);
let { pubFacHeadList, pbnstHasuRes, pbnstRes } = pbnst;
const [isRuseReg, setIsRuseReg] = useState<{
@@ -119,6 +121,21 @@ const NewWindowPopup: React.FC<NewWindowPopupProps> = ({
const [hasuPage, setHasuPage] = useState<number>(1);
if (!featureData) return;
///////////////////////////////////////////// 피쳐데이터 선택 시 각 시설별 데이터 처리 ///////////////////////////////////////////////
const getSelectedLayers = () => {
let result = null;
const layers = gisMap ? gisMap.getLayers().getArray().filter((l: any) => l.getVisible()) : []; // gisMap이 null인지 확인 후 레이어 가져오기
let featureLayer: { get: (key: string) => any } = { get: (key: string) => null }; // 피처가 속한 레이어를 찾기 위한 변수
layers.forEach((layer: any) => {
const source = layer.getSource();
if (source && source.hasFeature && featureData
&& typeof featureData.getId === 'function' && source.hasFeature(featureData)) {
featureLayer = layer; // 피처가 속한 레이어 찾기)
}
});
result = featureLayer.get('lyrNm');
return result;
};
useEffect(() => {
const layerId = getSelectedLayers();
if (featureData && typeof featureData.getProperties === "function") {
@@ -160,38 +177,26 @@ const NewWindowPopup: React.FC<NewWindowPopupProps> = ({
onClose()
}
};
const getSelectedLayers = () => {
let result = null;
const layers = gisMap ? gisMap.getLayers().getArray().filter((l: any) => l.getVisible()) : []; // gisMap이 null인지 확인 후 레이어 가져오기
let featureLayer: { get: (key: string) => any } = { get: (key: string) => null }; // 피처가 속한 레이어를 찾기 위한 변수
layers.forEach((layer: any) => {
const source = layer.getSource();
if (source && source.hasFeature && featureData
&& typeof featureData.getId === 'function' && source.hasFeature(featureData)) {
featureLayer = layer; // 피처가 속한 레이어 찾기)
}
});
result = featureLayer.get('lyrNm');
return result;
};
// 재이용 현황 초기값
useEffect(() => {
if (!pbnstSttn.isInit) {
pbnSttnInit("1", "13", {
partValue: "A",
sidoValue: '0',
sigunValue: "0",
regionValue: "",
unitWaterShedValue: "",
middleRegionValue: "",
envPartValue: "",
sidoText: "",
sigunText: ""
}, String(new Date().getFullYear()));
getFlcts()
}
}, [seletectedLayerNm, pbnstSttn.isInit]);
useEffect(()=>{
pbnSttnInit("1", "15", {
partValue: "A",
sidoValue: '0',
sigunValue: "0",
regionValue: "",
unitWaterShedValue: "",
middleRegionValue: "",
envPartValue: "",
sidoText: "",
sigunText: ""
}, String(new Date().getFullYear()), pbnstSttn.fclts);
},[fclts])
useEffect(() => {
setBdstTable(pbnstSttn.pbnstSttnRes);
}, [seletectedLayerNm, pbnstSttn.pbnstSttnRes]);
@@ -233,7 +238,7 @@ const NewWindowPopup: React.FC<NewWindowPopupProps> = ({
sigunText: "",
},
"",
String(new Date().getFullYear())
String(new Date().getFullYear()),fclts
);
}, []);
const excelClick = useCallback(() => {
@@ -285,7 +290,7 @@ const NewWindowPopup: React.FC<NewWindowPopupProps> = ({
useEffect(() => {
if (!rainSttn.isInit) {
rainSttnInit(1, "20", "0", '', code.cityCd, code.sggCd);
rainSttnInit(false,1, "20", "0", '', code.cityCd, code.sggCd);
}
}, [rainSttn.isInit, rainSttnInit]);
@@ -321,7 +326,7 @@ const NewWindowPopup: React.FC<NewWindowPopupProps> = ({
}, [code, rainSttnRes, rainSttn.rainSttHeadList]);
useEffect(() => {
rainSttnSearch(rainPage, "20", '', '', code.cityCd, code.sggCd);
rainSttnSearch(false,rainPage, "20", '', '', code.cityCd, code.sggCd);
}, [rainPage]);
///////////////////////////////////////////// 빗물 재이용 //////////////////////////////////////////////////
@@ -393,7 +398,7 @@ const NewWindowPopup: React.FC<NewWindowPopupProps> = ({
};
useEffect(() => {
if (!htdflSttn.isInit) {
initHtdfl(1, "20", "0", '', code.cityCd, code.sggCd);
initHtdfl(false,1, "20", "0", '', code.cityCd, code.sggCd);
}
}, [htdflSttn.isInit, initHtdfl]);