vue-openlayers-plugin 1.0.88 → 1.0.90

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 (28) hide show
  1. package/lib/{BasemapPanel-ca055f97.mjs → BasemapPanel-cba3afd6.mjs} +6 -6
  2. package/lib/{CoordinateLocationDialog-bcb93549.mjs → CoordinateLocationDialog-6e8a5f24.mjs} +1 -1
  3. package/lib/{FilterPanel-5493db0e.mjs → FilterPanel-9a8e2aca.mjs} +1 -1
  4. package/lib/{MapPrintDialog-cde4a9cc.mjs → LayerPanel-be35370b.mjs} +1 -1
  5. package/lib/{LayerPanel-467aaf4a.mjs → MapPrintDialog-03c0823b.mjs} +1 -1
  6. package/lib/{MeasurementDialog-48a220c5.mjs → MeasurementDialog-7fce097a.mjs} +7 -7
  7. package/lib/{MyMarkersDialog-6cd29bfa.mjs → MyMarkersDialog-7dd24d9a.mjs} +2 -2
  8. package/lib/{ViewBookmarksDialog-2e388ac1.mjs → ViewBookmarksDialog-60c9e851.mjs} +2 -2
  9. package/lib/{index-30ef3c66.mjs → index-05da77ba.mjs} +437 -524
  10. package/lib/{index-9a7511e2.mjs → index-7aae577e.mjs} +1 -1
  11. package/lib/{index-365a4c9c.mjs → index-b3c7ea8d.mjs} +1 -1
  12. package/lib/{index.es-051b071d.mjs → index.es-e4a6ccb9.mjs} +1 -1
  13. package/lib/index.esm.js +63 -63
  14. package/lib/index.umd.js +380 -467
  15. package/lib/style.css +319 -354
  16. package/package.json +2 -3
  17. package/types/src/components/CustomDialog/CustomDialog.vue.d.ts +1 -1
  18. package/types/src/components/OlDialogs/BasemapPanel.vue.d.ts +1 -0
  19. package/types/src/components/OlDialogs/BasemapPanel.vue.d.ts.map +1 -1
  20. package/types/src/components/OlDialogs/LayerPanel.vue.d.ts.map +1 -1
  21. package/types/src/components/OlDialogs/MeasurementDialog.vue.d.ts +1 -0
  22. package/types/src/components/OlDialogs/MeasurementDialog.vue.d.ts.map +1 -1
  23. package/types/src/components/OlDrawToolbar.vue.d.ts.map +1 -1
  24. package/types/src/components/OlLegendPanel.vue.d.ts +2 -26
  25. package/types/src/components/OlLegendPanel.vue.d.ts.map +1 -1
  26. package/types/src/core/layers/BaseLayer.d.ts +8 -0
  27. package/types/src/core/layers/BaseLayer.d.ts.map +1 -1
  28. package/types/tsconfig.tsbuildinfo +1 -1
package/lib/index.umd.js CHANGED
@@ -377,21 +377,6 @@ var __publicField = (obj, key, value) => {
377
377
  ]));
378
378
  }
379
379
  }), flag_default = _sfc_main106;
380
- var _sfc_main107 = /* @__PURE__ */ vue.defineComponent({
381
- name: "Fold",
382
- __name: "fold",
383
- setup(__props) {
384
- return (_ctx, _cache) => (vue.openBlock(), vue.createElementBlock("svg", {
385
- xmlns: "http://www.w3.org/2000/svg",
386
- viewBox: "0 0 1024 1024"
387
- }, [
388
- vue.createElementVNode("path", {
389
- fill: "currentColor",
390
- d: "M896 192H128v128h768zm0 256H384v128h512zm0 256H128v128h768zM320 384 128 512l192 128z"
391
- })
392
- ]));
393
- }
394
- }), fold_default = _sfc_main107;
395
380
  var _sfc_main111 = /* @__PURE__ */ vue.defineComponent({
396
381
  name: "FolderOpened",
397
382
  __name: "folder-opened",
@@ -81323,21 +81308,6 @@ For more detail, please visit: ${ref}
81323
81308
  this.layer.setOpacity(normalizedOpacity);
81324
81309
  }
81325
81310
  }
81326
- /**
81327
- * 设置图层层级
81328
- */
81329
- setZIndex(zIndex2) {
81330
- if (this.layer) {
81331
- this.layer.setZIndex(zIndex2);
81332
- }
81333
- }
81334
- /**
81335
- * 获取当前图层层级
81336
- */
81337
- getZIndex() {
81338
- var _a3;
81339
- return (_a3 = this.layer) == null ? void 0 : _a3.getZIndex();
81340
- }
81341
81311
  /**
81342
81312
  * 设置图层可见性
81343
81313
  */
@@ -467889,7 +467859,7 @@ ${this.attributes_.map(
467889
467859
  };
467890
467860
  const _hoisted_4$l = { class: "image-popup-main" };
467891
467861
  const _hoisted_5$l = { class: "image-container" };
467892
- const _hoisted_6$h = ["src", "alt"];
467862
+ const _hoisted_6$g = ["src", "alt"];
467893
467863
  const _hoisted_7$f = {
467894
467864
  key: 0,
467895
467865
  class: "image-loading"
@@ -467912,12 +467882,12 @@ ${this.attributes_.map(
467912
467882
  };
467913
467883
  const _hoisted_12$9 = ["onClick"];
467914
467884
  const _hoisted_13$9 = ["src", "alt"];
467915
- const _hoisted_14$8 = {
467885
+ const _hoisted_14$7 = {
467916
467886
  key: 3,
467917
467887
  class: "slideshow-controls"
467918
467888
  };
467919
- const _hoisted_15$7 = { class: "fullscreen-container" };
467920
- const _hoisted_16$7 = ["src", "alt"];
467889
+ const _hoisted_15$6 = { class: "fullscreen-container" };
467890
+ const _hoisted_16$6 = ["src", "alt"];
467921
467891
  const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
467922
467892
  __name: "ImagePopup",
467923
467893
  props: {
@@ -468074,7 +468044,7 @@ ${this.attributes_.map(
468074
468044
  onLoad: handleImageLoad,
468075
468045
  onError: handleImageError,
468076
468046
  onClick: handleImageClick
468077
- }, null, 40, _hoisted_6$h),
468047
+ }, null, 40, _hoisted_6$g),
468078
468048
  imageLoading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$f, [..._cache[4] || (_cache[4] = [
468079
468049
  vue.createElementVNode("div", { class: "loading-spinner" }, null, -1),
468080
468050
  vue.createElementVNode("span", null, "加载中...", -1)
@@ -468125,7 +468095,7 @@ ${this.attributes_.map(
468125
468095
  ], 10, _hoisted_12$9);
468126
468096
  }), 128))
468127
468097
  ])) : vue.createCommentVNode("", true),
468128
- _ctx.config.slideshow && imageList.value.length > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_14$8, [
468098
+ _ctx.config.slideshow && imageList.value.length > 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_14$7, [
468129
468099
  vue.createVNode(vue.unref(ElButton), {
468130
468100
  class: vue.normalizeClass(["slideshow-btn", { active: isSlideshow.value }]),
468131
468101
  onClick: toggleSlideshow,
@@ -468144,14 +468114,14 @@ ${this.attributes_.map(
468144
468114
  class: "image-fullscreen",
468145
468115
  onClick: closeFullscreen
468146
468116
  }, [
468147
- vue.createElementVNode("div", _hoisted_15$7, [
468117
+ vue.createElementVNode("div", _hoisted_15$6, [
468148
468118
  vue.createElementVNode("img", {
468149
468119
  src: currentImage.value,
468150
468120
  alt: `全屏图片 ${currentIndex.value + 1}`,
468151
468121
  class: "fullscreen-image",
468152
468122
  onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
468153
468123
  }, ["stop"]))
468154
- }, null, 8, _hoisted_16$7),
468124
+ }, null, 8, _hoisted_16$6),
468155
468125
  vue.createVNode(vue.unref(ElButton), {
468156
468126
  class: "fullscreen-close",
468157
468127
  onClick: closeFullscreen,
@@ -468190,7 +468160,7 @@ ${this.attributes_.map(
468190
468160
  key: 3,
468191
468161
  class: "search-container"
468192
468162
  };
468193
- const _hoisted_6$g = {
468163
+ const _hoisted_6$f = {
468194
468164
  key: 4,
468195
468165
  class: "data-stats"
468196
468166
  };
@@ -468207,19 +468177,19 @@ ${this.attributes_.map(
468207
468177
  class: "sort-indicator"
468208
468178
  };
468209
468179
  const _hoisted_13$8 = ["onClick"];
468210
- const _hoisted_14$7 = { key: 0 };
468211
- const _hoisted_15$6 = ["src", "alt"];
468212
- const _hoisted_16$6 = { key: 1 };
468213
- const _hoisted_17$6 = ["href"];
468214
- const _hoisted_18$6 = { key: 2 };
468215
- const _hoisted_19$5 = { key: 3 };
468216
- const _hoisted_20$5 = { key: 4 };
468217
- const _hoisted_21$3 = {
468180
+ const _hoisted_14$6 = { key: 0 };
468181
+ const _hoisted_15$5 = ["src", "alt"];
468182
+ const _hoisted_16$5 = { key: 1 };
468183
+ const _hoisted_17$5 = ["href"];
468184
+ const _hoisted_18$5 = { key: 2 };
468185
+ const _hoisted_19$4 = { key: 3 };
468186
+ const _hoisted_20$4 = { key: 4 };
468187
+ const _hoisted_21$2 = {
468218
468188
  key: 6,
468219
468189
  class: "list-view"
468220
468190
  };
468221
- const _hoisted_22$2 = ["onClick"];
468222
- const _hoisted_23$2 = { class: "field-label" };
468191
+ const _hoisted_22$1 = ["onClick"];
468192
+ const _hoisted_23$1 = { class: "field-label" };
468223
468193
  const _hoisted_24$1 = { class: "field-value" };
468224
468194
  const _hoisted_25$1 = ["src", "alt"];
468225
468195
  const _hoisted_26$1 = ["href"];
@@ -468454,7 +468424,7 @@ ${this.attributes_.map(
468454
468424
  clearable: ""
468455
468425
  }, null, 8, ["modelValue"])
468456
468426
  ])) : vue.createCommentVNode("", true),
468457
- _ctx.config.showStats ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$g, [
468427
+ _ctx.config.showStats ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$f, [
468458
468428
  vue.createElementVNode("span", null, "共 " + vue.toDisplayString(filteredData.value.length) + " 条记录", 1),
468459
468429
  searchQuery.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_7$e, "(已过滤 " + vue.toDisplayString(arrayData.value.length - filteredData.value.length) + " 条)", 1)) : vue.createCommentVNode("", true)
468460
468430
  ])) : vue.createCommentVNode("", true),
@@ -468485,19 +468455,19 @@ ${this.attributes_.map(
468485
468455
  return vue.openBlock(), vue.createElementBlock("td", {
468486
468456
  key: field.key
468487
468457
  }, [
468488
- field.type === "image" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_14$7, [
468458
+ field.type === "image" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_14$6, [
468489
468459
  vue.createElementVNode("img", {
468490
468460
  src: getFieldValue(item, field.key || field.name),
468491
468461
  alt: field.label,
468492
468462
  class: "table-image"
468493
- }, null, 8, _hoisted_15$6)
468494
- ])) : field.type === "link" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_16$6, [
468463
+ }, null, 8, _hoisted_15$5)
468464
+ ])) : field.type === "link" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_16$5, [
468495
468465
  vue.createElementVNode("a", {
468496
468466
  href: getFieldValue(item, field.key || field.name),
468497
468467
  target: "_blank",
468498
468468
  class: "table-link"
468499
- }, vue.toDisplayString(getFieldValue(item, field.key || field.name)), 9, _hoisted_17$6)
468500
- ])) : field.type === "date" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_18$6, vue.toDisplayString(formatDate(getFieldValue(item, field.key || field.name))), 1)) : field.type === "number" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_19$5, vue.toDisplayString(formatNumber2(getFieldValue(item, field.key || field.name))), 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_20$5, vue.toDisplayString(getFieldValue(item, field.key || field.name)), 1))
468469
+ }, vue.toDisplayString(getFieldValue(item, field.key || field.name)), 9, _hoisted_17$5)
468470
+ ])) : field.type === "date" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_18$5, vue.toDisplayString(formatDate(getFieldValue(item, field.key || field.name))), 1)) : field.type === "number" ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_19$4, vue.toDisplayString(formatNumber2(getFieldValue(item, field.key || field.name))), 1)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_20$4, vue.toDisplayString(getFieldValue(item, field.key || field.name)), 1))
468501
468471
  ]);
468502
468472
  }), 128))
468503
468473
  ], 8, _hoisted_13$8);
@@ -468506,7 +468476,7 @@ ${this.attributes_.map(
468506
468476
  ])
468507
468477
  ])
468508
468478
  ])) : vue.createCommentVNode("", true),
468509
- currentView.value === "list" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_21$3, [
468479
+ currentView.value === "list" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_21$2, [
468510
468480
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(paginatedData.value, (item, index2) => {
468511
468481
  return vue.openBlock(), vue.createElementBlock("div", {
468512
468482
  key: index2,
@@ -468518,7 +468488,7 @@ ${this.attributes_.map(
468518
468488
  key: field.key,
468519
468489
  class: "list-field"
468520
468490
  }, [
468521
- vue.createElementVNode("span", _hoisted_23$2, vue.toDisplayString(field.label) + ":", 1),
468491
+ vue.createElementVNode("span", _hoisted_23$1, vue.toDisplayString(field.label) + ":", 1),
468522
468492
  vue.createElementVNode("span", _hoisted_24$1, [
468523
468493
  field.type === "image" ? (vue.openBlock(), vue.createElementBlock("img", {
468524
468494
  key: 0,
@@ -468534,7 +468504,7 @@ ${this.attributes_.map(
468534
468504
  ])
468535
468505
  ]);
468536
468506
  }), 128))
468537
- ], 8, _hoisted_22$2);
468507
+ ], 8, _hoisted_22$1);
468538
468508
  }), 128))
468539
468509
  ])) : vue.createCommentVNode("", true),
468540
468510
  currentView.value === "card" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_30$1, [
@@ -470279,7 +470249,7 @@ ${this.attributes_.map(
470279
470249
  const OlMapContainer_vue_vue_type_style_index_0_lang = "";
470280
470250
  const defaultComponents = {
470281
470251
  "measurement": () => Promise.resolve().then(() => MeasurementDialog$1),
470282
- "basemap": () => Promise.resolve().then(() => BasemapPanel),
470252
+ "basemap": () => Promise.resolve().then(() => BasemapPanel$1),
470283
470253
  "print": () => Promise.resolve().then(() => MapPrintDialog),
470284
470254
  "layer-panel": () => Promise.resolve().then(() => LayerPanel),
470285
470255
  "coordinate": () => Promise.resolve().then(() => CoordinateLocationDialog),
@@ -470659,7 +470629,7 @@ ${this.attributes_.map(
470659
470629
  };
470660
470630
  }
470661
470631
  });
470662
- const OlDrawToolbar_vue_vue_type_style_index_0_scoped_65f64ab9_lang = "";
470632
+ const OlDrawToolbar_vue_vue_type_style_index_0_scoped_b8c938a3_lang = "";
470663
470633
  const _export_sfc = (sfc, props) => {
470664
470634
  const target = sfc.__vccOpts || sfc;
470665
470635
  for (const [key2, val] of props) {
@@ -470667,7 +470637,7 @@ ${this.attributes_.map(
470667
470637
  }
470668
470638
  return target;
470669
470639
  };
470670
- const OlDrawToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-65f64ab9"]]);
470640
+ const OlDrawToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-b8c938a3"]]);
470671
470641
  const TIANDITU_CONFIG = {
470672
470642
  baseUrl: "https://api.tianditu.gov.cn/v2/search",
470673
470643
  key: "9a7244dd5d1a1299a52946a3d0f8ff68"
@@ -471398,7 +471368,7 @@ ${this.attributes_.map(
471398
471368
  };
471399
471369
  const _hoisted_4$j = { class: "section-title" };
471400
471370
  const _hoisted_5$j = ["onClick"];
471401
- const _hoisted_6$f = { class: "item-content" };
471371
+ const _hoisted_6$e = { class: "item-content" };
471402
471372
  const _hoisted_7$d = { class: "item-name" };
471403
471373
  const _hoisted_8$a = { class: "item-address" };
471404
471374
  const _hoisted_9$8 = {
@@ -471412,17 +471382,17 @@ ${this.attributes_.map(
471412
471382
  const _hoisted_11$7 = { class: "result-count" };
471413
471383
  const _hoisted_12$7 = ["onClick"];
471414
471384
  const _hoisted_13$7 = { class: "item-content" };
471415
- const _hoisted_14$6 = ["innerHTML"];
471416
- const _hoisted_15$5 = ["innerHTML"];
471417
- const _hoisted_16$5 = {
471385
+ const _hoisted_14$5 = ["innerHTML"];
471386
+ const _hoisted_15$4 = ["innerHTML"];
471387
+ const _hoisted_16$4 = {
471418
471388
  key: 0,
471419
471389
  class: "item-type"
471420
471390
  };
471421
- const _hoisted_17$5 = {
471391
+ const _hoisted_17$4 = {
471422
471392
  key: 0,
471423
471393
  class: "item-confidence"
471424
471394
  };
471425
- const _hoisted_18$5 = {
471395
+ const _hoisted_18$4 = {
471426
471396
  key: 0,
471427
471397
  class: "no-results"
471428
471398
  };
@@ -471773,7 +471743,7 @@ ${this.attributes_.map(
471773
471743
  ]),
471774
471744
  _: 1
471775
471745
  }),
471776
- vue.createElementVNode("div", _hoisted_6$f, [
471746
+ vue.createElementVNode("div", _hoisted_6$e, [
471777
471747
  vue.createElementVNode("div", _hoisted_7$d, vue.toDisplayString(item.name), 1),
471778
471748
  vue.createElementVNode("div", _hoisted_8$a, vue.toDisplayString(item.address), 1)
471779
471749
  ])
@@ -471815,14 +471785,14 @@ ${this.attributes_.map(
471815
471785
  vue.createElementVNode("div", {
471816
471786
  class: "item-name",
471817
471787
  innerHTML: highlightText(result.name, searchQuery.value)
471818
- }, null, 8, _hoisted_14$6),
471788
+ }, null, 8, _hoisted_14$5),
471819
471789
  vue.createElementVNode("div", {
471820
471790
  class: "item-address",
471821
471791
  innerHTML: highlightText(result.address, searchQuery.value)
471822
- }, null, 8, _hoisted_15$5),
471823
- result.type ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$5, vue.toDisplayString(result.type), 1)) : vue.createCommentVNode("", true)
471792
+ }, null, 8, _hoisted_15$4),
471793
+ result.type ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$4, vue.toDisplayString(result.type), 1)) : vue.createCommentVNode("", true)
471824
471794
  ]),
471825
- result.confidence ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_17$5, vue.toDisplayString(Math.round(result.confidence * 100)) + "%", 1)) : vue.createCommentVNode("", true)
471795
+ result.confidence ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_17$4, vue.toDisplayString(Math.round(result.confidence * 100)) + "%", 1)) : vue.createCommentVNode("", true)
471826
471796
  ], 10, _hoisted_12$7)
471827
471797
  ]);
471828
471798
  }), 128))
@@ -471832,7 +471802,7 @@ ${this.attributes_.map(
471832
471802
  searchResults: searchResults.value,
471833
471803
  isLoading: isLoading.value
471834
471804
  }, () => [
471835
- searchQuery.value && searchResults.value.length === 0 && !isLoading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_18$5, [
471805
+ searchQuery.value && searchResults.value.length === 0 && !isLoading.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_18$4, [
471836
471806
  vue.createVNode(vue.unref(ElIcon), null, {
471837
471807
  default: vue.withCtx(() => [
471838
471808
  vue.createVNode(vue.unref(info_filled_default))
@@ -472529,367 +472499,290 @@ ${this.attributes_.map(
472529
472499
  };
472530
472500
  }
472531
472501
  });
472532
- const OlControlPanel_vue_vue_type_style_index_0_scoped_e2bbe659_lang = "";
472533
- const OlControlPanel = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-e2bbe659"]]);
472534
- const _hoisted_1$j = { class: "flex items-center justify-between px-4 py-3 border-b border-gray-200 bg-gray-50 rounded-t-lg" };
472535
- const _hoisted_2$i = { class: "panel-actions" };
472536
- const _hoisted_3$i = { class: "panel-content max-h-125 overflow-y-auto" };
472537
- const _hoisted_4$i = { class: "p-2" };
472538
- const _hoisted_5$i = { class: "legend-content p-2" };
472539
- const _hoisted_6$e = { key: 0 };
472540
- const _hoisted_7$c = { class: "text-xs text-gray-600" };
472541
- const _hoisted_8$9 = { key: 1 };
472542
- const _hoisted_9$7 = { class: "text-xs text-gray-600" };
472543
- const _hoisted_10$7 = { key: 2 };
472544
- const _hoisted_11$6 = { class: "relative mb-2" };
472545
- const _hoisted_12$6 = { class: "flex justify-between mt-1 text-xs text-gray-500" };
472546
- const _hoisted_13$6 = { class: "text-center text-xs text-gray-500" };
472547
- const _hoisted_14$5 = { key: 3 };
472548
- const _hoisted_15$4 = { class: "flex-1 text-xs text-gray-600" };
472549
- const _hoisted_16$4 = { key: 4 };
472550
- const _hoisted_17$4 = ["src", "alt"];
472551
- const _hoisted_18$4 = {
472552
- key: 1,
472553
- class: "w-4 h-4 mr-2 border border-gray-300 rounded-sm bg-gray-100"
472502
+ const OlControlPanel_vue_vue_type_style_index_0_scoped_2fc6cae7_lang = "";
472503
+ const OlControlPanel = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-2fc6cae7"]]);
472504
+ const _hoisted_1$j = { class: "ol-legend-header" };
472505
+ const _hoisted_2$i = { class: "header-actions" };
472506
+ const _hoisted_3$i = { class: "ol-legend-body custom-scrollbar" };
472507
+ const _hoisted_4$i = ["title"];
472508
+ const _hoisted_5$i = { class: "legend-content" };
472509
+ const _hoisted_6$d = {
472510
+ key: 0,
472511
+ class: "legend-gradient-box"
472554
472512
  };
472555
- const _hoisted_19$4 = { class: "text-xs text-gray-600" };
472556
- const _hoisted_20$4 = {
472557
- key: 5,
472558
- class: "text-xs text-gray-600 leading-relaxed"
472513
+ const _hoisted_7$c = { class: "gradient-labels" };
472514
+ const _hoisted_8$9 = {
472515
+ key: 0,
472516
+ class: "gradient-unit"
472559
472517
  };
472560
- const _hoisted_21$2 = ["innerHTML"];
472561
- const _hoisted_22$1 = {
472562
- key: 6,
472563
- class: "text-xs text-gray-500 leading-relaxed mt-2"
472518
+ const _hoisted_9$7 = ["innerHTML"];
472519
+ const _hoisted_10$7 = ["src"];
472520
+ const _hoisted_11$6 = ["title"];
472521
+ const _hoisted_12$6 = {
472522
+ key: 3,
472523
+ class: "legend-desc"
472564
472524
  };
472565
- const _hoisted_23$1 = {
472525
+ const _hoisted_13$6 = {
472566
472526
  key: 1,
472567
- class: "py-10 px-5 text-center"
472527
+ class: "empty-state"
472568
472528
  };
472569
472529
  const _sfc_main$j = /* @__PURE__ */ vue.defineComponent({
472570
472530
  __name: "OlLegendPanel",
472571
472531
  props: {
472572
- position: { default: "right" },
472573
- width: { default: 280 },
472574
- collapsible: { type: Boolean, default: true },
472532
+ position: { default: "left" },
472533
+ width: { default: 260 },
472575
472534
  defaultCollapsed: { type: Boolean, default: false },
472576
472535
  showOnlyVisible: { type: Boolean, default: true },
472577
- visible: { type: Boolean, default: false },
472578
- leftOffset: { default: void 0 },
472579
- rightOffset: { default: void 0 },
472580
- topOffset: { default: void 0 },
472581
- bottomOffset: { default: void 0 }
472536
+ leftOffset: {},
472537
+ rightOffset: {},
472538
+ topOffset: {},
472539
+ bottomOffset: {}
472582
472540
  },
472583
- emits: ["update:visible"],
472584
- setup(__props, { emit: __emit }) {
472541
+ setup(__props) {
472585
472542
  const props = __props;
472586
- const activeNames = vue.ref([]);
472587
472543
  const isCollapsed = vue.ref(props.defaultCollapsed);
472588
- const visibleLayerIds = vue.ref([]);
472544
+ const activeNames = vue.ref([]);
472589
472545
  const legends = vue.ref([]);
472590
- const handleLayersInitialized = (layers) => {
472591
- console.log("Layers initialized, updating legends", layers);
472592
- initializeLegendsFromConfig(layers);
472593
- };
472594
- layerEventBus.on("layers-initialized", handleLayersInitialized);
472546
+ const visibleLayerIds = vue.ref([]);
472595
472547
  const panelStyle = vue.computed(() => {
472596
- const styles = {
472597
- width: `${props.width}px`
472548
+ const style2 = {
472549
+ width: `${props.width}px`,
472550
+ backgroundColor: "var(--el-bg-color-overlay)",
472551
+ backdropFilter: "blur(10px)"
472552
+ };
472553
+ const setOffset = (key2, value) => {
472554
+ if (value !== void 0)
472555
+ style2[key2] = typeof value === "number" ? `${value}px` : value;
472556
+ };
472557
+ setOffset("top", props.topOffset);
472558
+ setOffset("bottom", props.bottomOffset);
472559
+ if (props.leftOffset !== void 0)
472560
+ setOffset("left", props.leftOffset);
472561
+ else if (props.rightOffset !== void 0)
472562
+ setOffset("right", props.rightOffset);
472563
+ else
472564
+ style2[props.position] = "20px";
472565
+ if (!style2.top && !style2.bottom)
472566
+ style2.bottom = "100px";
472567
+ return style2;
472568
+ });
472569
+ const visibleLegends = vue.computed(() => {
472570
+ const list2 = props.showOnlyVisible ? legends.value.filter((l2) => visibleLayerIds.value.includes(l2.layerId)) : legends.value;
472571
+ return list2;
472572
+ });
472573
+ const shouldShowLegend = vue.computed(() => visibleLegends.value.length > 0);
472574
+ const getGradientStyle = (legend) => {
472575
+ var _a3;
472576
+ if ((_a3 = legend.colors) == null ? void 0 : _a3.length) {
472577
+ return { background: `linear-gradient(to right, ${legend.colors.join(", ")})` };
472578
+ }
472579
+ return {};
472580
+ };
472581
+ const getIconWrapperStyle = (type, item) => {
472582
+ const size2 = item.size || 16;
472583
+ return {
472584
+ width: `${size2}px`,
472585
+ height: `${size2}px`,
472586
+ minWidth: `${size2}px`
472587
+ // 防止压缩
472598
472588
  };
472599
- if (props.leftOffset !== void 0) {
472600
- styles.left = typeof props.leftOffset === "number" ? `${props.leftOffset}px` : props.leftOffset;
472601
- } else if (props.rightOffset !== void 0) {
472602
- styles.right = typeof props.rightOffset === "number" ? `${props.rightOffset}px` : props.rightOffset;
472589
+ };
472590
+ const getSymbolInnerStyle = (type, item) => {
472591
+ const style2 = {
472592
+ width: "100%",
472593
+ height: "100%",
472594
+ backgroundColor: item.color || "#ccc"
472595
+ };
472596
+ if (type === "symbol" && item.shape) {
472597
+ if (item.shape === "circle")
472598
+ style2.borderRadius = "50%";
472599
+ else if (item.shape === "triangle")
472600
+ style2.clipPath = "polygon(50% 0%, 0% 100%, 100% 100%)";
472601
+ else
472602
+ style2.borderRadius = "2px";
472603
472603
  } else {
472604
- styles[props.position] = "0";
472605
- }
472606
- if (props.topOffset !== void 0) {
472607
- styles.top = typeof props.topOffset === "number" ? `${props.topOffset}px` : props.topOffset;
472604
+ style2.borderRadius = "2px";
472608
472605
  }
472609
- if (props.bottomOffset !== void 0) {
472610
- styles.bottom = typeof props.bottomOffset === "number" ? `${props.bottomOffset}px` : props.bottomOffset;
472606
+ if (item.borderColor) {
472607
+ style2.border = `1px solid ${item.borderColor}`;
472608
+ style2.boxSizing = "border-box";
472611
472609
  }
472612
- return styles;
472613
- });
472614
- const visibleLegends = vue.computed(() => {
472615
- if (!props.showOnlyVisible) {
472616
- return legends.value;
472610
+ if (item.pattern) {
472611
+ style2.backgroundImage = `url(${item.pattern})`;
472612
+ style2.backgroundSize = "cover";
472617
472613
  }
472618
- return legends.value.filter(
472619
- (legend) => visibleLayerIds.value.includes(legend.layerId)
472620
- );
472621
- });
472622
- const shouldShowLegend = vue.computed(() => {
472623
- return visibleLegends.value.length > 0;
472624
- });
472625
- const toggleCollapse = () => {
472626
- isCollapsed.value = !isCollapsed.value;
472614
+ return style2;
472627
472615
  };
472628
- const initializeLegendsFromConfig = (layers) => {
472616
+ const toggleCollapse = () => isCollapsed.value = !isCollapsed.value;
472617
+ const handleImageError = (e3) => e3.target.style.display = "none";
472618
+ const updateLegends = (layers) => {
472629
472619
  const newLegends = [];
472630
- const newVisibleLayerIds = [];
472620
+ const newVisibleIds = [];
472631
472621
  layers.forEach((layer2) => {
472632
472622
  var _a3;
472633
- if (layer2.visible) {
472634
- newVisibleLayerIds.push(layer2.id);
472635
- }
472636
- const legendConfig = layer2.legend || ((_a3 = layer2.config) == null ? void 0 : _a3.legend);
472637
- if (legendConfig) {
472638
- const newLegend = {
472623
+ if (layer2.visible)
472624
+ newVisibleIds.push(layer2.id);
472625
+ const config = layer2.legend || ((_a3 = layer2.config) == null ? void 0 : _a3.legend);
472626
+ if (config) {
472627
+ newLegends.push({
472639
472628
  layerId: layer2.id,
472640
- title: legendConfig.title || layer2.name || layer2.id,
472641
- items: legendConfig.items || [],
472629
+ title: config.title || layer2.name || layer2.id,
472630
+ items: config.items || [],
472642
472631
  visible: layer2.visible,
472643
- type: legendConfig.type || "color"
472644
- // 默认类型为color
472645
- };
472646
- newLegends.push(newLegend);
472632
+ type: config.type || "color",
472633
+ colors: config.colors,
472634
+ min: config.min,
472635
+ max: config.max,
472636
+ unit: config.unit,
472637
+ content: config.content,
472638
+ description: config.description
472639
+ });
472640
+ if (!activeNames.value.includes(layer2.id))
472641
+ activeNames.value.push(layer2.id);
472647
472642
  }
472648
472643
  });
472649
472644
  legends.value = newLegends;
472650
- visibleLayerIds.value = newVisibleLayerIds;
472645
+ visibleLayerIds.value = newVisibleIds;
472651
472646
  };
472652
- const handleLayerVisibilityChange = (event) => {
472653
- if (event.visible) {
472654
- if (!visibleLayerIds.value.includes(event.layerId)) {
472655
- visibleLayerIds.value.push(event.layerId);
472656
- }
472647
+ const handleLayerVisibility = ({ layerId, visible }) => {
472648
+ if (visible) {
472649
+ if (!visibleLayerIds.value.includes(layerId))
472650
+ visibleLayerIds.value.push(layerId);
472657
472651
  } else {
472658
- const index2 = visibleLayerIds.value.indexOf(event.layerId);
472659
- if (index2 > -1) {
472660
- visibleLayerIds.value.splice(index2, 1);
472661
- }
472662
- }
472663
- const legendIndex = legends.value.findIndex((legend) => legend.layerId === event.layerId);
472664
- if (legendIndex > -1) {
472665
- legends.value[legendIndex].visible = event.visible;
472652
+ visibleLayerIds.value = visibleLayerIds.value.filter((id2) => id2 !== layerId);
472666
472653
  }
472667
472654
  };
472668
- const handleLayerAdded = (event) => {
472669
- var _a3;
472670
- const layerConfig = event.layerConfig;
472671
- if (layerConfig) {
472672
- const legendConfig = layerConfig.legend || ((_a3 = layerConfig.config) == null ? void 0 : _a3.legend);
472673
- if (legendConfig) {
472674
- const newLegend = {
472675
- layerId: event.layerId,
472676
- title: legendConfig.title || layerConfig.name || event.layerName,
472677
- items: legendConfig.items || [],
472678
- visible: event.visible,
472679
- type: legendConfig.type || "color"
472680
- // 默认类型为color
472681
- };
472682
- legends.value.push(newLegend);
472683
- if (event.visible) {
472684
- visibleLayerIds.value.push(event.layerId);
472685
- }
472686
- }
472655
+ const handleLayerAdded = (evt) => {
472656
+ var _a3, _b3, _c2;
472657
+ const config = ((_a3 = evt.layerConfig) == null ? void 0 : _a3.legend) || ((_c2 = (_b3 = evt.layerConfig) == null ? void 0 : _b3.config) == null ? void 0 : _c2.legend);
472658
+ if (config) {
472659
+ legends.value.push({
472660
+ layerId: evt.layerId,
472661
+ title: config.title || evt.layerName,
472662
+ items: config.items || [],
472663
+ visible: evt.visible,
472664
+ type: config.type || "color"
472665
+ });
472666
+ if (evt.visible)
472667
+ visibleLayerIds.value.push(evt.layerId);
472668
+ activeNames.value.push(evt.layerId);
472687
472669
  }
472688
472670
  };
472689
- const handleLayerRemoved = (event) => {
472690
- const legendIndex = legends.value.findIndex((legend) => legend.layerId === event.layerId);
472691
- if (legendIndex > -1) {
472692
- legends.value.splice(legendIndex, 1);
472693
- }
472694
- const visibleIndex = visibleLayerIds.value.indexOf(event.layerId);
472695
- if (visibleIndex > -1) {
472696
- visibleLayerIds.value.splice(visibleIndex, 1);
472697
- }
472671
+ const handleLayerRemoved = ({ layerId }) => {
472672
+ legends.value = legends.value.filter((l2) => l2.layerId !== layerId);
472673
+ visibleLayerIds.value = visibleLayerIds.value.filter((id2) => id2 !== layerId);
472698
472674
  };
472699
472675
  vue.onMounted(() => {
472700
- console.log("LegendPanel mounted");
472701
- layerEventBus.on("layer-visibility-change", handleLayerVisibilityChange);
472676
+ layerEventBus.on("layers-initialized", updateLegends);
472677
+ layerEventBus.on("layer-visibility-change", handleLayerVisibility);
472702
472678
  layerEventBus.on("layer-added", handleLayerAdded);
472703
472679
  layerEventBus.on("layer-removed", handleLayerRemoved);
472704
472680
  });
472705
472681
  vue.onUnmounted(() => {
472706
- layerEventBus.off("layer-visibility-change", handleLayerVisibilityChange);
472682
+ layerEventBus.off("layers-initialized", updateLegends);
472683
+ layerEventBus.off("layer-visibility-change", handleLayerVisibility);
472707
472684
  layerEventBus.off("layer-added", handleLayerAdded);
472708
472685
  layerEventBus.off("layer-removed", handleLayerRemoved);
472709
- layerEventBus.off("layers-initialized", handleLayersInitialized);
472710
472686
  });
472711
- const getSymbolStyle = (item) => {
472712
- const style2 = {};
472713
- if (item.shape === "circle") {
472714
- style2.borderRadius = "50%";
472715
- } else if (item.shape === "square") {
472716
- style2.borderRadius = "2px";
472717
- } else if (item.shape === "triangle") {
472718
- style2.clipPath = "polygon(50% 0%, 0% 100%, 100% 100%)";
472719
- }
472720
- if (item.color) {
472721
- style2.backgroundColor = item.color;
472722
- }
472723
- if (item.borderColor) {
472724
- style2.border = `2px solid ${item.borderColor}`;
472725
- }
472726
- if (item.size) {
472727
- style2.width = `${item.size}px`;
472728
- style2.height = `${item.size}px`;
472729
- }
472730
- return style2;
472731
- };
472732
- const getGradientStyle = (legend) => {
472733
- if (legend.colors && legend.colors.length > 1) {
472734
- const gradient2 = legend.colors.join(", ");
472735
- return {
472736
- background: `linear-gradient(to right, ${gradient2})`
472737
- };
472738
- }
472739
- return {};
472740
- };
472741
- const getCategoryStyle = (item) => {
472742
- const style2 = {
472743
- width: "16px",
472744
- height: "16px",
472745
- borderRadius: "2px"
472746
- };
472747
- if (item.color) {
472748
- style2.backgroundColor = item.color;
472749
- }
472750
- if (item.pattern) {
472751
- style2.backgroundImage = `url(${item.pattern})`;
472752
- style2.backgroundSize = "cover";
472753
- }
472754
- return style2;
472755
- };
472756
- const getIconStyle = (item) => {
472757
- const style2 = {
472758
- width: item.size ? `${item.size}px` : "16px",
472759
- height: item.size ? `${item.size}px` : "16px",
472760
- maxWidth: "24px",
472761
- maxHeight: "24px"
472762
- };
472763
- return style2;
472764
- };
472765
- const handleImageError = (event) => {
472766
- const img = event.target;
472767
- img.style.display = "none";
472768
- console.warn("图例图标加载失败:", img.src);
472769
- };
472770
472687
  return (_ctx, _cache) => {
472771
- const _component_el_button = vue.resolveComponent("el-button");
472688
+ const _component_el_icon = vue.resolveComponent("el-icon");
472772
472689
  const _component_el_collapse_item = vue.resolveComponent("el-collapse-item");
472773
472690
  const _component_el_collapse = vue.resolveComponent("el-collapse");
472774
472691
  const _component_el_empty = vue.resolveComponent("el-empty");
472775
472692
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
472776
- class: vue.normalizeClass(["custom-legend-box absolute bg-white rounded-lg bottom-40px shadow-lg transition-all duration-300 max-h-[calc(100vh-40px)] overflow-hidden z-1000", { "legend-collapsed": isCollapsed.value }]),
472693
+ class: vue.normalizeClass(["ol-legend-panel", { "is-collapsed": isCollapsed.value }]),
472777
472694
  style: vue.normalizeStyle(panelStyle.value)
472778
472695
  }, [
472779
472696
  vue.createElementVNode("div", _hoisted_1$j, [
472780
- _cache[1] || (_cache[1] = vue.createElementVNode("h3", { class: "m-0 text-sm font-semibold text-gray-800" }, "图例", -1)),
472697
+ _cache[1] || (_cache[1] = vue.createElementVNode("span", { class: "header-title" }, "图例", -1)),
472781
472698
  vue.createElementVNode("div", _hoisted_2$i, [
472782
- vue.createVNode(_component_el_button, {
472783
- link: "",
472784
- size: "small",
472699
+ vue.createVNode(_component_el_icon, {
472700
+ class: "action-icon",
472785
472701
  onClick: toggleCollapse,
472786
- icon: isCollapsed.value ? vue.unref(expand_default) : vue.unref(fold_default)
472787
- }, null, 8, ["icon"])
472788
- ])
472789
- ]),
472790
- vue.createElementVNode("div", _hoisted_3$i, [
472791
- vue.createElementVNode("div", _hoisted_4$i, [
472792
- visibleLegends.value.length > 0 ? (vue.openBlock(), vue.createBlock(_component_el_collapse, {
472793
- key: 0,
472794
- modelValue: activeNames.value,
472795
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => activeNames.value = $event),
472796
- class: "legend-collapse"
472702
+ title: isCollapsed.value ? "展开" : "收起"
472797
472703
  }, {
472798
472704
  default: vue.withCtx(() => [
472799
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(visibleLegends.value, (legend) => {
472800
- return vue.openBlock(), vue.createBlock(_component_el_collapse_item, {
472801
- key: legend.layerId,
472802
- title: legend.title || "未命名图例",
472803
- name: legend.id,
472804
- class: "legend-item"
472805
- }, {
472806
- default: vue.withCtx(() => [
472807
- vue.createElementVNode("div", _hoisted_5$i, [
472808
- legend.type === "symbol" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$e, [
472809
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(legend.items, (item) => {
472810
- return vue.openBlock(), vue.createElementBlock("div", {
472811
- key: item.value,
472812
- class: "flex items-center mb-2"
472813
- }, [
472814
- vue.createElementVNode("div", {
472815
- class: "w-4 h-4 mr-2 border border-gray-300",
472816
- style: vue.normalizeStyle(getSymbolStyle(item))
472817
- }, null, 4),
472818
- vue.createElementVNode("span", _hoisted_7$c, vue.toDisplayString(item.label), 1)
472819
- ]);
472820
- }), 128))
472821
- ])) : legend.type === "color" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$9, [
472822
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(legend.items, (item) => {
472823
- return vue.openBlock(), vue.createElementBlock("div", {
472824
- key: item.value,
472825
- class: "flex items-center mb-1.5"
472826
- }, [
472827
- vue.createElementVNode("div", {
472828
- class: "w-4 h-4 mr-2 border border-gray-300 rounded-sm",
472829
- style: vue.normalizeStyle({ backgroundColor: item.color })
472830
- }, null, 4),
472831
- vue.createElementVNode("span", _hoisted_9$7, vue.toDisplayString(item.label), 1)
472832
- ]);
472833
- }), 128))
472834
- ])) : legend.type === "gradient" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_10$7, [
472835
- vue.createElementVNode("div", _hoisted_11$6, [
472836
- vue.createElementVNode("div", {
472837
- class: "w-full h-5 border border-gray-300 rounded-sm",
472838
- style: vue.normalizeStyle(getGradientStyle(legend))
472839
- }, null, 4),
472840
- vue.createElementVNode("div", _hoisted_12$6, [
472841
- vue.createElementVNode("span", null, vue.toDisplayString(legend.min), 1),
472842
- vue.createElementVNode("span", null, vue.toDisplayString(legend.max), 1)
472843
- ])
472844
- ]),
472845
- vue.createElementVNode("div", _hoisted_13$6, vue.toDisplayString(legend.unit || ""), 1)
472846
- ])) : legend.type === "category" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_14$5, [
472847
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(legend.items, (item) => {
472848
- return vue.openBlock(), vue.createElementBlock("div", {
472849
- key: item.value,
472850
- class: "flex items-center mb-1.5"
472851
- }, [
472852
- vue.createElementVNode("div", {
472853
- class: "mr-2 border border-gray-300",
472854
- style: vue.normalizeStyle(getCategoryStyle(item))
472855
- }, null, 4),
472856
- vue.createElementVNode("span", _hoisted_15$4, vue.toDisplayString(item.label), 1)
472857
- ]);
472858
- }), 128))
472859
- ])) : legend.type === "icon" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_16$4, [
472860
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(legend.items, (item) => {
472861
- return vue.openBlock(), vue.createElementBlock("div", {
472862
- key: item.value,
472863
- class: "flex items-center mb-1.5"
472864
- }, [
472865
- item.image ? (vue.openBlock(), vue.createElementBlock("img", {
472866
- key: 0,
472867
- src: item.image,
472868
- alt: item.label,
472869
- class: "mr-2 object-contain border border-gray-200 rounded-sm",
472870
- style: vue.normalizeStyle(getIconStyle(item)),
472871
- onError: handleImageError
472872
- }, null, 44, _hoisted_17$4)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_18$4)),
472873
- vue.createElementVNode("span", _hoisted_19$4, vue.toDisplayString(item.label), 1)
472874
- ]);
472875
- }), 128))
472876
- ])) : legend.type === "custom" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_20$4, [
472877
- vue.createElementVNode("div", {
472878
- innerHTML: legend.content
472879
- }, null, 8, _hoisted_21$2)
472880
- ])) : vue.createCommentVNode("", true),
472881
- legend.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_22$1, vue.toDisplayString(legend.description), 1)) : vue.createCommentVNode("", true)
472882
- ])
472883
- ]),
472884
- _: 2
472885
- }, 1032, ["title", "name"]);
472886
- }), 128))
472705
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(isCollapsed.value ? "Expand" : "Fold")))
472887
472706
  ]),
472888
472707
  _: 1
472889
- }, 8, ["modelValue"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_23$1, [
472890
- vue.createVNode(_component_el_empty, { description: "暂无图例" })
472891
- ]))
472708
+ }, 8, ["title"])
472892
472709
  ])
472710
+ ]),
472711
+ vue.createElementVNode("div", _hoisted_3$i, [
472712
+ visibleLegends.value.length > 0 ? (vue.openBlock(), vue.createBlock(_component_el_collapse, {
472713
+ key: 0,
472714
+ modelValue: activeNames.value,
472715
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => activeNames.value = $event),
472716
+ class: "legend-collapse"
472717
+ }, {
472718
+ default: vue.withCtx(() => [
472719
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(visibleLegends.value, (legend) => {
472720
+ return vue.openBlock(), vue.createBlock(_component_el_collapse_item, {
472721
+ key: legend.layerId,
472722
+ name: legend.layerId
472723
+ }, {
472724
+ title: vue.withCtx(() => [
472725
+ vue.createElementVNode("span", {
472726
+ class: "layer-title",
472727
+ title: legend.title
472728
+ }, vue.toDisplayString(legend.title || "未命名图例"), 9, _hoisted_4$i)
472729
+ ]),
472730
+ default: vue.withCtx(() => [
472731
+ vue.createElementVNode("div", _hoisted_5$i, [
472732
+ legend.type === "gradient" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$d, [
472733
+ vue.createElementVNode("div", {
472734
+ class: "gradient-bar",
472735
+ style: vue.normalizeStyle(getGradientStyle(legend))
472736
+ }, null, 4),
472737
+ vue.createElementVNode("div", _hoisted_7$c, [
472738
+ vue.createElementVNode("span", null, vue.toDisplayString(legend.min), 1),
472739
+ vue.createElementVNode("span", null, vue.toDisplayString(legend.max), 1)
472740
+ ]),
472741
+ legend.unit ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_8$9, vue.toDisplayString(legend.unit), 1)) : vue.createCommentVNode("", true)
472742
+ ])) : legend.type === "custom" ? (vue.openBlock(), vue.createElementBlock("div", {
472743
+ key: 1,
472744
+ class: "legend-custom",
472745
+ innerHTML: legend.content
472746
+ }, null, 8, _hoisted_9$7)) : (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 2 }, vue.renderList(legend.items, (item, idx) => {
472747
+ return vue.openBlock(), vue.createElementBlock("div", {
472748
+ key: idx,
472749
+ class: "legend-row"
472750
+ }, [
472751
+ vue.createElementVNode("div", {
472752
+ class: "legend-icon",
472753
+ style: vue.normalizeStyle(getIconWrapperStyle(legend.type, item))
472754
+ }, [
472755
+ legend.type === "icon" && item.image ? (vue.openBlock(), vue.createElementBlock("img", {
472756
+ key: 0,
472757
+ src: item.image,
472758
+ class: "icon-img",
472759
+ onError: handleImageError
472760
+ }, null, 40, _hoisted_10$7)) : (vue.openBlock(), vue.createElementBlock("div", {
472761
+ key: 1,
472762
+ class: "symbol-shape",
472763
+ style: vue.normalizeStyle(getSymbolInnerStyle(legend.type, item))
472764
+ }, null, 4))
472765
+ ], 4),
472766
+ vue.createElementVNode("span", {
472767
+ class: "legend-label",
472768
+ title: item.label
472769
+ }, vue.toDisplayString(item.label), 9, _hoisted_11$6)
472770
+ ]);
472771
+ }), 128)),
472772
+ legend.description ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_12$6, vue.toDisplayString(legend.description), 1)) : vue.createCommentVNode("", true)
472773
+ ])
472774
+ ]),
472775
+ _: 2
472776
+ }, 1032, ["name"]);
472777
+ }), 128))
472778
+ ]),
472779
+ _: 1
472780
+ }, 8, ["modelValue"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_13$6, [
472781
+ vue.createVNode(_component_el_empty, {
472782
+ description: "暂无图例",
472783
+ "image-size": 60
472784
+ })
472785
+ ]))
472893
472786
  ])
472894
472787
  ], 6)), [
472895
472788
  [vue.vShow, shouldShowLegend.value]
@@ -472897,7 +472790,8 @@ ${this.attributes_.map(
472897
472790
  };
472898
472791
  }
472899
472792
  });
472900
- const OlLegendPanel_vue_vue_type_style_index_0_lang = "";
472793
+ const OlLegendPanel_vue_vue_type_style_index_0_scoped_b1b6d5ed_lang = "";
472794
+ const OlLegendPanel = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-b1b6d5ed"]]);
472901
472795
  class ConfigLoader {
472902
472796
  /**
472903
472797
  * 从URL加载配置文件
@@ -474025,7 +473919,7 @@ ${this.attributes_.map(
474025
473919
  const _hoisted_3$h = { class: "config-item" };
474026
473920
  const _hoisted_4$h = { class: "value-text" };
474027
473921
  const _hoisted_5$h = { class: "config-item" };
474028
- const _hoisted_6$d = { class: "value-text" };
473922
+ const _hoisted_6$c = { class: "value-text" };
474029
473923
  const _hoisted_7$b = { class: "config-item" };
474030
473924
  const _hoisted_8$8 = { class: "value-text" };
474031
473925
  const _hoisted_9$6 = { class: "config-item" };
@@ -474086,7 +473980,7 @@ ${this.attributes_.map(
474086
473980
  step: 1,
474087
473981
  onInput: handleFilterChange
474088
473982
  }, null, 8, ["modelValue"]),
474089
- vue.createElementVNode("span", _hoisted_6$d, vue.toDisplayString(_ctx.filters.saturate) + "%", 1)
473983
+ vue.createElementVNode("span", _hoisted_6$c, vue.toDisplayString(_ctx.filters.saturate) + "%", 1)
474090
473984
  ]),
474091
473985
  vue.createElementVNode("div", _hoisted_7$b, [
474092
473986
  _cache[13] || (_cache[13] = vue.createElementVNode("label", null, "亮度:", -1)),
@@ -474224,7 +474118,7 @@ ${this.attributes_.map(
474224
474118
  };
474225
474119
  const _hoisted_4$g = { class: "config-item" };
474226
474120
  const _hoisted_5$g = { class: "value-text" };
474227
- const _hoisted_6$c = { class: "config-item" };
474121
+ const _hoisted_6$b = { class: "config-item" };
474228
474122
  const _hoisted_7$a = { class: "value-text" };
474229
474123
  const _hoisted_8$7 = {
474230
474124
  key: 1,
@@ -474282,7 +474176,7 @@ ${this.attributes_.map(
474282
474176
  }, null, 8, ["modelValue"]),
474283
474177
  vue.createElementVNode("span", _hoisted_5$g, vue.toDisplayString(_ctx.layerData.clusterDistance) + "px", 1)
474284
474178
  ]),
474285
- vue.createElementVNode("div", _hoisted_6$c, [
474179
+ vue.createElementVNode("div", _hoisted_6$b, [
474286
474180
  _cache[7] || (_cache[7] = vue.createElementVNode("label", null, "最小距离:", -1)),
474287
474181
  vue.createVNode(_component_el_slider, {
474288
474182
  modelValue: _ctx.layerData.minDistance,
@@ -474722,7 +474616,7 @@ ${this.attributes_.map(
474722
474616
  const _hoisted_3$e = { class: "text-xs font-semibold text-gray-700 px-1 py-1 border-b border-gray-200 mb-2" };
474723
474617
  const _hoisted_4$e = { class: "global-style-panel" };
474724
474618
  const _hoisted_5$e = { class: "config-section" };
474725
- const _hoisted_6$b = { class: "config-item" };
474619
+ const _hoisted_6$a = { class: "config-item" };
474726
474620
  const _hoisted_7$9 = { class: "current-style-display" };
474727
474621
  const _hoisted_8$6 = { class: "style-preview" };
474728
474622
  const dialogType = "layer-panel";
@@ -475495,7 +475389,10 @@ ${this.attributes_.map(
475495
475389
  return vue.openBlock(), vue.createBlock(vue.unref(X$1), vue.mergeProps({
475496
475390
  modelValue: visible.value,
475497
475391
  "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => visible.value = $event)
475498
- }, dialogProps2.value, { onClose: handleClose }), vue.createSlots({
475392
+ }, dialogProps2.value, {
475393
+ "append-to-body": "",
475394
+ onClose: handleClose
475395
+ }), vue.createSlots({
475499
475396
  default: vue.withCtx(() => [
475500
475397
  _ctx.$slots.default ? vue.renderSlot(_ctx.$slots, "default", {
475501
475398
  key: 0,
@@ -475665,7 +475562,7 @@ ${this.attributes_.map(
475665
475562
  }, {
475666
475563
  default: vue.withCtx(() => [
475667
475564
  vue.createElementVNode("div", _hoisted_5$e, [
475668
- vue.createElementVNode("div", _hoisted_6$b, [
475565
+ vue.createElementVNode("div", _hoisted_6$a, [
475669
475566
  vue.createVNode(vue.unref(ElInput), {
475670
475567
  modelValue: vue.unref(globalCustomCss),
475671
475568
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(globalCustomCss) ? globalCustomCss.value = $event : null),
@@ -475890,7 +475787,7 @@ ${this.attributes_.map(
475890
475787
  const _hoisted_3$c = { class: "flex items-center justify-between" };
475891
475788
  const _hoisted_4$c = { class: "mb-5" };
475892
475789
  const _hoisted_5$c = { class: "mb-3" };
475893
- const _hoisted_6$a = {
475790
+ const _hoisted_6$9 = {
475894
475791
  key: 0,
475895
475792
  class: "mb-3"
475896
475793
  };
@@ -476466,7 +476363,7 @@ ${this.attributes_.map(
476466
476363
  _: 1
476467
476364
  }, 8, ["modelValue"])
476468
476365
  ]),
476469
- printSettings.paperSize === "Custom" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$a, [
476366
+ printSettings.paperSize === "Custom" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$9, [
476470
476367
  vue.createElementVNode("div", _hoisted_7$8, [
476471
476368
  vue.createVNode(_component_el_input, {
476472
476369
  modelValue: printSettings.customWidth,
@@ -476974,7 +476871,7 @@ ${this.attributes_.map(
476974
476871
  const _hoisted_3$b = { key: 1 };
476975
476872
  const _hoisted_4$b = { class: "layer-title" };
476976
476873
  const _hoisted_5$b = ["onClick"];
476977
- const _hoisted_6$9 = { class: "property-key" };
476874
+ const _hoisted_6$8 = { class: "property-key" };
476978
476875
  const _hoisted_7$7 = { class: "property-value" };
476979
476876
  const _hoisted_8$4 = ["innerHTML"];
476980
476877
  const _hoisted_9$3 = { key: 3 };
@@ -477168,7 +477065,7 @@ ${this.attributes_.map(
477168
477065
  key: key2,
477169
477066
  class: "property-item"
477170
477067
  }, [
477171
- vue.createElementVNode("span", _hoisted_6$9, vue.toDisplayString(key2) + ":", 1),
477068
+ vue.createElementVNode("span", _hoisted_6$8, vue.toDisplayString(key2) + ":", 1),
477172
477069
  vue.createElementVNode("span", _hoisted_7$7, vue.toDisplayString(formatValue(value)), 1)
477173
477070
  ]);
477174
477071
  }), 128))
@@ -477215,15 +477112,17 @@ ${this.attributes_.map(
477215
477112
  };
477216
477113
  }
477217
477114
  });
477218
- const _hoisted_1$b = {
477219
- key: 11,
477220
- class: "absolute top-15 right-2.5 w-62.5 max-h-75 bg-white rounded-md shadow-lg z-1000 overflow-hidden md:w-50 md:top-20 md:right-1.25"
477221
- };
477222
- const _hoisted_2$a = { class: "flex items-center justify-between px-4 py-3 border-b border-gray-200 bg-gray-50" };
477223
- const _hoisted_3$a = { class: "max-h-50 overflow-y-auto p-2" };
477224
- const _hoisted_4$a = { class: "flex-1 flex flex-col gap-0.5" };
477225
- const _hoisted_5$a = { class: "text-xs text-gray-500" };
477226
- const _hoisted_6$8 = { class: "text-sm font-semibold text-gray-800 font-mono" };
477115
+ const _hoisted_1$b = { class: "flex items-center justify-between" };
477116
+ const _hoisted_2$a = { class: "max-h-50 overflow-y-auto p-2" };
477117
+ const _hoisted_3$a = { class: "flex-1 flex flex-col gap-0.5" };
477118
+ const _hoisted_4$a = {
477119
+ class: "text-xs",
477120
+ style: { "color": "var(--el-text-color-secondary)" }
477121
+ };
477122
+ const _hoisted_5$a = {
477123
+ class: "text-sm font-semibold font-mono",
477124
+ style: { "color": "var(--el-text-color-regular)" }
477125
+ };
477227
477126
  const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
477228
477127
  __name: "OlMap",
477229
477128
  props: {
@@ -478395,6 +478294,7 @@ ${this.attributes_.map(
478395
478294
  var _a3;
478396
478295
  const _component_el_icon = vue.resolveComponent("el-icon");
478397
478296
  const _component_el_button = vue.resolveComponent("el-button");
478297
+ const _component_el_card = vue.resolveComponent("el-card");
478398
478298
  return vue.openBlock(), vue.createElementBlock("div", {
478399
478299
  class: vue.normalizeClass(["relative w-full h-full overflow-hidden", { "fixed top-0 left-0 w-screen h-screen z-9999": isFullscreen.value }])
478400
478300
  }, [
@@ -478428,7 +478328,7 @@ ${this.attributes_.map(
478428
478328
  formattedData,
478429
478329
  coordinate,
478430
478330
  pixel
478431
- })
478331
+ }, void 0, true)
478432
478332
  ]),
478433
478333
  _: 3
478434
478334
  }, 8, ["config", "width", "height", "loading"]),
@@ -478517,20 +478417,19 @@ ${this.attributes_.map(
478517
478417
  "left-offset": finalControlsConfig.value.leftOffset,
478518
478418
  "right-offset": finalControlsConfig.value.rightOffset,
478519
478419
  "top-offset": finalControlsConfig.value.topOffset,
478520
- "bottom-offset": finalControlsConfig.value.bottomOffset,
478521
- class: "bg-white p-2 rounded-lg shadow-lg"
478420
+ "bottom-offset": finalControlsConfig.value.bottomOffset
478522
478421
  }, {
478523
478422
  custom: vue.withCtx(({ controls }) => [
478524
478423
  vue.renderSlot(_ctx.$slots, "controls", {
478525
478424
  controls,
478526
478425
  map: map2.value
478527
- })
478426
+ }, void 0, true)
478528
478427
  ]),
478529
478428
  _: 3
478530
478429
  }, 8, ["config", "position", "direction", "left-offset", "right-offset", "top-offset", "bottom-offset"])) : vue.createCommentVNode("", true),
478531
- hasToolbarSlot.value ? vue.renderSlot(_ctx.$slots, "toolbar", { key: 5 }) : vue.createCommentVNode("", true),
478532
- hasMapInfoSlot.value ? vue.renderSlot(_ctx.$slots, "mapInfo", { key: 6 }) : vue.createCommentVNode("", true),
478533
- hasMapInfoSlot.value ? vue.renderSlot(_ctx.$slots, "map-info", { key: 7 }) : vue.createCommentVNode("", true),
478430
+ hasToolbarSlot.value ? vue.renderSlot(_ctx.$slots, "toolbar", { key: 5 }, void 0, true) : vue.createCommentVNode("", true),
478431
+ hasMapInfoSlot.value ? vue.renderSlot(_ctx.$slots, "mapInfo", { key: 6 }, void 0, true) : vue.createCommentVNode("", true),
478432
+ hasMapInfoSlot.value ? vue.renderSlot(_ctx.$slots, "map-info", { key: 7 }, void 0, true) : vue.createCommentVNode("", true),
478534
478433
  finalEnableLayerPanel.value ? (vue.openBlock(), vue.createBlock(_sfc_main$f, {
478535
478434
  key: 8,
478536
478435
  modelValue: showLayerPanel.value,
@@ -478539,30 +478438,30 @@ ${this.attributes_.map(
478539
478438
  hasLayerPanelSlot.value ? {
478540
478439
  name: "default",
478541
478440
  fn: vue.withCtx((panel) => [
478542
- vue.renderSlot(_ctx.$slots, "layerPanel", vue.normalizeProps(vue.guardReactiveProps(panel))),
478543
- vue.renderSlot(_ctx.$slots, "layer-panel", vue.normalizeProps(vue.guardReactiveProps(panel)))
478441
+ vue.renderSlot(_ctx.$slots, "layerPanel", vue.normalizeProps(vue.guardReactiveProps(panel)), void 0, true),
478442
+ vue.renderSlot(_ctx.$slots, "layer-panel", vue.normalizeProps(vue.guardReactiveProps(panel)), void 0, true)
478544
478443
  ]),
478545
478444
  key: "0"
478546
478445
  } : void 0,
478547
478446
  hasLayerPanelTitleSlot.value ? {
478548
478447
  name: "title",
478549
478448
  fn: vue.withCtx(() => [
478550
- vue.renderSlot(_ctx.$slots, "layerPanelTitle"),
478551
- vue.renderSlot(_ctx.$slots, "layer-panel-title"),
478552
- vue.renderSlot(_ctx.$slots, "title")
478449
+ vue.renderSlot(_ctx.$slots, "layerPanelTitle", {}, void 0, true),
478450
+ vue.renderSlot(_ctx.$slots, "layer-panel-title", {}, void 0, true),
478451
+ vue.renderSlot(_ctx.$slots, "title", {}, void 0, true)
478553
478452
  ]),
478554
478453
  key: "1"
478555
478454
  } : void 0,
478556
478455
  hasLayerPanelFooterSlot.value ? {
478557
478456
  name: "footer",
478558
478457
  fn: vue.withCtx((panel) => [
478559
- vue.renderSlot(_ctx.$slots, "layerPanelFooter", vue.normalizeProps(vue.guardReactiveProps(panel))),
478560
- vue.renderSlot(_ctx.$slots, "layer-panel-footer", vue.normalizeProps(vue.guardReactiveProps(panel)))
478458
+ vue.renderSlot(_ctx.$slots, "layerPanelFooter", vue.normalizeProps(vue.guardReactiveProps(panel)), void 0, true),
478459
+ vue.renderSlot(_ctx.$slots, "layer-panel-footer", vue.normalizeProps(vue.guardReactiveProps(panel)), void 0, true)
478561
478460
  ]),
478562
478461
  key: "2"
478563
478462
  } : void 0
478564
478463
  ]), 1032, ["modelValue"])) : vue.createCommentVNode("", true),
478565
- showLegend.value ? (vue.openBlock(), vue.createBlock(_sfc_main$j, {
478464
+ showLegend.value ? (vue.openBlock(), vue.createBlock(OlLegendPanel, {
478566
478465
  key: 9,
478567
478466
  position: finalLegendPosition.value,
478568
478467
  width: finalLegendWidth.value,
@@ -478574,42 +478473,55 @@ ${this.attributes_.map(
478574
478473
  "top-offset": props.legendTopOffset,
478575
478474
  "bottom-offset": props.legendBottomOffset
478576
478475
  }, null, 8, ["position", "width", "collapsible", "default-collapsed", "show-only-visible", "left-offset", "right-offset", "top-offset", "bottom-offset"])) : vue.createCommentVNode("", true),
478577
- hasLegendSlot.value ? vue.renderSlot(_ctx.$slots, "legend", { key: 10 }) : vue.createCommentVNode("", true),
478578
- measurementResults.value.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$b, [
478579
- vue.createElementVNode("div", _hoisted_2$a, [
478580
- _cache[6] || (_cache[6] = vue.createElementVNode("h4", { class: "m-0 text-sm font-semibold text-gray-800" }, "测量结果", -1)),
478581
- vue.createVNode(_component_el_button, {
478582
- link: "",
478583
- size: "small",
478584
- onClick: clearAllMeasurements,
478585
- icon: vue.unref(delete_default)
478586
- }, {
478587
- default: vue.withCtx(() => [..._cache[5] || (_cache[5] = [
478588
- vue.createTextVNode(" 清除 ", -1)
478589
- ])]),
478590
- _: 1
478591
- }, 8, ["icon"])
478476
+ hasLegendSlot.value ? vue.renderSlot(_ctx.$slots, "legend", { key: 10 }, void 0, true) : vue.createCommentVNode("", true),
478477
+ measurementResults.value.length > 0 ? (vue.openBlock(), vue.createBlock(_component_el_card, {
478478
+ key: 11,
478479
+ class: "measurement-card absolute top-15 right-2.5 w-62.5 max-h-75 z-1000 md:w-50 md:top-20 md:right-1.25",
478480
+ "body-style": { padding: "0px" },
478481
+ shadow: "always"
478482
+ }, {
478483
+ header: vue.withCtx(() => [
478484
+ vue.createElementVNode("div", _hoisted_1$b, [
478485
+ _cache[6] || (_cache[6] = vue.createElementVNode("span", {
478486
+ class: "text-sm font-bold",
478487
+ style: { "color": "var(--el-text-color-primary)" }
478488
+ }, "测量结果", -1)),
478489
+ vue.createVNode(_component_el_button, {
478490
+ link: "",
478491
+ size: "small",
478492
+ onClick: clearAllMeasurements,
478493
+ icon: vue.unref(delete_default)
478494
+ }, {
478495
+ default: vue.withCtx(() => [..._cache[5] || (_cache[5] = [
478496
+ vue.createTextVNode(" 清除 ", -1)
478497
+ ])]),
478498
+ _: 1
478499
+ }, 8, ["icon"])
478500
+ ])
478592
478501
  ]),
478593
- vue.createElementVNode("div", _hoisted_3$a, [
478594
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(measurementResults.value, (result, index2) => {
478595
- return vue.openBlock(), vue.createElementBlock("div", {
478596
- key: result.id,
478597
- class: "flex items-center justify-between px-3 py-2 mb-1 bg-gray-50 rounded transition-colors duration-200 hover:bg-blue-50"
478598
- }, [
478599
- vue.createElementVNode("div", _hoisted_4$a, [
478600
- vue.createElementVNode("span", _hoisted_5$a, vue.toDisplayString(result.type === "length" ? "长度" : "面积"), 1),
478601
- vue.createElementVNode("span", _hoisted_6$8, vue.toDisplayString(formatMeasurementValue(result)), 1)
478602
- ]),
478603
- vue.createVNode(_component_el_button, {
478604
- link: "",
478605
- size: "small",
478606
- onClick: ($event) => removeMeasurement(result.id),
478607
- icon: vue.unref(close_default)
478608
- }, null, 8, ["onClick", "icon"])
478609
- ]);
478610
- }), 128))
478611
- ])
478612
- ])) : vue.createCommentVNode("", true),
478502
+ default: vue.withCtx(() => [
478503
+ vue.createElementVNode("div", _hoisted_2$a, [
478504
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(measurementResults.value, (result, index2) => {
478505
+ return vue.openBlock(), vue.createElementBlock("div", {
478506
+ key: result.id,
478507
+ class: "measurement-item flex items-center justify-between px-3 py-2 mb-1 rounded transition-colors duration-200"
478508
+ }, [
478509
+ vue.createElementVNode("div", _hoisted_3$a, [
478510
+ vue.createElementVNode("span", _hoisted_4$a, vue.toDisplayString(result.type === "length" ? "长度" : "面积"), 1),
478511
+ vue.createElementVNode("span", _hoisted_5$a, vue.toDisplayString(formatMeasurementValue(result)), 1)
478512
+ ]),
478513
+ vue.createVNode(_component_el_button, {
478514
+ link: "",
478515
+ size: "small",
478516
+ onClick: ($event) => removeMeasurement(result.id),
478517
+ icon: vue.unref(close_default)
478518
+ }, null, 8, ["onClick", "icon"])
478519
+ ]);
478520
+ }), 128))
478521
+ ])
478522
+ ]),
478523
+ _: 1
478524
+ })) : vue.createCommentVNode("", true),
478613
478525
  map2.value && ((_a3 = finalMapConfig.value.baseLayers) == null ? void 0 : _a3.length) ? (vue.openBlock(), vue.createBlock(OlBaseLayerSwitcher, {
478614
478526
  key: 12,
478615
478527
  map: map2.value,
@@ -478626,7 +478538,8 @@ ${this.attributes_.map(
478626
478538
  };
478627
478539
  }
478628
478540
  });
478629
- const OlMap_vue_vue_type_style_index_0_lang = "";
478541
+ const OlMap_vue_vue_type_style_index_0_scoped_736d12b7_lang = "";
478542
+ const OlMap = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-736d12b7"]]);
478630
478543
  const _hoisted_1$a = ["href"];
478631
478544
  const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
478632
478545
  __name: "index",
@@ -499149,23 +499062,23 @@ ${this.attributes_.map(
499149
499062
  }
499150
499063
  };
499151
499064
  const install = (app) => {
499152
- app.component("OlMap", _sfc_main$b);
499065
+ app.component("OlMap", OlMap);
499153
499066
  app.component("OlMapContainer", _sfc_main$n);
499154
499067
  app.component("OlDrawToolbar", OlDrawToolbar);
499155
499068
  app.component("OlControlPanel", OlControlPanel);
499156
499069
  app.component("OlMapSearch", _sfc_main$l);
499157
499070
  app.component("OlMapTooltip", _sfc_main$c);
499158
- app.component("OlLegendPanel", _sfc_main$j);
499071
+ app.component("OlLegendPanel", OlLegendPanel);
499159
499072
  app.component("OlBaseLayerSwitcher", OlBaseLayerSwitcher);
499160
- app.component("CustomOpenlayer", _sfc_main$b);
499073
+ app.component("CustomOpenlayer", OlMap);
499161
499074
  app.component("CustomDialog", _sfc_main$9);
499162
499075
  app.component("EPlusDialog", X$1);
499163
499076
  app.component("SvgIcon", _sfc_main$a);
499164
499077
  };
499165
499078
  const index$3 = {
499166
499079
  install,
499167
- OlMap: _sfc_main$b,
499168
- CustomOpenlayer: _sfc_main$b,
499080
+ OlMap,
499081
+ CustomOpenlayer: OlMap,
499169
499082
  CustomDialog: _sfc_main$9,
499170
499083
  EPlusDialog: X$1,
499171
499084
  SvgIcon: _sfc_main$a
@@ -500219,15 +500132,15 @@ ${this.attributes_.map(
500219
500132
  const _component_el_option_group = vue.resolveComponent("el-option-group");
500220
500133
  const _component_el_select = vue.resolveComponent("el-select");
500221
500134
  const _component_el_button = vue.resolveComponent("el-button");
500222
- const _component_EPlusDialog = vue.resolveComponent("EPlusDialog");
500223
- return vue.openBlock(), vue.createBlock(_component_EPlusDialog, {
500135
+ return vue.openBlock(), vue.createBlock(vue.unref(X$1), {
500224
500136
  modelValue: dialogVisible.value,
500225
500137
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => dialogVisible.value = $event),
500226
500138
  title: "图上量算",
500227
500139
  width: "400px",
500228
500140
  "before-close": handleClose,
500229
500141
  "show-modal": false,
500230
- cacheId: "measurement-dialog"
500142
+ cacheId: "measurement-dialog",
500143
+ "append-to-body": ""
500231
500144
  }, {
500232
500145
  default: vue.withCtx(() => [
500233
500146
  vue.createElementVNode("div", _hoisted_1$8, [
@@ -500291,7 +500204,7 @@ ${this.attributes_.map(
500291
500204
  type: "text",
500292
500205
  size: "small",
500293
500206
  onClick: clearMeasurement,
500294
- style: { "color": "#ff4757" }
500207
+ style: { "color": "var(--el-color-danger)" }
500295
500208
  }, {
500296
500209
  default: vue.withCtx(() => [..._cache[2] || (_cache[2] = [
500297
500210
  vue.createTextVNode(" 清除 ", -1)
@@ -500325,8 +500238,8 @@ ${this.attributes_.map(
500325
500238
  };
500326
500239
  }
500327
500240
  });
500328
- const MeasurementDialog_vue_vue_type_style_index_0_scoped_ac238457_lang = "";
500329
- const MeasurementDialog = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-ac238457"]]);
500241
+ const MeasurementDialog_vue_vue_type_style_index_0_scoped_60e80f64_lang = "";
500242
+ const MeasurementDialog = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-60e80f64"]]);
500330
500243
  const MeasurementDialog$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
500331
500244
  __proto__: null,
500332
500245
  default: MeasurementDialog
@@ -500562,8 +500475,7 @@ ${this.attributes_.map(
500562
500475
  }
500563
500476
  };
500564
500477
  return (_ctx, _cache) => {
500565
- const _component_EPlusDialog = vue.resolveComponent("EPlusDialog");
500566
- return vue.openBlock(), vue.createBlock(_component_EPlusDialog, {
500478
+ return vue.openBlock(), vue.createBlock(vue.unref(X$1), {
500567
500479
  modelValue: visible.value,
500568
500480
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => visible.value = $event),
500569
500481
  title: "底图选择",
@@ -500572,10 +500484,10 @@ ${this.attributes_.map(
500572
500484
  "show-modal": false,
500573
500485
  draggable: true,
500574
500486
  resizable: true,
500575
- "show-close": true,
500576
500487
  cacheId: "basemap-dialog",
500577
500488
  position: "right",
500578
500489
  class: "basemap-dialog",
500490
+ "append-to-body": "",
500579
500491
  onClose: handleClose
500580
500492
  }, {
500581
500493
  default: vue.withCtx(() => [
@@ -500605,10 +500517,11 @@ ${this.attributes_.map(
500605
500517
  };
500606
500518
  }
500607
500519
  });
500608
- const BasemapPanel_vue_vue_type_style_index_0_lang = "";
500609
- const BasemapPanel = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
500520
+ const BasemapPanel_vue_vue_type_style_index_0_scoped_75f232fd_lang = "";
500521
+ const BasemapPanel = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-75f232fd"]]);
500522
+ const BasemapPanel$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
500610
500523
  __proto__: null,
500611
- default: _sfc_main$7
500524
+ default: BasemapPanel
500612
500525
  }, Symbol.toStringTag, { value: "Module" }));
500613
500526
  const _hoisted_1$6 = { class: "coordinate-content" };
500614
500527
  const _hoisted_2$6 = { class: "format-selection" };
@@ -513735,7 +513648,7 @@ ${this.attributes_.map(
513735
513648
  exports2.BaseDrawing = BaseDrawing;
513736
513649
  exports2.BasemapManager = BasemapManager;
513737
513650
  exports2.CustomDialog = _sfc_main$9;
513738
- exports2.CustomOpenlayer = _sfc_main$b;
513651
+ exports2.CustomOpenlayer = OlMap;
513739
513652
  exports2.DrawingFactoryRegistry = DrawingFactoryRegistry;
513740
513653
  exports2.DrawingManager = DrawingManager;
513741
513654
  exports2.DrawingManagerFactory = DrawingManagerFactory;
@@ -513765,8 +513678,8 @@ ${this.attributes_.map(
513765
513678
  exports2.OlBaseLayerSwitcher = OlBaseLayerSwitcher;
513766
513679
  exports2.OlControlPanel = OlControlPanel;
513767
513680
  exports2.OlDrawToolbar = OlDrawToolbar;
513768
- exports2.OlLegendPanel = _sfc_main$j;
513769
- exports2.OlMap = _sfc_main$b;
513681
+ exports2.OlLegendPanel = OlLegendPanel;
513682
+ exports2.OlMap = OlMap;
513770
513683
  exports2.OlMapContainer = _sfc_main$n;
513771
513684
  exports2.OlMapSearch = _sfc_main$l;
513772
513685
  exports2.OlMapTooltip = _sfc_main$c;