From a57c1a4a5c81422a4159607e41edec44cbd80e16 Mon Sep 17 00:00:00 2001 From: jsyang Date: Wed, 25 Mar 2026 11:44:18 +0900 Subject: [PATCH 01/20] =?UTF-8?q?=EC=88=98=EC=9A=94=EC=A0=95=EB=B3=B4=20?= =?UTF-8?q?=EB=93=B1=EB=A1=9D=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reuse/apply/modal/SimilarCaseModal.tsx | 7 +- apps/dm_new/app/(popup-layout)/layout.tsx | 11 + .../app/(popup-layout)/map/popup/page.tsx | 274 ++++++++++++++++++ .../map/popup/selectedFcltList.tsx | 81 ++++++ .../app/(popup-layout)/map/service/index.ts | 1 + .../app/(popup-layout)/map/service/map.ts | 59 ++++ .../app/(with-layout)/apply/register/page.tsx | 257 +++++++++++++++- apps/dm_new/app/store/sdmMng/index.tsx | 115 +++----- apps/dm_new/components/ui/api/index.ts | 54 +++- apps/dm_new/public/images/map/help.png | Bin 0 -> 3501 bytes .../images/map/layericon/BML_CBAS_PS.png | Bin 0 -> 919 bytes .../images/map/layericon/BML_ELEV_PS.png | Bin 0 -> 1030 bytes .../images/map/layericon/BML_ETCP_PS.png | Bin 0 -> 961 bytes .../images/map/layericon/BML_STMS_PS.png | Bin 0 -> 810 bytes .../images/map/layericon/BML_SYMB_PS.png | Bin 0 -> 970 bytes .../images/map/layericon/RDL_BYST_PS.png | Bin 0 -> 1196 bytes .../images/map/layericon/RDL_CROS_PS.png | Bin 0 -> 1083 bytes .../images/map/layericon/RDL_ETCT_PS.png | Bin 0 -> 896 bytes .../images/map/layericon/RDL_OCUP_PS.png | Bin 0 -> 837 bytes .../images/map/layericon/RDL_RDSN_PS.png | Bin 0 -> 1313 bytes .../images/map/layericon/RDL_SCLT_PS.png | Bin 0 -> 1072 bytes .../images/map/layericon/RDL_SEPC_PS.png | Bin 0 -> 790 bytes .../images/map/layericon/RDL_STAT_PS.png | Bin 0 -> 855 bytes .../images/map/layericon/RDL_STLT_PS.png | Bin 0 -> 1089 bytes .../images/map/layericon/RDL_TFSN_PS.png | Bin 0 -> 1291 bytes .../images/map/layericon/RDL_TRCT_PS.png | Bin 0 -> 1412 bytes .../images/map/layericon/RDL_TREE_PS.png | Bin 0 -> 1136 bytes .../images/map/layericon/RDL_TRSN_PS.png | Bin 0 -> 1375 bytes .../images/map/layericon/RDL_TSCT_PS.png | Bin 0 -> 923 bytes .../images/map/layericon/RDL_TSCT_PS500.png | Bin 0 -> 1860 bytes .../images/map/layericon/SWL_CLAY_PS.png | Bin 0 -> 1146 bytes .../images/map/layericon/SWL_CLAY_PS_RED.png | Bin 0 -> 468 bytes .../images/map/layericon/SWL_DEPT_PS.png | Bin 0 -> 1079 bytes .../images/map/layericon/SWL_MANH_PS.png | Bin 0 -> 1559 bytes .../map/layericon/SWL_MANH_PS_BLACK.png | Bin 0 -> 757 bytes .../images/map/layericon/SWL_MANH_PS_BLUE.png | Bin 0 -> 785 bytes .../images/map/layericon/SWL_MANH_PS_GRAY.png | Bin 0 -> 1054 bytes .../map/layericon/SWL_MANH_PS_GREEN.png | Bin 0 -> 791 bytes .../map/layericon/SWL_MANH_PS_ORANGE.png | Bin 0 -> 455 bytes .../images/map/layericon/SWL_MANH_PS_RED.png | Bin 0 -> 782 bytes .../map/layericon/SWL_MANH_PS_YELLOW.png | Bin 0 -> 782 bytes .../images/map/layericon/SWL_SPEW_PS.png | Bin 0 -> 1217 bytes .../images/map/layericon/SWL_SPOT_PS.png | Bin 0 -> 1067 bytes .../map/layericon/SWL_SPOT_PS_BLACK.png | Bin 0 -> 217 bytes .../images/map/layericon/SWL_SPOT_PS_BLUE.png | Bin 0 -> 217 bytes .../map/layericon/SWL_SPOT_PS_GREEN.png | Bin 0 -> 217 bytes .../images/map/layericon/SWL_SPOT_PS_GREY.png | Bin 0 -> 217 bytes .../images/map/layericon/SWL_SPOT_PS_RED.png | Bin 0 -> 217 bytes .../images/map/layericon/SWL_VENT_PS.png | Bin 0 -> 1033 bytes .../images/map/layericon/TL_SPBD_ENTRC.png | Bin 0 -> 1260 bytes .../images/map/layericon/TL_SPGF_LOC.png | Bin 0 -> 1383 bytes .../images/map/layericon/TL_SPOT_NOIN.png | Bin 0 -> 1009 bytes .../images/map/layericon/TL_SPRD_BANO.png | Bin 0 -> 1044 bytes .../images/map/layericon/TL_SPRD_CRSRD.png | Bin 0 -> 1083 bytes .../images/map/layericon/TL_SPRD_NONM.png | Bin 0 -> 1049 bytes .../images/map/layericon/TL_SPRD_RENM.png | Bin 0 -> 1009 bytes .../images/map/layericon/TL_SPRD_RWNM.png | Bin 0 -> 1049 bytes .../images/map/layericon/UFL_BMAN_PS.png | Bin 0 -> 1552 bytes .../images/map/layericon/UFL_BOPC_PS.png | Bin 0 -> 1132 bytes .../images/map/layericon/UFL_BPIP_PS.png | Bin 0 -> 1017 bytes .../images/map/layericon/UFL_BPOL_PS.png | Bin 0 -> 1193 bytes .../images/map/layericon/UFL_BTRS_PS.png | Bin 0 -> 1097 bytes .../images/map/layericon/UFL_GMNT_PS.png | Bin 0 -> 1166 bytes .../images/map/layericon/UFL_GPIP_PS.png | Bin 0 -> 1103 bytes .../images/map/layericon/UFL_GPRS_PS.png | Bin 0 -> 1408 bytes .../images/map/layericon/UFL_GVAL_PS.png | Bin 0 -> 1426 bytes .../images/map/layericon/UFL_KMAN_PS.png | Bin 0 -> 1572 bytes .../images/map/layericon/UFL_KPOL_PS.png | Bin 0 -> 1122 bytes .../images/map/layericon/UFL_VALV_PS.png | Bin 0 -> 1058 bytes .../images/map/layericon/WTL_FIRE_PS.png | Bin 0 -> 1072 bytes .../images/map/layericon/WTL_FLOW_PS.png | Bin 0 -> 1137 bytes .../images/map/layericon/WTL_MANH_PS.png | Bin 0 -> 1557 bytes .../images/map/layericon/WTL_META_PS.png | Bin 0 -> 1100 bytes .../images/map/layericon/WTL_PIPE_PS.png | Bin 0 -> 1075 bytes .../images/map/layericon/WTL_RSRV_PS.png | Bin 0 -> 1057 bytes .../map/layericon/WTL_RSRV_PS_BLACK.png | Bin 0 -> 167 bytes .../images/map/layericon/WTL_RSRV_PS_GRAY.png | Bin 0 -> 259 bytes .../map/layericon/WTL_RSRV_PS_GREEN.png | Bin 0 -> 167 bytes .../map/layericon/WTL_RSRV_PS_ORANGE.png | Bin 0 -> 164 bytes .../map/layericon/WTL_RSRV_PS_PURPLE.png | Bin 0 -> 165 bytes .../images/map/layericon/WTL_RSRV_PS_RED.png | Bin 0 -> 165 bytes .../map/layericon/WTL_RSRV_PS_YELLOW.png | Bin 0 -> 163 bytes .../images/map/layericon/WTL_VALV_PS.png | Bin 0 -> 1077 bytes .../public/images/map/layericon/default.png | Bin 0 -> 160 bytes .../public/images/map/layericon/reset.png | Bin 0 -> 108 bytes .../public/images/map/toolbar/arrow_down.png | Bin 0 -> 1532 bytes .../public/images/map/toolbar/arrow_right.png | Bin 0 -> 1931 bytes .../images/map/toolbar/backward_icon.png | Bin 0 -> 313 bytes .../images/map/toolbar/btn_cont_area.png | Bin 0 -> 1231 bytes .../images/map/toolbar/btn_cont_area_on.png | Bin 0 -> 1184 bytes .../images/map/toolbar/btn_cont_next.png | Bin 0 -> 1256 bytes .../images/map/toolbar/btn_cont_next_on.png | Bin 0 -> 1204 bytes .../images/map/toolbar/btn_cont_prev.png | Bin 0 -> 1265 bytes .../images/map/toolbar/btn_cont_prev_on.png | Bin 0 -> 1223 bytes .../images/map/toolbar/btn_cont_print.png | Bin 0 -> 1318 bytes .../images/map/toolbar/btn_cont_print_on.png | Bin 0 -> 1293 bytes .../images/map/toolbar/btn_cont_ruler.png | Bin 0 -> 1353 bytes .../images/map/toolbar/btn_cont_ruler_on.png | Bin 0 -> 1339 bytes .../images/map/toolbar/btn_cont_save.png | Bin 0 -> 1216 bytes .../images/map/toolbar/btn_cont_save_on.png | Bin 0 -> 1202 bytes .../images/map/toolbar/btn_cont_sketch.png | Bin 0 -> 15103 bytes .../images/map/toolbar/btn_cont_sketch_on.png | Bin 0 -> 14933 bytes .../images/map/toolbar/btn_cont_zoomin.png | Bin 0 -> 1456 bytes .../images/map/toolbar/btn_cont_zoomin_on.png | Bin 0 -> 1423 bytes .../images/map/toolbar/btn_cont_zoomout.png | Bin 0 -> 1395 bytes .../map/toolbar/btn_cont_zoomout_on.png | Bin 0 -> 1376 bytes .../images/map/toolbar/btn_edit_add.png | Bin 0 -> 1169 bytes .../images/map/toolbar/btn_edit_add_on.png | Bin 0 -> 1168 bytes .../images/map/toolbar/btn_edit_del.png | Bin 0 -> 1160 bytes .../images/map/toolbar/btn_edit_del_on.png | Bin 0 -> 1158 bytes .../images/map/toolbar/btn_edit_next.png | Bin 0 -> 1209 bytes .../images/map/toolbar/btn_edit_next_on.png | Bin 0 -> 1205 bytes .../images/map/toolbar/btn_edit_prev.png | Bin 0 -> 1172 bytes .../images/map/toolbar/btn_edit_prev_on.png | Bin 0 -> 1176 bytes .../images/map/toolbar/btn_edit_save.png | Bin 0 -> 1180 bytes .../images/map/toolbar/btn_edit_save_on.png | Bin 0 -> 1190 bytes .../images/map/toolbar/btn_edit_slt.png | Bin 0 -> 1288 bytes .../images/map/toolbar/btn_edit_slt_on.png | Bin 0 -> 1274 bytes .../images/map/toolbar/btn_edit_snap.png | Bin 0 -> 1185 bytes .../images/map/toolbar/btn_edit_snap_on.png | Bin 0 -> 1185 bytes .../public/images/map/toolbar/close_icon.png | Bin 0 -> 313 bytes .../images/map/toolbar/ico_gis_sprite.png | Bin 0 -> 7858 bytes .../images/map/toolbar/icon-viewclose.png | Bin 0 -> 2895 bytes .../images/map/toolbar/img_base_map.png | Bin 0 -> 4537 bytes .../images/map/toolbar/img_network_map.png | Bin 0 -> 4974 bytes .../images/map/toolbar/img_road_map.png | Bin 0 -> 6079 bytes .../images/map/toolbar/img_settle_map.png | Bin 0 -> 7264 bytes .../public/images/map/toolbar/loading.gif | Bin 0 -> 184974 bytes .../public/images/map/toolbar/map_pin.png | Bin 0 -> 2362 bytes .../public/images/map/toolbar/toggle_off.png | Bin 0 -> 1591 bytes .../public/images/map/toolbar/toggle_on.png | Bin 0 -> 1612 bytes 131 files changed, 771 insertions(+), 88 deletions(-) create mode 100644 apps/dm_new/app/(popup-layout)/layout.tsx create mode 100644 apps/dm_new/app/(popup-layout)/map/popup/page.tsx create mode 100644 apps/dm_new/app/(popup-layout)/map/popup/selectedFcltList.tsx create mode 100644 apps/dm_new/app/(popup-layout)/map/service/index.ts create mode 100644 apps/dm_new/app/(popup-layout)/map/service/map.ts create mode 100644 apps/dm_new/public/images/map/help.png create mode 100644 apps/dm_new/public/images/map/layericon/BML_CBAS_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/BML_ELEV_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/BML_ETCP_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/BML_STMS_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/BML_SYMB_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/RDL_BYST_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/RDL_CROS_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/RDL_ETCT_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/RDL_OCUP_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/RDL_RDSN_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/RDL_SCLT_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/RDL_SEPC_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/RDL_STAT_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/RDL_STLT_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/RDL_TFSN_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/RDL_TRCT_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/RDL_TREE_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/RDL_TRSN_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/RDL_TSCT_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/RDL_TSCT_PS500.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_CLAY_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_CLAY_PS_RED.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_DEPT_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_MANH_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_MANH_PS_BLACK.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_MANH_PS_BLUE.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_MANH_PS_GRAY.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_MANH_PS_GREEN.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_MANH_PS_ORANGE.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_MANH_PS_RED.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_MANH_PS_YELLOW.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_SPEW_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_SPOT_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_SPOT_PS_BLACK.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_SPOT_PS_BLUE.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_SPOT_PS_GREEN.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_SPOT_PS_GREY.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_SPOT_PS_RED.png create mode 100644 apps/dm_new/public/images/map/layericon/SWL_VENT_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/TL_SPBD_ENTRC.png create mode 100644 apps/dm_new/public/images/map/layericon/TL_SPGF_LOC.png create mode 100644 apps/dm_new/public/images/map/layericon/TL_SPOT_NOIN.png create mode 100644 apps/dm_new/public/images/map/layericon/TL_SPRD_BANO.png create mode 100644 apps/dm_new/public/images/map/layericon/TL_SPRD_CRSRD.png create mode 100644 apps/dm_new/public/images/map/layericon/TL_SPRD_NONM.png create mode 100644 apps/dm_new/public/images/map/layericon/TL_SPRD_RENM.png create mode 100644 apps/dm_new/public/images/map/layericon/TL_SPRD_RWNM.png create mode 100644 apps/dm_new/public/images/map/layericon/UFL_BMAN_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/UFL_BOPC_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/UFL_BPIP_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/UFL_BPOL_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/UFL_BTRS_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/UFL_GMNT_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/UFL_GPIP_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/UFL_GPRS_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/UFL_GVAL_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/UFL_KMAN_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/UFL_KPOL_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/UFL_VALV_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/WTL_FIRE_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/WTL_FLOW_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/WTL_MANH_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/WTL_META_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/WTL_PIPE_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/WTL_RSRV_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/WTL_RSRV_PS_BLACK.png create mode 100644 apps/dm_new/public/images/map/layericon/WTL_RSRV_PS_GRAY.png create mode 100644 apps/dm_new/public/images/map/layericon/WTL_RSRV_PS_GREEN.png create mode 100644 apps/dm_new/public/images/map/layericon/WTL_RSRV_PS_ORANGE.png create mode 100644 apps/dm_new/public/images/map/layericon/WTL_RSRV_PS_PURPLE.png create mode 100644 apps/dm_new/public/images/map/layericon/WTL_RSRV_PS_RED.png create mode 100644 apps/dm_new/public/images/map/layericon/WTL_RSRV_PS_YELLOW.png create mode 100644 apps/dm_new/public/images/map/layericon/WTL_VALV_PS.png create mode 100644 apps/dm_new/public/images/map/layericon/default.png create mode 100644 apps/dm_new/public/images/map/layericon/reset.png create mode 100644 apps/dm_new/public/images/map/toolbar/arrow_down.png create mode 100644 apps/dm_new/public/images/map/toolbar/arrow_right.png create mode 100644 apps/dm_new/public/images/map/toolbar/backward_icon.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_area.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_area_on.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_next.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_next_on.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_prev.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_prev_on.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_print.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_print_on.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_ruler.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_ruler_on.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_save.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_save_on.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_sketch.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_sketch_on.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_zoomin.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_zoomin_on.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_zoomout.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_cont_zoomout_on.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_edit_add.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_edit_add_on.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_edit_del.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_edit_del_on.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_edit_next.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_edit_next_on.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_edit_prev.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_edit_prev_on.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_edit_save.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_edit_save_on.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_edit_slt.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_edit_slt_on.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_edit_snap.png create mode 100644 apps/dm_new/public/images/map/toolbar/btn_edit_snap_on.png create mode 100644 apps/dm_new/public/images/map/toolbar/close_icon.png create mode 100644 apps/dm_new/public/images/map/toolbar/ico_gis_sprite.png create mode 100644 apps/dm_new/public/images/map/toolbar/icon-viewclose.png create mode 100644 apps/dm_new/public/images/map/toolbar/img_base_map.png create mode 100644 apps/dm_new/public/images/map/toolbar/img_network_map.png create mode 100644 apps/dm_new/public/images/map/toolbar/img_road_map.png create mode 100644 apps/dm_new/public/images/map/toolbar/img_settle_map.png create mode 100644 apps/dm_new/public/images/map/toolbar/loading.gif create mode 100644 apps/dm_new/public/images/map/toolbar/map_pin.png create mode 100644 apps/dm_new/public/images/map/toolbar/toggle_off.png create mode 100644 apps/dm_new/public/images/map/toolbar/toggle_on.png diff --git a/apps/dm_new/app/(landing)/reuse/apply/modal/SimilarCaseModal.tsx b/apps/dm_new/app/(landing)/reuse/apply/modal/SimilarCaseModal.tsx index f997d88e1..5ea0d03cd 100644 --- a/apps/dm_new/app/(landing)/reuse/apply/modal/SimilarCaseModal.tsx +++ b/apps/dm_new/app/(landing)/reuse/apply/modal/SimilarCaseModal.tsx @@ -71,11 +71,13 @@ export default function SimilarCaseModal({ onClose, rows, detailsByCaseId, + onSearch }: { open: boolean; onClose: () => void; rows: SimilarCaseRow[]; detailsByCaseId: Record; + onSearch :(criterion: Criterion) => void; }) { const titleId = useId(); @@ -192,12 +194,15 @@ export default function SimilarCaseModal({ const v = e.target.value as Criterion; setCriterion(v); setSelectedCaseId(""); + + if(v){ + onSearch(v); + } }} className="h-10 w-[180px] rounded-md border border-neutral-300 bg-white px-3 text-sm outline-none focus:border-neutral-500" > - diff --git a/apps/dm_new/app/(popup-layout)/layout.tsx b/apps/dm_new/app/(popup-layout)/layout.tsx new file mode 100644 index 000000000..742519a66 --- /dev/null +++ b/apps/dm_new/app/(popup-layout)/layout.tsx @@ -0,0 +1,11 @@ +"use client"; +import "../globals.css"; +import { StoreProvider } from "../store"; + +export default function PopupLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return {children}; +} diff --git a/apps/dm_new/app/(popup-layout)/map/popup/page.tsx b/apps/dm_new/app/(popup-layout)/map/popup/page.tsx new file mode 100644 index 000000000..e410ad2a7 --- /dev/null +++ b/apps/dm_new/app/(popup-layout)/map/popup/page.tsx @@ -0,0 +1,274 @@ +"use client"; + +import Gis from "@common/business_components/ui/map/Gis"; +import { useEffect, useRef, useState } from "react"; +import { mapService } from "../service"; +import GisApp from "@common/business_components/ui/map/lib/gis.core"; +import { SearchBar } from "@/components/ui/map/searchBar/searchBar"; +import SelectedFcltList from "./selectedFcltList"; +import type { SubsInfo } from "@/app/store/map/type"; + +const Map = () => { + const [treeData, setTreeData] = useState([]); // 초기값을 객체 또는 null로 설정 + const gisMaps = useRef(null); + const [isOpen, setIsOpen] = useState(false); // 팝업 열기/닫기 상태 + const [isSearchModalOpen, setIsSearchModalOpen] = useState(true); // SearchModal 열림 상태 + const [featureData, setFeatureData] = useState(null); // 선택된 피쳐 데이터 + const [selectDataPk, setSelectDataPk] = useState>({}); + const [selectedFclts, setSelectedFclts] = useState([]); + + //적용 버튼 클릭 이벤트 + const onApply = () => { + if (selectedFclts.length > 3) { + alert("재이용시설 후보지는 최대 3개까지만 선택할 수 있습니다."); + return; + } + + const subsInfoList: SubsInfo[] = selectedFclts.map((fclt) => ({ + ruseUtztnFcltNm: fclt.ruseUtztnFcltNm, + ruseUtztnFcltCd: fclt.pbnstRuseFcltId, + })); + + window.opener.postMessage( + { + type: "SET_SUBS_INFO", + payload: subsInfoList, // 또는 필요한 데이터 + }, + "*" + ); + + window.close(); + }; + + //트리 레이어 데이터 조회 + const fetchData = async () => { + try { + const response = await mapService.getLyrStngs(); + setTreeData(response); // API 응답 저장 + } catch (error) { + console.error("데이터 불러오기 실패:", error); + } + }; + + //하수처리시설코드로 재이용시설 목록 조회 + const reuseData = async (ruseFcltPk: any) => { + try { + const response = await mapService.getPbnstRuseFclts(ruseFcltPk); + const data = response.data || []; + setSelectedFclts((prev) => { + const newItems = data.filter( + (item: any) => + item && + Object.keys(item).length > 0 && + !prev.some((f) => f.pbnstRuseFcltId === item.pbnstRuseFcltId) + ); + console.log(newItems); + return [...prev, ...newItems]; + }); + } catch (error) { + console.error("데이터 불러오기 실패:", error); + } + }; + + // 컴포넌트 마운트 시 1회 실행 + useEffect(() => { + fetchData(); + }, []); + + // 레이어 생성 후 초기화 처리 + const onCheckedLayersChange = () => { + //수요처 ID + const urlParams = new URLSearchParams(window.location.search); + const dmdInfoId = urlParams.get("dmdInfoId"); + + //수요처 위치로 화면 이동 + const maps = gisMaps.current; + const layer = GisApp.Module.layer as any; + const layerNm = "tb_wr_ruse_fclt_dmd_co"; + const featureId = `${layerNm}.${dmdInfoId}`; + let foundFeature: any = null; + + maps + .getLayers() + .getArray() + .forEach((layer: any) => { + if (layer.get("lyrTyNm") == layerNm) { + const source = layer.getSource?.(); + if (source?.getFeatureById) { + const feature = source.getFeatureById(String(featureId).trim()); + if (feature) { + foundFeature = feature; + return; + } + } + } + }); + + if (foundFeature) { + const geometry = foundFeature.getGeometry(); + + if (geometry) { + const extent = geometry.getExtent(); + + if (geometry.getType() === "Point") { + maps.getView().setCenter(geometry.getCoordinates()); + maps.getView().setZoom(11); + } else { + maps.getView().fit(extent, { + duration: 300, + padding: [30, 30, 30, 30], + maxZoom: 16, + }); + } + } + + layer.highLightFeature( + [foundFeature], + { + id: GisApp.hlLayerId, + zIndex: 10, + opacity: 1, + selectable: true, + }, + { width: 30 } + ); + } else { + alert("수요처의 좌표정보를 찾을수 없으므로, 상단 조회조건의 시설명을 입력하여 위치를 조회하시기 바랍니다."); + } + + const formatNumber = (val: any) => { + const num = Number(val); + return isNaN(num) ? "-" : num.toLocaleString(); + }; + + // 재이용시설 오버레이 + maps + .getLayers() + .getArray() + .forEach((layer: any) => { + if (layer.get("lyrTyNm") === "tb_wr_bdst_ruse_fclt") { + const source = layer.getSource?.(); + if (source?.getFeatures) { + const features = source.getFeatures(); + + features.forEach((feature: any) => { + // 필요한 고유 ID 또는 속성 가져오기 (예: ftrIdn 또는 feature.getId()) + const featureId = + feature.getId() || feature.get("ftrIdn") || Math.random(); + + // HTML 또는 React 오버레이 컴포넌트 구성 + const overlayContent = ` +
+ +
+ ${feature.get("swtrmt_fclt_nm") || "-"} +
+ + + + + + + + + +
용량(m³/일)${formatNumber(feature.get("fclt_cpct"))}
+
+ `; + feature.set("html", overlayContent); + feature.set("overLayId", `overLay.${featureId}`); + }); + } + } + }); + }; + + // 검색해서 재이용시설 선택하면 해당 시설로 화면 이동 처리 + useEffect(() => { + if (!selectDataPk || Object.keys(selectDataPk).length === 0) return; + const maps = gisMaps.current; + let foundFeature: any = null; + const layerNm = "tb_wr_bdst_ruse_fclt"; + const featureId = `${layerNm}.${selectDataPk.bscFctCd}`; + maps + .getLayers() + .getArray() + .forEach((layer: any) => { + if (layer.get("lyrTyNm") == layerNm) { + const source = layer.getSource?.(); + if (source?.getFeatureById) { + const feature = source.getFeatureById(String(featureId).trim()); + if (feature) { + foundFeature = feature; + return; + } + } + } + }); + + if (foundFeature) { + const geometry = foundFeature.getGeometry(); + if (geometry) { + const extent = geometry.getExtent(); + + maps.getView().fit(extent, { + duration: 300, + padding: [50, 50, 50, 50], + maxZoom: 16, + constrainResolution: true, + nearest: true, + }); + } + } else { + console.warn("OpenLayers Feature를 찾을 수 없습니다:", selectDataPk); + } + }, [selectDataPk]); + + // 재이용시설 클릭 시 선택 시설목록에 추가 + const onFeatureSelect = (data: any) => { + // 처리시설코드 + const swtrmtFcltCd = data.get("swtrmt_fclt_cd"); + reuseData(swtrmtFcltCd); + }; + + return ( + <> +
+ { + if (hasuPk) setSelectDataPk(hasuPk); + }} + onApply={onApply} + /> + } + waterDepth={undefined} + /> +
+ setSelectedFclts(updatedList)} + /> + + ); +}; + +export default Map; diff --git a/apps/dm_new/app/(popup-layout)/map/popup/selectedFcltList.tsx b/apps/dm_new/app/(popup-layout)/map/popup/selectedFcltList.tsx new file mode 100644 index 000000000..bdf4d7e2c --- /dev/null +++ b/apps/dm_new/app/(popup-layout)/map/popup/selectedFcltList.tsx @@ -0,0 +1,81 @@ +import React from "react"; + +type FcltItem = { + pbnstRuseFcltId: string; + ruseUtztnFcltNm: string; + splyExtraCpct?: number; + ruseCpct?: number; + [key: string]: any; +}; + +export default function SelectedFcltList({ + data = [], + onRemove, +}: { + data: FcltItem[]; + onRemove: (updatedList: FcltItem[]) => void; +}) { + const handleDelete = (code: string) => { + const updatedList = data.filter((item) => item.pbnstRuseFcltId !== code); + onRemove(updatedList); + }; + + const TableContent = ( + <> + + + 시설명 + + 하수처리량 +
+ (㎥/일) + + + 재이용량 +
+ (㎥/일) + + 삭제 + + + + {data.map((item) => ( + + {item.ruseUtztnFcltNm} + + {Number(item.splyExtraCpct || 0).toLocaleString()} + + + {Number(item.ruseCpct || 0).toLocaleString()} + + + + + + ))} + + + ); + + if (data.length === 0) return null; + + return ( +
+

+ 선택된 시설 +

+
+ + {TableContent} +
+
+
+ ); +} diff --git a/apps/dm_new/app/(popup-layout)/map/service/index.ts b/apps/dm_new/app/(popup-layout)/map/service/index.ts new file mode 100644 index 000000000..c6bfcff72 --- /dev/null +++ b/apps/dm_new/app/(popup-layout)/map/service/index.ts @@ -0,0 +1 @@ +export * from './map' diff --git a/apps/dm_new/app/(popup-layout)/map/service/map.ts b/apps/dm_new/app/(popup-layout)/map/service/map.ts new file mode 100644 index 000000000..00e3ab561 --- /dev/null +++ b/apps/dm_new/app/(popup-layout)/map/service/map.ts @@ -0,0 +1,59 @@ +/** + * 관망도 API + */ +import { DEV_URL_WR, DEV_URL_SN } from "@/components/ui/config"; + +export type LyrStngProps = { + lyr_sn: string + lyr_nm: string + upper_lyr_sn: string + drawOrdr: string + flterSql: string + gobjTy: string + lyrTpNm: string + useYn: string + minViewSize: string + iconNm: string + lblAtrbNm: string + fontNm: string + fontIntnColor: string + fontExtnColor: string + fontExtnWdth: string + lnWdth: string + lnColor: string + polgnColor: string + initEprssYn: string + clickPsblYn: string +} + +export const mapService = { + //레이어 설정 조회 + getLyrStngs: async () => { + const response = await fetch(`${DEV_URL_SN}/api/v1/map/lyrStngs/DM_NETWORK`, { + method: 'GET', + headers: { + 'Accept': 'application/json', + }, + }); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + return response.json(); + }, + getPbnstRuseFclts: async (ruseFcltPk:any) => { + const response = await fetch(`${DEV_URL_WR}/reuseFc/pubFc/${ruseFcltPk}`, { + method: 'GET', + headers: { + 'Accept': 'application/json', + }, + }); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + return response.json(); + } +} diff --git a/apps/dm_new/app/(with-layout)/apply/register/page.tsx b/apps/dm_new/app/(with-layout)/apply/register/page.tsx index 3c084bf73..24f2e5918 100644 --- a/apps/dm_new/app/(with-layout)/apply/register/page.tsx +++ b/apps/dm_new/app/(with-layout)/apply/register/page.tsx @@ -8,10 +8,13 @@ */ "use client"; -import { useMemo, useState, useRef } from "react"; +import { useMemo, useState, useRef, useEffect } from "react"; import SubPageHeader from "@/components/SubPageHeader"; import WaterQualityRefModal from "../modal/WaterQualityRefModal"; import CandidateSiteModal, { type CandidateSite } from "@/components/CandidateSiteModal"; +import { useDmStore} from "@/app/store"; +import type { SdmInfoFormData } from "@/app/store/sdmMng"; +import SimilarCaseModal, { type SimilarCaseDetail, type SimilarCaseRow } from "@/app/(landing)/reuse/apply/modal/SimilarCaseModal"; type PHRange = { min: string; max: string }; @@ -36,7 +39,7 @@ export default function DemandRegisterPage() { const [hopePrice, setHopePrice] = useState(""); // 요구수질 - const [coliform, setColiform] = useState(""); + const [coliform, setColiform] = useState(""); // 총대장균군수 const [noDetect, setNoDetect] = useState(false); const [tn, setTn] = useState(""); @@ -56,6 +59,214 @@ export default function DemandRegisterPage() { const [cand2, setCand2] = useState(""); const [cand3, setCand3] = useState(""); + const useTypesData = useDmStore((state) => state.Sdm.useTypesData); + const getUseTypesData = useDmStore((state) => state.getUseTypesData); + const [openSimilar, setOpenSimilar] = useState(false); + + // 유사사례 + const similarCaseList = useDmStore((state) => state.Sdm.similarCaseList); + const getSimilarCaseList = useDmStore((state) => state.getSimilarCaseList); + + + const insertSdmInfoData = useDmStore( + (state) => state.insertSdmInfoData + ); + + useEffect(() => { + getUseTypesData(); + }, [getUseTypesData]); + + // option + // 'req':필수 / 'num' : 숫자 / 'num+[숫자] : 자릿수 + const validation = (val, text, option :string[]=[] ) => { + if(option.includes('req')){ + if(val.trim() === "" || val ===undefined) { + alert(`${text} 항목은 필수 입력값입니다.`); + return false; + } + }else{ + if(val.trim()===""){ + return true; + } + } + + const numOption = option.find((opt) => opt.startsWith("num")); + if (numOption) { + const isDot = numOption.includes("Dot"); + + // 3. 숫자 체크 + const regex = isDot ? /^\d+(\.\d+)?$/ : /^\d+$/; + + if (!regex.test(val)) { + alert( + `${text}은(는) ${ + isDot ? "숫자 또는 소수" : "숫자" + }만 입력 가능합니다.` + ); + return false; + } + + // 4. 자리수 체크 + const lengthStr = numOption.replace("numDot", "").replace("num", ""); + + if (lengthStr) { + const length = Number(lengthStr); + + if (isDot) { + // 🔥 소수 자리수 체크 (소수점 기준) + const decimalPart = val.split(".")[1]; + + if (decimalPart && decimalPart.length > length) { + alert(`${text}은(는) 소수점 ${length}자리까지 가능합니다.`); + return false; + } + } else { + // 정수 자리수 체크 + if (val.length !== length) { + alert(`${text}은(는) ${length}자리여야 합니다.`); + return false; + } + } + } + } + return true; + } + + const rows: SimilarCaseRow[] = similarCaseList.map((el, idx) => ({ + caseId: String(idx), + projectName: el.ruseBizNm, + period: `${el.bizBgngDate} ~ ${el.bizEndDate}`, + + supplyFacilityType: el.splyFcltKnd, + supplyName: el.splyFcltNm, + supplyCapacity: Number(el.splyFcltCpct), + + demandName: el.dmdFcltNm, + demandAddress: el.dmdFcltAddr, + + facilityCapacity: Number(el.ruseFcltCpct), + pipeKm: Number(el.ruseFcltPplLen), + purpose: el.ruseFcltUsg, + + supplyAmt: Number(el.ruseFcltSplyCpct), + treatment: el.ruseFcltPrcsMsrc, + usePurpose: el.ruseFcltUsg, + })); + + const detailsByCaseId: Record = {}; + similarCaseList.forEach((el, idx) => { + detailsByCaseId[String(idx)] = { + coliform: el.grnteWqGrssClfg, + residualCl: el.grnteWqCombResdch, + turbidity: el.grnteWqTrbt, + bod: el.grnteWqBod, + odor: el.grnteWqSmll, + color: el.grnteWqCrmty, + tn: el.grnteWqTn, + tp: el.grnteWqTp, + ph: el.grnteWqPh, + chloride: el.grnteWqClIonQnt, + ec: el.grnteWqCndctStat, + note: el.grnteWqRmrk, + + costTotal: Number(el.reqBizGrssCst), + costFacility: Number(el.reqBizReuseFcltCst), + costPipe: Number(el.reqBizPplCst), + costDesign: Number(el.reqBizDesignCst), + costSupervision: Number(el.reqBizSpvsCst), + costOther: Number(el.reqBizEtc), + + fundingTotal: Number(el.prcmPlanGrssCst), + fundingNational: Number(el.prcmPlanNlep), + fundingLocal: Number(el.prcmPlanLcep), + fundingSelf: Number(el.prcmPlanBrdnCst), + fundingRate: Number(el.prcmPlanEcqrRt), + }; + }); + + // 데이터 저장 + const saveInfo = async() => { + if(!validation(reqQty, '요구수량', ['req', 'numDot'])) return false; + if(!validation(usePurpose, '사용용도', ['req'])) return false; + if(!validation(hopePrice, '희망단가', ['req', 'numDot'])) return false; + if(!noDetect && !validation(coliform, '총대장균군수', ['req','numDot'])) return false; + if(!validation(residualCl, ['req', '결합잔류염소', 'numDot'])) return false; + if(!validation(turbidity, '탁도', ['req', 'numDot'])) return false; + if(!validation(bod, '생물화학적산소요구량', ['req', 'numDot'])) return false; + if(!validation(odor, '냄새', ['req'])) return false; + + // 필수는 아니지만 숫자로는 들어와야함. + if(!validation(tn, '총질소', ['numDot'])) return false; + if(!validation(residualCl, '결합잔류염소', ['numDot'])) return false; + if(!validation(tp, '총인', ['numDot'])) return false; + if(!validation(ph.min, 'ph', ['numDot'])) return false; + if(!validation(ph.max, 'ph', ['numDot'])) return false; + if(!validation(chloride, '염화물', ['numDot'])) return false; + if(!validation(ec, '전기전도도', ['numDot'])) return false; + + const userStr = sessionStorage.getItem("user"); + const user = userStr ? JSON.parse(userStr) : null; + + if(user){ + const payload : SdmInfoFormData = { + dmndTmng : new Date(reqDate), + dmdInfoId : user.dmdInfoId, + dmndQty : Number(reqQty), + wntUntprc : Number(hopePrice), + useUsgCd : usePurpose, + // 수질 + grssClfg : Number(coliform), + tn : Number(tn)||null, + combResdch: Number(residualCl)||null, + tph : Number(tp)||null, + trbt : Number(turbidity), + ph : ph.min||''+((ph.min||ph.max)?'~':'')+ph.max||'', + blgcOxygDmndQnt : Number(bod), + clIonQnt : Number(chloride)||null, + smll : odor, + cdtnv : Number(ec)||null, + crmty : Number(color)||null, + rmrk : remark + } + insertSdmInfoData(payload); + } + } + + const searchCandidate = (e: React.MouseEvent) => { + e.preventDefault(); + e.stopPropagation(); + const dmdInfoId = JSON.parse( + sessionStorage.getItem("user") || "{}" + )?.dmdInfoId?.toString(); + + const url = `/map/popup?dmdInfoId=${encodeURIComponent(dmdInfoId)}`; + const width = window.screen.availWidth; + const height = window.screen.availHeight; + const left = 0; + const top = 0; + const popupOptions = `width=${width},height=${height},left=${left},top=${top},resizable=yes,scrollbars=yes`; + window.open(url, "candidatePopup", popupOptions); + }; + + const getCriterionCode = (criterion: string) => { + switch (criterion) { + case "supplyAmt": + return "S"; + case "money": + return "M"; + case "usePurpose": + return "U"; + default: + return ""; + } + }; + + const searchSimilarCase = async (e: React.MouseEvent) => { + e.preventDefault(); + e.stopPropagation(); + setOpenSimilar(true); + }; + return ( <> @@ -89,7 +300,18 @@ export default function DemandRegisterPage() { - + @@ -262,16 +484,21 @@ export default function DemandRegisterPage() { + - + setOpenSimilar(false)} + rows={rows} // 실제 데이터 + detailsByCaseId={detailsByCaseId} + onSearch={async (criterion) => { + const code = getCriterionCode(criterion); + if (!code) return; + // 값은 상황에 맞게 (예시: usePurpose) + await getSimilarCaseList(code, code=='S'?reqQty:code=='U'?usePurpose:''); + }} + /> + setOpenCand(false)} diff --git a/apps/dm_new/app/store/sdmMng/index.tsx b/apps/dm_new/app/store/sdmMng/index.tsx index 393f2503b..539bcd629 100644 --- a/apps/dm_new/app/store/sdmMng/index.tsx +++ b/apps/dm_new/app/store/sdmMng/index.tsx @@ -1,4 +1,4 @@ -import { fetchType, getFetch, postFetch } from "@/components/ui/api"; +import { fetchType, getFetch, postFetch, getFetchWithCount } from "@/components/ui/api"; import type { SelectDataType } from "@common/business_components/ui"; import type { TableUpperProps } from "../common"; import toast from "react-hot-toast"; @@ -10,34 +10,27 @@ import { z } from "zod"; =====================================*/ export const sdmInfoFormSchema = z.object({ - sdmNm: z.string().min(1, "수요처를 선택해주세요"), - demandYmd: z.date().optional(), - demandQnty: z - .string() - .min(1, "요구수량을 입력해주세요") - .regex(/^[0-9]+$/, "요구수량은 숫자만 입력 가능합니다"), - usePurpose: z.string().optional(), - money: z.string().regex(/^[0-9]+$/, "희망단가는 숫자만 입력 가능합니다"), - /**요구수질 */ - reqWaterQlty: z.string().optional(), + dmdInfoId: z.string().optional(), + dmndTmng: z.date().optional(), + dmndQty: z.number().min(1, "요구수량을 입력해주세요"), + wntUntprc: z.number().min(1, "희망단가를 입력해주세요"), + useUsgCd: z.string().min(1, "사용용도를 선택해주세요"), + /** 수질 */ grssClfg: z.number().nullish(), tn: z.number().nullish(), combResdch: z.number().nullish(), tph: z.number().nullish(), trbt: z.number().nullish(), ph: z.string().nullish(), - bod: z.number().nullish(), - /**컬럼확인필요 */ + blgcOxygDmndQnt: z.number().nullish(), clIonQnt: z.number().nullish(), smll: z.string(), cdtnv: z.number().nullish(), crmty: z.number().nullish(), + rmrk: z.string().optional(), - /* telno: z.string() - .min(8, "전화번호는 8자 이상 입력해주세요") - .max(12, "전화번호는 12자 이내로 입력해주세요") - .regex(/^[0-9-]+$/, "전화번호는 숫자와 하이픈(-)만 입력 가능합니다"), */ - candidateTitle: z + + splyCndtList: z .array( z.object({ ruseUtztnFcltNm: z.string(), @@ -45,58 +38,6 @@ export const sdmInfoFormSchema = z.object({ }) ) .optional(), -}).superRefine((data, ctx) => { - const disabledFields = disableRules[data.usePurpose ?? ""] || []; - // 모든 수질 관련 필드 - // 총대장균군수는 null 값을 불검출로 표시하기때문에 해당 검사에서 제외함. - const allFields: (keyof typeof data)[] = [ - "tn", "combResdch", "tph", - "trbt", "ph", "bod", "clIonQnt", - "smll", "cdtnv", "crmty", - ]; - - const allFieldsName: Record = { - tn: "총질소(T-N)(mg/L)", - combResdch: "결합잔류염소(mg/L)", - tph: "총인(T-P)(mg/L)", - trbt: "탁도(NTU)", - ph: "수소이온농도(pH)", - bod: "생물학적 산소요구량(BOD)(mg/L)", - clIonQnt: "염화물(mgCL/L)", - smll: "냄새", - cdtnv: "전기전도도(㎲/cm)", - crmty: "색도(도)", - }; - allFields.forEach((field) => { - const isDisabled = disabledFields.includes(field); - if (!isDisabled) { - // disabled가 아닌 필드는 반드시 값이 있어야 함 - const value = data[field]; - if (typeof value === "string") { - if (value.trim().length === 0) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - path: [field], - message: `${allFieldsName[field]} 을 입력해주세요.`, - }); - } - } else if (typeof value === "number") { - if (value <= 0 || Number.isNaN(value)) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - path: [field], - message: `${allFieldsName[field]} 을 입력해주세요.`, - }); - } - } else if (value == null) { - ctx.addIssue({ - code: z.ZodIssueCode.custom, - path: [field], - message: `${allFieldsName[field]} 을 입력해주세요.`, - }); - } - } - }); }); export type SdmInfoFormData = z.infer; @@ -394,7 +335,7 @@ const defaultRules: Record = { // 사용용도 const useTypesData: SelectDataType[] = [ - { text: '청소', val: "청소" }, +/* { text: '청소', val: "청소" }, { text: "화장실용수", val: "화장실용수" }, { text: "세척", val: "세척" }, { text: "살수", val: "살수" }, @@ -402,7 +343,7 @@ const useTypesData: SelectDataType[] = [ { text: "농업_간접용수", val: "농업_간접용수" }, { text: "농업_직접용수", val: "농업_직접용수" }, { text: "하천", val: "하천" }, - { text: "공업", val: "공업" }, + { text: "공업", val: "공업" }, */ ]; // 유사사례 모달 헤더 @@ -513,13 +454,13 @@ const postSdmData = async (data: DemandCompType) => { } // 수요정보 등록 -const postSdmInfoData = async (data: DemandCompBizType) => { +const postSdmInfoData = async (data: SdmInfoFormData) => { try { await postFetch("/reuseFc/request/demandInfo", data); - toast.success('수요 정보 등록에 성공하였습니다.'); + alert('수요 정보 등록에 성공하였습니다.'); } catch (error) { console.log(error); - toast.error('수요 정보 등록에 실패하였습니다.'); + alert('수요 정보 등록에 실패하였습니다.'); } } @@ -595,12 +536,14 @@ const fetchGetSimilarCaseList = async (part: string, value: number | string) => export type SdmActions = { initializeSdmData: () => void; insertSdmData: (data: DemandCompType) => Promise; - insertSdmInfoData: (data: DemandCompBizType) => Promise; + insertSdmInfoData: (data: SdmInfoFormData) => Promise; getDemandCompList: (searchText: string, pageCnt: number) => Promise; actionLogin: (data: DemandCompType) => Promise; getSdmInfoStatusList: (dmdInfoId: string) => Promise; getSimilarCaseList: (part: string, value: number | string) => Promise; actionLogout: () => Promise; + + getUseTypesData: () => Promise; } export type SdmType = { @@ -668,7 +611,7 @@ export const SdmReducer = (set: any): SdmActions => { } }, - insertSdmInfoData: async (data: DemandCompBizType) => { + insertSdmInfoData: async (data: SdmInfoFormData) => { postSdmInfoData(data); }, @@ -795,6 +738,24 @@ export const SdmReducer = (set: any): SdmActions => { successLogin: false, } })) + }, + + getUseTypesData: async () => { + //http://dev.onasys.co.kr:3000/server/cms-service/api/v1/lwpo-cds?lwpoCdNm=&sort=regDt,desc&upCd=WR018&page=0&size=10 + + const upCd = await getFetchWithCount( + fetchType.CS, + "/cms-service/api/v1/lwpo-cds/?lwpoCdNm=&sort=regDt,desc&upCd=WR018&page=0&size=100" + ); + + const comUseTypes = upCd.content.filter(el=>el.lwpoCdNm != '친수용수').map((el: any) => ({ text: el.lwpoCdNm, val: el.lwpoCd })); + + set((state: SdmType) => ({ + Sdm: { + ...state.Sdm, + useTypesData: comUseTypes, + } + })); } } } diff --git a/apps/dm_new/components/ui/api/index.ts b/apps/dm_new/components/ui/api/index.ts index abb0c2c73..49d244d25 100644 --- a/apps/dm_new/components/ui/api/index.ts +++ b/apps/dm_new/components/ui/api/index.ts @@ -1,6 +1,7 @@ //8880 import { AUTH_USER_ID, CLAIM_NAME } from "@/src/shared/config"; import { getCookie } from "@common/components/lib/cookie"; +import { DEV_URL_FO, DEV_URL_WR, LOCAL_URL } from "../config/"; const tokenId = getCookie(AUTH_USER_ID); @@ -10,7 +11,9 @@ export const fetchType = { COMMON: "common", WR: "wr", FO: "fo", - SN: "sn" + SN: "sn", + LOCAL: "LOCAL", + CS: "CS", }; const API_VERSION = "/api/v1" @@ -44,6 +47,55 @@ export const getFetch = async (type: string, url: string) => { return res; }; +export const getFetchWithCount = async (type: string, url: string) => { + const div = + type === fetchType.COMMON + ? DEV_URL_FO + : type === fetchType.LOCAL + ? LOCAL_URL + : type === fetchType.CS + ? "" + : DEV_URL_WR; + const apiUrl = div + url; + + const response = await fetch(apiUrl, { + method: "GET", + headers: { + accept: "application/json", + }, + }); + + if (!response.ok) { + console.log(`오류 발생: ${response.status}`); + } + + const contentType = response.headers.get("content-type") ?? ""; + + if (contentType.includes("application/json")) { + // JSON 응답 처리 + const res = await response.json(); + + return res; + } else if(contentType.includes('application/octet-stream')) { + // 파일 응답 처리 (ex. PDF, Excel 등) + + console.log('contentType ' ,contentType) + const blob = await response.blob(); + const blobUrl = window.URL.createObjectURL(blob); + const a = document.createElement("a"); + const filename = "downloaded_file.PDF"; + + a.href = blobUrl; + a.download = filename; + a.click(); + window.URL.revokeObjectURL(blobUrl); + + return null; // 다운로드이므로 반환값 없음 + }else{ + throw Error('오류 발생') + } +}; + export const postFetch = async (url: string, params: RequestParams) => { const baseUrl = servers[fetchType.WR]; const response = await fetch(baseUrl + url, { diff --git a/apps/dm_new/public/images/map/help.png b/apps/dm_new/public/images/map/help.png new file mode 100644 index 0000000000000000000000000000000000000000..e872802e4e12ed8a2fb477733c6fe10ec5ee5a24 GIT binary patch literal 3501 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 bmSypO_YfO!GpLkr00000NkvXXu0mjfOi;40 literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/BML_CBAS_PS.png b/apps/dm_new/public/images/map/layericon/BML_CBAS_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..0e70939baeed2a0221089ebdf2ed19921495c8e9 GIT binary patch literal 919 zcmV;I18Dq-P)SqLGB zhyXxHk_xF*(hA@J02#m%5v3lQ6MH&(nB<&8mgO^3<3FBX2?n2i@E~y@H%EQnXezpW zxWe9NG8K0bk=)kS#yUDW6abKf5Y*n@PC^Lo_j#|odOtts_j!>{XTUf|I+fC?B&jkO zn6EriUDLR+5kFOA%HP}zB_RZ3j46SIxle8l4!l1RdjtSb*U$vD zMoWO8z-_;XhC?SzCX?3bbdm%B(MY&rYcm4IIGugxT~t0_gWl^`@%!Y@u$DcER5FQ` z;2pu3MBCfjwDV`|shXN&2A8XERRVxiCap=xGSu2Um`kmI5IAJ9VeqRj5xTpKC#*J9 zzgkDrV{Y+RY#W($MwRBI2Jr6&8m%svQ8KT*c&rYO7!2^w`S6XaAIBYyXlOo(rQi|{ zS<4_P0z=;o3a(OxCr8JU|8-y}E*UnLmeIuMh=|8`5RPrZWH#gUx%05t%JEu#BWxBM z0&_m0H$F;St@|Ysxf}24=^+wAP*+!9fw@>S@YI$KEqfFEEbDX_8_RY-*uEF?)BgNy00V@S`})wS^!Y; z4;IjRXq6fC25LHaYIjRceb9RG;A0)4_jM@>~?#^FT&gof)g+5%^y4ndKjXhh)2J4ZRf!nl6*fr&-1?D`#xVeJ#@0Y z?LZqr5bdc!C4}dC39#PPNJgb0wQj}2|%VSEe|q4Gv;R2KrcZw zQD!!Wa_T8bhZd~`7}~cS%qEE5KHt&wDS*fckT-3a`u5~0MVf|8jYL#dbrPUp4whUn zTpG&ir71mTP<Ae$+H~Ku=o{2oFGL+iSHq+4~3(-#-x-{2CA{}N~Q`3ITFJZi$%H^ zrlFf>xL7O}Xz+XpBSPMsjWj=Gd)+k!1$eq^I>>}J87OKKa2ClF&UE7lmQ$Cty=s|o z!5Ck27>;IxBh`Sa`hTcp)zKcxfX#gWDePtE9Kd9N2WMR!H*T^!2<1o#7ib8&SqP_V zRZJHkf?feSWMWt(kB*qO0gK+T3SL#El@H^S~Hzp+#1XESZgS>1n7} z|c$pZDIEW)4FZ(qHcU(W4F85)>pg6^Y}`XQc67Qzg=8-*GhEl z*!szpb4$(T=Fz1y@8_M4z4tyJX?=NxZrN=~p3x%oe+21+&n literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/BML_ETCP_PS.png b/apps/dm_new/public/images/map/layericon/BML_ETCP_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..df9e4957ba7412d8684ee344371ee72728a40899 GIT binary patch literal 961 zcmaJ=zi-n(7&Q$8tyBrYQkYIo2at$=#dZ@brfPi&jfATxv6PH;>}z5r_8I$voeqV< z0NsF*m7R$NF@O*YLnS1{!o@n9pC$mDh!ijJ*z`H=3ULf zK4)hbF7-poW|+!m8rseP5zs|FFVNXv@7}Y(b9J_@n1UG^sPF9@M5uMJYdHr4r|hzu zw?QS}gURvjGeoA)s)@f+L6`P*qNp6;%~) z0Z9-gUZAg95M@nKHE9D(AC^Xo+B;k@Ghoc@ZmdoW#Ly`&< zQHaL@vC~2j=VuBK#ZKgf#KQr|6zwh^5uK%(o*uyu=dwXOEfXympV}cWazb{b8PGKU z5B2>yIwnnYmhZX3u{916-$XGUMGkG;em)BoYDR=?f+Gv#;jD^{J|;Ns;}94v72Ifh zfs2#)<^*q=T0Mw~9XO~Cb(Sh{p66;Mp|&Ln5|owVhA39$vLM4!8J22>3^!y!m~kO? zMm`G2jO(6ps|&fA75tD!hA8sxBexb|A54y{d5d$|UZ^+ax{Gr$7IJx-44*ajpGMEN zsC%;M+_rQvH$Doe+aqf0C*Rb^^hzjoxMii^yT3P&j@Cacefo0+KDAEX{8+u3JASx) t!h9UQuyPmjU%tLNTw6ZeTUW-pi)+l=m;BEM?Vg!ks(N)7zTVz@^cR&XC_w-K literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/BML_STMS_PS.png b/apps/dm_new/public/images/map/layericon/BML_STMS_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..bf4357181e9891bf71753cc3cd75aff9262de4a2 GIT binary patch literal 810 zcmV+_1J(SAP)+9<2&%@7>2~mL`1PFm&<+l!PV8(>qevTrES}xWmzf+0x&Zr5(#m1bQA_b@VH*D zf11f;9uZN<%+z=Axoz8j)M~W{j^l({YXtzV>*C_#0zJ!cT{j#X8&kPl?oBqEEfA4M z%=|^QTCJR%oD4@%6cUjF03w1h24`nyU}gY-5CWd(1=(y?&(F`lo1C2dMgeFDA>Q5I z-hNlB)nHi`m>EI{bUGazA0NMO03bHTsJXehIF(BM2_RHNWLuW?{psoH?|XZDKUAyL zaA06S_7B{5!_2Ykx?*v0F)S8~KN8V%03?{1JkO)i(a}c>3k$!^%*-fbO#J>$M2Mm& z_I+P0FE6{rVsVv-p7(;qiint*X=7tU3=a=Kb{wZAgxEYdIA9{;APAU<#LCJ_yHF^6 zOGIxgm5R#e^C19;-V_FaQmLedhK7D!T3Y&Lc6OGGF_cUu#p>#6qfjU;6VcnPtu39; z=cE6Pvk;=6%!k|C+h%8H=Wk}7?5}fQR4SE(<2Y8U)%pm)$5P56t@S5|hlgf;ef^`LBtI3GKRW3qTt{`|j@UZhCs!qqVg)%lG|s6h$MC5wEzGB07*qoM6N<$fPx# literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/BML_SYMB_PS.png b/apps/dm_new/public/images/map/layericon/BML_SYMB_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..497589bea2f5a6aa1ee6c8f4756a96a4ec8b6bf7 GIT binary patch literal 970 zcmaJ=O>5LZ7!DMr6beE;XfKYl2o>CXZ8mm?rfZvI+ZD5v?Lya!G@DF!Lz~PrnY!76 zSiSi(`~md`sL&NW)RR~7CVKPW!K+Xw+uf~)t|7^M@I24^&ig*|YNNI`J2O8c2*PZ2 z-Kz8PTJ}v}<^Nm1&s;v-WOkEnk{#A{V=S!rq=i8>blbR&UB9>g2`>r46bu?o)^r{r zkA$L|VZ=0~oGl1T<&?VKE@q&G+d*W&U++#J2z&!>6&=~3Chi35hcVtftTnvDU9aTB z@-kRT5f=zCb3q#JMF~m`IM79Wo^4AI3?OXRfaggyoef};7=xl%$a}J)09_Xqt*GnD zJ)p{pD#`rS^NNOwI#Tb0;RAWJ*xx~Qt1^tmR|f1bMv)|SyIrwc5J}vYlv1gbX{c(R zBl1ZvVs4s`lH5qa!ig6Llm#RLnWEbw2h4yx)AJ*QbSxVs!!q%LNvTUEMU=B6jew5x ze`pwv(Fv>Li+nE?P8vOmr8-W?LG1Cy?c}mh6qzx08HpQ&?2W3p(IJc^9YTS*se^^B zAo58!xjVo+4yr~8b0ZH|Edz1|F$jF5n59+Iv}LWRX^LWNEB0!^UepR^MJ;K%x;Wxm z#5)La#712Ig3H@9fty(&q&%{P%BV~>K zr_rM=?w)Kqwk=yNSre)!A4}Si+a6FgYuBu(L-mGrF F{0katFXsRN literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/RDL_BYST_PS.png b/apps/dm_new/public/images/map/layericon/RDL_BYST_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..1e78cba6874b6dd9f8f3d1ce95a120e0ec52dd5e GIT binary patch literal 1196 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`Vr*gN=xSkTV&ZIRXy|HU;pXCG>E>i^;OJuN zH{644~kf%h=vIPQxAvIJCflpNy)(IT{C~%tb#?nlypKc4j32kqDx;@2v0ppbYTLR2w=B#nrQhxMN z0~6ou_h|hk2c&?`pw(~ZH5-Rb%% z>W_l_=KW`mR7zYRop6!M=Ak)1)?9S%C(mwwxC`_SR{9qWy( z>`Nzha87l7^inrrRmIZD+()1IyuQV;=ZLbNYoCeyqW;5N`DTH>;l?gXf-{%Me3a78 zU#$Fl&YwHVmoH8<&Uno@^U2T=Lp>FVdQ I&MBb@01j)NZvX%Q literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/RDL_CROS_PS.png b/apps/dm_new/public/images/map/layericon/RDL_CROS_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..57b5f2ca51d03eb08728f311091e33ba37747c4f GIT binary patch literal 1083 zcmaJ=T}TvB7#$Kz{443Dg6K98CA2#;yX)vqZlXK8?nWcFyP!dV>bp*LIYk zh<*rs2`mW0iU@0a5zcpcp&Y>KL`aZFiBLkwDByJm#wuMfv)ps69csX}5UGYmVl zSdRshJq;0-3wp3=I|_I31!FlWLY4K^R#O zRCxU!h2=QF^Ik4c!SmcM;A1%-!;+WxZ~>u$7krgq>7hw9OKlSpVst4MS%v5hj7@=I zGMS7wdaQLu>)abcOVmllRVhjq!}v8*yRg&NfP3Qjb%fDaWO;_1+S*50vq-P{FPN= zAP}zQxJV!v;H#?GfUhnb^>ds*nB|H{>C&Nrvs`tB8_CIat)QDEvIs5h2vnmM(!s)! z1ub_jbvgBxxN7cP!a2DNNrrJ7`&Xm0Tf{x?blJ9Kv21*35Vu>z)(>9$zL6_&J1*9y zoar~onUV=mJbd%$z2fu~Y$<&TipFc!4;2^PABhd`+`e~uZeYiOyRUwHIs?kC-a3%p zesbtE7p<-S@Yuj*1NoQi%SA8k`9o{o{gnIfT+tKhUvuXZsr2>4i&)=4|J%G%qhrsM zgV*xQpG@rU9m$+yKTf{ypV}~yoV*y_{kfisK8hTldOR~xcY*hxZ0tQX8kN!<`(?J^ lhPG<1=9s*;mmi$nI!?vb^=)?A=1bk{9FH`JgLN$@{s3DZXz>65 literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/RDL_ETCT_PS.png b/apps/dm_new/public/images/map/layericon/RDL_ETCT_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..e5a83f998a8ea4f36918482e08ec93f13fb6c40e GIT binary patch literal 896 zcmV-`1AqL9P)K7=_P&?@ex!Cb6k8%U0JFmZ}x(=At;Zhq(C?nHyowhz<*T2|_^_+mJG7Ko~`b zLx!++WwL=VsAG&FExNT6+p^(I5v^veuB~ZJG+mS2rb+L;x%d8iSVh#G$HV`f!~bxA zRWUPxK>%P!9hf=98o$CSZ{l9IJ$Cn`9-0zlXh!wW`Qqmzr?T%U$FsZnRQBEF{)Mj8 zypsNid)Wm5$z)P^3{G-VU}ouRY2eHWCCUe8Z5;ax{Ps<7EDes&fIls4cs;Vq{thLhh>3haS{$^M6@w*3! zhyjoU0GIOv`*J)b9&Kqi+UhrpOL`eU&Hsj>+!fmH-;DiDQTUxcnyX~#hlO7`?Ht>? z2Z^)sb8$@q2=~@V;&e>uCotZP(>JRb$P=t1@+k}qRy>N?8j23R-+~1dRB|iyOs9;-A zvK8gLWAz1wYXxBqc?%UPD$DEv3Y=l}d?Y`7zrH6t=wcT|8WdD?9q2*`293yz zvFajvAvhRF7aLP*qs7|9(uF2la}H0j>B^&>7d_|y@^rB|g#27Se7|3KzRv@9QB_e8 z04$Fc)kh1eyKbvK)~af+*Rc*+8;XcxIh0Fp(%C-%^LuX5!QlvdF&#JE-h*KM|LTxx!~>80oDR1bqJ zu7!xI8ZlPn&y0U)pZVzBV0z3KCneIJvY7KFx>!<4NTiiQWIwdcDeZsbOjGJW`yUNd z0E~!4i&5Ap=Lg>oE{}x-HI}p{Y}4Y2*;j>m$`g`eX^^!2nb{ydak}la%y!*f!5Dz5 z$)7u{8 z#>6^U4UP~F|4Vo_4~`%YyI7qm6w9!X6L0b64%+sn=WqB5|6 z-U{G;qu^;dR-G+<{#m7Wt%Lc7#$oCkB)ssq>Rf<%!b2AW(Lx9@P+uVw{LviLZk4$$ zb?5kfxbVWslOn1rM{W@x82|QM&A_piVxr{7y0TMYENb|Zl<@_RaJw?hT8uCtT29Jgbv^| P00000NkvXXu0mjfj{B4n literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/RDL_RDSN_PS.png b/apps/dm_new/public/images/map/layericon/RDL_RDSN_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..5629de9fb47f5db0a03cdc950a9827f52c19ed8b GIT binary patch literal 1313 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`XliC^=xA}MIS0CsYeNe?*c64j% zfB56=W}dy#X$z$`Jo=W$ChMrm7AaTQ7AbzsuqHJj`N8AF^dDcIsz=BzDSY~q*TMXM zQpKNNns-=x>Z-N>H9P%!ak=}!1>ehD2|Ip0GCRDnU0kB1;;Ljzok!#14-emWJM^A^ zurXn23P+!)Sc(1FU0e8savi=+Ex+D)v0PNJw}olqnk775%-uPw6j$F|93Hbogaz|vQNBhD!**w9UANs~$5m%`b-^`R7u-XTvolYfbmmPnPj~c? z5()`Hc~Sy{qJteWLOMhTmHyFLyad{}OdJ3i;SzQz*n<1_3`CVEp6_dD$S>6ygF`z~MuaXr|K7rNzWyEVAP1L5vNKVeakLR&ZukMsSfu$37zAd`j`8Zl+kxc*ugq{$n?^SgL<*iHm_*9BZ>K2xC874)ZCJH`PRk(04oQMc)V=yQL zSvDRFxB5d7u}z4F*?=InwH3G`l1DVC;{sPX<_3#$T`On?i7Y}>9feB5L>kyXGN%^L zg)ORg$W@Bx5-7@LNHUDu*uNTG*dp$6r$@FWizDMhow(g3ww_N+Z<8zWBq_FL>`%Ep z$BC8JO`dwbEhaMSyG~-rSL>j^!7RO6H#}E_r6Ypq=WiTfa;DWA@MTr5|exXZwWu z(UPxIC*L*nF718Z-27ED7u{;P_VUKY#N+QLny2rb=fN;_AzoJp?~3iUPbsiUY0$F4IQ5%DC4FZl4$k47KA z*zCB)>#+$@?r7|I+nC53LMlm!2yX?fGZ&WvKK|C|L$%eu8&ng5QL#>I&A_Hh=(;QK5c!wdRr?r5Dd7{q4JegCgQc zirj2)_wT?LRbpqSow-QW3V?2w;r#NyAOHiP?Y+CJRI<-*$$dJVGtY=fUr63_y4$aw z_SmLr=2XR!fQq1#^|4rQfB-u-<*04NZG^Y*bp8nzX8e+|G{5owMXee&ma@BMeRbYT8k-HjVH05;rZ zfZ%=5r*}`e6El0C6Om&eMM+B6dAV;mfAH1qqwhR&`wrXkJ}7Q97ZD(Y;0ZmjXDU50 zv-c?xIaaAw?b?+fDIiq=G}7$IE43BQ{Q5_@|EIG7AAauT`<0v6W;qW$x;+W#Sp@Tv9{P+U6sgMTgc}J&bg*BX4!k+6p^|yrdBSO zo3ge)j^m*?jtkb>LN1rfXIVBBMNtF*-EMcFs@Y&LNJd6Rdc9sRnVg)==H}+Ye`>*& UzBzXDhyVZp07*qoM6N<$f^J@W3IG5A literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/RDL_STAT_PS.png b/apps/dm_new/public/images/map/layericon/RDL_STAT_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..9a0b11673abfd8ad6b85c32dcae55f5e3f7664b4 GIT binary patch literal 855 zcmV-d1E~CoP)>mcY)EUft!dh{={BZjXEL+1GvCbdp$(<2_u*c++;h(5 zau0APND6=g04xCHau=KbZYCGIc_we%J9l5KHj@B6)qMBsf7BoE%?0%xmlb!<1uKUZ z!b-L7?BlV51ptLYLEZx{kdhqLf4Sw4ytPDH=SgcaVCPw%smUhIbL1;E^7|X^Z#;3d z147*0grt-JPA_?1Y?~+XyAy1k^3+DeURR_~a&X2~nX-z9&R#vS9k6y4sYwCgQbRnuV8`gtAqc?IfL0AK zB#_mBw08Tzk0v$Y)B|yyX3uj^nCpHR5Yz#{593rait*))hjv}UkU++e=&~fLZj1|# zLP83BRrR1L13^TCNy7wup%XwhYR*0+(=X253bChbV@tb%GfM$q+hB^H7n*n~qv4_x z!3!f~GA7f$edG8ACqQ38NC4REU;TBX2@y48wn^eZw*@Vtc;|5wiHP{1JB^KLiO>uA zq?HhzwV8=B;C%b`>q3$gmyZmVcAATm*~}W<_EebC1Q5n((FLGl7!vUPP(g3eb{MtA z^6+QJ)?#g#&*vfu0NaPg>+8pl?%mhnTxrd=8HfM0X}du@GF^}AZWs+u*<2P`ea~a@ zid7o=^qbPyx!%6srVt_q02GTw4M5_%{rMM0CaNdjDAmGEKRI0gqsyM-D}1%I$iw58 zras?4xEH|Fxm>OlfWT^6B^ekPNUQ-m4u1IlHqrC^79*8zZ@4Rs#$TtWj~qNynNgU} z<#NlFO2r1i|2I`vR}w%AfOY^I06YTVVIbSq-`}6SAM>C!@4V=6rK0&aZ_10+D%yH` hqmN#GN%28V{0BwD#RtKA@K^u<002ovPDHLkV1j>(l-&RT literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/RDL_STLT_PS.png b/apps/dm_new/public/images/map/layericon/RDL_STLT_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..489524b5c4cd57a22db674f7ad8897be209f617b GIT binary patch literal 1089 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 literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/RDL_TRSN_PS.png b/apps/dm_new/public/images/map/layericon/RDL_TRSN_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..15675cb315243b6ee8ea7977c337e3387ddcb6d5 GIT binary patch literal 1375 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 literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/SWL_CLAY_PS_RED.png b/apps/dm_new/public/images/map/layericon/SWL_CLAY_PS_RED.png new file mode 100644 index 0000000000000000000000000000000000000000..0e5450688f9dda207fc2f3679b15d7b2a3e3c982 GIT binary patch literal 468 zcmV;_0W1EAP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0clA@K~y+TrIXuj z+b|S{KdLGu%C0GrvMt4y^VA~Qpx5(TnDUjyZ0ojg!gEY(1p z^aqG@0r~0YMM^~YA4TKFOQm)l9Q*9Ac7Fc4Rl9W$IQE&GetI9eqCox0YL(*4kDCD` zV!Rk=qYkp8R)zZXZ2^eWU?lDg#pxpeZ`1IxIBNk&5_*M~`29@A4`-+? z@a8#JF`Rr>^oN*iA$b$_(G+mpmVRf|0>I%ykZP5u6mnLUz*pd^IGnBt$!xtZ%G8F`6vIj*G6a*)z58{J}GN1Itm!arH5X5>i*Xn~cBsmwp@B9Dr|KB;$ z-?yiswz-y~sD@;Zm?GnP_gh;{{#%xdG8vk1_W(|#VO)?cNX1l?g&?WRIhca7I)3OG z?4+nFTFVUJ0jZZ)knWdVjNj2s!ltOsF2|IW5r{z+<}@Qpf4cvW2AUeB_l2c^WC}2^ z^-NeWJ<*p@CPtKqN_XuBoeoa~bcki(=%a?sJ5hQ?mnU;~o1wu91dl}N-$@Nf{Xjq# z1Yv)hPYJLr;5a`U3UeIW3W5PP$OOpC`PdL2=J;ScSbb;`%~FT?l$cnJMOINdkFm)! zOrcQl7ux*D$}wyt5^*(xK_5Z*>~RCjj?b{YB?S@Milv!YLk4ga`v|&O zmNo3vGLeEYj%+flKj0pz1eB!zLv_83ws8vn$@ibac4pj!ObXg)%u-0>hP`emlNT%~ zV`OCz8ZA|^KaVi7^T-53ngcucX@-gl_O2DYB=JeZ##`6wmTGSPb7qncsLS^#N!>YaEU7-WlV<#E^*aAT%jV@wSsPv$Rf0~!%$6FNCzuN z=C#VXL@Mg7a@ESY#42(bk__WE_OC{lwupP&Y1y`9Q8qp_h}$h<>&C@z8_AWJONz0K zvzYx+EOu43Of}AUTCe2THN~6U@U}d4EAisa{de!*9zAfV`SCGndG=cN`d#m5cCg0s ztZkdV_`O*C;N7sa@aD|c>b*6usvh;;`*CU=n9Ie#-DaMo9yG_kJe8}s`Wbq1vi|ku zy3wDFr>{0$I{T99&s>?_%`NP|dXOCwz4PLcIxsiAW7}6ewKRxl&NU1@+J5|F@8E?S hvzxA;-<c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`W?|%N}T^vIy zZY>G+^bZacvCDt+IwkY%lxaq0S2#F2yJs%*&;kG)y6C8B4ovh9#bUt|9$Gh>UDL!ihPm6Q3V zoc>LW?^-g;lvc03j5f!aGB3X0_FOfx&|P?D=)nUY z-5Qm5*fK5A=P>&{Y0odqs-$0XzoX|%m0p$C)n_!hZhgPe*+;~kUsIqpYKN3nZYm45H zocd-bw?pI8zuRXV%`ss({qOmI5l;rs4>HP@Z^fo2M+W=mtbP2nyOBxYqQRTVDp$jn z^S6H5887e<9B~= zygn`9o3b!O(0bnOZABGzQalz#F)BN(pFThQ`C!xKJl#c%DgW>D38&2Edo8{G^tXda zVhxFs=br9RZGG?i`ckL;i{;$qM;lXoZT2{y`L=X>!%5p5=VPI@eVfE*zg?$4QSX%< zhYde_yXPkHw3sy-r!VLW7L~j;e8~S>ngFVjS~ zp*D&%hdOP4!W1`ikp-F{h+?3{hAU*2b2c-pM?CPJm-l&}^PJ}#ZDs~1n0AIn5JWIH zmBqt-^56tgkQoUl__#gwvAo*q08YmG*uN~IEu#ogWA za=E;`yj-i*c6D`uTv1U0T1`z&V`HP$Y6S;^ot>RPT3T8lVltT^qE@SgLLr!Nf?AzU z*VfhsCq+d?P$(`g)@U@PrKQN|1x|l|KlsqEudfFO9a~#lr>3UhUm}snWHLAu2n2!YW9{wj z@UPeFv7ElXJ~%O(%@&JgbaWK{pI&$!f}L_7@iO>CBqA;@IhoDoaxr#C$Jp4L@rjAI zi;JIESJ#|Qr_1G9ce}qMHa0w-O~jVhyS=@$v*Y*w-rL(p{6%>7d`S>JR-T$GAqe{P z!6CgD4Lkt2%w;jN8T-C238lTDOAss^+w;}azMPiaEo%Qa9V`1gyhx2Kw zv$4_c`>_QE&-zP2l;^S|Fl_!4{mR0e&v%;}^y~UMh335I-+jypp!)qw%d#0Y^?6h; zd7q*t@8`J0WF|T5iS_3s)0{skoQsGiv8C}VS2yjW(f<_lNo|CU&ARhqM1N1AVh)U) z%T%z@mltzshQm*r%^?_ed(0QnNYAOSy+er!A8Da^Yher8*&zClYvFNS%Grd0X`wFK=Gj5Nzu8p8`eIVwEur#cJGuu|NV3OChhs3-nq4S%89tT6?ID< z1ZMUGW>1)~?|)Fv1fa60(zzuwPEXwbKOnOwAhR!`cy`g$;|X=ELi48-O*8G6CCN?e)7!VEcWle-+>zO}GrM$I2>t;<>9w76fu?d6ctjR6Fz_7) zVaDV6D^h@hH$7b(Lo|Yu53t=};nmX8n(|}j!Wuro%a7Jv*`i|0sb?_X*X63pt=s3_ zZyH8Ul2%c8k)@LzA|SIScd~@e5e^XpjZV|+n%q1mPy2n?{D7G&B!#tIWm!w>&)>Ii zS7|k{1kIVF>~vUJ+3Cs?@57EvCxeP+GES`g$oNjLRe@2JKYMr0{trJ+OxQ5PVgked z)Fii{2LFN?ixPb%*abAWTHHGAWvqV5-#hBAFN4N`1Im)G76i#Xp1oR8`4pE>!UK`( zzWQBU+y=tQ?4KniW>knCI(+ymtHLLZhDJt)YxngOh3bmifu3aWboFyt=akR{03h6M Ao&W#< literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/SWL_MANH_PS_GRAY.png b/apps/dm_new/public/images/map/layericon/SWL_MANH_PS_GRAY.png new file mode 100644 index 0000000000000000000000000000000000000000..e19f3d8b36c0d5c05f2bd0156cde3a42819d0733 GIT binary patch literal 1054 zcmX|9dq`7p6uxS{W{M1_SrG(+mJc#5qoUBvC8e2)FwNA|d{&~SNl+mv^+)tjs1Qpb zQ6$ZUt_RM?bZ$PcZnNp;eCwuOXD(BlufBDo1NYo>&+nY`ec$=rCn3RXYsOv%K@iq~ z7yLunJhM52Yy@7!N znkotahnOVEv9U2=p$3zY2O@}}7@)|Y1$zecf0=Y8Es!pzR|G`N1To;^3NV>Qq_smP z2tzw=Q>9V?bbNdq3kP#t7IdlA>V<^`tyT-|*h2}+wg%UqpB)+;MwpwMGnsaFES86d zM?e6ZeGQhBl$?^1T3A?ER#skKSI6ZxL8q_-+(jh$U7=8o0>A+Acl@kct#m> z7PU)DKYjoQKtB!kYjt&Pef_t=ut2?j1BQif{j=?D>5EJa*jQ#<;A9bmO`G8{65Xy! zz@K^`(BC)QB`m(h=C!F^P^vGpus$ zSbd(DC`fm>!^>G&;eGb;Q9IoTI!Z7&zs_gm1hvLUF$KKK{)#73_zbO5o->0`*PraP$y&H0OnXz(n98C)DhF|>VT6Enx zr(R!jQvSZ%s9=x(N_AxX)mPa*iKpJ=rTol)bV8V&>Y|oyXP%S!up87^TGbLezEy~00DNQ ACIA2c literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/SWL_MANH_PS_GREEN.png b/apps/dm_new/public/images/map/layericon/SWL_MANH_PS_GREEN.png new file mode 100644 index 0000000000000000000000000000000000000000..4503c13c63f182dc291aaa8184b523c09d5363ea GIT binary patch literal 791 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%Gqe0X`wFK=GhSDbcfYJD<#+{eNwEZ|bc7>mvG6X8+%izqPLHL}%)X;?@VV zLVFU!CnV4KzX3?j{J%bKZf@o2-dX?G1I0u8l453Ommlv+T~!)6C9UFQSHi;l@QJC} zo2p9>w}thmL`+GW`F}&g{M@XKRoyQaL`+FfSzcUvxIKPeZr=8~%G2F77bb-EC#9__ z4V#bxR2efXD|=&A{;r0C-HkK;t`F*nid)x-6t8A$@fj(5~27Sxq;lhV>@{ zwWKU73hIoHn3S5oqhZ>wHNiazQPVTx=H|rB%k^)L_HT&}?1%#z64VJq@xfj3!QBZ! zb3%F(LqRAB=zg#{$>9@I!Y8Ey&54+t3iL?i)byyS>CrPXV`gRnofJDOJ7Ioa;-Z42 z#f3>r3X_)>r7SB>U0DKjPv-i{+^w~_+v@Um)aUPPDBRmra~6*gPoKYd@d^muym|NTJrI2Q{Q1k5Z{NQC`0?xa@4rCs4+u)H?VJlVm9xMj zvY3H^?=T269?xHq0u;RI>Ealo5uAL0?FI|)s#U9|{Fu40hEMSFr8!@EL~J?r4Cec~ zTvfSt`@H*2!_Z06Dhe;Mbh1N4gx2Iv7STGwA!4B6ZE$@h2aom%-%pz#Fmr`GZD~d z@}D!-eR}bDLGhFmt{4VP+4Em5_a)<@HqMvNZlBxtx0O|s!Dnv^0|NsCgWrJ;xZ+*` zOXnUzi(UVhGWC*?wP#>pU|=Zyc>49< ze}8!T1T8sH{2$H02=~I<=l7Ukn#;dkcr7fc2v_*^%R5nI&3*?uzhbxmTfh+lC@vrt z;aSx=YQQxkM|pr&`7@A@fwxdhFfBBGsfq{WxqkRR# xG#L+u`&W;0!{ivFA>qe}u8Ej50nNS%GpH0X`wFK=DZq4znE`o5Y+y6N^bDf+{hlT>VKyjer*^Z9KLqb-$yHByRI~f|f(AjySt?ec+ufst> z{Wdm0L7>X{&dwXXyMOQ3>IE2}Omt8ObRpdr0rXZP9IKuiF-7N{L)3(##-?d@kc zILvf#06GI`3((n%TwE3dk*n(xSJ$PkuFKrqR=T?bow452bE}WfHXolIzP>yC{Pz0$ z9}EmU5)^bSIQV*0)Q#xqJ25ej;^UttBmljyCL^)~7}j1TL4LsuGC-iFW^3!}>gn0o z*f@Fe&Yin<@7}ZL(6wuK?%#j#`|;z~ z@85rc;2#i_UfVerXewucM`SSr1K(i~W;~w1A_XXT)6>NvC1))a~o;Hw^I^E9WE9-F zk@1}#s{*4cfA(&h`x|a_Jh<>eVgked)S4=%2LFH+ixNu~*abAWTAVuVWo&)O-#hBA zFN4N`1Im(*76ggCoxE64`4pE>!UK`(zS=!JyavL_?4KniW>knCI&|m@tHLLZhDJt) Y#s0d7PA`?`1A3Cd)78&qol`;+05Lm9=Kufz literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/SWL_MANH_PS_YELLOW.png b/apps/dm_new/public/images/map/layericon/SWL_MANH_PS_YELLOW.png new file mode 100644 index 0000000000000000000000000000000000000000..b7de1fbfdfdb1b373ac6c53c3541dbf14a53cc43 GIT binary patch literal 782 zcmW+ydrVSc6u*>KQl^!)thOx7(aYJ~np@chgBh0Q&_Albw8v~cmg})K*B{XPfj~&h zG<#@IZI(4lq?Sq33KcHOD=?5i;oi%=m*-GZJM`Q4o%4O?obPvj=et=_T#(FM#Y7M! zS+JWY1fLq;3+94lZ%ru$$2co2;392E#pJnk1G6V zLp181ot?$?HDEDR3YH%22>ZSV>@Q;hC$5*^1~~)?ecbv@jS-&~4!BN&>!f~TL)6Vq2E_98r{AU0orUdUj?S8@xdnYO%qa^hhhFlhF27=tUaqW0Zx^%isxReGXZ| zpa{7-XQn4Xl7ILfX=((1U;kxa{}pWD29Q7vHh2ru-Nxe!WY@s3xL%6uWjHDa!N35G zKrJXFhVJ@@>-@(1eq%i-rz}mBwVAR$rL51WU(adVE07WR{U+$_2#$UTj&_Dzs?eX$ zVb9md__xS-Z;Uj9yb0Pq8FEdAJuv=u1Ns2|y6~K^xD;6f$jZvk=ko;uu~=MNt5S8T z)t^4~m`rwu!|8UrJs!`v*NXuNf+Q(GFcb=hqtR$AHaRsl4VVF(H>nzdHK}U%fwKs* zSQFojzSA#{K+r1Samv`Ghr8!l5|V#vwRdCppIltLWT>fMIn2vX%FcOI#4~38vgrz} z+XRZ$nHk>WTTUp~E`5EfHg)~C1!*~KX|8!=@}hx(Li)XPE>l@~?MhbW^{W$8He2;3 zQG%lJ0gJ0)vA9O}o*vE|f$&T^n%A*@GMAP+)67MiCCr66%MQ;E nrLU~Ju)Ig3i6mwO*&;Cm>D!;3^kS^F7=}ay{9;}kxBSvSe_-5< literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/SWL_SPEW_PS.png b/apps/dm_new/public/images/map/layericon/SWL_SPEW_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..d260ea3a668f2d7fba866de62fb10c4220409ca9 GIT binary patch literal 1217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDkcWM*z=V&ZCSVrt}UXy|HUX=-NdXzJu@Y3^d? z=H_Aq)9aF-T$-DjR|3Y4 z5WOk5-C~4OuRhQ*`k;tKifEV+F!g|#@MH_*z!QFI9x$~R0h6`2pt1!61EZ;@i(^Q| zt)xHy|JyUGHn7fo{OXzCg)Mh?ml-9QGA!A-f4#Wt$M^R258ssM-#>6wQThy@e{k1zgC6apd*5wu4cAOPFNvKfD zApKrVTPwG?(S}V1#v)>(&9RK-j6R=#`_C_wVwlw5-=Dr>O}-27k<;7XHCZa0^`CFs z?7gq@XOp8#4AV&tO@o!Im-T#TS~t(m=9SKxH4mgNGM-r=e7x`AQN7qb2Tn|yIMp@i zkfDKrgRh6UUQ9wkNohOxoBMl(eT21-F%=7W2&r_uaY;HdLqdZ^MEZcm)07wgV;W6) z{-^&&T#n)DpWjO{an^LB{Ts5>LH|o literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/SWL_SPOT_PS.png b/apps/dm_new/public/images/map/layericon/SWL_SPOT_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..84c7992e41cc3c681f1b6ea44d7059de78fa2a9a GIT binary patch literal 1067 zcmaJ=O-$2Z7_NeZAS8HlkQi!_D8}_?KZO;>&(`5)ERr#Wi-xZKHX3NZ+J3mPi-3s{ zNIa+qO-wW#^g=Y=NQ}{hEQ%)+Pa0!L1;jG|HLte`-hmK_Y8)lJMMi0r|IMdxD=w?~g zu#08F1!JB5038lMD~@*Xix|L|8uJ3w8Ltom{xY6`?Yv0|S+~>K@lyk?UANH*sVUSlSh!4p>kpcaAJ* zm2+V$>J_%=rIjQcW&Qo>3Unc)bwn6pL*j$in+GD#MPE9}4+= zzVPMNW8D>vMz@cjJldAt7(4&Tf%U#)>ifmRjBBfzeRyv^Sw-xxC*B-Hr>^D$ QPo3)NS%G|s0G|+7AT1;$q@$x_YisN8@1K^IR#H;Z+uOU`V#QvN0VP3x!3+-1ZlnP@ zoCO|{#S9F5he4R}c>anMprEa%i(`mJ@YEhlJ_ZF27DmB;|C4zmKX$bGZ8bi6NqUmP zgc-Z9PLfOg>^NS%G|s0G|+7AZ-}A$iHYqa^ud5Nrxt{IJbD~)%|B4Z8@v20y3Z^$S;_|;n|He zAcwQSBeIx*f$uN~Gak=hkpdL7^>lFz(FmT}W68&$z`?>O`0sx*Z{)|0R==&rM=wcF zQkXDf_ti;qsh_NS%G|s0G|+7ARRTqtY|@S)9Uoe+p1R_ox1hx(ld7tn!Zc302xpcNS%G|s0G|+7AYETyKXKy3dGqG2UcGwHo;^p89=(43`o{-TdO!x01o;IsI6S+N z2IO!SctjR6Fz_7)VaDV6D^h@hww^AIAsWF`do1}F6gXHI1^@j|=8gQ=(dxI=_~<3+ zNeUBY?7lilF7>nbgm>8;@jeTB3@wzopr E07Dc;WdHyG literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/SWL_SPOT_PS_RED.png b/apps/dm_new/public/images/map/layericon/SWL_SPOT_PS_RED.png new file mode 100644 index 0000000000000000000000000000000000000000..a2da36f9bd0c68654350c5ed8840a5a513e05c5b GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|s0G|+7AT7?tWho)yuc(-&t=(#2G2PyNyRWbE`itTq14@GYf*Bm1-ADs+ zI14-?iy0XB4ude`@%$AjKtWqi7sn8d;Hf>9d<+U4ER2Hx{wMQBe(Y%V+iHCDlJq2n z2{U$Iog|m~*?Ypf?2dS!1wDoq%;y&@fxHa7-4%z4m{Oi^LYPn%|KSU0+4KLt~^wz7fAwAdM zd!m=3sQ%Qvk|E<@@Ez?T|5Lwe8W~3LOde-Z5mz-AQb_|9AV^u-3d}&wSiABDPEb@Q zZRYYguU?RJWHDNRVSLLWY>Jwg@*PbtLktRV#k3Rj{>xW1FpUJg6jeFZkzvW4Uw2`4 zJ)P6n%X-|PrzXLKFA)I?Vh#9K#r7mWLDzL9G7q*{8q^`UoS+X(<<$isBNu`w6A9@Y z&jV3pcp)l^{1^yxe3<3PD~5PMii%Qr95f!9M01Uzlu>3IvB)YxmoRoDmaSH+Of|wF zcZKES@pzyS4u=RLWQ7fQToS=!*gA^>MC2M<)VT!-1gh%)p_bJ`dpH9R{r*$f%dI((%|H*Wx;iObaWn|!NU{qxjNBYTmF6if zln_Q<2{}N{is0OmX&b2Oov-6nRZ7_&)@&W7lmtx_7}GQ)IVlT*m>d@bd79^EgjhVn z%h4DwipiJ~my=Ddg7j4j+PKLz4!N9vv`M$Sq^<957f+HaaV@1JbN*i8cda(nd1j;g z!TT*^Wbx6(9fjZCy~7P}2$w$Y4#FSLN9R7@_A|IO3kE|r_;+f{s2UANB{r; literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/TL_SPBD_ENTRC.png b/apps/dm_new/public/images/map/layericon/TL_SPBD_ENTRC.png new file mode 100644 index 0000000000000000000000000000000000000000..8e7de8593acb28bd70cc17bc07f51fe41104a3d4 GIT binary patch literal 1260 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`Vrt-GY+`0%VrpV;Xy|I1JVR zVPRv4~Pj*wm=R%;iu*SQ+p9GSzA2OwPs*oOz?DZ45_#^ zCD_*ch=V}w?%4$eVnq+wJEkUNK9=9Gb@S%yr~J6S1xR`N| zJvQ5C?o3u`PthfQ5-al93`?KC+#KK4)4bnrwtm;#UOhuS$xiNBH3#lG?~)07@@xLf z#2-q(E=e`?ujg1?p%eG;x!ZZrDK;@68tDnm{r-UW|S17>0 literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/TL_SPGF_LOC.png b/apps/dm_new/public/images/map/layericon/TL_SPGF_LOC.png new file mode 100644 index 0000000000000000000000000000000000000000..74b0adac361882af61b2f8d1a29c7a3f4c8063ad GIT binary patch literal 1383 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`Y~<|b;_T>bVrt}UXy|HU;p}W+;cDb!Vq)a# zW@79F)9aF-T$-DjR|3v4~Pj*wm=R%;iu*SQ+p9GS-(v#`NF`!c-zy(F{I+w zlF6sNr2|Edoj-f#$;Ca(9JefR6p#;PcHZT2l>INWj@BaXi5gdYx8E%dytG!^wII^9 z;Q6Ai0P%Mr0$G}wZ`C-QF0}G!?F%r@RGVL(=OMwJEN)q_&H28UHD=1T`s$be@TJYmI(%^28qHs(l4VPW8$&Ht~udsoCUlg3EBf%aQk< za+8_=3w>f;RDC(J(RRk{aIKoHR-!w579Do=_EN3?e(=nfB(E-2ls8_x|9s z?Gjfu@T|SeZF`sJvA?p~y*EU-oi*rrdt!T>V>egLkY4Wy)EqO6{v)NAK zVJLX;ASi<1P4OTeM3EutO)p+NO+>wU5k)sIz_C?!K5Ynwuc4|ly%C_< zjY7%VSg{nFoj3u;BS-~YL`)F5t6m5rm96VSI*+$`7SthRMP+xBDjPFE!vO+mE}5_d zQ3SHgiK(mD(qgclAq6?7C@f#VYgdmvUcD|n5lEX{QH2(I6f^}>$cD#DWbi6|0x`n)_uemQHa+9i#Bd)C=TUAEkGv0K?&p4W))|u znBcIAeW1KX>xUJt+~h}O|HGimD+M+E4V(5tfRm=kL+B4T~I$VblT>U&b8HRaP9WF z2yMAMO@@yf`&XlzThu-Av}IemXc-@Q)a?Pa_2WyMkX{K|y~$Gaw(@IdXQE3Il1Xjg zWapj2t%`oodU5Z;_tfT%g{|Q^ZNc9@@Z@;s>$685bzYa=b$@)LU+d^Kra!}=_pSv# z?0flp>cUpJZ?ST_|H_~+();}8)i3X#o_g59baXS{J`Ef`^K))HzJ&Q~LBF3_y!Zzu Cr9T`1 literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/TL_SPRD_BANO.png b/apps/dm_new/public/images/map/layericon/TL_SPRD_BANO.png new file mode 100644 index 0000000000000000000000000000000000000000..8d08dca2996d0ea7bc0c52c6296323f9721077a4 GIT binary patch literal 1044 zcmaJ=PiWIn9F8j+b2uD$*;MqAq0G7FU)yXAtJ~VFu42pRit9nJY4WyaTk>M^X45gD z4h9Y;cb2r@l+n;-~+c#SjoqNvWqgq$X0m-n@|k^k`@y9yb4@OTzap&49MY)Fl1C=WrxP-bBoDq89C8#qi+ zK3dOYaW;8gQjx(Z9)@uZi?Atbc*M07bsl1nhqJmFp}%fEr-80T=;=_BOIk5l&?lB` zIJK0@s7v!|SffYIfMHi60tUniaE%4ik=zJf)s@KH+h%D{h2Z%Jy_ZxrISFFOh9JZQ z{3^%uKol817!pN(00lW6L2|Pt5j}~!+CYkOX!LS;#rc)~u zDH!W27Rxi7cceNnnfyQ0FdAqFr{SM`|0(QbN)}|(&_Ro~N*XuQ>xHtUm<<(->;vR3>uq|0Mj1NuXcAMDxacX&)T#4%mc`W0;&+qK+ zj`-T;c>LF;V^3DDb$31OUr~O3|GW;wL%!8=>xQ~*p1XAt!lP~F(OeG1AUtv5Mx|0Y z@a5futxAiws+IP&^@r{~-250nqWDHr7vGjo4{U!L9PJ6?*WX@#*etHCx5AxA<%4&( oT3+qfySraR`)*DM>bp*LIYk zh<*rs2`mW0iU@0a5zcpcp&Y>KL`aZFiBLkwDByJm#wuMfv)ps69csX}5UGYmVl zSdRshJq;0-3wp3=I|_I31!FlWLY4K^R#O zRCxU!h2=QF^Ik4c!SmcM;A1%-!;+WxZ~>u$7krgq>7hw9OKlSpVst4MS%v5hj7@=I zGMS7wdaQLu>)abcOVmllRVhjq!}v8*yRg&NfP3Qjb%fDaWO;_1+S*50vq-P{FPN= zAP}zQxJV!v;H#?GfUhnb^>ds*nB|H{>C&Nrvs`tB8_CIat)QDEvIs5h2vnmM(!s)! z1ub_jbvgBxxN7cP!a2DNNrrJ7`&Xm0Tf{x?blJ9Kv21*35Vu>z)(>9$zL6_&J1*9y zoar~onUV=mJbd%$z2fu~Y$<&TipFc!4;2^PABhd`+`e~uZeYiOyRUwHIs?kC-a3%p zesbtE7p<-S@Yuj*1NoQi%SA8k`9o{o{gnIfT+tKhUvuXZsr2>4i&)=4|J%G%qhrsM zgV*xQpG@rU9m$+yKTf{ypV}~yoV*y_{kfisK8hTldOR~xcY*hxZ0tQX8kN!<`(?J^ lhPG<1=9s*;mmi$nI!?vb^=)?A=1bk{9FH`JgLN$@{s3DZXz>65 literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/TL_SPRD_NONM.png b/apps/dm_new/public/images/map/layericon/TL_SPRD_NONM.png new file mode 100644 index 0000000000000000000000000000000000000000..e68c05ab606783899526d999e99e088f96d1fa5e GIT binary patch literal 1049 zcmaJ=&rj1}7%o{D1R>Fr;)O5e0@1Z=*A~_=eyy7X5z(gFvb}F0F{V|2TivvH3b>*=kebj@9)g6a7GVae`r^VzI6_fA z+Q{Z`E_qqjkjbbXhN+r1VN=w|Sk+dwIfy|X77Z&x@4bFY14EC{Gh#BBw4<9J8TQk98-39$;Q=Dg*~)d*eJmC4-OW@%7|;JFBWWGa_TgD7$!5SdUw z3vwKgB!&}2N#ZU7KFINGki1fW6J$}6`5|!p&?K6p7vzi*KaNFK5xRu2EwgN;Qei3~ z202BR3x~s=2G0iwBH%7sSgi&ux4)sFKv#1N8ym<1o}!vZWgMZ2)1xDpc2m}JkJCgF z##U9E<(Qy%qy{jV{6Ew*n`jqj;ECUV3cJ}w8?qVbqOzlr!WH_xP_`U(po)=`MQFZ} z#dHZ_PqSF!>m@zCJRouZkKADsgmWx$Og9#-<69vXFbeWq}h9y205=36&xR?;; zL*j5q9Fk&TNg9rZ8e9cwWfNMs!PQT=LQAgK3Z_jWE6_2nLp|;w6V#6^8?C*NvbXYb z#MN7S;ahT9Vutk!`&XeGTcmruX|rv~qS^S+BHiwgwqAJN`<+~g)r2yUt$xiP93GDO zq^ULtlzqGv8aphab)BS@{E|puN^3+s_ zS>2(&JX!7=;&}e&EdkNb&ODv~(MRV7+QHeiQ{%O(v;Ot%b~~5;;d|l#wEJu2^N0D3 q9x&K__lB^tIlk_*VKLt}ezT3bGx}!tT6|ORE^8u|QeIBZuKWSyOihgd literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/TL_SPRD_RENM.png b/apps/dm_new/public/images/map/layericon/TL_SPRD_RENM.png new file mode 100644 index 0000000000000000000000000000000000000000..4800beaeb5d42b54c5c28451bcecc023bbbf7506 GIT binary patch literal 1009 zcmaJ=PiWIn9L_czGB(&{iUakLU7W1>*EU-oi*rrdt!T>V>egLkY4Wy)EqO6{v)NAK zVJLX;ASi<1P4OTeM3EutO)p+NO+>wU5k)sIz_C?!K5Ynwuc4|ly%C_< zjY7%VSg{nFoj3u;BS-~YL`)F5t6m5rm96VSI*+$`7SthRMP+xBDjPFE!vO+mE}5_d zQ3SHgiK(mD(qgclAq6?7C@f#VYgdmvUcD|n5lEX{QH2(I6f^}>$cD#DWbi6|0x`n)_uemQHa+9i#Bd)C=TUAEkGv0K?&p4W))|u znBcIAeW1KX>xUJt+~h}O|HGimD+M+E4V(5tfRm=kL+B4T~I$VblT>U&b8HRaP9WF z2yMAMO@@yf`&XlzThu-Av}IemXc-@Q)a?Pa_2WyMkX{K|y~$Gaw(@IdXQE3Il1Xjg zWapj2t%`oodU5Z;_tfT%g{|Q^ZNc9@@Z@;s>$685bzYa=b$@)LU+d^Kra!}=_pSv# z?0flp>cUpJZ?ST_|H_~+();}8)i3X#o_g59baXS{J`Ef`^K))HzJ&Q~LBF3_y!Zzu Cr9T`1 literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/TL_SPRD_RWNM.png b/apps/dm_new/public/images/map/layericon/TL_SPRD_RWNM.png new file mode 100644 index 0000000000000000000000000000000000000000..e68c05ab606783899526d999e99e088f96d1fa5e GIT binary patch literal 1049 zcmaJ=&rj1}7%o{D1R>Fr;)O5e0@1Z=*A~_=eyy7X5z(gFvb}F0F{V|2TivvH3b>*=kebj@9)g6a7GVae`r^VzI6_fA z+Q{Z`E_qqjkjbbXhN+r1VN=w|Sk+dwIfy|X77Z&x@4bFY14EC{Gh#BBw4<9J8TQk98-39$;Q=Dg*~)d*eJmC4-OW@%7|;JFBWWGa_TgD7$!5SdUw z3vwKgB!&}2N#ZU7KFINGki1fW6J$}6`5|!p&?K6p7vzi*KaNFK5xRu2EwgN;Qei3~ z202BR3x~s=2G0iwBH%7sSgi&ux4)sFKv#1N8ym<1o}!vZWgMZ2)1xDpc2m}JkJCgF z##U9E<(Qy%qy{jV{6Ew*n`jqj;ECUV3cJ}w8?qVbqOzlr!WH_xP_`U(po)=`MQFZ} z#dHZ_PqSF!>m@zCJRouZkKADsgmWx$Og9#-<69vXFbeWq}h9y205=36&xR?;; zL*j5q9Fk&TNg9rZ8e9cwWfNMs!PQT=LQAgK3Z_jWE6_2nLp|;w6V#6^8?C*NvbXYb z#MN7S;ahT9Vutk!`&XeGTcmruX|rv~qS^S+BHiwgwqAJN`<+~g)r2yUt$xiP93GDO zq^ULtlzqGv8aphab)BS@{E|puN^3+s_ zS>2(&JX!7=;&}e&EdkNb&ODv~(MRV7+QHeiQ{%O(v;Ot%b~~5;;d|l#wEJu2^N0D3 q9x&K__lB^tIlk_*VKLt}ezT3bGx}!tT6|ORE^8u|QeIBZuKWSyOihgd literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/UFL_BMAN_PS.png b/apps/dm_new/public/images/map/layericon/UFL_BMAN_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..f2f64a641080ceee0479ecc735869a2d146d2513 GIT binary patch literal 1552 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`U~b~(=3?e-V&V)8bypKdCpQZhM*~xHL!gkQ zs~JqMOMY@`Zfaf$Om7N8uM1ASprnvn0JPa9wJ5VJHN~wcKUV?lWvfiwZgIqE9#n4% zZnrq$)TknMZjcjY$NByz`)ev>EaktaVsa- zJ6kwV!nRzla-zv(6WwjgwuYFqF7;R`7OvFs-{DB>gH<~MjndRf` z8>)5!_Q!hHZrtpfBeZ@_lgl^c3alKiw!qDJTCl(e+cotnRx`{wgL(9y>Vk6&s_@7d|kjXWkvY@3-Zsea-q_pjo!R&$M&xmSp+iFZ8p;1CbbH`P92 zo~r^Yh0?7oc${x)hJX$z{qB|hbo5x@QV*jS;TNsM#Lx+ey4d~5DZlhm9f;x6qf#Huy< z=z-Gyg>A3qT{~#^@!Nw3;zenUOM@&gH|DK+CcW~+tY!DLr&{Hht-t<0Yg5>x>l1~_ zAFD*Y{&uU|@9IN|(-(GKP;vCk4$RbCt})+X_VyrBK7@LqWSUvzOU+aNBgp&6P&Bbs=8@=Wpjmv0Z%; zBZ?jh%K{-Rqn@M7Lt#WkP$WTxLC{N^6j@;wMFpC6MqTZpZJ3#J;rqV-KmY%ob$9n^AoWYK9q)c%PB$@|AZnsHQ&KtrB4yB~84+sg_Fan9)CjddC^DiM1MONv zj|G~0n$k*7hZ0t)=q|D*$72Bo{JG=pEx!v^>u$NNI$;zQwRmYU&HLVPh6UPY*OgiM~M zv)QaS>-R#djb_8)u%qGgc`(9bcN<8`c?`R%pdbKSu{0BD&>$T}Nrqi0Lg7poj-Z=M zvWC4_CR{K&Cz&+sWt<}wfTH++sID)eZIlAb`TkSbPIsGtP5~QsSqg4krpgIr@-YiY z2wG_f4;HGJY=;Qi?a(A+%^bOHzh9NC*)MD|j_cwxQcUwM9fTsCdnwWhJL(U*5Uy%1e7cKgtz{OiYLWwrb5yAAhB zFBAP+l7m;tHT|xn+&45d)Hg7&{z(P^kZ*locB6M@X7tPSPsmJ9|D1A1duNY)lH}pF htwPmy;!IUZshi-wpAg^66XVYPPt-RFSL#|1{{cK~fpGu; literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/UFL_BPIP_PS.png b/apps/dm_new/public/images/map/layericon/UFL_BPIP_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..dcc3622a76eeccb7c555f8fd9f30f76ce8591f08 GIT binary patch literal 1017 zcmaJ=U2D@&7|tBbF*i^Ybl!N#5EN{_+N3nBt6j6Xf+?dbtRjA-$ypoL-_i7Wh(Q4sO*>A1d;Nw6rV*!SMU_*X6fBuj3oe{l z$mH~ec|B&(i7_zh%S6C}SOdOQwmsR8(@kBO%!6%~22BW_kJI}}<<)7BLM{X%6AtMd z&jU$f_=qS;`~@Izyufngl|p<(7A0ATg4RQmXs$6QXO+oTEV7EzC5#=JWvkUHQw=l7 zEwX$p77H{4Aw&=%uV!P-582*GTS0-I?wSrZkqrVxt$->xPLoXck6<|+S=(!si4=_W zHHYOHE;v#fsH*>mT2=?`;VeAJ_n*REuI4~C3q4eEb<()Gksy>Kr(CFE(nS_%9$7ZK=Mw9x*Ww!8 zb4hmPvLqQcXzX8&Zf_Cy1k;Xf$)aO?XcM=)#MbYA(#Oe_u+mC0=YKBjHX4cE!52$Q zjp+NAaN|R`uu-q~EH2l!A8&nHDh{$w6VU(h>+I^Q#RtQ8e($dL*H<5w?=COzHEw*l zvQoZ2*2C@X)DQO=Z`XF7Y;CUG|2TB2vhwW6ZDZ54zNH<*u#Rk>P(9XCg5894sLM$cg6$rAb zI0TDOlt)ke1mhUif-9x6UCzDENxDjiK8A2r1F>taQq_JTsCgaI{AntNVK!vslT=lqSac%-%)#cFK-zIUe3bBV1 z__L(SxdPyI6M`tw6P75N1}sa^ktoa3A;3^HLsIBv!*qm;vK+G;tUWl2X3B$HQOK;t zLaPK`wQYkVNyl*rr-#tZA(D>8V!j5$gb^ZajcT^&hBd3Zp&&p@G8MyCbPf25VnrXZ z6FAEBSqZAKE~{B<$Ak`ybVY-t3Cb_20nFw8AF8VBXv;3b=lTApuvHp0AX$W#K4MC! zaf97{D1+loDB8MN()HtwQ!G?>N-uS$C{gSMj+Vm(?s=)FhY{5;#&I z6h-FJDL$3qX+9E-Ff^Tx>|yzgAjBAoN-+YxXLo}u=+cM^HM_x;pL2z#T;B?+fg%gg zR8B%UW9lkcEtylA=aOowx5ky5=W?Jamqf{seq;aD=*AXuk3U_vEn2J_A8N?$CbIRf z`Q9ZA3v9~@sgnCk<&ozlTUtN5k@a4v1liM{eB3b=3eE<)H+e6e{VZ^+uj z-%G({`6v}1ot`Yz7H-tvOSfOVmn6u^4X4HVcb(wG?3+EGXOD>P^5V9>o|f9+r`V6b zZ*V*FcNX7XSbAgom*);19`77KmIf_PpDxeTA3oUIdE&gZ@WFHTj9{rL6yx4f>>1uxL?sQ0S?_~Jr( z{G3OfQ7|fa=r8YPePud+x5hC0^S5VfB!jh5*vQm3mCMO1bN=O#P3MIx2adh-4>{eP A^#A|> literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/UFL_BTRS_PS.png b/apps/dm_new/public/images/map/layericon/UFL_BTRS_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..557c17089a8e791685cbd7fed39d5418549c6531 GIT binary patch literal 1097 zcmaJ=O-K}B7#=mH{OONMvxCD(v4uOcv+j=0uu&^FA>_rvo%@B6*)^Ihv` zJ6%#(UPur`Nw`&v;Bmk6?JmIoiXUki4@XgR40Xa@l$0$%G^#KT$gnQ=fe4V*k-_&M zKoEJ97LB2pbWTv9PRkC4PU$9Q6GWgsWy(rFKx7>BX-1G*pPr>iO$}0Ae#s-5A&}5o zM=j7f+7?wt`xRcL>g&irO27g-Kr)%q2Mk+C1*r{P0neRnh9Wm0s6R+;CKZ!9$Plyu z>8GpRiic%Mj-y$hpX1mn((7Tpj0eA*oAn8PPVm-{TMvb!S!%Bk5nHxm;Z=}IAY=** zlT0S*WHk+~K8EFa-qG-S-5BAvM+_vV+=gA5Q4oQxSel76XpoMg9EU?FNa0L3kD!~| zvWC4?CR{KkC7TROdz>R>fRglosIG6LZ4?1J`TkSbj*ggsi2xf8Sqg4kZ>1B;6han| z5wxNZ4rHp>k$?!=322g`PL6bSX@&}u_Q?&rBne@|MzW!Ruo$GU0FO@h27&!w{43T+r|e5cDsdbtqfh7!B=7?EH*|{ z%kf|7bbaXT$lO@LQjQ{h$t^fi*4`SslX$Sc^5*J``(>_ORbO+LyjJY6G5PY)#QN&D z;_qDL!ra`=Ds_B?4ERDxyVKI7CrCo xxeoQ?r#_5*PUp`zlwR>vp6PB_lpho0L>>{GGM>WaPig0Jhnw5PsivOGe*l2=X6*m~ literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/UFL_GMNT_PS.png b/apps/dm_new/public/images/map/layericon/UFL_GMNT_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..6081d8b00f9a9d5a9e9ee32b353bd1ad1042a5b5 GIT binary patch literal 1166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`?qX)?WMJuRVrpV+Xy|I<v4~Pj*wm=R%;iu*SQ+p9GS>M`mbt(e`Ba^3#V@SoV zHIr?*4mk+4syjM<5SS*XkX!Y3?Vg4kw>T^tm#Tkc2s0~t#h7E$u%JV+cT&&ivUG)i zOQP8AJno&TKDlZ4T4Tf75Vf9`eHTL43iKWFin!9gILbjwrTudz? z7MwhvG>c2qpIvHB&$xE|=9StQ=CX`CZCP2XE}hRfagNDoVN=Gl<843f68C+vsc1`6 zlw$C2YuNjD+sySRZ@;%%5b2R?S literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/UFL_GPIP_PS.png b/apps/dm_new/public/images/map/layericon/UFL_GPIP_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..5d7e86fd28d67d9256ec0e6f5b6c5a70b5e3038f GIT binary patch literal 1103 zcmaJ=Pe>F|93HbIBuS&fBJweU6}0nb-JP0gH{IQFYoQfe7u?XI*_r1$+02_}-nOer zsnx;i&>_lBNd$JP=p+egWnee2b*S(lRD^*A9fIwRx!R#^n3?y7@B4ng_xpWsq^kF(WJBO* z8a*n<^FR<7-scwten0SXyqD$3D|mRH$DL$j-35D2lFz*Xtn&kJD#jCGRnv`l5mi9o5z?tRoY+ib@(~agZjN{yBnSt;(9t zN|{K(*t}w~Jj1z1Dgxv2|3eL9746^zT+8>L!cMZ!f@}ghC~K>vaozQ9C`*diP{GJf zB6PM`#kL-Vk<)`L5NQ{{-VWW=P|n%6jE~2qnCW1}RAEdG(nNvLbxq=b;w0kpY&EEa|0l zIapF}g{zg$MJ&l>NiwY4*uNTG+#>FAr>nLli&f)8lepa`wtg_}NaRYqipim5{$2WK zq0m%b{p;S?*tddm;%(va9cE}f7;YBBqa$Ti)~CQmTedLpY+`Uj zM=j^|&S%%nUA>X28WigmwrQ6`>Dldrn_h4qkN1hE_FSKt8JpQUTl++x#?5n6LyBTW zCVqSe@0%;X7Orsp>GDq-E|i@)R4;TcEq=(1K79DIPMhq?>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`X=vzX>1bkVV&dd%Xy|I<v4~Pj*wm=R%;iu*SQ+p9GSu@w9+cPjQe(`j145_%4 z^dv1Q)q#EY&yXbzAyNYEPOV|gA9b$#m(NpN{rl5*ac1t0hvKud&z?E6<;~U8&u#eM z-LfTkNLNsleevy_Vd1VN%Z=EzbnNuUhAkR ziV7TLdMtZqQx)@sUF=6<)FbS_6>s?PBzseVM8lJFe}C5HKRy5bdgB@03kO=6#Z0=b z9FHu#AMfx(VL~SNkz)ZnH#^iw+)dTt*}#oXD@?|_rvpU1_F9>umrf8@oU^o38j z_CECbrITrCkAEE4@Ks?M<0+#xJo$YmmdyR0w1e$Zk4)>f_xrWpTr!z;=9ucC56`}G z`-tDE{q&n*LK#Ehy+7#_Qw|9IUz4+jXOYk(oHPAIbBZ|UOqpmbtRc{t zxzBx0=TTdC1zP@JP6>&yTnds^2=d#Wzp$Pz-{}=QC literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/UFL_GVAL_PS.png b/apps/dm_new/public/images/map/layericon/UFL_GVAL_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..e8f7cde2e6b5547f88f9d06f44527a8fdf956cda GIT binary patch literal 1426 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`Vrgt-X5?&PVrt}KXy|HU>Fna_V&rOS;p%MW z=4xyV)9aF-T$-DjR|3v4~Pj*wm=R%;iu*SQ+p9GS=UH!EoWe0V)Jxy45_%4 z^ymM7duFR02hX=_axnHt$=fgF*l;J>SpMA4^Cyn{u-5!8UtOwq_^q>hpvbCQk;Z>= z=Kh)g@L{1^+y46h#tv%}YHG{mC!FPYwx{&VZ~jYvl7D*ntp5KuJ)yskLGlno3G3sf zSBn+&ejGk@{J@zb97oP1FgjLdwgq1@;wfrBzfj`CiEAAPc{IK=othqSG2sXI7rWD& z=i5uh+3h{Apr~*lfx|@dNxkKYMQZ7?2C>_}bKN)~?!dE2R^{8P`|)gcj*4u{>>Yyd z)l{7?`1sCrN4DdSzxQO%sXgQ4@jCU2N8e1pxPeVU+2`WxetF4#|9>7nz#_zGIlpyg z>%(Vfl?&AOR~8*-KKAeP*Ujpi%FoTY!*}H{%f^>qPA=vNUqA2J&Wdjr(!VrJo*0_` zz`u+X=F%7fIZ{M(9pi%Mjld-c`mE7TFyq_hn>BXO0 zkehI9!OEp)7`peBu6|b6<#pm?Lge0>PkH|@@U(4TpJ#AqZ?SmZf$Q=;8fwihCdvJ8~^Mu=p4~|a{=Q+RM;l`v(n|KZ-NjY3&WE0Cd zDe58;{&my$ZKD4fHeTMGZSiLA-nyn6u9gQiPRbl^*r%DDcxL|TYqH5H3JfzOG*}YE sb7E|pReTq0XnL7=WZGO$Mg~SU2FAd1S2y18F$0y7p00i_>zopr0Fdb%6951J literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/UFL_KMAN_PS.png b/apps/dm_new/public/images/map/layericon/UFL_KMAN_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..764ce8ba5dcfbccd8ca87ccd6a270597c2d441a0 GIT binary patch literal 1572 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`XyR($o& z6x?pHz^PXs=oo!a#3DsBObD2IKumbD1#;jCKQ#}S+KYh6`qIybz?{W2!_&nvq~cai zuywXbqKNH%bK~Dhljq(|xt_9EDJ#*zQ?MyXwdqD=XGg0-m{LasN0?&o*0~%>s$z!q ziYikDgr}64bqQ>8+`Rexn=@(8pYC)Pn*73iPHOtIdDZ7_zxU0Wxvwqxxl&>O4#zo4 zA{#w*gx`1S&%Zv6uj%SS7BNG2o6X%zx8#Zox(Z%esk3Jv_x9_qiyyMo{BNu9+cD{c zjmtlSm<{>iTFDwy-5yrz-FnM5r7uu#x?um5z?C6qdwb{iSMPntdhGrrmET-(n;vxw zCkt~NX4t)3?~ullvbZS4zNCBZ8n=`KP95ogfB(Y!>h~wASNt^AoOEpUrM#ZGaomiP zCE6I*>PDnV-OS-DlzI65n^?_#=bb@Q7x8zTzI5pCC6AjIq7Ii52Y45#-e@tZ3rERx&D||?l)ZDhQJH$#^(RHtRdf2kaCv1*C%8%6; ze~1i~T$AB+S^Pe~K&#**gN3TecNQ&PeA9=o@x9thmw#{WT&}lSan&qwhE}HOl9e{O zo*QoDndyuA-F|UQCU(unZM#0j^Xpvp5=o0V^Sb&|M(nqQuKIoR?9EqRy2&%kPxeyx zBKe6w99Fdh_2j&d{onU46u4r@WNb z!9|sG=Wd%Iej?gPZB@F$X^*i`<=X`KL{ae#??A6LmrpcX+5WM)|VWo{v?1 z&Uf*?{{vxeM}Z#e-d`f>i*&SIzo$-}sFJmPmP>Q?yR*jM^e$TcGkrII^%3QySrT`p li<8%f{uC1DXa6sl!0;kmk>gzTt=FJ(+tbz0Wt~$(69BpkPN4t* literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/UFL_KPOL_PS.png b/apps/dm_new/public/images/map/layericon/UFL_KPOL_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..d9fa712cf6c3528d5673c19c6c3cc6aaa42fe604 GIT binary patch literal 1122 zcmaJ=TWHfz7|xtjom2NBIzc_lKoo4!)HbuBb#}?BMO#K&aOydsF z6J(%1i6{!9h$y~@^8(Hx-awoeHWV*UKBxngDT0XgWUkW(Ye;e~eBbx~=l{QRpdq|z*4Hwl}f!nKYmD{T;iENsz?2>tQ;O&VxwgkBd+_!6cFTea2Q z7EE_1GfH=x5>n~f6(H;gL_mjF29Dlt*n$(G$8-fUcehy@j6rZ)g#MjWW1<0w$bulq zEb}TpjsrZ;aDgDtb4!8W$N5z_Q~t?COGo1Z~CAOspXTxQcQXb>Ik1GW~r7-JFm$ z?C~;@g0YTlvK-@ck5m9A690$l`UKj>DflPfe+t`~E)%jTXrm5GA&qOUc0-whXh9hx zD}zvbp^6Qy2qU`{nLteQVDUQ5P*KiaGKNnigt%d2*-&6yiqJ%X(KJ;E1*K>#Aaa3# z=;yflK!^|WVzkaD)`X;(CqG;o2d{^9zIa$PIvCW$OTOY4Mc%tAUCJF=h^ z&803@RBxQC7SF|3l*^K2Shul%HM+1x+~ZCsY)cjs#)k%RyG3mMF*#gKuEbDWie{V_ z*&q3QZ7JW7-ZZ*d6pzb~PDILIhQsCQvq^aSOz*yuS%ZVmCO@q~uLjQTpLT3ZXD9!1 zJ(zQ2+qd4Tsue$LAA3%g>iYaAO*?14zPWA9(UL3Z&7$X&({sJA&v);^{Zl=MMkZ~i z&X@Erzgw~Kl37(6f4B0>UB=V9YF1@);KJUiftn)=dMe*mJUq3-(>Ht9VL#t~Vc`3l zE7@pKD3{fhAENU1j3f%eFk6Cwc({*PzH(XnG7xdEEnWH=E%$a76?J8kt zq6rojArweP5K&MU-2|2u84I(`Yuw+v;kP3CuR+Lh35cw&b>BbQ>qbRFe z`7+^xF=EHg{|a}0hlBF$48?=M7NNn%OE29DXc)Nsv@{KJ{S&p!)}io zS3TrzPeu4O{kIUM;6r5 zxrin8@?524F5XZ{E`yU{?8g4p=)x9uk3B8g7B7m%2Re4UiEaJMq_*M9u^ncLGeHr>)p%vD@!;U``# z#gk%1;(Kl((_k##n3z3teeLa=n$a&0_rF`&E~f8~tkl&$seXE(aqmEP>n9@ja(Q`t z{4gE3Sv?<{yu8J`?>4#3e9(QcqCGHPdG=hINX%@$SUGk46tSt2m{>hMKY8!ibNkjt LLLK6r*6y+26oFXm literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/WTL_FIRE_PS.png b/apps/dm_new/public/images/map/layericon/WTL_FIRE_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..4137a3f74526c367650a0bf2b998b01a3fe31e12 GIT binary patch literal 1072 zcmaJ=TWHfz7>=xLV>qt}I&g;UMP*Hzu1(jlI@@NKf~m8st`91v$ypn=!U=7x6k}n~cG{AWnTzaD(m17bo*Y5a-FZZa!E;l5^qvzW+b}|DFD} zXiH^9RRuv1m628kzr^8 z(o5GlWf#km97nSrFUPU9q}#>185e#zC+p$89Pjp#s}F^vnMx-g6Pj0J;Z=Z2BV_Ol zlgVW0OdSo)6vO)cep|!sc4CCn>eZ2yb?R14K|uhPY^nxQp-$S0QWEx{0EIJMIf7=a z$?Dc>nQ+0FtYk1O?Xr(l0E*)Op_;aawonYL=lf4#E8c4WCI&3nW6HR3oi%nSgAbcP zLePvu*j=b%TN)y0rJ+HF+c|P?hpH2(Jg4*z1+KErZ7#~St)Lk=vH(o=3{aX)sFBM@ z=GEf4gp2B}a+Tt_2t~OJPKL1?`&Xk2Ti8AJbj`MSv1WXrW4D{w)=&Gl-@sSmc0>rq zv!5nn?4~@q(UF>&gTJo*o-Es0HZwLc-xpVF?;PD$I&eJQ{iHgjm5<+LKabRx4n0U* zCg{!Ie{3C!#B+-C zZxL_8C6$Z$s>tgPfrXyxdB<2qBKhThwB;)`{_5e5U~b_2+|t>F=Pz4t4x7<~nZfCa a_WTAyAH6Vm<>PMAzQd8GsBkZIs_zd&Kw|U& literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/WTL_FLOW_PS.png b/apps/dm_new/public/images/map/layericon/WTL_FLOW_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..285f7edfa81fce7e403067fa779164e206500b58 GIT binary patch literal 1137 zcmaJ>TWHi+7)~t?T3gu_#S1Pyr0!O6XOc6Q*u=)}?4+Z!I(3|mwm#WRa@xi=IWak% znbw!O%Ibn3!ipj&7D4u*%C0P|s}EL0t>S}XABvz9K~O=e)Z2qtPim+7;A}{8{&V=g z@4qI$r<&GRRV=Gu7^W(*K}pl~8}FIpqwng8NtG^3Nnioj&@|DmQigLX+8eUA65!fvM5MqC=XxX00G$V!MM9v#Z)II*zLqNh&2mfWs70yIPb2S!Y7kb!g7gfX(*w{EL8{?hAxG| zaZ!MLI2?g72phvuYKTIe2*WTQ7eh*st6;6iL>4J>_0QZ$Nv<~vrcFI7$T4zAk2}}| zQz=VE=~#j#^`^Oc=~zM~xf~6K^BVg_ql-s$dOUMxZ0TlZ@R3EQ-JxT>ZQq>%`bj)a zDA7#ee)j$3WJ9?ybo~Av_T}!}>>8ox;AkadG;RE4-^9_Amv6jy{XRPQ+h6<`b8m1( zYSEd0w5|K^^$%*?kZ_e5o~`WO^9SF?EbX5+u~~jo{p8i;yAd9y=GfO~3D;I!oAvL2 zTv6Qug5THHo*wl*+OfJSTlbu;TwMNlG&?$SerUbren?a^<$r2hB=_J^&5Pnm_Mm@*%;YWbnPrw70R?c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`VQ%K?Vrt-QVruAYXy|HUY3X8N>11x~Z0PJ} zU~1_G)9aF-T$-DjR|3v4~Pj*wm=R%;iu*SQ+p9GS^s~$av=i)Q>UkkV@SoV zCBeS_!hs@t-=Cd*-EX;r_i_O*(bR?9_DyP9oQa7Yf7qR4B*Ts!Int^vw(HVdPU~Lp z$NmR8)(P~e{b;;D%faP9(2TNMm&)w!e=cK?EnKc|d2-L5Io0QPe&?AObm+g#uIF_e zhMgLUDJ>P?0zRbO6 z@_2e*sf4rSvU`(S{N7KBSn~Nu(Bi_Bs$|_6Yr_^^SmPX%cwy6x^)Iv6O^H2!>gdE4 zr^-ofdseP!JzXZyV`IYIIrGx8(va(Gxqmhv*l4ZJbWW6Gv5;w1H~&xt;H zvY7SQvux2{r?i$g2tD4hu3CL^t^fn4uE;FEZ5OtfYSw;WZB0Ec?R2i9+oNooLcU&I zYvt)9=NWiR+1~aXG{4Qada+f`QinMW)6;wkT0bs&y~b9;V)Fm3t&_5ue~HW~3>0LV z_U0|)sws`@0s=M`^aK^}FbxutmQ)}j&`ZOcI;!o7cQg*F*v!hpp9=6QT zVe2>VR%m!3v1a?6P0}7eH+_$9a9~P{`Kh5QdpsiE<;@zeq%~7NZOgIR>D|Zna{hUL aMmC1RZ)#d6L=Wu;71W-telF{r5}E*KPgV5* literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/WTL_META_PS.png b/apps/dm_new/public/images/map/layericon/WTL_META_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..22c7af31b32386e501fbc0948bcf4bdf44d58332 GIT binary patch literal 1100 zcmaJ=TWHfz7>-oSm~Ko^)Cqc)sheP%OWSC()wwmDE7~!-$_j!uP0rT1B_}3lHmgI2 zV;fT+L=;4P5?_4Lf#8b|-f%Eb@J$p%MCOY(ydd7^$+k`(tRcy{@O|I^pa1{Pct`ur zit_4milQpwZBmkqRqj{jCI9swXJj(0!Lc;%MBO+qTaap2Q5J%@F89DBl+}TQQ?QYu zJhYZd<8)%Ts36@hyBNQtn}khKjZKazE4>hdEbP&Y2>tHHO&VxwgzgF@*n}B{IjyZ= z!OlW^N-6XzVU=#$4jLVi2w(A(MnQ>bDfqxb9jvlqp6nC}U)$ z5b7&du_K2tvUA7;(M|!>cWH)-^7iIgd?F#n4I9gb0^?GICJKH{Q$;qw@`A867z}X| z$HjupEj$};4e?S-fR9CET#+jwrC)~zE^^gB+)zobYX#jTktJwphoIVOAsx&fS=37B z!k5&W=c=W136$hABpJqS>|c#8ZV~sm(*@g-#e(snLELT;Tfg#5?I2g;R$OXMIZv`b zW@ef^8;6!ZrQQq$FKpWPls&Qh>LT#q`lPr`Zy5YsK3ZdXGUspp{5HHNuxjnn^xN0d zYwJfRGM!G>WaV9Ix^8Tu`lL*?UAufdI6ShV?(TTcv*({QZ-aO0@OO4u=Faqf^#Q0} zmAU;gbxH^3w@S|i@A%Q$Now%dJ?})JdGDFwntPAdjcl5tb}h9>U(~fAicuN=xS0Z>&&g AEdT%j literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/WTL_PIPE_PS.png b/apps/dm_new/public/images/map/layericon/WTL_PIPE_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..c9c6863f68f8ce9b39d7758ae2bc1d0814d46948 GIT binary patch literal 1075 zcmaJ=OK8+k6n(8)wNlV3s9k7CD=0e2WI7W&Vbb4Zq9dl1=|HDa#58$rV@+O~ymr!$ zQi@g-E3QK2{g=0waKAdyzefOSsrnO~X zMR`>@0H7kdUrLd2z5lH#BmeE+aw-|N;zS0wp>CX29SE9q)CH-esrJAWRP~|$=P(Aq z3ff3#a7H;OXvkz#AH#U2P1pd$8a!Lo`XHvdV2@#m^q2cHG-c=_-5ybbiXDf&#{OXk zwhgzWwc$Q3s?!biRLm2IfC;fmdFC<86+Ds7>k4G>+0E;xq^!E`=ds)_U zm&!y6#(JvFa!k-aQURza|A(69GTOx{_$S|g3cKkc8?q_rq5(%Ejq9%VL)k*yfhtB$ z8lhu_Dz^3_jND#iQ}H&Q+SzVcI?B4c@_0oNl9r2AOM^*Cq=^D!7`o70$2Ui0IUbI1 zagIxb>*S_LBE<8u6qiGCG+5wDNE%p4(iBF9TP|r^o zxm<4aemu|@!+!)pRYV9y)9peIrC#+9iRB|V*xxFn|{A$ z(~E`Csj{)@a`F3}tuNm`I#p6#)xV>%6Lg3h4=j`_r{4mXIVWGde)PZ%>+rQhR?RA~ Zatrt{J2@{+9zW|}<7A>my48GS{1?p)VJH9q literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/WTL_RSRV_PS.png b/apps/dm_new/public/images/map/layericon/WTL_RSRV_PS.png new file mode 100644 index 0000000000000000000000000000000000000000..d7b307a61bcaa6059fe5565713ae6055c29d209b GIT binary patch literal 1057 zcmaJ=O=#0#7>?|RF*leyZM!UFtW31|=}%_EYU!GGE80=o!is_{O}?#RO}?0Xv)vFK zia+zyB!Hw$pL`Am z2%?TsQ)!fr9TjA#(UOg!3z~u11ThdO7?L~*5SalJs_v)0E-X@{s`#l(M|u=wSjoJa8Tf~%h_KNOB;D&s;zjFe;Hm7mHYWC#qC z&*$m9n}+5D!})wZTf^mYVuaJ0){#_j>Q+xhK?Ig;ss>V_PTGo622LSAg)`kLK{Kkd zx>Y_Vd|*sLG8m3#?UE|MSnU5$O{=0UlmNT={!`dWO&fqo01Hl;GH%>>j~&VoLMD(9 zG*b}fDyJCFLIkZWG{{hrC;LWKU4eOPe+eIp2~pibk}iX&=%=s(t*VOPW?4SSdt4qb zCvsfa6LdwmLwwll@kK)3aKEp@6`?$(0UcGi$}ZPklWSW+GjL=PnCdB@L`1jXD^d3}ZL;uSQq4uzT!j)wXz1H9pX>+f8ii?@j3=_)1)hiosOj zZRTgO7^v%=ZJ57pJZo=BZmeCFR_y|C$dvqrq6gX- z6QtJH@E`ijww8BZ&fEvB({qpSk@Ic%8g5>(O8x^Y1LK~5YMv?Y&C9|yo=2;{@ny4; Q1lr8t>FVdQ&MBb@03aDW=l}o! literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/WTL_RSRV_PS_GRAY.png b/apps/dm_new/public/images/map/layericon/WTL_RSRV_PS_GRAY.png new file mode 100644 index 0000000000000000000000000000000000000000..33a667a1e2ff5a9e01855af8b14631c9699d1c6d GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!5N+|jv*HQZzo%G9X8-`m|w*bulnHb_71%X ztA9$^c_=hLe`A&su)M8CCS&$e=lg1$wki{joY~R5g=JNh*D;BwGZw2>nDQTHIAGDY zWXc1lPdC`srZos0TDLEC?t;)gN!Fb+Bv)nKtA18_%+mdO>6NIHmdpWOiIHMnnpdJ` zF3X(yChSMs{s-bLm%jhK&0eB%Ok;Wck14mcZ5S1f`OHr}BH0XdBZH@_pUXO@geCxp CKw=aC literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/WTL_RSRV_PS_GREEN.png b/apps/dm_new/public/images/map/layericon/WTL_RSRV_PS_GREEN.png new file mode 100644 index 0000000000000000000000000000000000000000..33933b9e04b38435d3d4ff138a135e6dfd1f6c27 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`d7dtgAr*6y|NQ@N&#c0q O%;4$j=d#Wzp$P!6M?0AS literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/WTL_RSRV_PS_ORANGE.png b/apps/dm_new/public/images/map/layericon/WTL_RSRV_PS_ORANGE.png new file mode 100644 index 0000000000000000000000000000000000000000..7a78c34664d8f302243822cf89403706bd4d5e2a GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`*`6+rAr*6y|NQ@N&#cF)Xe&|Ks&gUVSRASg_~c;?M}H{&OgoVN%r@0|mhzDFX?fgg^VIH2%3G@^${iiI?tpY!qks)vRtZf#L5gptTI1 Lu6{1-oD!M?# literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/WTL_RSRV_PS_PURPLE.png b/apps/dm_new/public/images/map/layericon/WTL_RSRV_PS_PURPLE.png new file mode 100644 index 0000000000000000000000000000000000000000..ef25607cf502431098e70d5f01ad934c70dd4252 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ii4<#Ar*6y|NQ@N&#c^R-<&>@EDyf+v&mCx9a zd2MgxL4~r7T+10xyfQr05Mq#ZAi`e7 zdD+VU|BaJ^Pqlb|UL^frLhSC3_WJ=m%o9wE4Gav9WGLvk2}GTfP+buaGVD(lRu8;vgOf*bVE?95RIojKFYv0Z&p zQ$&j(Gcw6udJuXjdI^Fal7cQq?-3$hjGijGJP0LrMt9d9+J>1q7ryWN|MUOfnTd3^ zmlhu`CJ3T5+#y8qSZ;s&3h}@C$CiYLN)(EtZrF>Gk_m{Q0uz7?Yf>MG0!bM@`vNo( zL;JC~_Nu1_IPhQgJat^3VjN zhi-7lPL?ITUYd1#yk54RbU9fU7oyb4hL2pJs1 zB$G)x*+4_Hk750OzpdeNIWWRu4eLlsIdrQgqaXlFHdOX( zvbvQn6D}B&k_?8Wo%WG3KvDcZRMWC(3q`?hzW)@qV#5YtqQHVfri>fcTVsbZINk&j zf@TcD!Aun+{SZN`9~vaz?In-(sJa4^R^2vU6uGc&AxW1(SO`#9fmT(83%Pv0#-OLs z?O}PA4Y~axC*RoW6Ik9AbOzg6Gh6}6LmJRghO6vy{W-a|6*L1!7J#Xq14^3-HFEpN zoSHiqZ%(~5SIM1=FDIA5$uM?f|7vt*3%kdjW^IcXS>pp8yWPaLzWJ)_6TT9+!$L5Y zdXw1L+G;5%xv{XY*}gP0EAKh@e0g=Xs^0j%9&RgikBMda*u=!fBr7i5*;tR{udJ8IEDy!;YEe%*XruYA&OU*vG8Q@GoD=KLQ_Vqx_F literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/layericon/default.png b/apps/dm_new/public/images/map/layericon/default.png new file mode 100644 index 0000000000000000000000000000000000000000..92bf1f587e549c99cabe90492d4421dd2f8a8dbc GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^(jd&j3?%D+y-WjAJOMr-t{fa3iV^}#7cKqw|Nnm$ z%?m(rmXaX9U?7jdL2Km~AfL0qBeIx*f$sEak7F*Vu1jg5_``2YX^v17+v zG)>uiB)-dvm@BaA1RpYY5rpXW7lzz`{*&wxTB^!gCocK!zUrl|Wb_P#ZKbLh* G2~7Ysgdv9j literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/arrow_down.png b/apps/dm_new/public/images/map/toolbar/arrow_down.png new file mode 100644 index 0000000000000000000000000000000000000000..88590ecaf9a6f06c42759eeea8aa34471613f969 GIT binary patch literal 1532 zcmbVMU5FJ`9G|ciby+Oeqz{7AtfG${w_*Fd^un9_*oqi1r~Wh$K=$2@3K-lU_3EDcAx#b3cZ)EXiSJ&e!k! z{@?%CDpQjq8y?;uNzzEUAch@V?(#x0PqsA~bRm4smd6u;VAidGB8v#ftGa@9 zJr8zSs*%s;vxS|&)J;Rv4b3nWBL{OPG%e77WFal`>TufG-7tTkmu5b@)q(yuZ@K|7t6dN`fXK|DL3w3&YivZzT*G*;IRu|t- zMZ|pKs4%1NklUi;>Ox4gX%e&f2$PAULd~(nnh+Kvf;fw+jI{=Vsti;Hrm31>#|#ZT z){Y-vb%8jD6I&Kh%PM+7yj8sba|LMXPv{oZ^&Zq^9<49@6Dkk}%$T=8Map=HqdS5< z4C^fNkuaG0s6n(aXviRSBP_BOi-cgIU1s%uxmc`3tWI0vAfBGw2g(!0ykX_@im4i1 zbzK*hgP5ZLld@yW!Z|9X9?aoFc9)eg6qD4kQp;v71z}HD3Wbc}88yqyBQ&`0Fg%~6 zz~H|3Kkpxms3<|yx@(@KFq7PYB^ryUF7!+15P7~oYf;cm7l?3D2DXfo_!Cd=Z_~T> zK##WFB!cum@}dWeS)I30M8+G!TX)PmO(?G=1>3Vj`@4zVvsJ}CfQyciOw(2+7HP91 zf#`6NXk|xorz@fjzEO6@tA*p&FMdAqg}!-BWqFj}d(-`N{r6kRru}1&=u6h-cMt9u z`ryjat8bmWw*BY(e)#Hg=9ewUHokoQk0Ggib@|P$*M7b5%IMkG-}`cHrF43m`}Be5 zoX*IJYH;}5AGiPXz@;@0A@$^oFO|-H{LQA{ycdEqk7hnvITai`zV7$oJFH`SiJO_t&cM#P><(mofL2#k&on#T z)pqyp%&sUR@gNvbPce!t3ORTPUOb54;~JF+o^lZ(M};7W_yDnbW_H{pn+G{KOuwqW z`v33$>Z__Z78m9wCk{;Ha=FQRt-7S1`?71#n7Tg^%>AVv<5BJDB$wO!Kz7}gJNy3r zTyE?OzqyjGH0B*9gFNNZ75QEeDReG(V>qFAjvObd~)K(gc zT1Cb}v+@Wqge5E}p&ouc6wL>vBel`ZC;vs67X%%#4{dOJ-c z2f}W*o9`C#GHyXk2!Y6eh5-};BpYE$dmv1vwj)$U!eT#4eHm(5MC!`5w5%(pgA#&h z6gEtTGAY4ek46yZQC3nP$k_-Nt;L;wa?YUWh(LsCqOf>`joLDmNn73^^r-u)1WMXQ zW0Yf8Evq%>rrUM=fNoV@RIhkBN0Ay)v;wF>}alK@f>2ozC?QJ2wDiIMH` zRms*e3uNO5tAR_VV*E$1z={|nVS)l?2C!X|0fGnt*z*K3Y|aTAh^N>*75i#I($3DP z87rxN$lI`=dZ0G<0 literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_cont_area.png b/apps/dm_new/public/images/map/toolbar/btn_cont_area.png new file mode 100644 index 0000000000000000000000000000000000000000..044562b5548f28a1b6bc893f0f12889668ccf63f GIT binary patch literal 1231 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE;=WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2c=CaI?h>{3jAFJg2T)jk)8oi3#0-$aN1{?c|g2d$P)DnfH z)bz|eTc!8A_bVx6rr0WloBA5~7C5J7WO`H;r3P2|g(O#HCtIc{+1n}DR9FEG$W1Lt zRH(?!$t$+1uvG$^YXxM3g!Ppaz)DK8ZIvL7itr6kaLzAERWQ{v(@i!swoov))H5`- zv@kN!Q7|$vG}AY*)HgKIH88X?u(UETRDc2{plwAdX;wilZcw{`JX@uVl9B=|ef{$C za=mh6z5JqdeM3u2OML?)eIp}XpbFjM%Dj@q3f;V7Wta&rsl~}fnFS@8`FRQ;6BCp2 zOG|8(fG&l2A-BNS7jAG~F*KlnL8f1kSfFpHXP}>(3-T9Ob#X~hD#969RTqa;7NqJ2 zr55Lx79|7YBTX5m85nl>EdnV7y2i@CC=(bdi8(I$$)&lec_p4Mwn{)5y_C!ps}w`? zM2n=P6kVfKLsQ)}1Cume%QO=MU86)xLo>rUF`Z*UGslHL)bWC?r2W2bKx~ zGV)9Ei!<^I6r7zwv2L!Q5uTZsl3!k|35q6&uU%4$GRsm^+=}vZ6~N(am5Id-#Q7hh zKZV@z(+4_AACy>-5)VuWm?A+;cvb*%;F&2k5150BfLTRg#qQ_8Z1&#M#WAGf)|;u0 zTulxlZS#|^d+c^zyGVJ*n$WNi^%dR~9Xe-IFD~N?Xz5;|9l|wN`Ir2jgbY(=y{I1# zq$TJ6|Gx6fdeOGTxgBB)nAat6%v%!9JE1|$qIqSrB9rL_R^ts!$-akGE3|L5@ZMg) z&bKLp|J{=KeT(jHe8_v|Da-w*DK{3b+IvHSX{qtN{sYd!aoL^I`fJTJo;VlqI^=!W zu`|QNhHJLhx>FmB{)jt^A2Et&KJW0pvrXk#3}1VQ(uwK3a?&l%OH}x>gUxcL$;RLG zXOTU4WPx+&Y)hqQ+|uWa`xHK0GU0hLHFy91hJFTShV5VNS(87zZ37iCp00i_>zopr E0D||LWdHyG literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_cont_area_on.png b/apps/dm_new/public/images/map/toolbar/btn_cont_area_on.png new file mode 100644 index 0000000000000000000000000000000000000000..0129ff1bd3273c695e41f32a12126067b2db60a3 GIT binary patch literal 1184 zcmbVMTSyd97@i8kq>UbYD4`n0hpuy7*PWT%OlQ=VT9tJpp@L>-&g!HyXPh~@qg_Zb zRL~xx%R>bgk#9l|Mj&BgbR{B*uH-||O9l00f-jv>*LskM24>DV|M|ZE{!f2hO?4>0 zFrOfZP<)@7#A`wD=B>ux!TwDlylh034X7SwP*!sRQEtFAAmf(S2$DcEI$EEAQi533 zZl)SgL*js}LyOS@4C7l4W)nndneS+NGeBe-G@5pd`aU*Jk){!&4n-1N!cjnzxv$d& z^_?{-y|Y=D461AoS?bGJfd!C8`c{kW$$pHQ*DK?FAZ96Y9)g-<)PhqDi8@k&E+8XJ z39a*Ck&H?VACW|%co!*fdyv#{5$CHZ>g{`?pMoy|#i?;A7Ml~Vi$Sj-9 zW|?f5fo>zqOOnKL0xJkKM$le|jWnOOy`r236?nR9I>>}J8EDkfunom1?CC-XmXk;< zDYm`EMB$XNzUHtz!?BhX#5IrhP!jxhV_CG9>Tm#?1RiX2bzF~3QI3pr_jf}95PKun zx+X4))}lha%>p)xt1$}SFotQ!1|QYLblRW=z(?o|SDc}xOfg3bn#7mzx|og%B{@CI z@fERBRfMPz;khu+S4yH-RjyWvVO5b7EUCzGX%@#P%uhY1hn~NB*S&k};85RN zt$c8}H&nKkP4v90wRVKx9KT!0OmL<5J{+lKdnOyxC$Eh?{xW)H{K4g~SLgDk&dv3$ u`Mm$x1!ti3WA*0SlUK)1OikWdxt3_3o_RE}bM{j3&xlvns3R4}x_<#K!jWYF literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_cont_next.png b/apps/dm_new/public/images/map/toolbar/btn_cont_next.png new file mode 100644 index 0000000000000000000000000000000000000000..075111dcfaf770c5efd87bc215f87dfd915ee454 GIT binary patch literal 1256 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE;=WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2c=CaI?h>{3jAFJg2T)jk)8oi3#0-$aN1{?c|g2d$P)DnfH z)bz|eTc!8A_bVx6rr0WloBA5~7C5J7WO`H;r3P2|g(O#HCtIc{+1n}DR9FEG$W1Lt zRH(?!$t$+1uvG$^YXxM3g!Ppaz)DK8ZIvL7itr6kaLzAERWQ{v(@i!swoov))H5`- zv@kN!Q7|$vG}AY*)HgKIH88X?u(UETRDc2{plwAdX;wilZcw{`JX@uVl9B=|ef{$C za=mh6z5JqdeM3u2OML?)eIp}XpbFjM%Dj@q3f;V7Wta&rsl~}fnFS@8`FRQ;6BCp2 zOG|8(fG&l2A-BNS7jAG~F*KlnL8f1kSfFpHXP}>(3-T9Ob#X~hD#969RTqa;7NqJ2 zr55Lx79|7YBTX5m85nl>EdnV7y2i@CC=(bdi8(I$$)&lec_p4Mwn{)5y_C!ps}w`? zM2n=P6kVfKLsQ)}1Cume%QO=MU86)xLo>rUF}a*UGslHL)bWC?r2W2bKx~ zGV)9Ei!<^I6r7zwv2L!Q5uTZsl3!k|35q6&uU%4$GRsm^+=}vZ6~N(am5Id-#Q7hh zKZV@z(+4_AACy>-5)VuWm?A+;cvb*%;F&2k5150BfLY~bPEP{^10#p0i(^Q|tuN3ZC1ei^{7`6A@V*}d-{Sa*ot zQhNFSP~oK;Et8q;naocf-#e#T`1bc&?Q>ppq`uhXpMA>vwpf4nx@wbWEH=OU#M(Ao zHC{67$3fdkE0Wi9Zb@m2{-W~5$|vK|{NJ@TColQFn0m%$!yJLt6^D4eW;}M1&dAd7 z-gksO=$3=`wm{KHor%}jX3bjI!y{J6A}95drPL-XA=K=zI@c|S%TqYRP9!eoG*N%* zY87+D@AA`Vo8&I8eWt%RbhGbS)E0mC;^%^PK`D-}4|!%iT-?IDsAVqqnZ?Qb76u;j gxmoz1=^u*(!|k7D<}HQZw?Ji&r>mdKI;Vst0Kn9*5&!@I literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_cont_next_on.png b/apps/dm_new/public/images/map/toolbar/btn_cont_next_on.png new file mode 100644 index 0000000000000000000000000000000000000000..4fdbe3a00fb71d5b25f39c13621271dfedc57ea6 GIT binary patch literal 1204 zcmbVMTWB0r7@l-VT_bB3ZBRo)j}x>C&TVg*8M4i0ce3pUCt0@(38I*}oZXDc%o%4+ zvXeY%YcYA~OH)cKD2N~kA&5TKAf{VrsSgSZifECDf=?1bQ7ptW$!_XHDB{4(Ip;s$ z_uv0nDUY9u_4M^n6csC-Rw`sY8otrPa?GiRc4GjmbX3RnibXd2XEdA@X&uCzoS$Z<9 z@~T^aGuG)P51v^XuNq6UhGf#iC&5r469qQJ8VKw;$CraFy{lIy`%ui$U>AaCv-F-* zQ)(F$kOx7U%`k?L6v3dx3Ta79q@Du_UdV8~#0e>e7i3%N^nppG9np{zeZCm7& zrDrg9WsYk!8f+uUBCpN~k|c3_f=eVAf?)hb2WtW2_yZjc3iJ)na@}1 z@pLZ)+f~(l#g5-j6iFEuXf7wPJZIZsT)Su=SKvK24n+IaMHg}v=%abhAoZvXbjT!k z_cs&*i8u0uXOW_4a|$x%ZRp^VlBLNFYg(pk3WJ)c>n4+cLYk@ZsTw2IQaqE;Bq1Xh zqCS|&bo3m=FNo5Jl1h)J1wJVVqmn2VN0g$NR0>joNb((S$?>t~7_ej8BDULH<-T0G z;6V)|uZqxIrwht62qS+6xu8%8t3C*xnY0`eHT-A8GVMjJK+jr$X3;}7*v+$S9pJ-% zi+_)A{@?s@#3?RpmVY%*M?^X@-0qJ8IqVM;bjSpGWK>T4v2mP?S*xUsRD*BzyE{9> zk#yIi4{!gS`!0WZ1w5vI{{7CA(}&{8t@63vA6Mtj_sI_}U;R)6(aC)5<^0-v&2Qd* zpt#Qgh3mQac=y(D?$g+^6hcl#wh_2pF literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_cont_prev.png b/apps/dm_new/public/images/map/toolbar/btn_cont_prev.png new file mode 100644 index 0000000000000000000000000000000000000000..7e3fae7d2d13bf4010b8052065c1d8021ce24c64 GIT binary patch literal 1265 zcmbVMTWs4@7(PwLQaZAQsuFB4>BxP6YE68}rMB0Qi`|kiQmQntAdNA{K50zr%WSuC z`;<)6lxpe=Hwl5bOq=#L7}`VCMna&z0Ai|y1f$~tRpMd1pi1z-P35?43J=wUuwFjE_AX>^as000`!DViB)>-rIc;e-{^y2k~;$87VsxM%AfH76KW?s34fv zq)Ajnk}`Mxb2JQqe^xD(opRw>UN*FdBeicXLeN7At{Me`KLQ#9Ot2<**Ls(eu# z-Sve}NuuUBCQp*}dOcE)Mht6`q&bcwDTZX2FxCj$bGjqBVcqWUSP+pdTdL`(h7LW8 zQpK2Yk_2YD6M|+I3VViidpA)yWuz;aBpsnhP4nW~*0!A@`iI88+IDHqL}U@!#*8K7 zdQ|&6V4S=AJMt7U8~!;<#YK^(MMIv^knZHgB!O=timLDmJtVP}iV|iJ9S>KjST)R5 zV^o-tI66VgY-NZ^bnNVh7uYBpXV_SrrlK@G!m;dVMjU0MqQD7QlI>vgy6s51j5@wm z>|0(+09)wjll6CcdAFZTK~pwxaOGto?a h<9luWd5~^&fmhyVmcKrA@(b@Llph%rZ)DG1_#0wKobmtw literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_cont_prev_on.png b/apps/dm_new/public/images/map/toolbar/btn_cont_prev_on.png new file mode 100644 index 0000000000000000000000000000000000000000..fb2d55cfd501dd6992eaeb156d36d47badd017a9 GIT binary patch literal 1223 zcmbVM?`za%9FLx8X+1VpH?6wvX=H4Q`FYJ<67K9>lXeEZdR&ir@ASFkxn8c#50lhO zI|r*2SH*!i26Jq%u@^%I+cEa8ibD@K+5P~LF<6HPLlIw$6%p%`w%6@Nk+DGXJkR&} ze7?WGIa?TcE8e-YlOTw=c2F(ibzAgyY{uUY&b}JQOHVLV4o017(10Eya)whuK(pW& zDk5l1ow$Y41Q9!FmdZgne^}NXi-r+~4lNh62_iiZx=*pPz1!@$VWUA7X?nJjy`E2JJ8e&iEn7bG-QKIL9tRXC?0VFRb~6DlvM3!DIQ8( zlGDXXichxntjAZxgedT$C~$0oDb_qx9f@tEDy)LbdNQ+cwq zG!PRubYFUWXJ&Ep+dUV$v>(oA({~3peSdsZIR}5qrnlG2F?zDK^XA6Z&!3<9==ae> z=ix;5O7Gm#h7-xYzh<}ov2o!+_Q{sH59c1m4`{vMw-;L1X2grPn>SzYBU(ScxA?}3 zTP|FD$<;n37QW5i&sDy=eyO=M*q!ORrS-m_Kb1YT894x+uPXUd?(St5tgh4(S}CUZw8N_eg*~&k`w>{ literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_cont_print.png b/apps/dm_new/public/images/map/toolbar/btn_cont_print.png new file mode 100644 index 0000000000000000000000000000000000000000..82596b83dde3b544f18fe65638d86932645748fb GIT binary patch literal 1318 zcmbVMZD<>19KWV*)}|@RUT7P2_1O(uUwXN_yft?uHtAi{hBa-?g6k*kMe!9OKhyJ!HLYcJzJm?BPzdc+8P$^SG8X%YqKExTIwv zNGd`erlBA$%zpzT7}k7J&PAW~tG0tK1^s3>!)!B(R9mR=U^Eis9M zEr>ZA#kZZBPE7$$(;*0YLxf2C!(fo{(m^Kd3k(1sMTba=A?W}?(JaNV6b*JB99h$) z9Gm77JGRg%iWf|?$dY8aT=tgzUQN%FG{Z0?UWVqK(W#5t3Og1#XZALsrNiz^+b8slofl1rg%w?b zAeIvcU=oVT=nFSt0K;lV)KuC|$B*%{o^y+ij=PXE5E{b*Jq1IQ2cZolIG}1l{NCpa zI8c=!ev*w-aU%k=>d`S1o*3&-$zy{ur{Fz@L7>1R1374mppYBVEWQxL*X;6W?}$kp ztf|<8L42K5I-UR#-GqR3cM~%0@dF>{rdiI#m%Q?%V3fNDJ8~2e8~(VdqN0dHf-Vo|pk~K}AdYU_imLDm?Gycyq!0|GSt3Ju zGX$6MQUoJ%bT=*gB_GpWv9lFE!uflnz1}cOQy!Y`J}XSTm0*I<^Sf7M5IWkS^m{L6%p!4XS+EH=&(6VP(u@BqEUHs z;c*?qs)(2nP8EKXR?Fp{8n&usH$4Eps4AB0OPz^N4ovL)?%a52)iv$I{xHE`FMr*2 zEA&Wxu_|=1u6VV?fSOl6ynV)13bovLiJO1^{n^FWjM}f7@u^?yK0Pf<^GrKCYkpb% zHk`QAIz2qUn%H&AsFj`uhntGWL-mJhm(q>#;=+>M-s%15#?-E#gWzr#-qms)cf>apDew1Ikfulj9yo)3qMh=mD(P=vOKx+?V0PPhf>6`eM=X5K-<)* z`z_O*p>x}I+^b&h2hTMW%fG*MsU5g$BwzNI?_I^$!K>`#N?`7{fN-{>dG68Kj=819 zw&sslK5HyqnJ8@Axp;Y>_ua|!ACPy>lRHMXFCP-l{ld!|o}T&}$DFMw literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_cont_ruler.png b/apps/dm_new/public/images/map/toolbar/btn_cont_ruler.png new file mode 100644 index 0000000000000000000000000000000000000000..501e460a4d0f36061b18320b4e6306d110d79d02 GIT binary patch literal 1353 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE;=WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2c=CaI?h>{3jAFJg2T)jk)8oi3#0-$aN1{?c|g2d$P)DnfH z)bz|eTc!8A_bVx6rr0WloBA5~7C5J7WO`H;r3P2|g(O#HCtIc{+1n}DR9FEG$W1Lt zRH(?!$t$+1uvG$^YXxM3g!Ppaz)DK8ZIvL7itr6kaLzAERWQ{v(@i!swoov))H5`- zv@kN!Q7|$vG}AY*)HgKIH88X?u(UETRDc2{plwAdX;wilZcw{`JX@uVl9B=|ef{$C za=mh6z5JqdeM3u2OML?)eIp}XpbFjM%Dj@q3f;V7Wta&rsl~}fnFS@8`FRQ;6BCp2 zOG|8(fG&l2A-BNS7jAG~F*KlnL8f1kSfFpHXP}>(3-T9Ob#X~hD#969RTqa;7NqJ2 zr55Lx79|7YBTX5m85nl>EdnV7y2i@CC=(bdi8(I$$)&lec_p4Mwn{)5y_C!ps}w`? zM2n=P6kVfKLsQ)}1Cume%QO=MU86)xLo>rNUix*UGslHL)bWC?r2W2bKx~ zGV)9Ei!<^I6r7zwv2L!Q5uTZsl3!k|35q6&uU%4$GRsm^+=}vZ6~N(am5Id-#Q7hh zKZV@z(+4_AACy>-5)VuWm?A+;cvb*%;F&2k5150BfLZ0vpQ1np2F6TJ7srr_TWhYI z*JeqSIsS30b)C*9_JBE477JGwK0I>P_2l}=la*ZGIu;ffu%C*3o;2Aw{5w13m>iu%`!)67?woe5t5?B&d#byf3bzR#QbymF#J`{P~fVv}zi6i(AV z6XDA37SN%UBVK!hXTwU}t5I%e0#68hGf;odtDKsBrUi^>bP0l+XkKb|K|3 literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_cont_ruler_on.png b/apps/dm_new/public/images/map/toolbar/btn_cont_ruler_on.png new file mode 100644 index 0000000000000000000000000000000000000000..676a81bcc59f2fbb3855cc73866dbee66b17836c GIT binary patch literal 1339 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 U{IcV(Kcc@#wzpru)-!zkU$H`pp#T5? literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_cont_sketch.png b/apps/dm_new/public/images/map/toolbar/btn_cont_sketch.png new file mode 100644 index 0000000000000000000000000000000000000000..38a5f507f28bf136f1e37f4094f6331d3e13fafb GIT binary patch literal 15103 zcmeI3e^gWF8OL7=vy+OeipqXy(*Uj>Np2DXB)3T{5-6z#F+zn_gv-5e;2x6Pn0q0? z{o>eTTMl)ucszBjt=*2}%+*s*|8SLhSm};-b8~vub;Z@mVAl1h^RRi^QirR1ZxWK1 z5PaL6{`uydf%nul|;zmW|9$Z=IWJ?NUNe!n^o{qF8vk%KPt zgVl{P0QW3WzZu~919<>g3dFhwrNO;{u)HZfq= zPMmmCs}Tjec1wxd;0{*6cCmU#2yWg{Q^)V<;H`pots~nOVNn7}ojl~vCnN@Erv06;#B8|ylEM*K<#%R_V zjI6=R8jPCwN9)K&ku4;6S&y?SUJm_b*S0H4kY$)~IIIsB>!nZ|W3*bWjKRd1Ogf~{ z$=v~ki|7J!ek{p!9w(IfkQh`%DWFmFa;;LQV%KWbLWxiOzWl*Np@1A`hbS@;F31@5 z1}2?J;1ix;XUG>Fn!q#A2mLUh$jE0*>kGC^iX^v7bCgVU&siAFiQAp1op!u_f7;Tr zQrU$N#F3_T%5~jA$atVEb%uCY*@bQ;Ki%CcqBl7?Gcu_?bB-NG#5rtgPs|ow3b7fo zp?hU3LXcCWP@N?C9I;haJB?6NQK7D?GR*^9#DE}$<<&MO)smd=WH#vJ6zD)stIlB2 znTqR-rL3`pEwQdqSET_<5>uw+a7%*d?M|1&!kP_u4osPv1MMGyQ@GES1=nJE1fKOu zAwQ=$L_gOCnP8yJ#v~gtWnxva6_QU1p7PFwUc+F5}wwS#<^cp#VH%B45-MD>LYNy0^s=FngTKIygG5f64 z8$%*G={O&zQAhtpOQcCNt5mfpqxIR1ty{Euqi5M>xP4~pbcaujo=HJ2Btvz_*|pPK zE^&w@&M4Ir-MK8stEZWRS2qL{Y|M<-RIp~j-MfX2l|=fG%V zX0;_N$Mg;AoccPW`ZALNeHf$q8@J-!sn*6jTk-BxYtmUC5EX|hUM-~=bEzk9>{!^0 z9ulCVw4|iC#KxpHr#foI2=p~LMYMlqbyb?seMLQ~9chh?a~ZLYxG^?W*uV4WOvYN# z!vcCvVG<82GbcH*5x(Rgc}HJzVmuu!g3}C6cL`1lN;=*YVV~UH22p3RXI1OS< zaS;*W0*VW#L5wLbA|hNsap5$GF~vnhgbOGxoCYzbxQK{w0mX&WAjT9I5fLt+xNsW8 znBpQL!UYr;PJ_#0N`p10PKDMmP`H3r>X$BtKQ`-uZz5Y;N78)-15A6|N8L9gTnH@ zpO4+$6|-uPblACqUNOvNWxJ^Yi}VAIG@&e-CfLXiK` zhr5G&8(z3%+2dMS^LF9V!LOg`yyyZ?6}U5wZ@8i9nGgEDdDr@%z0=jd@fYWn+{%l) z){XyWY;5fN{F%pH&Bx3CY3<4EA8@_&iA`GF_^U&&4GfQukFVJG$Yn9VXwzq^!MFH3 z886#=|NLBY-_iNY`c7SZ?|m1z4!q#NN60gHN%$5xzRdefx672%GH~qJ$91JIG*z#9 z)_l!!w%1pBqW1C0uUT03Y7u%t@#OaJ9$ob4dad}VC*0ipw~-J2Q{QrL)=1%33SKYx z^?gTQtG%}?Z{+mkg9olGab>m~J!I{;{>QEQ z$-zyp>_2}ox2MMSy65n_yGKVy4{~|ip1$-cxAciaR(``4$H9ZQn>ZGElbZchmK54UG99#u;9T zx^d&V*3B&+KY!i$_SVAgZJq~DzX(RxzcD`b*{4;bXWq;NE7veL7hW5A2rWk7s;qIo Jx~^sC{{X4+y>I{k literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_cont_sketch_on.png b/apps/dm_new/public/images/map/toolbar/btn_cont_sketch_on.png new file mode 100644 index 0000000000000000000000000000000000000000..79fb54e0317a2ac148d5c32b46b6cba4c8aecc13 GIT binary patch literal 14933 zcmeI3du&rx9LFyYc?=OBfIL*1vJDs3-u9Muy_c>8SLVj(2HS9*#K7(C*>~E`#GxooL@^MEJR&3@Aj-hS2ok48a3En4AV}u9ZP%W49S015o@Q-- zJLmiT{m%WINAEv(`Ru~yho_87p(tv2ex9Qkevee&Lk7Xm#^p~BhhIYjdF3)i4SPa; z_oFs8jiD%Os#xk$T+UgXAo=vXM{)yw$QOWWin2`$1$dzvC>l4Y6#d!SzxVFfYD7=A zw#@7_I0HGLO3Z5rf|7>9QlX(*U_IJt_7q!)g9&^<;WZ(j*DrISY;8C%2V=FF)@s5M zr8-+XT`j0_IcIBfq#)3k^%k9AG+8xStlns5t<0264P!7`Xah?dr|1ku&cJd8qbB;& z+EZX;3wkQJVn=SY9Q-d^Tcs!gj;8DC>hyIcy%emZjV#O328L!B9aQM#dcVSlbbfha zBuRH32atuJ7*IsXuTk^zZmCAe)@s#4u~+oEe1TXYzZ_);DbgW6KpXW2I+@8M#5{qT zpf@};k3a)2@BzOfL!U9JFHj{Zl3XSAQ8L!uXJI%ePG_uk(((FyNlVMhj9Q2wiZrQH zF0Bs$x){h(O;7+cYT>0!Om_8(SP`F`9+}jhKF1D1VjniOCt?dPg~$xq;I(o&LBK0g zuvC(~_Q)!m-HlL_lcTPxEX}iJqTeIc$r&~}(Gs8UcsAhR6<~)>R%fv47*nay!ofcS zJ6T#l1OtI?Rteer9+$J7m304EcPYFYGI#GMC)DB6gQFlu;wdX!lBlcdYi-ICN>3A=q zQAdBjC6c7+RVq)E;rgsc)-7DU;j^p+yxg<3yTdDn&!hk!l!3bAvbEh?E_R5;&M4Ir z-nkqvsHd4-P&Wkd*ytXu@nOZBQJeUGCoqy9vG-l0t_t|?wxJ@a!m7TL$Wnz;#|Odm zO1LKOWv@rF_OvCYx6$h9?-hGaM5MLn{B*C_-t%cw4>b<11voA~JO@S_-K#BLIih!| zbLy=L>$4aGe9=brGipV<6RqWUx1!yN*0^)7UsUW&v|2(l;!;oE$gxlYZxVprVm6!1 zHaf96(J@;L0k6v;!u>0&tCE4&74{@{BsG@zWkfon#>iA5Kj-0@jI_d=1$duA$8J=5 zPI7D`Jm4UHMGrVJnvN7fX<%c53yTO95L_q?Y)o)r5upNt3#EaL2`(%mR6uZ{G_Wzj zg++u42riTcHYT{Rh)@B+h0?&r1Q!+&Dj>K}8rYcN!XiQi1Q$vJ8xveuM5ut^LTO-Q zf(wfX6%bq~4QxzsVG*GMf(xaAjR`I+B2++dp){~D!G%SH3J5Ng1~w+Ru!v9r!G+Sm z#sn7@5h@_KP#V~n;KCw81q2sL0~-@uSVX9R;6iC&V}c8d2o(@qC=F~(aA6Ul0)h*r zfsF|+EFx4uaG^A?@m+DH#2@_we)zm!9el8lJtQ08LxCD0uh>aZ4QUj$_%({U)djyV zQdAA>yR?9!xD6Ebq_lSa;arO9_es8EdTHpVrq*v)u9-7t@YU~rOxrnTeL=0;c)0(t zc8h29XwShTU}D$e#)l?n%&}DMe0S5Rw2XpbM>QKqy}2rHTlpKaOncUUAjrA<>pMGd zpV+roKHvGu$@MDmwi8gj4;!hpt=NTGO{& zpS;N5STtbjl9jGj=FaFl8`dlvwQ$*Gr+1udCc9#M&CLPyj^>v7HLR;~MBB#S+V{^q zld}4~5$^;nM{g7#>-TfZh85Q*jjb-bU7C5b{Pd;#YrDXfYU^sF_x6Od0~hi7KhkcU z>%aLR+f)?XTJlTbl7g$vTh9)Zetonsea{b%Wj6oAfArO{bEymG?bsE1so?XBqn-W( zLo-|2Pw!qjwBz91?FTlc4&J-xMn-ef$L1GLRh%g4C}6%Hahi1?QJ;Aj4fLPyJU3ts&XgR^pt literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_cont_zoomin.png b/apps/dm_new/public/images/map/toolbar/btn_cont_zoomin.png new file mode 100644 index 0000000000000000000000000000000000000000..ac32fbab0e40672e44a693e84bcd96418fb29c4d GIT binary patch literal 1456 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE;=WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2v2c=CaI?h>{3jAFJg2T)jk)8oi3#0-$aN1{?c|g2d$P)DnfH z)bz|eTc!8A_bVx6rr0WloBA5~7C5J7WO`H;r3P2|g(O#HCtIc{+1n}DR9FEG$W1Lt zRH(?!$t$+1uvG$^YXxM3g!Ppaz)DK8ZIvL7itr6kaLzAERWQ{v(@i!swoov))H5`- zv@kN!Q7|$vG}AY*)HgKIH88X?u(UETRDc2{plwAdX;wilZcw{`JX@uVl9B=|ef{$C za=mh6z5JqdeM3u2OML?)eIp}XpbFjM%Dj@q3f;V7Wta&rsl~}fnFS@8`FRQ;6BCp2 zOG|8(fG&l2A-BNS7jAG~F*KlnL8f1kSfFpHXP}>(3-T9Ob#X~hD#969RTqa;7NqJ2 zr55Lx79|7YBTX5m85nl>EdnV7y2i@CC=(bdi8(I$$)&lec_p4Mwn{)5y_C!ps}w`? zM2n=P6kVfKLsQ)}1Cume%QO=MU86)xLo>rNUWt*UGslHL)bWC?r2W2bKx~ zGV)9Ei!<^I6r7zwv2L!Q5uTZsl3!k|35q6&uU%4$GRsm^+=}vZ6~N(am5Id-#Q7hh zKZV@z(+4_AACy>-5)VuWm?A+;cvb*%;F&2k5150BfLSGky|Ijef$@T;i(^Q|tuGJ=)R@VI74AaU{le>72KO!7fuWa>2}Ie z&Px+q>%DM+(9x+=_UA4-6LjP~_xS^FpWfm5(#mg~{_M{4d)0MMmjtbBSuGTERP@RN z1F?^M`X71hg$<{^zNI_ERa>n<_W8xe^)HTY$rD?%=fwBwj6=S6j>=#EE_kbudwt2~ zhdUgqH>Jh6SqaA9FJPW;xMI8K?*qv%9IxvoUfk6m#j}uW_C>=zZK*sgdOk^x^Y>X5 z%8376awXZsAnoRX#fFV$p6mazL?*D_+jXv0qmM=Ps$R+8H@mXz+phg=e{Iov$>aB4 zyXU6QZr*a3$p7b&-Zrbwn!kC8%MIG^uZv%~?*Hql>V*eOV~$H1Wu;$a{HZSZ+uKl_Z)o)3-N?CmprWqEX-OmavF+I_O@d=LK}H)X%aoP2LLt$54! z_=IEhorfPd(*u@!W^m|CRK8UvAJ`|neGgruPotdUP@%jHkk2`@cIySj|5~^Nr*J`&x j@lL

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 Zco=fBV?=8EXZ`~fgPyK_F6*2UngAUz``rKl literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_cont_zoomout_on.png b/apps/dm_new/public/images/map/toolbar/btn_cont_zoomout_on.png new file mode 100644 index 0000000000000000000000000000000000000000..58dcbfdae612b1145683f6741dac9b41edf52d0b GIT binary patch literal 1376 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 K*j(7X|L7Y4DSLzf literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_edit_add_on.png b/apps/dm_new/public/images/map/toolbar/btn_edit_add_on.png new file mode 100644 index 0000000000000000000000000000000000000000..37a8362987b46888424750223931ff9dcabfd876 GIT binary patch literal 1168 zcmbVMTWB0r7@n|gX)cSP0UN7$nD|g7bD!P0kTu!PY?_5`8a4~rhX_48b0!%!GiNe$ z(%nQUSfjKLf`}l9l#0;yNvwrZkzz3|rD*Y?`k+Wl``!zEPHE31yU~Zx2M1=(`Oo>k z@4wHf>8V56zSsH~hRK#E?J8Xd(|7M4`u+6O8(F#xky4$^V2`w5jF_T}8wivGIFG6b zx+_aJ(I~@Yj`_7ZsaFo04i0#j>hSF#qG*O09cxF>X(9p|Xx9N3qO%>8Cuv<>m zE7QQjF#=sYa77Q3EVwI@2Zs8nDV z2#HKVXti2=OW|=mFGz-A2%;>=GDkJIWF;i9&4tNum%&Df6Z;YIaR^dI*ucxAz*0}Q zLI|QtWt%umI*Fnw6WTBmBwiGPAdPENJ0Vr{uNymRC$*Ib300Kf<=CP1@P@l!n!6Vp zN)@R$=8@Q^MS+Vpc9sJalCoW3=?(AtuBocBqBmrPQxr|(bWv3}J#WaI;yKWR5NUbY z>+}SZ{m{j&&<4lq3vYM?LWTf&yQ}8|FAyL9GQ99yF7QY z|Mi~x>u;U2Mz4PL&*V3&Bj3LN%IxBsXD{^+-R!mYt6$zz_Wt#%aDM2MBgKz1(uEJc z_yYj}YyQ@WQuA*5k0_U>?C%a9 GJ@FiJba;LM literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_edit_del.png b/apps/dm_new/public/images/map/toolbar/btn_edit_del.png new file mode 100644 index 0000000000000000000000000000000000000000..3bb372ab9ab05574c7ee2f65e5686429a25c7a91 GIT binary patch literal 1160 zcmbVMO>EOv9QPVjP}gb*RZxb8-dt2ZgyYY|vDHvYoV4k1i9)0nsgw3%zqF>cpJ%@k zx7r~f4pd^Ia6r>`X(tYF;jkkd3PhT=!{EY!kJF@yohEjeG$fF^=Qinfs5s1${oen* z|L^zz_EKqlq^IlSE{0)xilauEuD$WQtCN1eUizemF8fJ-lAOggQilOzhHYF$py-%dgaO^BQ zkun9-&!HJ-bTL3@7so5s;;g0F?9d4?80nP2MFfJ#o%2FH%CZ~0I^D;|JPS5d$ZVF~ zbZXKpfgBDHNF~#pCCV9~YDqDrWhCV|kOVQ!3mPvfoFM9grVAoyJuI~r*fqUu6k4{Z zlx1fK@pYcB*Xzl;oW#L2FKU{`3lc9$9M#~$1&_dp^TPf%gMmUTaD3um55$bHiswm| zrJinv;QFSyMeK#GMA4M-5%hU6De$fv$F-pyk}~?&jcv8V%7TyhG79m0V9|Qi`rBZd zyZ0N46{$D+nZTh%fpZ47=3V5GqLF3kP11I3T~Q=CQ+mQ|I@2#U;Q(wfA{H4D}t zL~2^9wRyI~=Y(`#lGVa+PEkcMuVwP-)G1jI3|gClVrXq_(F+OmEY!B`P}?nR{=HZ| z7a&M*P{DYv-36r?OmH}ZeUQt=Rae203CFW>Jv-p=e2p%C_+K|IHsyo#NwW`A_q-k7!56+pSTc!qzY$ zk4{iPM`bNKaEFfB?V>SUiC$FSt*;LyQXhPH@4*Z6W%lCJDRA@9%HP`V!#m$Dcq4o5 zN8c~^HTzc1zuH4Sy#cT8=ze$Ym+C<0u|%PCi)sF`YuPnd&y6&Gbv`rqNsm6i(%W2L z>K^*dx0!oauh-z{PbW*y4*uAj1_RGQVz%R}&TkKY_Yi|sVQ{Q*=7)>v9dG{nsQLS- w*68c*;Q!qJ&852yCh9t7i(?1QcQlv;Q+gt;UY>e{i(PPTN@e1(pX8m*%Mb6J~IF(|lb z43{vnXU;6+K91Wt?UXCDQaou`#Eqj!C*E*-BoPuEa?&CQ7=li%=G2SzsDMIO9>&5WKLb#bDyl3LKw0!~+o{s*)+1 z=9#A(A-I0AxJm4V%|x-3i4Ek7QXGn|8^yJ*9nunh@5YweVR^>KVhM+2DzI2RYCSD5 z%iZ>dB1PtnaVl_FQP8AGtSJ|Jv|y%rb`!T9+fY?mNmXSW zRHSQ?E~vHw1>IIvp_*W#4doO>NU~&A}bEddgOC_XrwCnm$i?I*y&E2*ybUfI-+WpTrld(s07Z+E1cl0mER`$L4Ez@!D z<2yHQzIxSuHa7qL7l6Av(Eg=)X?}V?w{MiY`mbEQaciwV`ZE;rL*~PQ(ev*BDED^b literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_edit_next.png b/apps/dm_new/public/images/map/toolbar/btn_edit_next.png new file mode 100644 index 0000000000000000000000000000000000000000..df4913c9011ad2d2444d0f997baa68357fd2e5ff GIT binary patch literal 1209 zcmbVMU1%Id9N*+>kk-ROqSzB*+$c>;_j_;mcF8rD+}@d!Ts*Fa4Wg}cyK}kiWp~!y zN$!&RQjrT4ltz$>FCtdaJ{0U@1r;npKolP=TA`o_3XLBDUy6k~o7_boLLXe%nfcHD zf4~3to~_J2k=&cw%P>r`G;LMsJ`%t84$<}1vyUX{c7PP-$T8d?Z5SeE(!q5EN*o7uL}@!z7m6+8miH&zLs$co^&O9WS70h8dse1ki3F0_teq^|S0BAAiaM*U7TS z(`B(7OY5P_iME%=ey$+BC#COya30t>cONGr>3 zJ2h9XfIJQnNb?$JOG*al1}~+JjI163vM6bSXb6(ZiIOQArYM2l!%}OZ(=e-6v1f}) zS++??UaxNqimr1RQB}B%X2_h;>VRCGi+BSI+IvZ}K^yz_taCs3z^xLN+wJpC)$k@0b76sWK>OvtAb z6w*;4UtN2fj@kDmYqHk4UcY_k&O{HxlZzFQ;lvYq=L6IQ8p^h3@Mkho-wHhU(9O8>{}< z`bYPvf2Gfb-PFaz)xXblUx8QU%AfnsU4DG@y=G!_325(^Oy{wKHzz;$bT!Pa{k$i6 z@~2_#EqMB!weX%(-?c8YbUpe3JpWB{bUoLc`F-_^jY4JS-G_@8&$p-S5$DZ)mu`P) tUAURM_0Y)agPRA6OGobiZSX+XMMa4i0rlnS%frK#s%`Uk>Gh@k)g literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_edit_next_on.png b/apps/dm_new/public/images/map/toolbar/btn_edit_next_on.png new file mode 100644 index 0000000000000000000000000000000000000000..4e5540b55aa8b04368d7faec600a7f4ea749959b GIT binary patch literal 1205 zcmbVMPiP!f7@uumsY$l2q#n|$3=<12Iy?V&c7|-z&CDiQ$;M^7ko6MscIIs|O=jLW z^OBiFP}4)%3Ldmdd+5PXiXbSYhay;7ArZ_)yi|jFDtJ>01rekW-z2-yL+HVQnfJc; zzTfZrKUb?$J8keOzIYLvmnvQ#;#A$6g4~&`@mX&m~O&3$15<8zka~bj$L4; zl?q?+4LI*itOoGn>QvoYU9dEp897f6$2uW!AqI5pE_$IJ7nnU>o$Qlij-mHd@Iryv zcdAjT(gq43tz>hoB}jQ%)v|)3F zNCjpdV_)aED2lR?ltsZDCuo|+@ggUREYV=Y6%T`$^}?Ypg9$?`aD40_k4_jt6D{Ea zLpnMU)nJI00*ln6HPi)@ z+&$Y+qDZ{a-v}I16tHL_YsrNkE}I30++=OX)@50g@=Z}If}%yP!IcFbe09Pa8&3b(KCl?RYkd!gEQP_M6l z>yKZI-{~7%+j+4a^=uqf?)`pj>!N(XRPuy1IGc!s&MO!x`{P@mgAF^tZXuKi8P; zfgx~>GS@#$J$dp1y?pt~t8dPv2k#!gv;*y+q6zJxZ)V9G5xjH>T-y?SSQyAcs<&TqlSan&ZZbod~&em;wjS`eA|p=lV?^_+EiO zoUg%JRKhKP|5A((E=@Mvr8(F1_~M6PtYa~P08<1y!F-rlodUngYq5QLEb?Ggh0YcD zHK(R)Q=mj*4DvZma3#e6x|x&mrXj0)fD9!~gr+E|0+cLhT2KPrhiBGeuW8loO4k;X z3Ve&w$P&eNyPaz*ITFu`l4+VEltoznQAga~YiNmCuD3&s@gCbGNK`{u@xK_0jTF3vpv7vU-Sd6e(#|c@8T~?3gNDs_% z_hLh-BJ;-jIQCgl(7a9Dg#d@NY8QBRlkj}-L8)U6V`_bhirmk zHY$8;*G)ENSF83!qjS&s_t~>zCf_%dIny_hxf9;|d+Q$!X|Q$r?bE-$vGQnC8$5FN zOK@n@gU8w76W-ZvgXdmxidP0!oU>nCKKE$fm90PBhS|&ow7nl5+oq{ApB}Gp=KcO# z@h3-i%~!H-@rzHn!4K*W@U_>!`F>~L=w|TSn=22;Zw$3wE0$-z+p+9?`|i)n&Z+F4 z@iO?c~0imVfMMS)aMi6=^rf-sL^bkBaF!SF3 zz5nm`|DN-s!^hIw4s7E%E?pY3D{S49yxpDb``P(}X}0XA#W8x4)M*n%nCo{*4TF-8 z#&HEBcjnBWxR>Kn(_VFqj+IXs4)HT6(aE&@kfAxQx6lfaGl?mv;c+i8`KLE-^1yRV z{#3RM%b|rQyrJ0$pPU`8IWxK+`i)R?o}oQ6NJpCqiA6Q~^o`)D0+s^@nHHBDZc-?7?+g zOfvZiN<%{wo6TmXsbokrE=szti%=G2SzsDMJQGmV5`y?po59Ah6L}%^NB|N>R3lT= zxp716I&=0r3@5(KZ$EqJEj%<%8gC6P!vrQ@=#TTd`_1IrS70Q zLRibm^)}CDcnfM4)N{FhOVuQ)sOO8h?0^EH&1y5K+IkyX3Sx=^2e)l|%r?X3`)#%O zMyz2)7*P^c32C&uV03~|5>Jp2SXNSX4fLGy0+%%7!%3OeqPB75O=EX3B0gBnv*B&x zgH~6Ou1UI}x(XC@S5<{tmWeKu^AI7)kyVXf$GdNvKan{lCe89%^R$mxM<&~iQDDNx zFyVkrP{c;%+VqzJ8?&n=yT97{r}p2KWBa*hM}D6lNh_bf{B&gLN??9_ zx~FULuepDFv%l?-8-<-eZCU>KczS;S_wOuzF!%R`U8$vX-1XqX!vjMX(c{iaW8bfH zm%h8)_0hiWuTslh;N{5seJ7sG-#Hh6o~7&Dvf1K<$@wZg1a~+A*;3?u+Nc z;L#7Ncy`CsrNz+(8oKz+RetOJyXAX-+=kXu?lLId+S_4eOUDam7Zy9aA@}uG?Zvf~ Rg;esdC>4k8p9ent+h znR&@ha%+)xgY}@G*Lo3p66;B@Xh21*7e(lyNC`c(;6>1bO9`xRlHKSb^x(kEd;j*V?6 zOc|DgB5u0#+abQNy->BcS8c=Lr_X_@*klAArU=B|nje{QoFED3TC^jF=T{SoNe$-18OPLg-K$1l$d0rCNfp$bI_+K}U)sCuL0hTH_A{(L2>d~0!gIVsL zY$#D=-k6J_%Zh^5EMjkX*rz2c&$AoRaUE0B6g5{@R6$jBUC2RA6>?ca5!8l_8VF%M zt2FvN$Ki`mSM|c2GE>xaS)Mg=v)N2Rh0tQPnbRzzk1hETMZS&uwq0hshn1g*HH#re zl!R46*7{wr)FhNdO%i}&F{!!^CYN2`A+6~3q)dlVTR3z#u`?GE4;&b6n$Gv|&i~Dy#GI0nX8BL^^p99aCflP?V8YQbVV_M< z$VTP0lgk}8X17b$Of|k&-|u#()0xzB>5o#w*Kck9y1584FSgI@{QUPodojKK&gVBC zy>L-HeHT8nm#Uu!_ebdbu$V?y<$|0Ze|7Ay)cQd6>+$AI=~L7hYrk>%%a`v+r@!Cr zHaqac-$o|A!u88Hg0@)ZF9{i()vKbgPQ8QE{2*}v48Fb4npVB&|uyV9v!-#y+t zQM@zs)Y-ksod>4|&s}@?sB2vv`=T?v_V&We#~?K|@W6>jo_>7tC9um~Y{B1eUfKO6 P`CpV~7p%_;m#+K+a+G{1 literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_edit_save_on.png b/apps/dm_new/public/images/map/toolbar/btn_edit_save_on.png new file mode 100644 index 0000000000000000000000000000000000000000..b035687d6f910df7610a77f62ca19b4fed5e856c GIT binary patch literal 1190 zcmbVMU1%Id9N%l&GffNzTks-EmOao`y1TOA3`5o*q!;$ z{C~gy_byLOKG)atcn`xcedP(eO4q~b+nuG~E6Y#z(Pe;)O_P(jL7Ff^%!rHYh%NhY z22~Ms7hhRNLk!b(&Z|w6>B`-D-0v{2`CjNX7n@Ne=<~8X)Jr+53TZPP( zxE-gaD^sk6Bg7VjBJW6w&T57r6%1WgkFhe4iXt#XN#%iL0>cCn+kQA|Epi)X)gEu# zqEd;QB_uROvDs`2O+~=bj3^m~Ap%*HWu9vA@nS$=!Uu7_!(gM>iM)__IABvoSjP*b z#8FRoLh!>%WtTXJ+litn6B8JUk^n^CPvhFwj!6~$>&Bkiacwa~Vim=BA#!Lv8u<>G z=I+6UQbp>Gc_Q*?QQ*9dodq8Sq->WsdLy`=YpSZO=yh4)6-Co{9jFSg7Y&(L8V+ng zh_s^I=R85k`41KIv7*znUX>G<;+vs4+K}=xappI>i+HPaz2VzYt zLXhC7hVgu-3#Midx49a@zJzQJ5k#x^3EZ5JiY)}&z$K~zg>9`>~Gyu`kVXS z`eEw&X!YUyS6_Q1zkc(=?Wfjqe;&M~=U;ywzMM$)f!>Y5!$0@GdvS1eX)xF2{E;`Z zzg^3JHM%6`R@eUC=(fJ@dFa^2k>$-?_V}eAf7)7G8UP<$`{K;mdr{BF`wwm$?SJ}) g6W&_6!(_6|=G)qd+b^A0(mzLeY|{Q{^z5tu01BFZ^#A|> literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_edit_slt.png b/apps/dm_new/public/images/map/toolbar/btn_edit_slt.png new file mode 100644 index 0000000000000000000000000000000000000000..aaf2bbd08f4f62a2763eb461660e9a74eed16ee0 GIT binary patch literal 1288 zcmbVMZ)h837{8?2cGI}hb{pF|eS6i}YA^REmt5{_)~5NhhAlOufrf$7H+OH^qq)26 z?z*I9j7~>Q9pZ+rh#$m#6F&$MnXpn^r5_xkPOyTCI4b%@VLB;HoYeQ)r23)kg9mr- z`@HY-d!FC(@8(m($2_|a?j{JrlNgGo@!IaZ&5ii`%KTvuUJlr?tUY4n?GiK*5mt;G z0tpR{qcnob^r;)Dk02UOtC_5wO`ecsL-RsM$6MBl7)=m;{pBK*Cy@lEny`P={trG%_=sk!L1lQ6c+}g1)kZ4QR-QpsW>iODc!RO}i4_JI6E$ zHdXA&5V=Jvn@oX-VItu71}K^J1%V)XS-%+M_+G#Ge0bQ)R4 zlqutSb_O%yM|@%inP*AefrF6ep(wB-#VbCB5*41Oa(*l-3>Rb|WMz&Q$QoYxzxksvDcWh4|1?ki z2zR8j-5v!jY!4IC@dTN8R1QrMBtf{k6VY&{{B7>u#zudG-}O)>yQuyJ0czO$jC9%;+mY`oDL?^yV;^~2?2=U4mUcH;5v$oqPEE57i#9WS{e& z^MC*U{Wl*Q8GbO(+1rUANFbe(vT*J8-i~(oeg4=z0l4gNhVsrnv*?s%3m|dTEC4jE z%VQu5WOa7xGtiG9{uwQock-EsMa9%ZvZoVr^%6uQNdJIal9dVIpan3d8By%|2a6c0 zsZne{mmxEy1Q^#+6$|XE4Cj=}gd(WezyoN%D?$T0aAefgCk{i<6W{3L;6N%?E?tEVU?R zrDW3=l%m+UEk!YS6H+x*WLcVt6lex#7@o%?B+KBD zut4KXQIU(X4EQizY}wfepCEaLA54bh36`g*At5pp<^~y(lwfU=tR%FsX~TA8Ljf({ z8uZ=7ayP|_2@A-MY2{3FvegA6B)qEg=&t>mp_*lTw^ydMs3l-&GeAvR zrjD-WS=2V*z!zCr;3)xTRffa`m1Xe)2St^nBcv=-3eECZ6R-Z?{1K28;Wf*Dnx}OH zJJQ>(j{+3dhY1*Pf-E>HQ*XWTHG=qh(^5R=ep6UpSsCzizRlI2@4evMow^cRdI727 z^O=Q+f7|@|__-rnk6wGXu9J^D1WykU4;MI=zzc{e#IscZUMsk41O!DM;&nSCM4IhyMZe52yhE literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_edit_snap.png b/apps/dm_new/public/images/map/toolbar/btn_edit_snap.png new file mode 100644 index 0000000000000000000000000000000000000000..fc91d430447fdb7d0632691591cb7ed3cb506a02 GIT binary patch literal 1185 zcmbVMU1%Id9N*-$*t9VPl_m{=b^BmS-S55I+a=e_<@RC^y!5ynfWi2m$GX6rI`4of zSc1TsfBPpmL{YIhyIjGQ!t1(;91cV}T!-*=~yY=gL)vwyhL1 z5ibY@FAMAT$ps&dFN~GVg=tf>nDhyHDAWmo12LdOXT}ZmFvV>1>SP}s^9;SMf~Ql= zj#HIFkU6UDWy9pDmta)q%R(5Zr1;JQ2ex~nWxo5f5MNzmutNr9NhT)%+mh8 z!LH_iXIC#Q->bg=#Y^8$O>%eUdN-c^|Dtf{K<1aLH{U#c_Qr5pd9P3D{JrD;JA+rA zFP!f=5sTm4_;4+pO&ob^;IqZ``evhY&^T=NU)Rq4_}9|Jz&DFqD|eR1@80Xl{%~R9 dTIVyp)W5Zt-@Se7jdRgYBcB^Hz8aZadI*!Age3p~ literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/btn_edit_snap_on.png b/apps/dm_new/public/images/map/toolbar/btn_edit_snap_on.png new file mode 100644 index 0000000000000000000000000000000000000000..f856d8fbe60ad8b33078264059e53896c5767730 GIT binary patch literal 1185 zcmbVMPiPcZ7@u_8HPr-GDzpkM(}}bxI6H6t?9R?Kn`E=I(M5L~)};nYgKuWuW`|_v zO=jL^C#e>yP_VU!BI41i;6boOFH$^6MFcPE!4%peN(#0ILA(jtrf-tnw1?oK12gY^ z?|r}D_kWH}RCo7p-m#fsnEvt}qej#<7l_ z=MH2lpyC%%)7i5ap#6*0y0tiCX*M@9%nn65C2$deY~;>*p&sSARbHL$<70tiS5?SN zo?CNjvNFLIae&xNI?G$4oMTljEoQWwr0ilPAZ7)i38KOSQ3sk1M7HyA)LLLS^qMi= zu|=gk*CfQ(1)<$;r`vKG2h)P6X_^2eL6Uf?!G{YTff4V816>9Kg;wDB#K9gLGeQ%$ zNS>pfu7%+GmC8D?7j_awQzk^v7sNCWTsMwuRXZd#^sgHmYKQd&9|<)S;#OeMdNc;Q zV4Ay^8;TXFH~L3`LyH1u4Q#bsQA=vk<1+o85QSmUKw zy%-=!a8Sp1w%Y|0O-yju#6DXr##L9@!2^zG<97H#T&A_C4HP)@$Q}={%dX~GcQ)`r zZ75JvMU7W%8St8|D7=}Wq79@RfKap~Mddnp`~T)opiT*Kv;3!dx<|Al+5!U#zT*Br-j3Bu@4$_1lF<(aEW?M_(~>TT{=OOFQb1 zlPUbla(VPc^1T1am3QV7-;RRRo!89ImAS)%w>K^CWT*BXKUMhh;!X1{>EY1}ufJ!1 zH<-GUFvqzgUvIteao_1Lew_FXK78}uXV*t}y^2=GLZ@dq@z>pF=x%Sc>Bf^Yk98$8 z{H*WZ=w aL1wA??%|6+-#;7wG|Hu_@%`ArBmV$!4Sq`i literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/close_icon.png b/apps/dm_new/public/images/map/toolbar/close_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e8e76d5d7965dcc6a3f329e47961a1245dd7b4d1 GIT binary patch literal 313 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 literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/img_base_map.png b/apps/dm_new/public/images/map/toolbar/img_base_map.png new file mode 100644 index 0000000000000000000000000000000000000000..7f96fcf5e98fee63a2e89b39189059f7d38d82ca GIT binary patch literal 4537 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 z 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 GLH`5!q(X53 literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/img_settle_map.png b/apps/dm_new/public/images/map/toolbar/img_settle_map.png new file mode 100644 index 0000000000000000000000000000000000000000..1a93f50e8596c02600e6a18cf8a101c3155858e3 GIT binary patch literal 7264 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%0As}B0S2f>;59<-vShb+Zt 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 literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/map_pin.png b/apps/dm_new/public/images/map/toolbar/map_pin.png new file mode 100644 index 0000000000000000000000000000000000000000..b6cc2f6aabbb4b374e65c571ff8fd91f3039d883 GIT binary patch literal 2362 zcmaJ@dpuO>8=s6@G(>hSYK%eDnyWE0XEJISGUYlXCFRV_kx_HmnW3SGGF@$MyJFi& zyDD82l}O1XWwK>0O168`%7zS+wyf=Urs((kqu;)t&w0=LKIi#9&-b}~K4*7C*iw{* zqXhziKyiZET=?w(KVIgh@SeYRPKH6C2#i%kNfH&CKpBK!2_!rS!x4e&Aua?8(!S9^ zz6bf?^+GWd`>OE@79$ieu`7K- ziJ{T}C`lNcE`y@d!=m}=8~A_#yVwuot7O0iM34f+C`B8^a)y$L{a}{?pABLH7V|+x zv4M&GNGdio0uvySK^PxA6~`xe(=jvvPx1liWQrGtOe9eWM1Vk|;D{s!5nvEWn5l(@ zy~zZL3@$rp$`^cNVv`gKDT6@Rv}qH5lQ&)>TTdVX06-v;31l)3*1*Zr#0pS}6U$wv zEwCXuUnZ0)gc32vU=id=QWQ)q%=BXjB57#oC&Oa-RHERN5tN{mK*AFVB9S4k5884C z7y2)a&uYt~)1(lA3&|xZGCo|7MAvCBoV$N_WKe|JFv4X*xG3O8wuGM|g2W0An~8SV>1lKLFguDCkzFDrg!<&ec> zy@=T_dbP1#wA`jltIgCi`_nqoI)GQ3+ePU-%WH_dQPX9pn?HFjw6ki>d&+hQ0`|(% zNBXh|KiJ?+IbU~-oj-4i9K08A1&_|5=!MzO=pz%8k7W%BJf2bJUo}pBeZQ;w$IiP( z4ski-6?17{%~I`ja#~W!W%<$%hS9t3&pIU<+FFD!j5l{$;^rbdtlY4Bt5Vr}Wo|xt zplIG`%y$vt<0pFltX}@$L4NU(ozJiGO1IaJ%1X-1Py6TPKE1k!o?3lkY^%-e;43H2 zZWlkYyoKIYQ`6LhA<*n&jPkV4S(EDRd6I{tKS!=n0$0bDt|Pd)yQ`O}hf-U*+&i)` z<`$#c;Lw!Udu(U7q3^j*u(@ZQUScRtSV(XOiRxbuPU>bxpdFx<=||qw=#MqcHU(D5 z!cwW57pTf5^e4|_=JdwD|3Y69m{q)Xkz#F1maZ9j=ERbV#kHMyoK3+oI}4SYX4k5$ z<8_Gam?9&Gbf%}BY(!~Xa_|6hf@v1^7(eS$sY%1YXy7}+{=ukvI<~p)Ot9ZY9`Zn! zS(PKox1_=J*~tWvs#+g%Ep@-M-`m#tRn9-sm+CXOs5uQ2T_}&nBS#0^S_-m#SP$1+ z92Nw*+PLZ3k*98ydVL@7J)XtmHV?Hv$v5*?+!!u$tDwxEu&aKe(Qq__ZQaJnJwv+S zLZxwb{N3a3JK-~@aNqgx187uUiG4NvSz?qExuuJKyT3xF; zdOJHClI81hFVbc%rIc;G%{UZ0!=={#QeHzw$n`O=Np4h> zi@Uq~@Suq5WZ6l3RAXKSQrZ3O|nm*cVSL;Okd1y}xWyhC} z7sSVo^;#nDR`*0k^9nAV6a79G!kS-1Y7yk-%tLTu(9Nfv&k339krtqf_jnFeS3lV$ZJbE*y^z_FZB+p^;SV=q$c~7-%BI(P+P>a zB;A(o7UWgOJnieQ^33@S%f+|#>Jv^6qzOfP)37ECdo%0DVE(CFH!U*CsHGu|^nL4A zM(evLzg_y>)1AhiHw*oIBaHogJ1IFnwH{?2IfZ`|7iS+SI@-GyZGG;`%NZHJ{;Ete zceZwaH!w1%YobcVOmo8sn0SIw?f*EI-GmH!u948<+lWe36)Pa?SC>zS($j&%o8)hleH+OkDd8(ZLdDhH{HXehQxNvhxWK^iWM1LBAL}-W8uSqtV Rco_a>IDuj8YX5|7{{e=c*p>hQ literal 0 HcmV?d00001 diff --git a/apps/dm_new/public/images/map/toolbar/toggle_off.png b/apps/dm_new/public/images/map/toolbar/toggle_off.png new file mode 100644 index 0000000000000000000000000000000000000000..d5dea9f6764543a8a2025d215fe00361460e3da5 GIT binary patch literal 1591 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 Date: Wed, 25 Mar 2026 15:43:28 +0900 Subject: [PATCH 02/20] =?UTF-8?q?=EB=B9=8C=EB=93=9C=20=EC=97=90=EB=9F=AC?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dm_new/app/(landing)/reuse/apply/register/page.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/dm_new/app/(landing)/reuse/apply/register/page.tsx b/apps/dm_new/app/(landing)/reuse/apply/register/page.tsx index 2a9bbaf9a..9350f59f4 100644 --- a/apps/dm_new/app/(landing)/reuse/apply/register/page.tsx +++ b/apps/dm_new/app/(landing)/reuse/apply/register/page.tsx @@ -633,6 +633,9 @@ export default function DemandRegisterPage() { onClose={() => setOpenSimilar(false)} rows={similarRows} detailsByCaseId={similarDetailsByCaseId} + onSearch={async (criterion) => { + console.log(criterion); + }} /> ); From 90eb5f3b044f8d6589a772c0d195ea95db831f8c Mon Sep 17 00:00:00 2001 From: jsyang Date: Tue, 31 Mar 2026 16:12:25 +0900 Subject: [PATCH 03/20] =?UTF-8?q?=EC=88=98=EC=9A=94=EC=A0=95=EB=B3=B4=20?= =?UTF-8?q?=EB=93=B1=EB=A1=9D=20=ED=9B=84=EB=B3=B4=EC=A7=80=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=20=EC=A0=9C=EC=99=B8=20=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/(with-layout)/apply/register/page.tsx | 81 ++++++++++++++++++- apps/dm_new/app/store/sdmMng/index.tsx | 1 - 2 files changed, 78 insertions(+), 4 deletions(-) diff --git a/apps/dm_new/app/(with-layout)/apply/register/page.tsx b/apps/dm_new/app/(with-layout)/apply/register/page.tsx index 24f2e5918..482c19468 100644 --- a/apps/dm_new/app/(with-layout)/apply/register/page.tsx +++ b/apps/dm_new/app/(with-layout)/apply/register/page.tsx @@ -66,7 +66,7 @@ export default function DemandRegisterPage() { // 유사사례 const similarCaseList = useDmStore((state) => state.Sdm.similarCaseList); const getSimilarCaseList = useDmStore((state) => state.getSimilarCaseList); - + const [farmText, setFarmText] = useState("이하"); const insertSdmInfoData = useDmStore( (state) => state.insertSdmInfoData @@ -267,6 +267,81 @@ export default function DemandRegisterPage() { setOpenSimilar(true); }; + const initQualityForm = () => { + setColiform(""); + setNoDetect(false); + setTn(""); + setResidualCl(""); + setTp(""); + setTurbidity(""); + setPh({ min: "", max: "" }); + setBod(""); + setChloride(""); + setOdor("불쾌하지 않을 것"); + setEc(""); + setColor(""); + setRemark(""); + setFarmText("이하"); + } + + const fncSetOptionValue = (e: React.ChangeEvent) => { + const value = e.target.value; + initQualityForm(); + + switch (value) { + // 청소화장실용도 + case '01': + setTp('0.2'); + setTurbidity('2'); + setPh({min:'5.8', max:'8.5'}); + setBod('5'); + setColor('20'); + break; + // 세척살수용도 + case '02': + setTp('0.2'); + setTurbidity('2'); + setPh({min:'5.8', max:'8.5'}); + setBod('5'); + break; + // 조경용도 + case '03': + setTp('0.2'); + setTurbidity('2'); + setPh({min:'5.8', max:'8.5'}); + setBod('5'); + setChloride('250'); + break; + // 지하수 + case '05': + break; + // 농업용도 + case '06' : + setTurbidity('5'); + setPh({min:'5.8', max:'8.5'}); + setBod('8'); + setEc('2000'); + setFarmText("이하 (** 간접:2000,직접:700 )"); + break; + // 하천 등 유지보수 + case '07' : + setColiform('1000'); + setTn('10'); + setTp('0.5'); + setPh({min:'5.8', max:'8.5'}); + setBod('5'); + break; + // 공업 + case '08': + setPh({min:'5.8', max:'8.5'}); + break; + default: + console.log('잘못된 선택입니다.'); + } + + setUsePurpose(value); + } + return ( <> @@ -302,7 +377,7 @@ export default function DemandRegisterPage() { } rightLabel="전기전도도(µs/cm)" - rightControl={} + rightControl={} /> diff --git a/apps/dm_new/app/store/sdmMng/index.tsx b/apps/dm_new/app/store/sdmMng/index.tsx index 539bcd629..6504d4df8 100644 --- a/apps/dm_new/app/store/sdmMng/index.tsx +++ b/apps/dm_new/app/store/sdmMng/index.tsx @@ -709,7 +709,6 @@ export const SdmReducer = (set: any): SdmActions => { ruseBizNm: maskedBizNm, }; }); - console.log(similarCaseList); if (similarCaseList && similarCaseList.length !== 0) { set((state: SdmType) => ({ From e566bc087b42ee38f5a67f6d0239c7fa98faaaed Mon Sep 17 00:00:00 2001 From: jsyang Date: Tue, 31 Mar 2026 16:12:44 +0900 Subject: [PATCH 04/20] =?UTF-8?q?=EC=9C=A0=EC=82=AC=EC=82=AC=EB=A1=80=20?= =?UTF-8?q?=EB=AA=A8=EB=8B=AC=20=EC=88=98=EC=A0=95=20(=EC=B4=88=EA=B8=B0?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20=EB=90=98=EB=8F=84=EB=A1=9D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/(landing)/reuse/apply/modal/SimilarCaseModal.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/dm_new/app/(landing)/reuse/apply/modal/SimilarCaseModal.tsx b/apps/dm_new/app/(landing)/reuse/apply/modal/SimilarCaseModal.tsx index 5ea0d03cd..774ab81b8 100644 --- a/apps/dm_new/app/(landing)/reuse/apply/modal/SimilarCaseModal.tsx +++ b/apps/dm_new/app/(landing)/reuse/apply/modal/SimilarCaseModal.tsx @@ -82,7 +82,7 @@ export default function SimilarCaseModal({ const titleId = useId(); const [mounted, setMounted] = useState(false); - const [criterion, setCriterion] = useState(""); + const [criterion, setCriterion] = useState("supplyAmt"); const [selectedCaseId, setSelectedCaseId] = useState(""); useEffect(() => setMounted(true), []); @@ -90,7 +90,8 @@ export default function SimilarCaseModal({ // 모달 열릴 때 초기화 useEffect(() => { if (!open) return; - setCriterion(""); + setCriterion("supplyAmt"); + onSearch("supplyAmt"); setSelectedCaseId(""); }, [open]); @@ -201,7 +202,6 @@ export default function SimilarCaseModal({ }} className="h-10 w-[180px] rounded-md border border-neutral-300 bg-white px-3 text-sm outline-none focus:border-neutral-500" > - From fc03a19da14e31f36a9448efbf15f0b5a658c328 Mon Sep 17 00:00:00 2001 From: jsyang Date: Tue, 31 Mar 2026 20:18:45 +0900 Subject: [PATCH 05/20] =?UTF-8?q?=EC=88=98=EC=9A=94=EC=A0=95=EB=B3=B4?= =?UTF-8?q?=EB=93=B1=EB=A1=9D=20validation=20=EC=A0=9C=EA=B1=B0(=EC=9E=84?= =?UTF-8?q?=EC=8B=9C),=20=EC=88=98=EC=9A=94=EC=8B=A0=EC=B2=AD=ED=98=84?= =?UTF-8?q?=ED=99=A9=20=EC=88=98=EC=A0=95=EB=B2=84=ED=8A=BC=20=EC=9E=84?= =?UTF-8?q?=EC=8B=9C=EB=B9=84=ED=99=9C=EC=84=B1=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/(with-layout)/apply/register/page.tsx | 20 +- .../app/(with-layout)/apply/status/page.tsx | 349 ++++++++++++++++-- 2 files changed, 327 insertions(+), 42 deletions(-) diff --git a/apps/dm_new/app/(with-layout)/apply/register/page.tsx b/apps/dm_new/app/(with-layout)/apply/register/page.tsx index 482c19468..a82b89726 100644 --- a/apps/dm_new/app/(with-layout)/apply/register/page.tsx +++ b/apps/dm_new/app/(with-layout)/apply/register/page.tsx @@ -189,20 +189,20 @@ export default function DemandRegisterPage() { if(!validation(reqQty, '요구수량', ['req', 'numDot'])) return false; if(!validation(usePurpose, '사용용도', ['req'])) return false; if(!validation(hopePrice, '희망단가', ['req', 'numDot'])) return false; - if(!noDetect && !validation(coliform, '총대장균군수', ['req','numDot'])) return false; + /* if(!noDetect && !validation(coliform, '총대장균군수', ['req','numDot'])) return false; if(!validation(residualCl, ['req', '결합잔류염소', 'numDot'])) return false; if(!validation(turbidity, '탁도', ['req', 'numDot'])) return false; if(!validation(bod, '생물화학적산소요구량', ['req', 'numDot'])) return false; - if(!validation(odor, '냄새', ['req'])) return false; + if(!validation(odor, '냄새', ['req'])) return false; */ // 필수는 아니지만 숫자로는 들어와야함. - if(!validation(tn, '총질소', ['numDot'])) return false; + /* if(!validation(tn, '총질소', ['numDot'])) return false; if(!validation(residualCl, '결합잔류염소', ['numDot'])) return false; if(!validation(tp, '총인', ['numDot'])) return false; if(!validation(ph.min, 'ph', ['numDot'])) return false; if(!validation(ph.max, 'ph', ['numDot'])) return false; if(!validation(chloride, '염화물', ['numDot'])) return false; - if(!validation(ec, '전기전도도', ['numDot'])) return false; + if(!validation(ec, '전기전도도', ['numDot'])) return false; */ const userStr = sessionStorage.getItem("user"); const user = userStr ? JSON.parse(userStr) : null; @@ -421,7 +421,7 @@ export default function DemandRegisterPage() { {/* 1행 */} } rightLabel="총인(T-P)(mg/L)" rightControl={ @@ -466,7 +466,7 @@ export default function DemandRegisterPage() { {/* 3행 */} } @@ -498,7 +498,7 @@ export default function DemandRegisterPage() { (BOD)(mg/L) } - leftRequired + /* leftRequired */ leftControl={} rightLabel="염화물(mgCL/L)" rightControl={} @@ -508,7 +508,7 @@ export default function DemandRegisterPage() { {/* 5행 */} } rightLabel="비고" rightControl={ diff --git a/apps/dm_new/app/(with-layout)/apply/status/page.tsx b/apps/dm_new/app/(with-layout)/apply/status/page.tsx index fc9e61134..30b222720 100644 --- a/apps/dm_new/app/(with-layout)/apply/status/page.tsx +++ b/apps/dm_new/app/(with-layout)/apply/status/page.tsx @@ -4,9 +4,11 @@ import { useEffect, useMemo, useRef, useState } from "react"; import SubPageHeader from "@/components/SubPageHeader"; import { useDmStore } from "@/app/store"; import type { DemandCompBizType } from "@/app/store/sdmMng"; +import { Textarea } from "@common/components/ui"; +import type { SelectBox } from "@common/business_components/ui"; -type TopField = { label: string; value: string; required?: boolean }; -type PairField = { label: string; value: string }; +type TopField = { label: string; key: string, value: string; required?: boolean }; +type PairField = { label: string; key: string, value: string }; type SessionUser = { dmdInfoId?: string }; const formatDate = (value: string | Date | "" | undefined) => { @@ -35,6 +37,93 @@ function StatusBadge({ v }: { v: string }) { return {v || "-"}; } +function TextInput({ + value, + onChange, + placeholder, + disabled, + className, +}: { + value: string; + onChange: (v: string) => void; + placeholder?: string; + disabled?: boolean; + className?: string; +}) { + return ( + onChange(e.target.value)} + placeholder={placeholder} + disabled={disabled} + className={[ + "h-11 w-full max-w-[200px] rounded-md border border-neutral-300 bg-white px-3 text-sm outline-none", + "focus:border-neutral-500", + disabled ? "cursor-not-allowed" : "", + className ?? "", + ].join(" ")} + /> + ); +} + +function DateInput({ + value, + onChange, +}: { + value: string; + onChange: (v: string) => void; +}) { + + const ref = useRef(null); + + const openPicker = () => { + const el = ref.current; + if (!el) return; + + // Chrome/Edge 등 지원 + if (typeof (el as any).showPicker === "function") { + (el as any).showPicker(); + return; + } + + // fallback (일부 브라우저) + el.focus(); + el.click(); + }; + return ( +

+ ); +} + export default function DemandStatusPage() { const { getSdmInfoStatusList, Sdm, Common } = useDmStore((state) => state); const { successLogin, sdmInfoStatusList } = Sdm; @@ -46,6 +135,16 @@ export default function DemandStatusPage() { const [selectedDmdInfoSn, setSelectedDmdInfoSn] = useState(null); const [transformedSdmInfoStatusList, setTransformedSdmInfoStatusList] = useState([]); + // 수정 유무 + const [ isEditMode, setIsEditMode ] = useState(false); + // 수정용 (UI에서 바뀌는 값) + const [editData, setEditData] = useState(null); + // 원본 백업 (취소용) + const [originData, setOriginData] = useState(null); + // 사용용도 + const useTypesData = useDmStore((state) => state.Sdm.useTypesData); + const getUseTypesData = useDmStore((state) => state.getUseTypesData); + useEffect(() => { const user = sessionStorage.getItem("user"); if (user) { @@ -53,6 +152,10 @@ export default function DemandStatusPage() { } }, []); + useEffect(() => { + getUseTypesData(); + }, [getUseTypesData]); + useEffect(() => { if (!successLogin && !isLoginStorageInfo) return; @@ -112,10 +215,10 @@ export default function DemandStatusPage() { if (!selectedSdmInfoStatus) return []; return [ - { label: "요구시기", value: formatDate(selectedSdmInfoStatus.dmndTmng), required: true }, - { label: "요구수량(㎥/d)", value: formatValue(selectedSdmInfoStatus.dmndQty) }, - { label: "사용용도", value: formatValue(selectedSdmInfoStatus.useUsgCd) }, - { label: "희망단가(원/㎥)", value: formatValue(selectedSdmInfoStatus.wntUntprc) }, + { label: "요구시기", key: "dmndTmng", value: formatDate(selectedSdmInfoStatus.dmndTmng), required: true }, + { label: "요구수량(㎥/d)", key: "dmndQty", value: formatValue(selectedSdmInfoStatus.dmndQty) }, + { label: "사용용도", key: "useUsgCd", value: formatValue(selectedSdmInfoStatus.useUsgCd) }, + { label: "희망단가(원/㎥)", key: "wntUntprc", value: formatValue(selectedSdmInfoStatus.wntUntprc) }, ]; }, [selectedSdmInfoStatus]); @@ -123,21 +226,21 @@ export default function DemandStatusPage() { if (!selectedSdmInfoStatus) return []; return [ - { label: "총대장균군수(개/100mL)", value: formatBelow(selectedSdmInfoStatus.grssClfg) }, - { label: "결합잔류염소(mg/L)", value: formatBelow(selectedSdmInfoStatus.combResdch) }, - { label: "탁도(NTU)", value: formatBelow(selectedSdmInfoStatus.trbt) }, + { label: "총대장균군수(개/100mL)", key: "grssClfg", value: formatBelow(selectedSdmInfoStatus.grssClfg) }, + { label: "결합잔류염소(mg/L)", key:"combResdch", value: formatBelow(selectedSdmInfoStatus.combResdch) }, + { label: "탁도(NTU)", key:"trbt", value: formatBelow(selectedSdmInfoStatus.trbt) }, - { label: "생물학적산소요구량(BOD)(mg/L)", value: formatBelow(selectedSdmInfoStatus.blgcOxygDmndQnt) }, - { label: "냄새", value: formatValue(selectedSdmInfoStatus.smll) }, - { label: "색도(도)", value: formatBelow(selectedSdmInfoStatus.crmty) }, + { label: "생물학적산소요구량(BOD)(mg/L)", key:"blgcOxygDmndQnt", value: formatBelow(selectedSdmInfoStatus.blgcOxygDmndQnt) }, + { label: "냄새", key:"smll", value: formatValue(selectedSdmInfoStatus.smll) }, + { label: "색도(도)", key:"crmty", value: formatBelow(selectedSdmInfoStatus.crmty) }, - { label: "총질소(T-N)(mg/L)", value: formatBelow(selectedSdmInfoStatus.tn) }, - { label: "총인(T-P)(mg/L)", value: formatBelow(selectedSdmInfoStatus.tph) }, - { label: "수소이온농도(pH)", value: formatValue(selectedSdmInfoStatus.ph) }, + { label: "총질소(T-N)(mg/L)", key:"tn", value: formatBelow(selectedSdmInfoStatus.tn) }, + { label: "총인(T-P)(mg/L)", key:"tph", value: formatBelow(selectedSdmInfoStatus.tph) }, + { label: "수소이온농도(pH)", key:"ph", value: formatValue(selectedSdmInfoStatus.ph) }, - { label: "염화물(mgCL/L)", value: formatBelow(selectedSdmInfoStatus.clIonQnt) }, - { label: "전기전도도(μS/cm)", value: formatBelow(selectedSdmInfoStatus.cdtnv) }, - { label: "비고", value: formatValue(selectedSdmInfoStatus.rmrk) }, + { label: "염화물(mgCL/L)", key:"clIonQnt", value: formatBelow(selectedSdmInfoStatus.clIonQnt) }, + { label: "전기전도도(μS/cm)", key:"cdtnv", value: formatBelow(selectedSdmInfoStatus.cdtnv) }, + { label: "비고", key:"rmrk", value: formatValue(selectedSdmInfoStatus.rmrk) }, ]; }, [selectedSdmInfoStatus]); @@ -151,13 +254,25 @@ export default function DemandStatusPage() { }, [selectedSdmInfoStatus]); const onSelectSdmInfoStatus = (dmdInfoSn: number | "") => { + if(isEditMode){ + if(confirm('저장되지 않은 데이터는 사라집니다.\n진행하시겠습니까?')){ + setIsEditMode(false); + } + } setSelectedDmdInfoSn(dmdInfoSn); requestAnimationFrame(() => { detailRef.current?.scrollIntoView({ behavior: "smooth", block: "start" }); }); }; + // ph 전후로 나눔 + const getRange = (val: string) => { + let a = val.split('~')[0]||''; let b = val.split('~')[1]||''; + return { a, b }; + }; + return ( +
수요신청 상세현황
- + {/* { + !isEditMode ? ( + + ) : ( +
+ + +
+ ) + } */}
{!selectedSdmInfoStatus ? ( @@ -268,9 +415,47 @@ export default function DemandStatusPage() { {field.label} {field.required ? * : null} -
- {field.value} -
+ { + !isEditMode ? +
+ {field.key==='useUsgCd'? useTypesData.filter(item=>item.val===field.value)[0]?.text: field.value} +
+ :
+ {field.key ==='dmndTmng'? + + setEditData((prev) => ({ + ...prev, + [field.key]: v, + })) + } /> + : field.key ==='useUsgCd'? + + + : + setEditData((prev) => ({ + ...prev, + [field.key]: v, + })) + }> + } +
+ } ))} @@ -278,19 +463,119 @@ export default function DemandStatusPage() { 요구수질 - {waterFields.map((field) => ( + {waterFields.map((field) => { + const { a, b } = editData?.ph ? getRange(editData.ph) : { a: "", b: "" }; + return (
{field.label}
- {field.value} + { + !isEditMode ? field.value + : + field.key === "grssClfg" ? ( +
+ + setEditData((prev) => ({ + ...prev, + grssClfg: v, + })) + } + disabled={editData?.grssClfg === -1} + className={ + editData?.grssClfg === -1 + ? "bg-neutral-100 text-neutral-400" + : "" + } + /> + +
+ ) : field.key === 'smll' ? ( + + ) : field.key === 'ph' ? ( + <> + + setEditData((prev) => ({ + ...prev, + [field.key]: `${v}~${b}`, + })) + } + /> + ~ + + setEditData((prev) => ({ + ...prev, + [field.key]: `${a}~${v}`, + })) + } + /> + + ) : ( + <> + + setEditData((prev) => ({ + ...prev, + [field.key]: v, + })) + } + /> + { + field.key==='tn'||field.key === 'tph'||field.key === 'trbt'||field.key==='blgcOxygDmndQnt'||field.key==='clIonQnt'||field.key==='cdtnv'|| field.key=='crmty' + ?<>이하:<> + } + + ) + }
- ))} + )})}
공급처 후보지 From c279124c413bd18e8887c93d1262da16a222c222 Mon Sep 17 00:00:00 2001 From: jsyang Date: Tue, 31 Mar 2026 20:22:14 +0900 Subject: [PATCH 06/20] =?UTF-8?q?=EB=B9=8C=EB=93=9C=EC=97=90=EB=9F=AC?= =?UTF-8?q?=EC=88=98=EC=A0=95(=EC=95=88=EC=93=B0=EB=8A=94=EA=B1=B0=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dm_new/app/(with-layout)/apply/status/page.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/dm_new/app/(with-layout)/apply/status/page.tsx b/apps/dm_new/app/(with-layout)/apply/status/page.tsx index 30b222720..fa6ff7953 100644 --- a/apps/dm_new/app/(with-layout)/apply/status/page.tsx +++ b/apps/dm_new/app/(with-layout)/apply/status/page.tsx @@ -4,8 +4,8 @@ import { useEffect, useMemo, useRef, useState } from "react"; import SubPageHeader from "@/components/SubPageHeader"; import { useDmStore } from "@/app/store"; import type { DemandCompBizType } from "@/app/store/sdmMng"; -import { Textarea } from "@common/components/ui"; -import type { SelectBox } from "@common/business_components/ui"; +/* import { Textarea } from "@common/components/ui"; +import type { SelectBox } from "@common/business_components/ui"; */ type TopField = { label: string; key: string, value: string; required?: boolean }; type PairField = { label: string; key: string, value: string }; From 7088540ccc046413ae4e9fe8f60ae7d9a2ce7377 Mon Sep 17 00:00:00 2001 From: jsyang Date: Tue, 31 Mar 2026 20:24:44 +0900 Subject: [PATCH 07/20] =?UTF-8?q?=EB=B9=8C=EB=93=9C=EC=97=90=EB=9F=AC?= =?UTF-8?q?=EC=88=98=EC=A0=95(=EB=B3=80=EC=88=98=ED=83=80=EC=9E=85=20?= =?UTF-8?q?=EC=88=98=EC=A0=95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dm_new/app/(with-layout)/apply/status/page.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/dm_new/app/(with-layout)/apply/status/page.tsx b/apps/dm_new/app/(with-layout)/apply/status/page.tsx index fa6ff7953..6fed04c2e 100644 --- a/apps/dm_new/app/(with-layout)/apply/status/page.tsx +++ b/apps/dm_new/app/(with-layout)/apply/status/page.tsx @@ -140,7 +140,7 @@ export default function DemandStatusPage() { // 수정용 (UI에서 바뀌는 값) const [editData, setEditData] = useState(null); // 원본 백업 (취소용) - const [originData, setOriginData] = useState(null); + /* const [originData, setOriginData] = useState(null); */ // 사용용도 const useTypesData = useDmStore((state) => state.Sdm.useTypesData); const getUseTypesData = useDmStore((state) => state.getUseTypesData); @@ -267,7 +267,7 @@ export default function DemandStatusPage() { // ph 전후로 나눔 const getRange = (val: string) => { - let a = val.split('~')[0]||''; let b = val.split('~')[1]||''; + const a = val.split('~')[0]||''; const b = val.split('~')[1]||''; return { a, b }; }; From 2042076597173303ada25b89dd7ab19c8473134a Mon Sep 17 00:00:00 2001 From: jsyang Date: Tue, 31 Mar 2026 21:06:38 +0900 Subject: [PATCH 08/20] =?UTF-8?q?middleware=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dm_new/app/(landing)/reuse/apply/status/page.tsx | 10 ++++++++-- apps/dm_new/middleware.ts | 11 ++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/apps/dm_new/app/(landing)/reuse/apply/status/page.tsx b/apps/dm_new/app/(landing)/reuse/apply/status/page.tsx index b69b0fdd9..3282f54a5 100644 --- a/apps/dm_new/app/(landing)/reuse/apply/status/page.tsx +++ b/apps/dm_new/app/(landing)/reuse/apply/status/page.tsx @@ -3,6 +3,7 @@ import { useEffect, useMemo, useRef, useState } from "react"; import SubPageHeader from "../../_components/SubPageHeader"; +//import { useDmStore } from "@/app/store"; type WaterDetail = { toc: string; @@ -114,12 +115,17 @@ type PairField = { label: string; value: string }; export default function DemandStatusPage() { const rows = useMemo(() => MOCK, []); - // ✅ rows가 빈 경우도 대비 (런타임 오류 방지) + // rows가 빈 경우도 대비 (런타임 오류 방지) const [selectedId, setSelectedId] = useState(rows[0]?.id ?? null); - // ✅ 상세영역 스크롤 이동용 + // 상세영역 스크롤 이동용 const detailRef = useRef(null); + // update + /* const updateSdmInfoData = useDmStore( + (state) => state.updateSdmInfoData + ); */ + // ✅ selected 계산 안정화 const selected = useMemo(() => { if (!rows.length) return null; diff --git a/apps/dm_new/middleware.ts b/apps/dm_new/middleware.ts index e7d7a1509..f4b438625 100644 --- a/apps/dm_new/middleware.ts +++ b/apps/dm_new/middleware.ts @@ -8,6 +8,7 @@ const serverApiUrl = process.env.NEXT_PUBLIC_CS_SERVER_API_URL; const GEOSERVER_URL = process.env.NEXT_PUBLIC_GEOSERVER_URL || ""; const LX_GEOSERVER_URL = process.env.NEXT_PUBLIC_LX_GEOSERVER_URL || ""; const GATEWAY_URL = process.env.NEXT_PUBLIC_GATEWAY_URL || ""; +const SEWERAGE_API_URL = process.env.NEXT_PUBLIC_SEWERAGE_API_URL || ""; const BUSINESS_JUSO_API_URL = process.env.NEXT_PUBLIC_FINDADRESS_URL || ""; const AdressKey = process.env.NEXT_PRIVATE_WR_ADDRESS_KEY || ""; @@ -81,6 +82,8 @@ export function middleware(req: NextRequest) { if (pathname.startsWith("/geoserver")) { let queryParams = searchParams.toString(); const typename = searchParams.get("TYPENAME"); + const startYmd = searchParams.get("START_YMD") ?? null; + const endYmd = searchParams.get("END_YMD") ?? null; console.log("typename ", typename); let newUrl = `${GEOSERVER_URL}${pathname.replace("/geoserver", "")}${queryParams ? `?${queryParams}` : ""}`; @@ -111,8 +114,14 @@ export function middleware(req: NextRequest) { ) { const url = req.nextUrl.clone(); url.searchParams.set("TYPENAME", typename.replace("hasudo:", "")); + if (startYmd) url.searchParams.set("startYmd", startYmd); + if (endYmd) url.searchParams.set("endYmd", endYmd); queryParams = url.searchParams.toString(); - newUrl = `${GATEWAY_URL}/api/v1/map/geometry${queryParams ? `?${queryParams}` : ""}`; + newUrl = `${SEWERAGE_API_URL}/api/v1/map/geometry${queryParams ? `?${queryParams}` : ""}`; + /* const url = req.nextUrl.clone(); + url.searchParams.set("TYPENAME", typename.replace("hasudo:", "")); + queryParams = url.searchParams.toString(); + newUrl = `${GATEWAY_URL}/api/v1/map/geometry${queryParams ? `?${queryParams}` : ""}`; */ } console.log(`[Middleware] Rewriting from '/geoserver' path to: ${newUrl}`); From 3ed8b4ed6c0982e5baa956a14ec965f2d609f0c2 Mon Sep 17 00:00:00 2001 From: jsyang Date: Tue, 31 Mar 2026 22:08:03 +0900 Subject: [PATCH 09/20] =?UTF-8?q?url=ED=99=95=EC=9D=B8=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dm_new/app/(popup-layout)/map/service/map.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/dm_new/app/(popup-layout)/map/service/map.ts b/apps/dm_new/app/(popup-layout)/map/service/map.ts index 00e3ab561..05f4a512b 100644 --- a/apps/dm_new/app/(popup-layout)/map/service/map.ts +++ b/apps/dm_new/app/(popup-layout)/map/service/map.ts @@ -43,6 +43,7 @@ export const mapService = { return response.json(); }, getPbnstRuseFclts: async (ruseFcltPk:any) => { + console.log('url :', `${DEV_URL_WR}`); const response = await fetch(`${DEV_URL_WR}/reuseFc/pubFc/${ruseFcltPk}`, { method: 'GET', headers: { From 688ec0f88fc12cedf8e4003370234a8cfc9cc342 Mon Sep 17 00:00:00 2001 From: jsyang Date: Wed, 1 Apr 2026 13:22:14 +0900 Subject: [PATCH 10/20] =?UTF-8?q?=EB=8C=80=EB=AF=BC=EC=A7=80=EC=9B=90=20?= =?UTF-8?q?=ED=9B=84=EB=B3=B4=EC=A7=80=EC=A1=B0=ED=9A=8C=20base.css=20styl?= =?UTF-8?q?e=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/(popup-layout)/map/popup/page.tsx | 1 + apps/dm_new/app/commonOrigin.css | 82 +++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 apps/dm_new/app/commonOrigin.css diff --git a/apps/dm_new/app/(popup-layout)/map/popup/page.tsx b/apps/dm_new/app/(popup-layout)/map/popup/page.tsx index e410ad2a7..c2d256f03 100644 --- a/apps/dm_new/app/(popup-layout)/map/popup/page.tsx +++ b/apps/dm_new/app/(popup-layout)/map/popup/page.tsx @@ -1,6 +1,7 @@ "use client"; import Gis from "@common/business_components/ui/map/Gis"; +import "@/app/commonOrigin.css"; import { useEffect, useRef, useState } from "react"; import { mapService } from "../service"; import GisApp from "@common/business_components/ui/map/lib/gis.core"; diff --git a/apps/dm_new/app/commonOrigin.css b/apps/dm_new/app/commonOrigin.css new file mode 100644 index 000000000..ae83edb9a --- /dev/null +++ b/apps/dm_new/app/commonOrigin.css @@ -0,0 +1,82 @@ + @import "../../../packages/common/components/src/base.css"; + +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + :root { + --background: 0 0% 100%; + --foreground: 0 0% 3.9%; + --card: 0 0% 100%; + --card-foreground: 0 0% 3.9%; + --popover: 0 0% 100%; + --popover-foreground: 0 0% 3.9%; + --primary: 0 0% 9%; + --primary-foreground: 0 0% 98%; + --secondary: 0 0% 96.1%; + --secondary-foreground: 0 0% 9%; + --muted: 0 0% 96.1%; + --muted-foreground: 0 0% 45.1%; + --accent: 0 0% 96.1%; + --accent-foreground: 0 0% 9%; + --destructive: 0 84.2% 60.2%; + --destructive-foreground: 0 0% 98%; + --border: 0 0% 89.8%; + --input: 0 0% 89.8%; + --ring: 0 0% 3.9%; + --chart-1: 12 76% 61%; + --chart-2: 173 58% 39%; + --chart-3: 197 37% 24%; + --chart-4: 43 74% 66%; + --chart-5: 27 87% 67%; + --radius: 0.5rem + } + .dark { + --background: 0 0% 3.9%; + --foreground: 0 0% 98%; + --card: 0 0% 3.9%; + --card-foreground: 0 0% 98%; + --popover: 0 0% 3.9%; + --popover-foreground: 0 0% 98%; + --primary: 0 0% 98%; + --primary-foreground: 0 0% 9%; + --secondary: 0 0% 14.9%; + --secondary-foreground: 0 0% 98%; + --muted: 0 0% 14.9%; + --muted-foreground: 0 0% 63.9%; + --accent: 0 0% 14.9%; + --accent-foreground: 0 0% 98%; + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 0 0% 98%; + --border: 0 0% 14.9%; + --input: 0 0% 14.9%; + --ring: 0 0% 83.1%; + --chart-1: 220 70% 50%; + --chart-2: 160 60% 45%; + --chart-3: 30 80% 55%; + --chart-4: 280 65% 60%; + --chart-5: 340 75% 55% + } +} + +@layer base { + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + } +} + +@font-face { + font-family: "NotoSansKR"; + src: url("/fonts/NotoSansKR-Regular.woff2") format("woff2"); + font-weight: 400; + font-style: normal; + font-display: swap; +} + +body { + font-family: "NotoSansKR", sans-serif; +} \ No newline at end of file From b0f71f2239a40d89a6937af84b8976f7ca277e10 Mon Sep 17 00:00:00 2001 From: jsyang Date: Wed, 1 Apr 2026 13:35:02 +0900 Subject: [PATCH 11/20] =?UTF-8?q?=EB=93=A4=EC=97=AC=EC=93=B0=EA=B8=B0=20?= =?UTF-8?q?=EC=88=98=EC=A0=95(=EA=B0=9C=EB=B0=9C=EC=84=9C=EB=B2=84=20?= =?UTF-8?q?=EA=B9=83=EB=AA=BB=EB=B6=88=EB=9F=AC=EC=99=80=EC=84=9C=20?= =?UTF-8?q?=ED=99=95=EC=9D=B8=EC=9A=A9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dm_new/app/commonOrigin.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/dm_new/app/commonOrigin.css b/apps/dm_new/app/commonOrigin.css index ae83edb9a..fdc8d0eb8 100644 --- a/apps/dm_new/app/commonOrigin.css +++ b/apps/dm_new/app/commonOrigin.css @@ -1,4 +1,4 @@ - @import "../../../packages/common/components/src/base.css"; +@import "../../../packages/common/components/src/base.css"; @tailwind base; @tailwind components; From e7f4da23226cb42c1a96ee9cd7d5c7b336cf53fd Mon Sep 17 00:00:00 2001 From: jsyang Date: Wed, 1 Apr 2026 14:37:16 +0900 Subject: [PATCH 12/20] =?UTF-8?q?=EB=AF=B8=EB=93=A4=EC=9B=A8=EC=96=B4=20re?= =?UTF-8?q?use-service=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dm_new/middleware.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/dm_new/middleware.ts b/apps/dm_new/middleware.ts index f4b438625..47f94aef5 100644 --- a/apps/dm_new/middleware.ts +++ b/apps/dm_new/middleware.ts @@ -130,7 +130,8 @@ export function middleware(req: NextRequest) { if (pathname.startsWith("/reuse-service")) { const queryParams = searchParams.toString(); - const newUrl = `${GATEWAY_URL}${pathname}${queryParams ? `?${queryParams}` : ""}`; + const newPath = pathname.replace("/reuse-service", ""); + const newUrl = `${GATEWAY_URL}/reuse-service/api/v1${newPath}${queryParams ? `?${queryParams}` : ""}`; console.log(`[Middleware] Rewriting from '/reuse-service' path to: ${newUrl}`); return NextResponse.rewrite(new URL(newUrl)); } else if (pathname.startsWith("/operation-service")) { From df7a66b2c750d549f256edd4685b80f293624fdc Mon Sep 17 00:00:00 2001 From: jsyang Date: Wed, 1 Apr 2026 15:31:37 +0900 Subject: [PATCH 13/20] =?UTF-8?q?=ED=9B=84=EB=B3=B4=EC=A7=80=20=EC=84=A0?= =?UTF-8?q?=ED=83=9D=20=ED=9B=84=20=EC=88=98=EC=9A=94=EC=A0=95=EB=B3=B4?= =?UTF-8?q?=EC=97=90=20=EC=9E=85=EB=A0=A5,=20=EC=A0=80=EC=9E=A5=20?= =?UTF-8?q?=EC=8B=9C=20=EB=84=98=EC=96=B4=EA=B0=80=EB=8A=94=20=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=ED=95=84?= =?UTF-8?q?=EC=9A=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/(with-layout)/apply/register/page.tsx | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/apps/dm_new/app/(with-layout)/apply/register/page.tsx b/apps/dm_new/app/(with-layout)/apply/register/page.tsx index a82b89726..0b3d24999 100644 --- a/apps/dm_new/app/(with-layout)/apply/register/page.tsx +++ b/apps/dm_new/app/(with-layout)/apply/register/page.tsx @@ -15,6 +15,7 @@ import CandidateSiteModal, { type CandidateSite } from "@/components/CandidateSi import { useDmStore} from "@/app/store"; import type { SdmInfoFormData } from "@/app/store/sdmMng"; import SimilarCaseModal, { type SimilarCaseDetail, type SimilarCaseRow } from "@/app/(landing)/reuse/apply/modal/SimilarCaseModal"; +import type { SubsInfo } from "@/app/store/map/type"; type PHRange = { min: string; max: string }; @@ -58,6 +59,7 @@ export default function DemandRegisterPage() { const [cand1, setCand1] = useState(""); const [cand2, setCand2] = useState(""); const [cand3, setCand3] = useState(""); + const [candidateList, setCandidateList] = useState([]); const useTypesData = useDmStore((state) => state.Sdm.useTypesData); const getUseTypesData = useDmStore((state) => state.getUseTypesData); @@ -76,6 +78,28 @@ export default function DemandRegisterPage() { getUseTypesData(); }, [getUseTypesData]); + useEffect(() => { + const handler = (event: MessageEvent) => { + if (!event.data) return; + + if (event.data.type === "SET_SUBS_INFO") { + const list = event.data.payload || []; + + // 최대 3개 + setCand1(list[0]?.ruseUtztnFcltNm || ""); + setCand2(list[1]?.ruseUtztnFcltNm || ""); + setCand3(list[2]?.ruseUtztnFcltNm || ""); + setCandidateList(list); + } + }; + + window.addEventListener("message", handler); + + return () => { + window.removeEventListener("message", handler); + }; + }, []); + // option // 'req':필수 / 'num' : 숫자 / 'num+[숫자] : 자릿수 const validation = (val, text, option :string[]=[] ) => { @@ -226,7 +250,8 @@ export default function DemandRegisterPage() { smll : odor, cdtnv : Number(ec)||null, crmty : Number(color)||null, - rmrk : remark + rmrk : remark, + splyCndtList : candidateList } insertSdmInfoData(payload); } From fa648555743d91ccd6d21b205161f43ff27ef4a8 Mon Sep 17 00:00:00 2001 From: jsyang Date: Wed, 1 Apr 2026 16:24:15 +0900 Subject: [PATCH 14/20] =?UTF-8?q?middleware=20=EC=9B=90=EB=B3=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dm_new/middleware.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/dm_new/middleware.ts b/apps/dm_new/middleware.ts index 47f94aef5..f4b438625 100644 --- a/apps/dm_new/middleware.ts +++ b/apps/dm_new/middleware.ts @@ -130,8 +130,7 @@ export function middleware(req: NextRequest) { if (pathname.startsWith("/reuse-service")) { const queryParams = searchParams.toString(); - const newPath = pathname.replace("/reuse-service", ""); - const newUrl = `${GATEWAY_URL}/reuse-service/api/v1${newPath}${queryParams ? `?${queryParams}` : ""}`; + const newUrl = `${GATEWAY_URL}${pathname}${queryParams ? `?${queryParams}` : ""}`; console.log(`[Middleware] Rewriting from '/reuse-service' path to: ${newUrl}`); return NextResponse.rewrite(new URL(newUrl)); } else if (pathname.startsWith("/operation-service")) { From 1dee2c4200979607541d74f7c68cee61f5f2e18a Mon Sep 17 00:00:00 2001 From: mind-one001 Date: Wed, 1 Apr 2026 17:03:16 +0900 Subject: [PATCH 15/20] =?UTF-8?q?=EB=8C=80=EB=AF=BC=20=EC=88=98=EC=9A=94?= =?UTF-8?q?=EC=A0=95=EB=B3=B4=EB=93=B1=EB=A1=9D=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/(popup-layout)/map/popup/page.tsx | 88 +++++++++++++++++-- .../map/popup/selectedFcltList.tsx | 40 ++++----- .../app/(popup-layout)/map/service/map.ts | 6 +- .../app/(with-layout)/apply/register/page.tsx | 61 ++++++++++++- apps/dm_new/app/store/sdmMng/index.tsx | 12 +-- apps/dm_new/components/ui/config/index.ts | 6 +- .../map/SearchInputText/SearchInputText.tsx | 10 +-- .../components/ui/map/searchBar/searchBar.tsx | 59 +++++++------ apps/dm_new/middleware.ts | 11 +-- 9 files changed, 208 insertions(+), 85 deletions(-) diff --git a/apps/dm_new/app/(popup-layout)/map/popup/page.tsx b/apps/dm_new/app/(popup-layout)/map/popup/page.tsx index e410ad2a7..1c625bcac 100644 --- a/apps/dm_new/app/(popup-layout)/map/popup/page.tsx +++ b/apps/dm_new/app/(popup-layout)/map/popup/page.tsx @@ -29,10 +29,15 @@ const Map = () => { ruseUtztnFcltCd: fclt.pbnstRuseFcltId, })); + if (!window.opener || typeof window.opener.postMessage !== "function") { + alert("부모 창을 찾을 수 없습니다. 팝업이 'noopener'로 열렸거나, 보안 정책으로 차단되었을 수 있어요."); + return; + } + window.opener.postMessage( { type: "SET_SUBS_INFO", - payload: subsInfoList, // 또는 필요한 데이터 + payload: subsInfoList, // 배열로 전송 (최대 3개) }, "*" ); @@ -52,9 +57,23 @@ const Map = () => { //하수처리시설코드로 재이용시설 목록 조회 const reuseData = async (ruseFcltPk: any) => { + if (!ruseFcltPk) { + console.warn("[reuseData] ruseFcltPk가 없습니다."); + return; + } try { + console.log("[reuseData] API 호출 - ruseFcltPk:", ruseFcltPk); const response = await mapService.getPbnstRuseFclts(ruseFcltPk); - const data = response.data || []; + console.log("[reuseData] API 응답 전체:", response); + // 응답이 배열이면 바로 사용, 객체면 .data 추출 + const data = Array.isArray(response) + ? response + : Array.isArray(response?.data) + ? response.data + : response?.data + ? [response.data] + : []; + console.log("[reuseData] 파싱된 data:", data); setSelectedFclts((prev) => { const newItems = data.filter( (item: any) => @@ -62,7 +81,7 @@ const Map = () => { Object.keys(item).length > 0 && !prev.some((f) => f.pbnstRuseFcltId === item.pbnstRuseFcltId) ); - console.log(newItems); + console.log("[reuseData] 추가될 newItems:", newItems); return [...prev, ...newItems]; }); } catch (error) { @@ -75,11 +94,45 @@ const Map = () => { fetchData(); }, []); + // 부모창에 초기 선택값 요청 (팝업 열릴 때 기존 선택 목록 받아오기) + useEffect(() => { + const origin = window.location.origin; + if (window.opener) { + window.opener.postMessage({ type: "REQUEST_INIT_SUBS_INFO" }, origin); + } + }, []); + + // 부모창에서 초기 선택값 수신 + useEffect(() => { + const origin = window.location.origin; + + const handler = (event: MessageEvent) => { + if (event.origin !== origin) return; + + const data = event.data; + if (!data || typeof data !== "object") return; + + if (data.type === "INIT_SUBS_INFO") { + const list = Array.isArray(data.payload) ? data.payload : []; + setSelectedFclts( + list.map((x) => ({ + ruseUtztnFcltNm: x.ruseUtztnFcltNm ?? "", + pbnstRuseFcltId: x.ruseUtztnFcltCd ?? "", + })) + ); + } + }; + + window.addEventListener("message", handler); + return () => window.removeEventListener("message", handler); + }, []); + // 레이어 생성 후 초기화 처리 const onCheckedLayersChange = () => { //수요처 ID const urlParams = new URLSearchParams(window.location.search); const dmdInfoId = urlParams.get("dmdInfoId"); + console.log("[하이라이트] dmdInfoId:", dmdInfoId); //수요처 위치로 화면 이동 const maps = gisMaps.current; @@ -88,22 +141,42 @@ const Map = () => { const featureId = `${layerNm}.${dmdInfoId}`; let foundFeature: any = null; + // 현재 로드된 레이어 목록 출력 + const allLayerNames = maps + .getLayers() + .getArray() + .map((l: any) => l.get("lyrTyNm") || l.get("name") || "(unnamed)"); + console.log("[하이라이트] 전체 레이어 목록:", allLayerNames); + console.log("[하이라이트] 탐색 대상 레이어:", layerNm); + console.log("[하이라이트] 탐색 대상 featureId:", featureId); + maps .getLayers() .getArray() .forEach((layer: any) => { if (layer.get("lyrTyNm") == layerNm) { + console.log("[하이라이트] 레이어 발견:", layerNm); const source = layer.getSource?.(); if (source?.getFeatureById) { const feature = source.getFeatureById(String(featureId).trim()); + console.log("[하이라이트] feature 탐색결과:", feature); if (feature) { foundFeature = feature; return; - } + } + // feature 못 찾을 때 소스 내 전체 feature ID 출력 + if (source?.getFeatures) { + const allIds = source.getFeatures().map((f: any) => f.getId()); + console.log("[하이라이트] 소스 내 전체 feature ID:", allIds); + } } } }); + if (!foundFeature) { + console.warn("[하이라이트] feature를 찾지 못했습니다. 위 레이어 목록/ID를 확인하세요."); + } + if (foundFeature) { const geometry = foundFeature.getGeometry(); @@ -133,7 +206,7 @@ const Map = () => { { width: 30 } ); } else { - alert("수요처의 좌표정보를 찾을수 없으므로, 상단 조회조건의 시설명을 입력하여 위치를 조회하시기 바랍니다."); + console.warn("수요처의 좌표정보를 찾을 수 없습니다. dmdInfoId:", dmdInfoId); } const formatNumber = (val: any) => { @@ -185,6 +258,7 @@ const Map = () => { // 검색해서 재이용시설 선택하면 해당 시설로 화면 이동 처리 useEffect(() => { + console.warn(selectDataPk); if (!selectDataPk || Object.keys(selectDataPk).length === 0) return; const maps = gisMaps.current; let foundFeature: any = null; @@ -226,8 +300,12 @@ const Map = () => { // 재이용시설 클릭 시 선택 시설목록에 추가 const onFeatureSelect = (data: any) => { + // feature의 모든 속성 출력 (어떤 키가 있는지 확인) + const properties = data.getProperties?.() ?? {}; + console.log("[onFeatureSelect] feature 속성 전체:", properties); // 처리시설코드 const swtrmtFcltCd = data.get("swtrmt_fclt_cd"); + console.log("[onFeatureSelect] swtrmt_fclt_cd:", swtrmtFcltCd); reuseData(swtrmtFcltCd); }; diff --git a/apps/dm_new/app/(popup-layout)/map/popup/selectedFcltList.tsx b/apps/dm_new/app/(popup-layout)/map/popup/selectedFcltList.tsx index bdf4d7e2c..5c742684f 100644 --- a/apps/dm_new/app/(popup-layout)/map/popup/selectedFcltList.tsx +++ b/apps/dm_new/app/(popup-layout)/map/popup/selectedFcltList.tsx @@ -22,36 +22,32 @@ export default function SelectedFcltList({ const TableContent = ( <> - + - 시설명 - - 하수처리량 -
- (㎥/일) + 시설명 + + 처리량(㎥/일) - - 재이용량 -
- (㎥/일) + + 재이용량(㎥/일) - 삭제 + 삭제 {data.map((item) => ( - - {item.ruseUtztnFcltNm} - + + {item.ruseUtztnFcltNm} + {Number(item.splyExtraCpct || 0).toLocaleString()} - + {Number(item.ruseCpct || 0).toLocaleString()} - + @@ -392,7 +395,7 @@ export default function DemandStatusPage() {
) - } */} + } {!selectedSdmInfoStatus ? ( From 112634a8e387a645951b6862e5f7b351c0cd6af5 Mon Sep 17 00:00:00 2001 From: ljpark Date: Thu, 2 Apr 2026 11:06:03 +0900 Subject: [PATCH 17/20] =?UTF-8?q?dm:=20.env=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dm/.env.local | 2 +- apps/dm/.env.mindone | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/dm/.env.local b/apps/dm/.env.local index 88b6f8067..234d496d9 100644 --- a/apps/dm/.env.local +++ b/apps/dm/.env.local @@ -19,7 +19,7 @@ NEXT_PUBLIC_NGII_PARAM = 04trYP9_xwLAfALjwZ-B8g&service=WMTS&request=GetTile&ver NEXT_PUBLIC_GATEWAY_URL=http://con.mind-one.co.kr:11083 # 개발 서버 API #NEXT_PUBLIC_SEWERAGE_API_URL=http://192.168.1.128:8883/sewerage-service/api # 최용성 #NEXT_PUBLIC_SEWERAGE_API_URL=http://192.168.1.66:8883/sewerage-service/api # 박이정 -NEXT_PUBLIC_CM_LOGIN_PAGE_URL = http://dev.onasys.co.kr:3000/auth/login +NEXT_PUBLIC_CM_LOGIN_PAGE_URL = / NEXT_PUBLIC_FINDADRESS_URL=https://business.juso.go.kr/addrlink/addrLinkApi.do diff --git a/apps/dm/.env.mindone b/apps/dm/.env.mindone index da6f80177..64b982cdc 100644 --- a/apps/dm/.env.mindone +++ b/apps/dm/.env.mindone @@ -17,7 +17,7 @@ NEXT_PUBLIC_SEWERAGE_API_URL=http://con.mind-one.co.kr:11083/sewerage-service NEXT_PUBLIC_GATEWAY_URL=http://con.mind-one.co.kr:11083 # 개발 서버 API # NEXT_PUBLIC_SEWERAGE_API_URL=http://192.168.1.128:8883/sewerage-service/api # 최용성 #NEXT_PUBLIC_SEWERAGE_API_URL=http://192.168.1.66:8883/sewerage-service/api # 박이정 -NEXT_PUBLIC_CM_LOGIN_PAGE_URL = http://dev.onasys.co.kr:3000/auth/login +NEXT_PUBLIC_CM_LOGIN_PAGE_URL = / NEXT_PUBLIC_FINDADRESS_URL=https://business.juso.go.kr/addrlink/addrLinkApi.do From f5f2a8f675ce1f9e08fce5dc870c0cb5a97ede54 Mon Sep 17 00:00:00 2001 From: jsyang Date: Thu, 2 Apr 2026 11:31:43 +0900 Subject: [PATCH 18/20] =?UTF-8?q?=EC=8A=A4=ED=83=80=EC=9D=BC=EC=9E=AC?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dm_new/app/(popup-layout)/map/popup/page.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/dm_new/app/(popup-layout)/map/popup/page.tsx b/apps/dm_new/app/(popup-layout)/map/popup/page.tsx index bdce68a87..1c625bcac 100644 --- a/apps/dm_new/app/(popup-layout)/map/popup/page.tsx +++ b/apps/dm_new/app/(popup-layout)/map/popup/page.tsx @@ -1,7 +1,6 @@ "use client"; import Gis from "@common/business_components/ui/map/Gis"; -import "@/app/commonOrigin.css"; import { useEffect, useRef, useState } from "react"; import { mapService } from "../service"; import GisApp from "@common/business_components/ui/map/lib/gis.core"; From f528c0e893fbd4967abd92e37713dc0bb1f06ed4 Mon Sep 17 00:00:00 2001 From: jsyang Date: Thu, 2 Apr 2026 15:44:40 +0900 Subject: [PATCH 19/20] =?UTF-8?q?=EC=88=98=EC=9A=94=EC=8B=A0=EC=B2=AD?= =?UTF-8?q?=ED=98=84=ED=99=A9=EC=97=90=EC=84=9C=20=EC=88=98=EC=9A=94?= =?UTF-8?q?=EC=A0=95=EB=B3=B4=20=EC=88=98=EC=A0=95=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/(with-layout)/apply/status/page.tsx | 115 ++++++++++++++++-- apps/dm_new/app/store/sdmMng/index.tsx | 18 +++ 2 files changed, 123 insertions(+), 10 deletions(-) diff --git a/apps/dm_new/app/(with-layout)/apply/status/page.tsx b/apps/dm_new/app/(with-layout)/apply/status/page.tsx index afd1bfd96..182fd6221 100644 --- a/apps/dm_new/app/(with-layout)/apply/status/page.tsx +++ b/apps/dm_new/app/(with-layout)/apply/status/page.tsx @@ -123,7 +123,7 @@ function DateInput({ } export default function DemandStatusPage() { - const { getSdmInfoStatusList, Sdm, Common } = useDmStore((state) => state); + const { getSdmInfoStatusList, updateSdmInfoData, Sdm, Common } = useDmStore((state) => state); const { successLogin, sdmInfoStatusList } = Sdm; const { selectSidoData, selectSigunData } = Common; @@ -243,13 +243,15 @@ export default function DemandStatusPage() { }, [selectedSdmInfoStatus]); const candidateNames = useMemo(() => { - const list = selectedSdmInfoStatus?.splyCndtList ?? []; + const list = isEditMode + ? editData?.splyCndtList ?? [] + : selectedSdmInfoStatus?.splyCndtList ?? []; return [ list[0]?.ruseUtztnFcltNm ?? "", list[1]?.ruseUtztnFcltNm ?? "", list[2]?.ruseUtztnFcltNm ?? "", ]; - }, [selectedSdmInfoStatus]); + }, [isEditMode, editData, selectedSdmInfoStatus]); const onSelectSdmInfoStatus = (dmdInfoSn: number | "") => { if(isEditMode){ @@ -269,6 +271,61 @@ export default function DemandStatusPage() { return { a, b }; }; + const searchCandidate = (e: React.MouseEvent) => { + e.preventDefault(); + e.stopPropagation(); + const dmdInfoId = JSON.parse( + sessionStorage.getItem("user") || "{}" + )?.dmdInfoId?.toString(); + + const url = `/map/popup?dmdInfoId=${encodeURIComponent(dmdInfoId)}`; + const width = window.screen.availWidth; + const height = window.screen.availHeight; + const left = 0; + const top = 0; + const popupOptions = `width=${width},height=${height},left=${left},top=${top},resizable=yes,scrollbars=yes`; + window.open(url, "candidatePopup", popupOptions); + }; + + const saveInfo = () => { + if(confirm('수정된 데이터를 저장하시겠습니까?')){ + const payload = { + ...editData, + splyCndtList : editData.splyCndtList ?? [] + }; + + updateSdmInfoData(payload).then((res) => { + if (res) { + const user = JSON.parse(sessionStorage.getItem("user") || "{}"); + if (user?.dmdInfoId) { + getSdmInfoStatusList(user.dmdInfoId); + } + setIsEditMode(false); + } + }); + } + } + + useEffect(() => { + const handler = (event: MessageEvent) => { + if (!event.data) return; + + if (event.data.type === "SET_SUBS_INFO") { + const list = event.data.payload || []; + setEditData((prev) => ({ + ...prev, + splyCndtList: list, + })); + } + }; + + window.addEventListener("message", handler); + + return () => { + window.removeEventListener("message", handler); + }; + }, []); + return (
@@ -372,13 +429,7 @@ export default function DemandStatusPage() { type="button" className="h-8 rounded-md bg-[#888] px-4 text-base text-white hover:bg-neutral-700" onClick={() => { - setOriginData(editData); - setIsEditMode(false); - - if(confirm('수정된 데이터를 저장하시겠습니까?')){ - //todo - // updateSdmInfoData(editData); - } + saveInfo(); }} > 저장 @@ -582,9 +633,53 @@ export default function DemandStatusPage() {
공급처 후보지 + { + isEditMode && + + } +
{candidateNames.map((candidateName, index) => ( + isEditMode ? ( +
+
+ 후보지{index + 1} +
+
+ { + setEditData((prev) => { + const newList = [...(prev.splyCndtList || [])]; + newList[index] = { + ...newList[index], + ruseUtztnFcltNm: v, + }; + return { + ...prev, + splyCndtList: newList, + }; + }); + }} + /> +
+
+ ) :
=> { } } +// 수요정보 수정 +const fetchUpdateSdmInfoData = async (data: SdmInfoFormData): Promise => { + try { + await postFetch("/reuseFc/request/updateDemandInfo", data); + alert('수요 정보 수정에 성공하였습니다.'); + return true; + } catch (error) { + console.log(error); + alert('수요 정보 수정에 실패하였습니다.'); + return false; + } +} + const postSdmLoginData = async (data: DemandCompType) => { try { const res = await postFetch("/reuseFc/request/login", data); @@ -539,6 +552,7 @@ export type SdmActions = { initializeSdmData: () => void; insertSdmData: (data: DemandCompType) => Promise; insertSdmInfoData: (data: SdmInfoFormData) => Promise; + updateSdmInfoData: (data: SdmInfoFormData) => Promise; getDemandCompList: (searchText: string, pageCnt: number) => Promise; actionLogin: (data: DemandCompType) => Promise; getSdmInfoStatusList: (dmdInfoId: string) => Promise; @@ -617,6 +631,10 @@ export const SdmReducer = (set: any): SdmActions => { return await postSdmInfoData(data); }, + updateSdmInfoData: async (data: SdmInfoFormData): Promise => { + return await fetchUpdateSdmInfoData(data); + }, + // 수요처 정보 getDemandCompList: async (searchText: string, pageCnt: number) => { const res = await getDemandCompList(searchText, pageCnt); From 049ea098d038bf078a7ab9201e6a773a4160f57a Mon Sep 17 00:00:00 2001 From: jsyang Date: Fri, 3 Apr 2026 13:29:20 +0900 Subject: [PATCH 20/20] =?UTF-8?q?=EC=88=98=EC=9A=94=EC=8B=A0=EC=B2=AD?= =?UTF-8?q?=ED=98=84=ED=99=A9=20=EC=88=98=EC=A0=95=EC=9D=BC=EC=9E=90,=20?= =?UTF-8?q?=EB=93=B1=EB=A1=9D=EC=9D=BC=EC=9E=90=20=EC=B6=94=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dm_new/app/(with-layout)/apply/register/page.tsx | 1 + apps/dm_new/app/(with-layout)/apply/status/page.tsx | 6 +++++- apps/dm_new/app/store/sdmMng/index.tsx | 5 +++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/dm_new/app/(with-layout)/apply/register/page.tsx b/apps/dm_new/app/(with-layout)/apply/register/page.tsx index 038e637f3..db1c47cb5 100644 --- a/apps/dm_new/app/(with-layout)/apply/register/page.tsx +++ b/apps/dm_new/app/(with-layout)/apply/register/page.tsx @@ -689,6 +689,7 @@ export default function DemandRegisterPage() { const code = getCriterionCode(criterion); if (!code) return; // 값은 상황에 맞게 (예시: usePurpose) + console.log(code+' req: '+reqQty+' purpose :'+usePurpose); await getSimilarCaseList(code, code == 'S' ? reqQty : code == 'U' ? usePurpose : ''); }} /> diff --git a/apps/dm_new/app/(with-layout)/apply/status/page.tsx b/apps/dm_new/app/(with-layout)/apply/status/page.tsx index 182fd6221..dab5d46bb 100644 --- a/apps/dm_new/app/(with-layout)/apply/status/page.tsx +++ b/apps/dm_new/app/(with-layout)/apply/status/page.tsx @@ -354,7 +354,9 @@ export default function DemandStatusPage() { 회사명 공장주소 전화번호 - 신청일자 + 요구시기 + 등록일자 + 수정일자 진행상태 @@ -395,6 +397,8 @@ export default function DemandStatusPage() { {formatValue(sdmInfoStatus.daddr)} {formatValue(sdmInfoStatus.telno)} {formatDate(sdmInfoStatus.dmndTmng)} + {formatDate(sdmInfoStatus.regDt)} + {formatDate(sdmInfoStatus.mdfcnDt)} diff --git a/apps/dm_new/app/store/sdmMng/index.tsx b/apps/dm_new/app/store/sdmMng/index.tsx index b35814f4e..1f4bfa572 100644 --- a/apps/dm_new/app/store/sdmMng/index.tsx +++ b/apps/dm_new/app/store/sdmMng/index.tsx @@ -77,8 +77,9 @@ export type DemandCompBizType = { dmdInfoSn: number | ''; status: string | ''; splyCndtList: SupplyCandidate[] | [], - ruseUtztnFcltNm?: string | '' - + ruseUtztnFcltNm?: string | ''; + regDt: string | ''; + mdfcnDt : string | ''; } // 공급 후보자 타입 정의