@vtx/ol-map 1.0.117 → 1.0.118
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 +3 -4
- 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 -9
- 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 +4 -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 +16 -18
- package/lib/dom/Dom.js.map +1 -1
- package/lib/dom/index.js +11 -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 +46 -47
- 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 +27 -35
- package/lib/feature-layer/createFeatureCollection.js.map +1 -1
- package/lib/feature-layer/index.js +16 -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 +16 -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 +17 -18
- package/lib/fly-line-layer/FlyLineLayer.js.map +1 -1
- package/lib/fly-line-layer/index.js +9 -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 +9 -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 +9 -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 +12 -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/index.js +11 -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 +21 -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 +73 -73
- 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 +23 -24
- package/lib/map/Popup.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 +9 -11
- package/lib/map/getBaseLayers/index.js.map +1 -1
- package/lib/map/index.js +38 -39
- 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 +21 -24
- package/lib/marker/Marker.js.map +1 -1
- package/lib/marker/index.js +4 -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 +16 -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 +23 -22
- package/lib/path-play-back/PathPlayBack.js.map +1 -1
- package/lib/path-play-back/index.js +8 -9
- 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 +8 -8
- package/lib/poi-search/Location.js.map +1 -1
- package/lib/poi-search/PoiList.js +10 -10
- package/lib/poi-search/PoiList.js.map +1 -1
- package/lib/poi-search/Search.js +21 -21
- package/lib/poi-search/Search.js.map +1 -1
- package/lib/poi-search/index.js +10 -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 +4 -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 +4 -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 +4 -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 +15 -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 +128 -128
- 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 +13 -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 +10 -11
- 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 +71 -71
- 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 +20 -22
- package/lib/tile-layer/TileLayer.js.map +1 -1
- package/lib/tile-layer/index.js +4 -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 +15 -15
- package/lib/tools/Layer/index.js.map +1 -1
- package/lib/tools/Layer/index.less +43 -43
- package/lib/tools/Search/index.js +19 -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 +10 -11
- package/lib/tools/Toolbox/EagleEye/index.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/Bookmark.js +33 -36
- package/lib/tools/Toolbox/MapBookmark/Bookmark.js.map +1 -1
- package/lib/tools/Toolbox/MapBookmark/index.js +23 -24
- 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 +19 -20
- 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 +13 -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 +10 -11
- package/lib/tools/Toolbox/ScaleLine/index.js.map +1 -1
- package/lib/tools/Toolbox/SelectTools/index.js +39 -41
- 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 +13 -13
- 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 +10 -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 +8 -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 +15 -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 +19 -20
- package/lib/tools/analysis-tool/index.js.map +1 -1
- package/lib/tools/base-map-switch/index.js +15 -16
- package/lib/tools/base-map-switch/index.js.map +1 -1
- package/lib/tools/components/Chart/index.js +120 -130
- 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 +10 -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 +16 -17
- 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 +11 -12
- package/lib/tools/full-screen/index.js.map +1 -1
- package/lib/tools/index.js +11 -11
- package/lib/tools/index.js.map +1 -1
- package/lib/tools/layer-control/index.js +23 -26
- package/lib/tools/layer-control/index.js.map +1 -1
- package/lib/tools/refresh/index.js +11 -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 +10 -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/package.json +1 -1
- package/CHANGELOG.md +0 -217
|
@@ -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
|
});
|
|
@@ -22,34 +22,34 @@ var _ImageLayer = require("../../../image-layer/ImageLayer");
|
|
|
22
22
|
var _turf = require("@turf/turf");
|
|
23
23
|
var _Info = _interopRequireDefault(require("../../components/Info"));
|
|
24
24
|
var _Chart = _interopRequireDefault(require("../../components/Chart"));
|
|
25
|
-
function _interopRequireDefault(
|
|
26
|
-
function _getRequireWildcardCache(
|
|
27
|
-
function _interopRequireWildcard(
|
|
28
|
-
function ownKeys(
|
|
29
|
-
function _objectSpread(
|
|
30
|
-
function _toConsumableArray(
|
|
25
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
26
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
27
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
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(); }
|
|
31
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."); }
|
|
32
|
-
function _iterableToArray(
|
|
33
|
-
function _arrayWithoutHoles(
|
|
34
|
-
function _defineProperty(
|
|
35
|
-
function _toPropertyKey(
|
|
36
|
-
function _toPrimitive(
|
|
37
|
-
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(); }
|
|
38
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."); }
|
|
39
|
-
function _unsupportedIterableToArray(
|
|
40
|
-
function _arrayLikeToArray(
|
|
41
|
-
function _iterableToArrayLimit(
|
|
42
|
-
function _arrayWithHoles(
|
|
43
|
-
|
|
44
|
-
|
|
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
|
+
*/
|
|
45
45
|
var classPrefix = 'selectTools';
|
|
46
46
|
var getFeatureIntersects = function getFeatureIntersects(polygon, feature) {
|
|
47
47
|
var _feature$getGeometry, _feature$getGeometry2, _feature$getGeometry3, _lngLat$;
|
|
48
|
-
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();
|
|
49
49
|
var poly = (0, _turf.polygon)(polygon.getCoordinates());
|
|
50
50
|
var pt;
|
|
51
51
|
var B = false;
|
|
52
|
-
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') {
|
|
53
53
|
lngLat.map(function (v) {
|
|
54
54
|
return Number(v);
|
|
55
55
|
});
|
|
@@ -62,12 +62,12 @@ var getFeatureIntersects = function getFeatureIntersects(polygon, feature) {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
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) {
|
|
66
66
|
var _lngLat$2;
|
|
67
|
-
lngLat === null || lngLat === void 0
|
|
67
|
+
lngLat === null || lngLat === void 0 || lngLat[0].map(function (v) {
|
|
68
68
|
return Number(v);
|
|
69
69
|
});
|
|
70
|
-
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) {
|
|
71
71
|
pt = (0, _turf.point)(item);
|
|
72
72
|
if (poly && pt) {
|
|
73
73
|
var _intersects = (0, _turf.booleanPointInPolygon)(pt, poly);
|
|
@@ -119,7 +119,7 @@ var LayerSelect = function LayerSelect(props) {
|
|
|
119
119
|
clearTimeout(time.current);
|
|
120
120
|
}
|
|
121
121
|
time.current = setTimeout(function () {
|
|
122
|
-
onChange === null || onChange === void 0
|
|
122
|
+
onChange === null || onChange === void 0 || onChange(value);
|
|
123
123
|
}, 500);
|
|
124
124
|
};
|
|
125
125
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -370,7 +370,6 @@ var DEVICE_STATUS_NAME = {
|
|
|
370
370
|
color: '#CE3739'
|
|
371
371
|
} // 故障/堵塞
|
|
372
372
|
};
|
|
373
|
-
|
|
374
373
|
var DeviceInfo = function DeviceInfo(props) {
|
|
375
374
|
var data = props.data;
|
|
376
375
|
var list = (0, _react.useMemo)(function () {
|
|
@@ -503,7 +502,7 @@ var DeviceDataView = function DeviceDataView(props) {
|
|
|
503
502
|
}))
|
|
504
503
|
});
|
|
505
504
|
};
|
|
506
|
-
var _default = function _default(props) {
|
|
505
|
+
var _default = exports["default"] = function _default(props) {
|
|
507
506
|
var onClose = props.onClose,
|
|
508
507
|
drawType = props.drawType,
|
|
509
508
|
title = props.title,
|
|
@@ -578,7 +577,7 @@ var _default = function _default(props) {
|
|
|
578
577
|
});
|
|
579
578
|
|
|
580
579
|
// 当前key对应的图层还显示的话取当前的key否者取第一个layersOpts的key
|
|
581
|
-
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;
|
|
582
581
|
if (currentKey.current) {
|
|
583
582
|
var layer = map.layers.getLayerByKey(currentKey.current);
|
|
584
583
|
if (layer && layer !== null && layer !== void 0 && layer.show) {
|
|
@@ -594,7 +593,7 @@ var _default = function _default(props) {
|
|
|
594
593
|
var _feature$getGeometry4;
|
|
595
594
|
setDataSource([]);
|
|
596
595
|
if (!feature) return;
|
|
597
|
-
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);
|
|
598
597
|
if (!geometry) return;
|
|
599
598
|
setLoading(true);
|
|
600
599
|
var layer = map.layers.getLayerByKey(currentLayerKey);
|
|
@@ -619,12 +618,12 @@ var _default = function _default(props) {
|
|
|
619
618
|
}
|
|
620
619
|
};
|
|
621
620
|
|
|
622
|
-
/**
|
|
623
|
-
* @description: wfs图层时获取框选数据
|
|
624
|
-
* @param {*} geometry
|
|
625
|
-
* @param {*} layer
|
|
626
|
-
* @param {*} tableData
|
|
627
|
-
* @return {*}
|
|
621
|
+
/**
|
|
622
|
+
* @description: wfs图层时获取框选数据
|
|
623
|
+
* @param {*} geometry
|
|
624
|
+
* @param {*} layer
|
|
625
|
+
* @param {*} tableData
|
|
626
|
+
* @return {*}
|
|
628
627
|
*/
|
|
629
628
|
var getWfsData = function getWfsData(geometry, layer, tableData) {
|
|
630
629
|
var extent = geometry.getExtent();
|
|
@@ -684,9 +683,9 @@ var _default = function _default(props) {
|
|
|
684
683
|
}
|
|
685
684
|
};
|
|
686
685
|
|
|
687
|
-
/**
|
|
688
|
-
* @description: wms图层时获取框选数据
|
|
689
|
-
* @return {*}
|
|
686
|
+
/**
|
|
687
|
+
* @description: wms图层时获取框选数据
|
|
688
|
+
* @return {*}
|
|
690
689
|
*/
|
|
691
690
|
var getWmsData = function getWmsData(geometry, layer, tableData) {
|
|
692
691
|
var _layer$group;
|
|
@@ -746,8 +745,8 @@ var _default = function _default(props) {
|
|
|
746
745
|
var isDeviceLayer = (0, _react.useMemo)(function () {
|
|
747
746
|
var _layer$params, _layer$url;
|
|
748
747
|
var layer = map === null || map === void 0 ? void 0 : map.getLayerByKey(currentLayerKey);
|
|
749
|
-
var deviceTypeId = layer === null || layer === void 0
|
|
750
|
-
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;
|
|
751
750
|
return Boolean(deviceTypeId && url);
|
|
752
751
|
}, [currentLayerKey]);
|
|
753
752
|
|
|
@@ -774,5 +773,4 @@ var _default = function _default(props) {
|
|
|
774
773
|
dataSource: dataSource
|
|
775
774
|
})));
|
|
776
775
|
};
|
|
777
|
-
exports["default"] = _default;
|
|
778
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","_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","useEffect","JSON","stringify","layersChange","getOptions","layers","on","un","Draw","zIndex","destroy","hideTemplate","_opts$","opts","getAllLayers","viewOnly","layerControl","_key","layer","getLayerByKey","_feature$getGeometry4","geometry","Image","getWmsData","Vector","getWfsData","message","extent","getExtent","getSource","features","getFeatureInfo","listKeys","getKeys","labelField","NAME","forEachFeatureIntersectingExtent","featureList","addTableData","f","polygonGeometry","fromCircle","featureIntersects","setHighlightFeature","_layer$group","_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 {CaretUpOutlined, CaretDownOutlined, TableOutlined, PieChartOutlined, BarChartOutlined, LineChartOutlined} 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} from 'ahooks';\nimport {VerticalAlignBottomOutlined, VerticalAlignTopOutlined} from '@ant-design/icons';\nimport {getFilter} from '../../../image-layer/ImageLayer';\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 data,\n label: {\n show: true,\n position: 'outside',\n formatter: '{b}\\n{c}条'\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 = dataSource.reduce((prev, cur) => {\n return prev + (cur['lineLength'] || 0)\n }, 0) / 1000\n }\n return (\n <>\n <Segmented\n options={TYPE}\n value={type}\n onChange={setType}\n />\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 ? Number(totalLength).toFixed(2) : 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 = 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 && list.map((item, index) => (\n <div key={index} className={classnames(`${classPrefix}-device-content-item`)}>\n <div>{item.name}</div>\n <div>{item.maxValue}<span>{item.unit}</span></div>\n <div>{item.minValue}<span>{item.unit}</span></div>\n <div>{item.avgValue}<span>{item.unit}</span></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 {label: '总数', value: dataSource?.length || 0, unit: '个', onClick: () => setFilter(null)},\n {label: '在线', value: getTotal(1), unit: '个', onClick: () => setFilter(1)},\n {label: '报警', value: getTotal(2), unit: '个', onClick: () => setFilter(2)},\n {label: '离线', value: getTotal(3), unit: '个', onClick: () => setFilter(3)},\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 useEffect(() => {\n onClick();\n }, [currentLayerKey, JSON.stringify(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 !v.viewOnly && v.key && v.name && v.layerControl && v.show;\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) {\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 = '';\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\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\n {statistic ?\n (isPipeLineLayer ?\n <PipeDataView dataSource={dataSource}/>\n :\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","_turf","_Info","_Chart","e","__esModule","_getRequireWildcardCache","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","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","toString","slice","constructor","name","test","l","f","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","_useState10","setFilter","_DEVICE_STATUS_NAME$t","tableData","status","getTotal","_default","exports","onClose","drawType","renderTableActive","statistic","_useProps2","_useState11","_useState12","currentLayerKey","setCurrentLayerKey","_useState13","_useState14","setDataSource","_useState15","_useState16","loading","setLoading","_useState17","_useState18","layersOpts","setLayersOpts","_useState19","_useState20","setFeature","draw","useEffect","JSON","stringify","layersChange","getOptions","layers","on","un","Draw","zIndex","destroy","hideTemplate","_opts$","opts","getAllLayers","viewOnly","layerControl","_key","layer","getLayerByKey","_feature$getGeometry4","geometry","Image","getWmsData","Vector","getWfsData","message","extent","getExtent","source","getSource","features","getFeatureInfo","listKeys","getKeys","labelField","NAME","forEachFeatureIntersectingExtent","featureList","addTableData","polygonGeometry","fromCircle","featureIntersects","setHighlightFeature","_layer$group","_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 {CaretUpOutlined, CaretDownOutlined, TableOutlined, PieChartOutlined, BarChartOutlined, LineChartOutlined} 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} from 'ahooks';\r\nimport {VerticalAlignBottomOutlined, VerticalAlignTopOutlined} from '@ant-design/icons';\r\nimport {getFilter} from '../../../image-layer/ImageLayer';\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 data,\r\n label: {\r\n show: true,\r\n position: 'outside',\r\n formatter: '{b}\\n{c}条'\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 = 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\r\n options={TYPE}\r\n value={type}\r\n onChange={setType}\r\n />\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 ? Number(totalLength).toFixed(2) : 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 = 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 && list.map((item, index) => (\r\n <div key={index} className={classnames(`${classPrefix}-device-content-item`)}>\r\n <div>{item.name}</div>\r\n <div>{item.maxValue}<span>{item.unit}</span></div>\r\n <div>{item.minValue}<span>{item.unit}</span></div>\r\n <div>{item.avgValue}<span>{item.unit}</span></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 {label: '总数', value: dataSource?.length || 0, unit: '个', onClick: () => setFilter(null)},\r\n {label: '在线', value: getTotal(1), unit: '个', onClick: () => setFilter(1)},\r\n {label: '报警', value: getTotal(2), unit: '个', onClick: () => setFilter(2)},\r\n {label: '离线', value: getTotal(3), unit: '个', onClick: () => setFilter(3)},\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 useEffect(() => {\r\n onClick();\r\n }, [currentLayerKey, JSON.stringify(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 !v.viewOnly && v.key && v.name && v.layerControl && v.show;\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) {\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 = '';\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\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\r\n {statistic ?\r\n (isPipeLineLayer ?\r\n <PipeDataView dataSource={dataSource}/>\r\n :\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":[]}
|