Merge branch 'iipbs/common/main' into iipbs/fo/dev
This commit is contained in:
@@ -69,7 +69,7 @@ const CustomTooltip = ({ active, payload, label }: { active?: boolean; payload?:
|
|||||||
<div key={index} style={{ marginTop: "10px", display: "flex", alignItems: "center", gap: "8px" }}>
|
<div key={index} style={{ marginTop: "10px", display: "flex", alignItems: "center", gap: "8px" }}>
|
||||||
{/* 색상 박스 추가 (범례 색상과 동일) */}
|
{/* 색상 박스 추가 (범례 색상과 동일) */}
|
||||||
<div style={{ width: "10px", height: "10px", backgroundColor: item.color, borderRadius: "50%" }}></div>
|
<div style={{ width: "10px", height: "10px", backgroundColor: item.color, borderRadius: "50%" }}></div>
|
||||||
<span className="text-[11px] font-bold">{` ${item.name} : ${item.value}`}</span>
|
<span className="text-[11px] font-bold">{` ${item.name} : ${item.value.toString().replace(',','')}`}</span>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
@@ -269,7 +269,8 @@ export default function Linechart({
|
|||||||
dot={false}
|
dot={false}
|
||||||
connectNulls={true}
|
connectNulls={true}
|
||||||
name={String(config?.label || "X축")}
|
name={String(config?.label || "X축")}
|
||||||
stroke={config?.color}
|
stroke={config?.color?.includes('dash')?config?.color?.replace('dash',''):config?.color}
|
||||||
|
strokeDasharray={config?.color?.includes("dash")?"4 4":undefined}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
|
|||||||
@@ -30,75 +30,6 @@ export const GisContext = createContext({
|
|||||||
checkedLayerIds: null,
|
checkedLayerIds: null,
|
||||||
});
|
});
|
||||||
export const useGisContext = () => useContext(GisContext);
|
export const useGisContext = () => useContext(GisContext);
|
||||||
export const searchUpperPpls = async (fcltMngNo) => {
|
|
||||||
const BASE_URL = process.env.NEXT_PUBLIC_SEWERAGE_API_URL || "";
|
|
||||||
const res = await fetch(`${BASE_URL}/v1/fcltmhl/upperPpls/${fcltMngNo}`, {
|
|
||||||
method: "GET",
|
|
||||||
});
|
|
||||||
|
|
||||||
let data = null;
|
|
||||||
if (res.ok) {
|
|
||||||
try {
|
|
||||||
// 응답이 비어있는지 확인
|
|
||||||
const contentLength = res.headers.get("content-length");
|
|
||||||
if (contentLength === "0")
|
|
||||||
alert(`해당 맨홀의 상류관로를 찾을 수 없습니다.`);
|
|
||||||
|
|
||||||
// 응답 텍스트를 먼저 가져와서 빈 문자열인지 확인
|
|
||||||
const text = await res.text();
|
|
||||||
if (!text || text.trim() === "")
|
|
||||||
alert(`해당 맨홀의 상류관로를 찾을 수 없습니다.`);
|
|
||||||
|
|
||||||
// JSON 파싱 시도
|
|
||||||
data = JSON.parse(text);
|
|
||||||
} catch (error) {
|
|
||||||
console.error("JSON parsing error:", error);
|
|
||||||
alert(`해당 맨홀의 상류관로를 찾을 수 없습니다.`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const select = GisApp.Module.select;
|
|
||||||
const gisMap = GisApp.Module.core?.map;
|
|
||||||
let foundFeature = null;
|
|
||||||
|
|
||||||
data.forEach((item) => {
|
|
||||||
const pplMngNo = item.ppl_mng_no.trim();
|
|
||||||
|
|
||||||
gisMap
|
|
||||||
.getLayers()
|
|
||||||
.getArray()
|
|
||||||
.filter((e) => e.get("lyrTyNm") == "tb_ms_swage_ppl")
|
|
||||||
.forEach((layer) => {
|
|
||||||
const source = layer.getSource?.();
|
|
||||||
if (source?.getFeatures) {
|
|
||||||
const features = source.getFeatures();
|
|
||||||
for (const f of features) {
|
|
||||||
if (f.values_.fclt_mng_no.trim() === pplMngNo) {
|
|
||||||
foundFeature = f;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (foundFeature) select.selectMultiFeature(foundFeature, true);
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!foundFeature) alert(`해당 맨홀의 상류관로를 찾을 수 없습니다.`);
|
|
||||||
|
|
||||||
let geometry = foundFeature?.getGeometry();
|
|
||||||
if (geometry) {
|
|
||||||
let extent = geometry.getExtent();
|
|
||||||
|
|
||||||
gisMap.getView().fit(extent, {
|
|
||||||
duration: 300,
|
|
||||||
padding: [50, 50, 50, 50],
|
|
||||||
maxZoom: 14,
|
|
||||||
constrainResolution: true,
|
|
||||||
nearest: true,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
function Gis({
|
function Gis({
|
||||||
isOpen, //우측 상세 레이어 팝업
|
isOpen, //우측 상세 레이어 팝업
|
||||||
|
|||||||
Reference in New Issue
Block a user