import { defineComponent, inject, computed, ref, watch, reactive, resolveComponent, openBlock, createBlock, unref, withCtx, createElementVNode, createVNode, createTextVNode, createElementBlock, Fragment, renderList, withModifiers, toDisplayString, createCommentVNode } from "vue";
import { Plus, Delete, Search, Camera, View, Edit, Location, ZoomIn } from "@element-plus/icons-vue";
import { ElMessage, ElMessageBox } from "element-plus";
import { X, t as toLonLat, h as fromLonLat, i as getUid } from "./index-e8d5fc75.mjs";
import "ol";
import "proj4";
import "@supermapgis/iclient-ol";
const _hoisted_1 = { class: "bookmarks-content" };
const _hoisted_2 = { class: "toolbar" };
const _hoisted_3 = { class: "search-filter" };
const _hoisted_4 = { class: "bookmarks-grid" };
const _hoisted_5 = ["onClick"];
const _hoisted_6 = { class: "bookmark-thumbnail" };
const _hoisted_7 = ["src"];
const _hoisted_8 = {
  key: 1,
  class: "thumbnail-placeholder"
};
const _hoisted_9 = { class: "bookmark-overlay" };
const _hoisted_10 = { class: "bookmark-info" };
const _hoisted_11 = { class: "bookmark-title" };
const _hoisted_12 = { class: "bookmark-meta" };
const _hoisted_13 = { class: "bookmark-description" };
const _hoisted_14 = { class: "bookmark-details" };
const _hoisted_15 = { class: "detail-item" };
const _hoisted_16 = { class: "detail-item" };
const _hoisted_17 = { class: "bookmark-time" };
const _hoisted_18 = {
  key: 0,
  class: "empty-state"
};
const _hoisted_19 = { class: "dialog-footer" };
const _sfc_main = /* @__PURE__ */ defineComponent({
  __name: "ViewBookmarksDialog",
  props: {
    modelValue: { type: Boolean },
    bookmarks: {}
  },
  emits: ["update:modelValue", "update:bookmarks", "bookmark-action"],
  setup(__props, { emit: __emit }) {
    const EPlusDialog = X;
    const props = __props;
    const emit = __emit;
    const mapRef = inject("map");
    const map = computed(() => mapRef == null ? void 0 : mapRef.value);
    const dialogVisible = computed({
      get: () => props.modelValue,
      set: (value) => emit("update:modelValue", value)
    });
    const searchKeyword = ref("");
    const filterCategory = ref("");
    const sortBy = ref("createTime");
    const bookmarks = ref([]);
    const normalizeBookmarks = (items) => items.map((item) => ({
      ...item,
      createTime: item.createTime ? new Date(item.createTime) : /* @__PURE__ */ new Date()
    }));
    watch(
      () => props.bookmarks,
      (value) => {
        if (value !== void 0) {
          bookmarks.value = normalizeBookmarks(value);
        }
      },
      { deep: true, immediate: true }
    );
    const emitBookmarksChange = () => {
      emit("update:bookmarks", bookmarks.value);
    };
    const showBookmarkForm = ref(false);
    const editingIndex = ref(-1);
    const bookmarkForm = reactive({
      name: "",
      category: "默认",
      description: "",
      centerLon: 116.407526,
      centerLat: 39.90403,
      zoom: 10,
      rotation: 0,
      thumbnail: "",
      saveLayerState: true
    });
    const getLayerStates = () => {
      if (!map.value)
        return [];
      const states = [];
      const layers = map.value.getLayers().getArray();
      const processLayer = (layer) => {
        const id = layer.get("id") || getUid(layer).toString();
        const title = layer.get("title") || layer.get("name") || "未命名图层";
        states.push({
          id,
          visible: layer.getVisible(),
          opacity: layer.getOpacity(),
          title
        });
        if (layer.getLayers) {
          layer.getLayers().forEach((child) => processLayer(child));
        }
      };
      layers.forEach((layer) => processLayer(layer));
      return states;
    };
    const mapManager = inject("mapManager");
    const layerEventBus = inject("layerEventBus");
    const restoreLayerStates = (states) => {
      if (!map.value || !states || states.length === 0)
        return;
      let restoredCount = 0;
      const allLayers = [];
      const collectLayers = (layers) => {
        layers.forEach((layer) => {
          allLayers.push(layer);
          if (layer.getLayers) {
            collectLayers(layer.getLayers().getArray());
          }
        });
      };
      collectLayers(map.value.getLayers().getArray());
      states.forEach((state) => {
        var _a, _b;
        const layer = allLayers.find((l) => {
          const id = l.get("id") || getUid(l).toString();
          return id === state.id || state.title && l.get("title") === state.title;
        });
        if (layer) {
          if (layer.getVisible() !== state.visible) {
            layer.setVisible(state.visible);
            const layerId = layer.get("id") || getUid(layer).toString();
            const layerName = layer.get("name") || layer.get("title") || "未命名图层";
            const layerType = layer.get("type") || "unknown";
            if ((_a = mapManager == null ? void 0 : mapManager.value) == null ? void 0 : _a.layerManager) {
              mapManager.value.layerManager.setLayerVisible(layerId, state.visible);
            }
            if (layerEventBus) {
              layerEventBus.emit("layer-visibility-changed", {
                layerId,
                visible: state.visible,
                layerName,
                layerType
              });
            }
          }
          if (Math.abs(layer.getOpacity() - state.opacity) > 0.01) {
            layer.setOpacity(state.opacity);
            const layerId = layer.get("id") || getUid(layer).toString();
            if ((_b = mapManager == null ? void 0 : mapManager.value) == null ? void 0 : _b.layerManager) {
              mapManager.value.layerManager.setLayerOpacity(layerId, state.opacity);
            }
          }
          restoredCount++;
        }
      });
      if (restoredCount < states.length) {
        console.warn(
          `部分图层状态未恢复: 仅恢复 ${restoredCount}/${states.length} 个图层`
        );
      }
    };
    const generateThumbnail = () => {
      if (!map.value)
        return "";
      try {
        const mapCanvas = map.value.getViewport().querySelector("canvas");
        if (mapCanvas) {
          const canvas = document.createElement("canvas");
          const ctx = canvas.getContext("2d", { willReadFrequently: true });
          const width = 300;
          const height = width * (mapCanvas.height / mapCanvas.width);
          canvas.width = width;
          canvas.height = height;
          if (ctx) {
            ctx.drawImage(mapCanvas, 0, 0, width, height);
            return canvas.toDataURL("image/jpeg", 0.7);
          }
        }
      } catch (error) {
        console.error("生成缩略图失败:", error);
      }
      return "";
    };
    const categories = computed(() => {
      const cats = [...new Set(bookmarks.value.map((b) => b.category))];
      return cats.filter((cat) => cat);
    });
    const filteredBookmarks = computed(() => {
      let result = bookmarks.value;
      if (searchKeyword.value) {
        const keyword = searchKeyword.value.toLowerCase();
        result = result.filter(
          (bookmark) => bookmark.name.toLowerCase().includes(keyword) || bookmark.description.toLowerCase().includes(keyword)
        );
      }
      if (filterCategory.value) {
        result = result.filter(
          (bookmark) => bookmark.category === filterCategory.value
        );
      }
      result.sort((a, b) => {
        switch (sortBy.value) {
          case "name":
            return a.name.localeCompare(b.name);
          case "createTime":
          default:
            return new Date(b.createTime).getTime() - new Date(a.createTime).getTime();
        }
      });
      return result;
    });
    const handleSearch = () => {
    };
    const showAddBookmark = () => {
      editingIndex.value = -1;
      const thumbnail = generateThumbnail();
      Object.assign(bookmarkForm, {
        name: "",
        category: "默认",
        description: "",
        centerLon: 116.407526,
        centerLat: 39.90403,
        zoom: 10,
        rotation: 0,
        thumbnail,
        saveLayerState: true
      });
      if (map.value) {
        const view = map.value.getView();
        const center = view.getCenter();
        const zoom = view.getZoom();
        const rotation = view.getRotation();
        const projection = view.getProjection().getCode();
        const lonLat = projection === "EPSG:4326" || projection === "EPSG:4490" ? center : toLonLat(center);
        Object.assign(bookmarkForm, {
          centerLon: lonLat[0],
          centerLat: lonLat[1],
          zoom,
          rotation: rotation * 180 / Math.PI
          // 转换为角度
        });
      }
      showBookmarkForm.value = true;
    };
    const editBookmark = (bookmark, index) => {
      editingIndex.value = index;
      Object.assign(bookmarkForm, {
        name: bookmark.name,
        category: bookmark.category,
        description: bookmark.description,
        centerLon: bookmark.center[0],
        centerLat: bookmark.center[1],
        zoom: bookmark.zoom,
        rotation: bookmark.rotation,
        thumbnail: bookmark.thumbnail || "",
        saveLayerState: !!(bookmark.layerStates && bookmark.layerStates.length > 0)
      });
      showBookmarkForm.value = true;
    };
    const saveBookmark = () => {
      if (!bookmarkForm.name.trim()) {
        console.error("请输入书签名称");
        return;
      }
      const layerStates = bookmarkForm.saveLayerState ? getLayerStates() : void 0;
      const bookmarkData = {
        id: editingIndex.value >= 0 ? bookmarks.value[editingIndex.value].id : Date.now().toString(),
        name: bookmarkForm.name,
        category: bookmarkForm.category || "默认",
        description: bookmarkForm.description,
        center: [
          Number(bookmarkForm.centerLon),
          Number(bookmarkForm.centerLat)
        ],
        zoom: bookmarkForm.zoom,
        rotation: bookmarkForm.rotation,
        createTime: editingIndex.value >= 0 ? bookmarks.value[editingIndex.value].createTime : /* @__PURE__ */ new Date(),
        thumbnail: bookmarkForm.thumbnail,
        layerStates
      };
      if (editingIndex.value >= 0) {
        bookmarks.value[editingIndex.value] = bookmarkData;
        console.log("书签更新成功");
      } else {
        bookmarks.value.push(bookmarkData);
        console.log("书签保存成功");
      }
      emitBookmarksChange();
      emit("bookmark-action", {
        action: editingIndex.value >= 0 ? "update" : "add",
        bookmark: bookmarkData
      });
      showBookmarkForm.value = false;
    };
    const applyBookmark = (bookmark) => {
      if (map.value) {
        const view = map.value.getView();
        const projection = view.getProjection().getCode();
        const center = projection === "EPSG:4326" || projection === "EPSG:4490" ? bookmark.center : fromLonLat(bookmark.center);
        view.animate({
          center,
          zoom: bookmark.zoom,
          rotation: bookmark.rotation * Math.PI / 180,
          // 转换为弧度
          duration: 1e3
        });
        if (bookmark.layerStates && bookmark.layerStates.length > 0) {
          restoreLayerStates(bookmark.layerStates);
          ElMessage.success(`已应用视角并恢复图层状态`);
        } else {
          ElMessage.success(`已应用视角`);
        }
      }
      emit("bookmark-action", {
        action: "apply",
        bookmark
      });
      console.log(`已应用视角: ${bookmark.name}`);
    };
    const deleteBookmark = (index) => {
      ElMessageBox.confirm("确定要删除这个书签吗？", "确认删除", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(() => {
        const bookmark = bookmarks.value[index];
        bookmarks.value.splice(index, 1);
        emitBookmarksChange();
        emit("bookmark-action", {
          action: "delete",
          bookmark
        });
        console.log("书签删除成功");
      }).catch(() => {
      });
    };
    const clearAllBookmarks = () => {
      ElMessageBox.confirm("确定要清空所有书签吗？此操作不可恢复！", "确认清空", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(() => {
        bookmarks.value = [];
        emitBookmarksChange();
        emit("bookmark-action", {
          action: "clear"
        });
        console.log("已清空所有书签");
      }).catch(() => {
      });
    };
    const formatTime = (time) => {
      return new Date(time).toLocaleDateString();
    };
    const handleClose = () => {
      dialogVisible.value = false;
      searchKeyword.value = "";
      filterCategory.value = "";
    };
    return (_ctx, _cache) => {
      const _component_el_button = resolveComponent("el-button");
      const _component_el_input = resolveComponent("el-input");
      const _component_el_option = resolveComponent("el-option");
      const _component_el_select = resolveComponent("el-select");
      const _component_el_icon = resolveComponent("el-icon");
      const _component_el_button_group = resolveComponent("el-button-group");
      const _component_el_tag = resolveComponent("el-tag");
      const _component_el_empty = resolveComponent("el-empty");
      const _component_el_form_item = resolveComponent("el-form-item");
      const _component_el_col = resolveComponent("el-col");
      const _component_el_row = resolveComponent("el-row");
      const _component_el_checkbox = resolveComponent("el-checkbox");
      const _component_el_form = resolveComponent("el-form");
      return openBlock(), createBlock(unref(EPlusDialog), {
        modelValue: dialogVisible.value,
        "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => dialogVisible.value = $event),
        title: "视角书签",
        width: "700px",
        "before-close": handleClose,
        "show-modal": false,
        "modal-class": "pointer-events-none",
        "cache-id": "bookmarks-dialog",
        class: "bookmarks-dialog"
      }, {
        footer: withCtx(() => [
          createElementVNode("div", _hoisted_19, [
            createVNode(_component_el_button, { onClick: handleClose }, {
              default: withCtx(() => [..._cache[22] || (_cache[22] = [
                createTextVNode("关闭", -1)
              ])]),
              _: 1
            })
          ])
        ]),
        default: withCtx(() => [
          createElementVNode("div", _hoisted_1, [
            createElementVNode("div", _hoisted_2, [
              createVNode(_component_el_button, {
                type: "primary",
                icon: unref(Plus),
                onClick: showAddBookmark
              }, {
                default: withCtx(() => [..._cache[13] || (_cache[13] = [
                  createTextVNode(" 保存当前视角 ", -1)
                ])]),
                _: 1
              }, 8, ["icon"]),
              createVNode(_component_el_button, {
                icon: unref(Delete),
                disabled: bookmarks.value.length === 0,
                onClick: clearAllBookmarks
              }, {
                default: withCtx(() => [..._cache[14] || (_cache[14] = [
                  createTextVNode(" 清空全部 ", -1)
                ])]),
                _: 1
              }, 8, ["icon", "disabled"])
            ]),
            createElementVNode("div", _hoisted_3, [
              createVNode(_component_el_input, {
                modelValue: searchKeyword.value,
                "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchKeyword.value = $event),
                placeholder: "搜索书签名称或描述...",
                "prefix-icon": unref(Search),
                clearable: "",
                style: { "width": "300px" },
                onInput: handleSearch
              }, null, 8, ["modelValue", "prefix-icon"]),
              createVNode(_component_el_select, {
                modelValue: filterCategory.value,
                "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => filterCategory.value = $event),
                placeholder: "筛选分类",
                clearable: "",
                style: { "width": "120px", "margin-left": "10px" }
              }, {
                default: withCtx(() => [
                  createVNode(_component_el_option, {
                    label: "全部",
                    value: ""
                  }),
                  (openBlock(true), createElementBlock(Fragment, null, renderList(categories.value, (category) => {
                    return openBlock(), createBlock(_component_el_option, {
                      key: category,
                      label: category,
                      value: category
                    }, null, 8, ["label", "value"]);
                  }), 128))
                ]),
                _: 1
              }, 8, ["modelValue"]),
              createVNode(_component_el_select, {
                modelValue: sortBy.value,
                "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => sortBy.value = $event),
                placeholder: "排序方式",
                style: { "width": "120px", "margin-left": "10px" }
              }, {
                default: withCtx(() => [
                  createVNode(_component_el_option, {
                    label: "创建时间",
                    value: "createTime"
                  }),
                  createVNode(_component_el_option, {
                    label: "名称",
                    value: "name"
                  })
                ]),
                _: 1
              }, 8, ["modelValue"])
            ]),
            createElementVNode("div", _hoisted_4, [
              (openBlock(true), createElementBlock(Fragment, null, renderList(filteredBookmarks.value, (bookmark, index) => {
                return openBlock(), createElementBlock("div", {
                  key: bookmark.id,
                  class: "bookmark-card",
                  onClick: ($event) => applyBookmark(bookmark)
                }, [
                  createElementVNode("div", _hoisted_6, [
                    bookmark.thumbnail ? (openBlock(), createElementBlock("img", {
                      key: 0,
                      src: bookmark.thumbnail,
                      class: "thumbnail-image"
                    }, null, 8, _hoisted_7)) : (openBlock(), createElementBlock("div", _hoisted_8, [
                      createVNode(_component_el_icon, {
                        size: "40",
                        color: "#409eff"
                      }, {
                        default: withCtx(() => [
                          createVNode(unref(Camera))
                        ]),
                        _: 1
                      })
                    ])),
                    createElementVNode("div", _hoisted_9, [
                      createVNode(_component_el_button_group, null, {
                        default: withCtx(() => [
                          createVNode(_component_el_button, {
                            type: "primary",
                            size: "small",
                            icon: unref(View),
                            onClick: withModifiers(($event) => applyBookmark(bookmark), ["stop"])
                          }, {
                            default: withCtx(() => [..._cache[15] || (_cache[15] = [
                              createTextVNode(" 应用 ", -1)
                            ])]),
                            _: 2
                          }, 1032, ["icon", "onClick"]),
                          createVNode(_component_el_button, {
                            size: "small",
                            icon: unref(Edit),
                            onClick: withModifiers(($event) => editBookmark(bookmark, index), ["stop"])
                          }, {
                            default: withCtx(() => [..._cache[16] || (_cache[16] = [
                              createTextVNode(" 编辑 ", -1)
                            ])]),
                            _: 2
                          }, 1032, ["icon", "onClick"]),
                          createVNode(_component_el_button, {
                            size: "small",
                            icon: unref(Delete),
                            class: "delete-btn",
                            onClick: withModifiers(($event) => deleteBookmark(index), ["stop"])
                          }, {
                            default: withCtx(() => [..._cache[17] || (_cache[17] = [
                              createTextVNode(" 删除 ", -1)
                            ])]),
                            _: 2
                          }, 1032, ["icon", "onClick"])
                        ]),
                        _: 2
                      }, 1024)
                    ])
                  ]),
                  createElementVNode("div", _hoisted_10, [
                    createElementVNode("div", _hoisted_11, toDisplayString(bookmark.name), 1),
                    createElementVNode("div", _hoisted_12, [
                      createVNode(_component_el_tag, {
                        size: "small",
                        type: "info"
                      }, {
                        default: withCtx(() => [
                          createTextVNode(toDisplayString(bookmark.category), 1)
                        ]),
                        _: 2
                      }, 1024)
                    ]),
                    createElementVNode("div", _hoisted_13, toDisplayString(bookmark.description), 1),
                    createElementVNode("div", _hoisted_14, [
                      createElementVNode("span", _hoisted_15, [
                        createVNode(_component_el_icon, null, {
                          default: withCtx(() => [
                            createVNode(unref(Location))
                          ]),
                          _: 1
                        }),
                        createTextVNode(" " + toDisplayString(bookmark.center[0].toFixed(4)) + ", " + toDisplayString(bookmark.center[1].toFixed(4)), 1)
                      ]),
                      createElementVNode("span", _hoisted_16, [
                        createVNode(_component_el_icon, null, {
                          default: withCtx(() => [
                            createVNode(unref(ZoomIn))
                          ]),
                          _: 1
                        }),
                        createTextVNode(" 缩放: " + toDisplayString(bookmark.zoom), 1)
                      ])
                    ]),
                    createElementVNode("div", _hoisted_17, toDisplayString(formatTime(bookmark.createTime)), 1)
                  ])
                ], 8, _hoisted_5);
              }), 128))
            ]),
            filteredBookmarks.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_18, [
              createVNode(_component_el_empty, { description: "暂无书签" }, {
                default: withCtx(() => [
                  createVNode(_component_el_button, {
                    type: "primary",
                    onClick: showAddBookmark
                  }, {
                    default: withCtx(() => [..._cache[18] || (_cache[18] = [
                      createTextVNode("保存当前视角", -1)
                    ])]),
                    _: 1
                  })
                ]),
                _: 1
              })
            ])) : createCommentVNode("", true)
          ]),
          createVNode(unref(EPlusDialog), {
            modelValue: showBookmarkForm.value,
            "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => showBookmarkForm.value = $event),
            title: editingIndex.value >= 0 ? "编辑书签" : "保存视角书签",
            width: "450px",
            "cache-id": "bookmark-form",
            "show-modal": false
          }, {
            footer: withCtx(() => [
              createVNode(_component_el_button, {
                onClick: _cache[10] || (_cache[10] = ($event) => showBookmarkForm.value = false)
              }, {
                default: withCtx(() => [..._cache[20] || (_cache[20] = [
                  createTextVNode("取消", -1)
                ])]),
                _: 1
              }),
              createVNode(_component_el_button, {
                type: "primary",
                onClick: saveBookmark
              }, {
                default: withCtx(() => [..._cache[21] || (_cache[21] = [
                  createTextVNode("保存", -1)
                ])]),
                _: 1
              })
            ]),
            default: withCtx(() => [
              createVNode(_component_el_form, {
                model: bookmarkForm,
                "label-width": "80px"
              }, {
                default: withCtx(() => [
                  createVNode(_component_el_form_item, {
                    label: "名称",
                    required: ""
                  }, {
                    default: withCtx(() => [
                      createVNode(_component_el_input, {
                        modelValue: bookmarkForm.name,
                        "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => bookmarkForm.name = $event),
                        placeholder: "请输入书签名称"
                      }, null, 8, ["modelValue"])
                    ]),
                    _: 1
                  }),
                  createVNode(_component_el_form_item, { label: "分类" }, {
                    default: withCtx(() => [
                      createVNode(_component_el_select, {
                        modelValue: bookmarkForm.category,
                        "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => bookmarkForm.category = $event),
                        placeholder: "选择或输入分类",
                        filterable: "",
                        "allow-create": "",
                        style: { "width": "100%" }
                      }, {
                        default: withCtx(() => [
                          (openBlock(true), createElementBlock(Fragment, null, renderList(categories.value, (category) => {
                            return openBlock(), createBlock(_component_el_option, {
                              key: category,
                              label: category,
                              value: category
                            }, null, 8, ["label", "value"]);
                          }), 128))
                        ]),
                        _: 1
                      }, 8, ["modelValue"])
                    ]),
                    _: 1
                  }),
                  createVNode(_component_el_form_item, { label: "描述" }, {
                    default: withCtx(() => [
                      createVNode(_component_el_input, {
                        modelValue: bookmarkForm.description,
                        "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => bookmarkForm.description = $event),
                        type: "textarea",
                        rows: 3,
                        placeholder: "请输入描述信息"
                      }, null, 8, ["modelValue"])
                    ]),
                    _: 1
                  }),
                  createVNode(_component_el_form_item, { label: "中心点" }, {
                    default: withCtx(() => [
                      createVNode(_component_el_row, {
                        gutter: 10,
                        style: { "width": "100%", "margin": "0" }
                      }, {
                        default: withCtx(() => [
                          createVNode(_component_el_col, {
                            span: 12,
                            style: { "padding-left": "0" }
                          }, {
                            default: withCtx(() => [
                              createVNode(_component_el_input, {
                                modelValue: bookmarkForm.centerLon,
                                "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => bookmarkForm.centerLon = $event),
                                readonly: "",
                                placeholder: "经度"
                              }, null, 8, ["modelValue"])
                            ]),
                            _: 1
                          }),
                          createVNode(_component_el_col, {
                            span: 12,
                            style: { "padding-right": "0" }
                          }, {
                            default: withCtx(() => [
                              createVNode(_component_el_input, {
                                modelValue: bookmarkForm.centerLat,
                                "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => bookmarkForm.centerLat = $event),
                                readonly: "",
                                placeholder: "纬度"
                              }, null, 8, ["modelValue"])
                            ]),
                            _: 1
                          })
                        ]),
                        _: 1
                      })
                    ]),
                    _: 1
                  }),
                  createVNode(_component_el_form_item, { label: "旋转角度" }, {
                    default: withCtx(() => [
                      createVNode(_component_el_input, {
                        modelValue: bookmarkForm.rotation,
                        "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => bookmarkForm.rotation = $event),
                        readonly: ""
                      }, null, 8, ["modelValue"])
                    ]),
                    _: 1
                  }),
                  createVNode(_component_el_form_item, null, {
                    default: withCtx(() => [
                      createVNode(_component_el_checkbox, {
                        modelValue: bookmarkForm.saveLayerState,
                        "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => bookmarkForm.saveLayerState = $event)
                      }, {
                        default: withCtx(() => [..._cache[19] || (_cache[19] = [
                          createTextVNode("保存当前图层状态（可见性、透明度）", -1)
                        ])]),
                        _: 1
                      }, 8, ["modelValue"])
                    ]),
                    _: 1
                  })
                ]),
                _: 1
              }, 8, ["model"])
            ]),
            _: 1
          }, 8, ["modelValue", "title"])
        ]),
        _: 1
      }, 8, ["modelValue"]);
    };
  }
});
export {
  _sfc_main as default
};
