vue-openlayers-plugin 1.0.90 → 1.0.92
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-cba3afd6.mjs → BasemapPanel-a7640f57.mjs} +69 -22
- package/lib/{CoordinateLocationDialog-6e8a5f24.mjs → CoordinateLocationDialog-3fd9613f.mjs} +106 -51
- package/lib/{FilterPanel-9a8e2aca.mjs → FilterPanel-53958140.mjs} +1 -1
- package/lib/{MapPrintDialog-03c0823b.mjs → LayerPanel-02152994.mjs} +1 -1
- package/lib/{LayerPanel-be35370b.mjs → MapPrintDialog-bbf1ccc1.mjs} +1 -1
- package/lib/{MeasurementDialog-7fce097a.mjs → MeasurementDialog-4ffa44ae.mjs} +85 -33
- package/lib/{MyMarkersDialog-7dd24d9a.mjs → MyMarkersDialog-605a60e2.mjs} +139 -63
- package/lib/{RegionNavigationDialog-0808549f.mjs → RegionNavigationDialog-b0b6f86b.mjs} +30 -26
- package/lib/{ViewBookmarksDialog-60c9e851.mjs → ViewBookmarksDialog-475f44f3.mjs} +251 -92
- package/lib/{index-b3c7ea8d.mjs → index-30b0d26c.mjs} +1 -1
- package/lib/{index-05da77ba.mjs → index-7f38e279.mjs} +3361 -1919
- package/lib/{index-7aae577e.mjs → index-ecd9c14c.mjs} +14 -17
- package/lib/{index.es-e4a6ccb9.mjs → index.es-d464d539.mjs} +1 -1
- package/lib/index.esm.js +63 -63
- package/lib/index.umd.js +3956 -2128
- package/lib/style.css +707 -633
- package/package.json +2 -2
- 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-7f38e279.mjs";
|
|
3
|
+
import { E as ElMessageBox } from "./index-30b0d26c.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,9 +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"],
|
|
395
|
+
"cache-id": "markers-dialog",
|
|
345
396
|
class: "markers-dialog"
|
|
346
397
|
}, {
|
|
347
398
|
default: withCtx(() => [
|
|
@@ -350,8 +401,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
350
401
|
createVNode(_component_el_button, {
|
|
351
402
|
type: "primary",
|
|
352
403
|
icon: unref(plus_default),
|
|
353
|
-
|
|
354
|
-
|
|
404
|
+
class: normalizeClass({ "adding-marker": isAddingMarker.value }),
|
|
405
|
+
onClick: showAddMarker
|
|
355
406
|
}, {
|
|
356
407
|
default: withCtx(() => [
|
|
357
408
|
createTextVNode(toDisplayString(isAddingMarker.value ? "取消添加" : "添加标记"), 1)
|
|
@@ -362,7 +413,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
362
413
|
icon: unref(folder_opened_default),
|
|
363
414
|
onClick: importMarkers
|
|
364
415
|
}, {
|
|
365
|
-
default: withCtx(() => [..._cache[
|
|
416
|
+
default: withCtx(() => [..._cache[7] || (_cache[7] = [
|
|
366
417
|
createTextVNode(" 导入标记 ", -1)
|
|
367
418
|
])]),
|
|
368
419
|
_: 1
|
|
@@ -371,17 +422,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
371
422
|
icon: unref(download_default),
|
|
372
423
|
onClick: exportMarkers
|
|
373
424
|
}, {
|
|
374
|
-
default: withCtx(() => [..._cache[
|
|
425
|
+
default: withCtx(() => [..._cache[8] || (_cache[8] = [
|
|
375
426
|
createTextVNode(" 导出标记 ", -1)
|
|
376
427
|
])]),
|
|
377
428
|
_: 1
|
|
378
429
|
}, 8, ["icon"]),
|
|
379
430
|
createVNode(_component_el_button, {
|
|
380
431
|
icon: unref(delete_default),
|
|
381
|
-
|
|
382
|
-
|
|
432
|
+
disabled: markers.value.length === 0,
|
|
433
|
+
onClick: clearAllMarkers
|
|
383
434
|
}, {
|
|
384
|
-
default: withCtx(() => [..._cache[
|
|
435
|
+
default: withCtx(() => [..._cache[9] || (_cache[9] = [
|
|
385
436
|
createTextVNode(" 清空全部 ", -1)
|
|
386
437
|
])]),
|
|
387
438
|
_: 1
|
|
@@ -394,8 +445,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
394
445
|
placeholder: "搜索标记名称或备注...",
|
|
395
446
|
"prefix-icon": unref(search_default),
|
|
396
447
|
clearable: "",
|
|
397
|
-
|
|
398
|
-
|
|
448
|
+
style: { "width": "300px" },
|
|
449
|
+
onInput: handleSearch
|
|
399
450
|
}, null, 8, ["modelValue", "prefix-icon"]),
|
|
400
451
|
createVNode(_component_el_select, {
|
|
401
452
|
modelValue: filterCategory.value,
|
|
@@ -423,9 +474,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
423
474
|
createElementVNode("div", _hoisted_4, [
|
|
424
475
|
createVNode(_component_el_table, {
|
|
425
476
|
data: filteredMarkers.value,
|
|
426
|
-
height: "
|
|
427
|
-
|
|
428
|
-
|
|
477
|
+
height: "100%",
|
|
478
|
+
class: "markers-table",
|
|
479
|
+
"empty-text": "暂无数据",
|
|
480
|
+
onRowClick: locateMarker
|
|
429
481
|
}, {
|
|
430
482
|
default: withCtx(() => [
|
|
431
483
|
createVNode(_component_el_table_column, {
|
|
@@ -477,26 +529,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
477
529
|
createVNode(_component_el_button, {
|
|
478
530
|
type: "text",
|
|
479
531
|
size: "small",
|
|
480
|
-
|
|
481
|
-
|
|
532
|
+
icon: unref(edit_default),
|
|
533
|
+
onClick: withModifiers(($event) => editMarker(row, $index), ["stop"])
|
|
482
534
|
}, {
|
|
483
|
-
default: withCtx(() => [..._cache[
|
|
535
|
+
default: withCtx(() => [..._cache[10] || (_cache[10] = [
|
|
484
536
|
createTextVNode(" 编辑 ", -1)
|
|
485
537
|
])]),
|
|
486
538
|
_: 2
|
|
487
|
-
}, 1032, ["
|
|
539
|
+
}, 1032, ["icon", "onClick"]),
|
|
488
540
|
createVNode(_component_el_button, {
|
|
489
541
|
type: "text",
|
|
490
542
|
size: "small",
|
|
491
|
-
onClick: withModifiers(($event) => deleteMarker($index), ["stop"]),
|
|
492
543
|
icon: unref(delete_default),
|
|
493
|
-
class: "delete-btn"
|
|
544
|
+
class: "delete-btn",
|
|
545
|
+
onClick: withModifiers(($event) => deleteMarker($index), ["stop"])
|
|
494
546
|
}, {
|
|
495
|
-
default: withCtx(() => [..._cache[
|
|
547
|
+
default: withCtx(() => [..._cache[11] || (_cache[11] = [
|
|
496
548
|
createTextVNode(" 删除 ", -1)
|
|
497
549
|
])]),
|
|
498
550
|
_: 2
|
|
499
|
-
}, 1032, ["
|
|
551
|
+
}, 1032, ["icon", "onClick"])
|
|
500
552
|
]),
|
|
501
553
|
_: 1
|
|
502
554
|
})
|
|
@@ -508,27 +560,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
508
560
|
]),
|
|
509
561
|
_: 1
|
|
510
562
|
}, 8, ["modelValue"]),
|
|
511
|
-
createVNode(_component_EPlusDialog, {
|
|
563
|
+
createVNode(_component_EPlusDialog, mergeProps({
|
|
512
564
|
modelValue: showAddDialog.value,
|
|
513
|
-
"onUpdate:modelValue": _cache[
|
|
565
|
+
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => showAddDialog.value = $event),
|
|
514
566
|
title: "添加标记",
|
|
515
567
|
width: "350px",
|
|
516
568
|
"show-modal": false,
|
|
517
|
-
"append-to-body": ""
|
|
518
|
-
|
|
519
|
-
}, {
|
|
569
|
+
"append-to-body": ""
|
|
570
|
+
}, dialogProps.value), {
|
|
520
571
|
footer: withCtx(() => [
|
|
521
572
|
createVNode(_component_el_button, { onClick: cancelAddMarker }, {
|
|
522
|
-
default: withCtx(() => [..._cache[
|
|
573
|
+
default: withCtx(() => [..._cache[12] || (_cache[12] = [
|
|
523
574
|
createTextVNode("取消", -1)
|
|
524
575
|
])]),
|
|
525
576
|
_: 1
|
|
526
577
|
}),
|
|
527
578
|
createVNode(_component_el_button, {
|
|
528
579
|
type: "primary",
|
|
529
|
-
onClick:
|
|
580
|
+
onClick: saveMarker
|
|
530
581
|
}, {
|
|
531
|
-
default: withCtx(() => [..._cache[
|
|
582
|
+
default: withCtx(() => [..._cache[13] || (_cache[13] = [
|
|
532
583
|
createTextVNode("确定", -1)
|
|
533
584
|
])]),
|
|
534
585
|
_: 1
|
|
@@ -555,11 +606,36 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
555
606
|
]),
|
|
556
607
|
_: 1
|
|
557
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
|
+
}),
|
|
558
634
|
createVNode(_component_el_form_item, { label: "备注" }, {
|
|
559
635
|
default: withCtx(() => [
|
|
560
636
|
createVNode(_component_el_input, {
|
|
561
637
|
modelValue: markerForm.description,
|
|
562
|
-
"onUpdate:modelValue": _cache[
|
|
638
|
+
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => markerForm.description = $event),
|
|
563
639
|
type: "textarea",
|
|
564
640
|
rows: 3,
|
|
565
641
|
placeholder: "请输入备注信息",
|
|
@@ -574,7 +650,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
574
650
|
}, 8, ["model"])
|
|
575
651
|
]),
|
|
576
652
|
_: 1
|
|
577
|
-
},
|
|
653
|
+
}, 16, ["modelValue"])
|
|
578
654
|
], 64);
|
|
579
655
|
};
|
|
580
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,
|
|
@@ -1118,7 +1118,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1118
1118
|
width: "500px",
|
|
1119
1119
|
"before-close": handleClose,
|
|
1120
1120
|
"show-modal": false,
|
|
1121
|
-
|
|
1121
|
+
"modal-class": ["pointer-events-none"],
|
|
1122
|
+
"cache-id": "region-dialog",
|
|
1122
1123
|
class: "region-dialog"
|
|
1123
1124
|
}, {
|
|
1124
1125
|
default: withCtx(() => [
|
|
@@ -1126,10 +1127,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1126
1127
|
createVNode(_component_el_tabs, {
|
|
1127
1128
|
modelValue: activeTab.value,
|
|
1128
1129
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => activeTab.value = $event),
|
|
1129
|
-
onTabClick: handleTabClick,
|
|
1130
|
-
onTabRemove: handleTabRemove,
|
|
1131
1130
|
type: "card",
|
|
1132
|
-
class: "region-tabs"
|
|
1131
|
+
class: "region-tabs",
|
|
1132
|
+
onTabClick: handleTabClick,
|
|
1133
|
+
onTabRemove: handleTabRemove
|
|
1133
1134
|
}, {
|
|
1134
1135
|
default: withCtx(() => [
|
|
1135
1136
|
(openBlock(true), createElementBlock(Fragment, null, renderList(tabs.value, (tab, index) => {
|
|
@@ -1148,8 +1149,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1148
1149
|
return openBlock(), createBlock(_component_el_button, {
|
|
1149
1150
|
key: region.code,
|
|
1150
1151
|
type: "text",
|
|
1151
|
-
|
|
1152
|
-
|
|
1152
|
+
class: "region-btn",
|
|
1153
|
+
onClick: ($event) => navigateToRegion(region)
|
|
1153
1154
|
}, {
|
|
1154
1155
|
default: withCtx(() => [
|
|
1155
1156
|
createTextVNode(toDisplayString(region.name), 1)
|
|
@@ -1166,8 +1167,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1166
1167
|
return openBlock(), createBlock(_component_el_button, {
|
|
1167
1168
|
key: region.code,
|
|
1168
1169
|
type: "text",
|
|
1169
|
-
|
|
1170
|
-
|
|
1170
|
+
class: "region-btn",
|
|
1171
|
+
onClick: ($event) => navigateToRegion(region)
|
|
1171
1172
|
}, {
|
|
1172
1173
|
default: withCtx(() => [
|
|
1173
1174
|
createTextVNode(toDisplayString(region.name), 1)
|
|
@@ -1184,8 +1185,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1184
1185
|
return openBlock(), createBlock(_component_el_button, {
|
|
1185
1186
|
key: region.code,
|
|
1186
1187
|
type: "text",
|
|
1187
|
-
|
|
1188
|
-
|
|
1188
|
+
class: "region-btn",
|
|
1189
|
+
onClick: ($event) => navigateToRegion(region)
|
|
1189
1190
|
}, {
|
|
1190
1191
|
default: withCtx(() => [
|
|
1191
1192
|
createTextVNode(toDisplayString(region.name), 1)
|
|
@@ -1202,8 +1203,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1202
1203
|
return openBlock(), createBlock(_component_el_button, {
|
|
1203
1204
|
key: region.code,
|
|
1204
1205
|
type: "text",
|
|
1205
|
-
|
|
1206
|
-
|
|
1206
|
+
class: "region-btn",
|
|
1207
|
+
onClick: ($event) => navigateToRegion(region)
|
|
1207
1208
|
}, {
|
|
1208
1209
|
default: withCtx(() => [
|
|
1209
1210
|
createTextVNode(toDisplayString(region.name), 1)
|
|
@@ -1220,8 +1221,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1220
1221
|
return openBlock(), createBlock(_component_el_button, {
|
|
1221
1222
|
key: region.code,
|
|
1222
1223
|
type: "text",
|
|
1223
|
-
|
|
1224
|
-
|
|
1224
|
+
class: "region-btn",
|
|
1225
|
+
onClick: ($event) => navigateToRegion(region)
|
|
1225
1226
|
}, {
|
|
1226
1227
|
default: withCtx(() => [
|
|
1227
1228
|
createTextVNode(toDisplayString(region.name), 1)
|
|
@@ -1238,8 +1239,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1238
1239
|
return openBlock(), createBlock(_component_el_button, {
|
|
1239
1240
|
key: region.code,
|
|
1240
1241
|
type: "text",
|
|
1241
|
-
|
|
1242
|
-
|
|
1242
|
+
class: "region-btn",
|
|
1243
|
+
onClick: ($event) => navigateToRegion(region)
|
|
1243
1244
|
}, {
|
|
1244
1245
|
default: withCtx(() => [
|
|
1245
1246
|
createTextVNode(toDisplayString(region.name), 1)
|
|
@@ -1256,8 +1257,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1256
1257
|
return openBlock(), createBlock(_component_el_button, {
|
|
1257
1258
|
key: region.code,
|
|
1258
1259
|
type: "text",
|
|
1259
|
-
|
|
1260
|
-
|
|
1260
|
+
class: "region-btn",
|
|
1261
|
+
onClick: ($event) => navigateToRegion(region)
|
|
1261
1262
|
}, {
|
|
1262
1263
|
default: withCtx(() => [
|
|
1263
1264
|
createTextVNode(toDisplayString(region.name), 1)
|
|
@@ -1274,8 +1275,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1274
1275
|
return openBlock(), createBlock(_component_el_button, {
|
|
1275
1276
|
key: region.code,
|
|
1276
1277
|
type: "text",
|
|
1277
|
-
|
|
1278
|
-
|
|
1278
|
+
class: "region-btn",
|
|
1279
|
+
onClick: ($event) => navigateToRegion(region)
|
|
1279
1280
|
}, {
|
|
1280
1281
|
default: withCtx(() => [
|
|
1281
1282
|
createTextVNode(toDisplayString(region.name), 1)
|
|
@@ -1290,7 +1291,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1290
1291
|
(openBlock(true), createElementBlock(Fragment, null, renderList(tab.districts, (district) => {
|
|
1291
1292
|
return openBlock(), createBlock(_component_el_button, {
|
|
1292
1293
|
key: district.code,
|
|
1293
|
-
class: normalizeClass([
|
|
1294
|
+
class: normalizeClass([
|
|
1295
|
+
"district-btn",
|
|
1296
|
+
{ active: selectedDistrict.value === district.code }
|
|
1297
|
+
]),
|
|
1294
1298
|
onClick: ($event) => navigateToDistrict(district)
|
|
1295
1299
|
}, {
|
|
1296
1300
|
default: withCtx(() => [
|