@kq_npm/client3d_webgl_vue 4.5.55 → 4.5.56
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/airspacegridoccupancyquery/index.js +1876 -0
- package/airspacegridoccupancyquery/style/airspacegridoccupancyquery.css +1 -0
- package/airspacegridoccupancyquery/style/index.js +3 -0
- package/airspaceprofileanalysis/index.js +1778 -0
- package/airspaceprofileanalysis/style/airspaceprofileanalysis.css +1 -0
- package/airspaceprofileanalysis/style/index.js +3 -0
- package/buildpointmodel/index.js +111 -31
- package/clientPrint/index.js +22739 -119
- package/gpuspatialquery/index.js +69 -9
- package/gridoccupancyquery/index.js +561 -0
- package/gridoccupancyquery/style/gridoccupancyquery.css +1 -0
- package/gridoccupancyquery/style/index.js +3 -0
- package/index.js +22739 -119
- package/lowaltitudefeature/index.js +4854 -0
- package/lowaltitudefeature/style/index.js +3 -0
- package/lowaltitudefeature/style/lowaltitudefeature.css +1 -0
- package/modelprofileanalysis/index.js +1 -0
- package/modelselect/index.js +1 -0
- package/package.json +1 -1
- package/sceneapp/index.js +22739 -119
- package/sceneview/index.js +22739 -119
- package/sceneview/style/sceneview.css +1 -1
- package/style.css +1 -1
- package/toolbarapp/index.js +22739 -119
- package/toolboxapp/index.js +22739 -119
- package/videofusion/index.js +80 -51
- package/viewshedanalysis/index.js +3 -1
- package/webgl.es.js +867 -16
- package/windyslicing/index.js +25 -9
|
@@ -0,0 +1,4854 @@
|
|
|
1
|
+
(function webpackUniversalModuleDefinition(root, factory) {
|
|
2
|
+
if(typeof exports === 'object' && typeof module === 'object')
|
|
3
|
+
module.exports = factory(require("vue"), require("@kq_npm/client_common_vue/init.js"), require("@kq_npm/client_common_vue/_utils/util"), require("@kq_npm/client_common_vue/configprovider/useGlobalConfig"), require("@kq_npm/client_common_vue/_mixin/render"), require("@kq_npm/client_common_vue/_utils/gis-utils"));
|
|
4
|
+
else if(typeof define === 'function' && define.amd)
|
|
5
|
+
define("@kq_npm/client3d_webgl_vue", ["vue", "@kq_npm/client_common_vue/init.js", "@kq_npm/client_common_vue/_utils/util", "@kq_npm/client_common_vue/configprovider/useGlobalConfig", "@kq_npm/client_common_vue/_mixin/render", "@kq_npm/client_common_vue/_utils/gis-utils"], factory);
|
|
6
|
+
else if(typeof exports === 'object')
|
|
7
|
+
exports["@kq_npm/client3d_webgl_vue"] = factory(require("vue"), require("@kq_npm/client_common_vue/init.js"), require("@kq_npm/client_common_vue/_utils/util"), require("@kq_npm/client_common_vue/configprovider/useGlobalConfig"), require("@kq_npm/client_common_vue/_mixin/render"), require("@kq_npm/client_common_vue/_utils/gis-utils"));
|
|
8
|
+
else
|
|
9
|
+
root["@kq_npm/client3d_webgl_vue"] = factory(root["Vue"], root["@kq_npm/client_common_vue/init.js"], root["@kq_npm/client_common_vue/_utils/util"], root["@kq_npm/client_common_vue/configprovider/useGlobalConfig"], root["@kq_npm/client_common_vue/_mixin/render"], root["@kq_npm/client_common_vue/_utils/gis-utils"]);
|
|
10
|
+
})(this, function(__WEBPACK_EXTERNAL_MODULE__50154__, __WEBPACK_EXTERNAL_MODULE__20455__, __WEBPACK_EXTERNAL_MODULE__42975__, __WEBPACK_EXTERNAL_MODULE__22686__, __WEBPACK_EXTERNAL_MODULE__74383__, __WEBPACK_EXTERNAL_MODULE__20064__) {
|
|
11
|
+
return /******/ (function() { // webpackBootstrap
|
|
12
|
+
/******/ "use strict";
|
|
13
|
+
/******/ var __webpack_modules__ = ({
|
|
14
|
+
|
|
15
|
+
/***/ 2409:
|
|
16
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
21
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
22
|
+
value: true
|
|
23
|
+
}));
|
|
24
|
+
exports["default"] = void 0;
|
|
25
|
+
var _Divider = _interopRequireDefault(__webpack_require__(74253));
|
|
26
|
+
var _init = _interopRequireDefault(__webpack_require__(20455));
|
|
27
|
+
var _KqGIS = __webpack_require__(99602);
|
|
28
|
+
/*
|
|
29
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
30
|
+
* All rights reserved.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
_Divider.default.install = (Vue, opts) => {
|
|
34
|
+
(0, _init.default)(Vue, opts);
|
|
35
|
+
Vue.component(_Divider.default.name, _Divider.default);
|
|
36
|
+
};
|
|
37
|
+
var _default = exports["default"] = _Divider.default;
|
|
38
|
+
_KqGIS.kq_npm_client_common_vue.KqDivider = _Divider.default;
|
|
39
|
+
|
|
40
|
+
/***/ }),
|
|
41
|
+
|
|
42
|
+
/***/ 4494:
|
|
43
|
+
/***/ (function(__unused_webpack_module, exports) {
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
48
|
+
value: true
|
|
49
|
+
}));
|
|
50
|
+
exports["default"] = void 0;
|
|
51
|
+
/*
|
|
52
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
53
|
+
* All rights reserved.
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
// 低空要素业务逻辑类
|
|
57
|
+
class LowAltitudeFeatureViewModel {
|
|
58
|
+
// viewer 就绪回调
|
|
59
|
+
|
|
60
|
+
constructor(viewer, options = {}) {
|
|
61
|
+
this._viewer = null;
|
|
62
|
+
this._options = {};
|
|
63
|
+
this._dataSource = null;
|
|
64
|
+
this._currentDrawHandler = null;
|
|
65
|
+
this._activeDrawMode = null;
|
|
66
|
+
// 'point' | 'polyline' | 'polygon'
|
|
67
|
+
this._drawingEntities = [];
|
|
68
|
+
this._gridEntities = new Map();
|
|
69
|
+
// featureId -> grid entity ids
|
|
70
|
+
this._onReady = null;
|
|
71
|
+
this._viewer = viewer;
|
|
72
|
+
this._options = options;
|
|
73
|
+
this._onReady = options.onReady || null;
|
|
74
|
+
this._initDataSource();
|
|
75
|
+
if (typeof this._onReady === "function") {
|
|
76
|
+
this._onReady(this._viewer);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* @description 获取 viewer(供外部调用)
|
|
82
|
+
* @returns {Cesium.Viewer|null}
|
|
83
|
+
*/
|
|
84
|
+
getViewer() {
|
|
85
|
+
return this._viewer;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* @description 判断 viewer 是否已就绪
|
|
90
|
+
* @returns {boolean}
|
|
91
|
+
*/
|
|
92
|
+
isReady() {
|
|
93
|
+
return !!this._viewer;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* @description 初始化数据源
|
|
98
|
+
*/
|
|
99
|
+
_initDataSource() {
|
|
100
|
+
if (!this._viewer) return;
|
|
101
|
+
this._dataSource = new Cesium.CustomDataSource("lowAltitudeFeatures");
|
|
102
|
+
this._viewer.dataSources.add(this._dataSource);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// ==================== 绘制功能 ====================
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* @description 开始绘制点
|
|
109
|
+
* @param {Object} settings 图元设置
|
|
110
|
+
* @param {Function} onDrawComplete 绘制完成回调 (entity, geojson) => void
|
|
111
|
+
* @returns {Cesium.ScreenSpaceEventHandler|null}
|
|
112
|
+
*/
|
|
113
|
+
drawPoint(settings = {}, onDrawComplete) {
|
|
114
|
+
this._clearDraw();
|
|
115
|
+
this._activeDrawMode = "point";
|
|
116
|
+
const handler = new Cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);
|
|
117
|
+
this._currentDrawHandler = handler;
|
|
118
|
+
handler.setInputAction(event => {
|
|
119
|
+
const position = this._pickPosition(event.position);
|
|
120
|
+
if (!position) return;
|
|
121
|
+
const entity = this._createPointEntity(position, settings);
|
|
122
|
+
this._drawingEntities.push(entity);
|
|
123
|
+
if (onDrawComplete) {
|
|
124
|
+
onDrawComplete(entity, this._positionToPointGeoJSON(position));
|
|
125
|
+
}
|
|
126
|
+
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
|
|
127
|
+
return handler;
|
|
128
|
+
}
|
|
129
|
+
_clearDraw() {
|
|
130
|
+
if (this._currentDrawHandler) {
|
|
131
|
+
this._currentDrawHandler.destroy();
|
|
132
|
+
this._currentDrawHandler = null;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* @description 开始绘制线
|
|
138
|
+
* @param {Object} settings 图元设置
|
|
139
|
+
* @param {Function} onDrawComplete 绘制完成回调 (entity, geojson) => void
|
|
140
|
+
* @returns {Cesium.ScreenSpaceEventHandler|null}
|
|
141
|
+
*/
|
|
142
|
+
drawPolyline(settings = {}, onDrawComplete) {
|
|
143
|
+
this._clearDraw();
|
|
144
|
+
this._activeDrawMode = "polyline";
|
|
145
|
+
const positions = [];
|
|
146
|
+
const handler = new Cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);
|
|
147
|
+
|
|
148
|
+
// 动态预览线
|
|
149
|
+
const dynamicPositions = new Cesium.CallbackProperty(() => {
|
|
150
|
+
if (positions.length < 2) return undefined;
|
|
151
|
+
return positions.slice();
|
|
152
|
+
}, false);
|
|
153
|
+
let previewEntity = this._viewer.entities.add({
|
|
154
|
+
polyline: {
|
|
155
|
+
positions: dynamicPositions,
|
|
156
|
+
width: settings.lineWidth || 2,
|
|
157
|
+
material: settings.lineColor ? Cesium.Color.fromCssColorString(settings.lineColor) : Cesium.Color.BLUE,
|
|
158
|
+
clampToGround: true
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
this._drawingEntities.push(previewEntity);
|
|
162
|
+
handler.setInputAction(event => {
|
|
163
|
+
const position = this._pickPosition(event.position);
|
|
164
|
+
if (!position) return;
|
|
165
|
+
positions.push(position);
|
|
166
|
+
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
|
|
167
|
+
handler.setInputAction(() => {
|
|
168
|
+
if (positions.length < 2) return;
|
|
169
|
+
handler.destroy();
|
|
170
|
+
this._currentDrawHandler = null;
|
|
171
|
+
const entity = this._createPolylineEntity(positions.slice(), settings);
|
|
172
|
+
if (previewEntity) {
|
|
173
|
+
this._viewer.entities.remove(previewEntity);
|
|
174
|
+
}
|
|
175
|
+
previewEntity = entity;
|
|
176
|
+
this._drawingEntities = [entity];
|
|
177
|
+
if (onDrawComplete) {
|
|
178
|
+
onDrawComplete(entity, this._positionsToLineGeoJSON(positions));
|
|
179
|
+
}
|
|
180
|
+
}, Cesium.ScreenSpaceEventType.RIGHT_CLICK);
|
|
181
|
+
|
|
182
|
+
// 鼠标移动时更新动态位置
|
|
183
|
+
handler.setInputAction(event => {
|
|
184
|
+
if (!positions.length) return;
|
|
185
|
+
const position = this._pickPosition(event.position);
|
|
186
|
+
if (position) {
|
|
187
|
+
// 触发动态属性更新
|
|
188
|
+
}
|
|
189
|
+
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
|
|
190
|
+
this._currentDrawHandler = handler;
|
|
191
|
+
return handler;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* @description 开始绘制面
|
|
196
|
+
* @param {Object} settings 图元设置
|
|
197
|
+
* @param {Function} onDrawComplete 绘制完成回调 (entity, geojson) => void
|
|
198
|
+
* @returns {Cesium.ScreenSpaceEventHandler|null}
|
|
199
|
+
*/
|
|
200
|
+
drawPolygon(settings = {}, onDrawComplete) {
|
|
201
|
+
this._clearDraw();
|
|
202
|
+
this._activeDrawMode = "polygon";
|
|
203
|
+
const self = this;
|
|
204
|
+
const positions = [];
|
|
205
|
+
const handler = new Cesium.ScreenSpaceEventHandler(this._viewer.scene.canvas);
|
|
206
|
+
|
|
207
|
+
// 动态预览面
|
|
208
|
+
const dynamicPositions = new Cesium.CallbackProperty(() => {
|
|
209
|
+
if (positions.length < 3) return undefined;
|
|
210
|
+
return new Cesium.PolygonHierarchy([...positions, positions[0]]);
|
|
211
|
+
}, false);
|
|
212
|
+
let previewEntity = this._viewer.entities.add({
|
|
213
|
+
polygon: {
|
|
214
|
+
hierarchy: dynamicPositions,
|
|
215
|
+
material: settings.fillColor ? Cesium.Color.fromCssColorString(settings.fillColor).withAlpha((settings.fillOpacity || 50) / 100) : Cesium.Color.GREEN.withAlpha(0.5),
|
|
216
|
+
outline: true,
|
|
217
|
+
outlineColor: settings.outlineColor ? Cesium.Color.fromCssColorString(settings.outlineColor) : Cesium.Color.BLACK,
|
|
218
|
+
outlineWidth: settings.outlineWidth || 1,
|
|
219
|
+
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
this._drawingEntities.push(previewEntity);
|
|
223
|
+
handler.setInputAction(event => {
|
|
224
|
+
const position = this._pickPosition(event.position);
|
|
225
|
+
if (!position) return;
|
|
226
|
+
positions.push(position);
|
|
227
|
+
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
|
|
228
|
+
handler.setInputAction(() => {
|
|
229
|
+
if (positions.length < 3) return;
|
|
230
|
+
handler.destroy();
|
|
231
|
+
this._currentDrawHandler = null;
|
|
232
|
+
const entity = this._createPolygonEntity(positions.slice(), settings);
|
|
233
|
+
if (previewEntity) {
|
|
234
|
+
this._viewer.entities.remove(previewEntity);
|
|
235
|
+
}
|
|
236
|
+
previewEntity = entity;
|
|
237
|
+
// 如果存在模型,则删除
|
|
238
|
+
this._drawingEntities = [entity];
|
|
239
|
+
console.log(self._drawingEntities.length);
|
|
240
|
+
if (onDrawComplete) {
|
|
241
|
+
onDrawComplete(entity, this._positionsToPolygonGeoJSON(positions));
|
|
242
|
+
console.log(self._drawingEntities.length);
|
|
243
|
+
}
|
|
244
|
+
}, Cesium.ScreenSpaceEventType.RIGHT_CLICK);
|
|
245
|
+
this._currentDrawHandler = handler;
|
|
246
|
+
return handler;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// ==================== 实体创建 ====================
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* @description 创建点实体(含缓冲区可视化)
|
|
253
|
+
* @private
|
|
254
|
+
*/
|
|
255
|
+
_createPointEntity(cartesian, settings = {}) {
|
|
256
|
+
const cartographic = Cesium.Cartographic.fromCartesian(cartesian);
|
|
257
|
+
const lon = Cesium.Math.toDegrees(cartographic.longitude);
|
|
258
|
+
const lat = Cesium.Math.toDegrees(cartographic.latitude);
|
|
259
|
+
const bufferDistance = settings.bufferDistance || 500;
|
|
260
|
+
const upperHeight = settings.upperHeight || 120;
|
|
261
|
+
const lowerHeight = settings.lowerHeight || 0;
|
|
262
|
+
const bufferType = settings.bufferType || "sphere";
|
|
263
|
+
|
|
264
|
+
// 缓冲体的中心高度 = 地形高度 + lowerHeight + (upperHeight + lowerHeight) / 2
|
|
265
|
+
// 简化:中心在 lowerHeight + upperHeight/2 处
|
|
266
|
+
const bufferCenterHeight = cartographic.height + lowerHeight + upperHeight / 2;
|
|
267
|
+
const entityOptions = {
|
|
268
|
+
position: Cesium.Cartesian3.fromDegrees(lon, lat, bufferCenterHeight),
|
|
269
|
+
point: {
|
|
270
|
+
pixelSize: 10,
|
|
271
|
+
color: Cesium.Color.CYAN,
|
|
272
|
+
outlineColor: Cesium.Color.WHITE,
|
|
273
|
+
outlineWidth: 2
|
|
274
|
+
},
|
|
275
|
+
properties: {
|
|
276
|
+
type: "point",
|
|
277
|
+
settings
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
if (bufferType === "sphere") {
|
|
281
|
+
// Cesium 没有 ellipsoid 实体属性,用 box 代替(球体近似),有ellipsoid球体
|
|
282
|
+
|
|
283
|
+
const size = bufferDistance * 2;
|
|
284
|
+
entityOptions.ellipsoid = {
|
|
285
|
+
radii: new Cesium.Cartesian3(bufferDistance, bufferDistance, bufferDistance),
|
|
286
|
+
material: Cesium.Color.CYAN.withAlpha(0.3)
|
|
287
|
+
};
|
|
288
|
+
} else if (bufferType === "cube") {
|
|
289
|
+
entityOptions.box = {
|
|
290
|
+
dimensions: new Cesium.Cartesian3(bufferDistance * 2, bufferDistance * 2, upperHeight),
|
|
291
|
+
material: Cesium.Color.CYAN.withAlpha(0.3)
|
|
292
|
+
};
|
|
293
|
+
} else if (bufferType === "cylinder") {
|
|
294
|
+
entityOptions.cylinder = {
|
|
295
|
+
length: upperHeight,
|
|
296
|
+
topRadius: bufferDistance,
|
|
297
|
+
bottomRadius: bufferDistance,
|
|
298
|
+
material: Cesium.Color.CYAN.withAlpha(0.3)
|
|
299
|
+
};
|
|
300
|
+
} else if (bufferType === "cone") {
|
|
301
|
+
entityOptions.cylinder = {
|
|
302
|
+
length: upperHeight,
|
|
303
|
+
topRadius: 0,
|
|
304
|
+
bottomRadius: bufferDistance,
|
|
305
|
+
material: Cesium.Color.CYAN.withAlpha(0.3)
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
if (this._dataSource) {
|
|
309
|
+
return this._dataSource.entities.add(entityOptions);
|
|
310
|
+
}
|
|
311
|
+
return this._viewer.entities.add(entityOptions);
|
|
312
|
+
}
|
|
313
|
+
_computeCircle(radius) {
|
|
314
|
+
const positions = [];
|
|
315
|
+
for (let i = 0; i < 360; i++) {
|
|
316
|
+
const radians = Cesium.Math.toRadians(i);
|
|
317
|
+
positions.push(new Cesium.Cartesian2(radius * Math.cos(radians), radius * Math.sin(radians)));
|
|
318
|
+
}
|
|
319
|
+
return positions;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* @description 创建线实体(含缓冲走廊)
|
|
323
|
+
* @private
|
|
324
|
+
*/
|
|
325
|
+
_createPolylineEntity(positions, settings = {}) {
|
|
326
|
+
const bufferDistance = settings.bufferDistance || 500;
|
|
327
|
+
const upperHeight = settings.upperHeight || 120;
|
|
328
|
+
const lowerHeight = settings.lowerHeight || 0;
|
|
329
|
+
const bufferType = settings.bufferType || "cube";
|
|
330
|
+
const lineColor = settings.lineColor || "#0000FF";
|
|
331
|
+
const lineWidth = settings.lineWidth || 2;
|
|
332
|
+
const entityOptions = {
|
|
333
|
+
polyline: {
|
|
334
|
+
positions: positions,
|
|
335
|
+
width: lineWidth,
|
|
336
|
+
material: Cesium.Color.fromCssColorString(lineColor),
|
|
337
|
+
clampToGround: true
|
|
338
|
+
},
|
|
339
|
+
properties: {
|
|
340
|
+
type: "polyline",
|
|
341
|
+
settings
|
|
342
|
+
}
|
|
343
|
+
};
|
|
344
|
+
if (bufferType === "cube") {
|
|
345
|
+
entityOptions.corridor = {
|
|
346
|
+
positions: positions,
|
|
347
|
+
width: bufferDistance * 2,
|
|
348
|
+
height: lowerHeight,
|
|
349
|
+
extrudedHeight: lowerHeight + upperHeight,
|
|
350
|
+
material: Cesium.Color.fromCssColorString(lineColor).withAlpha(0.25),
|
|
351
|
+
cornerType: Cesium.CornerType.ROUNDED
|
|
352
|
+
};
|
|
353
|
+
} else if (bufferType === "cylinder") {
|
|
354
|
+
entityOptions.polylineVolume = {
|
|
355
|
+
positions: positions,
|
|
356
|
+
shape: this._computeCircle(bufferDistance * 0.5),
|
|
357
|
+
material: Cesium.Color.fromCssColorString(lineColor).withAlpha(0.25)
|
|
358
|
+
};
|
|
359
|
+
}
|
|
360
|
+
if (this._dataSource) {
|
|
361
|
+
return this._dataSource.entities.add(entityOptions);
|
|
362
|
+
}
|
|
363
|
+
return this._viewer.entities.add(entityOptions);
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
/**
|
|
367
|
+
* @description 创建面实体
|
|
368
|
+
* @private
|
|
369
|
+
*/
|
|
370
|
+
_createPolygonEntity(positions, settings = {}) {
|
|
371
|
+
const fillColor = settings.fillColor || "#00FF00";
|
|
372
|
+
const fillOpacity = (settings.fillOpacity || 50) / 100;
|
|
373
|
+
const outlineColor = settings.outlineColor || "#000000";
|
|
374
|
+
const outlineWidth = settings.outlineWidth || 1;
|
|
375
|
+
const upperHeight = settings.upperHeight || 20;
|
|
376
|
+
const lowerHeight = settings.lowerHeight || 0;
|
|
377
|
+
const bufferDistance = settings.bufferDistance;
|
|
378
|
+
|
|
379
|
+
// 根据 bufferDistance 对原始多边形进行向外扩展
|
|
380
|
+
const expandedPositions = bufferDistance > 0 ? this._expandPolygon(positions, bufferDistance) : positions;
|
|
381
|
+
const entityOptions = {
|
|
382
|
+
polygon: {
|
|
383
|
+
hierarchy: new Cesium.PolygonHierarchy(expandedPositions),
|
|
384
|
+
material: Cesium.Color.fromCssColorString(fillColor).withAlpha(fillOpacity),
|
|
385
|
+
outline: true,
|
|
386
|
+
outlineColor: Cesium.Color.fromCssColorString(outlineColor),
|
|
387
|
+
outlineWidth: outlineWidth,
|
|
388
|
+
height: lowerHeight,
|
|
389
|
+
extrudedHeight: lowerHeight + upperHeight,
|
|
390
|
+
heightReference: Cesium.HeightReference.RELATIVE_TO_GROUND,
|
|
391
|
+
classificationType: Cesium.ClassificationType.BOTH
|
|
392
|
+
},
|
|
393
|
+
properties: {
|
|
394
|
+
type: "polygon",
|
|
395
|
+
settings
|
|
396
|
+
}
|
|
397
|
+
};
|
|
398
|
+
if (this._dataSource) {
|
|
399
|
+
return this._dataSource.entities.add(entityOptions);
|
|
400
|
+
}
|
|
401
|
+
return this._viewer.entities.add(entityOptions);
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
// ==================== 几何工具方法 ====================
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* @description 将多边形顶点按照缓冲距离向外扩展
|
|
408
|
+
* @param {Array<Cesium.Cartesian3>} positions 原始多边形顶点
|
|
409
|
+
* @param {number} bufferDistance 缓冲距离(米)
|
|
410
|
+
* @returns {Array<Cesium.Cartesian3>} 扩展后的顶点
|
|
411
|
+
* @private
|
|
412
|
+
*/
|
|
413
|
+
_expandPolygon(positions, bufferDistance) {
|
|
414
|
+
if (!positions || positions.length < 3 || !bufferDistance || bufferDistance <= 0) {
|
|
415
|
+
return positions;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
// 1. 所有顶点转 cartographic
|
|
419
|
+
const cartos = positions.map(pos => Cesium.Cartographic.fromCartesian(pos));
|
|
420
|
+
|
|
421
|
+
// 2. 计算质心(经纬度平均)
|
|
422
|
+
const lonSum = cartos.reduce((s, c) => s + c.longitude, 0);
|
|
423
|
+
const latSum = cartos.reduce((s, c) => s + c.latitude, 0);
|
|
424
|
+
const count = cartos.length;
|
|
425
|
+
const centroidLon = lonSum / count;
|
|
426
|
+
const centroidLat = latSum / count;
|
|
427
|
+
|
|
428
|
+
// 3. 米 → 弧度换算(地球平均半径 ≈ 6378137 m)
|
|
429
|
+
const earthRadius = 6378137;
|
|
430
|
+
const bufferRadLat = bufferDistance / earthRadius;
|
|
431
|
+
const bufferRadLon = bufferDistance / (earthRadius * Math.cos(centroidLat));
|
|
432
|
+
|
|
433
|
+
// 4. 每个顶点沿质心方向外扩
|
|
434
|
+
return cartos.map(c => {
|
|
435
|
+
const dx = c.longitude - centroidLon;
|
|
436
|
+
const dy = c.latitude - centroidLat;
|
|
437
|
+
const dist = Math.sqrt(dx * dx + dy * dy);
|
|
438
|
+
if (dist < 1e-12) {
|
|
439
|
+
return Cesium.Cartesian3.fromRadians(c.longitude, c.latitude, c.height);
|
|
440
|
+
}
|
|
441
|
+
const normDx = dx / dist;
|
|
442
|
+
const normDy = dy / dist;
|
|
443
|
+
return Cesium.Cartesian3.fromRadians(c.longitude + normDx * bufferRadLon, c.latitude + normDy * bufferRadLat, c.height);
|
|
444
|
+
});
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
// ==================== GeoJSON 处理 ====================
|
|
448
|
+
|
|
449
|
+
/**
|
|
450
|
+
* @description 从GeoJSON创建实体
|
|
451
|
+
* @param {Object} geoJson GeoJSON对象
|
|
452
|
+
* @param {Object} settings 图元设置
|
|
453
|
+
* @returns {Array<Cesium.Entity>} 创建的实体数组
|
|
454
|
+
*/
|
|
455
|
+
loadFromGeoJSON(geoJson, settings = {}, trackInDrawing = false) {
|
|
456
|
+
const entities = [];
|
|
457
|
+
const features = geoJson.type === "FeatureCollection" ? geoJson.features : [geoJson];
|
|
458
|
+
features.forEach(feature => {
|
|
459
|
+
const geometry = feature.geometry;
|
|
460
|
+
if (!geometry) return;
|
|
461
|
+
if (geometry.type === "Point") {
|
|
462
|
+
const pos = this._geojsonCoordToCartesian(geometry.coordinates);
|
|
463
|
+
entities.push(this._createPointEntity(pos, settings));
|
|
464
|
+
} else if (geometry.type === "LineString") {
|
|
465
|
+
const positions = geometry.coordinates.map(c => this._geojsonCoordToCartesian(c));
|
|
466
|
+
entities.push(this._createPolylineEntity(positions, settings));
|
|
467
|
+
} else if (geometry.type === "Polygon" && geometry.coordinates[0]) {
|
|
468
|
+
const positions = geometry.coordinates[0].map(c => this._geojsonCoordToCartesian(c));
|
|
469
|
+
entities.push(this._createPolygonEntity(positions, settings));
|
|
470
|
+
} else if (geometry.type === "MultiLineString") {
|
|
471
|
+
geometry.coordinates.forEach(lineCoords => {
|
|
472
|
+
const positions = lineCoords.map(c => this._geojsonCoordToCartesian(c));
|
|
473
|
+
entities.push(this._createPolylineEntity(positions, settings));
|
|
474
|
+
});
|
|
475
|
+
} else if (geometry.type === "MultiPolygon") {
|
|
476
|
+
geometry.coordinates.forEach(polygonCoords => {
|
|
477
|
+
if (polygonCoords[0]) {
|
|
478
|
+
const positions = polygonCoords[0].map(c => this._geojsonCoordToCartesian(c));
|
|
479
|
+
entities.push(this._createPolygonEntity(positions, settings));
|
|
480
|
+
}
|
|
481
|
+
});
|
|
482
|
+
}
|
|
483
|
+
});
|
|
484
|
+
|
|
485
|
+
// 仅在需要跟踪绘图状态时才加入 _drawingEntities(如导入 GeoJSON)
|
|
486
|
+
// 保存/加载已有要素时不加入,避免 clearDraw 误删
|
|
487
|
+
if (trackInDrawing) {
|
|
488
|
+
this._drawingEntities.push(...entities);
|
|
489
|
+
}
|
|
490
|
+
return entities;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
/**
|
|
494
|
+
* @description GeoJSON坐标转Cartesian3
|
|
495
|
+
* @private
|
|
496
|
+
*/
|
|
497
|
+
_geojsonCoordToCartesian(coord) {
|
|
498
|
+
const lon = coord[0];
|
|
499
|
+
const lat = coord[1];
|
|
500
|
+
const height = coord[2] || 0;
|
|
501
|
+
return Cesium.Cartesian3.fromDegrees(lon, lat, height);
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
/**
|
|
505
|
+
* @description 实体转GeoJSON
|
|
506
|
+
*/
|
|
507
|
+
entityToGeoJSON(entity) {
|
|
508
|
+
if (!entity) return null;
|
|
509
|
+
const props = entity.properties?.getValue(Cesium.JulianDate.now()) || {};
|
|
510
|
+
if (props.type === "point") {
|
|
511
|
+
return this._pointToGeoJSON(entity);
|
|
512
|
+
} else if (props.type === "polyline") {
|
|
513
|
+
return this._polylineToGeoJSON(entity);
|
|
514
|
+
} else if (props.type === "polygon") {
|
|
515
|
+
return this._polygonToGeoJSON(entity);
|
|
516
|
+
}
|
|
517
|
+
return null;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
/**
|
|
521
|
+
* @description 点实体转GeoJSON Point
|
|
522
|
+
* @private
|
|
523
|
+
*/
|
|
524
|
+
_pointToGeoJSON(entity) {
|
|
525
|
+
const position = entity.position?.getValue(Cesium.JulianDate.now());
|
|
526
|
+
if (!position) return null;
|
|
527
|
+
const carto = Cesium.Cartographic.fromCartesian(position);
|
|
528
|
+
return {
|
|
529
|
+
type: "Feature",
|
|
530
|
+
properties: {},
|
|
531
|
+
geometry: {
|
|
532
|
+
type: "Point",
|
|
533
|
+
coordinates: [Cesium.Math.toDegrees(carto.longitude), Cesium.Math.toDegrees(carto.latitude), carto.height]
|
|
534
|
+
}
|
|
535
|
+
};
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
/**
|
|
539
|
+
* @description 线实体转GeoJSON LineString
|
|
540
|
+
* @private
|
|
541
|
+
*/
|
|
542
|
+
_polylineToGeoJSON(entity) {
|
|
543
|
+
const positions = entity.polyline?.positions?._value;
|
|
544
|
+
if (!positions || positions.length < 2) return null;
|
|
545
|
+
const coords = positions.map(p => {
|
|
546
|
+
const c = Cesium.Cartographic.fromCartesian(p);
|
|
547
|
+
return [Cesium.Math.toDegrees(c.longitude), Cesium.Math.toDegrees(c.latitude), c.height];
|
|
548
|
+
});
|
|
549
|
+
return {
|
|
550
|
+
type: "Feature",
|
|
551
|
+
properties: {},
|
|
552
|
+
geometry: {
|
|
553
|
+
type: "LineString",
|
|
554
|
+
coordinates: coords
|
|
555
|
+
}
|
|
556
|
+
};
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
/**
|
|
560
|
+
* @description 面实体转GeoJSON Polygon
|
|
561
|
+
* @private
|
|
562
|
+
*/
|
|
563
|
+
_polygonToGeoJSON(entity) {
|
|
564
|
+
const hierarchy = entity.polygon?.hierarchy?.getValue(Cesium.JulianDate.now());
|
|
565
|
+
if (!hierarchy || !hierarchy.positions || hierarchy.positions.length < 3) return null;
|
|
566
|
+
const coords = hierarchy.positions.map(p => {
|
|
567
|
+
const c = Cesium.Cartographic.fromCartesian(p);
|
|
568
|
+
return [Cesium.Math.toDegrees(c.longitude), Cesium.Math.toDegrees(c.latitude), c.height];
|
|
569
|
+
});
|
|
570
|
+
coords.push(coords[0]); // 闭合多边形
|
|
571
|
+
return {
|
|
572
|
+
type: "Feature",
|
|
573
|
+
properties: {},
|
|
574
|
+
geometry: {
|
|
575
|
+
type: "Polygon",
|
|
576
|
+
coordinates: [coords]
|
|
577
|
+
}
|
|
578
|
+
};
|
|
579
|
+
}
|
|
580
|
+
_positionToPointGeoJSON(position) {
|
|
581
|
+
const c = Cesium.Cartographic.fromCartesian(position);
|
|
582
|
+
return {
|
|
583
|
+
type: "Feature",
|
|
584
|
+
geometry: {
|
|
585
|
+
type: "Point",
|
|
586
|
+
coordinates: [Cesium.Math.toDegrees(c.longitude), Cesium.Math.toDegrees(c.latitude), c.height]
|
|
587
|
+
}
|
|
588
|
+
};
|
|
589
|
+
}
|
|
590
|
+
/**
|
|
591
|
+
* @description 坐标数组转线GeoJSON
|
|
592
|
+
* @private
|
|
593
|
+
*/
|
|
594
|
+
_positionsToLineGeoJSON(positions) {
|
|
595
|
+
const coords = positions.map(p => {
|
|
596
|
+
const c = Cesium.Cartographic.fromCartesian(p);
|
|
597
|
+
return [Cesium.Math.toDegrees(c.longitude), Cesium.Math.toDegrees(c.latitude), c.height];
|
|
598
|
+
});
|
|
599
|
+
return {
|
|
600
|
+
type: "Feature",
|
|
601
|
+
properties: {},
|
|
602
|
+
geometry: {
|
|
603
|
+
type: "LineString",
|
|
604
|
+
coordinates: coords
|
|
605
|
+
}
|
|
606
|
+
};
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
/**
|
|
610
|
+
* @description 坐标数组转面GeoJSON
|
|
611
|
+
* @private
|
|
612
|
+
*/
|
|
613
|
+
_positionsToPolygonGeoJSON(positions) {
|
|
614
|
+
const coords = positions.map(p => {
|
|
615
|
+
const c = Cesium.Cartographic.fromCartesian(p);
|
|
616
|
+
return [Cesium.Math.toDegrees(c.longitude), Cesium.Math.toDegrees(c.latitude), c.height];
|
|
617
|
+
});
|
|
618
|
+
coords.push(coords[0]); // 闭合
|
|
619
|
+
return {
|
|
620
|
+
type: "Feature",
|
|
621
|
+
properties: {},
|
|
622
|
+
geometry: {
|
|
623
|
+
type: "Polygon",
|
|
624
|
+
coordinates: [coords]
|
|
625
|
+
}
|
|
626
|
+
};
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
// ==================== 网格化显示 ====================
|
|
630
|
+
|
|
631
|
+
/**
|
|
632
|
+
* @description 切换网格化显示
|
|
633
|
+
* @param {string} featureId 要素ID
|
|
634
|
+
* @param {boolean} show 是否显示网格
|
|
635
|
+
* @param {Object} settings 图元设置
|
|
636
|
+
*/
|
|
637
|
+
toggleGridDisplay(featureInfo, show, settings) {
|
|
638
|
+
this._removeGridEntities(featureInfo.id);
|
|
639
|
+
if (!show) return;
|
|
640
|
+
const gridLevel = settings.gridLevel || 120;
|
|
641
|
+
const gridEntities = [];
|
|
642
|
+
|
|
643
|
+
// TODO: 根据要素类型生成网格 - 需要传入要素实体
|
|
644
|
+
// 此处预留接口,由调用方传入实体
|
|
645
|
+
this.showGridOccupancyQuery(featureInfo, settings).then(gridPositions => {
|
|
646
|
+
// gridPositions.forEach((cellBounds) => {
|
|
647
|
+
// const entity = this._createGridCell(cellBounds, settings);
|
|
648
|
+
// gridEntities.push(entity);
|
|
649
|
+
});
|
|
650
|
+
this._gridEntities.set(featureId, gridEntities);
|
|
651
|
+
}
|
|
652
|
+
showGridOccupancyQuery(featureInfo) {
|
|
653
|
+
let that = this;
|
|
654
|
+
let queryUrl = "http://172.16.1.204:9600/kqgis/rest/services/qqq/gridflow";
|
|
655
|
+
let level = 23,
|
|
656
|
+
serviceName = "qqq";
|
|
657
|
+
let name = featureInfo.code; //featureInfo.name
|
|
658
|
+
if (this._htmlTag) this._htmlTag.destroy();
|
|
659
|
+
// http://172.16.3.103:8079/bigdataApi/rest/services/xgsjlxx_grid/gridflow/airspaceOccupyRegion
|
|
660
|
+
//POST
|
|
661
|
+
let url = queryUrl + `/airspaceByName?name=${name}&servicename=${serviceName}`;
|
|
662
|
+
fetch('http://172.16.1.204:9600/kqgis/rest/services/qqq/gridflow/airspacePage', {
|
|
663
|
+
method: "POST"
|
|
664
|
+
}).then(response => {});
|
|
665
|
+
fetch(url, {
|
|
666
|
+
method: "GET"
|
|
667
|
+
}).then(response => {
|
|
668
|
+
if (!response.ok) {
|
|
669
|
+
throw new Error("Network response was not ok");
|
|
670
|
+
}
|
|
671
|
+
return response.json(); // 解析JSON数据
|
|
672
|
+
}).then(data => {
|
|
673
|
+
if (data.code == 200) {
|
|
674
|
+
if (data.content.code) {
|
|
675
|
+
// console.log(data.content.types);
|
|
676
|
+
let code = data.content.code;
|
|
677
|
+
let instanc = that.getGridInstanc(code);
|
|
678
|
+
if (instanc) {
|
|
679
|
+
if (that._clickGirdPrimitive) {
|
|
680
|
+
that._clickGirdPrimitive.geometryInstances = instanc;
|
|
681
|
+
that._clickGirdPrimitive._state = Cesium.PrimitiveState.READY;
|
|
682
|
+
that._clickGirdPrimitive.updateVertex = true;
|
|
683
|
+
} else {
|
|
684
|
+
that._clickGirdPrimitive = that._viewer.scene.primitives.add(new Cesium.Primitive({
|
|
685
|
+
geometryInstances: instanc,
|
|
686
|
+
appearance: new Cesium.MaterialAppearance({
|
|
687
|
+
flat: true,
|
|
688
|
+
translucent: false,
|
|
689
|
+
material: new Cesium.Material({
|
|
690
|
+
fabric: {
|
|
691
|
+
type: "Color",
|
|
692
|
+
uniforms: {
|
|
693
|
+
color: Cesium.Color.RED.withAlpha(0.3)
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
}),
|
|
697
|
+
renderState: {
|
|
698
|
+
depthTest: {
|
|
699
|
+
enabled: true
|
|
700
|
+
}
|
|
701
|
+
// depthMask: false
|
|
702
|
+
}
|
|
703
|
+
}),
|
|
704
|
+
cull: false,
|
|
705
|
+
asynchronous: false
|
|
706
|
+
}));
|
|
707
|
+
}
|
|
708
|
+
let gridcode = code.substring(0, (code.length + 1) / 2);
|
|
709
|
+
let type = data.content.types.map(item => item.description);
|
|
710
|
+
//显示网格暂用情况
|
|
711
|
+
that._htmlTag = new Cesium.Kq3dDragableHtmlTag(that._viewer, {
|
|
712
|
+
showLine: true,
|
|
713
|
+
lineStyle: "solid",
|
|
714
|
+
lineWidth: 2,
|
|
715
|
+
lineColor: Cesium.Color.DARKCYAN,
|
|
716
|
+
position: position,
|
|
717
|
+
panelOffset: [20, 20],
|
|
718
|
+
html: `<div class='grid_info'>
|
|
719
|
+
<span id='grid_info_close' class='close'>×</span>
|
|
720
|
+
<div class='title'>${that._language.value.webgl["gridOccupancyQuery"]}</div>
|
|
721
|
+
<div class='attr'>${that._language.value.common["gridCode"]} : ${gridcode}</div>
|
|
722
|
+
<div class='attr'>${that._language.value.webgl["occupancyType"]} : ${type.join(",")}</div>
|
|
723
|
+
</div>`
|
|
724
|
+
});
|
|
725
|
+
setTimeout(() => {
|
|
726
|
+
let close = document.querySelector("#grid_info_close");
|
|
727
|
+
close.addEventListener("click", function () {
|
|
728
|
+
if (that._htmlTag) {
|
|
729
|
+
that._htmlTag.destroy();
|
|
730
|
+
that._htmlTag = null;
|
|
731
|
+
}
|
|
732
|
+
if (that._clickGirdPrimitive) {
|
|
733
|
+
that._clickGirdPrimitive.geometryInstances = [];
|
|
734
|
+
that._clickGirdPrimitive._state = Cesium.PrimitiveState.READY;
|
|
735
|
+
that._clickGirdPrimitive.updateVertex = true;
|
|
736
|
+
}
|
|
737
|
+
});
|
|
738
|
+
}, 1000);
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
}).catch(error => {
|
|
743
|
+
console.error("There was a problem with your fetch operation:", error);
|
|
744
|
+
});
|
|
745
|
+
}
|
|
746
|
+
getGridOccupancy(featureInfo) {
|
|
747
|
+
let that = this;
|
|
748
|
+
let queryUrl = "http://172.16.1.204:9600/kqgis/rest/services/qqq/gridflow";
|
|
749
|
+
let level = 23,
|
|
750
|
+
serviceName = "qqq";
|
|
751
|
+
let name = featureInfo.code; //featureInfo.name
|
|
752
|
+
if (this._htmlTag) this._htmlTag.destroy();
|
|
753
|
+
// http://172.16.3.103:8079/bigdataApi/rest/services/xgsjlxx_grid/gridflow/airspaceOccupyRegion
|
|
754
|
+
//POST
|
|
755
|
+
let url = queryUrl + `/airspaceOccupyRegion?name=${name}&servicename=${serviceName}`;
|
|
756
|
+
fetch(url, {
|
|
757
|
+
method: "POST"
|
|
758
|
+
}).then(response => {
|
|
759
|
+
if (!response.ok) {
|
|
760
|
+
throw new Error("Network response was not ok");
|
|
761
|
+
}
|
|
762
|
+
return response.json(); // 解析JSON数据
|
|
763
|
+
}).then(data => {
|
|
764
|
+
if (data.code == 200) {
|
|
765
|
+
if (data.content.code) {
|
|
766
|
+
// console.log(data.content.types);
|
|
767
|
+
let code = data.content.code;
|
|
768
|
+
let instanc = that.getGridInstanc(code);
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
}).catch(error => {
|
|
772
|
+
console.error("There was a problem with your fetch operation:", error);
|
|
773
|
+
});
|
|
774
|
+
}
|
|
775
|
+
getGridInstanc(code) {
|
|
776
|
+
let index = (code.length + 1) / 2;
|
|
777
|
+
let grid = Module.decodeGeoSotGBCodeToBox(code.substring(0, index), code.substring(index));
|
|
778
|
+
if (grid) {
|
|
779
|
+
if (grid.minx < -180) grid.minx = -180;
|
|
780
|
+
if (grid.maxx > 180) grid.maxx = 180;
|
|
781
|
+
if (grid.miny < -90) grid.miny = -90;
|
|
782
|
+
if (grid.maxy > 90) grid.maxy = 90;
|
|
783
|
+
const minLon = Math.min(grid.minx, grid.maxx);
|
|
784
|
+
const minLat = Math.min(grid.miny, grid.maxy);
|
|
785
|
+
const maxLon = Math.max(grid.minx, grid.maxx);
|
|
786
|
+
const maxLat = Math.max(grid.miny, grid.maxy);
|
|
787
|
+
const minz = grid.minz;
|
|
788
|
+
const maxz = grid.maxz;
|
|
789
|
+
let rectangle = new Cesium.RectangleGeometry({
|
|
790
|
+
ellipsoid: Cesium.Ellipsoid.WGS84,
|
|
791
|
+
rectangle: Cesium.Rectangle.fromDegrees(minLon, minLat, maxLon, maxLat),
|
|
792
|
+
height: minz,
|
|
793
|
+
extrudedHeight: maxz
|
|
794
|
+
});
|
|
795
|
+
let gridInstanc = new Cesium.GeometryInstance({
|
|
796
|
+
geometry: rectangle
|
|
797
|
+
});
|
|
798
|
+
return gridInstanc;
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
/**
|
|
803
|
+
* @description 移除网格实体
|
|
804
|
+
* @private
|
|
805
|
+
*/
|
|
806
|
+
_removeGridEntities(featureId) {
|
|
807
|
+
const entityIds = this._gridEntities.get(featureId);
|
|
808
|
+
if (entityIds) {
|
|
809
|
+
entityIds.forEach(id => {
|
|
810
|
+
const entity = this._viewer?.entities.getById(id);
|
|
811
|
+
if (entity) this._viewer.entities.remove(entity);
|
|
812
|
+
});
|
|
813
|
+
this._gridEntities.delete(featureId);
|
|
814
|
+
}
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
/**
|
|
818
|
+
* @description 在面内生成网格单元
|
|
819
|
+
* @private
|
|
820
|
+
*/
|
|
821
|
+
_generateGridInPolygon(boundaryPositions, gridSizeMeters) {
|
|
822
|
+
// TODO: 实现面内网格化算法(基于Delaunay三角剖分或四叉树)
|
|
823
|
+
return [];
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
/**
|
|
827
|
+
* @description 沿线生成网格缓冲
|
|
828
|
+
* @private
|
|
829
|
+
*/
|
|
830
|
+
_generateGridAlongLine(positions, bufferSize, gridSizeMeters) {
|
|
831
|
+
// TODO: 实现沿线网格化算法
|
|
832
|
+
return [];
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
/**
|
|
836
|
+
* @description 在点周围生成网格
|
|
837
|
+
* @private
|
|
838
|
+
*/
|
|
839
|
+
_generateGridAroundPoint(center, radius, gridSizeMeters) {
|
|
840
|
+
// TODO: 实现点周围网格化算法
|
|
841
|
+
return [];
|
|
842
|
+
}
|
|
843
|
+
|
|
844
|
+
/**
|
|
845
|
+
* @description 创建网格单元实体
|
|
846
|
+
* @private
|
|
847
|
+
*/
|
|
848
|
+
_createGridCell(cellBounds, settings) {
|
|
849
|
+
return this._viewer.entities.add({
|
|
850
|
+
rectangle: {
|
|
851
|
+
coordinates: Cesium.Rectangle.fromDegrees(...cellBounds),
|
|
852
|
+
material: Cesium.Color.CYAN.withAlpha(0.15),
|
|
853
|
+
outline: true,
|
|
854
|
+
outlineColor: Cesium.Color.CYAN.withAlpha(0.4),
|
|
855
|
+
outlineWidth: 1,
|
|
856
|
+
height: settings.lowerHeight || 0,
|
|
857
|
+
extrudedHeight: (settings.lowerHeight || 0) + (settings.upperHeight || 100)
|
|
858
|
+
}
|
|
859
|
+
});
|
|
860
|
+
}
|
|
861
|
+
|
|
862
|
+
// ==================== 工具方法 ====================
|
|
863
|
+
|
|
864
|
+
/**
|
|
865
|
+
* @description 拾取鼠标位置的地理坐标
|
|
866
|
+
* @private
|
|
867
|
+
*/
|
|
868
|
+
_pickPosition(screenPos) {
|
|
869
|
+
if (!this._viewer) return null;
|
|
870
|
+
const ray = this._viewer.camera.getPickRay(screenPos);
|
|
871
|
+
if (!ray) return null;
|
|
872
|
+
const position = this._viewer.scene.globe.pick(ray, this._viewer.scene);
|
|
873
|
+
if (!position) {
|
|
874
|
+
return this._viewer.camera.pickEllipsoid(screenPos, this._viewer.scene.globe.ellipsoid);
|
|
875
|
+
}
|
|
876
|
+
return position;
|
|
877
|
+
}
|
|
878
|
+
|
|
879
|
+
/**
|
|
880
|
+
* @description 清除当前绘制
|
|
881
|
+
*/
|
|
882
|
+
clearDraw() {
|
|
883
|
+
if (this._currentDrawHandler) {
|
|
884
|
+
this._currentDrawHandler.destroy();
|
|
885
|
+
this._currentDrawHandler = null;
|
|
886
|
+
}
|
|
887
|
+
this._activeDrawMode = null;
|
|
888
|
+
this._drawingEntities.forEach(entity => {
|
|
889
|
+
if (entity) {
|
|
890
|
+
// 实体可能添加到 dataSource.entities(_createXxxEntity)或 viewer.entities(预览实体)
|
|
891
|
+
if (this._dataSource) {
|
|
892
|
+
this._dataSource.entities.remove(entity);
|
|
893
|
+
}
|
|
894
|
+
this._viewer.entities.remove(entity);
|
|
895
|
+
}
|
|
896
|
+
});
|
|
897
|
+
this._drawingEntities = [];
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
/**
|
|
901
|
+
* @description 缩放到实体
|
|
902
|
+
*/
|
|
903
|
+
zoomToEntity(entityOrId) {
|
|
904
|
+
let entity = entityOrId;
|
|
905
|
+
if (typeof entityOrId === "string") {
|
|
906
|
+
entity = this._viewer.entities.getById(entityOrId);
|
|
907
|
+
}
|
|
908
|
+
if (entity) {
|
|
909
|
+
this._viewer.zoomTo(entity);
|
|
910
|
+
return true;
|
|
911
|
+
}
|
|
912
|
+
return false;
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
/**
|
|
916
|
+
* @description 更新要素实体可见性
|
|
917
|
+
* @param {Object} feature 要素对象(含 entityIds)
|
|
918
|
+
* @param {boolean} checked 是否可见
|
|
919
|
+
*/
|
|
920
|
+
updateFeatureVisibility(feature, checked) {
|
|
921
|
+
if (!this._viewer || !feature || !feature.entityIds) return;
|
|
922
|
+
feature.entityIds.forEach(id => {
|
|
923
|
+
// const entity = this._viewer.entities.getById(id);
|
|
924
|
+
// 通过_drawingEntities更新可见性,避免直接操作实体
|
|
925
|
+
// const entity= this._drawingEntities.find((e) => e.id === id);
|
|
926
|
+
const entity = this._dataSource.entities.getById(id);
|
|
927
|
+
if (entity) entity.show = checked;
|
|
928
|
+
});
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
/**
|
|
932
|
+
* @description 销毁ViewModel
|
|
933
|
+
*/
|
|
934
|
+
destroy() {
|
|
935
|
+
this.clearDraw();
|
|
936
|
+
this._gridEntities.forEach((_, featureId) => {
|
|
937
|
+
this._removeGridEntities(featureId);
|
|
938
|
+
});
|
|
939
|
+
this._gridEntities.clear();
|
|
940
|
+
if (this._dataSource && this._viewer) {
|
|
941
|
+
this._viewer.dataSources.remove(this._dataSource);
|
|
942
|
+
}
|
|
943
|
+
this._viewer = null;
|
|
944
|
+
this._dataSource = null;
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
// ==================== 地图操作(供 Vue 组件调用)====================
|
|
948
|
+
|
|
949
|
+
/**
|
|
950
|
+
* @description 缩放到要素(通过 feature 对象)
|
|
951
|
+
* @param {Object} feature 要素对象(含 geojson)
|
|
952
|
+
* @returns {boolean}
|
|
953
|
+
*/
|
|
954
|
+
zoomToFeature(feature) {
|
|
955
|
+
if (!this._viewer || !feature || !feature.geojson) return false;
|
|
956
|
+
try {
|
|
957
|
+
const geojson = typeof feature.geojson === "string" ? JSON.parse(feature.geojson) : feature.geojson;
|
|
958
|
+
const positions = this._extractPositionsFromGeoJSON(geojson);
|
|
959
|
+
if (positions && positions.length > 0) {
|
|
960
|
+
this._viewer.camera.flyTo({
|
|
961
|
+
destination: Cesium.Rectangle.fromCartographicArray(positions),
|
|
962
|
+
duration: 1.5
|
|
963
|
+
});
|
|
964
|
+
return true;
|
|
965
|
+
}
|
|
966
|
+
} catch (e) {
|
|
967
|
+
console.error("缩放失败:", e);
|
|
968
|
+
}
|
|
969
|
+
return false;
|
|
970
|
+
}
|
|
971
|
+
|
|
972
|
+
/**
|
|
973
|
+
* @description 删除要素实体(通过 entityIds 数组)
|
|
974
|
+
* @param {Array<string>} entityIds
|
|
975
|
+
*/
|
|
976
|
+
removeFeatureEntities(entityIds) {
|
|
977
|
+
if (!this._viewer || !entityIds) return;
|
|
978
|
+
entityIds.forEach(id => {
|
|
979
|
+
// 优先从 dataSource 中移除
|
|
980
|
+
let entity = null;
|
|
981
|
+
if (this._dataSource) {
|
|
982
|
+
entity = this._dataSource.entities.getById(id);
|
|
983
|
+
if (entity) {
|
|
984
|
+
this._dataSource.entities.remove(entity);
|
|
985
|
+
}
|
|
986
|
+
}
|
|
987
|
+
// 如果 dataSource 中没找到,尝试从 viewer.entities 中移除
|
|
988
|
+
if (!entity) {
|
|
989
|
+
entity = this._viewer.entities.getById(id);
|
|
990
|
+
if (entity) {
|
|
991
|
+
this._viewer.entities.remove(entity);
|
|
992
|
+
}
|
|
993
|
+
}
|
|
994
|
+
// 从 _drawingEntities 中移除
|
|
995
|
+
const drawingIndex = this._drawingEntities.findIndex(e => e.id === id);
|
|
996
|
+
if (drawingIndex !== -1) {
|
|
997
|
+
this._drawingEntities.splice(drawingIndex, 1);
|
|
998
|
+
}
|
|
999
|
+
});
|
|
1000
|
+
}
|
|
1001
|
+
|
|
1002
|
+
/**
|
|
1003
|
+
* @description 移除当前绘制中的实体
|
|
1004
|
+
*/
|
|
1005
|
+
removeCurrentDrawingEntities() {
|
|
1006
|
+
this._drawingEntities.forEach(entity => {
|
|
1007
|
+
if (entity) {
|
|
1008
|
+
// 优先从 dataSource 中移除(_createXxxEntity 添加到 dataSource)
|
|
1009
|
+
if (this._dataSource) {
|
|
1010
|
+
this._dataSource.entities.remove(entity);
|
|
1011
|
+
}
|
|
1012
|
+
// 同时尝试从 viewer.entities 中移除(预览实体添加到 viewer.entities)
|
|
1013
|
+
this._viewer.entities.remove(entity);
|
|
1014
|
+
}
|
|
1015
|
+
});
|
|
1016
|
+
this._drawingEntities = [];
|
|
1017
|
+
}
|
|
1018
|
+
|
|
1019
|
+
/**
|
|
1020
|
+
* @description 从 GeoJSON 提取 Cartographic 数组(私有工具方法)
|
|
1021
|
+
* @private
|
|
1022
|
+
*/
|
|
1023
|
+
_extractPositionsFromGeoJSON(geojson) {
|
|
1024
|
+
const positions = [];
|
|
1025
|
+
const features = geojson.type === "FeatureCollection" ? geojson.features : [geojson];
|
|
1026
|
+
features.forEach(f => {
|
|
1027
|
+
const geom = f.type === "Feature" ? f.geometry : f;
|
|
1028
|
+
if (!geom) return;
|
|
1029
|
+
const coords = geom.coordinates;
|
|
1030
|
+
if (geom.type === "Point") {
|
|
1031
|
+
positions.push(Cesium.Cartographic.fromDegrees(coords[0], coords[1]));
|
|
1032
|
+
} else if (geom.type === "LineString") {
|
|
1033
|
+
coords.forEach(c => positions.push(Cesium.Cartographic.fromDegrees(c[0], c[1])));
|
|
1034
|
+
} else if (geom.type === "Polygon" && coords[0]) {
|
|
1035
|
+
coords[0].forEach(c => positions.push(Cesium.Cartographic.fromDegrees(c[0], c[1])));
|
|
1036
|
+
}
|
|
1037
|
+
});
|
|
1038
|
+
return positions;
|
|
1039
|
+
}
|
|
1040
|
+
getEntityById(id) {
|
|
1041
|
+
// 优先从 dataSource 中获取实体
|
|
1042
|
+
if (this._dataSource) {
|
|
1043
|
+
const entity = this._dataSource.entities.getById(id);
|
|
1044
|
+
if (entity) return entity;
|
|
1045
|
+
}
|
|
1046
|
+
// 如果 dataSource 中没找到,尝试从 viewer.entities 中获取
|
|
1047
|
+
return this._viewer.entities.getById(id);
|
|
1048
|
+
}
|
|
1049
|
+
}
|
|
1050
|
+
exports["default"] = LowAltitudeFeatureViewModel;
|
|
1051
|
+
|
|
1052
|
+
/***/ }),
|
|
1053
|
+
|
|
1054
|
+
/***/ 6663:
|
|
1055
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1056
|
+
|
|
1057
|
+
|
|
1058
|
+
|
|
1059
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
1060
|
+
Object.defineProperty(exports, "B", ({
|
|
1061
|
+
value: true
|
|
1062
|
+
}));
|
|
1063
|
+
exports.A = void 0;
|
|
1064
|
+
var _indexFull = __webpack_require__(56363);
|
|
1065
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
1066
|
+
var _default = exports.A = {
|
|
1067
|
+
name: "KqSlider",
|
|
1068
|
+
defaultComponent: _indexFull.ElSlider,
|
|
1069
|
+
mixins: [_render.default],
|
|
1070
|
+
setup(props, context) {
|
|
1071
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
1072
|
+
}
|
|
1073
|
+
};
|
|
1074
|
+
|
|
1075
|
+
/***/ }),
|
|
1076
|
+
|
|
1077
|
+
/***/ 7955:
|
|
1078
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
1079
|
+
|
|
1080
|
+
// ESM COMPAT FLAG
|
|
1081
|
+
__webpack_require__.r(__webpack_exports__);
|
|
1082
|
+
|
|
1083
|
+
// EXPORTS
|
|
1084
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
1085
|
+
__esModule: function() { return /* reexport */ Formvue_type_script_lang_js/* __esModule */.B; },
|
|
1086
|
+
"default": function() { return /* binding */ Form; }
|
|
1087
|
+
});
|
|
1088
|
+
|
|
1089
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/form/Form.vue?vue&type=script&lang=js
|
|
1090
|
+
var Formvue_type_script_lang_js = __webpack_require__(75797);
|
|
1091
|
+
;// ./src/common/_ui/form/Form.vue?vue&type=script&lang=js
|
|
1092
|
+
|
|
1093
|
+
;// ./src/common/_ui/form/Form.vue
|
|
1094
|
+
|
|
1095
|
+
|
|
1096
|
+
|
|
1097
|
+
const __exports__ = Formvue_type_script_lang_js/* default */.A;
|
|
1098
|
+
|
|
1099
|
+
/* harmony default export */ var Form = (__exports__);
|
|
1100
|
+
|
|
1101
|
+
/***/ }),
|
|
1102
|
+
|
|
1103
|
+
/***/ 11583:
|
|
1104
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
1105
|
+
|
|
1106
|
+
// ESM COMPAT FLAG
|
|
1107
|
+
__webpack_require__.r(__webpack_exports__);
|
|
1108
|
+
|
|
1109
|
+
// EXPORTS
|
|
1110
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
1111
|
+
__esModule: function() { return /* reexport */ LowAltitudeFeaturevue_type_script_setup_true_lang_js/* __esModule */.B; },
|
|
1112
|
+
"default": function() { return /* binding */ LowAltitudeFeature; }
|
|
1113
|
+
});
|
|
1114
|
+
|
|
1115
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/webgl/lowaltitudefeature/LowAltitudeFeature.vue?vue&type=script&setup=true&lang=js
|
|
1116
|
+
var LowAltitudeFeaturevue_type_script_setup_true_lang_js = __webpack_require__(23043);
|
|
1117
|
+
;// ./src/webgl/lowaltitudefeature/LowAltitudeFeature.vue?vue&type=script&setup=true&lang=js
|
|
1118
|
+
|
|
1119
|
+
// EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js
|
|
1120
|
+
var injectStylesIntoStyleTag = __webpack_require__(85072);
|
|
1121
|
+
var injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag);
|
|
1122
|
+
// EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/webgl/lowaltitudefeature/LowAltitudeFeature.vue?vue&type=style&index=0&id=b3c8fafe&scoped=true&lang=css
|
|
1123
|
+
var LowAltitudeFeaturevue_type_style_index_0_id_b3c8fafe_scoped_true_lang_css = __webpack_require__(74703);
|
|
1124
|
+
;// ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/webgl/lowaltitudefeature/LowAltitudeFeature.vue?vue&type=style&index=0&id=b3c8fafe&scoped=true&lang=css
|
|
1125
|
+
|
|
1126
|
+
|
|
1127
|
+
|
|
1128
|
+
var options = {};
|
|
1129
|
+
|
|
1130
|
+
options.insert = "head";
|
|
1131
|
+
options.singleton = false;
|
|
1132
|
+
|
|
1133
|
+
var update = injectStylesIntoStyleTag_default()(LowAltitudeFeaturevue_type_style_index_0_id_b3c8fafe_scoped_true_lang_css/* default */.A, options);
|
|
1134
|
+
|
|
1135
|
+
|
|
1136
|
+
|
|
1137
|
+
/* harmony default export */ var lowaltitudefeature_LowAltitudeFeaturevue_type_style_index_0_id_b3c8fafe_scoped_true_lang_css = (LowAltitudeFeaturevue_type_style_index_0_id_b3c8fafe_scoped_true_lang_css/* default */.A.locals || {});
|
|
1138
|
+
;// ./src/webgl/lowaltitudefeature/LowAltitudeFeature.vue?vue&type=style&index=0&id=b3c8fafe&scoped=true&lang=css
|
|
1139
|
+
|
|
1140
|
+
// EXTERNAL MODULE: ./node_modules/vue-loader/dist/exportHelper.js
|
|
1141
|
+
var exportHelper = __webpack_require__(66262);
|
|
1142
|
+
;// ./src/webgl/lowaltitudefeature/LowAltitudeFeature.vue
|
|
1143
|
+
|
|
1144
|
+
|
|
1145
|
+
|
|
1146
|
+
;
|
|
1147
|
+
|
|
1148
|
+
|
|
1149
|
+
const __exports__ = /*#__PURE__*/(0,exportHelper/* default */.A)(LowAltitudeFeaturevue_type_script_setup_true_lang_js/* default */.A, [['__scopeId',"data-v-b3c8fafe"]])
|
|
1150
|
+
|
|
1151
|
+
/* harmony default export */ var LowAltitudeFeature = (__exports__);
|
|
1152
|
+
|
|
1153
|
+
/***/ }),
|
|
1154
|
+
|
|
1155
|
+
/***/ 14464:
|
|
1156
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1157
|
+
|
|
1158
|
+
|
|
1159
|
+
|
|
1160
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
1161
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
1162
|
+
value: true
|
|
1163
|
+
}));
|
|
1164
|
+
exports["default"] = void 0;
|
|
1165
|
+
var _Tree = _interopRequireDefault(__webpack_require__(65310));
|
|
1166
|
+
var _init = _interopRequireDefault(__webpack_require__(20455));
|
|
1167
|
+
var _KqGIS = __webpack_require__(99602);
|
|
1168
|
+
/*
|
|
1169
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
1170
|
+
* All rights reserved.
|
|
1171
|
+
*/
|
|
1172
|
+
|
|
1173
|
+
_Tree.default.install = (Vue, opts) => {
|
|
1174
|
+
(0, _init.default)(Vue, opts);
|
|
1175
|
+
Vue.component(_Tree.default.name, _Tree.default);
|
|
1176
|
+
};
|
|
1177
|
+
var _default = exports["default"] = _Tree.default;
|
|
1178
|
+
_KqGIS.kq_npm_client_common_vue.KqTree = _Tree.default;
|
|
1179
|
+
|
|
1180
|
+
/***/ }),
|
|
1181
|
+
|
|
1182
|
+
/***/ 15255:
|
|
1183
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1184
|
+
|
|
1185
|
+
|
|
1186
|
+
|
|
1187
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
1188
|
+
Object.defineProperty(exports, "B", ({
|
|
1189
|
+
value: true
|
|
1190
|
+
}));
|
|
1191
|
+
exports.A = void 0;
|
|
1192
|
+
var _indexFull = __webpack_require__(56363);
|
|
1193
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
1194
|
+
var _default = exports.A = {
|
|
1195
|
+
name: "KqTooltip",
|
|
1196
|
+
defaultComponent: _indexFull.ElTooltip,
|
|
1197
|
+
mixins: [_render.default],
|
|
1198
|
+
setup(props, context) {
|
|
1199
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
1200
|
+
}
|
|
1201
|
+
};
|
|
1202
|
+
|
|
1203
|
+
/***/ }),
|
|
1204
|
+
|
|
1205
|
+
/***/ 16676:
|
|
1206
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
1207
|
+
|
|
1208
|
+
// ESM COMPAT FLAG
|
|
1209
|
+
__webpack_require__.r(__webpack_exports__);
|
|
1210
|
+
|
|
1211
|
+
// EXPORTS
|
|
1212
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
1213
|
+
__esModule: function() { return /* reexport */ Tooltipvue_type_script_lang_js/* __esModule */.B; },
|
|
1214
|
+
"default": function() { return /* binding */ Tooltip; }
|
|
1215
|
+
});
|
|
1216
|
+
|
|
1217
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/tooltip/Tooltip.vue?vue&type=script&lang=js
|
|
1218
|
+
var Tooltipvue_type_script_lang_js = __webpack_require__(15255);
|
|
1219
|
+
;// ./src/common/_ui/tooltip/Tooltip.vue?vue&type=script&lang=js
|
|
1220
|
+
|
|
1221
|
+
;// ./src/common/_ui/tooltip/Tooltip.vue
|
|
1222
|
+
|
|
1223
|
+
|
|
1224
|
+
|
|
1225
|
+
const __exports__ = Tooltipvue_type_script_lang_js/* default */.A;
|
|
1226
|
+
|
|
1227
|
+
/* harmony default export */ var Tooltip = (__exports__);
|
|
1228
|
+
|
|
1229
|
+
/***/ }),
|
|
1230
|
+
|
|
1231
|
+
/***/ 19000:
|
|
1232
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1233
|
+
|
|
1234
|
+
|
|
1235
|
+
|
|
1236
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
1237
|
+
Object.defineProperty(exports, "B", ({
|
|
1238
|
+
value: true
|
|
1239
|
+
}));
|
|
1240
|
+
exports.A = void 0;
|
|
1241
|
+
var _indexFull = __webpack_require__(56363);
|
|
1242
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
1243
|
+
var _default = exports.A = {
|
|
1244
|
+
name: "KqFormItem",
|
|
1245
|
+
defaultComponent: _indexFull.ElFormItem,
|
|
1246
|
+
mixins: [_render.default],
|
|
1247
|
+
setup(props, context) {
|
|
1248
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
1249
|
+
}
|
|
1250
|
+
};
|
|
1251
|
+
|
|
1252
|
+
/***/ }),
|
|
1253
|
+
|
|
1254
|
+
/***/ 20064:
|
|
1255
|
+
/***/ (function(module) {
|
|
1256
|
+
|
|
1257
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__20064__;
|
|
1258
|
+
|
|
1259
|
+
/***/ }),
|
|
1260
|
+
|
|
1261
|
+
/***/ 20455:
|
|
1262
|
+
/***/ (function(module) {
|
|
1263
|
+
|
|
1264
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__20455__;
|
|
1265
|
+
|
|
1266
|
+
/***/ }),
|
|
1267
|
+
|
|
1268
|
+
/***/ 22295:
|
|
1269
|
+
/***/ (function(module) {
|
|
1270
|
+
|
|
1271
|
+
module.exports = require("element-plus");
|
|
1272
|
+
|
|
1273
|
+
/***/ }),
|
|
1274
|
+
|
|
1275
|
+
/***/ 22686:
|
|
1276
|
+
/***/ (function(module) {
|
|
1277
|
+
|
|
1278
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__22686__;
|
|
1279
|
+
|
|
1280
|
+
/***/ }),
|
|
1281
|
+
|
|
1282
|
+
/***/ 23043:
|
|
1283
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
1284
|
+
|
|
1285
|
+
|
|
1286
|
+
|
|
1287
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
1288
|
+
Object.defineProperty(exports, "B", ({
|
|
1289
|
+
value: true
|
|
1290
|
+
}));
|
|
1291
|
+
exports.A = void 0;
|
|
1292
|
+
var _vue = __webpack_require__(50154);
|
|
1293
|
+
var _message = _interopRequireDefault(__webpack_require__(71323));
|
|
1294
|
+
var _messagebox = _interopRequireDefault(__webpack_require__(81328));
|
|
1295
|
+
var _iconsVue = __webpack_require__(29371);
|
|
1296
|
+
var _client_icons_vue = __webpack_require__(65698);
|
|
1297
|
+
var _util = __webpack_require__(42975);
|
|
1298
|
+
var _useGlobalConfig = __webpack_require__(22686);
|
|
1299
|
+
var _icon = _interopRequireDefault(__webpack_require__(80881));
|
|
1300
|
+
var _button = _interopRequireDefault(__webpack_require__(68676));
|
|
1301
|
+
var _checkbox = _interopRequireDefault(__webpack_require__(95857));
|
|
1302
|
+
var _elementPlus = __webpack_require__(22295);
|
|
1303
|
+
var _tooltip = _interopRequireDefault(__webpack_require__(60479));
|
|
1304
|
+
var _input = _interopRequireDefault(__webpack_require__(77228));
|
|
1305
|
+
var _select = _interopRequireWildcard(__webpack_require__(92936));
|
|
1306
|
+
var _collapse = _interopRequireWildcard(__webpack_require__(41219));
|
|
1307
|
+
var _slider = _interopRequireDefault(__webpack_require__(95765));
|
|
1308
|
+
var _upload = _interopRequireDefault(__webpack_require__(89393));
|
|
1309
|
+
var _divider = _interopRequireDefault(__webpack_require__(2409));
|
|
1310
|
+
var _form = _interopRequireWildcard(__webpack_require__(39466));
|
|
1311
|
+
var _tree = _interopRequireDefault(__webpack_require__(14464));
|
|
1312
|
+
var _scrollbar = _interopRequireDefault(__webpack_require__(62842));
|
|
1313
|
+
var _LowAltitudeFeatureViewModel = _interopRequireDefault(__webpack_require__(4494));
|
|
1314
|
+
var _gisUtils = __webpack_require__(20064);
|
|
1315
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
1316
|
+
const _hoisted_1 = {
|
|
1317
|
+
class: "kq-low-altitude-feature-box"
|
|
1318
|
+
};
|
|
1319
|
+
const _hoisted_2 = {
|
|
1320
|
+
class: "kq-laf-left-panel"
|
|
1321
|
+
};
|
|
1322
|
+
const _hoisted_3 = {
|
|
1323
|
+
class: "kq-laf-search"
|
|
1324
|
+
};
|
|
1325
|
+
const _hoisted_4 = {
|
|
1326
|
+
key: 0,
|
|
1327
|
+
class: "kq-laf-tree-label"
|
|
1328
|
+
};
|
|
1329
|
+
const _hoisted_5 = ["title"];
|
|
1330
|
+
const _hoisted_6 = ["title", "onClick"];
|
|
1331
|
+
const _hoisted_7 = {
|
|
1332
|
+
class: "kq-laf-tree-label kq-laf-feature-row"
|
|
1333
|
+
};
|
|
1334
|
+
const _hoisted_8 = ["title"];
|
|
1335
|
+
const _hoisted_9 = {
|
|
1336
|
+
class: "kq-laf-feature-actions"
|
|
1337
|
+
};
|
|
1338
|
+
const _hoisted_10 = {
|
|
1339
|
+
key: 0,
|
|
1340
|
+
class: "kq-laf-right-panel"
|
|
1341
|
+
};
|
|
1342
|
+
const _hoisted_11 = {
|
|
1343
|
+
class: "kq-laf-panel-header"
|
|
1344
|
+
};
|
|
1345
|
+
const _hoisted_12 = {
|
|
1346
|
+
class: "kq-laf-panel-title"
|
|
1347
|
+
};
|
|
1348
|
+
const _hoisted_13 = {
|
|
1349
|
+
class: "kq-laf-panel-body"
|
|
1350
|
+
};
|
|
1351
|
+
const _hoisted_14 = {
|
|
1352
|
+
class: "kq-laf-toolbar"
|
|
1353
|
+
};
|
|
1354
|
+
const _hoisted_15 = {
|
|
1355
|
+
class: "kq-laf-status-text"
|
|
1356
|
+
};
|
|
1357
|
+
const _hoisted_16 = {
|
|
1358
|
+
class: "kq-laf-slider-wrap",
|
|
1359
|
+
style: {
|
|
1360
|
+
"width": "285px"
|
|
1361
|
+
}
|
|
1362
|
+
};
|
|
1363
|
+
const _hoisted_17 = {
|
|
1364
|
+
class: "kq-laf-slider-wrap",
|
|
1365
|
+
style: {
|
|
1366
|
+
"width": "285px"
|
|
1367
|
+
}
|
|
1368
|
+
};
|
|
1369
|
+
const _hoisted_18 = {
|
|
1370
|
+
class: "kq-laf-slider-wrap",
|
|
1371
|
+
style: {
|
|
1372
|
+
"width": "285px"
|
|
1373
|
+
}
|
|
1374
|
+
};
|
|
1375
|
+
const _hoisted_19 = {
|
|
1376
|
+
class: "kq-laf-slider-wrap",
|
|
1377
|
+
style: {
|
|
1378
|
+
"width": "285px"
|
|
1379
|
+
}
|
|
1380
|
+
};
|
|
1381
|
+
const _hoisted_20 = {
|
|
1382
|
+
class: "kq-laf-panel-footer"
|
|
1383
|
+
};
|
|
1384
|
+
const __default__ = {
|
|
1385
|
+
name: "Kq3dLowAltitudeFeature"
|
|
1386
|
+
};
|
|
1387
|
+
var _default = exports.A = /*@__PURE__*/Object.assign(__default__, {
|
|
1388
|
+
props: {
|
|
1389
|
+
mapTarget: {
|
|
1390
|
+
type: String
|
|
1391
|
+
},
|
|
1392
|
+
showShadow: {
|
|
1393
|
+
type: Boolean,
|
|
1394
|
+
default: true
|
|
1395
|
+
},
|
|
1396
|
+
loadLowAltitudeFeature: {
|
|
1397
|
+
type: Function
|
|
1398
|
+
},
|
|
1399
|
+
saveLowAltitudeFeature: {
|
|
1400
|
+
type: Function
|
|
1401
|
+
},
|
|
1402
|
+
deleteLowAltitudeFeature: {
|
|
1403
|
+
type: Function
|
|
1404
|
+
},
|
|
1405
|
+
position: [String, Object],
|
|
1406
|
+
showHeaderTemp: {
|
|
1407
|
+
type: Boolean,
|
|
1408
|
+
default: false
|
|
1409
|
+
},
|
|
1410
|
+
isCollapseHeaderTemp: {
|
|
1411
|
+
type: Boolean,
|
|
1412
|
+
default: false
|
|
1413
|
+
},
|
|
1414
|
+
headerTempTitle: {
|
|
1415
|
+
type: String
|
|
1416
|
+
},
|
|
1417
|
+
headerTempIcon: {
|
|
1418
|
+
type: [Object, String],
|
|
1419
|
+
default: _client_icons_vue.IconImport
|
|
1420
|
+
},
|
|
1421
|
+
isRight: {
|
|
1422
|
+
type: Boolean,
|
|
1423
|
+
default: true
|
|
1424
|
+
},
|
|
1425
|
+
// 显示绘图设置模块
|
|
1426
|
+
showSettingPanel: {
|
|
1427
|
+
type: Boolean,
|
|
1428
|
+
default: true
|
|
1429
|
+
}
|
|
1430
|
+
},
|
|
1431
|
+
setup(__props, {
|
|
1432
|
+
expose: __expose
|
|
1433
|
+
}) {
|
|
1434
|
+
const {
|
|
1435
|
+
t,
|
|
1436
|
+
lang,
|
|
1437
|
+
locale
|
|
1438
|
+
} = (0, _useGlobalConfig.useLocale)();
|
|
1439
|
+
const props = __props;
|
|
1440
|
+
|
|
1441
|
+
// ==================== 组件状态 ====================
|
|
1442
|
+
let isAddOrEdit = (0, _vue.ref)(false);
|
|
1443
|
+
let isEdit = (0, _vue.ref)(false);
|
|
1444
|
+
let searchKeyword = (0, _vue.ref)("");
|
|
1445
|
+
let panelCollapsed = (0, _vue.ref)(false);
|
|
1446
|
+
let symbolSettingsExpanded = (0, _vue.ref)(false);
|
|
1447
|
+
let currentDrawMode = (0, _vue.ref)("");
|
|
1448
|
+
|
|
1449
|
+
// 当前编辑的要素所属分类(新建时强制)
|
|
1450
|
+
let forcedCategory = (0, _vue.ref)(null);
|
|
1451
|
+
// 编辑时编码是否可编辑
|
|
1452
|
+
let editableCode = (0, _vue.ref)(true);
|
|
1453
|
+
|
|
1454
|
+
// 表单数据
|
|
1455
|
+
let formData = (0, _vue.reactive)({
|
|
1456
|
+
code: "",
|
|
1457
|
+
name: "",
|
|
1458
|
+
featureClass: "",
|
|
1459
|
+
subclass: "",
|
|
1460
|
+
routeType: ""
|
|
1461
|
+
});
|
|
1462
|
+
|
|
1463
|
+
// 图元设置
|
|
1464
|
+
const defaultSymbolSettings = () => ({
|
|
1465
|
+
altitudeType: "trueHeight",
|
|
1466
|
+
shapeType: "pointData",
|
|
1467
|
+
gridLevel: 15,
|
|
1468
|
+
bufferType: "sphere",
|
|
1469
|
+
bufferDistance: 500,
|
|
1470
|
+
upperHeight: 20,
|
|
1471
|
+
lowerHeight: 0
|
|
1472
|
+
});
|
|
1473
|
+
let symbolSettings = (0, _vue.reactive)(defaultSymbolSettings());
|
|
1474
|
+
|
|
1475
|
+
// ==================== 要素分类树数据(kq-tree 数据源)====================
|
|
1476
|
+
let featureCategories = (0, _vue.reactive)([{
|
|
1477
|
+
treeNodeKey: "cat-airspace",
|
|
1478
|
+
key: "airspace",
|
|
1479
|
+
label: "空域",
|
|
1480
|
+
checked: true,
|
|
1481
|
+
expanded: true,
|
|
1482
|
+
children: []
|
|
1483
|
+
}, {
|
|
1484
|
+
treeNodeKey: "cat-airroute",
|
|
1485
|
+
key: "airroute",
|
|
1486
|
+
label: "航线",
|
|
1487
|
+
checked: true,
|
|
1488
|
+
expanded: true,
|
|
1489
|
+
children: []
|
|
1490
|
+
}, {
|
|
1491
|
+
treeNodeKey: "cat-hangar",
|
|
1492
|
+
key: "hangar",
|
|
1493
|
+
label: "机库",
|
|
1494
|
+
checked: true,
|
|
1495
|
+
expanded: true,
|
|
1496
|
+
children: []
|
|
1497
|
+
}]);
|
|
1498
|
+
|
|
1499
|
+
// ==================== 分类选项配置 ====================
|
|
1500
|
+
const featureClassMap = {
|
|
1501
|
+
hangar: {
|
|
1502
|
+
value: "hangar",
|
|
1503
|
+
label: "机库"
|
|
1504
|
+
},
|
|
1505
|
+
airspace: {
|
|
1506
|
+
value: "airspace",
|
|
1507
|
+
label: "空域"
|
|
1508
|
+
},
|
|
1509
|
+
airroute: {
|
|
1510
|
+
value: "airroute",
|
|
1511
|
+
label: "航线"
|
|
1512
|
+
}
|
|
1513
|
+
};
|
|
1514
|
+
const subclassOptionsMap = {
|
|
1515
|
+
hangar: [{
|
|
1516
|
+
value: "takeoffPoint",
|
|
1517
|
+
label: "起降点"
|
|
1518
|
+
}],
|
|
1519
|
+
airspace: [{
|
|
1520
|
+
value: "controlZone",
|
|
1521
|
+
label: "管制区"
|
|
1522
|
+
}, {
|
|
1523
|
+
value: "temporaryControl",
|
|
1524
|
+
label: "临时管制"
|
|
1525
|
+
}, {
|
|
1526
|
+
value: "electronicFence",
|
|
1527
|
+
label: "电子围栏"
|
|
1528
|
+
}],
|
|
1529
|
+
airroute: [{
|
|
1530
|
+
value: "routeLine",
|
|
1531
|
+
label: "航线"
|
|
1532
|
+
}]
|
|
1533
|
+
};
|
|
1534
|
+
const shapeTypeMap = {
|
|
1535
|
+
point: [{
|
|
1536
|
+
value: "pointData"
|
|
1537
|
+
}],
|
|
1538
|
+
polyline: [{
|
|
1539
|
+
value: "lineData"
|
|
1540
|
+
}],
|
|
1541
|
+
polygon: [{
|
|
1542
|
+
value: "faceData"
|
|
1543
|
+
}]
|
|
1544
|
+
};
|
|
1545
|
+
const bufferTypeMap = {
|
|
1546
|
+
point: [{
|
|
1547
|
+
value: "sphere"
|
|
1548
|
+
}, {
|
|
1549
|
+
value: "cube"
|
|
1550
|
+
}, {
|
|
1551
|
+
value: "cylinder"
|
|
1552
|
+
}, {
|
|
1553
|
+
value: "cone"
|
|
1554
|
+
}],
|
|
1555
|
+
polyline: [{
|
|
1556
|
+
value: "cube"
|
|
1557
|
+
}, {
|
|
1558
|
+
value: "cylinder"
|
|
1559
|
+
}],
|
|
1560
|
+
polygon: [{
|
|
1561
|
+
value: "cube"
|
|
1562
|
+
}]
|
|
1563
|
+
};
|
|
1564
|
+
const routeTypeOptions = [{
|
|
1565
|
+
value: "longTerm",
|
|
1566
|
+
label: "长期"
|
|
1567
|
+
}, {
|
|
1568
|
+
value: "shortTerm",
|
|
1569
|
+
label: "短期"
|
|
1570
|
+
}, {
|
|
1571
|
+
value: "temporary",
|
|
1572
|
+
label: "临时"
|
|
1573
|
+
}];
|
|
1574
|
+
const featureClassOptions = [{
|
|
1575
|
+
value: "hangar",
|
|
1576
|
+
label: "机库"
|
|
1577
|
+
}, {
|
|
1578
|
+
value: "airspace",
|
|
1579
|
+
label: "空域"
|
|
1580
|
+
}, {
|
|
1581
|
+
value: "airroute",
|
|
1582
|
+
label: "航线"
|
|
1583
|
+
}];
|
|
1584
|
+
// ==================== 计算属性 ====================
|
|
1585
|
+
// let featureClassOptions = computed(() => {
|
|
1586
|
+
// if (forcedCategory.value && featureClassMap[forcedCategory.value]) {
|
|
1587
|
+
// return [featureClassMap[forcedCategory.value]];
|
|
1588
|
+
// }
|
|
1589
|
+
// return Object.values(featureClassMap);
|
|
1590
|
+
// });
|
|
1591
|
+
|
|
1592
|
+
let currentSubclassOptions = (0, _vue.computed)(() => {
|
|
1593
|
+
return subclassOptionsMap[formData.featureClass] || [];
|
|
1594
|
+
});
|
|
1595
|
+
let currentShapeTypes = (0, _vue.computed)(() => {
|
|
1596
|
+
return shapeTypeMap[currentGeometryType()] || [];
|
|
1597
|
+
});
|
|
1598
|
+
let currentBufferTypes = (0, _vue.computed)(() => {
|
|
1599
|
+
return bufferTypeMap[currentGeometryType()] || [];
|
|
1600
|
+
});
|
|
1601
|
+
function currentGeometryType() {
|
|
1602
|
+
if (formData.featureClass === "hangar") return "point";
|
|
1603
|
+
if (formData.featureClass === "airroute") return "polyline";
|
|
1604
|
+
if (formData.featureClass === "airspace") return "polygon";
|
|
1605
|
+
return currentDrawMode.value || "point";
|
|
1606
|
+
}
|
|
1607
|
+
let showRouteTypeField = (0, _vue.computed)(() => {
|
|
1608
|
+
return formData.featureClass === "airroute";
|
|
1609
|
+
});
|
|
1610
|
+
let showBufferTypeField = (0, _vue.computed)(() => {
|
|
1611
|
+
return currentBufferTypes.value.length > 0;
|
|
1612
|
+
});
|
|
1613
|
+
let showBufferDistanceField = (0, _vue.computed)(() => {
|
|
1614
|
+
// if (currentGeometryType() === "polygon") return false;
|
|
1615
|
+
return symbolSettings.bufferType && symbolSettings.bufferType !== "none";
|
|
1616
|
+
});
|
|
1617
|
+
|
|
1618
|
+
// ==================== Cesium 相关 ====================
|
|
1619
|
+
|
|
1620
|
+
let currentEditFeature = null;
|
|
1621
|
+
let boxRef = (0, _vue.ref)(null);
|
|
1622
|
+
let headerTemp = (0, _vue.ref)();
|
|
1623
|
+
let headerTempRef = (0, _vue.ref)(null);
|
|
1624
|
+
let currentEntities = [];
|
|
1625
|
+
let currentGeoJSON = null;
|
|
1626
|
+
let viewer = null;
|
|
1627
|
+
let viewModel = null;
|
|
1628
|
+
|
|
1629
|
+
// ==================== kq-tree 相关 ====================
|
|
1630
|
+
// 树节点唯一 key 字段名
|
|
1631
|
+
const treeNodeKey = "treeNodeKey";
|
|
1632
|
+
|
|
1633
|
+
// 树默认展开的一级分类 key
|
|
1634
|
+
let defaultExpandedKeys = (0, _vue.ref)(["cat-airspace", "cat-airroute", "cat-hangar"]);
|
|
1635
|
+
|
|
1636
|
+
// 树默认选中的要素 key
|
|
1637
|
+
let defaultCheckedKeys = (0, _vue.ref)(["cat-airspace", "cat-airroute", "cat-hangar"]);
|
|
1638
|
+
|
|
1639
|
+
// 受控展开(与 default-expanded-keys 二选一,使用受控模式以便数据加载后动态展开)
|
|
1640
|
+
let expandedKeys = (0, _vue.ref)([]);
|
|
1641
|
+
// 受控选中(与 default-checked-keys 二选一,使用受控模式同步复选框状态)
|
|
1642
|
+
let checkedKeys = (0, _vue.ref)([]);
|
|
1643
|
+
|
|
1644
|
+
// 树的 props 配置(映射字段名)
|
|
1645
|
+
const treeProps = {
|
|
1646
|
+
children: "children",
|
|
1647
|
+
label: "name"
|
|
1648
|
+
};
|
|
1649
|
+
|
|
1650
|
+
// 初始化受控展开状态(数据加载后调用)
|
|
1651
|
+
function initExpandedKeys() {
|
|
1652
|
+
expandedKeys.value = featureCategories.filter(cat => cat.expanded).map(cat => cat[treeNodeKey]);
|
|
1653
|
+
}
|
|
1654
|
+
|
|
1655
|
+
// 同步受控选中状态(根据数据 checked 属性更新 checkedKeys)
|
|
1656
|
+
function updateCheckedKeys() {
|
|
1657
|
+
const keys = [];
|
|
1658
|
+
featureCategories.forEach(cat => {
|
|
1659
|
+
if (cat.children) {
|
|
1660
|
+
cat.children.forEach(f => {
|
|
1661
|
+
if (f.checked) {
|
|
1662
|
+
keys.push(f[treeNodeKey]);
|
|
1663
|
+
}
|
|
1664
|
+
});
|
|
1665
|
+
}
|
|
1666
|
+
});
|
|
1667
|
+
checkedKeys.value = keys;
|
|
1668
|
+
// 设置组件的checked-keys属性
|
|
1669
|
+
featureTreeRef.value.$refs.child.setCheckedKeys(checkedKeys.value);
|
|
1670
|
+
}
|
|
1671
|
+
|
|
1672
|
+
// 节点展开回调(受控模式同步)
|
|
1673
|
+
function handleNodeExpand(data, node) {
|
|
1674
|
+
const key = data[treeNodeKey];
|
|
1675
|
+
if (key && !expandedKeys.value.includes(key)) {
|
|
1676
|
+
expandedKeys.value = [...expandedKeys.value, key];
|
|
1677
|
+
}
|
|
1678
|
+
}
|
|
1679
|
+
|
|
1680
|
+
// 节点折叠回调(受控模式同步)
|
|
1681
|
+
function handleNodeCollapse(data, node) {
|
|
1682
|
+
const key = data[treeNodeKey];
|
|
1683
|
+
if (key) {
|
|
1684
|
+
expandedKeys.value = expandedKeys.value.filter(k => k !== key);
|
|
1685
|
+
}
|
|
1686
|
+
}
|
|
1687
|
+
|
|
1688
|
+
// 树节点过滤方法(搜索)
|
|
1689
|
+
function filterTreeNode(value, data) {
|
|
1690
|
+
if (!value) return true;
|
|
1691
|
+
const keyword = value.toLowerCase();
|
|
1692
|
+
// 分类节点:匹配 label
|
|
1693
|
+
if (data.children) {
|
|
1694
|
+
return data.label && data.label.toLowerCase().includes(keyword);
|
|
1695
|
+
}
|
|
1696
|
+
// 要素节点:匹配 name
|
|
1697
|
+
if (data.name) {
|
|
1698
|
+
return data.name.toLowerCase().includes(keyword);
|
|
1699
|
+
}
|
|
1700
|
+
return false;
|
|
1701
|
+
}
|
|
1702
|
+
|
|
1703
|
+
// 搜索框输入时触发树过滤
|
|
1704
|
+
function handleTreeFilter() {
|
|
1705
|
+
const tree = featureTreeRef.value;
|
|
1706
|
+
if (tree && tree.$refs && tree.$refs.child) {
|
|
1707
|
+
tree.$refs.child.filter(searchKeyword.value);
|
|
1708
|
+
}
|
|
1709
|
+
}
|
|
1710
|
+
|
|
1711
|
+
// 树节点勾选事件
|
|
1712
|
+
function handleTreeCheck(data, checkedInfo) {
|
|
1713
|
+
let currenNode = featureTreeRef.value.$refs.child.getNode(data);
|
|
1714
|
+
if (data.children) {
|
|
1715
|
+
// 分类节点:全选/取消子节点
|
|
1716
|
+
toggleCategoryCheckByKey(data.key, currenNode.checked);
|
|
1717
|
+
} else {
|
|
1718
|
+
// 要素节点:同步 checked 属性并更新实体可见性
|
|
1719
|
+
|
|
1720
|
+
data.checked = currenNode.checked;
|
|
1721
|
+
updateEntityVisibility(data, currenNode.checked);
|
|
1722
|
+
}
|
|
1723
|
+
// 同步受控选中状态
|
|
1724
|
+
updateCheckedKeys();
|
|
1725
|
+
}
|
|
1726
|
+
|
|
1727
|
+
// 树节点点击事件
|
|
1728
|
+
function handleTreeNodeClick(data, node) {
|
|
1729
|
+
// 分类节点:切换展开/折叠
|
|
1730
|
+
if (data.children) {
|
|
1731
|
+
const tree = featureTreeRef.value;
|
|
1732
|
+
if (tree && tree.$refs && tree.$refs.child) {
|
|
1733
|
+
const isExpanded = node.expanded;
|
|
1734
|
+
tree.$refs.child.store.nodesMap[data[treeNodeKey]].expanded = !isExpanded;
|
|
1735
|
+
}
|
|
1736
|
+
}
|
|
1737
|
+
// 要素节点点击不展开(无 children)
|
|
1738
|
+
}
|
|
1739
|
+
|
|
1740
|
+
// 根据分类 key 切换该分类下所有要素的勾选状态
|
|
1741
|
+
function toggleCategoryCheckByKey(categoryKey, checked) {
|
|
1742
|
+
const category = featureCategories.find(cat => cat.key === categoryKey);
|
|
1743
|
+
if (category && category.children) {
|
|
1744
|
+
category.children.forEach(child => {
|
|
1745
|
+
child.checked = checked;
|
|
1746
|
+
updateEntityVisibility(child, checked);
|
|
1747
|
+
});
|
|
1748
|
+
}
|
|
1749
|
+
updateCheckedKeys();
|
|
1750
|
+
}
|
|
1751
|
+
|
|
1752
|
+
// 通过节点数据编辑要素(树节点回调用)
|
|
1753
|
+
function editFeatureFromNode(data) {
|
|
1754
|
+
const category = featureCategories.find(cat => cat.key === data.category);
|
|
1755
|
+
if (category) {
|
|
1756
|
+
editFeature(data, category);
|
|
1757
|
+
}
|
|
1758
|
+
}
|
|
1759
|
+
|
|
1760
|
+
// 通过节点数据缩放至要素
|
|
1761
|
+
function zoomToFeatureByKey(data) {
|
|
1762
|
+
zoomToFeature(data);
|
|
1763
|
+
}
|
|
1764
|
+
|
|
1765
|
+
// 通过节点数据删除要素
|
|
1766
|
+
function deleteFeatureByKey(data) {
|
|
1767
|
+
const category = featureCategories.find(cat => cat.key === data.category);
|
|
1768
|
+
if (category) {
|
|
1769
|
+
deleteFeature(data, category);
|
|
1770
|
+
}
|
|
1771
|
+
}
|
|
1772
|
+
|
|
1773
|
+
// 通过分类 key 添加要素
|
|
1774
|
+
function addFeatureByCategoryByKey(categoryKey) {
|
|
1775
|
+
const category = featureCategories.find(cat => cat.key === categoryKey);
|
|
1776
|
+
if (category) {
|
|
1777
|
+
addFeatureByCategory(category);
|
|
1778
|
+
}
|
|
1779
|
+
}
|
|
1780
|
+
let featureTreeRef = (0, _vue.ref)(null);
|
|
1781
|
+
(0, _vue.onMounted)(() => {
|
|
1782
|
+
(0, _util.updatePosition)(boxRef.value, props);
|
|
1783
|
+
(0, _vue.watch)(() => props.position, newVal => (0, _util.updatePosition)(boxRef.value, props));
|
|
1784
|
+
watchCreateHeaderTemp();
|
|
1785
|
+
(0, _vue.watch)(() => props.showHeaderTemp, () => (0, _vue.nextTick)(watchCreateHeaderTemp));
|
|
1786
|
+
|
|
1787
|
+
// 初始化树展开状态
|
|
1788
|
+
initExpandedKeys();
|
|
1789
|
+
|
|
1790
|
+
// 加载外部数据(不依赖地图)
|
|
1791
|
+
loadExternalData();
|
|
1792
|
+
// 初始化树全选状态
|
|
1793
|
+
updateCheckedKeys();
|
|
1794
|
+
_gisUtils.utils.getWebMap(props.mapTarget, scenceView => {
|
|
1795
|
+
if (scenceView) {
|
|
1796
|
+
viewer = scenceView._viewer;
|
|
1797
|
+
viewModel = new _LowAltitudeFeatureViewModel.default(viewer);
|
|
1798
|
+
// 地图准备好后,把已有 geojson 的要素渲染到地图
|
|
1799
|
+
renderExistingFeatures(viewModel);
|
|
1800
|
+
}
|
|
1801
|
+
});
|
|
1802
|
+
});
|
|
1803
|
+
(0, _vue.onBeforeUnmount)(() => {
|
|
1804
|
+
if (viewModel) {
|
|
1805
|
+
viewModel.destroy();
|
|
1806
|
+
viewModel = null;
|
|
1807
|
+
}
|
|
1808
|
+
});
|
|
1809
|
+
|
|
1810
|
+
/**
|
|
1811
|
+
* 监听header生成
|
|
1812
|
+
*/
|
|
1813
|
+
const watchCreateHeaderTemp = () => {
|
|
1814
|
+
if (props.showHeaderTemp) {
|
|
1815
|
+
headerTemp.value = (0, _util.createHeaderTemp)(boxRef.value, (0, _vue.toRefs)(props), headerTempRef, "webgl.lowAltitudeFeature");
|
|
1816
|
+
}
|
|
1817
|
+
};
|
|
1818
|
+
|
|
1819
|
+
/**
|
|
1820
|
+
* 地图准备好后,将已有 geojson 的要素渲染到地图
|
|
1821
|
+
*/
|
|
1822
|
+
function renderExistingFeatures(vm) {
|
|
1823
|
+
if (!vm) return;
|
|
1824
|
+
featureCategories.forEach(cat => {
|
|
1825
|
+
if (!cat.children) return;
|
|
1826
|
+
cat.children.forEach(feat => {
|
|
1827
|
+
if (feat.geojson && (!feat.entityIds || feat.entityIds.length === 0)) {
|
|
1828
|
+
try {
|
|
1829
|
+
const entities = vm.loadFromGeoJSON(feat.geojson, feat.settings || {});
|
|
1830
|
+
feat.entityIds = entities.map(e => e.id);
|
|
1831
|
+
} catch (e) {
|
|
1832
|
+
console.error("渲染已有要素失败:", feat.name, e);
|
|
1833
|
+
}
|
|
1834
|
+
}
|
|
1835
|
+
});
|
|
1836
|
+
});
|
|
1837
|
+
}
|
|
1838
|
+
|
|
1839
|
+
/**
|
|
1840
|
+
* 加载模拟示例数据
|
|
1841
|
+
*/
|
|
1842
|
+
function loadMockData() {
|
|
1843
|
+
MOCK_FEATURE_S.forEach(item => addFeatureToTree(item));
|
|
1844
|
+
}
|
|
1845
|
+
|
|
1846
|
+
/**
|
|
1847
|
+
* 加载外部数据
|
|
1848
|
+
*/
|
|
1849
|
+
function loadExternalData() {
|
|
1850
|
+
if (props.loadLowAltitudeFeature) {
|
|
1851
|
+
props.loadLowAltitudeFeature(dataList => {
|
|
1852
|
+
if (dataList && Array.isArray(dataList)) {
|
|
1853
|
+
dataList.forEach(item => addFeatureToTree(item));
|
|
1854
|
+
// 批量加载后统一同步全选状态
|
|
1855
|
+
(0, _vue.nextTick)(updateCheckedKeys);
|
|
1856
|
+
}
|
|
1857
|
+
});
|
|
1858
|
+
}
|
|
1859
|
+
}
|
|
1860
|
+
|
|
1861
|
+
/**
|
|
1862
|
+
* 将要素添加到树中,并渲染到地图
|
|
1863
|
+
*/
|
|
1864
|
+
function addFeatureToTree(item) {
|
|
1865
|
+
const category = featureCategories.find(cat => cat.key === item.category);
|
|
1866
|
+
if (category) {
|
|
1867
|
+
// 避免重复添加
|
|
1868
|
+
if (category.children.find(f => f.id === item.id)) return;
|
|
1869
|
+
const newFeature = {
|
|
1870
|
+
[treeNodeKey]: item.id || Cesium.createGuid(),
|
|
1871
|
+
id: item.id || Cesium.createGuid(),
|
|
1872
|
+
code: item.code || "",
|
|
1873
|
+
name: item.name || "",
|
|
1874
|
+
geometryType: item.geometryType || "point",
|
|
1875
|
+
category: item.category,
|
|
1876
|
+
checked: item.visible !== false,
|
|
1877
|
+
gridDisplay: item.gridDisplay || false,
|
|
1878
|
+
subclass: item.subclass || "",
|
|
1879
|
+
routeType: item.routeType || "",
|
|
1880
|
+
settings: item.settings || {},
|
|
1881
|
+
geojson: item.geojson || null,
|
|
1882
|
+
entityIds: []
|
|
1883
|
+
};
|
|
1884
|
+
|
|
1885
|
+
// 如果有 viewModel 且有 geojson,渲染到地图
|
|
1886
|
+
if (viewModel && newFeature.geojson) {
|
|
1887
|
+
try {
|
|
1888
|
+
const entities = viewModel.loadFromGeoJSON(newFeature.geojson, newFeature.settings);
|
|
1889
|
+
newFeature.entityIds = entities.map(e => e.id);
|
|
1890
|
+
} catch (e) {
|
|
1891
|
+
console.error("渲染要素失败:", e);
|
|
1892
|
+
}
|
|
1893
|
+
}
|
|
1894
|
+
category.children.push(newFeature);
|
|
1895
|
+
// 默认全选:新增要素默认选中
|
|
1896
|
+
newFeature.checked = true;
|
|
1897
|
+
// 新增要素后同步受控选中状态
|
|
1898
|
+
(0, _vue.nextTick)(updateCheckedKeys);
|
|
1899
|
+
}
|
|
1900
|
+
}
|
|
1901
|
+
|
|
1902
|
+
// ==================== 树形操作 ====================
|
|
1903
|
+
|
|
1904
|
+
// ==================== 要素CRUD操作 ====================
|
|
1905
|
+
|
|
1906
|
+
// ==================== 要素CRUD操作 ====================
|
|
1907
|
+
/**
|
|
1908
|
+
* 通过一级分类添加要素
|
|
1909
|
+
*/
|
|
1910
|
+
function addFeatureByCategory(category) {
|
|
1911
|
+
isAddOrEdit.value = true;
|
|
1912
|
+
isEdit.value = false;
|
|
1913
|
+
panelCollapsed.value = false;
|
|
1914
|
+
resetForm();
|
|
1915
|
+
forcedCategory.value = category.key;
|
|
1916
|
+
formData.featureClass = featureClassMap[category.key] ? featureClassMap[category.key].value : "";
|
|
1917
|
+
onFeatureClassChange(formData.featureClass);
|
|
1918
|
+
}
|
|
1919
|
+
|
|
1920
|
+
/**
|
|
1921
|
+
* 开始绘制
|
|
1922
|
+
*/
|
|
1923
|
+
function startDraw(mode) {
|
|
1924
|
+
if (!viewModel || !viewModel.isReady()) {
|
|
1925
|
+
(0, _message.default)({
|
|
1926
|
+
message: `${locale.value.webgl.mapNotReady}`,
|
|
1927
|
+
type: "warning"
|
|
1928
|
+
});
|
|
1929
|
+
return;
|
|
1930
|
+
}
|
|
1931
|
+
currentDrawMode.value = mode;
|
|
1932
|
+
|
|
1933
|
+
// 编辑模式下:先将当前要素的旧实体从地图移除
|
|
1934
|
+
// (这些实体不在 _drawingEntities 中,clearDraw 不会处理它们)
|
|
1935
|
+
if (isEdit.value && viewModel && currentEntities.length > 0) {
|
|
1936
|
+
currentEntities.forEach(entity => {
|
|
1937
|
+
if (entity) {
|
|
1938
|
+
if (viewModel._dataSource) {
|
|
1939
|
+
viewModel._dataSource.entities.remove(entity);
|
|
1940
|
+
}
|
|
1941
|
+
viewModel._viewer.entities.remove(entity);
|
|
1942
|
+
}
|
|
1943
|
+
});
|
|
1944
|
+
currentEntities = [];
|
|
1945
|
+
}
|
|
1946
|
+
|
|
1947
|
+
// 清除之前的绘制处理器和已绘制的实体,重置 geoJSON
|
|
1948
|
+
clearDrawHandler();
|
|
1949
|
+
removeCurrentEntities();
|
|
1950
|
+
currentGeoJSON = null;
|
|
1951
|
+
if (mode === "point") symbolSettings.shapeType = "pointData";else if (mode === "polyline") symbolSettings.shapeType = "lineData";else if (mode === "polygon") symbolSettings.shapeType = "faceData";
|
|
1952
|
+
if (viewModel) {
|
|
1953
|
+
if (mode === "point") {
|
|
1954
|
+
viewModel.drawPoint(symbolSettings, (entity, geojson) => {
|
|
1955
|
+
currentEntities.push(entity);
|
|
1956
|
+
currentGeoJSON = geojson;
|
|
1957
|
+
});
|
|
1958
|
+
} else if (mode === "polyline") {
|
|
1959
|
+
viewModel.drawPolyline(symbolSettings, (entity, geojson) => {
|
|
1960
|
+
currentEntities.push(entity);
|
|
1961
|
+
currentGeoJSON = geojson;
|
|
1962
|
+
});
|
|
1963
|
+
} else if (mode === "polygon") {
|
|
1964
|
+
viewModel.drawPolygon(symbolSettings, (entity, geojson) => {
|
|
1965
|
+
currentEntities.push(entity);
|
|
1966
|
+
currentGeoJSON = geojson;
|
|
1967
|
+
});
|
|
1968
|
+
}
|
|
1969
|
+
}
|
|
1970
|
+
}
|
|
1971
|
+
|
|
1972
|
+
/**
|
|
1973
|
+
* 编辑要素
|
|
1974
|
+
*/
|
|
1975
|
+
function editFeature(feature, category) {
|
|
1976
|
+
// 1. 先准备所有数据,暂不显示面板
|
|
1977
|
+
currentEditFeature = {
|
|
1978
|
+
...feature,
|
|
1979
|
+
categoryKey: category.key
|
|
1980
|
+
};
|
|
1981
|
+
forcedCategory.value = category.key;
|
|
1982
|
+
editableCode.value = false;
|
|
1983
|
+
formData.code = feature.code || "";
|
|
1984
|
+
formData.name = feature.name || "";
|
|
1985
|
+
formData.featureClass = category.key;
|
|
1986
|
+
formData.subclass = feature.subclass || "";
|
|
1987
|
+
formData.routeType = feature.routeType || "";
|
|
1988
|
+
formData.geojson = feature.geojson || null;
|
|
1989
|
+
formData.entityIds = feature.entityIds || [];
|
|
1990
|
+
currentGeoJSON = feature.geojson || null;
|
|
1991
|
+
currentEntities = [feature.entityIds || []].flat().map(id => viewModel.getEntityById(id)).filter(e => e);
|
|
1992
|
+
|
|
1993
|
+
// 2. 根据分类设置绘图模式、图形类型和缓冲类型
|
|
1994
|
+
if (category.key === "hangar") {
|
|
1995
|
+
currentDrawMode.value = "point";
|
|
1996
|
+
symbolSettings.shapeType = "pointData";
|
|
1997
|
+
symbolSettings.bufferType = "sphere";
|
|
1998
|
+
} else if (category.key === "airroute") {
|
|
1999
|
+
currentDrawMode.value = "polyline";
|
|
2000
|
+
symbolSettings.shapeType = "lineData";
|
|
2001
|
+
symbolSettings.bufferType = "cube";
|
|
2002
|
+
} else if (category.key === "airspace") {
|
|
2003
|
+
currentDrawMode.value = "polygon";
|
|
2004
|
+
symbolSettings.shapeType = "faceData";
|
|
2005
|
+
symbolSettings.bufferType = "cube";
|
|
2006
|
+
}
|
|
2007
|
+
|
|
2008
|
+
// 3. 用已保存的设置覆盖 symbolSettings
|
|
2009
|
+
if (feature.settings) {
|
|
2010
|
+
const savedShapeType = symbolSettings.shapeType;
|
|
2011
|
+
Object.assign(symbolSettings, defaultSymbolSettings(), feature.settings);
|
|
2012
|
+
// 确保 shapeType 与当前分类一致;bufferType 由 feature.settings 决定,无需恢复
|
|
2013
|
+
symbolSettings.shapeType = savedShapeType;
|
|
2014
|
+
}
|
|
2015
|
+
// 如果 feature.settings 里没有 bufferType,用当前分类对应的默认值
|
|
2016
|
+
if (!feature.settings || feature.settings.bufferType === undefined) {
|
|
2017
|
+
if (category.key === "hangar") {
|
|
2018
|
+
symbolSettings.bufferType = "sphere";
|
|
2019
|
+
} else {
|
|
2020
|
+
symbolSettings.bufferType = "cube";
|
|
2021
|
+
}
|
|
2022
|
+
}
|
|
2023
|
+
|
|
2024
|
+
// 4. 所有数据准备好后再显示面板
|
|
2025
|
+
(0, _vue.nextTick)(() => {
|
|
2026
|
+
isAddOrEdit.value = true;
|
|
2027
|
+
isEdit.value = true;
|
|
2028
|
+
panelCollapsed.value = false;
|
|
2029
|
+
});
|
|
2030
|
+
}
|
|
2031
|
+
|
|
2032
|
+
/**
|
|
2033
|
+
* 根据分类推断几何类型
|
|
2034
|
+
*/
|
|
2035
|
+
function inferGeometryFromCategory(categoryKey) {
|
|
2036
|
+
if (categoryKey === "hangar") return "point";
|
|
2037
|
+
if (categoryKey === "airroute") return "polyline";
|
|
2038
|
+
return "polygon";
|
|
2039
|
+
}
|
|
2040
|
+
|
|
2041
|
+
/**
|
|
2042
|
+
* 缩放至要素
|
|
2043
|
+
*/
|
|
2044
|
+
function zoomToFeature(feature) {
|
|
2045
|
+
if (!viewModel) {
|
|
2046
|
+
(0, _message.default)({
|
|
2047
|
+
message: `${locale.value.webgl.mapNotReady}`,
|
|
2048
|
+
type: "warning"
|
|
2049
|
+
});
|
|
2050
|
+
return;
|
|
2051
|
+
}
|
|
2052
|
+
const ok = viewModel.zoomToFeature(feature);
|
|
2053
|
+
if (!ok) {
|
|
2054
|
+
(0, _message.default)({
|
|
2055
|
+
message: `${locale.value.webgl.noGeoData}`,
|
|
2056
|
+
type: "warning"
|
|
2057
|
+
});
|
|
2058
|
+
}
|
|
2059
|
+
}
|
|
2060
|
+
|
|
2061
|
+
/**
|
|
2062
|
+
* 删除要素
|
|
2063
|
+
*/
|
|
2064
|
+
function deleteFeature(feature, category) {
|
|
2065
|
+
const index = category.children.findIndex(f => f.id === feature.id);
|
|
2066
|
+
if (index !== -1) {
|
|
2067
|
+
category.children.splice(index, 1);
|
|
2068
|
+
if (feature.entityIds && viewModel) {
|
|
2069
|
+
viewModel.removeFeatureEntities(feature.entityIds);
|
|
2070
|
+
}
|
|
2071
|
+
}
|
|
2072
|
+
if (props.deleteLowAltitudeFeature) {
|
|
2073
|
+
props.deleteLowAltitudeFeature(feature.id);
|
|
2074
|
+
}
|
|
2075
|
+
// 删除要素后同步受控选中状态
|
|
2076
|
+
updateCheckedKeys();
|
|
2077
|
+
(0, _message.default)({
|
|
2078
|
+
message: `${locale.value.webgl.deleteSuccess}`,
|
|
2079
|
+
type: "success"
|
|
2080
|
+
});
|
|
2081
|
+
}
|
|
2082
|
+
|
|
2083
|
+
/**
|
|
2084
|
+
* 切换网格化显示
|
|
2085
|
+
*/
|
|
2086
|
+
function toggleGridDisplay(feature) {
|
|
2087
|
+
feature.gridDisplay = !feature.gridDisplay;
|
|
2088
|
+
if (viewModel && feature.geojson) {
|
|
2089
|
+
viewModel.toggleGridDisplay(feature, feature.gridDisplay, feature.settings);
|
|
2090
|
+
}
|
|
2091
|
+
(0, _message.default)({
|
|
2092
|
+
message: `${locale.value.webgl.gridDisplay}: ${feature.name} - ${feature.gridDisplay ? locale.value.webgl.on : locale.value.webgl.off}`,
|
|
2093
|
+
type: "info"
|
|
2094
|
+
});
|
|
2095
|
+
}
|
|
2096
|
+
|
|
2097
|
+
/**
|
|
2098
|
+
* 更新实体可见性
|
|
2099
|
+
*/
|
|
2100
|
+
function updateEntityVisibility(feature, checked) {
|
|
2101
|
+
if (viewModel) {
|
|
2102
|
+
viewModel.updateFeatureVisibility(feature, checked);
|
|
2103
|
+
}
|
|
2104
|
+
}
|
|
2105
|
+
|
|
2106
|
+
// ==================== GeoJSON 操作 ====================
|
|
2107
|
+
function handleGeoJSONUpload(file) {
|
|
2108
|
+
const reader = new FileReader();
|
|
2109
|
+
reader.onload = e => {
|
|
2110
|
+
try {
|
|
2111
|
+
const geojson = JSON.parse(e.target.result);
|
|
2112
|
+
// 清除之前绘制/导入的实体和 geoJSON,用新导入的替换
|
|
2113
|
+
clearDrawHandler();
|
|
2114
|
+
removeCurrentEntities();
|
|
2115
|
+
currentGeoJSON = geojson;
|
|
2116
|
+
autoInferGeometryType(geojson);
|
|
2117
|
+
// 加载新的 GeoJSON 到地图
|
|
2118
|
+
if (viewModel) {
|
|
2119
|
+
const entities = viewModel.loadFromGeoJSON(geojson, symbolSettings, true);
|
|
2120
|
+
currentEntities.push(...entities);
|
|
2121
|
+
}
|
|
2122
|
+
(0, _message.default)({
|
|
2123
|
+
message: `${locale.value.webgl.geojsonLoaded}`,
|
|
2124
|
+
type: "success"
|
|
2125
|
+
});
|
|
2126
|
+
} catch (err) {
|
|
2127
|
+
(0, _message.default)({
|
|
2128
|
+
message: `${locale.value.webgl.geojsonParseError}`,
|
|
2129
|
+
type: "error"
|
|
2130
|
+
});
|
|
2131
|
+
}
|
|
2132
|
+
};
|
|
2133
|
+
reader.readAsText(file.raw);
|
|
2134
|
+
}
|
|
2135
|
+
function autoInferGeometryType(geojson) {
|
|
2136
|
+
let geomType = "";
|
|
2137
|
+
if (geojson.type === "FeatureCollection" && geojson.features && geojson.features.length > 0) {
|
|
2138
|
+
geomType = geojson.features[0].geometry && geojson.features[0].geometry.type;
|
|
2139
|
+
} else if (geojson.type === "Feature") {
|
|
2140
|
+
geomType = geojson.geometry && geojson.geometry.type;
|
|
2141
|
+
}
|
|
2142
|
+
if (geomType === "Point" || geomType === "MultiPoint") {
|
|
2143
|
+
currentDrawMode.value = "point";
|
|
2144
|
+
symbolSettings.shapeType = "pointData";
|
|
2145
|
+
} else if (geomType === "LineString" || geomType === "MultiLineString") {
|
|
2146
|
+
currentDrawMode.value = "polyline";
|
|
2147
|
+
symbolSettings.shapeType = "lineData";
|
|
2148
|
+
} else if (geomType === "Polygon" || geomType === "MultiPolygon") {
|
|
2149
|
+
currentDrawMode.value = "polygon";
|
|
2150
|
+
symbolSettings.shapeType = "faceData";
|
|
2151
|
+
}
|
|
2152
|
+
}
|
|
2153
|
+
function exportGeoJSON() {
|
|
2154
|
+
if (!currentGeoJSON) {
|
|
2155
|
+
(0, _message.default)({
|
|
2156
|
+
message: `${locale.value.webgl.noGeoDataToExport}`,
|
|
2157
|
+
type: "warning"
|
|
2158
|
+
});
|
|
2159
|
+
return;
|
|
2160
|
+
}
|
|
2161
|
+
const blob = new Blob([JSON.stringify(currentGeoJSON, null, 2)], {
|
|
2162
|
+
type: "application/json"
|
|
2163
|
+
});
|
|
2164
|
+
const url = URL.createObjectURL(blob);
|
|
2165
|
+
const a = document.createElement("a");
|
|
2166
|
+
a.href = url;
|
|
2167
|
+
a.download = (formData.name || "low_altitude_feature") + ".geojson";
|
|
2168
|
+
a.click();
|
|
2169
|
+
URL.revokeObjectURL(url);
|
|
2170
|
+
(0, _message.default)({
|
|
2171
|
+
message: `${locale.value.webgl.exportSuccess}`,
|
|
2172
|
+
type: "success"
|
|
2173
|
+
});
|
|
2174
|
+
}
|
|
2175
|
+
function deleteCurrentDrawing() {
|
|
2176
|
+
removeCurrentEntities();
|
|
2177
|
+
currentGeoJSON = null;
|
|
2178
|
+
// currentDrawMode.value = "";
|
|
2179
|
+
(0, _message.default)({
|
|
2180
|
+
message: `${locale.value.webgl.currentDrawingDeleted}`,
|
|
2181
|
+
type: "success"
|
|
2182
|
+
});
|
|
2183
|
+
}
|
|
2184
|
+
function removeCurrentEntities() {
|
|
2185
|
+
if (viewModel) {
|
|
2186
|
+
viewModel.removeCurrentDrawingEntities();
|
|
2187
|
+
}
|
|
2188
|
+
currentEntities = [];
|
|
2189
|
+
}
|
|
2190
|
+
|
|
2191
|
+
// ==================== 表单操作 ====================
|
|
2192
|
+
function onFeatureClassChange(val) {
|
|
2193
|
+
// 仅当子类在当前分类下无效时才重置,避免编辑要素时被意外清空
|
|
2194
|
+
const validSubclasses = (subclassOptionsMap[val] || []).map(opt => opt.value);
|
|
2195
|
+
if (formData.subclass && !validSubclasses.includes(formData.subclass)) {
|
|
2196
|
+
formData.subclass = "";
|
|
2197
|
+
}
|
|
2198
|
+
if (val === "hangar") {
|
|
2199
|
+
currentDrawMode.value = "point";
|
|
2200
|
+
symbolSettings.shapeType = "pointData";
|
|
2201
|
+
symbolSettings.bufferType = "sphere";
|
|
2202
|
+
} else if (val === "airroute") {
|
|
2203
|
+
currentDrawMode.value = "polyline";
|
|
2204
|
+
symbolSettings.shapeType = "lineData";
|
|
2205
|
+
symbolSettings.bufferType = "cube";
|
|
2206
|
+
} else if (val === "airspace") {
|
|
2207
|
+
currentDrawMode.value = "polygon";
|
|
2208
|
+
symbolSettings.shapeType = "faceData";
|
|
2209
|
+
symbolSettings.bufferType = "cube";
|
|
2210
|
+
}
|
|
2211
|
+
}
|
|
2212
|
+
function resetForm() {
|
|
2213
|
+
formData.code = "";
|
|
2214
|
+
formData.name = "";
|
|
2215
|
+
formData.featureClass = "";
|
|
2216
|
+
formData.subclass = "";
|
|
2217
|
+
formData.routeType = "";
|
|
2218
|
+
forcedCategory.value = null;
|
|
2219
|
+
editableCode.value = true;
|
|
2220
|
+
currentDrawMode.value = "";
|
|
2221
|
+
currentGeoJSON = null;
|
|
2222
|
+
currentEditFeature = null;
|
|
2223
|
+
Object.assign(symbolSettings, defaultSymbolSettings());
|
|
2224
|
+
}
|
|
2225
|
+
function clearForm() {
|
|
2226
|
+
resetForm();
|
|
2227
|
+
clearDrawHandler();
|
|
2228
|
+
removeCurrentEntities();
|
|
2229
|
+
(0, _message.default)({
|
|
2230
|
+
message: `${locale.value.webgl.formCleared}`,
|
|
2231
|
+
type: "info"
|
|
2232
|
+
});
|
|
2233
|
+
}
|
|
2234
|
+
function saveFeature() {
|
|
2235
|
+
// 验证要素编码
|
|
2236
|
+
if (!formData.code.trim()) {
|
|
2237
|
+
(0, _message.default)({
|
|
2238
|
+
message: `${locale.value.webgl.pleaseEnterFeatureCode}`,
|
|
2239
|
+
type: "warning"
|
|
2240
|
+
});
|
|
2241
|
+
return;
|
|
2242
|
+
}
|
|
2243
|
+
// 验证要素名称
|
|
2244
|
+
if (!formData.name.trim()) {
|
|
2245
|
+
(0, _message.default)({
|
|
2246
|
+
message: `${locale.value.webgl.pleaseEnterFeatureName}`,
|
|
2247
|
+
type: "warning"
|
|
2248
|
+
});
|
|
2249
|
+
return;
|
|
2250
|
+
}
|
|
2251
|
+
// 验证是否已绘制几何图形
|
|
2252
|
+
if (!currentGeoJSON) {
|
|
2253
|
+
(0, _message.default)({
|
|
2254
|
+
message: `${locale.value.webgl.pleaseDrawGeometry}`,
|
|
2255
|
+
type: "warning"
|
|
2256
|
+
});
|
|
2257
|
+
return;
|
|
2258
|
+
}
|
|
2259
|
+
const featureData = {
|
|
2260
|
+
id: currentEditFeature ? currentEditFeature.id : Cesium.createGuid(),
|
|
2261
|
+
code: formData.code,
|
|
2262
|
+
name: formData.name.trim(),
|
|
2263
|
+
featureClass: formData.featureClass,
|
|
2264
|
+
subclass: formData.subclass,
|
|
2265
|
+
routeType: formData.routeType,
|
|
2266
|
+
geometryType: currentGeometryType(),
|
|
2267
|
+
category: forcedCategory.value || formData.featureClass || "airspace",
|
|
2268
|
+
settings: {
|
|
2269
|
+
...symbolSettings
|
|
2270
|
+
},
|
|
2271
|
+
geojson: currentGeoJSON,
|
|
2272
|
+
visible: true,
|
|
2273
|
+
gridDisplay: false,
|
|
2274
|
+
// 保留原有的 checked 状态,避免编辑后复选框变成未选中
|
|
2275
|
+
checked: currentEditFeature ? currentEditFeature.checked : true
|
|
2276
|
+
};
|
|
2277
|
+
if (isEdit.value && currentEditFeature) {
|
|
2278
|
+
// 编辑已有要素
|
|
2279
|
+
const category = featureCategories.find(cat => cat.key === currentEditFeature.categoryKey);
|
|
2280
|
+
if (category) {
|
|
2281
|
+
const idx = category.children.findIndex(f => f.id === currentEditFeature.id);
|
|
2282
|
+
if (idx !== -1) {
|
|
2283
|
+
// 保存原有的 checked 状态
|
|
2284
|
+
const originalChecked = category.children[idx].checked;
|
|
2285
|
+
// 构建更新后的要素对象
|
|
2286
|
+
const updatedFeature = {
|
|
2287
|
+
...category.children[idx],
|
|
2288
|
+
...featureData,
|
|
2289
|
+
checked: originalChecked
|
|
2290
|
+
};
|
|
2291
|
+
// 使用 splice 更新数组元素,确保触发响应性
|
|
2292
|
+
category.children.splice(idx, 1, updatedFeature);
|
|
2293
|
+
|
|
2294
|
+
// 更新地图上的实体
|
|
2295
|
+
if (viewModel) {
|
|
2296
|
+
// 判断是否需要更新地图实体:几何图形变了 或 图元设置变了
|
|
2297
|
+
const oldIds = updatedFeature.entityIds || [];
|
|
2298
|
+
const newIds = currentEntities.map(e => e.id);
|
|
2299
|
+
const idsMatch = oldIds.length === newIds.length && oldIds.every((id, i) => id === newIds[i]);
|
|
2300
|
+
const settingsMatch = JSON.stringify(updatedFeature.settings) === JSON.stringify(currentEditFeature.settings);
|
|
2301
|
+
if (!idsMatch || !settingsMatch) {
|
|
2302
|
+
// 需要更新地图 → 删除旧实体
|
|
2303
|
+
if (oldIds.length > 0) viewModel.removeFeatureEntities(oldIds);
|
|
2304
|
+
if (newIds.length > 0 && !idsMatch) {
|
|
2305
|
+
// 用户重绘了几何图形 → 直接用绘制好的实体
|
|
2306
|
+
updatedFeature.entityIds = newIds;
|
|
2307
|
+
currentEntities = [];
|
|
2308
|
+
} else if (updatedFeature.geojson) {
|
|
2309
|
+
// 只改了图元设置/无可绘制实体 → 从 geojson 用当前设置重建
|
|
2310
|
+
const entities = viewModel.loadFromGeoJSON(updatedFeature.geojson, symbolSettings);
|
|
2311
|
+
updatedFeature.entityIds = entities.map(e => e.id);
|
|
2312
|
+
} else {
|
|
2313
|
+
updatedFeature.entityIds = [];
|
|
2314
|
+
}
|
|
2315
|
+
}
|
|
2316
|
+
// 几何和设置都没变 → 保留原有实体不动
|
|
2317
|
+
|
|
2318
|
+
// 清空绘图追踪
|
|
2319
|
+
viewModel._drawingEntities = [];
|
|
2320
|
+
}
|
|
2321
|
+
// 编辑要素后同步受控选中状态
|
|
2322
|
+
(0, _vue.nextTick)(updateCheckedKeys);
|
|
2323
|
+
}
|
|
2324
|
+
}
|
|
2325
|
+
} else {
|
|
2326
|
+
// 新建要素 - 直接添加到树中,并使用当前已绘制的实体
|
|
2327
|
+
const category = featureCategories.find(cat => cat.key === featureData.category);
|
|
2328
|
+
if (category) {
|
|
2329
|
+
// 避免重复添加
|
|
2330
|
+
if (category.children.find(f => f.id === featureData.id)) {
|
|
2331
|
+
(0, _message.default)({
|
|
2332
|
+
message: `${locale.value.webgl.featureAlreadyExists}`,
|
|
2333
|
+
type: "warning"
|
|
2334
|
+
});
|
|
2335
|
+
return;
|
|
2336
|
+
}
|
|
2337
|
+
const newFeature = {
|
|
2338
|
+
[treeNodeKey]: featureData.id,
|
|
2339
|
+
id: featureData.id,
|
|
2340
|
+
code: featureData.code,
|
|
2341
|
+
name: featureData.name,
|
|
2342
|
+
geometryType: featureData.geometryType,
|
|
2343
|
+
category: featureData.category,
|
|
2344
|
+
checked: true,
|
|
2345
|
+
gridDisplay: false,
|
|
2346
|
+
subclass: featureData.subclass,
|
|
2347
|
+
routeType: featureData.routeType,
|
|
2348
|
+
settings: featureData.settings,
|
|
2349
|
+
geojson: featureData.geojson,
|
|
2350
|
+
entityIds: []
|
|
2351
|
+
};
|
|
2352
|
+
|
|
2353
|
+
// 将当前绘制的实体添加到地图,并保存entityIds
|
|
2354
|
+
if (viewModel && currentEntities.length > 0) {
|
|
2355
|
+
// 使用当前已绘制的实体
|
|
2356
|
+
newFeature.entityIds = currentEntities.map(e => e.id);
|
|
2357
|
+
// 清空currentEntities,避免下次重复添加
|
|
2358
|
+
currentEntities = [];
|
|
2359
|
+
} else if (viewModel && currentGeoJSON) {
|
|
2360
|
+
// 如果没有当前实体,则从geojson加载
|
|
2361
|
+
try {
|
|
2362
|
+
const entities = viewModel.loadFromGeoJSON(currentGeoJSON, symbolSettings);
|
|
2363
|
+
newFeature.entityIds = entities.map(e => e.id);
|
|
2364
|
+
} catch (e) {
|
|
2365
|
+
console.error("渲染要素失败:", e);
|
|
2366
|
+
}
|
|
2367
|
+
}
|
|
2368
|
+
// 保存后清除当前绘制的实体
|
|
2369
|
+
viewModel._drawingEntities = [];
|
|
2370
|
+
category.children.push(newFeature);
|
|
2371
|
+
// 新增要素后同步受控选中状态
|
|
2372
|
+
(0, _vue.nextTick)(updateCheckedKeys);
|
|
2373
|
+
}
|
|
2374
|
+
}
|
|
2375
|
+
if (props.saveLowAltitudeFeature) {
|
|
2376
|
+
props.saveLowAltitudeFeature(featureData);
|
|
2377
|
+
}
|
|
2378
|
+
(0, _message.default)({
|
|
2379
|
+
message: `${locale.value.webgl.saveSuccess}`,
|
|
2380
|
+
type: "success"
|
|
2381
|
+
});
|
|
2382
|
+
isAddOrEdit.value = false;
|
|
2383
|
+
isEdit.value = false;
|
|
2384
|
+
resetForm();
|
|
2385
|
+
}
|
|
2386
|
+
function cancel() {
|
|
2387
|
+
isAddOrEdit.value = false;
|
|
2388
|
+
isEdit.value = false;
|
|
2389
|
+
resetForm();
|
|
2390
|
+
clearDrawHandler();
|
|
2391
|
+
removeCurrentEntities();
|
|
2392
|
+
}
|
|
2393
|
+
function togglePanelCollapse() {
|
|
2394
|
+
panelCollapsed.value = !panelCollapsed.value;
|
|
2395
|
+
}
|
|
2396
|
+
function clearDrawHandler() {
|
|
2397
|
+
if (viewModel) {
|
|
2398
|
+
viewModel.clearDraw();
|
|
2399
|
+
}
|
|
2400
|
+
}
|
|
2401
|
+
|
|
2402
|
+
// ==================== 暴露方法 ====================
|
|
2403
|
+
__expose({
|
|
2404
|
+
addFeature: addFeatureByCategory,
|
|
2405
|
+
editFeature,
|
|
2406
|
+
deleteFeature,
|
|
2407
|
+
zoomToFeature,
|
|
2408
|
+
toggleGridDisplay,
|
|
2409
|
+
save: saveFeature,
|
|
2410
|
+
cancel,
|
|
2411
|
+
startDraw,
|
|
2412
|
+
handleGeoJSONUpload,
|
|
2413
|
+
exportGeoJSON
|
|
2414
|
+
});
|
|
2415
|
+
return (_ctx, _cache) => {
|
|
2416
|
+
const _component_CaretRight = (0, _vue.resolveComponent)("CaretRight");
|
|
2417
|
+
const _component_kq_radio = (0, _vue.resolveComponent)("kq-radio");
|
|
2418
|
+
const _component_kq_radio_group = (0, _vue.resolveComponent)("kq-radio-group");
|
|
2419
|
+
const _component_kq_col = (0, _vue.resolveComponent)("kq-col");
|
|
2420
|
+
const _component_kq_row = (0, _vue.resolveComponent)("kq-row");
|
|
2421
|
+
return (0, _vue.openBlock)(), (0, _vue.createElementBlock)("section", {
|
|
2422
|
+
class: (0, _vue.normalizeClass)(["kq-low-altitude-feature", {
|
|
2423
|
+
'kq-box-shadow': __props.showShadow
|
|
2424
|
+
}]),
|
|
2425
|
+
ref_key: "boxRef",
|
|
2426
|
+
ref: boxRef
|
|
2427
|
+
}, [__props.showHeaderTemp ? ((0, _vue.openBlock)(), (0, _vue.createBlock)((0, _vue.resolveDynamicComponent)((0, _vue.unref)(headerTemp)), {
|
|
2428
|
+
key: 0,
|
|
2429
|
+
ref_key: "headerTempRef",
|
|
2430
|
+
ref: headerTempRef
|
|
2431
|
+
}, null, 512 /* NEED_PATCH */)) : (0, _vue.createCommentVNode)("v-if", true), (0, _vue.createElementVNode)("div", _hoisted_1, [(0, _vue.createCommentVNode)(" 左侧:低空要素列表(kq-tree 实现) "), (0, _vue.createElementVNode)("div", _hoisted_2, [(0, _vue.createCommentVNode)(" 搜索框 "), (0, _vue.createElementVNode)("div", _hoisted_3, [(0, _vue.createVNode)((0, _vue.unref)(_input.default), {
|
|
2432
|
+
modelValue: (0, _vue.unref)(searchKeyword),
|
|
2433
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (0, _vue.isRef)(searchKeyword) ? searchKeyword.value = $event : searchKeyword = $event),
|
|
2434
|
+
placeholder: (0, _vue.unref)(locale).webgl.searchPlaceholder,
|
|
2435
|
+
clearable: "",
|
|
2436
|
+
onInput: handleTreeFilter
|
|
2437
|
+
}, {
|
|
2438
|
+
prefix: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_icon.default), {
|
|
2439
|
+
size: 14
|
|
2440
|
+
}, {
|
|
2441
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_iconsVue.Search))]),
|
|
2442
|
+
_: 1 /* STABLE */
|
|
2443
|
+
})]),
|
|
2444
|
+
_: 1 /* STABLE */
|
|
2445
|
+
}, 8 /* PROPS */, ["modelValue", "placeholder"])]), (0, _vue.createCommentVNode)(" kq-tree 树形列表 "), (0, _vue.createVNode)((0, _vue.unref)(_scrollbar.default), {
|
|
2446
|
+
class: "kq-laf-tree-scroll"
|
|
2447
|
+
}, {
|
|
2448
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_tree.default), {
|
|
2449
|
+
ref_key: "featureTreeRef",
|
|
2450
|
+
ref: featureTreeRef,
|
|
2451
|
+
data: (0, _vue.unref)(featureCategories),
|
|
2452
|
+
"node-key": "treeNodeKey",
|
|
2453
|
+
props: treeProps,
|
|
2454
|
+
"show-checkbox": "",
|
|
2455
|
+
"expand-on-click-node": false,
|
|
2456
|
+
"filter-node-method": filterTreeNode,
|
|
2457
|
+
"expanded-keys": (0, _vue.unref)(expandedKeys),
|
|
2458
|
+
"default-expanded-keys": (0, _vue.unref)(defaultExpandedKeys),
|
|
2459
|
+
onCheck: handleTreeCheck,
|
|
2460
|
+
onNodeClick: handleTreeNodeClick,
|
|
2461
|
+
onNodeExpand: handleNodeExpand,
|
|
2462
|
+
onNodeCollapse: handleNodeCollapse
|
|
2463
|
+
}, {
|
|
2464
|
+
default: (0, _vue.withCtx)(({
|
|
2465
|
+
node,
|
|
2466
|
+
data
|
|
2467
|
+
}) => [(0, _vue.createCommentVNode)(" 分类节点(有 children) "), data.children ? ((0, _vue.openBlock)(), (0, _vue.createElementBlock)("span", _hoisted_4, [(0, _vue.createElementVNode)("span", {
|
|
2468
|
+
class: "kq-laf-category-name",
|
|
2469
|
+
title: data.label
|
|
2470
|
+
}, (0, _vue.toDisplayString)(data.label), 9 /* TEXT, PROPS */, _hoisted_5), data.key ? ((0, _vue.openBlock)(), (0, _vue.createElementBlock)("span", {
|
|
2471
|
+
key: 0,
|
|
2472
|
+
class: "kq-laf-add-btn",
|
|
2473
|
+
title: (0, _vue.unref)(locale).webgl.addFeature,
|
|
2474
|
+
onClick: (0, _vue.withModifiers)($event => addFeatureByCategoryByKey(data.key), ["stop"])
|
|
2475
|
+
}, [(0, _vue.createVNode)((0, _vue.unref)(_icon.default), {
|
|
2476
|
+
size: 16
|
|
2477
|
+
}, {
|
|
2478
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_iconsVue.Plus))]),
|
|
2479
|
+
_: 1 /* STABLE */
|
|
2480
|
+
})], 8 /* PROPS */, _hoisted_6)) : (0, _vue.createCommentVNode)("v-if", true)])) : ((0, _vue.openBlock)(), (0, _vue.createElementBlock)(_vue.Fragment, {
|
|
2481
|
+
key: 1
|
|
2482
|
+
}, [(0, _vue.createCommentVNode)(" 要素节点(无 children,即叶子节点) "), (0, _vue.createElementVNode)("span", _hoisted_7, [(0, _vue.createElementVNode)("span", {
|
|
2483
|
+
class: "kq-laf-feature-name",
|
|
2484
|
+
title: data.name
|
|
2485
|
+
}, (0, _vue.toDisplayString)(data.name), 9 /* TEXT, PROPS */, _hoisted_8), (0, _vue.createElementVNode)("span", _hoisted_9, [(0, _vue.createVNode)((0, _vue.unref)(_icon.default), {
|
|
2486
|
+
size: 15,
|
|
2487
|
+
class: (0, _vue.normalizeClass)(["kq-laf-action-btn kq-laf-grid-btn", {
|
|
2488
|
+
active: data.gridDisplay
|
|
2489
|
+
}]),
|
|
2490
|
+
title: (0, _vue.unref)(locale).webgl.gridDisplay,
|
|
2491
|
+
onClick: (0, _vue.withModifiers)($event => toggleGridDisplay(data), ["stop"])
|
|
2492
|
+
}, {
|
|
2493
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_iconsVue.Grid))]),
|
|
2494
|
+
_: 2 /* DYNAMIC */
|
|
2495
|
+
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["class", "title", "onClick"]), (0, _vue.createVNode)((0, _vue.unref)(_icon.default), {
|
|
2496
|
+
size: 15,
|
|
2497
|
+
class: "kq-laf-action-btn kq-laf-edit-btn",
|
|
2498
|
+
title: (0, _vue.unref)(locale).webgl.edit,
|
|
2499
|
+
onClick: (0, _vue.withModifiers)($event => editFeatureFromNode(data), ["stop"])
|
|
2500
|
+
}, {
|
|
2501
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_iconsVue.EditPen))]),
|
|
2502
|
+
_: 2 /* DYNAMIC */
|
|
2503
|
+
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "onClick"]), (0, _vue.createVNode)((0, _vue.unref)(_icon.default), {
|
|
2504
|
+
size: 15,
|
|
2505
|
+
class: "kq-laf-action-btn kq-laf-zoom-btn",
|
|
2506
|
+
title: (0, _vue.unref)(locale).webgl.zoomTo,
|
|
2507
|
+
onClick: (0, _vue.withModifiers)($event => zoomToFeatureByKey(data), ["stop"])
|
|
2508
|
+
}, {
|
|
2509
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_client_icons_vue.IconZoomTo))]),
|
|
2510
|
+
_: 2 /* DYNAMIC */
|
|
2511
|
+
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "onClick"]), (0, _vue.createVNode)((0, _vue.unref)(_icon.default), {
|
|
2512
|
+
size: 15,
|
|
2513
|
+
class: "kq-laf-action-btn kq-laf-delete-btn",
|
|
2514
|
+
title: (0, _vue.unref)(locale).webgl.delete,
|
|
2515
|
+
onClick: (0, _vue.withModifiers)($event => deleteFeatureByKey(data), ["stop"])
|
|
2516
|
+
}, {
|
|
2517
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_iconsVue.DeleteFilled))]),
|
|
2518
|
+
_: 2 /* DYNAMIC */
|
|
2519
|
+
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["title", "onClick"])])])], 2112 /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */))]),
|
|
2520
|
+
_: 1 /* STABLE */
|
|
2521
|
+
}, 8 /* PROPS */, ["data", "expanded-keys", "default-expanded-keys"])]),
|
|
2522
|
+
_: 1 /* STABLE */
|
|
2523
|
+
})]), (0, _vue.createCommentVNode)(" 右侧:低空要素标绘面板 "), (0, _vue.unref)(isAddOrEdit) ? (0, _vue.withDirectives)(((0, _vue.openBlock)(), (0, _vue.createElementBlock)("div", _hoisted_10, [(0, _vue.createElementVNode)("div", _hoisted_11, [(0, _vue.createElementVNode)("span", _hoisted_12, (0, _vue.toDisplayString)((0, _vue.unref)(locale).webgl.lowAltitudeFeatureDraw), 1 /* TEXT */), (0, _vue.createVNode)((0, _vue.unref)(_icon.default), {
|
|
2524
|
+
size: 16,
|
|
2525
|
+
class: "kq-laf-collapse-btn",
|
|
2526
|
+
onClick: togglePanelCollapse
|
|
2527
|
+
}, {
|
|
2528
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_iconsVue.Close))]),
|
|
2529
|
+
_: 1 /* STABLE */
|
|
2530
|
+
})]), (0, _vue.withDirectives)((0, _vue.createElementVNode)("div", _hoisted_13, [(0, _vue.createCommentVNode)(" 工具栏 "), (0, _vue.createElementVNode)("div", _hoisted_14, [(0, _vue.createVNode)((0, _vue.unref)(_button.default), {
|
|
2531
|
+
title: (0, _vue.unref)(locale).webgl.drawPoint,
|
|
2532
|
+
class: "kq-laf-tool-btn",
|
|
2533
|
+
disabled: (0, _vue.unref)(currentDrawMode) !== 'point',
|
|
2534
|
+
type: (0, _vue.unref)(currentDrawMode) === 'point' ? 'primary' : 'default',
|
|
2535
|
+
onClick: _cache[1] || (_cache[1] = $event => startDraw('point'))
|
|
2536
|
+
}, {
|
|
2537
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_icon.default), {
|
|
2538
|
+
size: 20
|
|
2539
|
+
}, {
|
|
2540
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_client_icons_vue.IconLocation))]),
|
|
2541
|
+
_: 1 /* STABLE */
|
|
2542
|
+
})]),
|
|
2543
|
+
_: 1 /* STABLE */
|
|
2544
|
+
}, 8 /* PROPS */, ["title", "disabled", "type"]), (0, _vue.createVNode)((0, _vue.unref)(_button.default), {
|
|
2545
|
+
title: (0, _vue.unref)(locale).webgl.drawLine,
|
|
2546
|
+
class: "kq-laf-tool-btn",
|
|
2547
|
+
disabled: (0, _vue.unref)(currentDrawMode) !== 'polyline',
|
|
2548
|
+
type: (0, _vue.unref)(currentDrawMode) === 'polyline' ? 'primary' : 'default',
|
|
2549
|
+
onClick: _cache[2] || (_cache[2] = $event => startDraw('polyline'))
|
|
2550
|
+
}, {
|
|
2551
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_icon.default), {
|
|
2552
|
+
size: 20
|
|
2553
|
+
}, {
|
|
2554
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_client_icons_vue.IconLine))]),
|
|
2555
|
+
_: 1 /* STABLE */
|
|
2556
|
+
})]),
|
|
2557
|
+
_: 1 /* STABLE */
|
|
2558
|
+
}, 8 /* PROPS */, ["title", "disabled", "type"]), (0, _vue.createVNode)((0, _vue.unref)(_button.default), {
|
|
2559
|
+
title: (0, _vue.unref)(locale).webgl.drawPolygon,
|
|
2560
|
+
class: "kq-laf-tool-btn",
|
|
2561
|
+
disabled: (0, _vue.unref)(currentDrawMode) !== 'polygon',
|
|
2562
|
+
type: (0, _vue.unref)(currentDrawMode) === 'polygon' ? 'primary' : 'default',
|
|
2563
|
+
onClick: _cache[3] || (_cache[3] = $event => startDraw('polygon'))
|
|
2564
|
+
}, {
|
|
2565
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_icon.default), {
|
|
2566
|
+
size: 20
|
|
2567
|
+
}, {
|
|
2568
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_client_icons_vue.IconPolygon))]),
|
|
2569
|
+
_: 1 /* STABLE */
|
|
2570
|
+
})]),
|
|
2571
|
+
_: 1 /* STABLE */
|
|
2572
|
+
}, 8 /* PROPS */, ["title", "disabled", "type"]), (0, _vue.createVNode)((0, _vue.unref)(_divider.default), {
|
|
2573
|
+
direction: "vertical"
|
|
2574
|
+
}), (0, _vue.createVNode)((0, _vue.unref)(_upload.default), {
|
|
2575
|
+
title: (0, _vue.unref)(locale).webgl.uploadGeoJSON,
|
|
2576
|
+
"auto-upload": false,
|
|
2577
|
+
"show-file-list": false,
|
|
2578
|
+
accept: ".geojson,.json",
|
|
2579
|
+
"on-change": handleGeoJSONUpload
|
|
2580
|
+
}, {
|
|
2581
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_button.default), {
|
|
2582
|
+
class: "kq-laf-tool-btn"
|
|
2583
|
+
}, {
|
|
2584
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_icon.default), {
|
|
2585
|
+
size: 20
|
|
2586
|
+
}, {
|
|
2587
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_client_icons_vue.IconImport))]),
|
|
2588
|
+
_: 1 /* STABLE */
|
|
2589
|
+
})]),
|
|
2590
|
+
_: 1 /* STABLE */
|
|
2591
|
+
})]),
|
|
2592
|
+
_: 1 /* STABLE */
|
|
2593
|
+
}, 8 /* PROPS */, ["title"]), (0, _vue.createVNode)((0, _vue.unref)(_button.default), {
|
|
2594
|
+
title: (0, _vue.unref)(locale).webgl.exportGeoJSON,
|
|
2595
|
+
class: "kq-laf-tool-btn",
|
|
2596
|
+
onClick: exportGeoJSON
|
|
2597
|
+
}, {
|
|
2598
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_icon.default), {
|
|
2599
|
+
size: 20
|
|
2600
|
+
}, {
|
|
2601
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_client_icons_vue.IconExport))]),
|
|
2602
|
+
_: 1 /* STABLE */
|
|
2603
|
+
})]),
|
|
2604
|
+
_: 1 /* STABLE */
|
|
2605
|
+
}, 8 /* PROPS */, ["title"]), (0, _vue.createVNode)((0, _vue.unref)(_button.default), {
|
|
2606
|
+
title: (0, _vue.unref)(locale).webgl.deleteCurrent,
|
|
2607
|
+
class: "kq-laf-tool-btn kq-laf-tool-btn-danger",
|
|
2608
|
+
onClick: deleteCurrentDrawing
|
|
2609
|
+
}, {
|
|
2610
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_icon.default), {
|
|
2611
|
+
size: 20,
|
|
2612
|
+
color: "#f56c6c"
|
|
2613
|
+
}, {
|
|
2614
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_iconsVue.Delete))]),
|
|
2615
|
+
_: 1 /* STABLE */
|
|
2616
|
+
})]),
|
|
2617
|
+
_: 1 /* STABLE */
|
|
2618
|
+
}, 8 /* PROPS */, ["title"])]), (0, _vue.createCommentVNode)(" 几何图形状态提示 "), (0, _vue.createElementVNode)("div", {
|
|
2619
|
+
class: (0, _vue.normalizeClass)(["kq-laf-geometry-status", {
|
|
2620
|
+
'has-geometry': (0, _vue.unref)(currentGeoJSON)
|
|
2621
|
+
}])
|
|
2622
|
+
}, [(0, _vue.createVNode)((0, _vue.unref)(_icon.default), {
|
|
2623
|
+
size: 14,
|
|
2624
|
+
color: (0, _vue.unref)(currentGeoJSON) ? '#67c23a' : '#f56c6c'
|
|
2625
|
+
}, {
|
|
2626
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.unref)(currentGeoJSON) ? ((0, _vue.openBlock)(), (0, _vue.createBlock)((0, _vue.unref)(_iconsVue.CircleCheckFilled), {
|
|
2627
|
+
key: 0
|
|
2628
|
+
})) : ((0, _vue.openBlock)(), (0, _vue.createBlock)((0, _vue.unref)(_iconsVue.WarningFilled), {
|
|
2629
|
+
key: 1
|
|
2630
|
+
}))]),
|
|
2631
|
+
_: 1 /* STABLE */
|
|
2632
|
+
}, 8 /* PROPS */, ["color"]), (0, _vue.createElementVNode)("span", _hoisted_15, (0, _vue.toDisplayString)((0, _vue.unref)(currentGeoJSON) ? (0, _vue.unref)(locale).webgl.geometryDrawnOrImport : (0, _vue.unref)(locale).webgl.pleaseDrawGeometry), 1 /* TEXT */)], 2 /* CLASS */), (0, _vue.createCommentVNode)(" 基础属性 "), (0, _vue.createVNode)((0, _vue.unref)(_form.default), {
|
|
2633
|
+
"label-position": "left",
|
|
2634
|
+
"label-width": "80"
|
|
2635
|
+
}, {
|
|
2636
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_form.KqFormItem), {
|
|
2637
|
+
label: (0, _vue.unref)(locale).webgl.featureCode,
|
|
2638
|
+
required: ""
|
|
2639
|
+
}, {
|
|
2640
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_input.default), {
|
|
2641
|
+
modelValue: (0, _vue.unref)(formData).code,
|
|
2642
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = $event => (0, _vue.unref)(formData).code = $event),
|
|
2643
|
+
placeholder: (0, _vue.unref)(locale).webgl.enterFeatureCode,
|
|
2644
|
+
disabled: (0, _vue.unref)(isEdit) && !(0, _vue.unref)(editableCode)
|
|
2645
|
+
}, null, 8 /* PROPS */, ["modelValue", "placeholder", "disabled"])]),
|
|
2646
|
+
_: 1 /* STABLE */
|
|
2647
|
+
}, 8 /* PROPS */, ["label"]), (0, _vue.createVNode)((0, _vue.unref)(_form.KqFormItem), {
|
|
2648
|
+
label: (0, _vue.unref)(locale).webgl.featureName,
|
|
2649
|
+
required: ""
|
|
2650
|
+
}, {
|
|
2651
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_input.default), {
|
|
2652
|
+
modelValue: (0, _vue.unref)(formData).name,
|
|
2653
|
+
"onUpdate:modelValue": _cache[5] || (_cache[5] = $event => (0, _vue.unref)(formData).name = $event),
|
|
2654
|
+
placeholder: (0, _vue.unref)(locale).webgl.enterFeatureName
|
|
2655
|
+
}, null, 8 /* PROPS */, ["modelValue", "placeholder"])]),
|
|
2656
|
+
_: 1 /* STABLE */
|
|
2657
|
+
}, 8 /* PROPS */, ["label"]), (0, _vue.createVNode)((0, _vue.unref)(_form.KqFormItem), {
|
|
2658
|
+
label: (0, _vue.unref)(locale).webgl.featureClass,
|
|
2659
|
+
required: ""
|
|
2660
|
+
}, {
|
|
2661
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_select.default), {
|
|
2662
|
+
modelValue: (0, _vue.unref)(formData).featureClass,
|
|
2663
|
+
"onUpdate:modelValue": _cache[6] || (_cache[6] = $event => (0, _vue.unref)(formData).featureClass = $event),
|
|
2664
|
+
style: {
|
|
2665
|
+
"width": "100%"
|
|
2666
|
+
},
|
|
2667
|
+
placeholder: (0, _vue.unref)(locale).webgl.selectFeatureClass,
|
|
2668
|
+
disabled: (0, _vue.unref)(isEdit) || !!(0, _vue.unref)(forcedCategory),
|
|
2669
|
+
onChange: onFeatureClassChange
|
|
2670
|
+
}, {
|
|
2671
|
+
default: (0, _vue.withCtx)(() => [((0, _vue.openBlock)(), (0, _vue.createElementBlock)(_vue.Fragment, null, (0, _vue.renderList)(featureClassOptions, cls => {
|
|
2672
|
+
return (0, _vue.createVNode)((0, _vue.unref)(_select.KqOption), {
|
|
2673
|
+
key: cls.value,
|
|
2674
|
+
label: cls.label,
|
|
2675
|
+
value: cls.value
|
|
2676
|
+
}, {
|
|
2677
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createTextVNode)((0, _vue.toDisplayString)(cls.label), 1 /* TEXT */)]),
|
|
2678
|
+
_: 2 /* DYNAMIC */
|
|
2679
|
+
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["label", "value"]);
|
|
2680
|
+
}), 64 /* STABLE_FRAGMENT */))]),
|
|
2681
|
+
_: 1 /* STABLE */
|
|
2682
|
+
}, 8 /* PROPS */, ["modelValue", "placeholder", "disabled"])]),
|
|
2683
|
+
_: 1 /* STABLE */
|
|
2684
|
+
}, 8 /* PROPS */, ["label"]), (0, _vue.createVNode)((0, _vue.unref)(_form.KqFormItem), {
|
|
2685
|
+
label: (0, _vue.unref)(locale).webgl.featureSubclass
|
|
2686
|
+
}, {
|
|
2687
|
+
default: (0, _vue.withCtx)(() => [((0, _vue.openBlock)(), (0, _vue.createBlock)((0, _vue.unref)(_select.default), {
|
|
2688
|
+
key: (0, _vue.unref)(formData).featureClass,
|
|
2689
|
+
modelValue: (0, _vue.unref)(formData).subclass,
|
|
2690
|
+
"onUpdate:modelValue": _cache[7] || (_cache[7] = $event => (0, _vue.unref)(formData).subclass = $event),
|
|
2691
|
+
style: {
|
|
2692
|
+
"width": "100%"
|
|
2693
|
+
},
|
|
2694
|
+
placeholder: (0, _vue.unref)(locale).webgl.selectSubclass
|
|
2695
|
+
}, {
|
|
2696
|
+
default: (0, _vue.withCtx)(() => [((0, _vue.openBlock)(true), (0, _vue.createElementBlock)(_vue.Fragment, null, (0, _vue.renderList)((0, _vue.unref)(currentSubclassOptions), sub => {
|
|
2697
|
+
return (0, _vue.openBlock)(), (0, _vue.createBlock)((0, _vue.unref)(_select.KqOption), {
|
|
2698
|
+
key: sub.value,
|
|
2699
|
+
label: sub.label,
|
|
2700
|
+
value: sub.value
|
|
2701
|
+
}, {
|
|
2702
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createTextVNode)((0, _vue.toDisplayString)(sub.label), 1 /* TEXT */)]),
|
|
2703
|
+
_: 2 /* DYNAMIC */
|
|
2704
|
+
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["label", "value"]);
|
|
2705
|
+
}), 128 /* KEYED_FRAGMENT */))]),
|
|
2706
|
+
_: 1 /* STABLE */
|
|
2707
|
+
}, 8 /* PROPS */, ["modelValue", "placeholder"]))]),
|
|
2708
|
+
_: 1 /* STABLE */
|
|
2709
|
+
}, 8 /* PROPS */, ["label"]), (0, _vue.createCommentVNode)(" 航线类型(仅航线类显示) "), (0, _vue.unref)(showRouteTypeField) ? ((0, _vue.openBlock)(), (0, _vue.createBlock)((0, _vue.unref)(_form.KqFormItem), {
|
|
2710
|
+
key: 0,
|
|
2711
|
+
label: (0, _vue.unref)(locale).webgl.routeType
|
|
2712
|
+
}, {
|
|
2713
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_select.default), {
|
|
2714
|
+
modelValue: (0, _vue.unref)(formData).routeType,
|
|
2715
|
+
"onUpdate:modelValue": _cache[8] || (_cache[8] = $event => (0, _vue.unref)(formData).routeType = $event),
|
|
2716
|
+
placeholder: (0, _vue.unref)(locale).webgl.selectRouteType
|
|
2717
|
+
}, {
|
|
2718
|
+
default: (0, _vue.withCtx)(() => [((0, _vue.openBlock)(), (0, _vue.createElementBlock)(_vue.Fragment, null, (0, _vue.renderList)(routeTypeOptions, rt => {
|
|
2719
|
+
return (0, _vue.createVNode)((0, _vue.unref)(_select.KqOption), {
|
|
2720
|
+
key: rt.value,
|
|
2721
|
+
label: rt.label,
|
|
2722
|
+
value: rt.value
|
|
2723
|
+
}, {
|
|
2724
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createTextVNode)((0, _vue.toDisplayString)(rt.label), 1 /* TEXT */)]),
|
|
2725
|
+
_: 2 /* DYNAMIC */
|
|
2726
|
+
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["label", "value"]);
|
|
2727
|
+
}), 64 /* STABLE_FRAGMENT */))]),
|
|
2728
|
+
_: 1 /* STABLE */
|
|
2729
|
+
}, 8 /* PROPS */, ["modelValue", "placeholder"])]),
|
|
2730
|
+
_: 1 /* STABLE */
|
|
2731
|
+
}, 8 /* PROPS */, ["label"])) : (0, _vue.createCommentVNode)("v-if", true)]),
|
|
2732
|
+
_: 1 /* STABLE */
|
|
2733
|
+
}), (0, _vue.createCommentVNode)(" 图元设置 "), __props.showSettingPanel ? ((0, _vue.openBlock)(), (0, _vue.createBlock)((0, _vue.unref)(_collapse.default), {
|
|
2734
|
+
key: 0,
|
|
2735
|
+
modelValue: _ctx.collapseValue,
|
|
2736
|
+
"onUpdate:modelValue": _cache[16] || (_cache[16] = $event => _ctx.collapseValue = $event),
|
|
2737
|
+
accordion: ""
|
|
2738
|
+
}, {
|
|
2739
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_collapse.KqCollapseItem), {
|
|
2740
|
+
name: "setting"
|
|
2741
|
+
}, {
|
|
2742
|
+
title: (0, _vue.withCtx)(() => [(0, _vue.createTextVNode)((0, _vue.toDisplayString)((0, _vue.unref)(locale).webgl.symbolSettings) + " ", 1 /* TEXT */), (0, _vue.createVNode)((0, _vue.unref)(_icon.default), {
|
|
2743
|
+
size: 14,
|
|
2744
|
+
class: (0, _vue.normalizeClass)({
|
|
2745
|
+
'is-active': _ctx.collapseValue === 'setting'
|
|
2746
|
+
})
|
|
2747
|
+
}, {
|
|
2748
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)(_component_CaretRight)]),
|
|
2749
|
+
_: 1 /* STABLE */
|
|
2750
|
+
}, 8 /* PROPS */, ["class"])]),
|
|
2751
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_form.default), {
|
|
2752
|
+
"label-width": "90px",
|
|
2753
|
+
"label-position": "left"
|
|
2754
|
+
}, {
|
|
2755
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createCommentVNode)(" 高度类型 "), (0, _vue.createVNode)(_component_kq_row, {
|
|
2756
|
+
gutter: 20
|
|
2757
|
+
}, {
|
|
2758
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)(_component_kq_col, {
|
|
2759
|
+
span: 80
|
|
2760
|
+
}, {
|
|
2761
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_form.KqFormItem), {
|
|
2762
|
+
label: (0, _vue.unref)(locale).webgl.altitudeType
|
|
2763
|
+
}, {
|
|
2764
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)(_component_kq_radio_group, {
|
|
2765
|
+
modelValue: (0, _vue.unref)(symbolSettings).altitudeType,
|
|
2766
|
+
"onUpdate:modelValue": _cache[9] || (_cache[9] = $event => (0, _vue.unref)(symbolSettings).altitudeType = $event)
|
|
2767
|
+
}, {
|
|
2768
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)(_component_kq_radio, {
|
|
2769
|
+
label: "trueHeight"
|
|
2770
|
+
}, {
|
|
2771
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createTextVNode)((0, _vue.toDisplayString)((0, _vue.unref)(locale).webgl.trueHeight), 1 /* TEXT */)]),
|
|
2772
|
+
_: 1 /* STABLE */
|
|
2773
|
+
}), (0, _vue.createVNode)(_component_kq_radio, {
|
|
2774
|
+
label: "relativeHeight"
|
|
2775
|
+
}, {
|
|
2776
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createTextVNode)((0, _vue.toDisplayString)((0, _vue.unref)(locale).webgl.relativeHeight), 1 /* TEXT */)]),
|
|
2777
|
+
_: 1 /* STABLE */
|
|
2778
|
+
})]),
|
|
2779
|
+
_: 1 /* STABLE */
|
|
2780
|
+
}, 8 /* PROPS */, ["modelValue"])]),
|
|
2781
|
+
_: 1 /* STABLE */
|
|
2782
|
+
}, 8 /* PROPS */, ["label"])]),
|
|
2783
|
+
_: 1 /* STABLE */
|
|
2784
|
+
})]),
|
|
2785
|
+
_: 1 /* STABLE */
|
|
2786
|
+
}), (0, _vue.createCommentVNode)(" 图形类型 "), (0, _vue.createVNode)(_component_kq_row, {
|
|
2787
|
+
gutter: 20
|
|
2788
|
+
}, {
|
|
2789
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)(_component_kq_col, {
|
|
2790
|
+
span: 80
|
|
2791
|
+
}, {
|
|
2792
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_form.KqFormItem), {
|
|
2793
|
+
label: (0, _vue.unref)(locale).webgl.shapeType
|
|
2794
|
+
}, {
|
|
2795
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)(_component_kq_radio_group, {
|
|
2796
|
+
modelValue: (0, _vue.unref)(symbolSettings).shapeType,
|
|
2797
|
+
"onUpdate:modelValue": _cache[10] || (_cache[10] = $event => (0, _vue.unref)(symbolSettings).shapeType = $event)
|
|
2798
|
+
}, {
|
|
2799
|
+
default: (0, _vue.withCtx)(() => [((0, _vue.openBlock)(true), (0, _vue.createElementBlock)(_vue.Fragment, null, (0, _vue.renderList)((0, _vue.unref)(currentShapeTypes), st => {
|
|
2800
|
+
return (0, _vue.openBlock)(), (0, _vue.createBlock)(_component_kq_radio, {
|
|
2801
|
+
key: st.value,
|
|
2802
|
+
label: st.value
|
|
2803
|
+
}, {
|
|
2804
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createTextVNode)((0, _vue.toDisplayString)((0, _vue.unref)(locale).webgl[st.value]), 1 /* TEXT */)]),
|
|
2805
|
+
_: 2 /* DYNAMIC */
|
|
2806
|
+
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["label"]);
|
|
2807
|
+
}), 128 /* KEYED_FRAGMENT */))]),
|
|
2808
|
+
_: 1 /* STABLE */
|
|
2809
|
+
}, 8 /* PROPS */, ["modelValue"])]),
|
|
2810
|
+
_: 1 /* STABLE */
|
|
2811
|
+
}, 8 /* PROPS */, ["label"])]),
|
|
2812
|
+
_: 1 /* STABLE */
|
|
2813
|
+
})]),
|
|
2814
|
+
_: 1 /* STABLE */
|
|
2815
|
+
}), (0, _vue.createCommentVNode)(" 网格等级 "), (0, _vue.createVNode)(_component_kq_row, {
|
|
2816
|
+
gutter: 20
|
|
2817
|
+
}, {
|
|
2818
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)(_component_kq_col, {
|
|
2819
|
+
span: 180
|
|
2820
|
+
}, {
|
|
2821
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_form.KqFormItem), {
|
|
2822
|
+
label: (0, _vue.unref)(locale).webgl.gridLevel
|
|
2823
|
+
}, {
|
|
2824
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createElementVNode)("div", _hoisted_16, [(0, _vue.createVNode)((0, _vue.unref)(_slider.default), {
|
|
2825
|
+
modelValue: (0, _vue.unref)(symbolSettings).gridLevel,
|
|
2826
|
+
"onUpdate:modelValue": _cache[11] || (_cache[11] = $event => (0, _vue.unref)(symbolSettings).gridLevel = $event),
|
|
2827
|
+
width: "100%",
|
|
2828
|
+
min: 1,
|
|
2829
|
+
max: 30,
|
|
2830
|
+
"show-input": "",
|
|
2831
|
+
"input-size": "small"
|
|
2832
|
+
}, null, 8 /* PROPS */, ["modelValue"])])]),
|
|
2833
|
+
_: 1 /* STABLE */
|
|
2834
|
+
}, 8 /* PROPS */, ["label"])]),
|
|
2835
|
+
_: 1 /* STABLE */
|
|
2836
|
+
})]),
|
|
2837
|
+
_: 1 /* STABLE */
|
|
2838
|
+
}), (0, _vue.createCommentVNode)(" 缓冲类型 "), (0, _vue.createVNode)(_component_kq_row, {
|
|
2839
|
+
gutter: 20
|
|
2840
|
+
}, {
|
|
2841
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)(_component_kq_col, {
|
|
2842
|
+
span: 80
|
|
2843
|
+
}, {
|
|
2844
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_form.KqFormItem), {
|
|
2845
|
+
label: (0, _vue.unref)(locale).webgl.bufferType
|
|
2846
|
+
}, {
|
|
2847
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)(_component_kq_radio_group, {
|
|
2848
|
+
modelValue: (0, _vue.unref)(symbolSettings).bufferType,
|
|
2849
|
+
"onUpdate:modelValue": _cache[12] || (_cache[12] = $event => (0, _vue.unref)(symbolSettings).bufferType = $event)
|
|
2850
|
+
}, {
|
|
2851
|
+
default: (0, _vue.withCtx)(() => [((0, _vue.openBlock)(true), (0, _vue.createElementBlock)(_vue.Fragment, null, (0, _vue.renderList)((0, _vue.unref)(currentBufferTypes), bt => {
|
|
2852
|
+
return (0, _vue.openBlock)(), (0, _vue.createBlock)(_component_kq_radio, {
|
|
2853
|
+
key: bt.value,
|
|
2854
|
+
label: bt.value
|
|
2855
|
+
}, {
|
|
2856
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createTextVNode)((0, _vue.toDisplayString)((0, _vue.unref)(locale).webgl[bt.value]), 1 /* TEXT */)]),
|
|
2857
|
+
_: 2 /* DYNAMIC */
|
|
2858
|
+
}, 1032 /* PROPS, DYNAMIC_SLOTS */, ["label"]);
|
|
2859
|
+
}), 128 /* KEYED_FRAGMENT */))]),
|
|
2860
|
+
_: 1 /* STABLE */
|
|
2861
|
+
}, 8 /* PROPS */, ["modelValue"])]),
|
|
2862
|
+
_: 1 /* STABLE */
|
|
2863
|
+
}, 8 /* PROPS */, ["label"])]),
|
|
2864
|
+
_: 1 /* STABLE */
|
|
2865
|
+
})]),
|
|
2866
|
+
_: 1 /* STABLE */
|
|
2867
|
+
}), (0, _vue.createCommentVNode)(" 缓冲距离 "), (0, _vue.unref)(showBufferDistanceField) ? ((0, _vue.openBlock)(), (0, _vue.createBlock)(_component_kq_row, {
|
|
2868
|
+
key: 0,
|
|
2869
|
+
gutter: 20
|
|
2870
|
+
}, {
|
|
2871
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)(_component_kq_col, {
|
|
2872
|
+
span: 80
|
|
2873
|
+
}, {
|
|
2874
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_form.KqFormItem), {
|
|
2875
|
+
label: `${(0, _vue.unref)(locale).webgl.bufferDistance}(m)`
|
|
2876
|
+
}, {
|
|
2877
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createElementVNode)("div", _hoisted_17, [(0, _vue.createVNode)((0, _vue.unref)(_slider.default), {
|
|
2878
|
+
modelValue: (0, _vue.unref)(symbolSettings).bufferDistance,
|
|
2879
|
+
"onUpdate:modelValue": _cache[13] || (_cache[13] = $event => (0, _vue.unref)(symbolSettings).bufferDistance = $event),
|
|
2880
|
+
min: 0,
|
|
2881
|
+
max: 10000,
|
|
2882
|
+
step: 10,
|
|
2883
|
+
"show-input": "",
|
|
2884
|
+
"input-size": "small"
|
|
2885
|
+
}, null, 8 /* PROPS */, ["modelValue"])])]),
|
|
2886
|
+
_: 1 /* STABLE */
|
|
2887
|
+
}, 8 /* PROPS */, ["label"])]),
|
|
2888
|
+
_: 1 /* STABLE */
|
|
2889
|
+
})]),
|
|
2890
|
+
_: 1 /* STABLE */
|
|
2891
|
+
})) : (0, _vue.createCommentVNode)("v-if", true), (0, _vue.createCommentVNode)(" 高度上限 "), (0, _vue.createVNode)(_component_kq_row, {
|
|
2892
|
+
gutter: 20
|
|
2893
|
+
}, {
|
|
2894
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)(_component_kq_col, {
|
|
2895
|
+
span: 80
|
|
2896
|
+
}, {
|
|
2897
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_form.KqFormItem), {
|
|
2898
|
+
label: `${(0, _vue.unref)(locale).webgl.upperLimitHeight}(m)`
|
|
2899
|
+
}, {
|
|
2900
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createElementVNode)("div", _hoisted_18, [(0, _vue.createVNode)((0, _vue.unref)(_slider.default), {
|
|
2901
|
+
modelValue: (0, _vue.unref)(symbolSettings).upperHeight,
|
|
2902
|
+
"onUpdate:modelValue": _cache[14] || (_cache[14] = $event => (0, _vue.unref)(symbolSettings).upperHeight = $event),
|
|
2903
|
+
min: 0,
|
|
2904
|
+
max: 30000,
|
|
2905
|
+
step: 1,
|
|
2906
|
+
"show-input": "",
|
|
2907
|
+
"input-size": "small"
|
|
2908
|
+
}, null, 8 /* PROPS */, ["modelValue"])])]),
|
|
2909
|
+
_: 1 /* STABLE */
|
|
2910
|
+
}, 8 /* PROPS */, ["label"])]),
|
|
2911
|
+
_: 1 /* STABLE */
|
|
2912
|
+
})]),
|
|
2913
|
+
_: 1 /* STABLE */
|
|
2914
|
+
}), (0, _vue.createCommentVNode)(" 高度下限 "), (0, _vue.createVNode)(_component_kq_row, {
|
|
2915
|
+
gutter: 20
|
|
2916
|
+
}, {
|
|
2917
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)(_component_kq_col, {
|
|
2918
|
+
span: 80
|
|
2919
|
+
}, {
|
|
2920
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createVNode)((0, _vue.unref)(_form.KqFormItem), {
|
|
2921
|
+
label: `${(0, _vue.unref)(locale).webgl.lowerLimitHeight}(m)`
|
|
2922
|
+
}, {
|
|
2923
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createElementVNode)("div", _hoisted_19, [(0, _vue.createVNode)((0, _vue.unref)(_slider.default), {
|
|
2924
|
+
modelValue: (0, _vue.unref)(symbolSettings).lowerHeight,
|
|
2925
|
+
"onUpdate:modelValue": _cache[15] || (_cache[15] = $event => (0, _vue.unref)(symbolSettings).lowerHeight = $event),
|
|
2926
|
+
min: 0,
|
|
2927
|
+
max: 30000,
|
|
2928
|
+
step: 1,
|
|
2929
|
+
"show-input": "",
|
|
2930
|
+
"input-size": "small"
|
|
2931
|
+
}, null, 8 /* PROPS */, ["modelValue"])])]),
|
|
2932
|
+
_: 1 /* STABLE */
|
|
2933
|
+
}, 8 /* PROPS */, ["label"])]),
|
|
2934
|
+
_: 1 /* STABLE */
|
|
2935
|
+
})]),
|
|
2936
|
+
_: 1 /* STABLE */
|
|
2937
|
+
})]),
|
|
2938
|
+
_: 1 /* STABLE */
|
|
2939
|
+
})]),
|
|
2940
|
+
_: 1 /* STABLE */
|
|
2941
|
+
})]),
|
|
2942
|
+
_: 1 /* STABLE */
|
|
2943
|
+
}, 8 /* PROPS */, ["modelValue"])) : (0, _vue.createCommentVNode)("v-if", true), (0, _vue.createCommentVNode)(" 底部按钮 "), (0, _vue.createElementVNode)("div", _hoisted_20, [(0, _vue.createVNode)((0, _vue.unref)(_button.default), {
|
|
2944
|
+
type: "primary",
|
|
2945
|
+
onClick: saveFeature
|
|
2946
|
+
}, {
|
|
2947
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createTextVNode)((0, _vue.toDisplayString)((0, _vue.unref)(locale).webgl.save), 1 /* TEXT */)]),
|
|
2948
|
+
_: 1 /* STABLE */
|
|
2949
|
+
}), (0, _vue.createVNode)((0, _vue.unref)(_button.default), {
|
|
2950
|
+
onClick: clearForm
|
|
2951
|
+
}, {
|
|
2952
|
+
default: (0, _vue.withCtx)(() => [(0, _vue.createTextVNode)((0, _vue.toDisplayString)((0, _vue.unref)(locale).webgl.clear), 1 /* TEXT */)]),
|
|
2953
|
+
_: 1 /* STABLE */
|
|
2954
|
+
})])], 512 /* NEED_PATCH */), [[_vue.vShow, !(0, _vue.unref)(panelCollapsed)]])], 512 /* NEED_PATCH */)), [[_vue.vShow, !(0, _vue.unref)(panelCollapsed)]]) : (0, _vue.createCommentVNode)("v-if", true)])], 2 /* CLASS */);
|
|
2955
|
+
};
|
|
2956
|
+
}
|
|
2957
|
+
});
|
|
2958
|
+
|
|
2959
|
+
/***/ }),
|
|
2960
|
+
|
|
2961
|
+
/***/ 23761:
|
|
2962
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
2963
|
+
|
|
2964
|
+
|
|
2965
|
+
|
|
2966
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
2967
|
+
Object.defineProperty(exports, "B", ({
|
|
2968
|
+
value: true
|
|
2969
|
+
}));
|
|
2970
|
+
exports.A = void 0;
|
|
2971
|
+
var _indexFull = __webpack_require__(56363);
|
|
2972
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
2973
|
+
var _default = exports.A = {
|
|
2974
|
+
/** 会被用到创建组件的时候 得注意大小写*/
|
|
2975
|
+
name: "KqButton",
|
|
2976
|
+
/** ??没找到用途 */
|
|
2977
|
+
__ANT_BUTTON: true,
|
|
2978
|
+
/** defaultComponent并没有实现任何的逻辑,只是把接收的 Object 直接返回,它的存在是完全让传⼊的整个对象获得对
|
|
2979
|
+
* 应的类型
|
|
2980
|
+
*/
|
|
2981
|
+
defaultComponent: _indexFull.ElButton,
|
|
2982
|
+
/**
|
|
2983
|
+
* mixins 混用是一种分发vue组件中可复用功能的非常灵活的方式
|
|
2984
|
+
* 当组件使用混合对象时,所有混合对象的选项将被混入该组件本身的选项
|
|
2985
|
+
*
|
|
2986
|
+
* 在开发中,我们可以单独创建一个js文件,在该文件中声明一个mixins对象,然后将组件或页面共用的属性或方法定义在mixins里边,并暴露出去,在需要使用到的组件中引入该js文件即可;
|
|
2987
|
+
* 当组件中定义了相同的属性或方法时,组件里边声明的属性或方法优先级高于mixins;
|
|
2988
|
+
* 虽然mixins中的属性或方法可以被多个组件或页面共用,但是在某个组件或页面中修改相关属性或方法时,不会对其他组件或页面造成影响
|
|
2989
|
+
*/
|
|
2990
|
+
mixins: [_render.default],
|
|
2991
|
+
setup(props, context) {
|
|
2992
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
2993
|
+
}
|
|
2994
|
+
};
|
|
2995
|
+
|
|
2996
|
+
/***/ }),
|
|
2997
|
+
|
|
2998
|
+
/***/ 26143:
|
|
2999
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3000
|
+
|
|
3001
|
+
|
|
3002
|
+
|
|
3003
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3004
|
+
Object.defineProperty(exports, "B", ({
|
|
3005
|
+
value: true
|
|
3006
|
+
}));
|
|
3007
|
+
exports.A = void 0;
|
|
3008
|
+
var _indexFull = __webpack_require__(56363);
|
|
3009
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
3010
|
+
var _default = exports.A = {
|
|
3011
|
+
name: "KqInput",
|
|
3012
|
+
defaultComponent: _indexFull.ElInput,
|
|
3013
|
+
mixins: [_render.default],
|
|
3014
|
+
setup(props, context) {
|
|
3015
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
3016
|
+
}
|
|
3017
|
+
};
|
|
3018
|
+
|
|
3019
|
+
/***/ }),
|
|
3020
|
+
|
|
3021
|
+
/***/ 26331:
|
|
3022
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3023
|
+
|
|
3024
|
+
|
|
3025
|
+
|
|
3026
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3027
|
+
Object.defineProperty(exports, "B", ({
|
|
3028
|
+
value: true
|
|
3029
|
+
}));
|
|
3030
|
+
exports.A = void 0;
|
|
3031
|
+
var _indexFull = __webpack_require__(56363);
|
|
3032
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
3033
|
+
// const { ElScrollbar } = require("element-plus/dist/index.full.js");
|
|
3034
|
+
var _default = exports.A = {
|
|
3035
|
+
name: "KqScrollbar",
|
|
3036
|
+
defaultComponent: _indexFull.ElScrollbar,
|
|
3037
|
+
mixins: [_render.default],
|
|
3038
|
+
setup(props, context) {
|
|
3039
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
3040
|
+
}
|
|
3041
|
+
};
|
|
3042
|
+
|
|
3043
|
+
/***/ }),
|
|
3044
|
+
|
|
3045
|
+
/***/ 28238:
|
|
3046
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3047
|
+
|
|
3048
|
+
// ESM COMPAT FLAG
|
|
3049
|
+
__webpack_require__.r(__webpack_exports__);
|
|
3050
|
+
|
|
3051
|
+
// EXPORTS
|
|
3052
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
3053
|
+
__esModule: function() { return /* reexport */ Slidervue_type_script_lang_js/* __esModule */.B; },
|
|
3054
|
+
"default": function() { return /* binding */ Slider; }
|
|
3055
|
+
});
|
|
3056
|
+
|
|
3057
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/slider/Slider.vue?vue&type=script&lang=js
|
|
3058
|
+
var Slidervue_type_script_lang_js = __webpack_require__(6663);
|
|
3059
|
+
;// ./src/common/_ui/slider/Slider.vue?vue&type=script&lang=js
|
|
3060
|
+
|
|
3061
|
+
;// ./src/common/_ui/slider/Slider.vue
|
|
3062
|
+
|
|
3063
|
+
|
|
3064
|
+
|
|
3065
|
+
const __exports__ = Slidervue_type_script_lang_js/* default */.A;
|
|
3066
|
+
|
|
3067
|
+
/* harmony default export */ var Slider = (__exports__);
|
|
3068
|
+
|
|
3069
|
+
/***/ }),
|
|
3070
|
+
|
|
3071
|
+
/***/ 29371:
|
|
3072
|
+
/***/ (function(module) {
|
|
3073
|
+
|
|
3074
|
+
module.exports = require("@element-plus/icons-vue");
|
|
3075
|
+
|
|
3076
|
+
/***/ }),
|
|
3077
|
+
|
|
3078
|
+
/***/ 31885:
|
|
3079
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3080
|
+
|
|
3081
|
+
// ESM COMPAT FLAG
|
|
3082
|
+
__webpack_require__.r(__webpack_exports__);
|
|
3083
|
+
|
|
3084
|
+
// EXPORTS
|
|
3085
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
3086
|
+
__esModule: function() { return /* reexport */ Buttonvue_type_script_lang_js/* __esModule */.B; },
|
|
3087
|
+
"default": function() { return /* binding */ Button; }
|
|
3088
|
+
});
|
|
3089
|
+
|
|
3090
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/button/Button.vue?vue&type=script&lang=js
|
|
3091
|
+
var Buttonvue_type_script_lang_js = __webpack_require__(23761);
|
|
3092
|
+
;// ./src/common/_ui/button/Button.vue?vue&type=script&lang=js
|
|
3093
|
+
|
|
3094
|
+
;// ./src/common/_ui/button/Button.vue
|
|
3095
|
+
|
|
3096
|
+
|
|
3097
|
+
|
|
3098
|
+
const __exports__ = Buttonvue_type_script_lang_js/* default */.A;
|
|
3099
|
+
|
|
3100
|
+
/* harmony default export */ var Button = (__exports__);
|
|
3101
|
+
|
|
3102
|
+
/***/ }),
|
|
3103
|
+
|
|
3104
|
+
/***/ 33670:
|
|
3105
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3106
|
+
|
|
3107
|
+
// ESM COMPAT FLAG
|
|
3108
|
+
__webpack_require__.r(__webpack_exports__);
|
|
3109
|
+
|
|
3110
|
+
// EXPORTS
|
|
3111
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
3112
|
+
__esModule: function() { return /* reexport */ OptionGroupvue_type_script_lang_js/* __esModule */.B; },
|
|
3113
|
+
"default": function() { return /* binding */ OptionGroup; }
|
|
3114
|
+
});
|
|
3115
|
+
|
|
3116
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/select/OptionGroup.vue?vue&type=script&lang=js
|
|
3117
|
+
var OptionGroupvue_type_script_lang_js = __webpack_require__(88897);
|
|
3118
|
+
;// ./src/common/_ui/select/OptionGroup.vue?vue&type=script&lang=js
|
|
3119
|
+
|
|
3120
|
+
;// ./src/common/_ui/select/OptionGroup.vue
|
|
3121
|
+
|
|
3122
|
+
|
|
3123
|
+
|
|
3124
|
+
const __exports__ = OptionGroupvue_type_script_lang_js/* default */.A;
|
|
3125
|
+
|
|
3126
|
+
/* harmony default export */ var OptionGroup = (__exports__);
|
|
3127
|
+
|
|
3128
|
+
/***/ }),
|
|
3129
|
+
|
|
3130
|
+
/***/ 33751:
|
|
3131
|
+
/***/ (function(module) {
|
|
3132
|
+
|
|
3133
|
+
module.exports = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3134
|
+
|
|
3135
|
+
/***/ }),
|
|
3136
|
+
|
|
3137
|
+
/***/ 39034:
|
|
3138
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3139
|
+
|
|
3140
|
+
// ESM COMPAT FLAG
|
|
3141
|
+
__webpack_require__.r(__webpack_exports__);
|
|
3142
|
+
|
|
3143
|
+
// EXPORTS
|
|
3144
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
3145
|
+
__esModule: function() { return /* reexport */ Inputvue_type_script_lang_js/* __esModule */.B; },
|
|
3146
|
+
"default": function() { return /* binding */ Input; }
|
|
3147
|
+
});
|
|
3148
|
+
|
|
3149
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/input/Input.vue?vue&type=script&lang=js
|
|
3150
|
+
var Inputvue_type_script_lang_js = __webpack_require__(26143);
|
|
3151
|
+
;// ./src/common/_ui/input/Input.vue?vue&type=script&lang=js
|
|
3152
|
+
|
|
3153
|
+
;// ./src/common/_ui/input/Input.vue
|
|
3154
|
+
|
|
3155
|
+
|
|
3156
|
+
|
|
3157
|
+
const __exports__ = Inputvue_type_script_lang_js/* default */.A;
|
|
3158
|
+
|
|
3159
|
+
/* harmony default export */ var Input = (__exports__);
|
|
3160
|
+
|
|
3161
|
+
/***/ }),
|
|
3162
|
+
|
|
3163
|
+
/***/ 39466:
|
|
3164
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3165
|
+
|
|
3166
|
+
|
|
3167
|
+
|
|
3168
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3169
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
3170
|
+
value: true
|
|
3171
|
+
}));
|
|
3172
|
+
Object.defineProperty(exports, "KqFormItem", ({
|
|
3173
|
+
enumerable: true,
|
|
3174
|
+
get: function () {
|
|
3175
|
+
return _FormItem.default;
|
|
3176
|
+
}
|
|
3177
|
+
}));
|
|
3178
|
+
Object.defineProperty(exports, "default", ({
|
|
3179
|
+
enumerable: true,
|
|
3180
|
+
get: function () {
|
|
3181
|
+
return _Form.default;
|
|
3182
|
+
}
|
|
3183
|
+
}));
|
|
3184
|
+
var _Form = _interopRequireDefault(__webpack_require__(7955));
|
|
3185
|
+
var _FormItem = _interopRequireDefault(__webpack_require__(51078));
|
|
3186
|
+
var _init = _interopRequireDefault(__webpack_require__(20455));
|
|
3187
|
+
var _KqGIS = __webpack_require__(99602);
|
|
3188
|
+
/*
|
|
3189
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
3190
|
+
* All rights reserved.
|
|
3191
|
+
*/
|
|
3192
|
+
|
|
3193
|
+
_Form.default.install = (Vue, opts) => {
|
|
3194
|
+
(0, _init.default)(Vue, opts);
|
|
3195
|
+
Vue.component(_Form.default.name, _Form.default);
|
|
3196
|
+
Vue.component(_FormItem.default.name, _FormItem.default);
|
|
3197
|
+
};
|
|
3198
|
+
_KqGIS.kq_npm_client_common_vue.KqForm = _Form.default;
|
|
3199
|
+
_KqGIS.kq_npm_client_common_vue.KqFormItem = _FormItem.default;
|
|
3200
|
+
|
|
3201
|
+
/***/ }),
|
|
3202
|
+
|
|
3203
|
+
/***/ 39640:
|
|
3204
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3205
|
+
|
|
3206
|
+
// ESM COMPAT FLAG
|
|
3207
|
+
__webpack_require__.r(__webpack_exports__);
|
|
3208
|
+
|
|
3209
|
+
// EXPORTS
|
|
3210
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
3211
|
+
__esModule: function() { return /* reexport */ Collapsevue_type_script_lang_js/* __esModule */.B; },
|
|
3212
|
+
"default": function() { return /* binding */ Collapse; }
|
|
3213
|
+
});
|
|
3214
|
+
|
|
3215
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/collapse/Collapse.vue?vue&type=script&lang=js
|
|
3216
|
+
var Collapsevue_type_script_lang_js = __webpack_require__(61223);
|
|
3217
|
+
;// ./src/common/_ui/collapse/Collapse.vue?vue&type=script&lang=js
|
|
3218
|
+
|
|
3219
|
+
;// ./src/common/_ui/collapse/Collapse.vue
|
|
3220
|
+
|
|
3221
|
+
|
|
3222
|
+
|
|
3223
|
+
const __exports__ = Collapsevue_type_script_lang_js/* default */.A;
|
|
3224
|
+
|
|
3225
|
+
/* harmony default export */ var Collapse = (__exports__);
|
|
3226
|
+
|
|
3227
|
+
/***/ }),
|
|
3228
|
+
|
|
3229
|
+
/***/ 39780:
|
|
3230
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3231
|
+
|
|
3232
|
+
// ESM COMPAT FLAG
|
|
3233
|
+
__webpack_require__.r(__webpack_exports__);
|
|
3234
|
+
|
|
3235
|
+
// EXPORTS
|
|
3236
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
3237
|
+
__esModule: function() { return /* reexport */ Groupvue_type_script_lang_js/* __esModule */.B; },
|
|
3238
|
+
"default": function() { return /* binding */ Group; }
|
|
3239
|
+
});
|
|
3240
|
+
|
|
3241
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/button/Group.vue?vue&type=script&lang=js
|
|
3242
|
+
var Groupvue_type_script_lang_js = __webpack_require__(40696);
|
|
3243
|
+
;// ./src/common/_ui/button/Group.vue?vue&type=script&lang=js
|
|
3244
|
+
|
|
3245
|
+
;// ./src/common/_ui/button/Group.vue
|
|
3246
|
+
|
|
3247
|
+
|
|
3248
|
+
|
|
3249
|
+
const __exports__ = Groupvue_type_script_lang_js/* default */.A;
|
|
3250
|
+
|
|
3251
|
+
/* harmony default export */ var Group = (__exports__);
|
|
3252
|
+
|
|
3253
|
+
/***/ }),
|
|
3254
|
+
|
|
3255
|
+
/***/ 40669:
|
|
3256
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3257
|
+
|
|
3258
|
+
// ESM COMPAT FLAG
|
|
3259
|
+
__webpack_require__.r(__webpack_exports__);
|
|
3260
|
+
|
|
3261
|
+
// EXPORTS
|
|
3262
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
3263
|
+
__esModule: function() { return /* reexport */ CollapseItemvue_type_script_lang_js/* __esModule */.B; },
|
|
3264
|
+
"default": function() { return /* binding */ CollapseItem; }
|
|
3265
|
+
});
|
|
3266
|
+
|
|
3267
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/collapse/CollapseItem.vue?vue&type=script&lang=js
|
|
3268
|
+
var CollapseItemvue_type_script_lang_js = __webpack_require__(52330);
|
|
3269
|
+
;// ./src/common/_ui/collapse/CollapseItem.vue?vue&type=script&lang=js
|
|
3270
|
+
|
|
3271
|
+
;// ./src/common/_ui/collapse/CollapseItem.vue
|
|
3272
|
+
|
|
3273
|
+
|
|
3274
|
+
|
|
3275
|
+
const __exports__ = CollapseItemvue_type_script_lang_js/* default */.A;
|
|
3276
|
+
|
|
3277
|
+
/* harmony default export */ var CollapseItem = (__exports__);
|
|
3278
|
+
|
|
3279
|
+
/***/ }),
|
|
3280
|
+
|
|
3281
|
+
/***/ 40696:
|
|
3282
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3283
|
+
|
|
3284
|
+
|
|
3285
|
+
|
|
3286
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3287
|
+
Object.defineProperty(exports, "B", ({
|
|
3288
|
+
value: true
|
|
3289
|
+
}));
|
|
3290
|
+
exports.A = void 0;
|
|
3291
|
+
var _indexFull = __webpack_require__(56363);
|
|
3292
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
3293
|
+
var _default = exports.A = {
|
|
3294
|
+
name: "KqButtonGroup",
|
|
3295
|
+
defaultComponent: _indexFull.ElButtonGroup,
|
|
3296
|
+
mixins: [_render.default],
|
|
3297
|
+
setup(props, context) {
|
|
3298
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
3299
|
+
}
|
|
3300
|
+
};
|
|
3301
|
+
|
|
3302
|
+
/***/ }),
|
|
3303
|
+
|
|
3304
|
+
/***/ 41219:
|
|
3305
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3306
|
+
|
|
3307
|
+
|
|
3308
|
+
|
|
3309
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3310
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
3311
|
+
value: true
|
|
3312
|
+
}));
|
|
3313
|
+
Object.defineProperty(exports, "KqCollapseItem", ({
|
|
3314
|
+
enumerable: true,
|
|
3315
|
+
get: function () {
|
|
3316
|
+
return _CollapseItem.default;
|
|
3317
|
+
}
|
|
3318
|
+
}));
|
|
3319
|
+
Object.defineProperty(exports, "default", ({
|
|
3320
|
+
enumerable: true,
|
|
3321
|
+
get: function () {
|
|
3322
|
+
return _Collapse.default;
|
|
3323
|
+
}
|
|
3324
|
+
}));
|
|
3325
|
+
var _Collapse = _interopRequireDefault(__webpack_require__(39640));
|
|
3326
|
+
var _CollapseItem = _interopRequireDefault(__webpack_require__(40669));
|
|
3327
|
+
var _init = _interopRequireDefault(__webpack_require__(20455));
|
|
3328
|
+
var _KqGIS = __webpack_require__(99602);
|
|
3329
|
+
/*
|
|
3330
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
3331
|
+
* All rights reserved.
|
|
3332
|
+
*/
|
|
3333
|
+
|
|
3334
|
+
_Collapse.default.install = (Vue, opts) => {
|
|
3335
|
+
(0, _init.default)(Vue, opts);
|
|
3336
|
+
Vue.component(_Collapse.default.name, _Collapse.default);
|
|
3337
|
+
Vue.component(_CollapseItem.default.name, _CollapseItem.default);
|
|
3338
|
+
};
|
|
3339
|
+
_KqGIS.kq_npm_client_common_vue.KqCollapse = _Collapse.default;
|
|
3340
|
+
_KqGIS.kq_npm_client_common_vue.KqCollapseItem = _CollapseItem.default;
|
|
3341
|
+
|
|
3342
|
+
/***/ }),
|
|
3343
|
+
|
|
3344
|
+
/***/ 42975:
|
|
3345
|
+
/***/ (function(module) {
|
|
3346
|
+
|
|
3347
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__42975__;
|
|
3348
|
+
|
|
3349
|
+
/***/ }),
|
|
3350
|
+
|
|
3351
|
+
/***/ 44763:
|
|
3352
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3353
|
+
|
|
3354
|
+
// ESM COMPAT FLAG
|
|
3355
|
+
__webpack_require__.r(__webpack_exports__);
|
|
3356
|
+
|
|
3357
|
+
// EXPORTS
|
|
3358
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
3359
|
+
__esModule: function() { return /* reexport */ Optionvue_type_script_lang_js/* __esModule */.B; },
|
|
3360
|
+
"default": function() { return /* binding */ Option; }
|
|
3361
|
+
});
|
|
3362
|
+
|
|
3363
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/select/Option.vue?vue&type=script&lang=js
|
|
3364
|
+
var Optionvue_type_script_lang_js = __webpack_require__(58446);
|
|
3365
|
+
;// ./src/common/_ui/select/Option.vue?vue&type=script&lang=js
|
|
3366
|
+
|
|
3367
|
+
;// ./src/common/_ui/select/Option.vue
|
|
3368
|
+
|
|
3369
|
+
|
|
3370
|
+
|
|
3371
|
+
const __exports__ = Optionvue_type_script_lang_js/* default */.A;
|
|
3372
|
+
|
|
3373
|
+
/* harmony default export */ var Option = (__exports__);
|
|
3374
|
+
|
|
3375
|
+
/***/ }),
|
|
3376
|
+
|
|
3377
|
+
/***/ 44993:
|
|
3378
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3379
|
+
|
|
3380
|
+
|
|
3381
|
+
|
|
3382
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3383
|
+
Object.defineProperty(exports, "B", ({
|
|
3384
|
+
value: true
|
|
3385
|
+
}));
|
|
3386
|
+
exports.A = void 0;
|
|
3387
|
+
var _indexFull = __webpack_require__(56363);
|
|
3388
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
3389
|
+
var _vue = __webpack_require__(50154);
|
|
3390
|
+
var _default = exports.A = {
|
|
3391
|
+
name: "KqTree",
|
|
3392
|
+
defaultComponent: _indexFull.ElTree,
|
|
3393
|
+
mixins: [_render.default],
|
|
3394
|
+
setup(props, context) {
|
|
3395
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
3396
|
+
// let refs = ref({});
|
|
3397
|
+
// let proxyContext = getCurrentInstance();
|
|
3398
|
+
// onMounted(() => {
|
|
3399
|
+
// refs.value = proxyContext.refs.child;
|
|
3400
|
+
// console.log("proxyContext", refs.value);
|
|
3401
|
+
// });
|
|
3402
|
+
// // return {
|
|
3403
|
+
// // ...refs.value
|
|
3404
|
+
// // }
|
|
3405
|
+
// context.expose({...refs.value})
|
|
3406
|
+
}
|
|
3407
|
+
};
|
|
3408
|
+
|
|
3409
|
+
/***/ }),
|
|
3410
|
+
|
|
3411
|
+
/***/ 47193:
|
|
3412
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3413
|
+
|
|
3414
|
+
// ESM COMPAT FLAG
|
|
3415
|
+
__webpack_require__.r(__webpack_exports__);
|
|
3416
|
+
|
|
3417
|
+
// EXPORTS
|
|
3418
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
3419
|
+
__esModule: function() { return /* reexport */ CheckboxGroupvue_type_script_lang_js/* __esModule */.B; },
|
|
3420
|
+
"default": function() { return /* binding */ CheckboxGroup; }
|
|
3421
|
+
});
|
|
3422
|
+
|
|
3423
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/checkbox/CheckboxGroup.vue?vue&type=script&lang=js
|
|
3424
|
+
var CheckboxGroupvue_type_script_lang_js = __webpack_require__(65790);
|
|
3425
|
+
;// ./src/common/_ui/checkbox/CheckboxGroup.vue?vue&type=script&lang=js
|
|
3426
|
+
|
|
3427
|
+
;// ./src/common/_ui/checkbox/CheckboxGroup.vue
|
|
3428
|
+
|
|
3429
|
+
|
|
3430
|
+
|
|
3431
|
+
const __exports__ = CheckboxGroupvue_type_script_lang_js/* default */.A;
|
|
3432
|
+
|
|
3433
|
+
/* harmony default export */ var CheckboxGroup = (__exports__);
|
|
3434
|
+
|
|
3435
|
+
/***/ }),
|
|
3436
|
+
|
|
3437
|
+
/***/ 50154:
|
|
3438
|
+
/***/ (function(module) {
|
|
3439
|
+
|
|
3440
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__50154__;
|
|
3441
|
+
|
|
3442
|
+
/***/ }),
|
|
3443
|
+
|
|
3444
|
+
/***/ 51078:
|
|
3445
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3446
|
+
|
|
3447
|
+
// ESM COMPAT FLAG
|
|
3448
|
+
__webpack_require__.r(__webpack_exports__);
|
|
3449
|
+
|
|
3450
|
+
// EXPORTS
|
|
3451
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
3452
|
+
__esModule: function() { return /* reexport */ FormItemvue_type_script_lang_js/* __esModule */.B; },
|
|
3453
|
+
"default": function() { return /* binding */ FormItem; }
|
|
3454
|
+
});
|
|
3455
|
+
|
|
3456
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/form/FormItem.vue?vue&type=script&lang=js
|
|
3457
|
+
var FormItemvue_type_script_lang_js = __webpack_require__(19000);
|
|
3458
|
+
;// ./src/common/_ui/form/FormItem.vue?vue&type=script&lang=js
|
|
3459
|
+
|
|
3460
|
+
;// ./src/common/_ui/form/FormItem.vue
|
|
3461
|
+
|
|
3462
|
+
|
|
3463
|
+
|
|
3464
|
+
const __exports__ = FormItemvue_type_script_lang_js/* default */.A;
|
|
3465
|
+
|
|
3466
|
+
/* harmony default export */ var FormItem = (__exports__);
|
|
3467
|
+
|
|
3468
|
+
/***/ }),
|
|
3469
|
+
|
|
3470
|
+
/***/ 52330:
|
|
3471
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3472
|
+
|
|
3473
|
+
|
|
3474
|
+
|
|
3475
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3476
|
+
Object.defineProperty(exports, "B", ({
|
|
3477
|
+
value: true
|
|
3478
|
+
}));
|
|
3479
|
+
exports.A = void 0;
|
|
3480
|
+
var _indexFull = __webpack_require__(56363);
|
|
3481
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
3482
|
+
var _default = exports.A = {
|
|
3483
|
+
name: "KqCollapseItem",
|
|
3484
|
+
defaultComponent: _indexFull.ElCollapseItem,
|
|
3485
|
+
mixins: [_render.default],
|
|
3486
|
+
setup(props, context) {
|
|
3487
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
3488
|
+
}
|
|
3489
|
+
};
|
|
3490
|
+
|
|
3491
|
+
/***/ }),
|
|
3492
|
+
|
|
3493
|
+
/***/ 53968:
|
|
3494
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3495
|
+
|
|
3496
|
+
// ESM COMPAT FLAG
|
|
3497
|
+
__webpack_require__.r(__webpack_exports__);
|
|
3498
|
+
|
|
3499
|
+
// EXPORTS
|
|
3500
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
3501
|
+
__esModule: function() { return /* reexport */ Scrollbarvue_type_script_lang_js/* __esModule */.B; },
|
|
3502
|
+
"default": function() { return /* binding */ Scrollbar; }
|
|
3503
|
+
});
|
|
3504
|
+
|
|
3505
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/scrollbar/Scrollbar.vue?vue&type=script&lang=js
|
|
3506
|
+
var Scrollbarvue_type_script_lang_js = __webpack_require__(26331);
|
|
3507
|
+
;// ./src/common/_ui/scrollbar/Scrollbar.vue?vue&type=script&lang=js
|
|
3508
|
+
|
|
3509
|
+
;// ./src/common/_ui/scrollbar/Scrollbar.vue
|
|
3510
|
+
|
|
3511
|
+
|
|
3512
|
+
|
|
3513
|
+
const __exports__ = Scrollbarvue_type_script_lang_js/* default */.A;
|
|
3514
|
+
|
|
3515
|
+
/* harmony default export */ var Scrollbar = (__exports__);
|
|
3516
|
+
|
|
3517
|
+
/***/ }),
|
|
3518
|
+
|
|
3519
|
+
/***/ 56363:
|
|
3520
|
+
/***/ (function(module) {
|
|
3521
|
+
|
|
3522
|
+
module.exports = require("element-plus/dist/index.full.js");
|
|
3523
|
+
|
|
3524
|
+
/***/ }),
|
|
3525
|
+
|
|
3526
|
+
/***/ 58446:
|
|
3527
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3528
|
+
|
|
3529
|
+
|
|
3530
|
+
|
|
3531
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3532
|
+
Object.defineProperty(exports, "B", ({
|
|
3533
|
+
value: true
|
|
3534
|
+
}));
|
|
3535
|
+
exports.A = void 0;
|
|
3536
|
+
var _indexFull = __webpack_require__(56363);
|
|
3537
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
3538
|
+
var _default = exports.A = {
|
|
3539
|
+
name: "KqOption",
|
|
3540
|
+
defaultComponent: _indexFull.ElOption,
|
|
3541
|
+
mixins: [_render.default],
|
|
3542
|
+
setup(props, context) {
|
|
3543
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
3544
|
+
}
|
|
3545
|
+
};
|
|
3546
|
+
|
|
3547
|
+
/***/ }),
|
|
3548
|
+
|
|
3549
|
+
/***/ 60479:
|
|
3550
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3551
|
+
|
|
3552
|
+
|
|
3553
|
+
|
|
3554
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3555
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
3556
|
+
value: true
|
|
3557
|
+
}));
|
|
3558
|
+
exports["default"] = void 0;
|
|
3559
|
+
var _Tooltip = _interopRequireDefault(__webpack_require__(16676));
|
|
3560
|
+
var _init = _interopRequireDefault(__webpack_require__(20455));
|
|
3561
|
+
var _KqGIS = __webpack_require__(99602);
|
|
3562
|
+
/*
|
|
3563
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
3564
|
+
* All rights reserved.
|
|
3565
|
+
*/
|
|
3566
|
+
|
|
3567
|
+
_Tooltip.default.install = (Vue, opts) => {
|
|
3568
|
+
(0, _init.default)(Vue, opts);
|
|
3569
|
+
Vue.component(_Tooltip.default.name, _Tooltip.default);
|
|
3570
|
+
};
|
|
3571
|
+
var _default = exports["default"] = _Tooltip.default;
|
|
3572
|
+
_KqGIS.kq_npm_client_common_vue.KqTooltip = _Tooltip.default;
|
|
3573
|
+
|
|
3574
|
+
/***/ }),
|
|
3575
|
+
|
|
3576
|
+
/***/ 61223:
|
|
3577
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3578
|
+
|
|
3579
|
+
|
|
3580
|
+
|
|
3581
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3582
|
+
Object.defineProperty(exports, "B", ({
|
|
3583
|
+
value: true
|
|
3584
|
+
}));
|
|
3585
|
+
exports.A = void 0;
|
|
3586
|
+
var _indexFull = __webpack_require__(56363);
|
|
3587
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
3588
|
+
var _default = exports.A = {
|
|
3589
|
+
name: "KqCollapse",
|
|
3590
|
+
defaultComponent: _indexFull.ElCollapse,
|
|
3591
|
+
mixins: [_render.default],
|
|
3592
|
+
setup(props, context) {
|
|
3593
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
3594
|
+
}
|
|
3595
|
+
};
|
|
3596
|
+
|
|
3597
|
+
/***/ }),
|
|
3598
|
+
|
|
3599
|
+
/***/ 62842:
|
|
3600
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3601
|
+
|
|
3602
|
+
|
|
3603
|
+
|
|
3604
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3605
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
3606
|
+
value: true
|
|
3607
|
+
}));
|
|
3608
|
+
exports["default"] = void 0;
|
|
3609
|
+
var _Scrollbar = _interopRequireDefault(__webpack_require__(53968));
|
|
3610
|
+
var _KqGIS = __webpack_require__(99602);
|
|
3611
|
+
/*
|
|
3612
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
3613
|
+
* All rights reserved.
|
|
3614
|
+
*/
|
|
3615
|
+
|
|
3616
|
+
_Scrollbar.default.install = Vue => {
|
|
3617
|
+
Vue.component(_Scrollbar.default.name, _Scrollbar.default);
|
|
3618
|
+
};
|
|
3619
|
+
var _default = exports["default"] = _Scrollbar.default;
|
|
3620
|
+
_KqGIS.kq_npm_client_common_vue.KqScrollbar = _Scrollbar.default;
|
|
3621
|
+
|
|
3622
|
+
/***/ }),
|
|
3623
|
+
|
|
3624
|
+
/***/ 63685:
|
|
3625
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3626
|
+
|
|
3627
|
+
// ESM COMPAT FLAG
|
|
3628
|
+
__webpack_require__.r(__webpack_exports__);
|
|
3629
|
+
|
|
3630
|
+
// EXPORTS
|
|
3631
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
3632
|
+
__esModule: function() { return /* reexport */ Uploadvue_type_script_lang_js/* __esModule */.B; },
|
|
3633
|
+
"default": function() { return /* binding */ Upload; }
|
|
3634
|
+
});
|
|
3635
|
+
|
|
3636
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/upload/Upload.vue?vue&type=script&lang=js
|
|
3637
|
+
var Uploadvue_type_script_lang_js = __webpack_require__(91039);
|
|
3638
|
+
;// ./src/common/_ui/upload/Upload.vue?vue&type=script&lang=js
|
|
3639
|
+
|
|
3640
|
+
;// ./src/common/_ui/upload/Upload.vue
|
|
3641
|
+
|
|
3642
|
+
|
|
3643
|
+
|
|
3644
|
+
const __exports__ = Uploadvue_type_script_lang_js/* default */.A;
|
|
3645
|
+
|
|
3646
|
+
/* harmony default export */ var Upload = (__exports__);
|
|
3647
|
+
|
|
3648
|
+
/***/ }),
|
|
3649
|
+
|
|
3650
|
+
/***/ 65310:
|
|
3651
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3652
|
+
|
|
3653
|
+
// ESM COMPAT FLAG
|
|
3654
|
+
__webpack_require__.r(__webpack_exports__);
|
|
3655
|
+
|
|
3656
|
+
// EXPORTS
|
|
3657
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
3658
|
+
__esModule: function() { return /* reexport */ Treevue_type_script_lang_js/* __esModule */.B; },
|
|
3659
|
+
"default": function() { return /* binding */ Tree; }
|
|
3660
|
+
});
|
|
3661
|
+
|
|
3662
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/tree/Tree.vue?vue&type=script&lang=js
|
|
3663
|
+
var Treevue_type_script_lang_js = __webpack_require__(44993);
|
|
3664
|
+
;// ./src/common/_ui/tree/Tree.vue?vue&type=script&lang=js
|
|
3665
|
+
|
|
3666
|
+
;// ./src/common/_ui/tree/Tree.vue
|
|
3667
|
+
|
|
3668
|
+
|
|
3669
|
+
|
|
3670
|
+
const __exports__ = Treevue_type_script_lang_js/* default */.A;
|
|
3671
|
+
|
|
3672
|
+
/* harmony default export */ var Tree = (__exports__);
|
|
3673
|
+
|
|
3674
|
+
/***/ }),
|
|
3675
|
+
|
|
3676
|
+
/***/ 65698:
|
|
3677
|
+
/***/ (function(module) {
|
|
3678
|
+
|
|
3679
|
+
module.exports = require("@kq_npm/client_icons_vue");
|
|
3680
|
+
|
|
3681
|
+
/***/ }),
|
|
3682
|
+
|
|
3683
|
+
/***/ 65790:
|
|
3684
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3685
|
+
|
|
3686
|
+
|
|
3687
|
+
|
|
3688
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3689
|
+
Object.defineProperty(exports, "B", ({
|
|
3690
|
+
value: true
|
|
3691
|
+
}));
|
|
3692
|
+
exports.A = void 0;
|
|
3693
|
+
var _indexFull = __webpack_require__(56363);
|
|
3694
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
3695
|
+
var _default = exports.A = {
|
|
3696
|
+
name: "KqCheckboxGroup",
|
|
3697
|
+
defaultComponent: _indexFull.ElCheckboxGroup,
|
|
3698
|
+
mixins: [_render.default],
|
|
3699
|
+
setup(props, context) {
|
|
3700
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
3701
|
+
}
|
|
3702
|
+
};
|
|
3703
|
+
|
|
3704
|
+
/***/ }),
|
|
3705
|
+
|
|
3706
|
+
/***/ 66262:
|
|
3707
|
+
/***/ (function(__unused_webpack_module, exports) {
|
|
3708
|
+
|
|
3709
|
+
var __webpack_unused_export__;
|
|
3710
|
+
|
|
3711
|
+
__webpack_unused_export__ = ({ value: true });
|
|
3712
|
+
// runtime helper for setting properties on components
|
|
3713
|
+
// in a tree-shakable way
|
|
3714
|
+
exports.A = (sfc, props) => {
|
|
3715
|
+
const target = sfc.__vccOpts || sfc;
|
|
3716
|
+
for (const [key, val] of props) {
|
|
3717
|
+
target[key] = val;
|
|
3718
|
+
}
|
|
3719
|
+
return target;
|
|
3720
|
+
};
|
|
3721
|
+
|
|
3722
|
+
|
|
3723
|
+
/***/ }),
|
|
3724
|
+
|
|
3725
|
+
/***/ 67083:
|
|
3726
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3727
|
+
|
|
3728
|
+
|
|
3729
|
+
|
|
3730
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3731
|
+
Object.defineProperty(exports, "B", ({
|
|
3732
|
+
value: true
|
|
3733
|
+
}));
|
|
3734
|
+
exports.A = void 0;
|
|
3735
|
+
var _indexFull = __webpack_require__(56363);
|
|
3736
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
3737
|
+
var _default = exports.A = {
|
|
3738
|
+
name: "KqCheckboxButton",
|
|
3739
|
+
defaultComponent: _indexFull.ElCheckboxButton,
|
|
3740
|
+
mixins: [_render.default],
|
|
3741
|
+
setup(props, context) {
|
|
3742
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
3743
|
+
}
|
|
3744
|
+
};
|
|
3745
|
+
|
|
3746
|
+
/***/ }),
|
|
3747
|
+
|
|
3748
|
+
/***/ 68676:
|
|
3749
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3750
|
+
|
|
3751
|
+
|
|
3752
|
+
|
|
3753
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3754
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
3755
|
+
value: true
|
|
3756
|
+
}));
|
|
3757
|
+
Object.defineProperty(exports, "KqButtonGroup", ({
|
|
3758
|
+
enumerable: true,
|
|
3759
|
+
get: function () {
|
|
3760
|
+
return _Group.default;
|
|
3761
|
+
}
|
|
3762
|
+
}));
|
|
3763
|
+
Object.defineProperty(exports, "default", ({
|
|
3764
|
+
enumerable: true,
|
|
3765
|
+
get: function () {
|
|
3766
|
+
return _Button.default;
|
|
3767
|
+
}
|
|
3768
|
+
}));
|
|
3769
|
+
var _Button = _interopRequireDefault(__webpack_require__(31885));
|
|
3770
|
+
var _Group = _interopRequireDefault(__webpack_require__(39780));
|
|
3771
|
+
var _init = _interopRequireDefault(__webpack_require__(20455));
|
|
3772
|
+
var _KqGIS = __webpack_require__(99602);
|
|
3773
|
+
/*
|
|
3774
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
3775
|
+
* All rights reserved.
|
|
3776
|
+
*/
|
|
3777
|
+
|
|
3778
|
+
_Button.default.install = (Vue, opts) => {
|
|
3779
|
+
(0, _init.default)(Vue, opts);
|
|
3780
|
+
Vue.component(_Button.default.name, _Button.default);
|
|
3781
|
+
Vue.component(_Group.default.name, _Group.default);
|
|
3782
|
+
};
|
|
3783
|
+
_KqGIS.kq_npm_client_common_vue.KqButton = _Button.default;
|
|
3784
|
+
_KqGIS.kq_npm_client_common_vue.KqBreadcrumb = _Group.default;
|
|
3785
|
+
|
|
3786
|
+
/***/ }),
|
|
3787
|
+
|
|
3788
|
+
/***/ 71323:
|
|
3789
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3790
|
+
|
|
3791
|
+
|
|
3792
|
+
|
|
3793
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3794
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
3795
|
+
value: true
|
|
3796
|
+
}));
|
|
3797
|
+
exports["default"] = void 0;
|
|
3798
|
+
var _indexFull = __webpack_require__(56363);
|
|
3799
|
+
var _KqGIS = __webpack_require__(99602);
|
|
3800
|
+
var _init = _interopRequireDefault(__webpack_require__(20455));
|
|
3801
|
+
/*
|
|
3802
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
3803
|
+
* All rights reserved.
|
|
3804
|
+
*/
|
|
3805
|
+
|
|
3806
|
+
_indexFull.ElMessage.install = (Vue, opts) => {
|
|
3807
|
+
(0, _init.default)(Vue, opts);
|
|
3808
|
+
Vue.component("KqMessage", _indexFull.ElMessage);
|
|
3809
|
+
};
|
|
3810
|
+
var _default = exports["default"] = _indexFull.ElMessage;
|
|
3811
|
+
_KqGIS.kq_npm_client_common_vue.KqMessage = _indexFull.ElMessage;
|
|
3812
|
+
|
|
3813
|
+
/***/ }),
|
|
3814
|
+
|
|
3815
|
+
/***/ 74253:
|
|
3816
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3817
|
+
|
|
3818
|
+
// ESM COMPAT FLAG
|
|
3819
|
+
__webpack_require__.r(__webpack_exports__);
|
|
3820
|
+
|
|
3821
|
+
// EXPORTS
|
|
3822
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
3823
|
+
__esModule: function() { return /* reexport */ Dividervue_type_script_lang_js/* __esModule */.B; },
|
|
3824
|
+
"default": function() { return /* binding */ Divider; }
|
|
3825
|
+
});
|
|
3826
|
+
|
|
3827
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/divider/Divider.vue?vue&type=script&lang=js
|
|
3828
|
+
var Dividervue_type_script_lang_js = __webpack_require__(96991);
|
|
3829
|
+
;// ./src/common/_ui/divider/Divider.vue?vue&type=script&lang=js
|
|
3830
|
+
|
|
3831
|
+
;// ./src/common/_ui/divider/Divider.vue
|
|
3832
|
+
|
|
3833
|
+
|
|
3834
|
+
|
|
3835
|
+
const __exports__ = Dividervue_type_script_lang_js/* default */.A;
|
|
3836
|
+
|
|
3837
|
+
/* harmony default export */ var Divider = (__exports__);
|
|
3838
|
+
|
|
3839
|
+
/***/ }),
|
|
3840
|
+
|
|
3841
|
+
/***/ 74383:
|
|
3842
|
+
/***/ (function(module) {
|
|
3843
|
+
|
|
3844
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__74383__;
|
|
3845
|
+
|
|
3846
|
+
/***/ }),
|
|
3847
|
+
|
|
3848
|
+
/***/ 74703:
|
|
3849
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
3850
|
+
|
|
3851
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(76314);
|
|
3852
|
+
/* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
3853
|
+
// Imports
|
|
3854
|
+
|
|
3855
|
+
var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]});
|
|
3856
|
+
// Module
|
|
3857
|
+
___CSS_LOADER_EXPORT___.push([module.id, "\n.kq-laf-geometry-status[data-v-b3c8fafe] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 12px;\n margin: 10px 0;\n border-radius: 4px;\n background-color: #fef0f0;\n border: 1px solid #fde2e2;\n color: #f56c6c;\n font-size: 12px;\n}\n.kq-laf-geometry-status.has-geometry[data-v-b3c8fafe] {\n background-color: #f0f9eb;\n border-color: #e1f3d8;\n color: #67c23a;\n}\n.kq-laf-status-text[data-v-b3c8fafe] {\n flex: 1;\n}\n", ""]);
|
|
3858
|
+
// Exports
|
|
3859
|
+
/* harmony default export */ __webpack_exports__.A = (___CSS_LOADER_EXPORT___);
|
|
3860
|
+
|
|
3861
|
+
|
|
3862
|
+
/***/ }),
|
|
3863
|
+
|
|
3864
|
+
/***/ 75797:
|
|
3865
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3866
|
+
|
|
3867
|
+
|
|
3868
|
+
|
|
3869
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3870
|
+
Object.defineProperty(exports, "B", ({
|
|
3871
|
+
value: true
|
|
3872
|
+
}));
|
|
3873
|
+
exports.A = void 0;
|
|
3874
|
+
var _indexFull = __webpack_require__(56363);
|
|
3875
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
3876
|
+
var _vue = __webpack_require__(50154);
|
|
3877
|
+
var _default = exports.A = {
|
|
3878
|
+
name: "KqForm",
|
|
3879
|
+
defaultComponent: _indexFull.ElForm,
|
|
3880
|
+
mixins: [_render.default],
|
|
3881
|
+
setup(props, context) {
|
|
3882
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
3883
|
+
// ElForm.setup(props, context);
|
|
3884
|
+
}
|
|
3885
|
+
};
|
|
3886
|
+
|
|
3887
|
+
/***/ }),
|
|
3888
|
+
|
|
3889
|
+
/***/ 76314:
|
|
3890
|
+
/***/ (function(module) {
|
|
3891
|
+
|
|
3892
|
+
|
|
3893
|
+
|
|
3894
|
+
/*
|
|
3895
|
+
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
3896
|
+
Author Tobias Koppers @sokra
|
|
3897
|
+
*/
|
|
3898
|
+
// css base code, injected by the css-loader
|
|
3899
|
+
// eslint-disable-next-line func-names
|
|
3900
|
+
module.exports = function (cssWithMappingToString) {
|
|
3901
|
+
var list = []; // return the list of modules as css string
|
|
3902
|
+
|
|
3903
|
+
list.toString = function toString() {
|
|
3904
|
+
return this.map(function (item) {
|
|
3905
|
+
var content = cssWithMappingToString(item);
|
|
3906
|
+
|
|
3907
|
+
if (item[2]) {
|
|
3908
|
+
return "@media ".concat(item[2], " {").concat(content, "}");
|
|
3909
|
+
}
|
|
3910
|
+
|
|
3911
|
+
return content;
|
|
3912
|
+
}).join("");
|
|
3913
|
+
}; // import a list of modules into the list
|
|
3914
|
+
// eslint-disable-next-line func-names
|
|
3915
|
+
|
|
3916
|
+
|
|
3917
|
+
list.i = function (modules, mediaQuery, dedupe) {
|
|
3918
|
+
if (typeof modules === "string") {
|
|
3919
|
+
// eslint-disable-next-line no-param-reassign
|
|
3920
|
+
modules = [[null, modules, ""]];
|
|
3921
|
+
}
|
|
3922
|
+
|
|
3923
|
+
var alreadyImportedModules = {};
|
|
3924
|
+
|
|
3925
|
+
if (dedupe) {
|
|
3926
|
+
for (var i = 0; i < this.length; i++) {
|
|
3927
|
+
// eslint-disable-next-line prefer-destructuring
|
|
3928
|
+
var id = this[i][0];
|
|
3929
|
+
|
|
3930
|
+
if (id != null) {
|
|
3931
|
+
alreadyImportedModules[id] = true;
|
|
3932
|
+
}
|
|
3933
|
+
}
|
|
3934
|
+
}
|
|
3935
|
+
|
|
3936
|
+
for (var _i = 0; _i < modules.length; _i++) {
|
|
3937
|
+
var item = [].concat(modules[_i]);
|
|
3938
|
+
|
|
3939
|
+
if (dedupe && alreadyImportedModules[item[0]]) {
|
|
3940
|
+
// eslint-disable-next-line no-continue
|
|
3941
|
+
continue;
|
|
3942
|
+
}
|
|
3943
|
+
|
|
3944
|
+
if (mediaQuery) {
|
|
3945
|
+
if (!item[2]) {
|
|
3946
|
+
item[2] = mediaQuery;
|
|
3947
|
+
} else {
|
|
3948
|
+
item[2] = "".concat(mediaQuery, " and ").concat(item[2]);
|
|
3949
|
+
}
|
|
3950
|
+
}
|
|
3951
|
+
|
|
3952
|
+
list.push(item);
|
|
3953
|
+
}
|
|
3954
|
+
};
|
|
3955
|
+
|
|
3956
|
+
return list;
|
|
3957
|
+
};
|
|
3958
|
+
|
|
3959
|
+
/***/ }),
|
|
3960
|
+
|
|
3961
|
+
/***/ 77228:
|
|
3962
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
3963
|
+
|
|
3964
|
+
|
|
3965
|
+
|
|
3966
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
3967
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
3968
|
+
value: true
|
|
3969
|
+
}));
|
|
3970
|
+
exports["default"] = void 0;
|
|
3971
|
+
var _Input = _interopRequireDefault(__webpack_require__(39034));
|
|
3972
|
+
var _init = _interopRequireDefault(__webpack_require__(20455));
|
|
3973
|
+
var _KqGIS = __webpack_require__(99602);
|
|
3974
|
+
/*
|
|
3975
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
3976
|
+
* All rights reserved.
|
|
3977
|
+
*/
|
|
3978
|
+
|
|
3979
|
+
_Input.default.install = (Vue, opts) => {
|
|
3980
|
+
(0, _init.default)(Vue, opts);
|
|
3981
|
+
Vue.component(_Input.default.name, _Input.default);
|
|
3982
|
+
};
|
|
3983
|
+
var _default = exports["default"] = _Input.default;
|
|
3984
|
+
_KqGIS.kq_npm_client_common_vue.KqRadio = _Input.default;
|
|
3985
|
+
|
|
3986
|
+
/***/ }),
|
|
3987
|
+
|
|
3988
|
+
/***/ 77249:
|
|
3989
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
3990
|
+
|
|
3991
|
+
// ESM COMPAT FLAG
|
|
3992
|
+
__webpack_require__.r(__webpack_exports__);
|
|
3993
|
+
|
|
3994
|
+
// EXPORTS
|
|
3995
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
3996
|
+
__esModule: function() { return /* reexport */ Selectvue_type_script_lang_js/* __esModule */.B; },
|
|
3997
|
+
"default": function() { return /* binding */ Select; }
|
|
3998
|
+
});
|
|
3999
|
+
|
|
4000
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/select/Select.vue?vue&type=script&lang=js
|
|
4001
|
+
var Selectvue_type_script_lang_js = __webpack_require__(95109);
|
|
4002
|
+
;// ./src/common/_ui/select/Select.vue?vue&type=script&lang=js
|
|
4003
|
+
|
|
4004
|
+
;// ./src/common/_ui/select/Select.vue
|
|
4005
|
+
|
|
4006
|
+
|
|
4007
|
+
|
|
4008
|
+
const __exports__ = Selectvue_type_script_lang_js/* default */.A;
|
|
4009
|
+
|
|
4010
|
+
/* harmony default export */ var Select = (__exports__);
|
|
4011
|
+
|
|
4012
|
+
/***/ }),
|
|
4013
|
+
|
|
4014
|
+
/***/ 80881:
|
|
4015
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4016
|
+
|
|
4017
|
+
|
|
4018
|
+
|
|
4019
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
4020
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
4021
|
+
value: true
|
|
4022
|
+
}));
|
|
4023
|
+
exports["default"] = void 0;
|
|
4024
|
+
var _Icon = _interopRequireDefault(__webpack_require__(80979));
|
|
4025
|
+
var _init = _interopRequireDefault(__webpack_require__(20455));
|
|
4026
|
+
var _KqGIS = __webpack_require__(99602);
|
|
4027
|
+
/*
|
|
4028
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
4029
|
+
* All rights reserved.
|
|
4030
|
+
*/
|
|
4031
|
+
|
|
4032
|
+
_Icon.default.install = (Vue, opts) => {
|
|
4033
|
+
(0, _init.default)(Vue, opts);
|
|
4034
|
+
Vue.component(_Icon.default.name, _Icon.default);
|
|
4035
|
+
};
|
|
4036
|
+
var _default = exports["default"] = _Icon.default;
|
|
4037
|
+
_KqGIS.kq_npm_client_common_vue.KqIcon = _Icon.default;
|
|
4038
|
+
|
|
4039
|
+
/***/ }),
|
|
4040
|
+
|
|
4041
|
+
/***/ 80887:
|
|
4042
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4043
|
+
|
|
4044
|
+
|
|
4045
|
+
|
|
4046
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
4047
|
+
Object.defineProperty(exports, "B", ({
|
|
4048
|
+
value: true
|
|
4049
|
+
}));
|
|
4050
|
+
exports.A = void 0;
|
|
4051
|
+
var _indexFull = __webpack_require__(56363);
|
|
4052
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
4053
|
+
var _default = exports.A = {
|
|
4054
|
+
name: "KqIcon",
|
|
4055
|
+
defaultComponent: _indexFull.ElIcon,
|
|
4056
|
+
mixins: [_render.default],
|
|
4057
|
+
setup(props, context) {
|
|
4058
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
4059
|
+
}
|
|
4060
|
+
};
|
|
4061
|
+
|
|
4062
|
+
/***/ }),
|
|
4063
|
+
|
|
4064
|
+
/***/ 80979:
|
|
4065
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
4066
|
+
|
|
4067
|
+
// ESM COMPAT FLAG
|
|
4068
|
+
__webpack_require__.r(__webpack_exports__);
|
|
4069
|
+
|
|
4070
|
+
// EXPORTS
|
|
4071
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
4072
|
+
__esModule: function() { return /* reexport */ Iconvue_type_script_lang_js/* __esModule */.B; },
|
|
4073
|
+
"default": function() { return /* binding */ Icon; }
|
|
4074
|
+
});
|
|
4075
|
+
|
|
4076
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/icon/Icon.vue?vue&type=script&lang=js
|
|
4077
|
+
var Iconvue_type_script_lang_js = __webpack_require__(80887);
|
|
4078
|
+
;// ./src/common/_ui/icon/Icon.vue?vue&type=script&lang=js
|
|
4079
|
+
|
|
4080
|
+
;// ./src/common/_ui/icon/Icon.vue
|
|
4081
|
+
|
|
4082
|
+
|
|
4083
|
+
|
|
4084
|
+
const __exports__ = Iconvue_type_script_lang_js/* default */.A;
|
|
4085
|
+
|
|
4086
|
+
/* harmony default export */ var Icon = (__exports__);
|
|
4087
|
+
|
|
4088
|
+
/***/ }),
|
|
4089
|
+
|
|
4090
|
+
/***/ 81328:
|
|
4091
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4092
|
+
|
|
4093
|
+
|
|
4094
|
+
|
|
4095
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
4096
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
4097
|
+
value: true
|
|
4098
|
+
}));
|
|
4099
|
+
exports["default"] = void 0;
|
|
4100
|
+
var _indexFull = __webpack_require__(56363);
|
|
4101
|
+
var _init = _interopRequireDefault(__webpack_require__(20455));
|
|
4102
|
+
var _KqGIS = __webpack_require__(99602);
|
|
4103
|
+
/*
|
|
4104
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
4105
|
+
* All rights reserved.
|
|
4106
|
+
*/
|
|
4107
|
+
|
|
4108
|
+
_indexFull.ElMessageBox.install = (Vue, opts) => {
|
|
4109
|
+
(0, _init.default)(Vue, opts);
|
|
4110
|
+
Vue.component("KqMessageBox", _indexFull.ElMessageBox);
|
|
4111
|
+
};
|
|
4112
|
+
var _default = exports["default"] = _indexFull.ElMessageBox;
|
|
4113
|
+
_KqGIS.kq_npm_client_common_vue.KqMessageBox = _indexFull.ElMessageBox;
|
|
4114
|
+
|
|
4115
|
+
/***/ }),
|
|
4116
|
+
|
|
4117
|
+
/***/ 81751:
|
|
4118
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4119
|
+
|
|
4120
|
+
|
|
4121
|
+
|
|
4122
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
4123
|
+
Object.defineProperty(exports, "B", ({
|
|
4124
|
+
value: true
|
|
4125
|
+
}));
|
|
4126
|
+
exports.A = void 0;
|
|
4127
|
+
var _indexFull = __webpack_require__(56363);
|
|
4128
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
4129
|
+
var _default = exports.A = {
|
|
4130
|
+
name: "KqCheckbox",
|
|
4131
|
+
defaultComponent: _indexFull.ElCheckbox,
|
|
4132
|
+
mixins: [_render.default],
|
|
4133
|
+
setup(props, context) {
|
|
4134
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
4135
|
+
}
|
|
4136
|
+
};
|
|
4137
|
+
|
|
4138
|
+
/***/ }),
|
|
4139
|
+
|
|
4140
|
+
/***/ 85061:
|
|
4141
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
4142
|
+
|
|
4143
|
+
// ESM COMPAT FLAG
|
|
4144
|
+
__webpack_require__.r(__webpack_exports__);
|
|
4145
|
+
|
|
4146
|
+
// EXPORTS
|
|
4147
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
4148
|
+
__esModule: function() { return /* reexport */ CheckboxButtonvue_type_script_lang_js/* __esModule */.B; },
|
|
4149
|
+
"default": function() { return /* binding */ CheckboxButton; }
|
|
4150
|
+
});
|
|
4151
|
+
|
|
4152
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/checkbox/CheckboxButton.vue?vue&type=script&lang=js
|
|
4153
|
+
var CheckboxButtonvue_type_script_lang_js = __webpack_require__(67083);
|
|
4154
|
+
;// ./src/common/_ui/checkbox/CheckboxButton.vue?vue&type=script&lang=js
|
|
4155
|
+
|
|
4156
|
+
;// ./src/common/_ui/checkbox/CheckboxButton.vue
|
|
4157
|
+
|
|
4158
|
+
|
|
4159
|
+
|
|
4160
|
+
const __exports__ = CheckboxButtonvue_type_script_lang_js/* default */.A;
|
|
4161
|
+
|
|
4162
|
+
/* harmony default export */ var CheckboxButton = (__exports__);
|
|
4163
|
+
|
|
4164
|
+
/***/ }),
|
|
4165
|
+
|
|
4166
|
+
/***/ 85072:
|
|
4167
|
+
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
4168
|
+
|
|
4169
|
+
|
|
4170
|
+
|
|
4171
|
+
var isOldIE = function isOldIE() {
|
|
4172
|
+
var memo;
|
|
4173
|
+
return function memorize() {
|
|
4174
|
+
if (typeof memo === 'undefined') {
|
|
4175
|
+
// Test for IE <= 9 as proposed by Browserhacks
|
|
4176
|
+
// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
|
|
4177
|
+
// Tests for existence of standard globals is to allow style-loader
|
|
4178
|
+
// to operate correctly into non-standard environments
|
|
4179
|
+
// @see https://github.com/webpack-contrib/style-loader/issues/177
|
|
4180
|
+
memo = Boolean(window && document && document.all && !window.atob);
|
|
4181
|
+
}
|
|
4182
|
+
|
|
4183
|
+
return memo;
|
|
4184
|
+
};
|
|
4185
|
+
}();
|
|
4186
|
+
|
|
4187
|
+
var getTarget = function getTarget() {
|
|
4188
|
+
var memo = {};
|
|
4189
|
+
return function memorize(target) {
|
|
4190
|
+
if (typeof memo[target] === 'undefined') {
|
|
4191
|
+
var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself
|
|
4192
|
+
|
|
4193
|
+
if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
|
|
4194
|
+
try {
|
|
4195
|
+
// This will throw an exception if access to iframe is blocked
|
|
4196
|
+
// due to cross-origin restrictions
|
|
4197
|
+
styleTarget = styleTarget.contentDocument.head;
|
|
4198
|
+
} catch (e) {
|
|
4199
|
+
// istanbul ignore next
|
|
4200
|
+
styleTarget = null;
|
|
4201
|
+
}
|
|
4202
|
+
}
|
|
4203
|
+
|
|
4204
|
+
memo[target] = styleTarget;
|
|
4205
|
+
}
|
|
4206
|
+
|
|
4207
|
+
return memo[target];
|
|
4208
|
+
};
|
|
4209
|
+
}();
|
|
4210
|
+
|
|
4211
|
+
var stylesInDom = [];
|
|
4212
|
+
|
|
4213
|
+
function getIndexByIdentifier(identifier) {
|
|
4214
|
+
var result = -1;
|
|
4215
|
+
|
|
4216
|
+
for (var i = 0; i < stylesInDom.length; i++) {
|
|
4217
|
+
if (stylesInDom[i].identifier === identifier) {
|
|
4218
|
+
result = i;
|
|
4219
|
+
break;
|
|
4220
|
+
}
|
|
4221
|
+
}
|
|
4222
|
+
|
|
4223
|
+
return result;
|
|
4224
|
+
}
|
|
4225
|
+
|
|
4226
|
+
function modulesToDom(list, options) {
|
|
4227
|
+
var idCountMap = {};
|
|
4228
|
+
var identifiers = [];
|
|
4229
|
+
|
|
4230
|
+
for (var i = 0; i < list.length; i++) {
|
|
4231
|
+
var item = list[i];
|
|
4232
|
+
var id = options.base ? item[0] + options.base : item[0];
|
|
4233
|
+
var count = idCountMap[id] || 0;
|
|
4234
|
+
var identifier = "".concat(id, " ").concat(count);
|
|
4235
|
+
idCountMap[id] = count + 1;
|
|
4236
|
+
var index = getIndexByIdentifier(identifier);
|
|
4237
|
+
var obj = {
|
|
4238
|
+
css: item[1],
|
|
4239
|
+
media: item[2],
|
|
4240
|
+
sourceMap: item[3]
|
|
4241
|
+
};
|
|
4242
|
+
|
|
4243
|
+
if (index !== -1) {
|
|
4244
|
+
stylesInDom[index].references++;
|
|
4245
|
+
stylesInDom[index].updater(obj);
|
|
4246
|
+
} else {
|
|
4247
|
+
stylesInDom.push({
|
|
4248
|
+
identifier: identifier,
|
|
4249
|
+
updater: addStyle(obj, options),
|
|
4250
|
+
references: 1
|
|
4251
|
+
});
|
|
4252
|
+
}
|
|
4253
|
+
|
|
4254
|
+
identifiers.push(identifier);
|
|
4255
|
+
}
|
|
4256
|
+
|
|
4257
|
+
return identifiers;
|
|
4258
|
+
}
|
|
4259
|
+
|
|
4260
|
+
function insertStyleElement(options) {
|
|
4261
|
+
var style = document.createElement('style');
|
|
4262
|
+
var attributes = options.attributes || {};
|
|
4263
|
+
|
|
4264
|
+
if (typeof attributes.nonce === 'undefined') {
|
|
4265
|
+
var nonce = true ? __webpack_require__.nc : 0;
|
|
4266
|
+
|
|
4267
|
+
if (nonce) {
|
|
4268
|
+
attributes.nonce = nonce;
|
|
4269
|
+
}
|
|
4270
|
+
}
|
|
4271
|
+
|
|
4272
|
+
Object.keys(attributes).forEach(function (key) {
|
|
4273
|
+
style.setAttribute(key, attributes[key]);
|
|
4274
|
+
});
|
|
4275
|
+
|
|
4276
|
+
if (typeof options.insert === 'function') {
|
|
4277
|
+
options.insert(style);
|
|
4278
|
+
} else {
|
|
4279
|
+
var target = getTarget(options.insert || 'head');
|
|
4280
|
+
|
|
4281
|
+
if (!target) {
|
|
4282
|
+
throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");
|
|
4283
|
+
}
|
|
4284
|
+
|
|
4285
|
+
target.appendChild(style);
|
|
4286
|
+
}
|
|
4287
|
+
|
|
4288
|
+
return style;
|
|
4289
|
+
}
|
|
4290
|
+
|
|
4291
|
+
function removeStyleElement(style) {
|
|
4292
|
+
// istanbul ignore if
|
|
4293
|
+
if (style.parentNode === null) {
|
|
4294
|
+
return false;
|
|
4295
|
+
}
|
|
4296
|
+
|
|
4297
|
+
style.parentNode.removeChild(style);
|
|
4298
|
+
}
|
|
4299
|
+
/* istanbul ignore next */
|
|
4300
|
+
|
|
4301
|
+
|
|
4302
|
+
var replaceText = function replaceText() {
|
|
4303
|
+
var textStore = [];
|
|
4304
|
+
return function replace(index, replacement) {
|
|
4305
|
+
textStore[index] = replacement;
|
|
4306
|
+
return textStore.filter(Boolean).join('\n');
|
|
4307
|
+
};
|
|
4308
|
+
}();
|
|
4309
|
+
|
|
4310
|
+
function applyToSingletonTag(style, index, remove, obj) {
|
|
4311
|
+
var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE
|
|
4312
|
+
|
|
4313
|
+
/* istanbul ignore if */
|
|
4314
|
+
|
|
4315
|
+
if (style.styleSheet) {
|
|
4316
|
+
style.styleSheet.cssText = replaceText(index, css);
|
|
4317
|
+
} else {
|
|
4318
|
+
var cssNode = document.createTextNode(css);
|
|
4319
|
+
var childNodes = style.childNodes;
|
|
4320
|
+
|
|
4321
|
+
if (childNodes[index]) {
|
|
4322
|
+
style.removeChild(childNodes[index]);
|
|
4323
|
+
}
|
|
4324
|
+
|
|
4325
|
+
if (childNodes.length) {
|
|
4326
|
+
style.insertBefore(cssNode, childNodes[index]);
|
|
4327
|
+
} else {
|
|
4328
|
+
style.appendChild(cssNode);
|
|
4329
|
+
}
|
|
4330
|
+
}
|
|
4331
|
+
}
|
|
4332
|
+
|
|
4333
|
+
function applyToTag(style, options, obj) {
|
|
4334
|
+
var css = obj.css;
|
|
4335
|
+
var media = obj.media;
|
|
4336
|
+
var sourceMap = obj.sourceMap;
|
|
4337
|
+
|
|
4338
|
+
if (media) {
|
|
4339
|
+
style.setAttribute('media', media);
|
|
4340
|
+
} else {
|
|
4341
|
+
style.removeAttribute('media');
|
|
4342
|
+
}
|
|
4343
|
+
|
|
4344
|
+
if (sourceMap && typeof btoa !== 'undefined') {
|
|
4345
|
+
css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");
|
|
4346
|
+
} // For old IE
|
|
4347
|
+
|
|
4348
|
+
/* istanbul ignore if */
|
|
4349
|
+
|
|
4350
|
+
|
|
4351
|
+
if (style.styleSheet) {
|
|
4352
|
+
style.styleSheet.cssText = css;
|
|
4353
|
+
} else {
|
|
4354
|
+
while (style.firstChild) {
|
|
4355
|
+
style.removeChild(style.firstChild);
|
|
4356
|
+
}
|
|
4357
|
+
|
|
4358
|
+
style.appendChild(document.createTextNode(css));
|
|
4359
|
+
}
|
|
4360
|
+
}
|
|
4361
|
+
|
|
4362
|
+
var singleton = null;
|
|
4363
|
+
var singletonCounter = 0;
|
|
4364
|
+
|
|
4365
|
+
function addStyle(obj, options) {
|
|
4366
|
+
var style;
|
|
4367
|
+
var update;
|
|
4368
|
+
var remove;
|
|
4369
|
+
|
|
4370
|
+
if (options.singleton) {
|
|
4371
|
+
var styleIndex = singletonCounter++;
|
|
4372
|
+
style = singleton || (singleton = insertStyleElement(options));
|
|
4373
|
+
update = applyToSingletonTag.bind(null, style, styleIndex, false);
|
|
4374
|
+
remove = applyToSingletonTag.bind(null, style, styleIndex, true);
|
|
4375
|
+
} else {
|
|
4376
|
+
style = insertStyleElement(options);
|
|
4377
|
+
update = applyToTag.bind(null, style, options);
|
|
4378
|
+
|
|
4379
|
+
remove = function remove() {
|
|
4380
|
+
removeStyleElement(style);
|
|
4381
|
+
};
|
|
4382
|
+
}
|
|
4383
|
+
|
|
4384
|
+
update(obj);
|
|
4385
|
+
return function updateStyle(newObj) {
|
|
4386
|
+
if (newObj) {
|
|
4387
|
+
if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {
|
|
4388
|
+
return;
|
|
4389
|
+
}
|
|
4390
|
+
|
|
4391
|
+
update(obj = newObj);
|
|
4392
|
+
} else {
|
|
4393
|
+
remove();
|
|
4394
|
+
}
|
|
4395
|
+
};
|
|
4396
|
+
}
|
|
4397
|
+
|
|
4398
|
+
module.exports = function (list, options) {
|
|
4399
|
+
options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>
|
|
4400
|
+
// tags it will allow on a page
|
|
4401
|
+
|
|
4402
|
+
if (!options.singleton && typeof options.singleton !== 'boolean') {
|
|
4403
|
+
options.singleton = isOldIE();
|
|
4404
|
+
}
|
|
4405
|
+
|
|
4406
|
+
list = list || [];
|
|
4407
|
+
var lastIdentifiers = modulesToDom(list, options);
|
|
4408
|
+
return function update(newList) {
|
|
4409
|
+
newList = newList || [];
|
|
4410
|
+
|
|
4411
|
+
if (Object.prototype.toString.call(newList) !== '[object Array]') {
|
|
4412
|
+
return;
|
|
4413
|
+
}
|
|
4414
|
+
|
|
4415
|
+
for (var i = 0; i < lastIdentifiers.length; i++) {
|
|
4416
|
+
var identifier = lastIdentifiers[i];
|
|
4417
|
+
var index = getIndexByIdentifier(identifier);
|
|
4418
|
+
stylesInDom[index].references--;
|
|
4419
|
+
}
|
|
4420
|
+
|
|
4421
|
+
var newLastIdentifiers = modulesToDom(newList, options);
|
|
4422
|
+
|
|
4423
|
+
for (var _i = 0; _i < lastIdentifiers.length; _i++) {
|
|
4424
|
+
var _identifier = lastIdentifiers[_i];
|
|
4425
|
+
|
|
4426
|
+
var _index = getIndexByIdentifier(_identifier);
|
|
4427
|
+
|
|
4428
|
+
if (stylesInDom[_index].references === 0) {
|
|
4429
|
+
stylesInDom[_index].updater();
|
|
4430
|
+
|
|
4431
|
+
stylesInDom.splice(_index, 1);
|
|
4432
|
+
}
|
|
4433
|
+
}
|
|
4434
|
+
|
|
4435
|
+
lastIdentifiers = newLastIdentifiers;
|
|
4436
|
+
};
|
|
4437
|
+
};
|
|
4438
|
+
|
|
4439
|
+
/***/ }),
|
|
4440
|
+
|
|
4441
|
+
/***/ 85790:
|
|
4442
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
4443
|
+
|
|
4444
|
+
// ESM COMPAT FLAG
|
|
4445
|
+
__webpack_require__.r(__webpack_exports__);
|
|
4446
|
+
|
|
4447
|
+
// EXPORTS
|
|
4448
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
4449
|
+
__esModule: function() { return /* reexport */ Checkboxvue_type_script_lang_js/* __esModule */.B; },
|
|
4450
|
+
"default": function() { return /* binding */ Checkbox; }
|
|
4451
|
+
});
|
|
4452
|
+
|
|
4453
|
+
// EXTERNAL MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-1.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/common/_ui/checkbox/Checkbox.vue?vue&type=script&lang=js
|
|
4454
|
+
var Checkboxvue_type_script_lang_js = __webpack_require__(81751);
|
|
4455
|
+
;// ./src/common/_ui/checkbox/Checkbox.vue?vue&type=script&lang=js
|
|
4456
|
+
|
|
4457
|
+
;// ./src/common/_ui/checkbox/Checkbox.vue
|
|
4458
|
+
|
|
4459
|
+
|
|
4460
|
+
|
|
4461
|
+
const __exports__ = Checkboxvue_type_script_lang_js/* default */.A;
|
|
4462
|
+
|
|
4463
|
+
/* harmony default export */ var Checkbox = (__exports__);
|
|
4464
|
+
|
|
4465
|
+
/***/ }),
|
|
4466
|
+
|
|
4467
|
+
/***/ 88897:
|
|
4468
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4469
|
+
|
|
4470
|
+
|
|
4471
|
+
|
|
4472
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
4473
|
+
Object.defineProperty(exports, "B", ({
|
|
4474
|
+
value: true
|
|
4475
|
+
}));
|
|
4476
|
+
exports.A = void 0;
|
|
4477
|
+
var _indexFull = __webpack_require__(56363);
|
|
4478
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
4479
|
+
var _default = exports.A = {
|
|
4480
|
+
name: "KqOptionGroup",
|
|
4481
|
+
defaultComponent: _indexFull.ElOptionGroup,
|
|
4482
|
+
mixins: [_render.default],
|
|
4483
|
+
setup(props, context) {
|
|
4484
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
4485
|
+
}
|
|
4486
|
+
};
|
|
4487
|
+
|
|
4488
|
+
/***/ }),
|
|
4489
|
+
|
|
4490
|
+
/***/ 89393:
|
|
4491
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4492
|
+
|
|
4493
|
+
|
|
4494
|
+
|
|
4495
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
4496
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
4497
|
+
value: true
|
|
4498
|
+
}));
|
|
4499
|
+
exports["default"] = void 0;
|
|
4500
|
+
var _Upload = _interopRequireDefault(__webpack_require__(63685));
|
|
4501
|
+
var _init = _interopRequireDefault(__webpack_require__(20455));
|
|
4502
|
+
var _KqGIS = __webpack_require__(99602);
|
|
4503
|
+
/*
|
|
4504
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
4505
|
+
* All rights reserved.
|
|
4506
|
+
*/
|
|
4507
|
+
|
|
4508
|
+
_Upload.default.install = (Vue, opts) => {
|
|
4509
|
+
(0, _init.default)(Vue, opts);
|
|
4510
|
+
Vue.component(_Upload.default.name, _Upload.default);
|
|
4511
|
+
};
|
|
4512
|
+
var _default = exports["default"] = _Upload.default;
|
|
4513
|
+
_KqGIS.kq_npm_client_common_vue.KqUpload = _Upload.default;
|
|
4514
|
+
|
|
4515
|
+
/***/ }),
|
|
4516
|
+
|
|
4517
|
+
/***/ 91039:
|
|
4518
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4519
|
+
|
|
4520
|
+
|
|
4521
|
+
|
|
4522
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
4523
|
+
Object.defineProperty(exports, "B", ({
|
|
4524
|
+
value: true
|
|
4525
|
+
}));
|
|
4526
|
+
exports.A = void 0;
|
|
4527
|
+
var _indexFull = __webpack_require__(56363);
|
|
4528
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
4529
|
+
var _default = exports.A = {
|
|
4530
|
+
name: "KqUpload",
|
|
4531
|
+
defaultComponent: _indexFull.ElUpload,
|
|
4532
|
+
mixins: [_render.default],
|
|
4533
|
+
setup(props, context) {
|
|
4534
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
4535
|
+
}
|
|
4536
|
+
};
|
|
4537
|
+
|
|
4538
|
+
/***/ }),
|
|
4539
|
+
|
|
4540
|
+
/***/ 92936:
|
|
4541
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4542
|
+
|
|
4543
|
+
|
|
4544
|
+
|
|
4545
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
4546
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
4547
|
+
value: true
|
|
4548
|
+
}));
|
|
4549
|
+
Object.defineProperty(exports, "KqOption", ({
|
|
4550
|
+
enumerable: true,
|
|
4551
|
+
get: function () {
|
|
4552
|
+
return _Option.default;
|
|
4553
|
+
}
|
|
4554
|
+
}));
|
|
4555
|
+
Object.defineProperty(exports, "KqOptionGroup", ({
|
|
4556
|
+
enumerable: true,
|
|
4557
|
+
get: function () {
|
|
4558
|
+
return _OptionGroup.default;
|
|
4559
|
+
}
|
|
4560
|
+
}));
|
|
4561
|
+
Object.defineProperty(exports, "default", ({
|
|
4562
|
+
enumerable: true,
|
|
4563
|
+
get: function () {
|
|
4564
|
+
return _Select.default;
|
|
4565
|
+
}
|
|
4566
|
+
}));
|
|
4567
|
+
var _Select = _interopRequireDefault(__webpack_require__(77249));
|
|
4568
|
+
var _Option = _interopRequireDefault(__webpack_require__(44763));
|
|
4569
|
+
var _OptionGroup = _interopRequireDefault(__webpack_require__(33670));
|
|
4570
|
+
var _init = _interopRequireDefault(__webpack_require__(20455));
|
|
4571
|
+
var _KqGIS = __webpack_require__(99602);
|
|
4572
|
+
/*
|
|
4573
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
4574
|
+
* All rights reserved.
|
|
4575
|
+
*/
|
|
4576
|
+
|
|
4577
|
+
_Select.default.install = (Vue, opts) => {
|
|
4578
|
+
(0, _init.default)(Vue, opts);
|
|
4579
|
+
Vue.component(_Select.default.name, _Select.default);
|
|
4580
|
+
Vue.component(_Option.default.name, _Option.default);
|
|
4581
|
+
Vue.component(_OptionGroup.default.name, _OptionGroup.default);
|
|
4582
|
+
};
|
|
4583
|
+
_KqGIS.kq_npm_client_common_vue.KqSelect = _Select.default;
|
|
4584
|
+
_KqGIS.kq_npm_client_common_vue.KqOption = _Option.default;
|
|
4585
|
+
_KqGIS.kq_npm_client_common_vue.KqOptionGroup = _OptionGroup.default;
|
|
4586
|
+
|
|
4587
|
+
/***/ }),
|
|
4588
|
+
|
|
4589
|
+
/***/ 95109:
|
|
4590
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4591
|
+
|
|
4592
|
+
|
|
4593
|
+
|
|
4594
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
4595
|
+
Object.defineProperty(exports, "B", ({
|
|
4596
|
+
value: true
|
|
4597
|
+
}));
|
|
4598
|
+
exports.A = void 0;
|
|
4599
|
+
var _indexFull = __webpack_require__(56363);
|
|
4600
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
4601
|
+
var _default = exports.A = {
|
|
4602
|
+
name: "KqSelect",
|
|
4603
|
+
defaultComponent: _indexFull.ElSelect,
|
|
4604
|
+
mixins: [_render.default],
|
|
4605
|
+
setup(props, context) {
|
|
4606
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
4607
|
+
}
|
|
4608
|
+
};
|
|
4609
|
+
|
|
4610
|
+
/***/ }),
|
|
4611
|
+
|
|
4612
|
+
/***/ 95765:
|
|
4613
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4614
|
+
|
|
4615
|
+
|
|
4616
|
+
|
|
4617
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
4618
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
4619
|
+
value: true
|
|
4620
|
+
}));
|
|
4621
|
+
exports["default"] = void 0;
|
|
4622
|
+
var _Slider = _interopRequireDefault(__webpack_require__(28238));
|
|
4623
|
+
var _init = _interopRequireDefault(__webpack_require__(20455));
|
|
4624
|
+
var _KqGIS = __webpack_require__(99602);
|
|
4625
|
+
/*
|
|
4626
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
4627
|
+
* All rights reserved.
|
|
4628
|
+
*/
|
|
4629
|
+
|
|
4630
|
+
_Slider.default.install = (Vue, opts) => {
|
|
4631
|
+
(0, _init.default)(Vue, opts);
|
|
4632
|
+
Vue.component(_Slider.default.name, _Slider.default);
|
|
4633
|
+
};
|
|
4634
|
+
var _default = exports["default"] = _Slider.default;
|
|
4635
|
+
_KqGIS.kq_npm_client_common_vue.KqSlider = _Slider.default;
|
|
4636
|
+
|
|
4637
|
+
/***/ }),
|
|
4638
|
+
|
|
4639
|
+
/***/ 95857:
|
|
4640
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4641
|
+
|
|
4642
|
+
|
|
4643
|
+
|
|
4644
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
4645
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
4646
|
+
value: true
|
|
4647
|
+
}));
|
|
4648
|
+
Object.defineProperty(exports, "KqCheckboxButton", ({
|
|
4649
|
+
enumerable: true,
|
|
4650
|
+
get: function () {
|
|
4651
|
+
return _CheckboxButton.default;
|
|
4652
|
+
}
|
|
4653
|
+
}));
|
|
4654
|
+
Object.defineProperty(exports, "KqCheckboxGroup", ({
|
|
4655
|
+
enumerable: true,
|
|
4656
|
+
get: function () {
|
|
4657
|
+
return _CheckboxGroup.default;
|
|
4658
|
+
}
|
|
4659
|
+
}));
|
|
4660
|
+
Object.defineProperty(exports, "default", ({
|
|
4661
|
+
enumerable: true,
|
|
4662
|
+
get: function () {
|
|
4663
|
+
return _Checkbox.default;
|
|
4664
|
+
}
|
|
4665
|
+
}));
|
|
4666
|
+
var _Checkbox = _interopRequireDefault(__webpack_require__(85790));
|
|
4667
|
+
var _CheckboxButton = _interopRequireDefault(__webpack_require__(85061));
|
|
4668
|
+
var _CheckboxGroup = _interopRequireDefault(__webpack_require__(47193));
|
|
4669
|
+
var _init = _interopRequireDefault(__webpack_require__(20455));
|
|
4670
|
+
var _KqGIS = __webpack_require__(99602);
|
|
4671
|
+
/*
|
|
4672
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
4673
|
+
* All rights reserved.
|
|
4674
|
+
*/
|
|
4675
|
+
|
|
4676
|
+
_Checkbox.default.install = (Vue, opts) => {
|
|
4677
|
+
(0, _init.default)(Vue, opts);
|
|
4678
|
+
Vue.component(_Checkbox.default.name, _Checkbox.default);
|
|
4679
|
+
Vue.component(_CheckboxButton.default.name, _CheckboxButton.default);
|
|
4680
|
+
Vue.component(_CheckboxGroup.default.name, _CheckboxGroup.default);
|
|
4681
|
+
};
|
|
4682
|
+
_KqGIS.kq_npm_client_common_vue.KqCheckbox = _Checkbox.default;
|
|
4683
|
+
_KqGIS.kq_npm_client_common_vue.KqCheckboxButton = _CheckboxButton.default;
|
|
4684
|
+
_KqGIS.kq_npm_client_common_vue.KqCheckboxGroup = _CheckboxGroup.default;
|
|
4685
|
+
|
|
4686
|
+
/***/ }),
|
|
4687
|
+
|
|
4688
|
+
/***/ 96991:
|
|
4689
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4690
|
+
|
|
4691
|
+
|
|
4692
|
+
|
|
4693
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
4694
|
+
Object.defineProperty(exports, "B", ({
|
|
4695
|
+
value: true
|
|
4696
|
+
}));
|
|
4697
|
+
exports.A = void 0;
|
|
4698
|
+
var _indexFull = __webpack_require__(56363);
|
|
4699
|
+
var _render = _interopRequireDefault(__webpack_require__(74383));
|
|
4700
|
+
var _default = exports.A = {
|
|
4701
|
+
name: "KqDivider",
|
|
4702
|
+
defaultComponent: _indexFull.ElDivider,
|
|
4703
|
+
mixins: [_render.default],
|
|
4704
|
+
setup(props, context) {
|
|
4705
|
+
_render.default.setup && _render.default.setup(props, context);
|
|
4706
|
+
}
|
|
4707
|
+
};
|
|
4708
|
+
|
|
4709
|
+
/***/ }),
|
|
4710
|
+
|
|
4711
|
+
/***/ 99602:
|
|
4712
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
|
4713
|
+
|
|
4714
|
+
|
|
4715
|
+
|
|
4716
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
4717
|
+
value: true
|
|
4718
|
+
}));
|
|
4719
|
+
exports.kq_npm_client_leaflet_vue = exports.kq_npm_client_common_vue = exports.kq_npm_client3d_webgl_vue = void 0;
|
|
4720
|
+
let kq_npm_client_common_vue = exports.kq_npm_client_common_vue = window.kq_npm_client_common_vue = window.kq_npm_client_common_vue || {};
|
|
4721
|
+
__webpack_require__.g.kq_npm_client_common_vue = kq_npm_client_common_vue;
|
|
4722
|
+
let kq_npm_client_leaflet_vue = exports.kq_npm_client_leaflet_vue = window.kq_npm_client_leaflet_vue = window.kq_npm_client_leaflet_vue || {};
|
|
4723
|
+
__webpack_require__.g.kq_npm_client_leaflet_vue = kq_npm_client_leaflet_vue;
|
|
4724
|
+
let kq_npm_client3d_webgl_vue = exports.kq_npm_client3d_webgl_vue = window.kq_npm_client3d_webgl_vue = window.kq_npm_client3d_webgl_vue || {};
|
|
4725
|
+
__webpack_require__.g.kq_npm_client3d_webgl_vue = kq_npm_client3d_webgl_vue;
|
|
4726
|
+
|
|
4727
|
+
/***/ })
|
|
4728
|
+
|
|
4729
|
+
/******/ });
|
|
4730
|
+
/************************************************************************/
|
|
4731
|
+
/******/ // The module cache
|
|
4732
|
+
/******/ var __webpack_module_cache__ = {};
|
|
4733
|
+
/******/
|
|
4734
|
+
/******/ // The require function
|
|
4735
|
+
/******/ function __webpack_require__(moduleId) {
|
|
4736
|
+
/******/ // Check if module is in cache
|
|
4737
|
+
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
|
4738
|
+
/******/ if (cachedModule !== undefined) {
|
|
4739
|
+
/******/ return cachedModule.exports;
|
|
4740
|
+
/******/ }
|
|
4741
|
+
/******/ // Create a new module (and put it into the cache)
|
|
4742
|
+
/******/ var module = __webpack_module_cache__[moduleId] = {
|
|
4743
|
+
/******/ id: moduleId,
|
|
4744
|
+
/******/ // no module.loaded needed
|
|
4745
|
+
/******/ exports: {}
|
|
4746
|
+
/******/ };
|
|
4747
|
+
/******/
|
|
4748
|
+
/******/ // Execute the module function
|
|
4749
|
+
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
4750
|
+
/******/
|
|
4751
|
+
/******/ // Return the exports of the module
|
|
4752
|
+
/******/ return module.exports;
|
|
4753
|
+
/******/ }
|
|
4754
|
+
/******/
|
|
4755
|
+
/************************************************************************/
|
|
4756
|
+
/******/ /* webpack/runtime/compat get default export */
|
|
4757
|
+
/******/ !function() {
|
|
4758
|
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
4759
|
+
/******/ __webpack_require__.n = function(module) {
|
|
4760
|
+
/******/ var getter = module && module.__esModule ?
|
|
4761
|
+
/******/ function() { return module['default']; } :
|
|
4762
|
+
/******/ function() { return module; };
|
|
4763
|
+
/******/ __webpack_require__.d(getter, { a: getter });
|
|
4764
|
+
/******/ return getter;
|
|
4765
|
+
/******/ };
|
|
4766
|
+
/******/ }();
|
|
4767
|
+
/******/
|
|
4768
|
+
/******/ /* webpack/runtime/define property getters */
|
|
4769
|
+
/******/ !function() {
|
|
4770
|
+
/******/ // define getter functions for harmony exports
|
|
4771
|
+
/******/ __webpack_require__.d = function(exports, definition) {
|
|
4772
|
+
/******/ for(var key in definition) {
|
|
4773
|
+
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
|
4774
|
+
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
|
4775
|
+
/******/ }
|
|
4776
|
+
/******/ }
|
|
4777
|
+
/******/ };
|
|
4778
|
+
/******/ }();
|
|
4779
|
+
/******/
|
|
4780
|
+
/******/ /* webpack/runtime/global */
|
|
4781
|
+
/******/ !function() {
|
|
4782
|
+
/******/ __webpack_require__.g = (function() {
|
|
4783
|
+
/******/ if (typeof globalThis === 'object') return globalThis;
|
|
4784
|
+
/******/ try {
|
|
4785
|
+
/******/ return this || new Function('return this')();
|
|
4786
|
+
/******/ } catch (e) {
|
|
4787
|
+
/******/ if (typeof window === 'object') return window;
|
|
4788
|
+
/******/ }
|
|
4789
|
+
/******/ })();
|
|
4790
|
+
/******/ }();
|
|
4791
|
+
/******/
|
|
4792
|
+
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
4793
|
+
/******/ !function() {
|
|
4794
|
+
/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
|
|
4795
|
+
/******/ }();
|
|
4796
|
+
/******/
|
|
4797
|
+
/******/ /* webpack/runtime/make namespace object */
|
|
4798
|
+
/******/ !function() {
|
|
4799
|
+
/******/ // define __esModule on exports
|
|
4800
|
+
/******/ __webpack_require__.r = function(exports) {
|
|
4801
|
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
4802
|
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4803
|
+
/******/ }
|
|
4804
|
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
4805
|
+
/******/ };
|
|
4806
|
+
/******/ }();
|
|
4807
|
+
/******/
|
|
4808
|
+
/******/ /* webpack/runtime/nonce */
|
|
4809
|
+
/******/ !function() {
|
|
4810
|
+
/******/ __webpack_require__.nc = undefined;
|
|
4811
|
+
/******/ }();
|
|
4812
|
+
/******/
|
|
4813
|
+
/************************************************************************/
|
|
4814
|
+
var __webpack_exports__ = {};
|
|
4815
|
+
// This entry needs to be wrapped in an IIFE because it uses a non-standard name for the exports (exports).
|
|
4816
|
+
!function() {
|
|
4817
|
+
var exports = __webpack_exports__;
|
|
4818
|
+
|
|
4819
|
+
|
|
4820
|
+
var _interopRequireDefault = __webpack_require__(33751);
|
|
4821
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
4822
|
+
value: true
|
|
4823
|
+
}));
|
|
4824
|
+
Object.defineProperty(exports, "LowAltitudeFeatureViewModel", ({
|
|
4825
|
+
enumerable: true,
|
|
4826
|
+
get: function () {
|
|
4827
|
+
return _LowAltitudeFeatureViewModel.default;
|
|
4828
|
+
}
|
|
4829
|
+
}));
|
|
4830
|
+
Object.defineProperty(exports, "default", ({
|
|
4831
|
+
enumerable: true,
|
|
4832
|
+
get: function () {
|
|
4833
|
+
return _LowAltitudeFeature.default;
|
|
4834
|
+
}
|
|
4835
|
+
}));
|
|
4836
|
+
var _LowAltitudeFeature = _interopRequireDefault(__webpack_require__(11583));
|
|
4837
|
+
var _LowAltitudeFeatureViewModel = _interopRequireDefault(__webpack_require__(4494));
|
|
4838
|
+
var _init = _interopRequireDefault(__webpack_require__(20455));
|
|
4839
|
+
/*
|
|
4840
|
+
* Copyright (C) 2019 KQ GEO Technologies Co., Ltd.
|
|
4841
|
+
* All rights reserved.
|
|
4842
|
+
*/
|
|
4843
|
+
|
|
4844
|
+
_LowAltitudeFeature.default.install = (Vue, opts) => {
|
|
4845
|
+
(0, _init.default)(Vue, opts);
|
|
4846
|
+
Vue.component(_LowAltitudeFeature.default.name, _LowAltitudeFeature.default);
|
|
4847
|
+
};
|
|
4848
|
+
|
|
4849
|
+
// kq_npm_client3d_webgl_vue.Kq3dLowAltitudeFeature = LowAltitudeFeature;
|
|
4850
|
+
}();
|
|
4851
|
+
/******/ return __webpack_exports__;
|
|
4852
|
+
/******/ })()
|
|
4853
|
+
;
|
|
4854
|
+
});
|