vue-openlayers-plugin 1.0.91 → 1.0.93
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/lib/{BasemapPanel-97a57e6f.mjs → BasemapPanel-ed3aedc9.mjs} +68 -22
- package/lib/{CoordinateLocationDialog-090ead21.mjs → CoordinateLocationDialog-1b493dd9.mjs} +105 -51
- package/lib/{FilterPanel-ac96a573.mjs → FilterPanel-a5f38164.mjs} +1 -1
- package/lib/{MapPrintDialog-a440a6ab.mjs → LayerPanel-fd86591b.mjs} +1 -1
- package/lib/{LayerPanel-f9bbcdc1.mjs → MapPrintDialog-ce441446.mjs} +1 -1
- package/lib/{MeasurementDialog-6ec17375.mjs → MeasurementDialog-901a569f.mjs} +84 -33
- package/lib/{MyMarkersDialog-1f9f82ed.mjs → MyMarkersDialog-c0883329.mjs} +138 -63
- package/lib/{RegionNavigationDialog-d21ed4a6.mjs → RegionNavigationDialog-b0b6f86b.mjs} +29 -26
- package/lib/{ViewBookmarksDialog-b9fdb1d5.mjs → ViewBookmarksDialog-9f767176.mjs} +250 -92
- package/lib/{index-cdbb6879.mjs → index-3dc1ae8a.mjs} +13 -17
- package/lib/{index-a081b5c1.mjs → index-915b9f4d.mjs} +1 -1
- package/lib/{index-dd63f686.mjs → index-bc98d31c.mjs} +3359 -1919
- package/lib/{index.es-d367a4fc.mjs → index.es-31d767d5.mjs} +1 -1
- package/lib/index.esm.js +63 -63
- package/lib/index.umd.js +3947 -2128
- package/lib/style.css +707 -634
- package/package.json +2 -2
- package/types/index.d.ts +6616 -1
- package/types/src/components/CustomDialog/CustomDialog.vue.d.ts +11 -11
- package/types/src/components/CustomDialog/CustomDialog.vue.d.ts.map +1 -1
- package/types/src/components/CustomDialog/dialogCache.d.ts.map +1 -1
- package/types/src/components/CustomDialog/icons/index.d.ts.map +1 -1
- package/types/src/components/CustomDialog/index.d.ts.map +1 -1
- package/types/src/components/OlBaseLayerSwitcher.vue.d.ts.map +1 -1
- package/types/src/components/OlControlPanel.vue.d.ts +2 -2
- package/types/src/components/OlControlPanel.vue.d.ts.map +1 -1
- package/types/src/components/OlDialogs/BasemapPanel.vue.d.ts +1 -1
- package/types/src/components/OlDialogs/BasemapPanel.vue.d.ts.map +1 -1
- package/types/src/components/OlDialogs/CoordinateLocationDialog.vue.d.ts +1 -1
- package/types/src/components/OlDialogs/CoordinateLocationDialog.vue.d.ts.map +1 -1
- package/types/src/components/OlDialogs/DialogManager.d.ts +1 -1
- package/types/src/components/OlDialogs/DialogManager.d.ts.map +1 -1
- package/types/src/components/OlDialogs/FilterPanel.vue.d.ts +3 -3
- package/types/src/components/OlDialogs/FilterPanel.vue.d.ts.map +1 -1
- package/types/src/components/OlDialogs/LayerPanel.vue.d.ts +786 -786
- package/types/src/components/OlDialogs/LayerPanel.vue.d.ts.map +1 -1
- package/types/src/components/OlDialogs/LayerStyleConfig.vue.d.ts +3 -3
- package/types/src/components/OlDialogs/LayerStyleConfig.vue.d.ts.map +1 -1
- package/types/src/components/OlDialogs/LayerTreeNode.vue.d.ts +5 -5
- package/types/src/components/OlDialogs/LayerTreeNode.vue.d.ts.map +1 -1
- package/types/src/components/OlDialogs/MapDrawingDialog/index.vue.d.ts.map +1 -1
- package/types/src/components/OlDialogs/MapPrintDialog.vue.d.ts +2 -2
- package/types/src/components/OlDialogs/MapPrintDialog.vue.d.ts.map +1 -1
- package/types/src/components/OlDialogs/MeasurementDialog.vue.d.ts +1 -1
- package/types/src/components/OlDialogs/MeasurementDialog.vue.d.ts.map +1 -1
- package/types/src/components/OlDialogs/MyMarkersDialog.vue.d.ts +2 -2
- package/types/src/components/OlDialogs/MyMarkersDialog.vue.d.ts.map +1 -1
- package/types/src/components/OlDialogs/RegionNavigationDialog.vue.d.ts +5 -5
- package/types/src/components/OlDialogs/RegionNavigationDialog.vue.d.ts.map +1 -1
- package/types/src/components/OlDialogs/ViewBookmarksDialog.vue.d.ts +2 -2
- package/types/src/components/OlDialogs/ViewBookmarksDialog.vue.d.ts.map +1 -1
- package/types/src/components/OlDialogs/registry.d.ts.map +1 -1
- package/types/src/components/OlDrawToolbar.vue.d.ts +16 -16
- package/types/src/components/OlDrawToolbar.vue.d.ts.map +1 -1
- package/types/src/components/OlLegendPanel.vue.d.ts +1 -1
- package/types/src/components/OlLegendPanel.vue.d.ts.map +1 -1
- package/types/src/components/OlMapContainer.vue.d.ts +31 -31
- package/types/src/components/OlMapContainer.vue.d.ts.map +1 -1
- package/types/src/components/OlMapPopup/ArrayPopup.vue.d.ts +4 -4
- package/types/src/components/OlMapPopup/ArrayPopup.vue.d.ts.map +1 -1
- package/types/src/components/OlMapPopup/BasePopup.vue.d.ts +6 -6
- package/types/src/components/OlMapPopup/BasePopup.vue.d.ts.map +1 -1
- package/types/src/components/OlMapPopup/HtmlPopup.vue.d.ts +3 -3
- package/types/src/components/OlMapPopup/HtmlPopup.vue.d.ts.map +1 -1
- package/types/src/components/OlMapPopup/ImagePopup.vue.d.ts +3 -3
- package/types/src/components/OlMapPopup/ImagePopup.vue.d.ts.map +1 -1
- package/types/src/components/OlMapPopup/index.d.ts +1 -1
- package/types/src/components/OlMapPopup/index.d.ts.map +1 -1
- package/types/src/components/OlMapPopup/types.d.ts +12 -12
- package/types/src/components/OlMapPopup/types.d.ts.map +1 -1
- package/types/src/components/OlMapSearch.vue.d.ts +3 -3
- package/types/src/components/OlMapSearch.vue.d.ts.map +1 -1
- package/types/src/components/OlMapTooltip.vue.d.ts +8 -8
- package/types/src/components/OlMapTooltip.vue.d.ts.map +1 -1
- package/types/src/components/SvgIcon/index.vue.d.ts.map +1 -1
- package/types/src/core/EventBus.d.ts.map +1 -1
- package/types/src/core/EventManager.d.ts.map +1 -1
- package/types/src/core/FeatureHighlightManager.d.ts.map +1 -1
- package/types/src/core/GlobalStyleManager.d.ts +1 -1
- package/types/src/core/LayerConfigManager.d.ts.map +1 -1
- package/types/src/core/LayerManager.d.ts +2 -2
- package/types/src/core/LayerManager.d.ts.map +1 -1
- package/types/src/core/LayerTreeManager.d.ts +1 -1
- package/types/src/core/LayerTreeManager.d.ts.map +1 -1
- package/types/src/core/MapManager.d.ts +15 -15
- package/types/src/core/MapManager.d.ts.map +1 -1
- package/types/src/core/MarkerDrawingAdapter.d.ts.map +1 -1
- package/types/src/core/PluginManager.d.ts +1 -1
- package/types/src/core/PluginManager.d.ts.map +1 -1
- package/types/src/core/PopupManager.d.ts.map +1 -1
- package/types/src/core/SearchMarkerManager.d.ts.map +1 -1
- package/types/src/core/TooltipHelper.d.ts +1 -1
- package/types/src/core/TooltipHelper.d.ts.map +1 -1
- package/types/src/core/amapSearchApi.d.ts.map +1 -1
- package/types/src/core/configLoader.d.ts +33 -33
- package/types/src/core/configLoader.d.ts.map +1 -1
- package/types/src/core/drawing/BaseDrawing.d.ts.map +1 -1
- package/types/src/core/drawing/DrawingManager.d.ts.map +1 -1
- package/types/src/core/drawing/IconDrawing.d.ts.map +1 -1
- package/types/src/core/drawing/ImageDrawing.d.ts.map +1 -1
- package/types/src/core/drawing/LineDrawing.d.ts.map +1 -1
- package/types/src/core/drawing/MilitaryDrawing.d.ts.map +1 -1
- package/types/src/core/drawing/MultiLineStringDrawing.d.ts.map +1 -1
- package/types/src/core/drawing/MultiPointDrawing.d.ts.map +1 -1
- package/types/src/core/drawing/MultiPolygonDrawing.d.ts.map +1 -1
- package/types/src/core/drawing/PointDrawing.d.ts +2 -2
- package/types/src/core/drawing/PointDrawing.d.ts.map +1 -1
- package/types/src/core/drawing/PointWithTextDrawing.d.ts +2 -2
- package/types/src/core/drawing/PointWithTextDrawing.d.ts.map +1 -1
- package/types/src/core/drawing/PolygonDrawing.d.ts.map +1 -1
- package/types/src/core/drawing/TextDrawing.d.ts.map +1 -1
- package/types/src/core/drawing/index.d.ts +12 -12
- package/types/src/core/drawing/index.d.ts.map +1 -1
- package/types/src/core/geoJsonLocationTool.d.ts +3 -3
- package/types/src/core/geoJsonLocationTool.d.ts.map +1 -1
- package/types/src/core/layers/BaseLayer.d.ts +1 -1
- package/types/src/core/layers/BaseLayer.d.ts.map +1 -1
- package/types/src/core/layers/CanvasLayerHandler.d.ts.map +1 -1
- package/types/src/core/layers/ClusterLayerHandler.d.ts.map +1 -1
- package/types/src/core/layers/GMLLayerHandler.d.ts.map +1 -1
- package/types/src/core/layers/GeoJSONLayerHandler.d.ts.map +1 -1
- package/types/src/core/layers/HeatmapLayerHandler.d.ts.map +1 -1
- package/types/src/core/layers/ImageVectorLayerHandler.d.ts.map +1 -1
- package/types/src/core/layers/KMLLayerHandler.d.ts.map +1 -1
- package/types/src/core/layers/LayerFactory.d.ts.map +1 -1
- package/types/src/core/layers/SuperMapServiceTester.d.ts.map +1 -1
- package/types/src/core/layers/SuperMapTiledMapServiceHandler.d.ts.map +1 -1
- package/types/src/core/layers/TiandituConfigHelper.d.ts.map +1 -1
- package/types/src/core/layers/TiandituLayerHandler.d.ts.map +1 -1
- package/types/src/core/layers/TileLayerHandler.d.ts.map +1 -1
- package/types/src/core/layers/TileSuperMapRestHandler.d.ts +1 -1
- package/types/src/core/layers/TileSuperMapRestHandler.d.ts.map +1 -1
- package/types/src/core/layers/VectorTileLayerHandler.d.ts +3 -3
- package/types/src/core/layers/VectorTileLayerHandler.d.ts.map +1 -1
- package/types/src/core/layers/WFSLayerHandler.d.ts +1 -1
- package/types/src/core/layers/WFSLayerHandler.d.ts.map +1 -1
- package/types/src/core/layers/WKTLayerHandler.d.ts.map +1 -1
- package/types/src/core/layers/WMSLayerHandler.d.ts +1 -1
- package/types/src/core/layers/WMSLayerHandler.d.ts.map +1 -1
- package/types/src/core/layers/WMTSLayerHandler.d.ts.map +1 -1
- package/types/src/core/layers/interfaces.d.ts +1 -1
- package/types/src/core/layers/interfaces.d.ts.map +1 -1
- package/types/src/core/mapOperationTool.d.ts.map +1 -1
- package/types/src/core/measurementTool.d.ts.map +1 -1
- package/types/src/core/overviewMapUtil.d.ts.map +1 -1
- package/types/src/core/proxyHelper.d.ts +1 -1
- package/types/src/core/proxyHelper.d.ts.map +1 -1
- package/types/src/core/storage.d.ts.map +1 -1
- package/types/src/core/styles/StyleFactory.d.ts.map +1 -1
- package/types/src/core/styles/StyleManager.d.ts.map +1 -1
- package/types/src/core/styles/index.d.ts +1 -1
- package/types/src/core/styles/index.d.ts.map +1 -1
- package/types/src/core/styles/interfaces.d.ts +3 -3
- package/types/src/core/styles/interfaces.d.ts.map +1 -1
- package/types/src/core/tiandituSearchApi.d.ts.map +1 -1
- package/types/src/hooks/useMap.d.ts.map +1 -1
- package/types/src/services/searchService.d.ts +2 -2
- package/types/src/services/searchService.d.ts.map +1 -1
- package/types/src/style.d.ts.map +1 -1
- package/types/src/types/map.d.ts +75 -0
- package/types/src/types/map.d.ts.map +1 -1
- package/types/src/utils/DiffusionAnimationHelper.d.ts.map +1 -1
- package/types/src/utils/GifAnimationHelper.d.ts.map +1 -1
- package/types/src/utils/coordinateTransform.d.ts.map +1 -1
- package/types/src/utils/html2pdf.d.ts +3 -0
- package/types/src/utils/html2pdf.d.ts.map +1 -1
- package/types/src/utils/index.d.ts +1 -1
- package/types/src/utils/index.d.ts.map +1 -1
- package/types/src/utils/unitConverter.d.ts.map +1 -1
- package/types/tsconfig.tsbuildinfo +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent, inject, computed, ref, reactive, onUnmounted, watch, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, withCtx, createElementVNode, unref, normalizeClass, createTextVNode, toDisplayString, renderList, createBlock, withModifiers } from "vue";
|
|
2
|
-
import {
|
|
3
|
-
import { E as ElMessageBox } from "./index-
|
|
1
|
+
import { defineComponent, inject, computed, ref, reactive, onUnmounted, watch, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, withCtx, createElementVNode, unref, normalizeClass, createTextVNode, toDisplayString, renderList, createBlock, withModifiers, mergeProps } from "vue";
|
|
2
|
+
import { j as plus_default, k as folder_opened_default, m as download_default, n as delete_default, s as search_default, o as location_filled_default, q as edit_default, M as MarkerDrawingAdapter, t as fromLonLat, u as toLonLat } from "./index-bc98d31c.mjs";
|
|
3
|
+
import { E as ElMessageBox } from "./index-915b9f4d.mjs";
|
|
4
4
|
import "ol";
|
|
5
5
|
const _hoisted_1 = { class: "markers-content" };
|
|
6
6
|
const _hoisted_2 = { class: "toolbar" };
|
|
@@ -49,26 +49,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
49
49
|
color: "#409eff"
|
|
50
50
|
});
|
|
51
51
|
};
|
|
52
|
-
const confirmAddMarker = () => {
|
|
53
|
-
var _a;
|
|
54
|
-
if (!markerForm.name.trim()) {
|
|
55
|
-
console.warn("请输入标记名称");
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
const newMarker = {
|
|
59
|
-
id: Date.now().toString(),
|
|
60
|
-
name: markerForm.name.trim(),
|
|
61
|
-
category: markerForm.category || "默认",
|
|
62
|
-
description: ((_a = markerForm.description) == null ? void 0 : _a.trim()) || "",
|
|
63
|
-
longitude: markerForm.longitude || 117.238548,
|
|
64
|
-
latitude: markerForm.latitude || 31.806682,
|
|
65
|
-
color: markerForm.color || "#409eff",
|
|
66
|
-
createTime: (/* @__PURE__ */ new Date()).toISOString()
|
|
67
|
-
};
|
|
68
|
-
markers.value.push(newMarker);
|
|
69
|
-
cancelAddMarker();
|
|
70
|
-
console.log("标记添加成功");
|
|
71
|
-
};
|
|
72
52
|
const categories = computed(() => {
|
|
73
53
|
const cats = [...new Set(markers.value.map((m) => m.category))];
|
|
74
54
|
return cats.filter((cat) => cat);
|
|
@@ -143,7 +123,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
143
123
|
});
|
|
144
124
|
const handleDrawingEnd = (drawing) => {
|
|
145
125
|
var _a;
|
|
146
|
-
const coordinate = drawing.
|
|
126
|
+
const coordinate = drawing.getCoordinates();
|
|
147
127
|
if (coordinate) {
|
|
148
128
|
(_a = drawingManager.value) == null ? void 0 : _a.removeDrawing(drawing);
|
|
149
129
|
showMarkerInputDialog(coordinate);
|
|
@@ -163,10 +143,28 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
163
143
|
}
|
|
164
144
|
isAddingMarker.value = false;
|
|
165
145
|
};
|
|
146
|
+
const dialogProps = ref({
|
|
147
|
+
top: "15vh",
|
|
148
|
+
left: "50%",
|
|
149
|
+
enableCache: true
|
|
150
|
+
});
|
|
166
151
|
const showMarkerInputDialog = (coordinate) => {
|
|
167
152
|
var _a;
|
|
168
153
|
const mapProjection = (_a = map.value) == null ? void 0 : _a.getView().getProjection().getCode();
|
|
169
154
|
const lonLat = mapProjection === "EPSG:4326" || mapProjection === "EPSG:4490" ? coordinate : toLonLat(coordinate);
|
|
155
|
+
if (map.value) {
|
|
156
|
+
const pixel = map.value.getPixelFromCoordinate(coordinate);
|
|
157
|
+
if (pixel) {
|
|
158
|
+
const mapElement = map.value.getTargetElement();
|
|
159
|
+
const rect = mapElement.getBoundingClientRect();
|
|
160
|
+
dialogProps.value = {
|
|
161
|
+
top: pixel[1] + rect.top + 20 + "px",
|
|
162
|
+
left: pixel[0] + rect.left - 175 + "px",
|
|
163
|
+
enableCache: false
|
|
164
|
+
// 禁用缓存以强制使用新位置
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
}
|
|
170
168
|
editingIndex.value = -1;
|
|
171
169
|
Object.assign(markerForm, {
|
|
172
170
|
name: "",
|
|
@@ -188,8 +186,55 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
188
186
|
latitude: marker.latitude,
|
|
189
187
|
color: marker.color
|
|
190
188
|
});
|
|
189
|
+
if (map.value) {
|
|
190
|
+
const mapProjection = map.value.getView().getProjection().getCode();
|
|
191
|
+
const coordinate = mapProjection === "EPSG:4326" || mapProjection === "EPSG:4490" ? [marker.longitude, marker.latitude] : fromLonLat([marker.longitude, marker.latitude]);
|
|
192
|
+
const pixel = map.value.getPixelFromCoordinate(coordinate);
|
|
193
|
+
if (pixel) {
|
|
194
|
+
const mapElement = map.value.getTargetElement();
|
|
195
|
+
const rect = mapElement.getBoundingClientRect();
|
|
196
|
+
dialogProps.value = {
|
|
197
|
+
top: pixel[1] + rect.top + 20 + "px",
|
|
198
|
+
left: pixel[0] + rect.left - 175 + "px",
|
|
199
|
+
enableCache: false
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
}
|
|
191
203
|
showAddDialog.value = true;
|
|
192
204
|
};
|
|
205
|
+
const saveMarker = () => {
|
|
206
|
+
var _a;
|
|
207
|
+
if (!((_a = markerForm.name) == null ? void 0 : _a.trim())) {
|
|
208
|
+
console.error("请输入标记名称");
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
if (!markerAdapter) {
|
|
212
|
+
console.error("标记管理器未初始化");
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
const markerData = {
|
|
216
|
+
id: editingIndex.value >= 0 ? markers.value[editingIndex.value].id : Date.now().toString(),
|
|
217
|
+
name: markerForm.name,
|
|
218
|
+
category: markerForm.category || "默认",
|
|
219
|
+
description: markerForm.description || "",
|
|
220
|
+
longitude: Number(markerForm.longitude),
|
|
221
|
+
latitude: Number(markerForm.latitude),
|
|
222
|
+
color: markerForm.color || "#409eff",
|
|
223
|
+
createTime: editingIndex.value >= 0 ? markers.value[editingIndex.value].createTime : (/* @__PURE__ */ new Date()).toISOString()
|
|
224
|
+
};
|
|
225
|
+
try {
|
|
226
|
+
if (editingIndex.value >= 0) {
|
|
227
|
+
markerAdapter.updateMarker(markerData);
|
|
228
|
+
console.log("标记更新成功");
|
|
229
|
+
} else {
|
|
230
|
+
markerAdapter.addMarker(markerData);
|
|
231
|
+
console.log("标记添加成功");
|
|
232
|
+
}
|
|
233
|
+
cancelAddMarker();
|
|
234
|
+
} catch (error) {
|
|
235
|
+
console.error("保存标记失败: " + error.message);
|
|
236
|
+
}
|
|
237
|
+
};
|
|
193
238
|
const deleteMarker = (index) => {
|
|
194
239
|
ElMessageBox.confirm("确定要删除这个标记吗?", "确认删除", {
|
|
195
240
|
confirmButtonText: "确定",
|
|
@@ -313,15 +358,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
313
358
|
markerAdapter = null;
|
|
314
359
|
}
|
|
315
360
|
});
|
|
316
|
-
watch(
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
if (
|
|
320
|
-
|
|
321
|
-
|
|
361
|
+
watch(
|
|
362
|
+
[() => props.map, () => props.drawingManager],
|
|
363
|
+
() => {
|
|
364
|
+
if (props.map && props.drawingManager) {
|
|
365
|
+
initializeMarkerAdapter();
|
|
366
|
+
if (markerAdapter) {
|
|
367
|
+
const existingMarkers = markerAdapter.getAllMarkers();
|
|
368
|
+
markers.value = existingMarkers;
|
|
369
|
+
}
|
|
322
370
|
}
|
|
323
|
-
}
|
|
324
|
-
|
|
371
|
+
},
|
|
372
|
+
{ immediate: true }
|
|
373
|
+
);
|
|
325
374
|
return (_ctx, _cache) => {
|
|
326
375
|
const _component_el_button = resolveComponent("el-button");
|
|
327
376
|
const _component_el_input = resolveComponent("el-input");
|
|
@@ -339,10 +388,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
339
388
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => dialogVisible.value = $event),
|
|
340
389
|
title: "我的标记",
|
|
341
390
|
width: "600px",
|
|
391
|
+
height: "600px",
|
|
342
392
|
"before-close": handleClose,
|
|
343
393
|
"show-modal": false,
|
|
344
394
|
"modal-class": ["pointer-events-none"],
|
|
345
|
-
|
|
395
|
+
"cache-id": "markers-dialog",
|
|
346
396
|
class: "markers-dialog"
|
|
347
397
|
}, {
|
|
348
398
|
default: withCtx(() => [
|
|
@@ -351,8 +401,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
351
401
|
createVNode(_component_el_button, {
|
|
352
402
|
type: "primary",
|
|
353
403
|
icon: unref(plus_default),
|
|
354
|
-
|
|
355
|
-
|
|
404
|
+
class: normalizeClass({ "adding-marker": isAddingMarker.value }),
|
|
405
|
+
onClick: showAddMarker
|
|
356
406
|
}, {
|
|
357
407
|
default: withCtx(() => [
|
|
358
408
|
createTextVNode(toDisplayString(isAddingMarker.value ? "取消添加" : "添加标记"), 1)
|
|
@@ -363,7 +413,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
363
413
|
icon: unref(folder_opened_default),
|
|
364
414
|
onClick: importMarkers
|
|
365
415
|
}, {
|
|
366
|
-
default: withCtx(() => [..._cache[
|
|
416
|
+
default: withCtx(() => [..._cache[7] || (_cache[7] = [
|
|
367
417
|
createTextVNode(" 导入标记 ", -1)
|
|
368
418
|
])]),
|
|
369
419
|
_: 1
|
|
@@ -372,17 +422,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
372
422
|
icon: unref(download_default),
|
|
373
423
|
onClick: exportMarkers
|
|
374
424
|
}, {
|
|
375
|
-
default: withCtx(() => [..._cache[
|
|
425
|
+
default: withCtx(() => [..._cache[8] || (_cache[8] = [
|
|
376
426
|
createTextVNode(" 导出标记 ", -1)
|
|
377
427
|
])]),
|
|
378
428
|
_: 1
|
|
379
429
|
}, 8, ["icon"]),
|
|
380
430
|
createVNode(_component_el_button, {
|
|
381
431
|
icon: unref(delete_default),
|
|
382
|
-
|
|
383
|
-
|
|
432
|
+
disabled: markers.value.length === 0,
|
|
433
|
+
onClick: clearAllMarkers
|
|
384
434
|
}, {
|
|
385
|
-
default: withCtx(() => [..._cache[
|
|
435
|
+
default: withCtx(() => [..._cache[9] || (_cache[9] = [
|
|
386
436
|
createTextVNode(" 清空全部 ", -1)
|
|
387
437
|
])]),
|
|
388
438
|
_: 1
|
|
@@ -395,8 +445,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
395
445
|
placeholder: "搜索标记名称或备注...",
|
|
396
446
|
"prefix-icon": unref(search_default),
|
|
397
447
|
clearable: "",
|
|
398
|
-
|
|
399
|
-
|
|
448
|
+
style: { "width": "300px" },
|
|
449
|
+
onInput: handleSearch
|
|
400
450
|
}, null, 8, ["modelValue", "prefix-icon"]),
|
|
401
451
|
createVNode(_component_el_select, {
|
|
402
452
|
modelValue: filterCategory.value,
|
|
@@ -424,9 +474,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
424
474
|
createElementVNode("div", _hoisted_4, [
|
|
425
475
|
createVNode(_component_el_table, {
|
|
426
476
|
data: filteredMarkers.value,
|
|
427
|
-
height: "
|
|
428
|
-
|
|
429
|
-
|
|
477
|
+
height: "100%",
|
|
478
|
+
class: "markers-table",
|
|
479
|
+
"empty-text": "暂无数据",
|
|
480
|
+
onRowClick: locateMarker
|
|
430
481
|
}, {
|
|
431
482
|
default: withCtx(() => [
|
|
432
483
|
createVNode(_component_el_table_column, {
|
|
@@ -478,26 +529,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
478
529
|
createVNode(_component_el_button, {
|
|
479
530
|
type: "text",
|
|
480
531
|
size: "small",
|
|
481
|
-
|
|
482
|
-
|
|
532
|
+
icon: unref(edit_default),
|
|
533
|
+
onClick: withModifiers(($event) => editMarker(row, $index), ["stop"])
|
|
483
534
|
}, {
|
|
484
|
-
default: withCtx(() => [..._cache[
|
|
535
|
+
default: withCtx(() => [..._cache[10] || (_cache[10] = [
|
|
485
536
|
createTextVNode(" 编辑 ", -1)
|
|
486
537
|
])]),
|
|
487
538
|
_: 2
|
|
488
|
-
}, 1032, ["
|
|
539
|
+
}, 1032, ["icon", "onClick"]),
|
|
489
540
|
createVNode(_component_el_button, {
|
|
490
541
|
type: "text",
|
|
491
542
|
size: "small",
|
|
492
|
-
onClick: withModifiers(($event) => deleteMarker($index), ["stop"]),
|
|
493
543
|
icon: unref(delete_default),
|
|
494
|
-
class: "delete-btn"
|
|
544
|
+
class: "delete-btn",
|
|
545
|
+
onClick: withModifiers(($event) => deleteMarker($index), ["stop"])
|
|
495
546
|
}, {
|
|
496
|
-
default: withCtx(() => [..._cache[
|
|
547
|
+
default: withCtx(() => [..._cache[11] || (_cache[11] = [
|
|
497
548
|
createTextVNode(" 删除 ", -1)
|
|
498
549
|
])]),
|
|
499
550
|
_: 2
|
|
500
|
-
}, 1032, ["
|
|
551
|
+
}, 1032, ["icon", "onClick"])
|
|
501
552
|
]),
|
|
502
553
|
_: 1
|
|
503
554
|
})
|
|
@@ -509,27 +560,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
509
560
|
]),
|
|
510
561
|
_: 1
|
|
511
562
|
}, 8, ["modelValue"]),
|
|
512
|
-
createVNode(_component_EPlusDialog, {
|
|
563
|
+
createVNode(_component_EPlusDialog, mergeProps({
|
|
513
564
|
modelValue: showAddDialog.value,
|
|
514
|
-
"onUpdate:modelValue": _cache[
|
|
565
|
+
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => showAddDialog.value = $event),
|
|
515
566
|
title: "添加标记",
|
|
516
567
|
width: "350px",
|
|
517
568
|
"show-modal": false,
|
|
518
|
-
"append-to-body": ""
|
|
519
|
-
|
|
520
|
-
}, {
|
|
569
|
+
"append-to-body": ""
|
|
570
|
+
}, dialogProps.value), {
|
|
521
571
|
footer: withCtx(() => [
|
|
522
572
|
createVNode(_component_el_button, { onClick: cancelAddMarker }, {
|
|
523
|
-
default: withCtx(() => [..._cache[
|
|
573
|
+
default: withCtx(() => [..._cache[12] || (_cache[12] = [
|
|
524
574
|
createTextVNode("取消", -1)
|
|
525
575
|
])]),
|
|
526
576
|
_: 1
|
|
527
577
|
}),
|
|
528
578
|
createVNode(_component_el_button, {
|
|
529
579
|
type: "primary",
|
|
530
|
-
onClick:
|
|
580
|
+
onClick: saveMarker
|
|
531
581
|
}, {
|
|
532
|
-
default: withCtx(() => [..._cache[
|
|
582
|
+
default: withCtx(() => [..._cache[13] || (_cache[13] = [
|
|
533
583
|
createTextVNode("确定", -1)
|
|
534
584
|
])]),
|
|
535
585
|
_: 1
|
|
@@ -556,11 +606,36 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
556
606
|
]),
|
|
557
607
|
_: 1
|
|
558
608
|
}),
|
|
609
|
+
createVNode(_component_el_form_item, { label: "分类" }, {
|
|
610
|
+
default: withCtx(() => [
|
|
611
|
+
createVNode(_component_el_select, {
|
|
612
|
+
modelValue: markerForm.category,
|
|
613
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => markerForm.category = $event),
|
|
614
|
+
filterable: "",
|
|
615
|
+
"allow-create": "",
|
|
616
|
+
"default-first-option": "",
|
|
617
|
+
placeholder: "请选择或输入分类",
|
|
618
|
+
style: { "width": "100%" }
|
|
619
|
+
}, {
|
|
620
|
+
default: withCtx(() => [
|
|
621
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(categories.value, (item) => {
|
|
622
|
+
return openBlock(), createBlock(_component_el_option, {
|
|
623
|
+
key: item,
|
|
624
|
+
label: item,
|
|
625
|
+
value: item
|
|
626
|
+
}, null, 8, ["label", "value"]);
|
|
627
|
+
}), 128))
|
|
628
|
+
]),
|
|
629
|
+
_: 1
|
|
630
|
+
}, 8, ["modelValue"])
|
|
631
|
+
]),
|
|
632
|
+
_: 1
|
|
633
|
+
}),
|
|
559
634
|
createVNode(_component_el_form_item, { label: "备注" }, {
|
|
560
635
|
default: withCtx(() => [
|
|
561
636
|
createVNode(_component_el_input, {
|
|
562
637
|
modelValue: markerForm.description,
|
|
563
|
-
"onUpdate:modelValue": _cache[
|
|
638
|
+
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => markerForm.description = $event),
|
|
564
639
|
type: "textarea",
|
|
565
640
|
rows: 3,
|
|
566
641
|
placeholder: "请输入备注信息",
|
|
@@ -575,7 +650,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
575
650
|
}, 8, ["model"])
|
|
576
651
|
]),
|
|
577
652
|
_: 1
|
|
578
|
-
},
|
|
653
|
+
}, 16, ["modelValue"])
|
|
579
654
|
], 64);
|
|
580
655
|
};
|
|
581
656
|
}
|
|
@@ -30,7 +30,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
30
30
|
props: {
|
|
31
31
|
modelValue: { type: Boolean }
|
|
32
32
|
},
|
|
33
|
-
emits: ["update:modelValue", "
|
|
33
|
+
emits: ["update:modelValue", "action", "flyToRegion", "drawBoundary"],
|
|
34
34
|
setup(__props, { emit: __emit }) {
|
|
35
35
|
const props = __props;
|
|
36
36
|
const emit = __emit;
|
|
@@ -1050,13 +1050,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1050
1050
|
}
|
|
1051
1051
|
};
|
|
1052
1052
|
const navigateToRegion = (region) => {
|
|
1053
|
-
emit("
|
|
1053
|
+
emit("action", {
|
|
1054
1054
|
type: "flyToRegion",
|
|
1055
1055
|
region,
|
|
1056
1056
|
center: region.center,
|
|
1057
1057
|
zoom: region.zoom || 7
|
|
1058
1058
|
});
|
|
1059
|
-
emit("
|
|
1059
|
+
emit("action", {
|
|
1060
1060
|
type: "drawBoundary",
|
|
1061
1061
|
code: region.code,
|
|
1062
1062
|
name: region.name,
|
|
@@ -1078,14 +1078,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1078
1078
|
};
|
|
1079
1079
|
const navigateToDistrict = (district) => {
|
|
1080
1080
|
selectedDistrict.value = district.code;
|
|
1081
|
-
emit("
|
|
1081
|
+
emit("action", {
|
|
1082
1082
|
type: "flyToRegion",
|
|
1083
1083
|
region: district,
|
|
1084
1084
|
center: district.center,
|
|
1085
1085
|
zoom: 12,
|
|
1086
1086
|
boundary: district.boundary
|
|
1087
1087
|
});
|
|
1088
|
-
emit("
|
|
1088
|
+
emit("action", {
|
|
1089
1089
|
type: "drawBoundary",
|
|
1090
1090
|
code: district.code,
|
|
1091
1091
|
name: district.name,
|
|
@@ -1119,7 +1119,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1119
1119
|
"before-close": handleClose,
|
|
1120
1120
|
"show-modal": false,
|
|
1121
1121
|
"modal-class": ["pointer-events-none"],
|
|
1122
|
-
|
|
1122
|
+
"cache-id": "region-dialog",
|
|
1123
1123
|
class: "region-dialog"
|
|
1124
1124
|
}, {
|
|
1125
1125
|
default: withCtx(() => [
|
|
@@ -1127,10 +1127,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1127
1127
|
createVNode(_component_el_tabs, {
|
|
1128
1128
|
modelValue: activeTab.value,
|
|
1129
1129
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => activeTab.value = $event),
|
|
1130
|
-
onTabClick: handleTabClick,
|
|
1131
|
-
onTabRemove: handleTabRemove,
|
|
1132
1130
|
type: "card",
|
|
1133
|
-
class: "region-tabs"
|
|
1131
|
+
class: "region-tabs",
|
|
1132
|
+
onTabClick: handleTabClick,
|
|
1133
|
+
onTabRemove: handleTabRemove
|
|
1134
1134
|
}, {
|
|
1135
1135
|
default: withCtx(() => [
|
|
1136
1136
|
(openBlock(true), createElementBlock(Fragment, null, renderList(tabs.value, (tab, index) => {
|
|
@@ -1149,8 +1149,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1149
1149
|
return openBlock(), createBlock(_component_el_button, {
|
|
1150
1150
|
key: region.code,
|
|
1151
1151
|
type: "text",
|
|
1152
|
-
|
|
1153
|
-
|
|
1152
|
+
class: "region-btn",
|
|
1153
|
+
onClick: ($event) => navigateToRegion(region)
|
|
1154
1154
|
}, {
|
|
1155
1155
|
default: withCtx(() => [
|
|
1156
1156
|
createTextVNode(toDisplayString(region.name), 1)
|
|
@@ -1167,8 +1167,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1167
1167
|
return openBlock(), createBlock(_component_el_button, {
|
|
1168
1168
|
key: region.code,
|
|
1169
1169
|
type: "text",
|
|
1170
|
-
|
|
1171
|
-
|
|
1170
|
+
class: "region-btn",
|
|
1171
|
+
onClick: ($event) => navigateToRegion(region)
|
|
1172
1172
|
}, {
|
|
1173
1173
|
default: withCtx(() => [
|
|
1174
1174
|
createTextVNode(toDisplayString(region.name), 1)
|
|
@@ -1185,8 +1185,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1185
1185
|
return openBlock(), createBlock(_component_el_button, {
|
|
1186
1186
|
key: region.code,
|
|
1187
1187
|
type: "text",
|
|
1188
|
-
|
|
1189
|
-
|
|
1188
|
+
class: "region-btn",
|
|
1189
|
+
onClick: ($event) => navigateToRegion(region)
|
|
1190
1190
|
}, {
|
|
1191
1191
|
default: withCtx(() => [
|
|
1192
1192
|
createTextVNode(toDisplayString(region.name), 1)
|
|
@@ -1203,8 +1203,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1203
1203
|
return openBlock(), createBlock(_component_el_button, {
|
|
1204
1204
|
key: region.code,
|
|
1205
1205
|
type: "text",
|
|
1206
|
-
|
|
1207
|
-
|
|
1206
|
+
class: "region-btn",
|
|
1207
|
+
onClick: ($event) => navigateToRegion(region)
|
|
1208
1208
|
}, {
|
|
1209
1209
|
default: withCtx(() => [
|
|
1210
1210
|
createTextVNode(toDisplayString(region.name), 1)
|
|
@@ -1221,8 +1221,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1221
1221
|
return openBlock(), createBlock(_component_el_button, {
|
|
1222
1222
|
key: region.code,
|
|
1223
1223
|
type: "text",
|
|
1224
|
-
|
|
1225
|
-
|
|
1224
|
+
class: "region-btn",
|
|
1225
|
+
onClick: ($event) => navigateToRegion(region)
|
|
1226
1226
|
}, {
|
|
1227
1227
|
default: withCtx(() => [
|
|
1228
1228
|
createTextVNode(toDisplayString(region.name), 1)
|
|
@@ -1239,8 +1239,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1239
1239
|
return openBlock(), createBlock(_component_el_button, {
|
|
1240
1240
|
key: region.code,
|
|
1241
1241
|
type: "text",
|
|
1242
|
-
|
|
1243
|
-
|
|
1242
|
+
class: "region-btn",
|
|
1243
|
+
onClick: ($event) => navigateToRegion(region)
|
|
1244
1244
|
}, {
|
|
1245
1245
|
default: withCtx(() => [
|
|
1246
1246
|
createTextVNode(toDisplayString(region.name), 1)
|
|
@@ -1257,8 +1257,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1257
1257
|
return openBlock(), createBlock(_component_el_button, {
|
|
1258
1258
|
key: region.code,
|
|
1259
1259
|
type: "text",
|
|
1260
|
-
|
|
1261
|
-
|
|
1260
|
+
class: "region-btn",
|
|
1261
|
+
onClick: ($event) => navigateToRegion(region)
|
|
1262
1262
|
}, {
|
|
1263
1263
|
default: withCtx(() => [
|
|
1264
1264
|
createTextVNode(toDisplayString(region.name), 1)
|
|
@@ -1275,8 +1275,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1275
1275
|
return openBlock(), createBlock(_component_el_button, {
|
|
1276
1276
|
key: region.code,
|
|
1277
1277
|
type: "text",
|
|
1278
|
-
|
|
1279
|
-
|
|
1278
|
+
class: "region-btn",
|
|
1279
|
+
onClick: ($event) => navigateToRegion(region)
|
|
1280
1280
|
}, {
|
|
1281
1281
|
default: withCtx(() => [
|
|
1282
1282
|
createTextVNode(toDisplayString(region.name), 1)
|
|
@@ -1291,7 +1291,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1291
1291
|
(openBlock(true), createElementBlock(Fragment, null, renderList(tab.districts, (district) => {
|
|
1292
1292
|
return openBlock(), createBlock(_component_el_button, {
|
|
1293
1293
|
key: district.code,
|
|
1294
|
-
class: normalizeClass([
|
|
1294
|
+
class: normalizeClass([
|
|
1295
|
+
"district-btn",
|
|
1296
|
+
{ active: selectedDistrict.value === district.code }
|
|
1297
|
+
]),
|
|
1295
1298
|
onClick: ($event) => navigateToDistrict(district)
|
|
1296
1299
|
}, {
|
|
1297
1300
|
default: withCtx(() => [
|