dm:dashboard year 수정

This commit is contained in:
ljpark
2025-12-08 11:17:59 +09:00
parent 3b9e6a9b0d
commit 7bf26e07c6
3 changed files with 19 additions and 12 deletions
+1
View File
@@ -9,6 +9,7 @@ NEXT_PUBLIC_PROXY_HOST = http://localhost:3005
NEXT_PUBLIC_DM_SERVER_API_URL = http://con.mind-one.co.kr:11083/reuse-service/api/v1
NEXT_PUBLIC_SERVER_API_URL = http://dev.onasys.co.kr:8000
NEXT_PUBLIC_FO_SERVER_API_URL = http://con.mind-one.co.kr:11083/operation-service/api/v1
# NEXT_PUBLIC_FO_SERVER_API_URL = http://192.168.1.222:8883/operation-service/api/v1
NEXT_PUBLIC_CS_SERVER_API_URL = http://dev.onasys.co.kr:8000
NEXT_PUBLIC_GEOSERVER_URL = http://rsone.iptime.org:10010/geoserver
NEXT_PUBLIC_LX_GEOSERVER_URL = http://con.mind-one.co.kr:11306/geoserver
@@ -28,11 +28,12 @@ export default function WrStatusPage() {
const { Common, dmStatus, getDmStatusData,initializeCommonData} = useDmStore((state) => state);
const { statusData,facilityTotals ,chartData} = dmStatus;
const { year:defaultYear, statusData,facilityTotals ,chartData} = dmStatus;
const [selectedRegion, setSelectedRegion] = useState<string | null>(null);
const [hoveredRegion, setHoveredRegion] = useState<string | null>(null);
const [tooltipPosition, setTooltipPosition] = useState<{ x: number; y: number } | null>(null);
const [chartOption, setChartOption] = useState<WrStatusChartProps>({} as WrStatusChartProps)
const [chartOption, setChartOption] = useState<WrStatusChartProps>({} as WrStatusChartProps);
const svgContainerRef = useRef<HTMLDivElement>(null);
const colorLegend = [
{ label: '하수', color: '#FF6B6B', key: 'sewage' },
@@ -40,7 +41,8 @@ export default function WrStatusPage() {
{ label: '중수도', color: '#45B7D1', key: 'reclaimed' },
];
const facilityTotalsColor = ['#FF6B6B', '#4ECDC4', '#45B7D1', '#FED16A'];
const defaultYear= '2023'
// const [defaultYear, setDefaultYear] = useState<string>("");
// const defaultYear= '2023';
const handleMarkerClick = (regionId: string) => {
@@ -151,11 +153,10 @@ export default function WrStatusPage() {
useEffect(() => {
if(Common.selectSidoData&&Common.selectSidoData.length>1)
getDmStatusData(Common.selectSidoData);
},[Common.selectSidoData])
if(Common.selectSidoData&&Common.selectSidoData.length>1) {
getDmStatusData(Common.selectSidoData);
}
},[Common.selectSidoData, getDmStatusData])
useEffect(() => {
const loadSVG = async () => {
+9 -4
View File
@@ -8,11 +8,12 @@ import type { SelectDataType } from "../common";
import { makeRegion } from "@/app/common/comFunction";
export type DmStatusActions = {
getDmStatusData(cityCd: SelectDataType[]): void;
getDmStatusData(cityCd: SelectDataType[]): void; // 데이터의 연도 반환
};
export type DmStatusType = {
dmStatus: {
year : string;
statusData: DmStatusDataType[];
facilityTotals: string[];
chartData: DmStatusChartType[];
@@ -21,6 +22,7 @@ export type DmStatusType = {
export const dmStatusState: DmStatusType = {
dmStatus: {
year : '',
statusData: [],
facilityTotals: [],
chartData: [],
@@ -32,6 +34,7 @@ export const DmStatusReducer = (set: any): DmStatusActions => {
return {
getDmStatusData: async (cityCd: SelectDataType[]) => {
const data = await getFetch(fetchType.FO, "/dashBoard/daemin");
const year = data.data[0]?.year; // API 응답에서 year 값을 할당합니다.
console.log('cityCd ', cityCd)
const dataSum = data.data.reduce(
(acc: DmStatusDataType, item: DmStatusDataType) => {
@@ -73,7 +76,7 @@ export const DmStatusReducer = (set: any): DmStatusActions => {
);
data.data.unshift(dataSum);
console.log("dataSum ", dataSum);
//console.log("dataSum ", dataSum);
const facilityTotals = [
"하수재이용시설" + "(총" + dataSum?.sewageCnt + "개소)",
"빗물재이용시설" + "(총" + dataSum?.rainwaterCnt + "개소)",
@@ -101,8 +104,8 @@ export const DmStatusReducer = (set: any): DmStatusActions => {
}
).filter((item): item is DmStatusBoardType => item !== undefined);
console.log("boardData ", boardData);
//console.log("boardData ", boardData);
const chartData = data.data.map((item) => ({
label: makeRegion(
cityCd.find((city) => item.region === city.val)?.text ?? ""
@@ -116,11 +119,13 @@ export const DmStatusReducer = (set: any): DmStatusActions => {
...state,
dmStatus: {
...state.dmStatus,
year : year,
statusData: boardData,
chartData: chartData,
facilityTotals: facilityTotals,
},
}));
},
};
};