@vtx/ol-map 1.0.2-0
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 +202 -0
- package/lib/_util/filterSpecialCharacters.js +90 -0
- package/lib/_util/filterSpecialCharacters.js.map +1 -0
- package/lib/_util/getComponentProps.js +14 -0
- package/lib/_util/getComponentProps.js.map +1 -0
- package/lib/_util/getCookie.js +25 -0
- package/lib/_util/getCookie.js.map +1 -0
- package/lib/_util/getDefaultMapInfo.js +34 -0
- package/lib/_util/getDefaultMapInfo.js.map +1 -0
- package/lib/_util/getSystemInfo.js +27 -0
- package/lib/_util/getSystemInfo.js.map +1 -0
- package/lib/_util/getToken.js +14 -0
- package/lib/_util/getToken.js.map +1 -0
- package/lib/_util/getUrlParam.js +16 -0
- package/lib/_util/getUrlParam.js.map +1 -0
- package/lib/_util/http.js +235 -0
- package/lib/_util/http.js.map +1 -0
- package/lib/_util/isFunction.js +10 -0
- package/lib/_util/isFunction.js.map +1 -0
- package/lib/_util/isObject.js +10 -0
- package/lib/_util/isObject.js.map +1 -0
- package/lib/_util/layer.js +134 -0
- package/lib/_util/layer.js.map +1 -0
- package/lib/_util/mapTool.js +189 -0
- package/lib/_util/mapTool.js.map +1 -0
- package/lib/_util/setCookie.js +16 -0
- package/lib/_util/setCookie.js.map +1 -0
- package/lib/_util/useColSize.js +29 -0
- package/lib/_util/useColSize.js.map +1 -0
- package/lib/_util/useInterval.js +19 -0
- package/lib/_util/useInterval.js.map +1 -0
- package/lib/_util/useSet.js +45 -0
- package/lib/_util/useSet.js.map +1 -0
- package/lib/config.js +13 -0
- package/lib/config.js.map +1 -0
- package/lib/feature-layer/FeatureLayer.js +277 -0
- package/lib/feature-layer/FeatureLayer.js.map +1 -0
- package/lib/feature-layer/index.js +48 -0
- package/lib/feature-layer/index.js.map +1 -0
- package/lib/feature-layer/style/css.js +4 -0
- package/lib/feature-layer/style/css.js.map +1 -0
- package/lib/feature-layer/style/index.css +0 -0
- package/lib/feature-layer/style/index.js +4 -0
- package/lib/feature-layer/style/index.js.map +1 -0
- package/lib/feature-layer/style/index.less +0 -0
- package/lib/image-layer/ImageLayer.js +101 -0
- package/lib/image-layer/ImageLayer.js.map +1 -0
- package/lib/image-layer/index.js +44 -0
- package/lib/image-layer/index.js.map +1 -0
- package/lib/image-layer/style/css.js +4 -0
- package/lib/image-layer/style/css.js.map +1 -0
- package/lib/image-layer/style/index.css +0 -0
- package/lib/image-layer/style/index.js +4 -0
- package/lib/image-layer/style/index.js.map +1 -0
- package/lib/image-layer/style/index.less +0 -0
- package/lib/index.js +42 -0
- package/lib/index.js.map +1 -0
- package/lib/map/Popup.js +134 -0
- package/lib/map/Popup.js.map +1 -0
- package/lib/map/getBaseLayers.js +50 -0
- package/lib/map/getBaseLayers.js.map +1 -0
- package/lib/map/index.js +319 -0
- package/lib/map/index.js.map +1 -0
- package/lib/map/style/css.js +4 -0
- package/lib/map/style/css.js.map +1 -0
- package/lib/map/style/index.css +140 -0
- package/lib/map/style/index.js +4 -0
- package/lib/map/style/index.js.map +1 -0
- package/lib/map/style/index.less +128 -0
- package/lib/map-icon/Canvas.js +367 -0
- package/lib/map-icon/Canvas.js.map +1 -0
- package/lib/map-icon/CockpitIcon.js +317 -0
- package/lib/map-icon/CockpitIcon.js.map +1 -0
- package/lib/map-icon/CockpitIcon2.js +268 -0
- package/lib/map-icon/CockpitIcon2.js.map +1 -0
- package/lib/map-icon/CommonIcon.js +193 -0
- package/lib/map-icon/CommonIcon.js.map +1 -0
- package/lib/map-icon/CommonIcon2.js +164 -0
- package/lib/map-icon/CommonIcon2.js.map +1 -0
- package/lib/map-icon/Legend.js +53 -0
- package/lib/map-icon/Legend.js.map +1 -0
- package/lib/map-icon/config.js +3868 -0
- package/lib/map-icon/config.js.map +1 -0
- package/lib/map-icon/index.js +21 -0
- package/lib/map-icon/index.js.map +1 -0
- package/lib/map-icon/style/css.js +4 -0
- package/lib/map-icon/style/css.js.map +1 -0
- package/lib/map-icon/style/index.css +0 -0
- package/lib/map-icon/style/index.js +4 -0
- package/lib/map-icon/style/index.js.map +1 -0
- package/lib/map-icon/style/index.less +0 -0
- package/lib/map-icon/svg/index.js +53 -0
- package/lib/map-icon/svg/index.js.map +1 -0
- package/lib/map-icon/svg/tuceng.svg.js +2 -0
- package/lib/map-icon/svg/tuceng.svg.js.map +1 -0
- package/lib/style/index.css +0 -0
- package/lib/style/index.less +2 -0
- package/lib/style/themes/compact.css +0 -0
- package/lib/style/themes/compact.less +1 -0
- package/lib/style/themes/dark.css +0 -0
- package/lib/style/themes/dark.less +9 -0
- package/lib/style/themes/default.css +0 -0
- package/lib/style/themes/default.less +7 -0
- package/lib/style/themes/index.css +0 -0
- package/lib/style/themes/index.less +1 -0
- package/lib/style/themes/variable.css +0 -0
- package/lib/style/themes/variable.less +5 -0
- package/lib/tools/Analysis/AnalysisLayer.js +380 -0
- package/lib/tools/Analysis/AnalysisLayer.js.map +1 -0
- package/lib/tools/Layer/LayerService.js +150 -0
- package/lib/tools/Layer/LayerService.js.map +1 -0
- package/lib/tools/Layer/LayersCheckService.js +173 -0
- package/lib/tools/Layer/LayersCheckService.js.map +1 -0
- package/lib/tools/Layer/index.css +34 -0
- package/lib/tools/Layer/index.js +227 -0
- package/lib/tools/Layer/index.js.map +1 -0
- package/lib/tools/Layer/index.less +27 -0
- package/lib/tools/Search/index.js +194 -0
- package/lib/tools/Search/index.js.map +1 -0
- package/lib/tools/Toolbox/BoxSelect/index.js +20 -0
- package/lib/tools/Toolbox/BoxSelect/index.js.map +1 -0
- package/lib/tools/Toolbox/CircleSelect/index.js +20 -0
- package/lib/tools/Toolbox/CircleSelect/index.js.map +1 -0
- package/lib/tools/Toolbox/EagleEye/index.js +57 -0
- package/lib/tools/Toolbox/EagleEye/index.js.map +1 -0
- package/lib/tools/Toolbox/MapBookmark/index.css +18 -0
- package/lib/tools/Toolbox/MapBookmark/index.js +494 -0
- package/lib/tools/Toolbox/MapBookmark/index.js.map +1 -0
- package/lib/tools/Toolbox/MapBookmark/index.less +20 -0
- package/lib/tools/Toolbox/MapDownload/index.js +16 -0
- package/lib/tools/Toolbox/MapDownload/index.js.map +1 -0
- package/lib/tools/Toolbox/MapPrint/index.css +4 -0
- package/lib/tools/Toolbox/MapPrint/index.js +242 -0
- package/lib/tools/Toolbox/MapPrint/index.js.map +1 -0
- package/lib/tools/Toolbox/MapPrint/index.less +4 -0
- package/lib/tools/Toolbox/Measure/Area/index.js +17 -0
- package/lib/tools/Toolbox/Measure/Area/index.js.map +1 -0
- package/lib/tools/Toolbox/Measure/Distance/index.js +17 -0
- package/lib/tools/Toolbox/Measure/Distance/index.js.map +1 -0
- package/lib/tools/Toolbox/Measure/Measure.js +229 -0
- package/lib/tools/Toolbox/Measure/Measure.js.map +1 -0
- package/lib/tools/Toolbox/Measure/index.js +70 -0
- package/lib/tools/Toolbox/Measure/index.js.map +1 -0
- package/lib/tools/Toolbox/PolygonSelect/index.js +20 -0
- package/lib/tools/Toolbox/PolygonSelect/index.js.map +1 -0
- package/lib/tools/Toolbox/ScaleLine/index.js +55 -0
- package/lib/tools/Toolbox/ScaleLine/index.js.map +1 -0
- package/lib/tools/Toolbox/SelectTools/index.css +15 -0
- package/lib/tools/Toolbox/SelectTools/index.js +243 -0
- package/lib/tools/Toolbox/SelectTools/index.js.map +1 -0
- package/lib/tools/Toolbox/SelectTools/index.less +10 -0
- package/lib/tools/Toolbox/SpaceQuery/index.css +19 -0
- package/lib/tools/Toolbox/SpaceQuery/index.js +590 -0
- package/lib/tools/Toolbox/SpaceQuery/index.js.map +1 -0
- package/lib/tools/Toolbox/SpaceQuery/index.less +18 -0
- package/lib/tools/Toolbox/index.css +6 -0
- package/lib/tools/Toolbox/index.js +187 -0
- package/lib/tools/Toolbox/index.js.map +1 -0
- package/lib/tools/Toolbox/index.less +11 -0
- package/lib/tools/Utils/CreateOverlay.js +47 -0
- package/lib/tools/Utils/CreateOverlay.js.map +1 -0
- package/lib/tools/Utils/Draw.js +129 -0
- package/lib/tools/Utils/Draw.js.map +1 -0
- package/lib/tools/Utils/HighLayer.js +184 -0
- package/lib/tools/Utils/HighLayer.js.map +1 -0
- package/lib/tools/Utils/measure.js +247 -0
- package/lib/tools/Utils/measure.js.map +1 -0
- package/lib/tools/Utils/utils.js +272 -0
- package/lib/tools/Utils/utils.js.map +1 -0
- package/lib/tools/View/index.js +51 -0
- package/lib/tools/View/index.js.map +1 -0
- package/lib/tools/components/Icon/index.js +28 -0
- package/lib/tools/components/Icon/index.js.map +1 -0
- package/lib/tools/components/ItemWrap/index.css +43 -0
- package/lib/tools/components/ItemWrap/index.js +40 -0
- package/lib/tools/components/ItemWrap/index.js.map +1 -0
- package/lib/tools/components/ItemWrap/index.less +41 -0
- package/lib/tools/components/Modal/index.css +36 -0
- package/lib/tools/components/Modal/index.js +37 -0
- package/lib/tools/components/Modal/index.js.map +1 -0
- package/lib/tools/components/Modal/index.less +28 -0
- package/lib/tools/components/MyTabs/index.js +22 -0
- package/lib/tools/components/MyTabs/index.js.map +1 -0
- package/lib/tools/components/RequiredLabel/index.css +5 -0
- package/lib/tools/components/RequiredLabel/index.js +32 -0
- package/lib/tools/components/RequiredLabel/index.js.map +1 -0
- package/lib/tools/components/RequiredLabel/index.less +5 -0
- package/lib/tools/components/Select/index.js +33 -0
- package/lib/tools/components/Select/index.js.map +1 -0
- package/lib/tools/components/Table/index.css +10 -0
- package/lib/tools/components/Table/index.js +91 -0
- package/lib/tools/components/Table/index.js.map +1 -0
- package/lib/tools/components/Table/index.less +13 -0
- package/lib/tools/components/ToolItem/index.css +30 -0
- package/lib/tools/components/ToolItem/index.js +29 -0
- package/lib/tools/components/ToolItem/index.js.map +1 -0
- package/lib/tools/components/ToolItem/index.less +27 -0
- package/lib/tools/components/ToolsSelect/index.css +30 -0
- package/lib/tools/components/ToolsSelect/index.js +43 -0
- package/lib/tools/components/ToolsSelect/index.js.map +1 -0
- package/lib/tools/components/ToolsSelect/index.less +29 -0
- package/lib/tools/index.js +84 -0
- package/lib/tools/index.js.map +1 -0
- package/lib/tools/style/css.js +4 -0
- package/lib/tools/style/css.js.map +1 -0
- package/lib/tools/style/index.css +19 -0
- package/lib/tools/style/index.js +4 -0
- package/lib/tools/style/index.js.map +1 -0
- package/lib/tools/style/index.less +19 -0
- package/package.json +118 -0
|
@@ -0,0 +1,590 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = _default;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _Modal = _interopRequireDefault(require("../../components/Modal"));
|
|
10
|
+
var _antd = require("antd");
|
|
11
|
+
var _RequiredLabel = _interopRequireDefault(require("../../components/RequiredLabel"));
|
|
12
|
+
var _Select = _interopRequireDefault(require("../../components/Select"));
|
|
13
|
+
var _Table = _interopRequireDefault(require("../../components/Table"));
|
|
14
|
+
var _ToolsSelect = _interopRequireDefault(require("../../components/ToolsSelect"));
|
|
15
|
+
var _http = _interopRequireDefault(require("../../../_util/http"));
|
|
16
|
+
var _index = _interopRequireDefault(require("./index.less"));
|
|
17
|
+
var _AnalysisLayer = _interopRequireDefault(require("../../Analysis/AnalysisLayer"));
|
|
18
|
+
var _Draw = _interopRequireDefault(require("../../Utils/Draw"));
|
|
19
|
+
var _Polygon = require("ol/geom/Polygon");
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
21
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
22
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
24
|
+
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."); }
|
|
25
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
26
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
27
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
28
|
+
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."); }
|
|
29
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
30
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
31
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
32
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
33
|
+
var CONFIG = {
|
|
34
|
+
'1': {
|
|
35
|
+
name: '数值',
|
|
36
|
+
operator: ['=', '>', '<', '>=', '<=']
|
|
37
|
+
},
|
|
38
|
+
'2': {
|
|
39
|
+
name: '字符串',
|
|
40
|
+
operator: ['=', '包含']
|
|
41
|
+
},
|
|
42
|
+
'3': {
|
|
43
|
+
name: '枚举',
|
|
44
|
+
operator: ['=', '包含']
|
|
45
|
+
},
|
|
46
|
+
'4': {
|
|
47
|
+
name: '布尔',
|
|
48
|
+
operator: ['=']
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
var LAYER = {
|
|
52
|
+
GSGW: {
|
|
53
|
+
label: '供水管线',
|
|
54
|
+
value: 'GSGW',
|
|
55
|
+
table_name: 'zhsw_water_supply_line',
|
|
56
|
+
layer: 'zhsw:putian_water_supply_line'
|
|
57
|
+
},
|
|
58
|
+
WSGX: {
|
|
59
|
+
label: '污水管线',
|
|
60
|
+
value: 'WSGX',
|
|
61
|
+
table_name: 'zhsw_line',
|
|
62
|
+
layer: 'zhsw:putian_ws_line'
|
|
63
|
+
},
|
|
64
|
+
GSGD: {
|
|
65
|
+
label: '供水管点',
|
|
66
|
+
value: 'GSGD',
|
|
67
|
+
table_name: 'zhsw_water_supply_point',
|
|
68
|
+
layer: 'zhsw:putian_water_supply_point'
|
|
69
|
+
},
|
|
70
|
+
WSGD: {
|
|
71
|
+
label: '污水管点',
|
|
72
|
+
value: 'WSGD',
|
|
73
|
+
table_name: 'zhsw_point',
|
|
74
|
+
layer: 'zhsw:putian_ws_point'
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
// 数据转条件
|
|
78
|
+
var dataToCQLFilter = function dataToCQLFilter(data, whereValue) {
|
|
79
|
+
var cql_filter = '';
|
|
80
|
+
if (data !== null && data !== void 0 && data.length) {
|
|
81
|
+
data.map(function (v) {
|
|
82
|
+
var type = v.type,
|
|
83
|
+
field = v.field,
|
|
84
|
+
operator = v.operator,
|
|
85
|
+
value = v.value;
|
|
86
|
+
if (operator === '包含') {
|
|
87
|
+
if (String(type) === '3') {
|
|
88
|
+
operator = 'in';
|
|
89
|
+
value = "(".concat(value.join(','), ")");
|
|
90
|
+
} else {
|
|
91
|
+
operator = 'like';
|
|
92
|
+
value = "'%".concat(value, "%'");
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
var where = "".concat(field, " ").concat(operator, " ").concat(value);
|
|
96
|
+
cql_filter = cql_filter ? "".concat(cql_filter, " ").concat(whereValue, " ").concat(where) : where;
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return cql_filter;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
// 字段
|
|
103
|
+
var Field = function Field(props) {
|
|
104
|
+
var options = props.options,
|
|
105
|
+
value = props.value,
|
|
106
|
+
status = props.status,
|
|
107
|
+
onChange = props.onChange;
|
|
108
|
+
return /*#__PURE__*/_react["default"].createElement(_antd.Select, {
|
|
109
|
+
status: status,
|
|
110
|
+
value: value,
|
|
111
|
+
style: {
|
|
112
|
+
width: '100%'
|
|
113
|
+
},
|
|
114
|
+
onChange: onChange,
|
|
115
|
+
options: options
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
// 操作符
|
|
120
|
+
var Operator = function Operator(props) {
|
|
121
|
+
var value = props.value,
|
|
122
|
+
options = props.options,
|
|
123
|
+
status = props.status,
|
|
124
|
+
onChange = props.onChange;
|
|
125
|
+
return /*#__PURE__*/_react["default"].createElement(_antd.Select, {
|
|
126
|
+
value: value,
|
|
127
|
+
status: status,
|
|
128
|
+
style: {
|
|
129
|
+
width: '100%'
|
|
130
|
+
},
|
|
131
|
+
onChange: onChange,
|
|
132
|
+
options: options
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
// 值
|
|
137
|
+
var Value = function Value(props) {
|
|
138
|
+
var type = props.type,
|
|
139
|
+
operator = props.operator,
|
|
140
|
+
options = props.options,
|
|
141
|
+
value = props.value,
|
|
142
|
+
status = props.status,
|
|
143
|
+
_onChange = props.onChange;
|
|
144
|
+
if (type === '3') {
|
|
145
|
+
return /*#__PURE__*/_react["default"].createElement(_antd.Select, {
|
|
146
|
+
status: status,
|
|
147
|
+
value: value,
|
|
148
|
+
mode: operator === '包含' ? 'multiple' : null,
|
|
149
|
+
style: {
|
|
150
|
+
width: '100%'
|
|
151
|
+
},
|
|
152
|
+
onChange: _onChange,
|
|
153
|
+
options: options
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
if (type === '4') {
|
|
157
|
+
return /*#__PURE__*/_react["default"].createElement(_antd.Select, {
|
|
158
|
+
status: status,
|
|
159
|
+
value: value,
|
|
160
|
+
style: {
|
|
161
|
+
width: '100%'
|
|
162
|
+
},
|
|
163
|
+
onChange: _onChange,
|
|
164
|
+
options: [{
|
|
165
|
+
label: '否',
|
|
166
|
+
value: 0
|
|
167
|
+
}, {
|
|
168
|
+
label: '是',
|
|
169
|
+
value: 1
|
|
170
|
+
}]
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
return /*#__PURE__*/_react["default"].createElement(_antd.Input, {
|
|
174
|
+
value: value,
|
|
175
|
+
status: status,
|
|
176
|
+
onChange: function onChange(e) {
|
|
177
|
+
return _onChange(e.target.value);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
};
|
|
181
|
+
var Table = function Table(props) {
|
|
182
|
+
var map = props.map,
|
|
183
|
+
layerList = props.layerList,
|
|
184
|
+
layerKey = props.layerKey,
|
|
185
|
+
onAnalysis = props.onAnalysis;
|
|
186
|
+
var _useState = (0, _react.useState)([]),
|
|
187
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
188
|
+
dataSource = _useState2[0],
|
|
189
|
+
setDataSource = _useState2[1];
|
|
190
|
+
var _useState3 = (0, _react.useState)([]),
|
|
191
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
192
|
+
fieldList = _useState4[0],
|
|
193
|
+
setFieldList = _useState4[1];
|
|
194
|
+
var _useState5 = (0, _react.useState)('and'),
|
|
195
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
196
|
+
whereValue = _useState6[0],
|
|
197
|
+
setWhereValue = _useState6[1];
|
|
198
|
+
(0, _react.useEffect)(function () {
|
|
199
|
+
setDataSource([{
|
|
200
|
+
key: new Date().getTime()
|
|
201
|
+
}]);
|
|
202
|
+
if (layerKey) {
|
|
203
|
+
var _layerList$find = layerList.find(function (v) {
|
|
204
|
+
return v.value === layerKey;
|
|
205
|
+
}),
|
|
206
|
+
table_name = _layerList$find.table_name;
|
|
207
|
+
getColumnRelationByTableName(table_name);
|
|
208
|
+
}
|
|
209
|
+
}, [layerKey]);
|
|
210
|
+
var getColumnRelationByTableName = function getColumnRelationByTableName(tableName) {
|
|
211
|
+
var url = "/cloud/zhsw-jcss/api/tableColumnRelation/getColumnRelationByTableName";
|
|
212
|
+
var params = {
|
|
213
|
+
tableName: tableName
|
|
214
|
+
};
|
|
215
|
+
_http["default"].get(url, {
|
|
216
|
+
body: params
|
|
217
|
+
}).then(function (res) {
|
|
218
|
+
var _res$data;
|
|
219
|
+
var _fieldList = [];
|
|
220
|
+
if ((res === null || res === void 0 ? void 0 : res.result) === 0 && res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && _res$data.length) {
|
|
221
|
+
res.data.map(function (v) {
|
|
222
|
+
_fieldList.push({
|
|
223
|
+
label: v.name,
|
|
224
|
+
value: v.columnName,
|
|
225
|
+
values: v
|
|
226
|
+
});
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
setFieldList(_fieldList);
|
|
230
|
+
});
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
// 字段选择
|
|
234
|
+
var onFieldChange = function onFieldChange(value, index) {
|
|
235
|
+
var _fieldList$find, _CONFIG$type;
|
|
236
|
+
var _dataSource = _toConsumableArray(dataSource);
|
|
237
|
+
_dataSource[index].field = value;
|
|
238
|
+
_dataSource[index].field_status = '';
|
|
239
|
+
|
|
240
|
+
// 设置类型和枚举项
|
|
241
|
+
var _ref = ((_fieldList$find = fieldList.find(function (v) {
|
|
242
|
+
return v.value === value;
|
|
243
|
+
})) === null || _fieldList$find === void 0 ? void 0 : _fieldList$find.values) || {},
|
|
244
|
+
type = _ref.type,
|
|
245
|
+
enumList = _ref.enumList;
|
|
246
|
+
_dataSource[index].type = type;
|
|
247
|
+
_dataSource[index].enumList = enumList ? enumList.map(function (v) {
|
|
248
|
+
return {
|
|
249
|
+
label: v.key,
|
|
250
|
+
value: v.value
|
|
251
|
+
};
|
|
252
|
+
}) : [];
|
|
253
|
+
|
|
254
|
+
// 设置操作符数据
|
|
255
|
+
var options = (CONFIG === null || CONFIG === void 0 ? void 0 : (_CONFIG$type = CONFIG[type]) === null || _CONFIG$type === void 0 ? void 0 : _CONFIG$type.operator) || [];
|
|
256
|
+
options = options.map(function (v) {
|
|
257
|
+
return {
|
|
258
|
+
label: v,
|
|
259
|
+
value: v
|
|
260
|
+
};
|
|
261
|
+
});
|
|
262
|
+
_dataSource[index].operatorList = options;
|
|
263
|
+
|
|
264
|
+
// 清空数据
|
|
265
|
+
_dataSource[index].operator = '';
|
|
266
|
+
_dataSource[index].value = '';
|
|
267
|
+
setDataSource(_dataSource);
|
|
268
|
+
};
|
|
269
|
+
|
|
270
|
+
// 操作符选择
|
|
271
|
+
var onOperatorChange = function onOperatorChange(value, index) {
|
|
272
|
+
var _dataSource = _toConsumableArray(dataSource);
|
|
273
|
+
_dataSource[index].operator = value;
|
|
274
|
+
_dataSource[index].operator_status = '';
|
|
275
|
+
_dataSource[index].value = value === '包含' ? [] : '';
|
|
276
|
+
setDataSource(_dataSource);
|
|
277
|
+
};
|
|
278
|
+
var onValueChange = function onValueChange(value, index) {
|
|
279
|
+
var _dataSource = _toConsumableArray(dataSource);
|
|
280
|
+
_dataSource[index].value = value;
|
|
281
|
+
_dataSource[index].value_status = '';
|
|
282
|
+
setDataSource(_dataSource);
|
|
283
|
+
};
|
|
284
|
+
var verifyData = function verifyData() {
|
|
285
|
+
var _dataSource = _toConsumableArray(dataSource);
|
|
286
|
+
var error = false;
|
|
287
|
+
_dataSource.map(function (v) {
|
|
288
|
+
['field', 'operator', 'value'].map(function (f) {
|
|
289
|
+
if (!v[f]) {
|
|
290
|
+
v["".concat(f, "_status")] = 'error';
|
|
291
|
+
error = true;
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
});
|
|
295
|
+
setDataSource(_dataSource);
|
|
296
|
+
return error;
|
|
297
|
+
};
|
|
298
|
+
var onFinish = function onFinish() {
|
|
299
|
+
var error = verifyData();
|
|
300
|
+
if (!error) {
|
|
301
|
+
var cql_filter = dataToCQLFilter(dataSource, whereValue);
|
|
302
|
+
onAnalysis(cql_filter);
|
|
303
|
+
} else {
|
|
304
|
+
_antd.message.info('查询条件存在空项');
|
|
305
|
+
}
|
|
306
|
+
};
|
|
307
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
308
|
+
className: _index["default"].row
|
|
309
|
+
}, /*#__PURE__*/_react["default"].createElement(_RequiredLabel["default"], {
|
|
310
|
+
label: "\u6761\u4EF6\u5173\u7CFB"
|
|
311
|
+
}, /*#__PURE__*/_react["default"].createElement(_antd.Radio.Group, {
|
|
312
|
+
style: {
|
|
313
|
+
paddingLeft: 6
|
|
314
|
+
},
|
|
315
|
+
onChange: function onChange(e) {
|
|
316
|
+
return setWhereValue(e.target.value);
|
|
317
|
+
},
|
|
318
|
+
value: whereValue
|
|
319
|
+
}, /*#__PURE__*/_react["default"].createElement(_antd.Radio, {
|
|
320
|
+
value: "and"
|
|
321
|
+
}, "\u5E76\u4E14"), /*#__PURE__*/_react["default"].createElement(_antd.Radio, {
|
|
322
|
+
value: "or"
|
|
323
|
+
}, "\u6216\u8005"))), /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
324
|
+
type: "primary",
|
|
325
|
+
onClick: onFinish
|
|
326
|
+
}, "\u67E5\u8BE2")), /*#__PURE__*/_react["default"].createElement(_antd.Table, {
|
|
327
|
+
className: _index["default"].tableWrap,
|
|
328
|
+
size: "middle",
|
|
329
|
+
columns: [{
|
|
330
|
+
title: '序号',
|
|
331
|
+
dataIndex: 'num',
|
|
332
|
+
width: 50,
|
|
333
|
+
align: 'center',
|
|
334
|
+
render: function render(_, _2, index) {
|
|
335
|
+
return index + 1;
|
|
336
|
+
}
|
|
337
|
+
}, {
|
|
338
|
+
title: /*#__PURE__*/_react["default"].createElement(_RequiredLabel["default"], {
|
|
339
|
+
label: "\u5B57\u6BB5"
|
|
340
|
+
}),
|
|
341
|
+
dataIndex: 'field',
|
|
342
|
+
width: 120,
|
|
343
|
+
align: 'left',
|
|
344
|
+
render: function render(text, record, index) {
|
|
345
|
+
return /*#__PURE__*/_react["default"].createElement(Field, {
|
|
346
|
+
value: text,
|
|
347
|
+
status: record.field_status,
|
|
348
|
+
options: fieldList,
|
|
349
|
+
onChange: function onChange(value) {
|
|
350
|
+
return onFieldChange(value, index);
|
|
351
|
+
}
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
}, {
|
|
355
|
+
title: /*#__PURE__*/_react["default"].createElement(_RequiredLabel["default"], {
|
|
356
|
+
label: "\u64CD\u4F5C\u7B26"
|
|
357
|
+
}),
|
|
358
|
+
dataIndex: 'operator',
|
|
359
|
+
width: 120,
|
|
360
|
+
align: 'left',
|
|
361
|
+
render: function render(text, record, index) {
|
|
362
|
+
return /*#__PURE__*/_react["default"].createElement(Operator, {
|
|
363
|
+
value: text,
|
|
364
|
+
status: record.operator_status,
|
|
365
|
+
options: record.operatorList || [],
|
|
366
|
+
onChange: function onChange(value) {
|
|
367
|
+
return onOperatorChange(value, index);
|
|
368
|
+
}
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
}, {
|
|
372
|
+
title: /*#__PURE__*/_react["default"].createElement(_RequiredLabel["default"], {
|
|
373
|
+
label: "\u503C"
|
|
374
|
+
}),
|
|
375
|
+
dataIndex: 'value',
|
|
376
|
+
width: 120,
|
|
377
|
+
align: 'left',
|
|
378
|
+
render: function render(text, record, index) {
|
|
379
|
+
return /*#__PURE__*/_react["default"].createElement(Value, {
|
|
380
|
+
value: text,
|
|
381
|
+
status: record.value_status,
|
|
382
|
+
type: record.type && String(record.type),
|
|
383
|
+
operator: record.operator,
|
|
384
|
+
record: record,
|
|
385
|
+
options: record.enumList || [],
|
|
386
|
+
onChange: function onChange(value) {
|
|
387
|
+
return onValueChange(value, index);
|
|
388
|
+
}
|
|
389
|
+
});
|
|
390
|
+
}
|
|
391
|
+
}, {
|
|
392
|
+
title: '操作',
|
|
393
|
+
dataIndex: 'c',
|
|
394
|
+
width: 60,
|
|
395
|
+
align: 'left',
|
|
396
|
+
render: function render(_, _2, index) {
|
|
397
|
+
return /*#__PURE__*/_react["default"].createElement(_antd.Button, {
|
|
398
|
+
type: "link",
|
|
399
|
+
disabled: dataSource.length === 1,
|
|
400
|
+
style: {
|
|
401
|
+
padding: 0
|
|
402
|
+
},
|
|
403
|
+
onClick: function onClick() {
|
|
404
|
+
var _dataSource = _toConsumableArray(dataSource);
|
|
405
|
+
_dataSource.splice(index, 1);
|
|
406
|
+
setDataSource(_dataSource);
|
|
407
|
+
}
|
|
408
|
+
}, "\u5220\u9664");
|
|
409
|
+
}
|
|
410
|
+
}],
|
|
411
|
+
dataSource: dataSource,
|
|
412
|
+
pagination: false,
|
|
413
|
+
toolbar: false,
|
|
414
|
+
scroll: {
|
|
415
|
+
y: map.getViewport().clientHeight - 362
|
|
416
|
+
},
|
|
417
|
+
footer: function footer() {
|
|
418
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
419
|
+
onClick: function onClick() {
|
|
420
|
+
var newTableData = JSON.parse(JSON.stringify(dataSource));
|
|
421
|
+
newTableData.push({
|
|
422
|
+
key: new Date().getTime()
|
|
423
|
+
});
|
|
424
|
+
setDataSource(newTableData);
|
|
425
|
+
}
|
|
426
|
+
}, "+\u6DFB\u52A0");
|
|
427
|
+
}
|
|
428
|
+
}));
|
|
429
|
+
};
|
|
430
|
+
function _default(props) {
|
|
431
|
+
var map = props.map,
|
|
432
|
+
onClose = props.onClose;
|
|
433
|
+
var _useState7 = (0, _react.useState)(''),
|
|
434
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
435
|
+
layerKey = _useState8[0],
|
|
436
|
+
setLayerKey = _useState8[1];
|
|
437
|
+
var _useState9 = (0, _react.useState)(''),
|
|
438
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
439
|
+
toolsKey = _useState10[0],
|
|
440
|
+
setToolsKey = _useState10[1];
|
|
441
|
+
var _useState11 = (0, _react.useState)(false),
|
|
442
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
443
|
+
loading = _useState12[0],
|
|
444
|
+
setLoading = _useState12[1];
|
|
445
|
+
var _useState13 = (0, _react.useState)([]),
|
|
446
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
447
|
+
dataSource = _useState14[0],
|
|
448
|
+
setDataSource = _useState14[1];
|
|
449
|
+
var _useState15 = (0, _react.useState)([]),
|
|
450
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
451
|
+
layerList = _useState16[0],
|
|
452
|
+
setLayerList = _useState16[1];
|
|
453
|
+
var analysisLayer = (0, _react.useRef)();
|
|
454
|
+
var drawRef = (0, _react.useRef)();
|
|
455
|
+
(0, _react.useEffect)(function () {
|
|
456
|
+
onLayerInit();
|
|
457
|
+
map.on('loadstart', function () {
|
|
458
|
+
onLayerInit();
|
|
459
|
+
});
|
|
460
|
+
analysisLayer.current = new _AnalysisLayer["default"]({
|
|
461
|
+
map: map,
|
|
462
|
+
layerName: 'zhsw:putian_network_access_enterprise'
|
|
463
|
+
});
|
|
464
|
+
drawRef.current = new _Draw["default"]({
|
|
465
|
+
map: map
|
|
466
|
+
});
|
|
467
|
+
return function () {
|
|
468
|
+
analysisLayer.current.destroy();
|
|
469
|
+
drawRef.current.destroy();
|
|
470
|
+
};
|
|
471
|
+
}, []);
|
|
472
|
+
var onLayerInit = function onLayerInit() {
|
|
473
|
+
var _layerList = [];
|
|
474
|
+
map.getAllLayers().map(function (layer) {
|
|
475
|
+
if (layer.key && LAYER[layer.key]) {
|
|
476
|
+
_layerList.push(LAYER[layer.key]);
|
|
477
|
+
}
|
|
478
|
+
});
|
|
479
|
+
setLayerList(_layerList);
|
|
480
|
+
};
|
|
481
|
+
var onLayerChange = function onLayerChange(key) {
|
|
482
|
+
setLayerKey(key);
|
|
483
|
+
};
|
|
484
|
+
var onToolsChange = function onToolsChange(key) {
|
|
485
|
+
drawRef.current.drawType = key;
|
|
486
|
+
setToolsKey(key);
|
|
487
|
+
};
|
|
488
|
+
var onAnalysis = function onAnalysis(cql_filter) {
|
|
489
|
+
if (!layerKey) {
|
|
490
|
+
return _antd.message.info('请选择查询图层');
|
|
491
|
+
}
|
|
492
|
+
var features = drawRef.current.source.getFeatures();
|
|
493
|
+
if (!(features !== null && features !== void 0 && features.length)) {
|
|
494
|
+
return _antd.message.info('请绘制查询范围');
|
|
495
|
+
}
|
|
496
|
+
var geometry = features[0].getGeometry();
|
|
497
|
+
var coorStr = '';
|
|
498
|
+
var coordinates = geometry.getCoordinates();
|
|
499
|
+
|
|
500
|
+
// 圈选处理
|
|
501
|
+
if (toolsKey === 'Circle') {
|
|
502
|
+
var polygonGeometry = new _Polygon.fromCircle(geometry);
|
|
503
|
+
coordinates = polygonGeometry.getCoordinates();
|
|
504
|
+
}
|
|
505
|
+
coordinates[0].forEach(function (v, i) {
|
|
506
|
+
if (i === 0) {
|
|
507
|
+
coorStr += "".concat(v[0], " ").concat(v[1]);
|
|
508
|
+
} else {
|
|
509
|
+
coorStr += ", ".concat(v[0], " ").concat(v[1]);
|
|
510
|
+
}
|
|
511
|
+
});
|
|
512
|
+
setLoading(true);
|
|
513
|
+
var _layerList$find2 = layerList.find(function (v) {
|
|
514
|
+
return v.value === layerKey;
|
|
515
|
+
}),
|
|
516
|
+
layer = _layerList$find2.layer;
|
|
517
|
+
var params = {
|
|
518
|
+
typeName: layer,
|
|
519
|
+
layers: layer,
|
|
520
|
+
QUERY_LAYERS: layer,
|
|
521
|
+
cql_filter: "".concat(cql_filter, " and INTERSECTS(geo_location, POLYGON((").concat(coorStr, ")))")
|
|
522
|
+
};
|
|
523
|
+
analysisLayer.current.setLayerData(params).then(function (data) {
|
|
524
|
+
setDataSource(data);
|
|
525
|
+
setLoading(false);
|
|
526
|
+
});
|
|
527
|
+
};
|
|
528
|
+
return /*#__PURE__*/_react["default"].createElement(_Modal["default"], {
|
|
529
|
+
title: "\u7A7A\u95F4\u5B9A\u4F4D\u67E5\u8BE2",
|
|
530
|
+
onClose: onClose,
|
|
531
|
+
width: 500
|
|
532
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
533
|
+
className: _index["default"].row
|
|
534
|
+
}, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
535
|
+
options: layerList,
|
|
536
|
+
title: "\u56FE\u5C42\u9009\u62E9",
|
|
537
|
+
value: layerKey,
|
|
538
|
+
onChange: onLayerChange
|
|
539
|
+
}), /*#__PURE__*/_react["default"].createElement(_ToolsSelect["default"], {
|
|
540
|
+
title: "\u5730\u56FE\u9009\u62E9",
|
|
541
|
+
value: toolsKey,
|
|
542
|
+
onChange: onToolsChange,
|
|
543
|
+
options: [{
|
|
544
|
+
label: '框选',
|
|
545
|
+
key: 'DragBox',
|
|
546
|
+
isActive: false,
|
|
547
|
+
icon: 'icon-kuangxuan'
|
|
548
|
+
}, {
|
|
549
|
+
label: '圈选',
|
|
550
|
+
key: 'Circle',
|
|
551
|
+
isActive: false,
|
|
552
|
+
icon: 'icon-quanxuan'
|
|
553
|
+
}, {
|
|
554
|
+
label: '多边形选择',
|
|
555
|
+
key: 'Polygon',
|
|
556
|
+
isActive: false,
|
|
557
|
+
icon: 'icon-duobianxingxuanze'
|
|
558
|
+
}]
|
|
559
|
+
})), /*#__PURE__*/_react["default"].createElement(_antd.Tabs, null, /*#__PURE__*/_react["default"].createElement(_antd.Tabs.TabPane, {
|
|
560
|
+
tab: "\u67E5\u8BE2\u6761\u4EF6",
|
|
561
|
+
key: "1"
|
|
562
|
+
}, /*#__PURE__*/_react["default"].createElement(Table, {
|
|
563
|
+
map: map,
|
|
564
|
+
layerKey: layerKey,
|
|
565
|
+
layerList: layerList,
|
|
566
|
+
onAnalysis: onAnalysis
|
|
567
|
+
})), /*#__PURE__*/_react["default"].createElement(_antd.Tabs.TabPane, {
|
|
568
|
+
tab: "\u67E5\u8BE2\u7ED3\u679C",
|
|
569
|
+
key: "2"
|
|
570
|
+
}, /*#__PURE__*/_react["default"].createElement(_Table["default"], {
|
|
571
|
+
columns: [{
|
|
572
|
+
title: '编码',
|
|
573
|
+
dataIndex: ['values_', 'code'],
|
|
574
|
+
width: 100,
|
|
575
|
+
render: function render(text) {
|
|
576
|
+
return /*#__PURE__*/_react["default"].createElement("a", {
|
|
577
|
+
onClick: function onClick() {
|
|
578
|
+
return analysisLayer.current.setCenterByCode(text);
|
|
579
|
+
}
|
|
580
|
+
}, text);
|
|
581
|
+
}
|
|
582
|
+
}],
|
|
583
|
+
loading: loading,
|
|
584
|
+
dataSource: dataSource,
|
|
585
|
+
scroll: {
|
|
586
|
+
y: map.getViewport().clientHeight - 330
|
|
587
|
+
}
|
|
588
|
+
}))));
|
|
589
|
+
}
|
|
590
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_Modal","_interopRequireDefault","_antd","_RequiredLabel","_Select","_Table","_ToolsSelect","_http","_index","_AnalysisLayer","_Draw","_Polygon","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","i","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","length","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","CONFIG","operator","LAYER","GSGW","label","table_name","layer","WSGX","GSGD","WSGD","dataToCQLFilter","data","whereValue","cql_filter","map","v","type","field","String","concat","join","where","Field","props","options","status","onChange","createElement","Select","style","width","Operator","Value","mode","Input","e","target","Table","layerList","layerKey","onAnalysis","_useState","useState","_useState2","dataSource","setDataSource","_useState3","_useState4","fieldList","setFieldList","_useState5","_useState6","setWhereValue","useEffect","Date","getTime","_layerList$find","find","getColumnRelationByTableName","tableName","url","params","http","body","then","res","_res$data","_fieldList","result","columnName","values","onFieldChange","index","_fieldList$find","_CONFIG$type","_dataSource","field_status","_ref","enumList","operatorList","onOperatorChange","operator_status","onValueChange","value_status","verifyData","error","f","onFinish","message","info","Fragment","className","styles","row","Radio","Group","paddingLeft","Button","onClick","tableWrap","size","columns","title","dataIndex","align","render","_","_2","text","record","disabled","padding","splice","pagination","toolbar","scroll","y","getViewport","clientHeight","footer","newTableData","JSON","parse","stringify","_default","onClose","_useState7","_useState8","setLayerKey","_useState9","_useState10","toolsKey","setToolsKey","_useState11","_useState12","loading","setLoading","_useState13","_useState14","_useState15","_useState16","setLayerList","analysisLayer","useRef","drawRef","onLayerInit","on","current","AnalysisLayer","layerName","Draw","destroy","_layerList","getAllLayers","onLayerChange","onToolsChange","drawType","features","source","getFeatures","geometry","getGeometry","coorStr","coordinates","getCoordinates","polygonGeometry","fromCircle","forEach","_layerList$find2","typeName","layers","QUERY_LAYERS","setLayerData","isActive","icon","Tabs","TabPane","tab","setCenterByCode"],"sources":["tools/Toolbox/SpaceQuery/index.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport Modal from '../../components/Modal';\nimport {\n message,\n Tabs,\n Table as AntdTable,\n Button,\n Select as AntdSelect,\n Input,\n Radio,\n} from 'antd';\nimport RequiredLabel from '../../components/RequiredLabel';\nimport Select from '../../components/Select';\nimport MyTable from '../../components/Table';\nimport ToolsSelect from '../../components/ToolsSelect';\nimport http from '../../../_util/http';\nimport styles from './index.less';\nimport AnalysisLayer from '../../Analysis/AnalysisLayer';\nimport Draw from '../../Utils/Draw';\nimport { fromCircle } from 'ol/geom/Polygon';\n\nconst CONFIG = {\n '1': {\n name: '数值',\n operator: ['=', '>', '<', '>=', '<='],\n },\n '2': {\n name: '字符串',\n operator: ['=', '包含'],\n },\n '3': {\n name: '枚举',\n operator: ['=', '包含'],\n },\n '4': {\n name: '布尔',\n operator: ['='],\n },\n};\n\nconst LAYER = {\n GSGW: {\n label: '供水管线',\n value: 'GSGW',\n table_name: 'zhsw_water_supply_line',\n layer: 'zhsw:putian_water_supply_line',\n },\n WSGX: { label: '污水管线', value: 'WSGX', table_name: 'zhsw_line', layer: 'zhsw:putian_ws_line' },\n GSGD: {\n label: '供水管点',\n value: 'GSGD',\n table_name: 'zhsw_water_supply_point',\n layer: 'zhsw:putian_water_supply_point',\n },\n WSGD: {\n label: '污水管点',\n value: 'WSGD',\n table_name: 'zhsw_point',\n layer: 'zhsw:putian_ws_point',\n },\n};\n// 数据转条件\nconst dataToCQLFilter = (data, whereValue) => {\n let cql_filter = '';\n if (data?.length) {\n data.map(v => {\n let { type, field, operator, value } = v;\n\n if (operator === '包含') {\n if (String(type) === '3') {\n operator = 'in';\n value = `(${value.join(',')})`;\n } else {\n operator = 'like';\n value = `'%${value}%'`;\n }\n }\n let where = `${field} ${operator} ${value}`;\n cql_filter = cql_filter ? `${cql_filter} ${whereValue} ${where}` : where;\n });\n }\n\n return cql_filter;\n};\n\n// 字段\nconst Field = props => {\n const { options, value, status, onChange } = props;\n\n return (\n <AntdSelect\n status={status}\n value={value}\n style={{ width: '100%' }}\n onChange={onChange}\n options={options}\n />\n );\n};\n\n// 操作符\nconst Operator = props => {\n const { value, options, status, onChange } = props;\n\n return (\n <AntdSelect\n value={value}\n status={status}\n style={{ width: '100%' }}\n onChange={onChange}\n options={options}\n />\n );\n};\n\n// 值\nconst Value = props => {\n const { type, operator, options, value, status, onChange } = props;\n\n if (type === '3') {\n return (\n <AntdSelect\n status={status}\n value={value}\n mode={operator === '包含' ? 'multiple' : null}\n style={{ width: '100%' }}\n onChange={onChange}\n options={options}\n />\n );\n }\n\n if (type === '4') {\n return (\n <AntdSelect\n status={status}\n value={value}\n style={{ width: '100%' }}\n onChange={onChange}\n options={[\n { label: '否', value: 0 },\n { label: '是', value: 1 },\n ]}\n />\n );\n }\n\n return <Input value={value} status={status} onChange={e => onChange(e.target.value)} />;\n};\n\nconst Table = props => {\n const { map, layerList, layerKey, onAnalysis } = props;\n const [dataSource, setDataSource] = useState([]);\n const [fieldList, setFieldList] = useState([]);\n const [whereValue, setWhereValue] = useState('and');\n\n useEffect(() => {\n setDataSource([\n {\n key: new Date().getTime(),\n },\n ]);\n\n if (layerKey) {\n let { table_name } = layerList.find(v => v.value === layerKey);\n getColumnRelationByTableName(table_name);\n }\n }, [layerKey]);\n\n const getColumnRelationByTableName = tableName => {\n const url = `/cloud/zhsw-jcss/api/tableColumnRelation/getColumnRelationByTableName`;\n const params = {\n tableName,\n };\n\n http.get(url, { body: params }).then(res => {\n let _fieldList = [];\n if (res?.result === 0 && res?.data?.length) {\n res.data.map(v => {\n _fieldList.push({ label: v.name, value: v.columnName, values: v });\n });\n }\n setFieldList(_fieldList);\n });\n };\n\n // 字段选择\n const onFieldChange = (value, index) => {\n let _dataSource = [...dataSource];\n _dataSource[index].field = value;\n _dataSource[index].field_status = '';\n\n // 设置类型和枚举项\n let { type, enumList } = fieldList.find(v => v.value === value)?.values || {};\n _dataSource[index].type = type;\n _dataSource[index].enumList = enumList\n ? enumList.map(v => ({ label: v.key, value: v.value }))\n : [];\n\n // 设置操作符数据\n let options = CONFIG?.[type]?.operator || [];\n options = options.map(v => ({ label: v, value: v }));\n _dataSource[index].operatorList = options;\n\n // 清空数据\n _dataSource[index].operator = '';\n _dataSource[index].value = '';\n\n setDataSource(_dataSource);\n };\n\n // 操作符选择\n const onOperatorChange = (value, index) => {\n let _dataSource = [...dataSource];\n _dataSource[index].operator = value;\n _dataSource[index].operator_status = '';\n _dataSource[index].value = value === '包含' ? [] : '';\n\n setDataSource(_dataSource);\n };\n\n const onValueChange = (value, index) => {\n let _dataSource = [...dataSource];\n _dataSource[index].value = value;\n _dataSource[index].value_status = '';\n\n setDataSource(_dataSource);\n };\n\n const verifyData = () => {\n let _dataSource = [...dataSource];\n let error = false;\n _dataSource.map(v => {\n ['field', 'operator', 'value'].map(f => {\n if (!v[f]) {\n v[`${f}_status`] = 'error';\n error = true;\n }\n });\n });\n\n setDataSource(_dataSource);\n\n return error;\n };\n\n const onFinish = () => {\n let error = verifyData();\n if (!error) {\n let cql_filter = dataToCQLFilter(dataSource, whereValue);\n onAnalysis(cql_filter);\n } else {\n message.info('查询条件存在空项');\n }\n };\n\n return (\n <>\n <div className={styles.row}>\n <RequiredLabel label=\"条件关系\">\n <Radio.Group\n style={{ paddingLeft: 6 }}\n onChange={e => setWhereValue(e.target.value)}\n value={whereValue}\n >\n <Radio value=\"and\">并且</Radio>\n <Radio value=\"or\">或者</Radio>\n </Radio.Group>\n </RequiredLabel>\n <Button type=\"primary\" onClick={onFinish}>\n 查询\n </Button>\n </div>\n\n <AntdTable\n className={styles.tableWrap}\n size=\"middle\"\n columns={[\n {\n title: '序号',\n dataIndex: 'num',\n width: 50,\n align: 'center',\n render: (_, _2, index) => index + 1,\n },\n {\n title: <RequiredLabel label=\"字段\" />,\n dataIndex: 'field',\n width: 120,\n align: 'left',\n render: (text, record, index) => (\n <Field\n value={text}\n status={record.field_status}\n options={fieldList}\n onChange={value => onFieldChange(value, index)}\n />\n ),\n },\n {\n title: <RequiredLabel label=\"操作符\" />,\n dataIndex: 'operator',\n width: 120,\n align: 'left',\n render: (text, record, index) => {\n return (\n <Operator\n value={text}\n status={record.operator_status}\n options={record.operatorList || []}\n onChange={value => onOperatorChange(value, index)}\n />\n );\n },\n },\n {\n title: <RequiredLabel label=\"值\" />,\n dataIndex: 'value',\n width: 120,\n align: 'left',\n render: (text, record, index) => {\n return (\n <Value\n value={text}\n status={record.value_status}\n type={record.type && String(record.type)}\n operator={record.operator}\n record={record}\n options={record.enumList || []}\n onChange={value => onValueChange(value, index)}\n />\n );\n },\n },\n {\n title: '操作',\n dataIndex: 'c',\n width: 60,\n align: 'left',\n render: (_, _2, index) => (\n <Button\n type=\"link\"\n disabled={dataSource.length === 1}\n style={{ padding: 0 }}\n onClick={() => {\n let _dataSource = [...dataSource];\n _dataSource.splice(index, 1);\n setDataSource(_dataSource);\n }}\n >\n 删除\n </Button>\n ),\n },\n ]}\n dataSource={dataSource}\n pagination={false}\n toolbar={false}\n scroll={{ y: map.getViewport().clientHeight - 362 }}\n footer={() => {\n return (\n <div\n onClick={() => {\n let newTableData = JSON.parse(JSON.stringify(dataSource));\n newTableData.push({\n key: new Date().getTime(),\n });\n setDataSource(newTableData);\n }}\n >\n +添加\n </div>\n );\n }}\n />\n </>\n );\n};\nexport default function(props) {\n const { map, onClose } = props;\n const [layerKey, setLayerKey] = useState('');\n const [toolsKey, setToolsKey] = useState('');\n const [loading, setLoading] = useState(false);\n const [dataSource, setDataSource] = useState([]);\n const [layerList, setLayerList] = useState([]);\n\n const analysisLayer = useRef();\n const drawRef = useRef();\n\n useEffect(() => {\n onLayerInit();\n\n map.on('loadstart', () => {\n onLayerInit();\n });\n\n analysisLayer.current = new AnalysisLayer({\n map,\n layerName: 'zhsw:putian_network_access_enterprise',\n });\n\n drawRef.current = new Draw({ map });\n\n return () => {\n analysisLayer.current.destroy();\n\n drawRef.current.destroy();\n };\n }, []);\n\n const onLayerInit = () => {\n let _layerList = [];\n map.getAllLayers().map(layer => {\n if (layer.key && LAYER[layer.key]) {\n _layerList.push(LAYER[layer.key]);\n }\n });\n setLayerList(_layerList);\n };\n\n const onLayerChange = key => {\n setLayerKey(key);\n };\n\n const onToolsChange = key => {\n drawRef.current.drawType = key;\n setToolsKey(key);\n };\n\n const onAnalysis = cql_filter => {\n if (!layerKey) {\n return message.info('请选择查询图层');\n }\n\n let features = drawRef.current.source.getFeatures();\n if (!features?.length) {\n return message.info('请绘制查询范围');\n }\n\n let geometry = features[0].getGeometry();\n let coorStr = '';\n let coordinates = geometry.getCoordinates();\n\n // 圈选处理\n if (toolsKey === '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 setLoading(true);\n let { layer } = layerList.find(v => v.value === layerKey);\n let params = {\n typeName: layer,\n layers: layer,\n QUERY_LAYERS: layer,\n cql_filter: `${cql_filter} and INTERSECTS(geo_location, POLYGON((${coorStr})))`,\n };\n analysisLayer.current.setLayerData(params).then(data => {\n setDataSource(data);\n setLoading(false);\n });\n };\n return (\n <Modal title=\"空间定位查询\" onClose={onClose} width={500}>\n <div className={styles.row}>\n <Select options={layerList} title=\"图层选择\" value={layerKey} onChange={onLayerChange} />\n\n <ToolsSelect\n title=\"地图选择\"\n value={toolsKey}\n onChange={onToolsChange}\n options={[\n { label: '框选', key: 'DragBox', isActive: false, icon: 'icon-kuangxuan' },\n { label: '圈选', key: 'Circle', isActive: false, icon: 'icon-quanxuan' },\n {\n label: '多边形选择',\n key: 'Polygon',\n isActive: false,\n icon: 'icon-duobianxingxuanze',\n },\n ]}\n />\n </div>\n\n <Tabs>\n <Tabs.TabPane tab=\"查询条件\" key=\"1\">\n <Table map={map} layerKey={layerKey} layerList={layerList} onAnalysis={onAnalysis} />\n </Tabs.TabPane>\n <Tabs.TabPane tab=\"查询结果\" key=\"2\">\n <MyTable\n columns={[\n {\n title: '编码',\n dataIndex: ['values_', 'code'],\n width: 100,\n render: text => (\n <a onClick={() => analysisLayer.current.setCenterByCode(text)}>{text}</a>\n ),\n },\n ]}\n loading={loading}\n dataSource={dataSource}\n scroll={{ y: map.getViewport().clientHeight - 330 }}\n />\n </Tabs.TabPane>\n </Tabs>\n </Modal>\n );\n}\n"],"mappings":"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"}
|