@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.
Files changed (210) hide show
  1. package/README.md +202 -0
  2. package/lib/_util/filterSpecialCharacters.js +90 -0
  3. package/lib/_util/filterSpecialCharacters.js.map +1 -0
  4. package/lib/_util/getComponentProps.js +14 -0
  5. package/lib/_util/getComponentProps.js.map +1 -0
  6. package/lib/_util/getCookie.js +25 -0
  7. package/lib/_util/getCookie.js.map +1 -0
  8. package/lib/_util/getDefaultMapInfo.js +34 -0
  9. package/lib/_util/getDefaultMapInfo.js.map +1 -0
  10. package/lib/_util/getSystemInfo.js +27 -0
  11. package/lib/_util/getSystemInfo.js.map +1 -0
  12. package/lib/_util/getToken.js +14 -0
  13. package/lib/_util/getToken.js.map +1 -0
  14. package/lib/_util/getUrlParam.js +16 -0
  15. package/lib/_util/getUrlParam.js.map +1 -0
  16. package/lib/_util/http.js +235 -0
  17. package/lib/_util/http.js.map +1 -0
  18. package/lib/_util/isFunction.js +10 -0
  19. package/lib/_util/isFunction.js.map +1 -0
  20. package/lib/_util/isObject.js +10 -0
  21. package/lib/_util/isObject.js.map +1 -0
  22. package/lib/_util/layer.js +134 -0
  23. package/lib/_util/layer.js.map +1 -0
  24. package/lib/_util/mapTool.js +189 -0
  25. package/lib/_util/mapTool.js.map +1 -0
  26. package/lib/_util/setCookie.js +16 -0
  27. package/lib/_util/setCookie.js.map +1 -0
  28. package/lib/_util/useColSize.js +29 -0
  29. package/lib/_util/useColSize.js.map +1 -0
  30. package/lib/_util/useInterval.js +19 -0
  31. package/lib/_util/useInterval.js.map +1 -0
  32. package/lib/_util/useSet.js +45 -0
  33. package/lib/_util/useSet.js.map +1 -0
  34. package/lib/config.js +13 -0
  35. package/lib/config.js.map +1 -0
  36. package/lib/feature-layer/FeatureLayer.js +277 -0
  37. package/lib/feature-layer/FeatureLayer.js.map +1 -0
  38. package/lib/feature-layer/index.js +48 -0
  39. package/lib/feature-layer/index.js.map +1 -0
  40. package/lib/feature-layer/style/css.js +4 -0
  41. package/lib/feature-layer/style/css.js.map +1 -0
  42. package/lib/feature-layer/style/index.css +0 -0
  43. package/lib/feature-layer/style/index.js +4 -0
  44. package/lib/feature-layer/style/index.js.map +1 -0
  45. package/lib/feature-layer/style/index.less +0 -0
  46. package/lib/image-layer/ImageLayer.js +101 -0
  47. package/lib/image-layer/ImageLayer.js.map +1 -0
  48. package/lib/image-layer/index.js +44 -0
  49. package/lib/image-layer/index.js.map +1 -0
  50. package/lib/image-layer/style/css.js +4 -0
  51. package/lib/image-layer/style/css.js.map +1 -0
  52. package/lib/image-layer/style/index.css +0 -0
  53. package/lib/image-layer/style/index.js +4 -0
  54. package/lib/image-layer/style/index.js.map +1 -0
  55. package/lib/image-layer/style/index.less +0 -0
  56. package/lib/index.js +42 -0
  57. package/lib/index.js.map +1 -0
  58. package/lib/map/Popup.js +134 -0
  59. package/lib/map/Popup.js.map +1 -0
  60. package/lib/map/getBaseLayers.js +50 -0
  61. package/lib/map/getBaseLayers.js.map +1 -0
  62. package/lib/map/index.js +319 -0
  63. package/lib/map/index.js.map +1 -0
  64. package/lib/map/style/css.js +4 -0
  65. package/lib/map/style/css.js.map +1 -0
  66. package/lib/map/style/index.css +140 -0
  67. package/lib/map/style/index.js +4 -0
  68. package/lib/map/style/index.js.map +1 -0
  69. package/lib/map/style/index.less +128 -0
  70. package/lib/map-icon/Canvas.js +367 -0
  71. package/lib/map-icon/Canvas.js.map +1 -0
  72. package/lib/map-icon/CockpitIcon.js +317 -0
  73. package/lib/map-icon/CockpitIcon.js.map +1 -0
  74. package/lib/map-icon/CockpitIcon2.js +268 -0
  75. package/lib/map-icon/CockpitIcon2.js.map +1 -0
  76. package/lib/map-icon/CommonIcon.js +193 -0
  77. package/lib/map-icon/CommonIcon.js.map +1 -0
  78. package/lib/map-icon/CommonIcon2.js +164 -0
  79. package/lib/map-icon/CommonIcon2.js.map +1 -0
  80. package/lib/map-icon/Legend.js +53 -0
  81. package/lib/map-icon/Legend.js.map +1 -0
  82. package/lib/map-icon/config.js +3868 -0
  83. package/lib/map-icon/config.js.map +1 -0
  84. package/lib/map-icon/index.js +21 -0
  85. package/lib/map-icon/index.js.map +1 -0
  86. package/lib/map-icon/style/css.js +4 -0
  87. package/lib/map-icon/style/css.js.map +1 -0
  88. package/lib/map-icon/style/index.css +0 -0
  89. package/lib/map-icon/style/index.js +4 -0
  90. package/lib/map-icon/style/index.js.map +1 -0
  91. package/lib/map-icon/style/index.less +0 -0
  92. package/lib/map-icon/svg/index.js +53 -0
  93. package/lib/map-icon/svg/index.js.map +1 -0
  94. package/lib/map-icon/svg/tuceng.svg.js +2 -0
  95. package/lib/map-icon/svg/tuceng.svg.js.map +1 -0
  96. package/lib/style/index.css +0 -0
  97. package/lib/style/index.less +2 -0
  98. package/lib/style/themes/compact.css +0 -0
  99. package/lib/style/themes/compact.less +1 -0
  100. package/lib/style/themes/dark.css +0 -0
  101. package/lib/style/themes/dark.less +9 -0
  102. package/lib/style/themes/default.css +0 -0
  103. package/lib/style/themes/default.less +7 -0
  104. package/lib/style/themes/index.css +0 -0
  105. package/lib/style/themes/index.less +1 -0
  106. package/lib/style/themes/variable.css +0 -0
  107. package/lib/style/themes/variable.less +5 -0
  108. package/lib/tools/Analysis/AnalysisLayer.js +380 -0
  109. package/lib/tools/Analysis/AnalysisLayer.js.map +1 -0
  110. package/lib/tools/Layer/LayerService.js +150 -0
  111. package/lib/tools/Layer/LayerService.js.map +1 -0
  112. package/lib/tools/Layer/LayersCheckService.js +173 -0
  113. package/lib/tools/Layer/LayersCheckService.js.map +1 -0
  114. package/lib/tools/Layer/index.css +34 -0
  115. package/lib/tools/Layer/index.js +227 -0
  116. package/lib/tools/Layer/index.js.map +1 -0
  117. package/lib/tools/Layer/index.less +27 -0
  118. package/lib/tools/Search/index.js +194 -0
  119. package/lib/tools/Search/index.js.map +1 -0
  120. package/lib/tools/Toolbox/BoxSelect/index.js +20 -0
  121. package/lib/tools/Toolbox/BoxSelect/index.js.map +1 -0
  122. package/lib/tools/Toolbox/CircleSelect/index.js +20 -0
  123. package/lib/tools/Toolbox/CircleSelect/index.js.map +1 -0
  124. package/lib/tools/Toolbox/EagleEye/index.js +57 -0
  125. package/lib/tools/Toolbox/EagleEye/index.js.map +1 -0
  126. package/lib/tools/Toolbox/MapBookmark/index.css +18 -0
  127. package/lib/tools/Toolbox/MapBookmark/index.js +494 -0
  128. package/lib/tools/Toolbox/MapBookmark/index.js.map +1 -0
  129. package/lib/tools/Toolbox/MapBookmark/index.less +20 -0
  130. package/lib/tools/Toolbox/MapDownload/index.js +16 -0
  131. package/lib/tools/Toolbox/MapDownload/index.js.map +1 -0
  132. package/lib/tools/Toolbox/MapPrint/index.css +4 -0
  133. package/lib/tools/Toolbox/MapPrint/index.js +242 -0
  134. package/lib/tools/Toolbox/MapPrint/index.js.map +1 -0
  135. package/lib/tools/Toolbox/MapPrint/index.less +4 -0
  136. package/lib/tools/Toolbox/Measure/Area/index.js +17 -0
  137. package/lib/tools/Toolbox/Measure/Area/index.js.map +1 -0
  138. package/lib/tools/Toolbox/Measure/Distance/index.js +17 -0
  139. package/lib/tools/Toolbox/Measure/Distance/index.js.map +1 -0
  140. package/lib/tools/Toolbox/Measure/Measure.js +229 -0
  141. package/lib/tools/Toolbox/Measure/Measure.js.map +1 -0
  142. package/lib/tools/Toolbox/Measure/index.js +70 -0
  143. package/lib/tools/Toolbox/Measure/index.js.map +1 -0
  144. package/lib/tools/Toolbox/PolygonSelect/index.js +20 -0
  145. package/lib/tools/Toolbox/PolygonSelect/index.js.map +1 -0
  146. package/lib/tools/Toolbox/ScaleLine/index.js +55 -0
  147. package/lib/tools/Toolbox/ScaleLine/index.js.map +1 -0
  148. package/lib/tools/Toolbox/SelectTools/index.css +15 -0
  149. package/lib/tools/Toolbox/SelectTools/index.js +243 -0
  150. package/lib/tools/Toolbox/SelectTools/index.js.map +1 -0
  151. package/lib/tools/Toolbox/SelectTools/index.less +10 -0
  152. package/lib/tools/Toolbox/SpaceQuery/index.css +19 -0
  153. package/lib/tools/Toolbox/SpaceQuery/index.js +590 -0
  154. package/lib/tools/Toolbox/SpaceQuery/index.js.map +1 -0
  155. package/lib/tools/Toolbox/SpaceQuery/index.less +18 -0
  156. package/lib/tools/Toolbox/index.css +6 -0
  157. package/lib/tools/Toolbox/index.js +187 -0
  158. package/lib/tools/Toolbox/index.js.map +1 -0
  159. package/lib/tools/Toolbox/index.less +11 -0
  160. package/lib/tools/Utils/CreateOverlay.js +47 -0
  161. package/lib/tools/Utils/CreateOverlay.js.map +1 -0
  162. package/lib/tools/Utils/Draw.js +129 -0
  163. package/lib/tools/Utils/Draw.js.map +1 -0
  164. package/lib/tools/Utils/HighLayer.js +184 -0
  165. package/lib/tools/Utils/HighLayer.js.map +1 -0
  166. package/lib/tools/Utils/measure.js +247 -0
  167. package/lib/tools/Utils/measure.js.map +1 -0
  168. package/lib/tools/Utils/utils.js +272 -0
  169. package/lib/tools/Utils/utils.js.map +1 -0
  170. package/lib/tools/View/index.js +51 -0
  171. package/lib/tools/View/index.js.map +1 -0
  172. package/lib/tools/components/Icon/index.js +28 -0
  173. package/lib/tools/components/Icon/index.js.map +1 -0
  174. package/lib/tools/components/ItemWrap/index.css +43 -0
  175. package/lib/tools/components/ItemWrap/index.js +40 -0
  176. package/lib/tools/components/ItemWrap/index.js.map +1 -0
  177. package/lib/tools/components/ItemWrap/index.less +41 -0
  178. package/lib/tools/components/Modal/index.css +36 -0
  179. package/lib/tools/components/Modal/index.js +37 -0
  180. package/lib/tools/components/Modal/index.js.map +1 -0
  181. package/lib/tools/components/Modal/index.less +28 -0
  182. package/lib/tools/components/MyTabs/index.js +22 -0
  183. package/lib/tools/components/MyTabs/index.js.map +1 -0
  184. package/lib/tools/components/RequiredLabel/index.css +5 -0
  185. package/lib/tools/components/RequiredLabel/index.js +32 -0
  186. package/lib/tools/components/RequiredLabel/index.js.map +1 -0
  187. package/lib/tools/components/RequiredLabel/index.less +5 -0
  188. package/lib/tools/components/Select/index.js +33 -0
  189. package/lib/tools/components/Select/index.js.map +1 -0
  190. package/lib/tools/components/Table/index.css +10 -0
  191. package/lib/tools/components/Table/index.js +91 -0
  192. package/lib/tools/components/Table/index.js.map +1 -0
  193. package/lib/tools/components/Table/index.less +13 -0
  194. package/lib/tools/components/ToolItem/index.css +30 -0
  195. package/lib/tools/components/ToolItem/index.js +29 -0
  196. package/lib/tools/components/ToolItem/index.js.map +1 -0
  197. package/lib/tools/components/ToolItem/index.less +27 -0
  198. package/lib/tools/components/ToolsSelect/index.css +30 -0
  199. package/lib/tools/components/ToolsSelect/index.js +43 -0
  200. package/lib/tools/components/ToolsSelect/index.js.map +1 -0
  201. package/lib/tools/components/ToolsSelect/index.less +29 -0
  202. package/lib/tools/index.js +84 -0
  203. package/lib/tools/index.js.map +1 -0
  204. package/lib/tools/style/css.js +4 -0
  205. package/lib/tools/style/css.js.map +1 -0
  206. package/lib/tools/style/index.css +19 -0
  207. package/lib/tools/style/index.js +4 -0
  208. package/lib/tools/style/index.js.map +1 -0
  209. package/lib/tools/style/index.less +19 -0
  210. 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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"}