@vtx/ol-map 1.0.146 → 1.0.148
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +205 -205
- package/lib/_util/EventEmitter.js +11 -13
- package/lib/_util/EventEmitter.js.map +1 -1
- package/lib/_util/StyleCache.js +8 -10
- package/lib/_util/StyleCache.js.map +1 -1
- package/lib/_util/encryptParams.js +17 -22
- package/lib/_util/encryptParams.js.map +1 -1
- package/lib/_util/filterSpecialCharacters.js +12 -12
- package/lib/_util/filterSpecialCharacters.js.map +1 -1
- package/lib/_util/getComponentProps.js +1 -1
- package/lib/_util/getComponentProps.js.map +1 -1
- package/lib/_util/getCookie.js +5 -6
- package/lib/_util/getCookie.js.map +1 -1
- package/lib/_util/getDefaultMapInfo.js +7 -8
- package/lib/_util/getDefaultMapInfo.js.map +1 -1
- package/lib/_util/getSystemInfo.js +7 -8
- package/lib/_util/getSystemInfo.js.map +1 -1
- package/lib/_util/getToken.js +2 -4
- package/lib/_util/getToken.js.map +1 -1
- package/lib/_util/getUrlParam.js +2 -3
- package/lib/_util/getUrlParam.js.map +1 -1
- package/lib/_util/http.js +30 -32
- package/lib/_util/http.js.map +1 -1
- package/lib/_util/isFunction.js.map +1 -1
- package/lib/_util/isObject.js.map +1 -1
- package/lib/_util/layer.js +33 -37
- package/lib/_util/layer.js.map +1 -1
- package/lib/_util/mapTool.js +36 -37
- package/lib/_util/mapTool.js.map +1 -1
- package/lib/_util/projzh/datum/bd-09.js +2 -3
- package/lib/_util/projzh/datum/bd-09.js.map +1 -1
- package/lib/_util/projzh/datum/gcj-02.js +1 -2
- package/lib/_util/projzh/datum/gcj-02.js.map +1 -1
- package/lib/_util/projzh/datum/index.js +2 -3
- package/lib/_util/projzh/datum/index.js.map +1 -1
- package/lib/_util/projzh/index.js +2 -3
- package/lib/_util/projzh/index.js.map +1 -1
- package/lib/_util/projzh/projection/baidu-mercator.js +1 -2
- package/lib/_util/projzh/projection/baidu-mercator.js.map +1 -1
- package/lib/_util/projzh/projection/index.js +2 -3
- package/lib/_util/projzh/projection/index.js.map +1 -1
- package/lib/_util/projzh/projection/spherical-mercator.js +1 -2
- package/lib/_util/projzh/projection/spherical-mercator.js.map +1 -1
- package/lib/_util/projzh/util.js +1 -2
- package/lib/_util/projzh/util.js.map +1 -1
- package/lib/_util/search.js +13 -16
- package/lib/_util/search.js.map +1 -1
- package/lib/_util/setCookie.js +5 -6
- package/lib/_util/setCookie.js.map +1 -1
- package/lib/_util/stringToFun.js +5 -5
- package/lib/_util/stringToFun.js.map +1 -1
- package/lib/_util/transform.js +9 -10
- package/lib/_util/transform.js.map +1 -1
- package/lib/_util/useColSize.js +2 -3
- package/lib/_util/useColSize.js.map +1 -1
- package/lib/_util/useInterval.js.map +1 -1
- package/lib/_util/useSet.js +12 -13
- package/lib/_util/useSet.js.map +1 -1
- package/lib/analysis-layer/index.js +44 -50
- package/lib/analysis-layer/index.js.map +1 -1
- package/lib/analysis-layer/style/css.js.map +1 -1
- package/lib/analysis-layer/style/index.js.map +1 -1
- package/lib/buffer-draw/BufferDraw.js +11 -13
- package/lib/buffer-draw/BufferDraw.js.map +1 -1
- package/lib/buffer-draw/index.js +9 -10
- package/lib/buffer-draw/index.js.map +1 -1
- package/lib/buffer-draw/style/css.js.map +1 -1
- package/lib/buffer-draw/style/index.js.map +1 -1
- package/lib/circle/Circle.js +22 -24
- package/lib/circle/Circle.js.map +1 -1
- package/lib/circle/index.js +3 -4
- package/lib/circle/index.js.map +1 -1
- package/lib/circle/style/css.js.map +1 -1
- package/lib/circle/style/index.js.map +1 -1
- package/lib/config.js +1 -2
- package/lib/config.js.map +1 -1
- package/lib/convertCamelToCSS.js +1 -2
- package/lib/convertCamelToCSS.js.map +1 -1
- package/lib/dom/Dom.js +19 -21
- package/lib/dom/Dom.js.map +1 -1
- package/lib/dom/index.js +10 -11
- package/lib/dom/index.js.map +1 -1
- package/lib/dom/style/css.js.map +1 -1
- package/lib/dom/style/index.js.map +1 -1
- package/lib/events/index.js +2 -4
- package/lib/events/index.js.map +1 -1
- package/lib/feature-draw/FeatureDraw.js +40 -46
- package/lib/feature-draw/FeatureDraw.js.map +1 -1
- package/lib/feature-draw/index.js +11 -11
- package/lib/feature-draw/index.js.map +1 -1
- package/lib/feature-draw/style/css.js.map +1 -1
- package/lib/feature-draw/style/index.js.map +1 -1
- package/lib/feature-layer/FeatureLayer.js +64 -65
- package/lib/feature-layer/FeatureLayer.js.map +1 -1
- package/lib/feature-layer/MyCluster.js +28 -31
- package/lib/feature-layer/MyCluster.js.map +1 -1
- package/lib/feature-layer/createFeatureCollection.js +39 -47
- package/lib/feature-layer/createFeatureCollection.js.map +1 -1
- package/lib/feature-layer/index.js +15 -16
- package/lib/feature-layer/index.js.map +1 -1
- package/lib/feature-layer/style/css.js.map +1 -1
- package/lib/feature-layer/style/index.js.map +1 -1
- package/lib/flow-line-layer/FlowLineLayer.js +22 -25
- package/lib/flow-line-layer/FlowLineLayer.js.map +1 -1
- package/lib/flow-line-layer/index.js +15 -16
- package/lib/flow-line-layer/index.js.map +1 -1
- package/lib/flow-line-layer/style/css.js.map +1 -1
- package/lib/flow-line-layer/style/index.js.map +1 -1
- package/lib/fly-line-layer/FlyLineLayer.js +12 -14
- package/lib/fly-line-layer/FlyLineLayer.js.map +1 -1
- package/lib/fly-line-layer/index.js +8 -9
- package/lib/fly-line-layer/index.js.map +1 -1
- package/lib/fly-line-layer/style/css.js.map +1 -1
- package/lib/fly-line-layer/style/index.js.map +1 -1
- package/lib/group-layer/GroupLayer.js +10 -12
- package/lib/group-layer/GroupLayer.js.map +1 -1
- package/lib/group-layer/index.js +8 -9
- package/lib/group-layer/index.js.map +1 -1
- package/lib/group-layer/style/css.js.map +1 -1
- package/lib/group-layer/style/index.js.map +1 -1
- package/lib/heatmap-layer/HeatmapLayer.js +29 -30
- package/lib/heatmap-layer/HeatmapLayer.js.map +1 -1
- package/lib/heatmap-layer/index.js +8 -9
- package/lib/heatmap-layer/index.js.map +1 -1
- package/lib/heatmap-layer/style/css.js.map +1 -1
- package/lib/heatmap-layer/style/index.js.map +1 -1
- package/lib/high-layer/HighLayer.js +13 -15
- package/lib/high-layer/HighLayer.js.map +1 -1
- package/lib/high-layer/index.js +11 -13
- package/lib/high-layer/index.js.map +1 -1
- package/lib/high-layer/style/css.js.map +1 -1
- package/lib/high-layer/style/index.js.map +1 -1
- package/lib/image-layer/ImageLayer.js +31 -33
- package/lib/image-layer/ImageLayer.js.map +1 -1
- package/lib/image-layer/ImageTileLayer.js +31 -33
- package/lib/image-layer/ImageTileLayer.js.map +1 -1
- package/lib/image-layer/index.js +10 -11
- package/lib/image-layer/index.js.map +1 -1
- package/lib/image-layer/style/css.js.map +1 -1
- package/lib/image-layer/style/index.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/legend/index.js +20 -23
- package/lib/legend/index.js.map +1 -1
- package/lib/legend/style/css.js.map +1 -1
- package/lib/legend/style/index.js.map +1 -1
- package/lib/legend/style/index.less +100 -100
- package/lib/map/Analysis.js +24 -27
- package/lib/map/Analysis.js.map +1 -1
- package/lib/map/Layers.js +24 -28
- package/lib/map/Layers.js.map +1 -1
- package/lib/map/Popup.js +22 -24
- package/lib/map/Popup.js.map +1 -1
- package/lib/map/ScaleDenominator.js +9 -11
- package/lib/map/ScaleDenominator.js.map +1 -1
- package/lib/map/Test.js +12 -14
- package/lib/map/Test.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js +1 -2
- package/lib/map/getBaseLayers/imagery/amap/AmapImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js +2 -3
- package/lib/map/getBaseLayers/imagery/baidu/BaiduImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js +8 -10
- package/lib/map/getBaseLayers/imagery/geoq/GeoQImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/imagery/tdt/TdtImageryProvider.js +7 -9
- package/lib/map/getBaseLayers/imagery/tdt/TdtImageryProvider.js.map +1 -1
- package/lib/map/getBaseLayers/index.js +11 -13
- package/lib/map/getBaseLayers/index.js.map +1 -1
- package/lib/map/index.js +67 -70
- package/lib/map/index.js.map +1 -1
- package/lib/map/style/css.js.map +1 -1
- package/lib/map/style/index.js.map +1 -1
- package/lib/map/style/index.less +152 -152
- package/lib/map-icon/svg/index.js +2 -3
- package/lib/map-icon/svg/index.js.map +1 -1
- package/lib/map-icon/svg/tuceng.svg.js.map +1 -1
- package/lib/marker/Marker.js +23 -26
- package/lib/marker/Marker.js.map +1 -1
- package/lib/marker/index.js +3 -4
- package/lib/marker/index.js.map +1 -1
- package/lib/marker/style/css.js.map +1 -1
- package/lib/marker/style/index.js.map +1 -1
- package/lib/path-line-layer/PathLineLayer.js +21 -23
- package/lib/path-line-layer/PathLineLayer.js.map +1 -1
- package/lib/path-line-layer/getPathLineStyles.js +8 -9
- package/lib/path-line-layer/getPathLineStyles.js.map +1 -1
- package/lib/path-line-layer/index.js +15 -16
- package/lib/path-line-layer/index.js.map +1 -1
- package/lib/path-line-layer/style/css.js.map +1 -1
- package/lib/path-line-layer/style/index.js.map +1 -1
- package/lib/path-play-back/PathPlayBack.js +51 -28
- package/lib/path-play-back/PathPlayBack.js.map +1 -1
- package/lib/path-play-back/index.js +17 -10
- package/lib/path-play-back/index.js.map +1 -1
- package/lib/path-play-back/style/css.js.map +1 -1
- package/lib/path-play-back/style/index.js.map +1 -1
- package/lib/poi-search/Location.js +7 -8
- package/lib/poi-search/Location.js.map +1 -1
- package/lib/poi-search/PoiList.js +9 -10
- package/lib/poi-search/PoiList.js.map +1 -1
- package/lib/poi-search/Search.js +20 -21
- package/lib/poi-search/Search.js.map +1 -1
- package/lib/poi-search/index.js +9 -11
- package/lib/poi-search/index.js.map +1 -1
- package/lib/poi-search/style/css.js.map +1 -1
- package/lib/poi-search/style/index.js.map +1 -1
- package/lib/poi-search/style/index.less +97 -97
- package/lib/point/Point.js +22 -24
- package/lib/point/Point.js.map +1 -1
- package/lib/point/index.js +3 -4
- package/lib/point/index.js.map +1 -1
- package/lib/point/style/css.js.map +1 -1
- package/lib/point/style/index.js.map +1 -1
- package/lib/polygon/Polygon.js +22 -24
- package/lib/polygon/Polygon.js.map +1 -1
- package/lib/polygon/index.js +3 -4
- package/lib/polygon/index.js.map +1 -1
- package/lib/polygon/style/css.js.map +1 -1
- package/lib/polygon/style/index.js.map +1 -1
- package/lib/polyline/Polyline.js +22 -24
- package/lib/polyline/Polyline.js.map +1 -1
- package/lib/polyline/index.js +3 -4
- package/lib/polyline/index.js.map +1 -1
- package/lib/polyline/style/css.js.map +1 -1
- package/lib/polyline/style/index.js.map +1 -1
- package/lib/popup/index.js +14 -16
- package/lib/popup/index.js.map +1 -1
- package/lib/popup/style/css.js.map +1 -1
- package/lib/popup/style/index.js.map +1 -1
- package/lib/popup/style/index.less +129 -129
- package/lib/provider/index.js +3 -5
- package/lib/provider/index.js.map +1 -1
- package/lib/provider/style/css.js.map +1 -1
- package/lib/provider/style/index.js.map +1 -1
- package/lib/renderer/Fill.js +17 -19
- package/lib/renderer/Fill.js.map +1 -1
- package/lib/renderer/Stroke.js +17 -19
- package/lib/renderer/Stroke.js.map +1 -1
- package/lib/renderer/index.js +12 -15
- package/lib/renderer/index.js.map +1 -1
- package/lib/renderer/style/css.js.map +1 -1
- package/lib/renderer/style/index.js.map +1 -1
- package/lib/renderer/transformRgb.js +1 -2
- package/lib/renderer/transformRgb.js.map +1 -1
- package/lib/search-map/VtxModal.js +22 -25
- package/lib/search-map/VtxModal.js.map +1 -1
- package/lib/search-map/index.js +175 -98
- package/lib/search-map/index.js.map +1 -1
- package/lib/search-map/style/css.js.map +1 -1
- package/lib/search-map/style/index.js.map +1 -1
- package/lib/search-map/style/index.less +82 -82
- package/lib/search-map/style/modal.less +58 -58
- package/lib/style/index.less +2 -2
- package/lib/style/themes/compact.less +1 -1
- package/lib/style/themes/dark.less +9 -9
- package/lib/style/themes/default.less +7 -7
- package/lib/style/themes/index.less +1 -1
- package/lib/style/themes/variable.less +5 -5
- package/lib/tile-layer/TileLayer.js +21 -24
- package/lib/tile-layer/TileLayer.js.map +1 -1
- package/lib/tile-layer/index.js +3 -4
- package/lib/tile-layer/index.js.map +1 -1
- package/lib/tile-layer/style/css.js.map +1 -1
- package/lib/tile-layer/style/index.js.map +1 -1
- package/lib/tools/Layer/LayerService.js +8 -9
- package/lib/tools/Layer/LayerService.js.map +1 -1
- package/lib/tools/Layer/LayersCheckService.js +32 -39
- package/lib/tools/Layer/LayersCheckService.js.map +1 -1
- package/lib/tools/Layer/index.js +14 -15
- package/lib/tools/Layer/index.js.map +1 -1
- package/lib/tools/Layer/index.less +43 -43
- package/lib/tools/Search/index.js +18 -21
- package/lib/tools/Search/index.js.map +1 -1
- package/lib/tools/Toolbox/BoxSelect/index.js +5 -6
- package/lib/tools/Toolbox/BoxSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/CircleSelect/index.js +5 -6
- package/lib/tools/Toolbox/CircleSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/EagleEye/index.js +9 -11
- package/lib/tools/Toolbox/EagleEye/index.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/Bookmark.js +44 -50
- package/lib/tools/Toolbox/MapBookmark/Bookmark.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/index.js +34 -36
- package/lib/tools/Toolbox/MapBookmark/index.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/index.less +20 -20
- package/lib/tools/Toolbox/MapDownload/index.js +2 -2
- package/lib/tools/Toolbox/MapDownload/index.js.map +1 -1
- package/lib/tools/Toolbox/MapPrint/index.js +33 -36
- package/lib/tools/Toolbox/MapPrint/index.js.map +1 -1
- package/lib/tools/Toolbox/MapPrint/index.less +4 -4
- package/lib/tools/Toolbox/Measure/Area/index.js +3 -4
- package/lib/tools/Toolbox/Measure/Area/index.js.map +1 -1
- package/lib/tools/Toolbox/Measure/Distance/index.js +3 -4
- package/lib/tools/Toolbox/Measure/Distance/index.js.map +1 -1
- package/lib/tools/Toolbox/Measure/Measure.js +8 -10
- package/lib/tools/Toolbox/Measure/Measure.js.map +1 -1
- package/lib/tools/Toolbox/Measure/index.js +12 -14
- package/lib/tools/Toolbox/Measure/index.js.map +1 -1
- package/lib/tools/Toolbox/PolygonSelect/index.js +5 -6
- package/lib/tools/Toolbox/PolygonSelect/index.js.map +1 -1
- package/lib/tools/Toolbox/ScaleLine/index.js +9 -11
- package/lib/tools/Toolbox/ScaleLine/index.js.map +1 -1
- package/lib/tools/Toolbox/SelectTools/index.js +59 -62
- package/lib/tools/Toolbox/SelectTools/index.js.map +1 -1
- package/lib/tools/Toolbox/SelectTools/index.less +87 -87
- package/lib/tools/Toolbox/SpaceQuery/index.js +24 -25
- package/lib/tools/Toolbox/SpaceQuery/index.js.map +1 -1
- package/lib/tools/Toolbox/SpaceQuery/index.less +16 -16
- package/lib/tools/Toolbox/ZoomInput/index.js +9 -11
- package/lib/tools/Toolbox/ZoomInput/index.js.map +1 -1
- package/lib/tools/Toolbox/ZoomInput/index.less +5 -5
- package/lib/tools/Toolbox/index.js +7 -10
- package/lib/tools/Toolbox/index.js.map +1 -1
- package/lib/tools/Toolbox/index.less +2 -2
- package/lib/tools/Utils/CreateOverlay.js +10 -11
- package/lib/tools/Utils/CreateOverlay.js.map +1 -1
- package/lib/tools/Utils/Draw.js +16 -19
- package/lib/tools/Utils/Draw.js.map +1 -1
- package/lib/tools/Utils/HighLayer.js +14 -16
- package/lib/tools/Utils/HighLayer.js.map +1 -1
- package/lib/tools/Utils/measure.js +6 -7
- package/lib/tools/Utils/measure.js.map +1 -1
- package/lib/tools/Utils/utils.js +36 -45
- package/lib/tools/Utils/utils.js.map +1 -1
- package/lib/tools/View/index.js +14 -16
- package/lib/tools/View/index.js.map +1 -1
- package/lib/tools/View/index.less +28 -28
- package/lib/tools/analysis-tool/index.js +18 -20
- package/lib/tools/analysis-tool/index.js.map +1 -1
- package/lib/tools/base-map-switch/index.js +27 -17
- package/lib/tools/base-map-switch/index.js.map +1 -1
- package/lib/tools/components/Chart/index.js +129 -140
- package/lib/tools/components/Chart/index.js.map +1 -1
- package/lib/tools/components/Icon/index.js +2 -3
- package/lib/tools/components/Icon/index.js.map +1 -1
- package/lib/tools/components/Info/index.js +2 -3
- package/lib/tools/components/Info/index.js.map +1 -1
- package/lib/tools/components/Info/index.less +26 -26
- package/lib/tools/components/ItemWrap/index.js +9 -11
- package/lib/tools/components/ItemWrap/index.js.map +1 -1
- package/lib/tools/components/ItemWrap/index.less +41 -41
- package/lib/tools/components/Modal/index.js +10 -11
- package/lib/tools/components/Modal/index.js.map +1 -1
- package/lib/tools/components/Modal/index.less +33 -33
- package/lib/tools/components/MyTabs/index.js +1 -1
- package/lib/tools/components/MyTabs/index.js.map +1 -1
- package/lib/tools/components/RequiredLabel/index.js +7 -7
- package/lib/tools/components/RequiredLabel/index.js.map +1 -1
- package/lib/tools/components/RequiredLabel/index.less +5 -5
- package/lib/tools/components/Select/index.js +2 -3
- package/lib/tools/components/Select/index.js.map +1 -1
- package/lib/tools/components/Table/index.js +17 -19
- package/lib/tools/components/Table/index.js.map +1 -1
- package/lib/tools/components/Table/index.less +13 -13
- package/lib/tools/components/ToolItem/index.js +2 -3
- package/lib/tools/components/ToolItem/index.js.map +1 -1
- package/lib/tools/components/ToolItem/index.less +27 -27
- package/lib/tools/components/ToolsSelect/index.js +2 -3
- package/lib/tools/components/ToolsSelect/index.js.map +1 -1
- package/lib/tools/components/ToolsSelect/index.less +10 -10
- package/lib/tools/full-screen/index.js +10 -12
- package/lib/tools/full-screen/index.js.map +1 -1
- package/lib/tools/index.js +10 -11
- package/lib/tools/index.js.map +1 -1
- package/lib/tools/layer-control/index.js +22 -26
- package/lib/tools/layer-control/index.js.map +1 -1
- package/lib/tools/refresh/index.js +10 -12
- package/lib/tools/refresh/index.js.map +1 -1
- package/lib/tools/style/css.js.map +1 -1
- package/lib/tools/style/index.js.map +1 -1
- package/lib/tools/style/index.less +154 -154
- package/lib/tools-item/index.js +9 -11
- package/lib/tools-item/index.js.map +1 -1
- package/lib/use-props/index.js +1 -2
- package/lib/use-props/index.js.map +1 -1
- package/lib/use-props/style/css.js.map +1 -1
- package/lib/use-props/style/index.js.map +1 -1
- package/lib/wms-layer/WmsLayer.js +31 -33
- package/lib/wms-layer/WmsLayer.js.map +1 -1
- package/lib/wms-layer/index.js +10 -11
- package/lib/wms-layer/index.js.map +1 -1
- package/lib/wms-layer/style/css.js.map +1 -1
- package/lib/wms-layer/style/index.js.map +1 -1
- package/package.json +120 -120
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
@@ -23,34 +23,33 @@ var _WmsLayer = _interopRequireDefault(require("../../../wms-layer/WmsLayer"));
|
|
|
23
23
|
var _turf = require("@turf/turf");
|
|
24
24
|
var _Info = _interopRequireDefault(require("../../components/Info"));
|
|
25
25
|
var _Chart = _interopRequireDefault(require("../../components/Chart"));
|
|
26
|
-
function _interopRequireDefault(
|
|
27
|
-
function
|
|
28
|
-
function
|
|
29
|
-
function
|
|
30
|
-
function
|
|
31
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
26
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
27
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
28
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
29
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
30
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
32
31
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
33
|
-
function _iterableToArray(
|
|
34
|
-
function _arrayWithoutHoles(
|
|
35
|
-
function _defineProperty(
|
|
36
|
-
function _toPropertyKey(
|
|
37
|
-
function _toPrimitive(
|
|
38
|
-
function _slicedToArray(
|
|
32
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
33
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
34
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
35
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
36
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
37
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
39
38
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
40
|
-
function _unsupportedIterableToArray(
|
|
41
|
-
function _arrayLikeToArray(
|
|
42
|
-
function _iterableToArrayLimit(
|
|
43
|
-
function _arrayWithHoles(
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
40
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
41
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
42
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /*
|
|
43
|
+
* @Description:框选、圈选、多边形选择
|
|
44
|
+
*/
|
|
46
45
|
var classPrefix = 'selectTools';
|
|
47
46
|
var getFeatureIntersects = function getFeatureIntersects(polygon, feature) {
|
|
48
47
|
var _feature$getGeometry, _feature$getGeometry2, _feature$getGeometry3, _lngLat$;
|
|
49
|
-
var lngLat = feature === null || feature === void 0
|
|
48
|
+
var lngLat = feature === null || feature === void 0 || (_feature$getGeometry = feature.getGeometry()) === null || _feature$getGeometry === void 0 ? void 0 : _feature$getGeometry.getCoordinates();
|
|
50
49
|
var poly = (0, _turf.polygon)(polygon.getCoordinates());
|
|
51
50
|
var pt;
|
|
52
51
|
var B = false;
|
|
53
|
-
if ((feature === null || feature === void 0
|
|
52
|
+
if ((feature === null || feature === void 0 || (_feature$getGeometry2 = feature.getGeometry()) === null || _feature$getGeometry2 === void 0 ? void 0 : _feature$getGeometry2.getType()) === 'Point') {
|
|
54
53
|
lngLat.map(function (v) {
|
|
55
54
|
return Number(v);
|
|
56
55
|
});
|
|
@@ -63,12 +62,12 @@ var getFeatureIntersects = function getFeatureIntersects(polygon, feature) {
|
|
|
63
62
|
}
|
|
64
63
|
}
|
|
65
64
|
}
|
|
66
|
-
if ((feature === null || feature === void 0
|
|
65
|
+
if ((feature === null || feature === void 0 || (_feature$getGeometry3 = feature.getGeometry()) === null || _feature$getGeometry3 === void 0 ? void 0 : _feature$getGeometry3.getType()) === 'Polygon' && lngLat !== null && lngLat !== void 0 && (_lngLat$ = lngLat[0]) !== null && _lngLat$ !== void 0 && _lngLat$.length) {
|
|
67
66
|
var _lngLat$2;
|
|
68
|
-
lngLat === null || lngLat === void 0
|
|
67
|
+
lngLat === null || lngLat === void 0 || lngLat[0].map(function (v) {
|
|
69
68
|
return Number(v);
|
|
70
69
|
});
|
|
71
|
-
lngLat === null || lngLat === void 0
|
|
70
|
+
lngLat === null || lngLat === void 0 || (_lngLat$2 = lngLat[0]) === null || _lngLat$2 === void 0 || _lngLat$2.map(function (item) {
|
|
72
71
|
pt = (0, _turf.point)(item);
|
|
73
72
|
if (poly && pt) {
|
|
74
73
|
var _intersects = (0, _turf.booleanPointInPolygon)(pt, poly);
|
|
@@ -120,7 +119,7 @@ var LayerSelect = function LayerSelect(props) {
|
|
|
120
119
|
clearTimeout(time.current);
|
|
121
120
|
}
|
|
122
121
|
time.current = setTimeout(function () {
|
|
123
|
-
onChange === null || onChange === void 0
|
|
122
|
+
onChange === null || onChange === void 0 || onChange(value);
|
|
124
123
|
}, 500);
|
|
125
124
|
};
|
|
126
125
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -371,7 +370,6 @@ var DEVICE_STATUS_NAME = {
|
|
|
371
370
|
color: '#CE3739'
|
|
372
371
|
} // 故障/堵塞
|
|
373
372
|
};
|
|
374
|
-
|
|
375
373
|
var DeviceInfo = function DeviceInfo(props) {
|
|
376
374
|
var data = props.data;
|
|
377
375
|
var list = (0, _react.useMemo)(function () {
|
|
@@ -435,9 +433,9 @@ var DeviceInfo = function DeviceInfo(props) {
|
|
|
435
433
|
var DeviceDataView = function DeviceDataView(props) {
|
|
436
434
|
var dataSource = props.dataSource;
|
|
437
435
|
var _useState9 = (0, _react.useState)(null),
|
|
438
|
-
|
|
439
|
-
filter =
|
|
440
|
-
setFilter =
|
|
436
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
437
|
+
filter = _useState0[0],
|
|
438
|
+
setFilter = _useState0[1];
|
|
441
439
|
var columns = [{
|
|
442
440
|
title: '状态',
|
|
443
441
|
dataIndex: 'status',
|
|
@@ -504,7 +502,7 @@ var DeviceDataView = function DeviceDataView(props) {
|
|
|
504
502
|
}))
|
|
505
503
|
});
|
|
506
504
|
};
|
|
507
|
-
var _default = function _default(props) {
|
|
505
|
+
var _default = exports["default"] = function _default(props) {
|
|
508
506
|
var onClose = props.onClose,
|
|
509
507
|
drawType = props.drawType,
|
|
510
508
|
title = props.title,
|
|
@@ -512,26 +510,26 @@ var _default = function _default(props) {
|
|
|
512
510
|
statistic = props.statistic;
|
|
513
511
|
var _useProps2 = (0, _useProps3["default"])(),
|
|
514
512
|
map = _useProps2.map;
|
|
515
|
-
var
|
|
513
|
+
var _useState1 = (0, _react.useState)(''),
|
|
514
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
515
|
+
currentLayerKey = _useState10[0],
|
|
516
|
+
setCurrentLayerKey = _useState10[1];
|
|
517
|
+
var _useState11 = (0, _react.useState)([]),
|
|
516
518
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
var _useState13 = (0, _react.useState)(
|
|
519
|
+
dataSource = _useState12[0],
|
|
520
|
+
setDataSource = _useState12[1];
|
|
521
|
+
var _useState13 = (0, _react.useState)(false),
|
|
520
522
|
_useState14 = _slicedToArray(_useState13, 2),
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
var _useState15 = (0, _react.useState)(
|
|
523
|
+
loading = _useState14[0],
|
|
524
|
+
setLoading = _useState14[1];
|
|
525
|
+
var _useState15 = (0, _react.useState)([]),
|
|
524
526
|
_useState16 = _slicedToArray(_useState15, 2),
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
var _useState17 = (0, _react.useState)(
|
|
527
|
+
layersOpts = _useState16[0],
|
|
528
|
+
setLayersOpts = _useState16[1];
|
|
529
|
+
var _useState17 = (0, _react.useState)({}),
|
|
528
530
|
_useState18 = _slicedToArray(_useState17, 2),
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
var _useState19 = (0, _react.useState)({}),
|
|
532
|
-
_useState20 = _slicedToArray(_useState19, 2),
|
|
533
|
-
feature = _useState20[0],
|
|
534
|
-
setFeature = _useState20[1];
|
|
531
|
+
feature = _useState18[0],
|
|
532
|
+
setFeature = _useState18[1];
|
|
535
533
|
var draw = (0, _react.useRef)();
|
|
536
534
|
var currentKey = (0, _react.useRef)();
|
|
537
535
|
(0, _ahooks.useDeepCompareEffect)(function () {
|
|
@@ -579,7 +577,7 @@ var _default = function _default(props) {
|
|
|
579
577
|
});
|
|
580
578
|
|
|
581
579
|
// 当前key对应的图层还显示的话取当前的key否者取第一个layersOpts的key
|
|
582
|
-
var _key = opts === null || opts === void 0
|
|
580
|
+
var _key = opts === null || opts === void 0 || (_opts$ = opts[0]) === null || _opts$ === void 0 ? void 0 : _opts$.value;
|
|
583
581
|
if (currentKey.current) {
|
|
584
582
|
var layer = map.layers.getLayerByKey(currentKey.current);
|
|
585
583
|
if (layer && layer !== null && layer !== void 0 && layer.show) {
|
|
@@ -595,7 +593,7 @@ var _default = function _default(props) {
|
|
|
595
593
|
var _feature$getGeometry4;
|
|
596
594
|
setDataSource([]);
|
|
597
595
|
if (!feature) return;
|
|
598
|
-
var geometry = feature === null || feature === void 0
|
|
596
|
+
var geometry = feature === null || feature === void 0 || (_feature$getGeometry4 = feature.getGeometry) === null || _feature$getGeometry4 === void 0 ? void 0 : _feature$getGeometry4.call(feature);
|
|
599
597
|
if (!geometry) return;
|
|
600
598
|
setLoading(true);
|
|
601
599
|
var layer = map.layers.getLayerByKey(currentLayerKey);
|
|
@@ -620,12 +618,12 @@ var _default = function _default(props) {
|
|
|
620
618
|
}
|
|
621
619
|
};
|
|
622
620
|
|
|
623
|
-
/**
|
|
624
|
-
* @description: wfs图层时获取框选数据
|
|
625
|
-
* @param {*} geometry
|
|
626
|
-
* @param {*} layer
|
|
627
|
-
* @param {*} tableData
|
|
628
|
-
* @return {*}
|
|
621
|
+
/**
|
|
622
|
+
* @description: wfs图层时获取框选数据
|
|
623
|
+
* @param {*} geometry
|
|
624
|
+
* @param {*} layer
|
|
625
|
+
* @param {*} tableData
|
|
626
|
+
* @return {*}
|
|
629
627
|
*/
|
|
630
628
|
var getWfsData = function getWfsData(geometry, layer, tableData) {
|
|
631
629
|
var extent = geometry.getExtent();
|
|
@@ -685,13 +683,13 @@ var _default = function _default(props) {
|
|
|
685
683
|
}
|
|
686
684
|
};
|
|
687
685
|
|
|
688
|
-
/**
|
|
689
|
-
* @description: wms图层时获取框选数据
|
|
690
|
-
* @return {*}
|
|
686
|
+
/**
|
|
687
|
+
* @description: wms图层时获取框选数据
|
|
688
|
+
* @return {*}
|
|
691
689
|
*/
|
|
692
690
|
var getWmsData = function getWmsData(geometry, layer, tableData) {
|
|
693
|
-
var _layer$getSource, _layer$
|
|
694
|
-
var _filter = (layer === null || layer === void 0
|
|
691
|
+
var _layer$getSource, _layer$group;
|
|
692
|
+
var _filter = (layer === null || layer === void 0 || (_layer$getSource = layer.getSource()) === null || _layer$getSource === void 0 || (_layer$getSource = _layer$getSource.params_) === null || _layer$getSource === void 0 ? void 0 : _layer$getSource.cql_filter) || '';
|
|
695
693
|
if (layer !== null && layer !== void 0 && (_layer$group = layer.group) !== null && _layer$group !== void 0 && _layer$group.length) {
|
|
696
694
|
_filter = (0, _ImageLayer.getFilter)(layer.group);
|
|
697
695
|
}
|
|
@@ -747,8 +745,8 @@ var _default = function _default(props) {
|
|
|
747
745
|
var isDeviceLayer = (0, _react.useMemo)(function () {
|
|
748
746
|
var _layer$params, _layer$url;
|
|
749
747
|
var layer = map === null || map === void 0 ? void 0 : map.getLayerByKey(currentLayerKey);
|
|
750
|
-
var deviceTypeId = layer === null || layer === void 0
|
|
751
|
-
var url = (layer === null || layer === void 0
|
|
748
|
+
var deviceTypeId = layer === null || layer === void 0 || (_layer$params = layer.params) === null || _layer$params === void 0 ? void 0 : _layer$params.deviceTypeId;
|
|
749
|
+
var url = (layer === null || layer === void 0 || (_layer$url = layer.url) === null || _layer$url === void 0 ? void 0 : _layer$url.indexOf('/cloud/device/deviceMap/list')) !== -1;
|
|
752
750
|
return Boolean(deviceTypeId && url);
|
|
753
751
|
}, [currentLayerKey]);
|
|
754
752
|
|
|
@@ -775,5 +773,4 @@ var _default = function _default(props) {
|
|
|
775
773
|
dataSource: dataSource
|
|
776
774
|
})));
|
|
777
775
|
};
|
|
778
|
-
exports["default"] = _default;
|
|
779
776
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_antd","_icons","_Table","_interopRequireDefault","_Modal","_layer","_layer2","_Polygon","_Draw","_useProps3","_classnames2","_ahooks","_ImageLayer","_WmsLayer","_turf","_Info","_Chart","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","err","classPrefix","getFeatureIntersects","polygon","feature","_feature$getGeometry","_feature$getGeometry2","_feature$getGeometry3","_lngLat$","lngLat","getGeometry","getCoordinates","poly","TurfPolygon","pt","B","getType","map","v","TurfPoint","intersects","TurfBooleanPointInPolygon","_lngLat$2","item","LayerSelect","props","_list","_props$options","options","onChange","currentKey","_useState","useState","_useState2","open","setOpen","_useState3","_useState4","active","setActive","time","useRef","useUpdateEffect","createElement","Fragment","showOpen","list","onClick","current","clearTimeout","setTimeout","className","classnames","concat","Space","size","wrap","index","label","Divider","style","margin","Button","icon","VerticalAlignTopOutlined","VerticalAlignBottomOutlined","type","TableView","dataSource","otherColumns","columns","info","_useProps","useProps","_useState5","_useState6","title","dataIndex","width","render","text","record","_map$getViewport","doc","document","getElementsByClassName","rect","getBoundingClientRect","parentRect","getViewport","left","showTemplate","fitViewOptions","padding","minHeight","rowKey","CaretUpOutlined","CaretDownOutlined","TYPE","TableOutlined","BarChartOutlined","LineChartOutlined","PieChartOutlined","ChartView","data","height","yAxis","show","legend","xAxis","field","unit","series","radius","center","position","formatter","PipeDataView","_TYPE$","_useState7","_useState8","setType","chartData","useMemo","ds","d","totalLength","reduce","prev","cur","Segmented","toFixed","DEVICE_STATUS_NAME","color","DeviceInfo","val","deviceValues","device","factorValues","factor","monitorItemName","formatValue","collectFrequency","dataVal","maxValue","Math","max","minValue","min","avgValue","DeviceDataView","_useState9","_useState10","setFilter","_DEVICE_STATUS_NAME$t","tableData","status","getTotal","_default","onClose","drawType","renderTableActive","statistic","_useProps2","_useState11","_useState12","currentLayerKey","setCurrentLayerKey","_useState13","_useState14","setDataSource","_useState15","_useState16","loading","setLoading","_useState17","_useState18","layersOpts","setLayersOpts","_useState19","_useState20","setFeature","draw","useDeepCompareEffect","useEffect","layersChange","getOptions","layers","on","un","Draw","zIndex","destroy","hideTemplate","_opts$","opts","getAllLayers","viewOnly","layerControl","_key","layer","getLayerByKey","_feature$getGeometry4","geometry","Image","WmsLayer","getWmsData","Vector","getWfsData","message","extent","getExtent","getSource","features","getFeatureInfo","listKeys","getKeys","labelField","NAME","forEachFeatureIntersectingExtent","featureList","addTableData","f","polygonGeometry","fromCircle","featureIntersects","setHighlightFeature","_layer$getSource","_layer$getSource$para","_layer$group","_filter","params_","cql_filter","group","getFilter","coorStr","coordinates","getWFSFeatureInfoByLayer","then","line_length","lineLength","isDeviceLayer","_layer$params","_layer$url","deviceTypeId","params","url","indexOf","Boolean","isPipeLineLayer","toUpperCase","Spin","spinning","exports"],"sources":["tools/Toolbox/SelectTools/index.js"],"sourcesContent":["/*\n * @Description:框选、圈选、多边形选择\n */\nimport React, { useEffect, useRef, useState, useMemo } from 'react';\nimport { message, Space, Divider, Button, Spin, Segmented } from 'antd';\nimport {\n CaretUpOutlined,\n CaretDownOutlined,\n TableOutlined,\n PieChartOutlined,\n BarChartOutlined,\n LineChartOutlined,\n} from '@ant-design/icons';\nimport Table from '../../components/Table';\nimport Modal from '../../components/Modal';\nimport { getWFSFeatureInfoByLayer } from '../../../_util/layer';\nimport { Image, Vector } from 'ol/layer';\nimport { fromCircle } from 'ol/geom/Polygon';\nimport Draw from '../../Utils/Draw';\nimport './index.less';\nimport useProps from '../../../use-props';\nimport classnames from 'classnames';\nimport { useUpdateEffect, useDeepCompareEffect } from 'ahooks';\nimport { VerticalAlignBottomOutlined, VerticalAlignTopOutlined } from '@ant-design/icons';\nimport { getFilter } from '../../../image-layer/ImageLayer';\nimport WmsLayer from '../../../wms-layer/WmsLayer';\nimport {\n booleanPointInPolygon as TurfBooleanPointInPolygon,\n point as TurfPoint,\n polygon as TurfPolygon,\n} from '@turf/turf';\nimport Info from '../../components/Info';\nimport Chart from '../../components/Chart';\n\nconst classPrefix = 'selectTools';\n\nconst getFeatureIntersects = (polygon, feature) => {\n let lngLat = feature?.getGeometry()?.getCoordinates();\n const poly = TurfPolygon(polygon.getCoordinates());\n\n let pt;\n let B = false;\n\n if (feature?.getGeometry()?.getType() === 'Point') {\n lngLat.map(v => Number(v));\n pt = TurfPoint(lngLat);\n // 判断在点在多边形内\n if (poly && pt) {\n const intersects = TurfBooleanPointInPolygon(pt, poly);\n if (intersects) {\n B = true;\n }\n }\n }\n\n if (feature?.getGeometry()?.getType() === 'Polygon' && lngLat?.[0]?.length) {\n lngLat?.[0].map(v => Number(v));\n lngLat?.[0]?.map(item => {\n pt = TurfPoint(item);\n if (poly && pt) {\n const intersects = TurfBooleanPointInPolygon(pt, poly);\n if (intersects) {\n B = true;\n }\n }\n });\n }\n\n return B;\n};\n\nconst LayerSelect = props => {\n const { options = [], value, onChange, currentKey } = props;\n const [open, setOpen] = useState(false);\n const [active, setActive] = useState(value);\n const time = useRef();\n\n useUpdateEffect(() => {\n setActive(value);\n }, [value]);\n\n if (!options?.length) {\n return <></>;\n }\n const showOpen = options?.length > 9;\n\n let list = options;\n if (options?.length) {\n if (!open) {\n if (options.length > 9) {\n list = options.slice(0, 9);\n }\n } else {\n list = options;\n }\n }\n\n const onClick = value => {\n setActive(value);\n currentKey.current = value;\n\n if (time.current) {\n clearTimeout(time.current);\n }\n\n time.current = setTimeout(() => {\n onChange?.(value);\n }, 500);\n };\n\n return (\n <div\n className={classnames(`${classPrefix}-layer-select`, {\n 'selectTools-layer-select-scroll': open,\n })}\n >\n <Space size={[8, 8]} wrap>\n {list?.length > 0 &&\n list.map((item, index) => (\n <div\n key={index}\n className={classnames(`${classPrefix}-layer-select-item`, {\n [`${classPrefix}-layer-select-item-active`]: active === item.value,\n })}\n onClick={() => onClick(item.value)}\n >\n {item.label}\n </div>\n ))}\n </Space>\n\n {showOpen && (\n <Divider style={{ margin: 0 }}>\n <Button\n icon={open ? <VerticalAlignTopOutlined /> : <VerticalAlignBottomOutlined />}\n onClick={() => setOpen(!open)}\n type=\"link\"\n >\n {open ? '收起' : '展开'}\n </Button>\n </Divider>\n )}\n </div>\n );\n};\n\nconst TableView = props => {\n const { dataSource, columns: otherColumns, info } = props;\n const { map } = useProps();\n const [open, setOpen] = useState(true);\n\n const columns = [\n {\n title: '编码/名称',\n dataIndex: 'NAME',\n width: 180,\n render: (text, record) => {\n return (\n <a\n onClick={() => {\n let doc = document.getElementsByClassName('ol-map-tools')[0];\n let rect = doc?.getBoundingClientRect();\n let parentRect = map.getViewport()?.getBoundingClientRect();\n let left = 400;\n if (rect && parentRect) {\n left = rect?.left - parentRect?.left + 12 + 350 + 150;\n }\n map.showTemplate(record.feature, {\n fitViewOptions: { padding: [100, 400, 100, left] },\n });\n }}\n >\n {text}\n </a>\n );\n },\n },\n ...(otherColumns || []),\n ];\n\n return (\n <>\n <div style={{ minHeight: 20 }}>\n {open && (\n <>\n {info}\n <Table\n rowKey=\"code\"\n dataSource={dataSource}\n columns={columns}\n size=\"small\"\n />\n </>\n )}\n </div>\n\n {dataSource?.length > 0 && (\n <div className=\"ol-map-search-result-button\" onClick={() => setOpen(!open)}>\n {open ? '收起' : '展开'}\n {open ? <CaretUpOutlined /> : <CaretDownOutlined />}\n </div>\n )}\n </>\n );\n};\n\nconst TYPE = [\n { label: '表格', value: 'table', icon: <TableOutlined /> },\n { label: '柱状图', value: 'bar', icon: <BarChartOutlined /> },\n { label: '折线图', value: 'line', icon: <LineChartOutlined /> },\n { label: '饼图', value: 'pie', icon: <PieChartOutlined /> },\n];\n\nconst ChartView = props => {\n const { type, data } = props;\n return (\n <Chart\n style={{ height: 300 }}\n yAxis={{\n show: type !== 'pie',\n name: '条',\n }}\n legend={{ show: false }}\n xAxis={{\n show: type !== 'pie',\n field: 'name',\n }}\n unit=\"条\"\n series={[\n {\n type,\n name: '管线',\n radius: ['30%', '50%'],\n center: ['50%', '50%'],\n // data: data['供水量'] || [1000, 1200],\n ...(type === 'pie'\n ? {\n data,\n label: {\n show: true,\n position: 'outside',\n formatter: '{b}\\n{c}条',\n },\n }\n : {\n field: 'value',\n label: {\n show: true,\n position: 'top',\n formatter: '{c}条',\n },\n }),\n },\n ]}\n data={data}\n />\n );\n};\nconst PipeDataView = props => {\n const { dataSource } = props;\n const [type, setType] = useState(TYPE[0]?.value);\n\n const chartData = useMemo(() => {\n const data = [\n { name: '50mm以下', value: 0, filter: item => item.ds < 50 },\n { name: '50-100mm', value: 0, filter: item => item.ds >= 50 && item.ds < 100 },\n { name: '100-300mm', value: 0, filter: item => item.ds >= 100 && item.ds < 300 },\n { name: '300-600mm', value: 0, filter: item => item.ds >= 300 && item.ds < 600 },\n { name: '600-1000mm', value: 0, filter: item => item.ds >= 600 && item.ds < 1000 },\n { name: '1000mm以上', value: 0, filter: item => item.ds >= 1000 },\n ];\n dataSource.map(item => {\n item.ds = item.ds ? Number(item.ds) : 0;\n data.map(d => {\n if (d.filter(item)) {\n d.value += 1;\n }\n });\n });\n\n return data.filter(v => v.value > 0);\n }, [dataSource]);\n\n const columns = [\n {\n title: '长度(m)',\n dataIndex: 'lineLength',\n width: 100,\n },\n ];\n\n let totalLength = 0;\n if (dataSource?.length) {\n totalLength =\n dataSource.reduce((prev, cur) => {\n return prev + (cur['lineLength'] || 0);\n }, 0) / 1000;\n }\n return (\n <>\n <Segmented options={TYPE} value={type} onChange={setType} />\n\n {type === 'table' ? (\n <TableView\n columns={columns}\n dataSource={dataSource}\n info={\n <Info\n list={[\n { label: '管线总数', value: dataSource?.length || 0, unit: '条' },\n {\n label: '管线总长',\n value: totalLength\n ? Number(totalLength).toFixed(2)\n : totalLength,\n unit: 'km',\n },\n ]}\n />\n }\n />\n ) : (\n <ChartView data={chartData} type={type} />\n )}\n </>\n );\n};\n\nconst DEVICE_STATUS_NAME = {\n 1: { label: '在线', color: '#119FFB' }, // 正常/在线\n 2: { label: '报警', color: '#CE3739' }, // 报警/异常\n 3: { label: '离线', color: '#AAAAAD' }, // 离线\n 4: { label: '故障', color: '#CE3739' }, // 故障/堵塞\n};\nconst DeviceInfo = props => {\n const { data } = props;\n\n const list = useMemo(() => {\n const val = {};\n data.map(item => {\n const { deviceValues } = item;\n if (deviceValues?.length) {\n deviceValues.map(device => {\n const { factorValues } = device;\n if (factorValues?.length) {\n factorValues.map(factor => {\n const { monitorItemName, formatValue, unit, collectFrequency } = factor;\n if (collectFrequency === 'realtime' && formatValue) {\n val[monitorItemName] = val[monitorItemName] || {\n name: monitorItemName,\n unit: unit,\n data: [],\n };\n val[monitorItemName].data.push(Number(formatValue));\n }\n });\n }\n });\n }\n });\n\n const dataVal = [];\n for (let i in val) {\n const { data } = val[i];\n const maxValue = Math.max(...data);\n const minValue = Math.min(...data);\n const avgValue =\n data.reduce((prev, cur) => {\n return prev + cur;\n }, 0) / data.length;\n\n dataVal.push({\n ...val[i],\n maxValue,\n minValue,\n avgValue: avgValue ? Number(avgValue).toFixed(2) : avgValue,\n });\n }\n\n return dataVal;\n }, [data?.length]);\n\n if (!list?.length) {\n return <></>;\n }\n\n return (\n <div className={classnames(`${classPrefix}-device`)}>\n <div className={classnames(`${classPrefix}-device-top`)}>\n <div>监测项</div>\n <div>最大值</div>\n <div>最小值</div>\n <div>平均值</div>\n </div>\n <div className={classnames(`${classPrefix}-device-content`)}>\n {list?.length > 0 &&\n list.map((item, index) => (\n <div\n key={index}\n className={classnames(`${classPrefix}-device-content-item`)}\n >\n <div>{item.name}</div>\n <div>\n {item.maxValue}\n <span>{item.unit}</span>\n </div>\n <div>\n {item.minValue}\n <span>{item.unit}</span>\n </div>\n <div>\n {item.avgValue}\n <span>{item.unit}</span>\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\nconst DeviceDataView = props => {\n const { dataSource } = props;\n const [filter, setFilter] = useState(null);\n\n const columns = [\n {\n title: '状态',\n dataIndex: 'status',\n width: 100,\n render: text => {\n if (DEVICE_STATUS_NAME[text]) {\n const { color, label } = DEVICE_STATUS_NAME[text];\n return <span style={{ color }}>{label}</span>;\n }\n return '-';\n },\n },\n ];\n\n const tableData = useMemo(() => {\n return filter ? dataSource.filter(item => Number(item.status) === filter) : dataSource;\n }, [filter, dataSource?.length]);\n\n const getTotal = value => {\n return dataSource.filter(item => Number(item.status) === value).length;\n };\n return (\n <TableView\n columns={columns}\n dataSource={tableData}\n info={\n <div>\n <Info\n list={[\n {\n label: '总数',\n value: dataSource?.length || 0,\n unit: '个',\n onClick: () => setFilter(null),\n },\n {\n label: '在线',\n value: getTotal(1),\n unit: '个',\n onClick: () => setFilter(1),\n },\n {\n label: '报警',\n value: getTotal(2),\n unit: '个',\n onClick: () => setFilter(2),\n },\n {\n label: '离线',\n value: getTotal(3),\n unit: '个',\n onClick: () => setFilter(3),\n },\n ]}\n />\n <DeviceInfo data={dataSource} />\n </div>\n }\n />\n );\n};\n\nexport default props => {\n const { onClose, drawType, title, renderTableActive, statistic } = props;\n const { map } = useProps();\n const [currentLayerKey, setCurrentLayerKey] = useState('');\n const [dataSource, setDataSource] = useState([]);\n const [loading, setLoading] = useState(false);\n\n const [layersOpts, setLayersOpts] = useState([]);\n const [feature, setFeature] = useState({});\n\n const draw = useRef();\n const currentKey = useRef();\n\n useDeepCompareEffect(() => {\n onClick();\n }, [currentLayerKey, feature, layersOpts]);\n\n useEffect(() => {\n const layersChange = () => {\n getOptions();\n };\n\n layersChange();\n\n // 添加图层变化监听事件\n map.layers.on('change', layersChange);\n\n return () => {\n // 移除图层变化监听事件\n map.layers.un('change', layersChange);\n };\n }, []);\n\n useEffect(() => {\n draw.current = new Draw({ map, zIndex: 80 });\n draw.current.draw(drawType, feature => {\n setFeature(feature);\n });\n return () => {\n draw.current.destroy();\n map.hideTemplate();\n currentKey.current = null;\n };\n }, []);\n\n const getOptions = () => {\n if (map) {\n let opts = [];\n let layers = map.getAllLayers().filter(v => {\n return (\n !v.viewOnly &&\n v.key &&\n v.name &&\n v.layerControl &&\n v.show &&\n v.key !== 'Highlight'\n );\n });\n layers.map(v => {\n opts.push({\n ...v,\n value: v.key,\n label: v.name,\n });\n });\n\n // 当前key对应的图层还显示的话取当前的key否者取第一个layersOpts的key\n let _key = opts?.[0]?.value;\n if (currentKey.current) {\n let layer = map.layers.getLayerByKey(currentKey.current);\n if (layer && layer?.show) {\n _key = currentKey.current;\n }\n }\n currentKey.current = _key;\n setCurrentLayerKey(_key);\n setLayersOpts(opts);\n }\n };\n\n const onClick = () => {\n setDataSource([]);\n if (!feature) return;\n let geometry = feature?.getGeometry?.();\n if (!geometry) return;\n setLoading(true);\n\n let layer = map.layers.getLayerByKey(currentLayerKey);\n if (geometry && currentLayerKey && layer) {\n let tableData = [];\n // wms图层\n if (layer instanceof Image || layer instanceof WmsLayer) {\n getWmsData(geometry, layer, tableData);\n } else if (layer instanceof Vector) {\n getWfsData(geometry, layer, tableData);\n }\n } else {\n setLoading(false);\n if (!geometry) {\n message.destroy();\n message.info('请先框选图层', 2);\n }\n if (!currentLayerKey) {\n message.destroy();\n message.info('请先选择图层', 2);\n }\n }\n };\n\n /**\n * @description: wfs图层时获取框选数据\n * @param {*} geometry\n * @param {*} layer\n * @param {*} tableData\n * @return {*}\n */\n const getWfsData = (geometry, layer, tableData) => {\n let extent = geometry.getExtent();\n let source = layer.getSource();\n let features = [];\n const getFeatureInfo = feature => {\n let listKeys = feature.getKeys();\n let data = {};\n listKeys.forEach(item => {\n if (feature.get(item)) {\n data[item] = feature.get(item);\n\n if (layer.labelField) {\n data.NAME = feature.get(layer.labelField);\n }\n\n data.feature = feature;\n }\n });\n return data;\n };\n if (source.forEachFeatureIntersectingExtent && extent) {\n source.forEachFeatureIntersectingExtent(extent, feature => {\n let featureList = feature.get('features');\n\n const addTableData = f => {\n let data = getFeatureInfo(f);\n tableData.push(data);\n features.push(f);\n };\n if (featureList?.length > 1) {\n featureList.forEach(f => {\n // 圈选处理\n if (drawType === 'Circle') {\n const polygonGeometry = new fromCircle(geometry);\n const featureIntersects = getFeatureIntersects(polygonGeometry, f);\n if (!featureIntersects) {\n return;\n }\n }\n\n addTableData(f);\n });\n } else {\n // 圈选处理\n if (drawType === 'Circle') {\n const polygonGeometry = new fromCircle(geometry);\n const featureIntersects = getFeatureIntersects(polygonGeometry, feature);\n if (!featureIntersects) {\n return;\n }\n }\n\n addTableData(feature);\n }\n });\n setLoading(false);\n map.setHighlightFeature(features);\n setDataSource(tableData);\n } else {\n setLoading(false);\n }\n };\n\n /**\n * @description: wms图层时获取框选数据\n * @return {*}\n */\n const getWmsData = (geometry, layer, tableData) => {\n let _filter = layer?.getSource()?.params_?.cql_filter || '';\n\n if (layer?.group?.length) {\n _filter = getFilter(layer.group);\n }\n\n let coorStr = '';\n let coordinates = geometry.getCoordinates();\n\n // 圈选处理\n if (drawType === 'Circle') {\n let polygonGeometry = new fromCircle(geometry);\n coordinates = polygonGeometry.getCoordinates();\n }\n\n coordinates[0].forEach((v, i) => {\n if (i == 0) {\n coorStr += `${v[0]} ${v[1]}`;\n } else {\n coorStr += `, ${v[0]} ${v[1]}`;\n }\n });\n // 增加图层的其他过滤\n const filter = _filter ? `(${_filter}) and ` : '';\n\n getWFSFeatureInfoByLayer(\n layer,\n `${filter}INTERSECTS(geo_location, POLYGON((${coorStr})))`,\n ).then(features => {\n setLoading(false);\n map.setHighlightFeature(features);\n if (features?.length) {\n features.forEach(item => {\n let listKeys = item.getKeys();\n let data = {};\n listKeys.forEach(key => {\n if (item.get(key)) {\n data[key] = item.get(key);\n data.feature = item;\n }\n });\n if (layer.labelField) {\n data.NAME = item.get(layer.labelField) || '';\n }\n\n // 处理管线长度字段\n if (data.line_length) {\n data.lineLength = data.lineLength || data.line_length;\n }\n\n tableData.push(data);\n });\n setDataSource(tableData);\n } else {\n message.destroy();\n message.info('暂无数据', 2);\n }\n });\n };\n\n // 判断是否是设备图层\n const isDeviceLayer = useMemo(() => {\n const layer = map?.getLayerByKey(currentLayerKey);\n const deviceTypeId = layer?.params?.deviceTypeId;\n const url = layer?.url?.indexOf('/cloud/device/deviceMap/list') !== -1;\n return Boolean(deviceTypeId && url);\n }, [currentLayerKey]);\n\n // 判断是否是管线图层\n const isPipeLineLayer = currentLayerKey && currentLayerKey.toUpperCase().indexOf('LINE') !== -1;\n\n return (\n <Modal title={title || ''} onClose={onClose} width={300}>\n <Spin spinning={loading}>\n <LayerSelect\n options={layersOpts}\n value={currentLayerKey}\n onChange={setCurrentLayerKey}\n currentKey={currentKey}\n />\n\n {renderTableActive && renderTableActive(dataSource, currentLayerKey, onClick)}\n\n {statistic ? (\n isPipeLineLayer ? (\n <PipeDataView dataSource={dataSource} />\n ) : isDeviceLayer ? (\n <DeviceDataView dataSource={dataSource} />\n ) : (\n <TableView dataSource={dataSource} />\n )\n ) : (\n <TableView dataSource={dataSource} />\n )}\n </Spin>\n </Modal>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_antd","_icons","_Table","_interopRequireDefault","_Modal","_layer","_layer2","_Polygon","_Draw","_useProps3","_classnames2","_ahooks","_ImageLayer","_WmsLayer","_turf","_Info","_Chart","e","__esModule","t","WeakMap","r","n","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_toPropertyKey","value","configurable","writable","_toPrimitive","toPrimitive","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","a","toString","slice","constructor","name","test","l","u","next","done","classPrefix","getFeatureIntersects","polygon","feature","_feature$getGeometry","_feature$getGeometry2","_feature$getGeometry3","_lngLat$","lngLat","getGeometry","getCoordinates","poly","TurfPolygon","pt","B","getType","map","v","TurfPoint","intersects","TurfBooleanPointInPolygon","_lngLat$2","item","LayerSelect","props","_list","_props$options","options","onChange","currentKey","_useState","useState","_useState2","open","setOpen","_useState3","_useState4","active","setActive","time","useRef","useUpdateEffect","createElement","Fragment","showOpen","list","onClick","current","clearTimeout","setTimeout","className","classnames","concat","Space","size","wrap","index","key","label","Divider","style","margin","Button","icon","VerticalAlignTopOutlined","VerticalAlignBottomOutlined","type","TableView","dataSource","otherColumns","columns","info","_useProps","useProps","_useState5","_useState6","title","dataIndex","width","render","text","record","_map$getViewport","doc","document","getElementsByClassName","rect","getBoundingClientRect","parentRect","getViewport","left","showTemplate","fitViewOptions","padding","minHeight","rowKey","CaretUpOutlined","CaretDownOutlined","TYPE","TableOutlined","BarChartOutlined","LineChartOutlined","PieChartOutlined","ChartView","data","height","yAxis","show","legend","xAxis","field","unit","series","radius","center","position","formatter","PipeDataView","_TYPE$","_useState7","_useState8","setType","chartData","useMemo","ds","d","totalLength","reduce","prev","cur","Segmented","toFixed","DEVICE_STATUS_NAME","color","DeviceInfo","val","deviceValues","device","factorValues","factor","monitorItemName","formatValue","collectFrequency","dataVal","maxValue","Math","max","minValue","min","avgValue","DeviceDataView","_useState9","_useState0","setFilter","_DEVICE_STATUS_NAME$t","tableData","status","getTotal","_default","exports","onClose","drawType","renderTableActive","statistic","_useProps2","_useState1","_useState10","currentLayerKey","setCurrentLayerKey","_useState11","_useState12","setDataSource","_useState13","_useState14","loading","setLoading","_useState15","_useState16","layersOpts","setLayersOpts","_useState17","_useState18","setFeature","draw","useDeepCompareEffect","useEffect","layersChange","getOptions","layers","on","un","Draw","zIndex","destroy","hideTemplate","_opts$","opts","getAllLayers","viewOnly","layerControl","_key","layer","getLayerByKey","_feature$getGeometry4","geometry","Image","WmsLayer","getWmsData","Vector","getWfsData","message","extent","getExtent","source","getSource","features","getFeatureInfo","listKeys","getKeys","labelField","NAME","forEachFeatureIntersectingExtent","featureList","addTableData","polygonGeometry","fromCircle","featureIntersects","setHighlightFeature","_layer$getSource","_layer$group","_filter","params_","cql_filter","group","getFilter","coorStr","coordinates","getWFSFeatureInfoByLayer","then","line_length","lineLength","isDeviceLayer","_layer$params","_layer$url","deviceTypeId","params","url","indexOf","Boolean","isPipeLineLayer","toUpperCase","Spin","spinning"],"sources":["tools/Toolbox/SelectTools/index.js"],"sourcesContent":["/*\r\n * @Description:框选、圈选、多边形选择\r\n */\r\nimport React, { useEffect, useRef, useState, useMemo } from 'react';\r\nimport { message, Space, Divider, Button, Spin, Segmented } from 'antd';\r\nimport {\r\n CaretUpOutlined,\r\n CaretDownOutlined,\r\n TableOutlined,\r\n PieChartOutlined,\r\n BarChartOutlined,\r\n LineChartOutlined,\r\n} from '@ant-design/icons';\r\nimport Table from '../../components/Table';\r\nimport Modal from '../../components/Modal';\r\nimport { getWFSFeatureInfoByLayer } from '../../../_util/layer';\r\nimport { Image, Vector } from 'ol/layer';\r\nimport { fromCircle } from 'ol/geom/Polygon';\r\nimport Draw from '../../Utils/Draw';\r\nimport './index.less';\r\nimport useProps from '../../../use-props';\r\nimport classnames from 'classnames';\r\nimport { useUpdateEffect, useDeepCompareEffect } from 'ahooks';\r\nimport { VerticalAlignBottomOutlined, VerticalAlignTopOutlined } from '@ant-design/icons';\r\nimport { getFilter } from '../../../image-layer/ImageLayer';\r\nimport WmsLayer from '../../../wms-layer/WmsLayer';\r\nimport {\r\n booleanPointInPolygon as TurfBooleanPointInPolygon,\r\n point as TurfPoint,\r\n polygon as TurfPolygon,\r\n} from '@turf/turf';\r\nimport Info from '../../components/Info';\r\nimport Chart from '../../components/Chart';\r\n\r\nconst classPrefix = 'selectTools';\r\n\r\nconst getFeatureIntersects = (polygon, feature) => {\r\n let lngLat = feature?.getGeometry()?.getCoordinates();\r\n const poly = TurfPolygon(polygon.getCoordinates());\r\n\r\n let pt;\r\n let B = false;\r\n\r\n if (feature?.getGeometry()?.getType() === 'Point') {\r\n lngLat.map(v => Number(v));\r\n pt = TurfPoint(lngLat);\r\n // 判断在点在多边形内\r\n if (poly && pt) {\r\n const intersects = TurfBooleanPointInPolygon(pt, poly);\r\n if (intersects) {\r\n B = true;\r\n }\r\n }\r\n }\r\n\r\n if (feature?.getGeometry()?.getType() === 'Polygon' && lngLat?.[0]?.length) {\r\n lngLat?.[0].map(v => Number(v));\r\n lngLat?.[0]?.map(item => {\r\n pt = TurfPoint(item);\r\n if (poly && pt) {\r\n const intersects = TurfBooleanPointInPolygon(pt, poly);\r\n if (intersects) {\r\n B = true;\r\n }\r\n }\r\n });\r\n }\r\n\r\n return B;\r\n};\r\n\r\nconst LayerSelect = props => {\r\n const { options = [], value, onChange, currentKey } = props;\r\n const [open, setOpen] = useState(false);\r\n const [active, setActive] = useState(value);\r\n const time = useRef();\r\n\r\n useUpdateEffect(() => {\r\n setActive(value);\r\n }, [value]);\r\n\r\n if (!options?.length) {\r\n return <></>;\r\n }\r\n const showOpen = options?.length > 9;\r\n\r\n let list = options;\r\n if (options?.length) {\r\n if (!open) {\r\n if (options.length > 9) {\r\n list = options.slice(0, 9);\r\n }\r\n } else {\r\n list = options;\r\n }\r\n }\r\n\r\n const onClick = value => {\r\n setActive(value);\r\n currentKey.current = value;\r\n\r\n if (time.current) {\r\n clearTimeout(time.current);\r\n }\r\n\r\n time.current = setTimeout(() => {\r\n onChange?.(value);\r\n }, 500);\r\n };\r\n\r\n return (\r\n <div\r\n className={classnames(`${classPrefix}-layer-select`, {\r\n 'selectTools-layer-select-scroll': open,\r\n })}\r\n >\r\n <Space size={[8, 8]} wrap>\r\n {list?.length > 0 &&\r\n list.map((item, index) => (\r\n <div\r\n key={index}\r\n className={classnames(`${classPrefix}-layer-select-item`, {\r\n [`${classPrefix}-layer-select-item-active`]: active === item.value,\r\n })}\r\n onClick={() => onClick(item.value)}\r\n >\r\n {item.label}\r\n </div>\r\n ))}\r\n </Space>\r\n\r\n {showOpen && (\r\n <Divider style={{ margin: 0 }}>\r\n <Button\r\n icon={open ? <VerticalAlignTopOutlined /> : <VerticalAlignBottomOutlined />}\r\n onClick={() => setOpen(!open)}\r\n type=\"link\"\r\n >\r\n {open ? '收起' : '展开'}\r\n </Button>\r\n </Divider>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nconst TableView = props => {\r\n const { dataSource, columns: otherColumns, info } = props;\r\n const { map } = useProps();\r\n const [open, setOpen] = useState(true);\r\n\r\n const columns = [\r\n {\r\n title: '编码/名称',\r\n dataIndex: 'NAME',\r\n width: 180,\r\n render: (text, record) => {\r\n return (\r\n <a\r\n onClick={() => {\r\n let doc = document.getElementsByClassName('ol-map-tools')[0];\r\n let rect = doc?.getBoundingClientRect();\r\n let parentRect = map.getViewport()?.getBoundingClientRect();\r\n let left = 400;\r\n if (rect && parentRect) {\r\n left = rect?.left - parentRect?.left + 12 + 350 + 150;\r\n }\r\n map.showTemplate(record.feature, {\r\n fitViewOptions: { padding: [100, 400, 100, left] },\r\n });\r\n }}\r\n >\r\n {text}\r\n </a>\r\n );\r\n },\r\n },\r\n ...(otherColumns || []),\r\n ];\r\n\r\n return (\r\n <>\r\n <div style={{ minHeight: 20 }}>\r\n {open && (\r\n <>\r\n {info}\r\n <Table\r\n rowKey=\"code\"\r\n dataSource={dataSource}\r\n columns={columns}\r\n size=\"small\"\r\n />\r\n </>\r\n )}\r\n </div>\r\n\r\n {dataSource?.length > 0 && (\r\n <div className=\"ol-map-search-result-button\" onClick={() => setOpen(!open)}>\r\n {open ? '收起' : '展开'}\r\n {open ? <CaretUpOutlined /> : <CaretDownOutlined />}\r\n </div>\r\n )}\r\n </>\r\n );\r\n};\r\n\r\nconst TYPE = [\r\n { label: '表格', value: 'table', icon: <TableOutlined /> },\r\n { label: '柱状图', value: 'bar', icon: <BarChartOutlined /> },\r\n { label: '折线图', value: 'line', icon: <LineChartOutlined /> },\r\n { label: '饼图', value: 'pie', icon: <PieChartOutlined /> },\r\n];\r\n\r\nconst ChartView = props => {\r\n const { type, data } = props;\r\n return (\r\n <Chart\r\n style={{ height: 300 }}\r\n yAxis={{\r\n show: type !== 'pie',\r\n name: '条',\r\n }}\r\n legend={{ show: false }}\r\n xAxis={{\r\n show: type !== 'pie',\r\n field: 'name',\r\n }}\r\n unit=\"条\"\r\n series={[\r\n {\r\n type,\r\n name: '管线',\r\n radius: ['30%', '50%'],\r\n center: ['50%', '50%'],\r\n // data: data['供水量'] || [1000, 1200],\r\n ...(type === 'pie'\r\n ? {\r\n data,\r\n label: {\r\n show: true,\r\n position: 'outside',\r\n formatter: '{b}\\n{c}条',\r\n },\r\n }\r\n : {\r\n field: 'value',\r\n label: {\r\n show: true,\r\n position: 'top',\r\n formatter: '{c}条',\r\n },\r\n }),\r\n },\r\n ]}\r\n data={data}\r\n />\r\n );\r\n};\r\nconst PipeDataView = props => {\r\n const { dataSource } = props;\r\n const [type, setType] = useState(TYPE[0]?.value);\r\n\r\n const chartData = useMemo(() => {\r\n const data = [\r\n { name: '50mm以下', value: 0, filter: item => item.ds < 50 },\r\n { name: '50-100mm', value: 0, filter: item => item.ds >= 50 && item.ds < 100 },\r\n { name: '100-300mm', value: 0, filter: item => item.ds >= 100 && item.ds < 300 },\r\n { name: '300-600mm', value: 0, filter: item => item.ds >= 300 && item.ds < 600 },\r\n { name: '600-1000mm', value: 0, filter: item => item.ds >= 600 && item.ds < 1000 },\r\n { name: '1000mm以上', value: 0, filter: item => item.ds >= 1000 },\r\n ];\r\n dataSource.map(item => {\r\n item.ds = item.ds ? Number(item.ds) : 0;\r\n data.map(d => {\r\n if (d.filter(item)) {\r\n d.value += 1;\r\n }\r\n });\r\n });\r\n\r\n return data.filter(v => v.value > 0);\r\n }, [dataSource]);\r\n\r\n const columns = [\r\n {\r\n title: '长度(m)',\r\n dataIndex: 'lineLength',\r\n width: 100,\r\n },\r\n ];\r\n\r\n let totalLength = 0;\r\n if (dataSource?.length) {\r\n totalLength =\r\n dataSource.reduce((prev, cur) => {\r\n return prev + (cur['lineLength'] || 0);\r\n }, 0) / 1000;\r\n }\r\n return (\r\n <>\r\n <Segmented options={TYPE} value={type} onChange={setType} />\r\n\r\n {type === 'table' ? (\r\n <TableView\r\n columns={columns}\r\n dataSource={dataSource}\r\n info={\r\n <Info\r\n list={[\r\n { label: '管线总数', value: dataSource?.length || 0, unit: '条' },\r\n {\r\n label: '管线总长',\r\n value: totalLength\r\n ? Number(totalLength).toFixed(2)\r\n : totalLength,\r\n unit: 'km',\r\n },\r\n ]}\r\n />\r\n }\r\n />\r\n ) : (\r\n <ChartView data={chartData} type={type} />\r\n )}\r\n </>\r\n );\r\n};\r\n\r\nconst DEVICE_STATUS_NAME = {\r\n 1: { label: '在线', color: '#119FFB' }, // 正常/在线\r\n 2: { label: '报警', color: '#CE3739' }, // 报警/异常\r\n 3: { label: '离线', color: '#AAAAAD' }, // 离线\r\n 4: { label: '故障', color: '#CE3739' }, // 故障/堵塞\r\n};\r\nconst DeviceInfo = props => {\r\n const { data } = props;\r\n\r\n const list = useMemo(() => {\r\n const val = {};\r\n data.map(item => {\r\n const { deviceValues } = item;\r\n if (deviceValues?.length) {\r\n deviceValues.map(device => {\r\n const { factorValues } = device;\r\n if (factorValues?.length) {\r\n factorValues.map(factor => {\r\n const { monitorItemName, formatValue, unit, collectFrequency } = factor;\r\n if (collectFrequency === 'realtime' && formatValue) {\r\n val[monitorItemName] = val[monitorItemName] || {\r\n name: monitorItemName,\r\n unit: unit,\r\n data: [],\r\n };\r\n val[monitorItemName].data.push(Number(formatValue));\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n\r\n const dataVal = [];\r\n for (let i in val) {\r\n const { data } = val[i];\r\n const maxValue = Math.max(...data);\r\n const minValue = Math.min(...data);\r\n const avgValue =\r\n data.reduce((prev, cur) => {\r\n return prev + cur;\r\n }, 0) / data.length;\r\n\r\n dataVal.push({\r\n ...val[i],\r\n maxValue,\r\n minValue,\r\n avgValue: avgValue ? Number(avgValue).toFixed(2) : avgValue,\r\n });\r\n }\r\n\r\n return dataVal;\r\n }, [data?.length]);\r\n\r\n if (!list?.length) {\r\n return <></>;\r\n }\r\n\r\n return (\r\n <div className={classnames(`${classPrefix}-device`)}>\r\n <div className={classnames(`${classPrefix}-device-top`)}>\r\n <div>监测项</div>\r\n <div>最大值</div>\r\n <div>最小值</div>\r\n <div>平均值</div>\r\n </div>\r\n <div className={classnames(`${classPrefix}-device-content`)}>\r\n {list?.length > 0 &&\r\n list.map((item, index) => (\r\n <div\r\n key={index}\r\n className={classnames(`${classPrefix}-device-content-item`)}\r\n >\r\n <div>{item.name}</div>\r\n <div>\r\n {item.maxValue}\r\n <span>{item.unit}</span>\r\n </div>\r\n <div>\r\n {item.minValue}\r\n <span>{item.unit}</span>\r\n </div>\r\n <div>\r\n {item.avgValue}\r\n <span>{item.unit}</span>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n};\r\nconst DeviceDataView = props => {\r\n const { dataSource } = props;\r\n const [filter, setFilter] = useState(null);\r\n\r\n const columns = [\r\n {\r\n title: '状态',\r\n dataIndex: 'status',\r\n width: 100,\r\n render: text => {\r\n if (DEVICE_STATUS_NAME[text]) {\r\n const { color, label } = DEVICE_STATUS_NAME[text];\r\n return <span style={{ color }}>{label}</span>;\r\n }\r\n return '-';\r\n },\r\n },\r\n ];\r\n\r\n const tableData = useMemo(() => {\r\n return filter ? dataSource.filter(item => Number(item.status) === filter) : dataSource;\r\n }, [filter, dataSource?.length]);\r\n\r\n const getTotal = value => {\r\n return dataSource.filter(item => Number(item.status) === value).length;\r\n };\r\n return (\r\n <TableView\r\n columns={columns}\r\n dataSource={tableData}\r\n info={\r\n <div>\r\n <Info\r\n list={[\r\n {\r\n label: '总数',\r\n value: dataSource?.length || 0,\r\n unit: '个',\r\n onClick: () => setFilter(null),\r\n },\r\n {\r\n label: '在线',\r\n value: getTotal(1),\r\n unit: '个',\r\n onClick: () => setFilter(1),\r\n },\r\n {\r\n label: '报警',\r\n value: getTotal(2),\r\n unit: '个',\r\n onClick: () => setFilter(2),\r\n },\r\n {\r\n label: '离线',\r\n value: getTotal(3),\r\n unit: '个',\r\n onClick: () => setFilter(3),\r\n },\r\n ]}\r\n />\r\n <DeviceInfo data={dataSource} />\r\n </div>\r\n }\r\n />\r\n );\r\n};\r\n\r\nexport default props => {\r\n const { onClose, drawType, title, renderTableActive, statistic } = props;\r\n const { map } = useProps();\r\n const [currentLayerKey, setCurrentLayerKey] = useState('');\r\n const [dataSource, setDataSource] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const [layersOpts, setLayersOpts] = useState([]);\r\n const [feature, setFeature] = useState({});\r\n\r\n const draw = useRef();\r\n const currentKey = useRef();\r\n\r\n useDeepCompareEffect(() => {\r\n onClick();\r\n }, [currentLayerKey, feature, layersOpts]);\r\n\r\n useEffect(() => {\r\n const layersChange = () => {\r\n getOptions();\r\n };\r\n\r\n layersChange();\r\n\r\n // 添加图层变化监听事件\r\n map.layers.on('change', layersChange);\r\n\r\n return () => {\r\n // 移除图层变化监听事件\r\n map.layers.un('change', layersChange);\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n draw.current = new Draw({ map, zIndex: 80 });\r\n draw.current.draw(drawType, feature => {\r\n setFeature(feature);\r\n });\r\n return () => {\r\n draw.current.destroy();\r\n map.hideTemplate();\r\n currentKey.current = null;\r\n };\r\n }, []);\r\n\r\n const getOptions = () => {\r\n if (map) {\r\n let opts = [];\r\n let layers = map.getAllLayers().filter(v => {\r\n return (\r\n !v.viewOnly &&\r\n v.key &&\r\n v.name &&\r\n v.layerControl &&\r\n v.show &&\r\n v.key !== 'Highlight'\r\n );\r\n });\r\n layers.map(v => {\r\n opts.push({\r\n ...v,\r\n value: v.key,\r\n label: v.name,\r\n });\r\n });\r\n\r\n // 当前key对应的图层还显示的话取当前的key否者取第一个layersOpts的key\r\n let _key = opts?.[0]?.value;\r\n if (currentKey.current) {\r\n let layer = map.layers.getLayerByKey(currentKey.current);\r\n if (layer && layer?.show) {\r\n _key = currentKey.current;\r\n }\r\n }\r\n currentKey.current = _key;\r\n setCurrentLayerKey(_key);\r\n setLayersOpts(opts);\r\n }\r\n };\r\n\r\n const onClick = () => {\r\n setDataSource([]);\r\n if (!feature) return;\r\n let geometry = feature?.getGeometry?.();\r\n if (!geometry) return;\r\n setLoading(true);\r\n\r\n let layer = map.layers.getLayerByKey(currentLayerKey);\r\n if (geometry && currentLayerKey && layer) {\r\n let tableData = [];\r\n // wms图层\r\n if (layer instanceof Image || layer instanceof WmsLayer) {\r\n getWmsData(geometry, layer, tableData);\r\n } else if (layer instanceof Vector) {\r\n getWfsData(geometry, layer, tableData);\r\n }\r\n } else {\r\n setLoading(false);\r\n if (!geometry) {\r\n message.destroy();\r\n message.info('请先框选图层', 2);\r\n }\r\n if (!currentLayerKey) {\r\n message.destroy();\r\n message.info('请先选择图层', 2);\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * @description: wfs图层时获取框选数据\r\n * @param {*} geometry\r\n * @param {*} layer\r\n * @param {*} tableData\r\n * @return {*}\r\n */\r\n const getWfsData = (geometry, layer, tableData) => {\r\n let extent = geometry.getExtent();\r\n let source = layer.getSource();\r\n let features = [];\r\n const getFeatureInfo = feature => {\r\n let listKeys = feature.getKeys();\r\n let data = {};\r\n listKeys.forEach(item => {\r\n if (feature.get(item)) {\r\n data[item] = feature.get(item);\r\n\r\n if (layer.labelField) {\r\n data.NAME = feature.get(layer.labelField);\r\n }\r\n\r\n data.feature = feature;\r\n }\r\n });\r\n return data;\r\n };\r\n if (source.forEachFeatureIntersectingExtent && extent) {\r\n source.forEachFeatureIntersectingExtent(extent, feature => {\r\n let featureList = feature.get('features');\r\n\r\n const addTableData = f => {\r\n let data = getFeatureInfo(f);\r\n tableData.push(data);\r\n features.push(f);\r\n };\r\n if (featureList?.length > 1) {\r\n featureList.forEach(f => {\r\n // 圈选处理\r\n if (drawType === 'Circle') {\r\n const polygonGeometry = new fromCircle(geometry);\r\n const featureIntersects = getFeatureIntersects(polygonGeometry, f);\r\n if (!featureIntersects) {\r\n return;\r\n }\r\n }\r\n\r\n addTableData(f);\r\n });\r\n } else {\r\n // 圈选处理\r\n if (drawType === 'Circle') {\r\n const polygonGeometry = new fromCircle(geometry);\r\n const featureIntersects = getFeatureIntersects(polygonGeometry, feature);\r\n if (!featureIntersects) {\r\n return;\r\n }\r\n }\r\n\r\n addTableData(feature);\r\n }\r\n });\r\n setLoading(false);\r\n map.setHighlightFeature(features);\r\n setDataSource(tableData);\r\n } else {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n /**\r\n * @description: wms图层时获取框选数据\r\n * @return {*}\r\n */\r\n const getWmsData = (geometry, layer, tableData) => {\r\n let _filter = layer?.getSource()?.params_?.cql_filter || '';\r\n\r\n if (layer?.group?.length) {\r\n _filter = getFilter(layer.group);\r\n }\r\n\r\n let coorStr = '';\r\n let coordinates = geometry.getCoordinates();\r\n\r\n // 圈选处理\r\n if (drawType === 'Circle') {\r\n let polygonGeometry = new fromCircle(geometry);\r\n coordinates = polygonGeometry.getCoordinates();\r\n }\r\n\r\n coordinates[0].forEach((v, i) => {\r\n if (i == 0) {\r\n coorStr += `${v[0]} ${v[1]}`;\r\n } else {\r\n coorStr += `, ${v[0]} ${v[1]}`;\r\n }\r\n });\r\n // 增加图层的其他过滤\r\n const filter = _filter ? `(${_filter}) and ` : '';\r\n\r\n getWFSFeatureInfoByLayer(\r\n layer,\r\n `${filter}INTERSECTS(geo_location, POLYGON((${coorStr})))`,\r\n ).then(features => {\r\n setLoading(false);\r\n map.setHighlightFeature(features);\r\n if (features?.length) {\r\n features.forEach(item => {\r\n let listKeys = item.getKeys();\r\n let data = {};\r\n listKeys.forEach(key => {\r\n if (item.get(key)) {\r\n data[key] = item.get(key);\r\n data.feature = item;\r\n }\r\n });\r\n if (layer.labelField) {\r\n data.NAME = item.get(layer.labelField) || '';\r\n }\r\n\r\n // 处理管线长度字段\r\n if (data.line_length) {\r\n data.lineLength = data.lineLength || data.line_length;\r\n }\r\n\r\n tableData.push(data);\r\n });\r\n setDataSource(tableData);\r\n } else {\r\n message.destroy();\r\n message.info('暂无数据', 2);\r\n }\r\n });\r\n };\r\n\r\n // 判断是否是设备图层\r\n const isDeviceLayer = useMemo(() => {\r\n const layer = map?.getLayerByKey(currentLayerKey);\r\n const deviceTypeId = layer?.params?.deviceTypeId;\r\n const url = layer?.url?.indexOf('/cloud/device/deviceMap/list') !== -1;\r\n return Boolean(deviceTypeId && url);\r\n }, [currentLayerKey]);\r\n\r\n // 判断是否是管线图层\r\n const isPipeLineLayer = currentLayerKey && currentLayerKey.toUpperCase().indexOf('LINE') !== -1;\r\n\r\n return (\r\n <Modal title={title || ''} onClose={onClose} width={300}>\r\n <Spin spinning={loading}>\r\n <LayerSelect\r\n options={layersOpts}\r\n value={currentLayerKey}\r\n onChange={setCurrentLayerKey}\r\n currentKey={currentKey}\r\n />\r\n\r\n {renderTableActive && renderTableActive(dataSource, currentLayerKey, onClick)}\r\n\r\n {statistic ? (\r\n isPipeLineLayer ? (\r\n <PipeDataView dataSource={dataSource} />\r\n ) : isDeviceLayer ? (\r\n <DeviceDataView dataSource={dataSource} />\r\n ) : (\r\n <TableView dataSource={dataSource} />\r\n )\r\n ) : (\r\n <TableView dataSource={dataSource} />\r\n )}\r\n </Spin>\r\n </Modal>\r\n );\r\n};\r\n"],"mappings":"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","ignoreList":[]}
|