vue-openlayers-plugin 1.0.82 → 1.0.85

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/lib/BasemapPanel-3f78db9f.mjs +280 -0
  2. package/lib/CoordinateLocationDialog-d265fbae.mjs +263 -0
  3. package/lib/FilterPanel-136dc7d8.mjs +6 -0
  4. package/lib/LayerPanel-58997ef0.mjs +6 -0
  5. package/lib/MapPrintDialog-6ed0e095.mjs +6 -0
  6. package/lib/MeasurementDialog-b86c21c6.mjs +369 -0
  7. package/lib/MyMarkersDialog-fbbd0aeb.mjs +584 -0
  8. package/lib/RegionNavigationDialog-0808549f.mjs +1320 -0
  9. package/lib/ViewBookmarksDialog-94010687.mjs +723 -0
  10. package/lib/index-14efa785.mjs +756 -0
  11. package/lib/{index-61901e1f.mjs → index-5a13e877.mjs} +50503 -53903
  12. package/lib/index-5b1583d0.mjs +839 -0
  13. package/lib/{index.es-c17b5917.mjs → index.es-0c397170.mjs} +1 -1
  14. package/lib/index.esm.js +65 -56
  15. package/lib/index.umd.js +73180 -71503
  16. package/lib/style.css +1705 -1704
  17. package/package.json +11 -5
  18. package/types/src/assets/index.d.ts +9 -0
  19. package/types/src/assets/index.d.ts.map +1 -0
  20. package/types/src/components/CustomDialog/CustomDialog.vue.d.ts +16 -16
  21. package/types/src/components/CustomDialog/icons/index.d.ts +14 -0
  22. package/types/src/components/CustomDialog/icons/index.d.ts.map +1 -0
  23. package/types/src/components/OlBaseLayerSwitcher.vue.d.ts +19 -0
  24. package/types/src/components/OlBaseLayerSwitcher.vue.d.ts.map +1 -0
  25. package/types/src/components/OlControlPanel.vue.d.ts +63 -0
  26. package/types/src/components/OlControlPanel.vue.d.ts.map +1 -0
  27. package/types/src/components/OlDialogs/BasemapPanel.vue.d.ts +20 -0
  28. package/types/src/components/OlDialogs/BasemapPanel.vue.d.ts.map +1 -0
  29. package/types/src/components/OlDialogs/CoordinateLocationDialog.vue.d.ts +21 -0
  30. package/types/src/components/OlDialogs/CoordinateLocationDialog.vue.d.ts.map +1 -0
  31. package/types/src/components/OlDialogs/DialogManager.d.ts +58 -0
  32. package/types/src/components/OlDialogs/DialogManager.d.ts.map +1 -0
  33. package/types/src/components/OlDialogs/FilterPanel.vue.d.ts +33 -0
  34. package/types/src/components/OlDialogs/FilterPanel.vue.d.ts.map +1 -0
  35. package/types/src/components/OlDialogs/LayerPanel.vue.d.ts +1345 -0
  36. package/types/src/components/OlDialogs/LayerPanel.vue.d.ts.map +1 -0
  37. package/types/src/components/OlDialogs/LayerStyleConfig.vue.d.ts +23 -0
  38. package/types/src/components/OlDialogs/LayerStyleConfig.vue.d.ts.map +1 -0
  39. package/types/src/components/OlDialogs/LayerTreeNode.vue.d.ts +28 -0
  40. package/types/src/components/OlDialogs/LayerTreeNode.vue.d.ts.map +1 -0
  41. package/types/src/components/OlDialogs/MapDrawingDialog/components/ListTab.vue.d.ts +3 -0
  42. package/types/src/components/OlDialogs/MapDrawingDialog/components/ListTab.vue.d.ts.map +1 -0
  43. package/types/src/components/OlDialogs/MapDrawingDialog/components/MarkTab.vue.d.ts +3 -0
  44. package/types/src/components/OlDialogs/MapDrawingDialog/components/MarkTab.vue.d.ts.map +1 -0
  45. package/types/src/components/OlDialogs/MapDrawingDialog/index.vue.d.ts +3 -0
  46. package/types/src/components/OlDialogs/MapDrawingDialog/index.vue.d.ts.map +1 -0
  47. package/types/src/components/OlDialogs/MapPrintDialog.vue.d.ts +24 -0
  48. package/types/src/components/OlDialogs/MapPrintDialog.vue.d.ts.map +1 -0
  49. package/types/src/components/OlDialogs/MeasurementDialog.vue.d.ts +41 -0
  50. package/types/src/components/OlDialogs/MeasurementDialog.vue.d.ts.map +1 -0
  51. package/types/src/components/OlDialogs/MyMarkersDialog.vue.d.ts +21 -0
  52. package/types/src/components/OlDialogs/MyMarkersDialog.vue.d.ts.map +1 -0
  53. package/types/src/components/OlDialogs/RegionNavigationDialog.vue.d.ts +25 -0
  54. package/types/src/components/OlDialogs/RegionNavigationDialog.vue.d.ts.map +1 -0
  55. package/types/src/components/OlDialogs/ViewBookmarksDialog.vue.d.ts +21 -0
  56. package/types/src/components/OlDialogs/ViewBookmarksDialog.vue.d.ts.map +1 -0
  57. package/types/src/components/OlDialogs/registry.d.ts +39 -0
  58. package/types/src/components/OlDialogs/registry.d.ts.map +1 -0
  59. package/types/src/components/OlDrawToolbar.vue.d.ts +61 -0
  60. package/types/src/components/OlDrawToolbar.vue.d.ts.map +1 -0
  61. package/types/src/components/OlLegendPanel.vue.d.ts +69 -0
  62. package/types/src/components/OlLegendPanel.vue.d.ts.map +1 -0
  63. package/types/src/components/OlMapContainer.vue.d.ts +112 -0
  64. package/types/src/components/OlMapContainer.vue.d.ts.map +1 -0
  65. package/types/src/components/OlMapPopup/ArrayPopup.vue.d.ts +47 -0
  66. package/types/src/components/OlMapPopup/ArrayPopup.vue.d.ts.map +1 -0
  67. package/types/src/components/OlMapPopup/BasePopup.vue.d.ts +63 -0
  68. package/types/src/components/OlMapPopup/BasePopup.vue.d.ts.map +1 -0
  69. package/types/src/components/OlMapPopup/HtmlPopup.vue.d.ts +45 -0
  70. package/types/src/components/OlMapPopup/HtmlPopup.vue.d.ts.map +1 -0
  71. package/types/src/components/OlMapPopup/ImagePopup.vue.d.ts +45 -0
  72. package/types/src/components/OlMapPopup/ImagePopup.vue.d.ts.map +1 -0
  73. package/types/src/components/OlMapPopup/index.d.ts +9 -0
  74. package/types/src/components/OlMapPopup/index.d.ts.map +1 -0
  75. package/types/src/components/OlMapPopup/types.d.ts +118 -0
  76. package/types/src/components/OlMapPopup/types.d.ts.map +1 -0
  77. package/types/src/components/OlMapSearch.vue.d.ts +126 -0
  78. package/types/src/components/OlMapSearch.vue.d.ts.map +1 -0
  79. package/types/src/components/OlMapTooltip.vue.d.ts +70 -0
  80. package/types/src/components/OlMapTooltip.vue.d.ts.map +1 -0
  81. package/types/src/core/EventBus.d.ts +66 -0
  82. package/types/src/core/EventBus.d.ts.map +1 -0
  83. package/types/src/core/EventManager.d.ts +147 -0
  84. package/types/src/core/EventManager.d.ts.map +1 -0
  85. package/types/src/core/FeatureHighlightManager.d.ts +103 -0
  86. package/types/src/core/FeatureHighlightManager.d.ts.map +1 -0
  87. package/types/src/core/GlobalStyleManager.d.ts +76 -0
  88. package/types/src/core/GlobalStyleManager.d.ts.map +1 -0
  89. package/types/src/core/LayerConfigManager.d.ts +66 -0
  90. package/types/src/core/LayerConfigManager.d.ts.map +1 -0
  91. package/types/src/core/LayerManager.d.ts +198 -0
  92. package/types/src/core/LayerManager.d.ts.map +1 -0
  93. package/types/src/core/LayerTreeManager.d.ts +125 -0
  94. package/types/src/core/LayerTreeManager.d.ts.map +1 -0
  95. package/types/src/core/MapManager.d.ts +203 -0
  96. package/types/src/core/MapManager.d.ts.map +1 -0
  97. package/types/src/core/MarkerDrawingAdapter.d.ts +125 -0
  98. package/types/src/core/MarkerDrawingAdapter.d.ts.map +1 -0
  99. package/types/src/core/PluginManager.d.ts +158 -0
  100. package/types/src/core/PluginManager.d.ts.map +1 -0
  101. package/types/src/core/PopupManager.d.ts +110 -0
  102. package/types/src/core/PopupManager.d.ts.map +1 -0
  103. package/types/src/core/SearchMarkerManager.d.ts +96 -0
  104. package/types/src/core/SearchMarkerManager.d.ts.map +1 -0
  105. package/types/src/core/TooltipHelper.d.ts +134 -0
  106. package/types/src/core/TooltipHelper.d.ts.map +1 -0
  107. package/types/src/core/amapSearchApi.d.ts +57 -0
  108. package/types/src/core/amapSearchApi.d.ts.map +1 -0
  109. package/types/src/core/basemapManager.d.ts +63 -0
  110. package/types/src/core/basemapManager.d.ts.map +1 -0
  111. package/types/src/core/configLoader.d.ts +159 -0
  112. package/types/src/core/configLoader.d.ts.map +1 -0
  113. package/types/src/core/drawing/BaseDrawing.d.ts +255 -0
  114. package/types/src/core/drawing/BaseDrawing.d.ts.map +1 -0
  115. package/types/src/core/drawing/DrawingManager.d.ts +394 -0
  116. package/types/src/core/drawing/DrawingManager.d.ts.map +1 -0
  117. package/types/src/core/drawing/IconDrawing.d.ts +188 -0
  118. package/types/src/core/drawing/IconDrawing.d.ts.map +1 -0
  119. package/types/src/core/drawing/ImageDrawing.d.ts +193 -0
  120. package/types/src/core/drawing/ImageDrawing.d.ts.map +1 -0
  121. package/types/src/core/drawing/LineDrawing.d.ts +193 -0
  122. package/types/src/core/drawing/LineDrawing.d.ts.map +1 -0
  123. package/types/src/core/drawing/MilitaryDrawing.d.ts +175 -0
  124. package/types/src/core/drawing/MilitaryDrawing.d.ts.map +1 -0
  125. package/types/src/core/drawing/MultiLineStringDrawing.d.ts +294 -0
  126. package/types/src/core/drawing/MultiLineStringDrawing.d.ts.map +1 -0
  127. package/types/src/core/drawing/MultiPointDrawing.d.ts +244 -0
  128. package/types/src/core/drawing/MultiPointDrawing.d.ts.map +1 -0
  129. package/types/src/core/drawing/MultiPolygonDrawing.d.ts +206 -0
  130. package/types/src/core/drawing/MultiPolygonDrawing.d.ts.map +1 -0
  131. package/types/src/core/drawing/PointDrawing.d.ts +175 -0
  132. package/types/src/core/drawing/PointDrawing.d.ts.map +1 -0
  133. package/types/src/core/drawing/PointWithTextDrawing.d.ts +183 -0
  134. package/types/src/core/drawing/PointWithTextDrawing.d.ts.map +1 -0
  135. package/types/src/core/drawing/PolygonDrawing.d.ts +240 -0
  136. package/types/src/core/drawing/PolygonDrawing.d.ts.map +1 -0
  137. package/types/src/core/drawing/TextDrawing.d.ts +164 -0
  138. package/types/src/core/drawing/TextDrawing.d.ts.map +1 -0
  139. package/types/src/core/drawing/index.d.ts +525 -0
  140. package/types/src/core/drawing/index.d.ts.map +1 -0
  141. package/types/src/core/geoJsonLocationTool.d.ts +116 -0
  142. package/types/src/core/geoJsonLocationTool.d.ts.map +1 -0
  143. package/types/src/core/layers/BaseLayer.d.ts +162 -0
  144. package/types/src/core/layers/BaseLayer.d.ts.map +1 -0
  145. package/types/src/core/layers/CanvasLayerHandler.d.ts +65 -0
  146. package/types/src/core/layers/CanvasLayerHandler.d.ts.map +1 -0
  147. package/types/src/core/layers/ClusterLayerHandler.d.ts +122 -0
  148. package/types/src/core/layers/ClusterLayerHandler.d.ts.map +1 -0
  149. package/types/src/core/layers/GMLLayerHandler.d.ts +107 -0
  150. package/types/src/core/layers/GMLLayerHandler.d.ts.map +1 -0
  151. package/types/src/core/layers/GeoJSONLayerHandler.d.ts +125 -0
  152. package/types/src/core/layers/GeoJSONLayerHandler.d.ts.map +1 -0
  153. package/types/src/core/layers/HeatmapLayerHandler.d.ts +86 -0
  154. package/types/src/core/layers/HeatmapLayerHandler.d.ts.map +1 -0
  155. package/types/src/core/layers/ImageVectorLayerHandler.d.ts +77 -0
  156. package/types/src/core/layers/ImageVectorLayerHandler.d.ts.map +1 -0
  157. package/types/src/core/layers/KMLLayerHandler.d.ts +95 -0
  158. package/types/src/core/layers/KMLLayerHandler.d.ts.map +1 -0
  159. package/types/src/core/layers/LayerFactory.d.ts +63 -0
  160. package/types/src/core/layers/LayerFactory.d.ts.map +1 -0
  161. package/types/src/core/layers/SuperMapServiceTester.d.ts +54 -0
  162. package/types/src/core/layers/SuperMapServiceTester.d.ts.map +1 -0
  163. package/types/src/core/layers/SuperMapTiledMapServiceHandler.d.ts +35 -0
  164. package/types/src/core/layers/SuperMapTiledMapServiceHandler.d.ts.map +1 -0
  165. package/types/src/core/layers/TiandituConfigHelper.d.ts +120 -0
  166. package/types/src/core/layers/TiandituConfigHelper.d.ts.map +1 -0
  167. package/types/src/core/layers/TiandituLayerHandler.d.ts +75 -0
  168. package/types/src/core/layers/TiandituLayerHandler.d.ts.map +1 -0
  169. package/types/src/core/layers/TileLayerHandler.d.ts +42 -0
  170. package/types/src/core/layers/TileLayerHandler.d.ts.map +1 -0
  171. package/types/src/core/layers/TileSuperMapRestHandler.d.ts +161 -0
  172. package/types/src/core/layers/TileSuperMapRestHandler.d.ts.map +1 -0
  173. package/types/src/core/layers/VectorTileLayerHandler.d.ts +126 -0
  174. package/types/src/core/layers/VectorTileLayerHandler.d.ts.map +1 -0
  175. package/types/src/core/layers/WFSLayerHandler.d.ts +80 -0
  176. package/types/src/core/layers/WFSLayerHandler.d.ts.map +1 -0
  177. package/types/src/core/layers/WKTLayerHandler.d.ts +123 -0
  178. package/types/src/core/layers/WKTLayerHandler.d.ts.map +1 -0
  179. package/types/src/core/layers/WMSLayerHandler.d.ts +78 -0
  180. package/types/src/core/layers/WMSLayerHandler.d.ts.map +1 -0
  181. package/types/src/core/layers/WMTSLayerHandler.d.ts +44 -0
  182. package/types/src/core/layers/WMTSLayerHandler.d.ts.map +1 -0
  183. package/types/src/core/layers/index.d.ts +20 -0
  184. package/types/src/core/layers/index.d.ts.map +1 -0
  185. package/types/src/core/layers/interfaces.d.ts +95 -0
  186. package/types/src/core/layers/interfaces.d.ts.map +1 -0
  187. package/types/src/core/mapOperationTool.d.ts +145 -0
  188. package/types/src/core/mapOperationTool.d.ts.map +1 -0
  189. package/types/src/core/measurementTool.d.ts +136 -0
  190. package/types/src/core/measurementTool.d.ts.map +1 -0
  191. package/types/src/core/overviewMapUtil.d.ts +62 -0
  192. package/types/src/core/overviewMapUtil.d.ts.map +1 -0
  193. package/types/src/core/proxyHelper.d.ts +66 -0
  194. package/types/src/core/proxyHelper.d.ts.map +1 -0
  195. package/types/src/core/storage.d.ts +139 -0
  196. package/types/src/core/storage.d.ts.map +1 -0
  197. package/types/src/core/styles/StyleFactory.d.ts +74 -0
  198. package/types/src/core/styles/StyleFactory.d.ts.map +1 -0
  199. package/types/src/core/styles/StyleManager.d.ts +77 -0
  200. package/types/src/core/styles/StyleManager.d.ts.map +1 -0
  201. package/types/src/core/styles/index.d.ts +67 -0
  202. package/types/src/core/styles/index.d.ts.map +1 -0
  203. package/types/src/core/styles/interfaces.d.ts +221 -0
  204. package/types/src/core/styles/interfaces.d.ts.map +1 -0
  205. package/types/src/core/tiandituSearchApi.d.ts +51 -0
  206. package/types/src/core/tiandituSearchApi.d.ts.map +1 -0
  207. package/types/src/data-old/testLayers.d.ts +84 -0
  208. package/types/src/data-old/testLayers.d.ts.map +1 -0
  209. package/types/src/examples-old/FilterExamples.d.ts +104 -0
  210. package/types/src/examples-old/FilterExamples.d.ts.map +1 -0
  211. package/types/src/hooks/useMap.d.ts +5 -0
  212. package/types/src/hooks/useMap.d.ts.map +1 -0
  213. package/types/src/services/searchService.d.ts +106 -0
  214. package/types/src/services/searchService.d.ts.map +1 -0
  215. package/types/src/test-old/FilterSystemTest.d.ts +57 -0
  216. package/types/src/test-old/FilterSystemTest.d.ts.map +1 -0
  217. package/types/src/types/index.d.ts +2 -11
  218. package/types/src/types/index.d.ts.map +1 -1
  219. package/types/src/types/map.d.ts +819 -0
  220. package/types/src/types/map.d.ts.map +1 -0
  221. package/types/src/types/plugin.d.ts +202 -0
  222. package/types/src/types/plugin.d.ts.map +1 -0
  223. package/types/src/utils/DiffusionAnimationHelper.d.ts +60 -0
  224. package/types/src/utils/DiffusionAnimationHelper.d.ts.map +1 -0
  225. package/types/src/utils/GifAnimationHelper.d.ts +31 -0
  226. package/types/src/utils/GifAnimationHelper.d.ts.map +1 -0
  227. package/types/src/utils/coordinateTransform.d.ts +28 -0
  228. package/types/src/utils/coordinateTransform.d.ts.map +1 -0
  229. package/types/src/utils/index.d.ts +8 -8
  230. package/types/src/utils/index.d.ts.map +1 -1
  231. package/types/src/utils/unitConverter.d.ts +36 -0
  232. package/types/src/utils/unitConverter.d.ts.map +1 -0
  233. package/types/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,839 @@
1
+ import { inject, computed, ref, onMounted, resolveComponent, openBlock, createElementBlock, createVNode, withCtx, Fragment, renderList, createElementVNode, normalizeClass, toDisplayString, unref, createTextVNode, createCommentVNode, createBlock } from "vue";
2
+ import { d as _export_sfc, $ as DrawingManager, a0 as close_default } from "./index-5a13e877.mjs";
3
+ import "ol";
4
+ const icons = {
5
+ pointMarker: "/icons/point.png",
6
+ editMarker: "/icons/edit.png",
7
+ deleteMarker: "/icons/delete.png",
8
+ qqMarker: "/icons/qq.png",
9
+ typhoonMarker: "/icons/typhoon.png",
10
+ roadMarker: "/icons/road.png"
11
+ };
12
+ const _hoisted_1$2 = { class: "mark-tab-container" };
13
+ const _hoisted_2$2 = { class: "continuous-switch" };
14
+ const _hoisted_3$2 = { class: "tools-grid" };
15
+ const _hoisted_4$2 = ["onClick"];
16
+ const _hoisted_5$2 = ["src"];
17
+ const _hoisted_6$2 = { class: "tool-label" };
18
+ const _hoisted_7$2 = {
19
+ key: 0,
20
+ class: "stop-drawing-section"
21
+ };
22
+ const _sfc_main$2 = {
23
+ __name: "MarkTab",
24
+ setup(__props) {
25
+ const mapRef = inject("map");
26
+ const map = computed(() => mapRef == null ? void 0 : mapRef.value);
27
+ const drawingManager = ref(null);
28
+ const drawTypes = [
29
+ { label: "点", value: "point" },
30
+ { label: "线", value: "line" },
31
+ { label: "面", value: "polygon" },
32
+ { label: "多几何", value: "multi" },
33
+ { label: "复合标绘", value: "composite" },
34
+ { label: "编辑工具", value: "edit" }
35
+ ];
36
+ const toolMap = {
37
+ point: [
38
+ { icon: icons.pointMarker, label: "单点", type: "simple-point" },
39
+ { icon: icons.pointMarker, label: "图标点", type: "icon-point" },
40
+ { icon: icons.editMarker, label: "自定义点", type: "custom-point" },
41
+ { icon: icons.deleteMarker, label: "删除点", type: "delete-point" },
42
+ { icon: icons.qqMarker, label: "QQ图标点", type: "qq-point" },
43
+ { icon: icons.typhoonMarker, label: "台风GIF点", type: "typhoon-point" },
44
+ { icon: "i-carbon-radio-button", label: "扩散点", type: "diffusion-point" },
45
+ { icon: "i-carbon-text-small-caps", label: "文字", type: "simple-text" },
46
+ {
47
+ icon: "i-carbon-annotation-visibility",
48
+ label: "气泡",
49
+ type: "bubble-text"
50
+ },
51
+ { icon: "i-carbon-text-font", label: "样式文字", type: "styled-text" }
52
+ ],
53
+ line: [
54
+ { icon: "i-carbon-chart-line", label: "折线", type: "polyline" },
55
+ { icon: "i-carbon-close-outline", label: "闭合线", type: "closed-line" },
56
+ { icon: "i-carbon-chart-curve", label: "曲线", type: "curve-line" },
57
+ { icon: "i-carbon-arrow-right", label: "箭头线", type: "arrow-line" },
58
+ { icon: icons.roadMarker, label: "图片线", type: "image-line" }
59
+ ],
60
+ polygon: [
61
+ { icon: "i-carbon-checkbox-checked", label: "矩形", type: "rectangle" },
62
+ { icon: "i-carbon-circle-dash", label: "圆形", type: "circle" },
63
+ { icon: "i-carbon-cube", label: "多边形", type: "polygon" },
64
+ { icon: "i-carbon-star", label: "星形", type: "star" }
65
+ ],
66
+ composite: [
67
+ {
68
+ icon: "i-carbon-location-current",
69
+ label: "点位文字",
70
+ type: "point-with-text"
71
+ },
72
+ { icon: "i-carbon-text-link", label: "线带文字", type: "line-with-text" },
73
+ {
74
+ icon: "i-carbon-chart-area",
75
+ label: "面带文字",
76
+ type: "polygon-with-text"
77
+ },
78
+ { icon: "i-carbon-map", label: "标注点", type: "marker-with-label" }
79
+ ],
80
+ multi: [
81
+ { icon: "i-carbon-location", label: "多点", type: "multi-point" },
82
+ { icon: "i-carbon-chart-multiline", label: "多线", type: "multi-line" },
83
+ { icon: "i-carbon-layers", label: "多面", type: "multi-polygon" }
84
+ ],
85
+ edit: [
86
+ { icon: "i-carbon-cursor-1", label: "选择", type: "select" },
87
+ { icon: "i-carbon-edit", label: "编辑", type: "modify" },
88
+ { icon: "i-carbon-trash-can", label: "删除", type: "delete" },
89
+ { icon: "i-carbon-copy", label: "复制", type: "duplicate" },
90
+ { icon: "i-carbon-close", label: "取消", type: "cancel" }
91
+ ]
92
+ };
93
+ const selectedType = ref("multi");
94
+ const activeDrawingTool = ref(null);
95
+ const continuousDrawing = ref(false);
96
+ const currentTools = computed(() => toolMap[selectedType.value] || []);
97
+ onMounted(() => {
98
+ if (map.value) {
99
+ drawingManager.value = new DrawingManager({
100
+ map: map.value,
101
+ enableSnap: true,
102
+ enableModify: true,
103
+ enableSelect: true,
104
+ allowContinuousDrawing: false,
105
+ // 不允许连续标绘
106
+ defaultStyle: {
107
+ fill: {
108
+ color: "rgba(255, 255, 255, 0.2)"
109
+ },
110
+ stroke: {
111
+ color: "#ffcc33",
112
+ width: 2
113
+ },
114
+ image: {
115
+ radius: 7,
116
+ fill: {
117
+ color: "#ffcc33"
118
+ }
119
+ }
120
+ }
121
+ });
122
+ drawingManager.value.on("drawing-end", (drawing) => {
123
+ const feature = drawing.getFeature();
124
+ const geometry = feature ? feature.getGeometry() : null;
125
+ if (geometry) {
126
+ drawing.getCoordinates();
127
+ console.log(
128
+ `成功添加${getToolLabelByType(activeDrawingTool.value)}`
129
+ );
130
+ drawingManager.value.setMode("select");
131
+ }
132
+ });
133
+ } else {
134
+ console.error("地图实例未找到");
135
+ }
136
+ });
137
+ const getToolLabelByType = (type) => {
138
+ for (const category in toolMap) {
139
+ const tool = toolMap[category].find((t) => t.type === type);
140
+ if (tool)
141
+ return tool.label;
142
+ }
143
+ return "标绘";
144
+ };
145
+ const handleToolClick = (tool) => {
146
+ if (!map.value || !drawingManager.value) {
147
+ console.error("地图实例未找到");
148
+ return;
149
+ }
150
+ const currentMode = drawingManager.value.getMode();
151
+ if (currentMode !== "none" && currentMode !== "select" && currentMode !== "modify") {
152
+ drawingManager.value.setMode("none");
153
+ console.log(
154
+ `已停止当前${getToolLabelByType(activeDrawingTool.value)}标绘,开始${tool.label}标绘`
155
+ );
156
+ }
157
+ activeDrawingTool.value = tool.type;
158
+ switch (tool.type) {
159
+ case "simple-point":
160
+ drawingManager.value.setMode("point", {
161
+ image: {
162
+ radius: 5,
163
+ fill: {
164
+ color: "#ff4444"
165
+ },
166
+ stroke: {
167
+ color: "#fffccc",
168
+ width: 2
169
+ }
170
+ },
171
+ allowContinuousDrawing: continuousDrawing.value
172
+ });
173
+ console.log(`开始绘制${tool.label},请在地图上点击添加点位`);
174
+ break;
175
+ case "icon-point":
176
+ drawingManager.value.setMode("point", {
177
+ image: {
178
+ src: icons.pointMarker,
179
+ scale: 1.2,
180
+ anchor: [0.5, 1],
181
+ anchorXUnits: "fraction",
182
+ anchorYUnits: "fraction"
183
+ },
184
+ allowContinuousDrawing: continuousDrawing.value
185
+ });
186
+ console.log(`开始绘制${tool.label},请在地图上点击添加图标点`);
187
+ break;
188
+ case "custom-point":
189
+ drawingManager.value.setMode("point", {
190
+ image: {
191
+ src: icons.editMarker,
192
+ scale: 1,
193
+ anchor: [0.5, 0.5],
194
+ anchorXUnits: "fraction",
195
+ anchorYUnits: "fraction"
196
+ },
197
+ allowContinuousDrawing: continuousDrawing.value
198
+ });
199
+ console.log(`开始绘制${tool.label},请在地图上点击添加自定义点`);
200
+ break;
201
+ case "diffusion-point":
202
+ drawingManager.value.setMode("point", {
203
+ pointStyle: "diffusion",
204
+ diffusionConfig: {
205
+ ringCount: 3,
206
+ maxRadius: 50,
207
+ duration: 2e3,
208
+ color: "rgba(64, 158, 255, 0.6)",
209
+ centerColor: "#409eff",
210
+ centerSize: 8,
211
+ delay: 500
212
+ },
213
+ allowContinuousDrawing: continuousDrawing.value
214
+ });
215
+ console.log(`开始绘制${tool.label},请在地图上点击添加扩散点`);
216
+ break;
217
+ case "gif-point":
218
+ drawingManager.value.setMode("point", {
219
+ pointStyle: "gif",
220
+ gifConfig: {
221
+ url: "",
222
+ scale: 1,
223
+ opacity: 0.8,
224
+ anchor: [0.5, 0.5]
225
+ },
226
+ allowContinuousDrawing: continuousDrawing.value
227
+ });
228
+ console.log(`开始绘制${tool.label},请在地图上点击添加GIF动画点`);
229
+ break;
230
+ case "simple-text":
231
+ drawingManager.value.setMode("text", {
232
+ text: {
233
+ font: "14px Arial",
234
+ fill: {
235
+ color: "#333333"
236
+ },
237
+ stroke: {
238
+ color: "#ffffff",
239
+ width: 2
240
+ },
241
+ offsetY: -15
242
+ },
243
+ allowContinuousDrawing: continuousDrawing.value
244
+ });
245
+ console.log(
246
+ `开始绘制${tool.label},请在地图上点击添加文字标注(支持连续标绘)`
247
+ );
248
+ break;
249
+ case "bubble-text":
250
+ drawingManager.value.setMode("text", {
251
+ text: {
252
+ font: "16px Arial",
253
+ fill: {
254
+ color: "#ffffff"
255
+ },
256
+ backgroundFill: {
257
+ color: "rgba(0, 123, 255, 0.8)"
258
+ },
259
+ backgroundStroke: {
260
+ color: "#2c5aa0",
261
+ width: 2
262
+ },
263
+ padding: [10, 16, 10, 16],
264
+ offsetY: -5
265
+ },
266
+ allowContinuousDrawing: continuousDrawing.value
267
+ });
268
+ console.log(`开始绘制${tool.label},请在地图上点击添加气泡文字`);
269
+ break;
270
+ case "styled-text":
271
+ drawingManager.value.setMode("text", {
272
+ text: {
273
+ font: "bold 20px Arial",
274
+ fill: {
275
+ color: "#1a365d"
276
+ },
277
+ stroke: {
278
+ color: "#ffffff",
279
+ width: 3
280
+ },
281
+ backgroundFill: {
282
+ color: "rgba(255, 215, 0, 0.9)"
283
+ },
284
+ backgroundStroke: {
285
+ color: "#ff6b35",
286
+ width: 3
287
+ },
288
+ padding: [12, 20, 12, 20],
289
+ offsetY: -8
290
+ },
291
+ allowContinuousDrawing: continuousDrawing.value
292
+ });
293
+ console.log(`开始绘制${tool.label},请在地图上点击添加样式文字`);
294
+ break;
295
+ case "straight-line":
296
+ drawingManager.value.setMode("line", {
297
+ stroke: {
298
+ color: "#1890ff",
299
+ width: 3
300
+ },
301
+ allowContinuousDrawing: continuousDrawing.value
302
+ });
303
+ console.log(`开始绘制${tool.label},请在地图上点击绘制直线`);
304
+ break;
305
+ case "polyline":
306
+ drawingManager.value.setMode("line", {
307
+ stroke: {
308
+ color: "#52c41a",
309
+ width: 2,
310
+ lineDash: [5, 5]
311
+ },
312
+ allowContinuousDrawing: continuousDrawing.value
313
+ });
314
+ console.log(`开始绘制${tool.label},请在地图上点击绘制折线`);
315
+ break;
316
+ case "closed-line":
317
+ drawingManager.value.setMode("polygon", {
318
+ stroke: {
319
+ color: "#ffc107",
320
+ width: 2
321
+ },
322
+ fillOpacity: 0,
323
+ allowContinuousDrawing: continuousDrawing.value
324
+ });
325
+ console.log(`开始绘制${tool.label},请在地图上点击绘制闭合线`);
326
+ break;
327
+ case "curve-line":
328
+ drawingManager.value.setMode("line", {
329
+ stroke: {
330
+ color: "#722ed1",
331
+ width: 3,
332
+ lineCap: "round",
333
+ lineJoin: "round"
334
+ },
335
+ allowContinuousDrawing: continuousDrawing.value
336
+ });
337
+ console.log(`开始绘制${tool.label},请在地图上点击绘制曲线`);
338
+ break;
339
+ case "arrow-line":
340
+ drawingManager.value.setMode("line", {
341
+ stroke: {
342
+ color: "#ff6b35",
343
+ width: 3,
344
+ lineCap: "round",
345
+ lineJoin: "round"
346
+ },
347
+ showArrow: true,
348
+ arrowSize: 12,
349
+ arrowColor: "#ff6b35",
350
+ allowContinuousDrawing: continuousDrawing.value
351
+ });
352
+ console.log(`开始绘制${tool.label},请在地图上点击绘制箭头线`);
353
+ break;
354
+ case "image-line":
355
+ drawingManager.value.setMode("line", {
356
+ imagePattern: {
357
+ src: icons.roadMarker
358
+ },
359
+ allowContinuousDrawing: continuousDrawing.value
360
+ });
361
+ console.log(`开始绘制道路线,请在地图上点击绘制道路线`);
362
+ break;
363
+ case "rectangle":
364
+ drawingManager.value.setMode("rectangle", {
365
+ fill: {
366
+ color: "rgba(24, 144, 255, 0.3)"
367
+ },
368
+ stroke: {
369
+ color: "#1890ff",
370
+ width: 2
371
+ },
372
+ allowContinuousDrawing: continuousDrawing.value
373
+ });
374
+ console.log(`开始绘制${tool.label},请在地图上拖拽绘制矩形`);
375
+ break;
376
+ case "circle":
377
+ drawingManager.value.setMode("circle", {
378
+ fill: {
379
+ color: "rgba(82, 196, 26, 0.3)"
380
+ },
381
+ stroke: {
382
+ color: "#52c41a",
383
+ width: 2
384
+ },
385
+ allowContinuousDrawing: continuousDrawing.value
386
+ });
387
+ console.log(`开始绘制${tool.label},请在地图上拖拽绘制圆形`);
388
+ break;
389
+ case "polygon":
390
+ drawingManager.value.setMode("polygon", {
391
+ fill: {
392
+ color: "rgba(255, 193, 7, 0.3)"
393
+ },
394
+ stroke: {
395
+ color: "#ffc107",
396
+ width: 2
397
+ },
398
+ allowContinuousDrawing: continuousDrawing.value
399
+ });
400
+ console.log(
401
+ `开始绘制${tool.label},请在地图上点击绘制多边形,双击结束`
402
+ );
403
+ break;
404
+ case "star":
405
+ drawingManager.value.setMode("star", {
406
+ fill: {
407
+ color: "rgba(255, 87, 34, 0.3)"
408
+ },
409
+ stroke: {
410
+ color: "#ff5722",
411
+ width: 2
412
+ },
413
+ allowContinuousDrawing: continuousDrawing.value
414
+ });
415
+ console.log(`开始绘制${tool.label},请在地图上拖拽绘制星形`);
416
+ break;
417
+ case "delete-point":
418
+ drawingManager.value.setMode("point", {
419
+ image: {
420
+ src: icons.deleteMarker,
421
+ scale: 1,
422
+ anchor: [0.5, 0.5],
423
+ anchorXUnits: "fraction",
424
+ anchorYUnits: "fraction"
425
+ }
426
+ });
427
+ console.log(`开始绘制${tool.label},请在地图上点击添加删除标记点`);
428
+ break;
429
+ case "qq-point":
430
+ drawingManager.value.setMode("point", {
431
+ image: {
432
+ src: icons.qqMarker,
433
+ scale: 0.8,
434
+ anchor: [0.5, 0.5],
435
+ anchorXUnits: "fraction",
436
+ anchorYUnits: "fraction"
437
+ }
438
+ });
439
+ console.log(`开始绘制${tool.label},请在地图上点击添加QQ图标点`);
440
+ break;
441
+ case "typhoon-point":
442
+ drawingManager.value.setMode("point", {
443
+ pointStyle: "gif",
444
+ gifConfig: {
445
+ url: icons.typhoonMarker,
446
+ scale: 0.6,
447
+ opacity: 1,
448
+ anchor: [0.5, 0.5]
449
+ }
450
+ });
451
+ console.log(`开始绘制${tool.label},请在地图上点击添加台风GIF点`);
452
+ break;
453
+ case "multi-point":
454
+ drawingManager.value.setMode("multipoint", {
455
+ image: {
456
+ radius: 6,
457
+ fill: {
458
+ color: "#ff6b35"
459
+ },
460
+ stroke: {
461
+ color: "#ffffff",
462
+ width: 2
463
+ }
464
+ },
465
+ allowContinuousDrawing: continuousDrawing.value
466
+ });
467
+ console.log(
468
+ `开始绘制${tool.label},请在地图上点击添加多个点位,双击结束`
469
+ );
470
+ break;
471
+ case "multi-line":
472
+ drawingManager.value.setMode("multilinestring", {
473
+ stroke: {
474
+ color: "#722ed1",
475
+ width: 3,
476
+ lineDash: [10, 5]
477
+ },
478
+ allowContinuousDrawing: continuousDrawing.value
479
+ });
480
+ console.log(
481
+ `开始绘制${tool.label},请在地图上绘制多条线段,双击结束每条线`
482
+ );
483
+ break;
484
+ case "multi-polygon":
485
+ drawingManager.value.setMode("multipolygon", {
486
+ fill: {
487
+ color: "rgba(114, 46, 209, 0.3)"
488
+ },
489
+ stroke: {
490
+ color: "#722ed1",
491
+ width: 2
492
+ },
493
+ allowContinuousDrawing: continuousDrawing.value
494
+ });
495
+ console.log(
496
+ `开始绘制${tool.label},请在地图上绘制多个多边形,双击结束每个多边形`
497
+ );
498
+ break;
499
+ case "select":
500
+ drawingManager.value.setMode("select");
501
+ console.log("已切换到选择模式,点击图形进行选择");
502
+ break;
503
+ case "modify":
504
+ drawingManager.value.setMode("modify");
505
+ console.log("已切换到编辑模式,选择图形后可拖拽编辑");
506
+ break;
507
+ case "delete":
508
+ if (drawingManager.value.deleteSelectedDrawing()) {
509
+ console.log("已删除选中的图形");
510
+ } else {
511
+ console.warn("请先选择要删除的图形");
512
+ }
513
+ break;
514
+ case "duplicate":
515
+ if (drawingManager.value.duplicateSelectedDrawing()) {
516
+ console.log("已复制选中的图形");
517
+ } else {
518
+ console.warn("请先选择要复制的图形");
519
+ }
520
+ break;
521
+ case "cancel":
522
+ drawingManager.value.setMode("none");
523
+ console.log("已取消当前操作");
524
+ activeDrawingTool.value = null;
525
+ break;
526
+ default:
527
+ console.log(`${tool.label}功能正在开发中`);
528
+ break;
529
+ }
530
+ };
531
+ const stopDrawing = () => {
532
+ if (drawingManager.value) {
533
+ drawingManager.value.setMode("none");
534
+ console.log(
535
+ `已停止${getToolLabelByType(activeDrawingTool.value)}标绘`
536
+ );
537
+ activeDrawingTool.value = null;
538
+ }
539
+ };
540
+ return (_ctx, _cache) => {
541
+ const _component_el_option = resolveComponent("el-option");
542
+ const _component_el_select = resolveComponent("el-select");
543
+ const _component_el_switch = resolveComponent("el-switch");
544
+ const _component_el_button = resolveComponent("el-button");
545
+ return openBlock(), createElementBlock("div", _hoisted_1$2, [
546
+ createVNode(_component_el_select, {
547
+ modelValue: selectedType.value,
548
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedType.value = $event),
549
+ placeholder: "选择标绘类型",
550
+ class: "type-select"
551
+ }, {
552
+ default: withCtx(() => [
553
+ (openBlock(), createElementBlock(Fragment, null, renderList(drawTypes, (item) => {
554
+ return createVNode(_component_el_option, {
555
+ key: item.value,
556
+ label: item.label,
557
+ value: item.value
558
+ }, null, 8, ["label", "value"]);
559
+ }), 64))
560
+ ]),
561
+ _: 1
562
+ }, 8, ["modelValue"]),
563
+ createElementVNode("div", _hoisted_2$2, [
564
+ _cache[2] || (_cache[2] = createElementVNode("span", { class: "switch-label" }, "连续标绘模式", -1)),
565
+ createVNode(_component_el_switch, {
566
+ modelValue: continuousDrawing.value,
567
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => continuousDrawing.value = $event),
568
+ size: "small"
569
+ }, null, 8, ["modelValue"])
570
+ ]),
571
+ createElementVNode("div", _hoisted_3$2, [
572
+ (openBlock(true), createElementBlock(Fragment, null, renderList(currentTools.value, (tool, idx) => {
573
+ return openBlock(), createElementBlock("div", {
574
+ key: idx,
575
+ class: "tool-item",
576
+ onClick: ($event) => handleToolClick(tool)
577
+ }, [
578
+ tool.icon.startsWith("data:image") || tool.icon.includes(".svg") ? (openBlock(), createElementBlock("img", {
579
+ key: 0,
580
+ src: tool.icon,
581
+ class: "tool-image",
582
+ alt: "tool icon"
583
+ }, null, 8, _hoisted_5$2)) : (openBlock(), createElementBlock("i", {
584
+ key: 1,
585
+ class: normalizeClass([tool.icon, "tool-icon-large"])
586
+ }, null, 2)),
587
+ createElementVNode("span", _hoisted_6$2, toDisplayString(tool.label), 1)
588
+ ], 8, _hoisted_4$2);
589
+ }), 128))
590
+ ]),
591
+ activeDrawingTool.value && continuousDrawing.value ? (openBlock(), createElementBlock("div", _hoisted_7$2, [
592
+ createVNode(_component_el_button, {
593
+ type: "danger",
594
+ size: "small",
595
+ onClick: stopDrawing,
596
+ icon: unref(close_default)
597
+ }, {
598
+ default: withCtx(() => [..._cache[3] || (_cache[3] = [
599
+ createTextVNode(" 停止当前标绘 ", -1)
600
+ ])]),
601
+ _: 1
602
+ }, 8, ["icon"])
603
+ ])) : createCommentVNode("", true)
604
+ ]);
605
+ };
606
+ }
607
+ };
608
+ const MarkTab = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-b5ca6d89"]]);
609
+ const _hoisted_1$1 = { class: "list-tab-container" };
610
+ const _hoisted_2$1 = { class: "toolbar" };
611
+ const _hoisted_3$1 = { class: "toolbar-left" };
612
+ const _hoisted_4$1 = { class: "data-count" };
613
+ const _hoisted_5$1 = { class: "list-content" };
614
+ const _hoisted_6$1 = { class: "tree-node" };
615
+ const _hoisted_7$1 = {
616
+ key: 1,
617
+ class: "empty-state"
618
+ };
619
+ const _sfc_main$1 = {
620
+ __name: "ListTab",
621
+ setup(__props) {
622
+ const groups = ref([
623
+ { id: 1, label: "labelP" },
624
+ { id: 2, label: "canvasLabel" },
625
+ { id: 3, label: "div" }
626
+ ]);
627
+ const defaultProps = {
628
+ children: "children",
629
+ label: "label"
630
+ };
631
+ const addGroup = () => {
632
+ console.log("新增分组");
633
+ };
634
+ const refresh = () => {
635
+ console.log("刷新数据");
636
+ };
637
+ return (_ctx, _cache) => {
638
+ const _component_el_button = resolveComponent("el-button");
639
+ const _component_el_tree = resolveComponent("el-tree");
640
+ return openBlock(), createElementBlock("div", _hoisted_1$1, [
641
+ createElementVNode("div", _hoisted_2$1, [
642
+ createElementVNode("div", _hoisted_3$1, [
643
+ _cache[2] || (_cache[2] = createElementVNode("span", { class: "toolbar-title" }, "分组管理:", -1)),
644
+ createVNode(_component_el_button, {
645
+ type: "primary",
646
+ link: "",
647
+ onClick: addGroup
648
+ }, {
649
+ default: withCtx(() => [..._cache[0] || (_cache[0] = [
650
+ createElementVNode("i", { class: "i-carbon-add toolbar-icon" }, null, -1)
651
+ ])]),
652
+ _: 1
653
+ }),
654
+ createVNode(_component_el_button, {
655
+ type: "primary",
656
+ link: "",
657
+ onClick: refresh
658
+ }, {
659
+ default: withCtx(() => [..._cache[1] || (_cache[1] = [
660
+ createElementVNode("i", { class: "i-carbon-renew toolbar-icon" }, null, -1)
661
+ ])]),
662
+ _: 1
663
+ })
664
+ ]),
665
+ createElementVNode("div", _hoisted_4$1, "共" + toDisplayString(groups.value.length) + "条数据", 1)
666
+ ]),
667
+ createElementVNode("div", _hoisted_5$1, [
668
+ groups.value.length ? (openBlock(), createBlock(_component_el_tree, {
669
+ key: 0,
670
+ data: groups.value,
671
+ "show-checkbox": "",
672
+ "node-key": "id",
673
+ "default-expand-all": "",
674
+ props: defaultProps,
675
+ class: "tree-component"
676
+ }, {
677
+ default: withCtx(({ data }) => [
678
+ createElementVNode("div", _hoisted_6$1, [
679
+ _cache[3] || (_cache[3] = createElementVNode("i", { class: "i-carbon-folder node-icon" }, null, -1)),
680
+ createElementVNode("span", null, toDisplayString(data.label), 1)
681
+ ])
682
+ ]),
683
+ _: 1
684
+ }, 8, ["data"])) : (openBlock(), createElementBlock("div", _hoisted_7$1, "暂无数据"))
685
+ ])
686
+ ]);
687
+ };
688
+ }
689
+ };
690
+ const ListTab = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-148877f2"]]);
691
+ const _hoisted_1 = { class: "dialog-content" };
692
+ const _hoisted_2 = { class: "toolbar" };
693
+ const _hoisted_3 = { class: "toolbar-left" };
694
+ const _hoisted_4 = ["onClick"];
695
+ const _hoisted_5 = { class: "toolbar-right" };
696
+ const _hoisted_6 = ["onClick"];
697
+ const _hoisted_7 = { class: "content-area" };
698
+ const _sfc_main = {
699
+ __name: "index",
700
+ setup(__props) {
701
+ const visible = ref(true);
702
+ const activeTab = ref("mark");
703
+ const leftTools = [
704
+ { icon: "i-carbon-folder-open", label: "打开文件", action: "openFile" },
705
+ { icon: "i-carbon-layers", label: "叠加文件", action: "overlayFile" },
706
+ { icon: "i-carbon-save", label: "保存", action: "saveFile" }
707
+ ];
708
+ const rightTools = [
709
+ { icon: "i-carbon-trash-can", label: "删除", action: "delete" },
710
+ { icon: "i-carbon-lock", label: "锁定", action: "lock" },
711
+ { icon: "i-carbon-popup", label: "绑定Popup", action: "bindPopup" }
712
+ ];
713
+ const handleClose = () => {
714
+ visible.value = false;
715
+ };
716
+ const handleToolClick = (tool, position, index2) => {
717
+ console.log(`点击了${position}侧第${index2 + 1}个工具: ${tool.label},执行动作: ${tool.action}`);
718
+ switch (tool.action) {
719
+ case "openFile":
720
+ console.log("打开文件功能");
721
+ break;
722
+ case "overlayFile":
723
+ console.log("叠加文件功能");
724
+ break;
725
+ case "saveFile":
726
+ console.log("保存功能");
727
+ break;
728
+ case "delete":
729
+ console.warn("删除功能");
730
+ break;
731
+ case "lock":
732
+ console.log("锁定功能");
733
+ break;
734
+ case "bindPopup":
735
+ console.log("绑定Popup功能");
736
+ break;
737
+ }
738
+ };
739
+ return (_ctx, _cache) => {
740
+ const _component_el_tooltip = resolveComponent("el-tooltip");
741
+ const _component_el_tab_pane = resolveComponent("el-tab-pane");
742
+ const _component_el_tabs = resolveComponent("el-tabs");
743
+ const _component_EPlusDialog = resolveComponent("EPlusDialog");
744
+ return openBlock(), createBlock(_component_EPlusDialog, {
745
+ modelValue: visible.value,
746
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => visible.value = $event),
747
+ title: "图上标绘",
748
+ width: "500px",
749
+ height: "auto",
750
+ "show-modal": false,
751
+ draggable: true,
752
+ "show-fullscreen": false,
753
+ "close-on-click-modal": false,
754
+ "close-on-press-escape": false,
755
+ "custom-class": "map-drawing-dialog",
756
+ cacheId: "drawing-dialog",
757
+ onClose: handleClose
758
+ }, {
759
+ default: withCtx(() => [
760
+ createElementVNode("div", _hoisted_1, [
761
+ createElementVNode("div", _hoisted_2, [
762
+ createElementVNode("div", _hoisted_3, [
763
+ (openBlock(), createElementBlock(Fragment, null, renderList(leftTools, (tool, idx) => {
764
+ return createVNode(_component_el_tooltip, {
765
+ key: idx,
766
+ content: tool.label,
767
+ placement: "bottom",
768
+ effect: "light"
769
+ }, {
770
+ default: withCtx(() => [
771
+ createElementVNode("i", {
772
+ class: normalizeClass([tool.icon, "tool-icon"]),
773
+ onClick: ($event) => handleToolClick(tool, "left", idx)
774
+ }, null, 10, _hoisted_4)
775
+ ]),
776
+ _: 2
777
+ }, 1032, ["content"]);
778
+ }), 64))
779
+ ]),
780
+ createElementVNode("div", _hoisted_5, [
781
+ (openBlock(), createElementBlock(Fragment, null, renderList(rightTools, (tool, idx) => {
782
+ return createVNode(_component_el_tooltip, {
783
+ key: idx,
784
+ content: tool.label,
785
+ placement: "bottom",
786
+ effect: "light"
787
+ }, {
788
+ default: withCtx(() => [
789
+ createElementVNode("i", {
790
+ class: normalizeClass([tool.icon, "tool-icon"]),
791
+ onClick: ($event) => handleToolClick(tool, "right", idx)
792
+ }, null, 10, _hoisted_6)
793
+ ]),
794
+ _: 2
795
+ }, 1032, ["content"]);
796
+ }), 64))
797
+ ])
798
+ ]),
799
+ createElementVNode("div", _hoisted_7, [
800
+ createVNode(_component_el_tabs, {
801
+ modelValue: activeTab.value,
802
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => activeTab.value = $event),
803
+ "tab-position": "bottom",
804
+ class: "tabs-container"
805
+ }, {
806
+ default: withCtx(() => [
807
+ createVNode(_component_el_tab_pane, {
808
+ label: "标号",
809
+ name: "mark"
810
+ }, {
811
+ default: withCtx(() => [
812
+ createVNode(MarkTab)
813
+ ]),
814
+ _: 1
815
+ }),
816
+ createVNode(_component_el_tab_pane, {
817
+ label: "列表",
818
+ name: "list"
819
+ }, {
820
+ default: withCtx(() => [
821
+ createVNode(ListTab)
822
+ ]),
823
+ _: 1
824
+ })
825
+ ]),
826
+ _: 1
827
+ }, 8, ["modelValue"])
828
+ ])
829
+ ])
830
+ ]),
831
+ _: 1
832
+ }, 8, ["modelValue"]);
833
+ };
834
+ }
835
+ };
836
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c695eece"]]);
837
+ export {
838
+ index as default
839
+ };