@yimou6/common-ui 1.13.19 → 1.13.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cdn/index.cdn.js +25 -22
- package/cdn/index.cdn.js.map +1 -1
- package/cdn/index.cdn.mjs +19 -16
- package/cdn/index.cdn.mjs.map +1 -1
- package/cdn/index.css +1 -1
- package/es/components/geoMark/index.d.ts +733 -0
- package/es/components/geoMark/index.mjs +9 -0
- package/es/components/geoMark/index.mjs.map +1 -0
- package/es/components/geoMark/src/DragIcon.vue.d.ts +77 -0
- package/es/components/geoMark/src/DragIcon.vue.mjs +6 -0
- package/es/components/geoMark/src/DragIcon.vue.mjs.map +1 -0
- package/es/components/geoMark/src/DragIcon.vue2.mjs +67 -0
- package/es/components/geoMark/src/DragIcon.vue2.mjs.map +1 -0
- package/es/components/geoMark/src/assets//344/277/235/345/255/230.png.mjs +4 -0
- package/es/components/geoMark/src/assets//344/277/235/345/255/230.png.mjs.map +1 -0
- package/es/components/geoMark/src/assets//345/210/240/351/231/244.png.mjs +4 -0
- package/es/components/geoMark/src/assets//345/210/240/351/231/244.png.mjs.map +1 -0
- package/es/components/geoMark/src/assets//347/274/226/350/276/221.png.mjs +4 -0
- package/es/components/geoMark/src/assets//347/274/226/350/276/221.png.mjs.map +1 -0
- package/es/components/geoMark/src/assets//351/242/234/350/211/262.png.mjs +4 -0
- package/es/components/geoMark/src/assets//351/242/234/350/211/262.png.mjs.map +1 -0
- package/es/components/geoMark/src/default.png.mjs +4 -0
- package/es/components/geoMark/src/default.png.mjs.map +1 -0
- package/es/components/geoMark/src/floorRight/floor.vue.d.ts +15 -0
- package/es/components/geoMark/src/floorRight/floor.vue.mjs +6 -0
- package/es/components/geoMark/src/floorRight/floor.vue.mjs.map +1 -0
- package/es/components/geoMark/src/floorRight/floor.vue2.mjs +119 -0
- package/es/components/geoMark/src/floorRight/floor.vue2.mjs.map +1 -0
- package/es/components/geoMark/src/geoMark.d.ts +164 -0
- package/es/components/geoMark/src/geoMark.mjs +6 -0
- package/es/components/geoMark/src/geoMark.mjs.map +1 -0
- package/es/components/geoMark/src/geoMark.vue.d.ts +734 -0
- package/es/components/geoMark/src/geoMark.vue.mjs +6 -0
- package/es/components/geoMark/src/geoMark.vue.mjs.map +1 -0
- package/es/components/geoMark/src/geoMark.vue2.mjs +1425 -0
- package/es/components/geoMark/src/geoMark.vue2.mjs.map +1 -0
- package/es/components/geoMark/src/openMap.vue.d.ts +326 -0
- package/es/components/geoMark/src/openMap.vue.mjs +6 -0
- package/es/components/geoMark/src/openMap.vue.mjs.map +1 -0
- package/es/components/geoMark/src/openMap.vue2.mjs +422 -0
- package/es/components/geoMark/src/openMap.vue2.mjs.map +1 -0
- package/es/components/geoMark/src/waring.png.mjs +4 -0
- package/es/components/geoMark/src/waring.png.mjs.map +1 -0
- package/es/components/geoMark/src//346/226/260/345/274/271/346/241/206.png.mjs +4 -0
- package/es/components/geoMark/src//346/226/260/345/274/271/346/241/206.png.mjs.map +1 -0
- package/es/components/geoMark/src//347/201/255/347/201/253/345/231/250.png.mjs +4 -0
- package/es/components/geoMark/src//347/201/255/347/201/253/345/231/250.png.mjs.map +1 -0
- package/es/components/index.d.ts +1 -0
- package/es/components/index.mjs +2 -0
- package/es/components/index.mjs.map +1 -1
- package/es/components/map/src/map.vue2.mjs +1 -1
- package/es/components/map/src/map.vue2.mjs.map +1 -1
- package/es/components/tzj-player/index.d.ts +10 -0
- package/es/components/tzj-player/src/ctyun-player.vue.d.ts +2 -0
- package/es/components/tzj-player/src/easyPlayer.vue.d.ts +2 -0
- package/es/components/tzj-player/src/easyPlayer.vue2.mjs +61 -37
- package/es/components/tzj-player/src/easyPlayer.vue2.mjs.map +1 -1
- package/es/components/tzj-player/src/tzj-player.vue.d.ts +10 -0
- package/es/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +2 -0
- package/es/index.mjs +2 -0
- package/es/index.mjs.map +1 -1
- package/es/installer.mjs +3 -1
- package/es/installer.mjs.map +1 -1
- package/global.d.ts +5 -0
- package/lib/components/geoMark/index.d.ts +733 -0
- package/lib/components/geoMark/index.js +15 -0
- package/lib/components/geoMark/index.js.map +1 -0
- package/lib/components/geoMark/src/DragIcon.vue.d.ts +77 -0
- package/lib/components/geoMark/src/DragIcon.vue.js +10 -0
- package/lib/components/geoMark/src/DragIcon.vue.js.map +1 -0
- package/lib/components/geoMark/src/DragIcon.vue2.js +71 -0
- package/lib/components/geoMark/src/DragIcon.vue2.js.map +1 -0
- package/lib/components/geoMark/src/assets//344/277/235/345/255/230.png.js +8 -0
- package/lib/components/geoMark/src/assets//344/277/235/345/255/230.png.js.map +1 -0
- package/lib/components/geoMark/src/assets//345/210/240/351/231/244.png.js +8 -0
- package/lib/components/geoMark/src/assets//345/210/240/351/231/244.png.js.map +1 -0
- package/lib/components/geoMark/src/assets//347/274/226/350/276/221.png.js +8 -0
- package/lib/components/geoMark/src/assets//347/274/226/350/276/221.png.js.map +1 -0
- package/lib/components/geoMark/src/assets//351/242/234/350/211/262.png.js +8 -0
- package/lib/components/geoMark/src/assets//351/242/234/350/211/262.png.js.map +1 -0
- package/lib/components/geoMark/src/default.png.js +8 -0
- package/lib/components/geoMark/src/default.png.js.map +1 -0
- package/lib/components/geoMark/src/floorRight/floor.vue.d.ts +15 -0
- package/lib/components/geoMark/src/floorRight/floor.vue.js +10 -0
- package/lib/components/geoMark/src/floorRight/floor.vue.js.map +1 -0
- package/lib/components/geoMark/src/floorRight/floor.vue2.js +123 -0
- package/lib/components/geoMark/src/floorRight/floor.vue2.js.map +1 -0
- package/lib/components/geoMark/src/geoMark.d.ts +164 -0
- package/lib/components/geoMark/src/geoMark.js +8 -0
- package/lib/components/geoMark/src/geoMark.js.map +1 -0
- package/lib/components/geoMark/src/geoMark.vue.d.ts +734 -0
- package/lib/components/geoMark/src/geoMark.vue.js +10 -0
- package/lib/components/geoMark/src/geoMark.vue.js.map +1 -0
- package/lib/components/geoMark/src/geoMark.vue2.js +1429 -0
- package/lib/components/geoMark/src/geoMark.vue2.js.map +1 -0
- package/lib/components/geoMark/src/openMap.vue.d.ts +326 -0
- package/lib/components/geoMark/src/openMap.vue.js +10 -0
- package/lib/components/geoMark/src/openMap.vue.js.map +1 -0
- package/lib/components/geoMark/src/openMap.vue2.js +426 -0
- package/lib/components/geoMark/src/openMap.vue2.js.map +1 -0
- package/lib/components/geoMark/src/waring.png.js +8 -0
- package/lib/components/geoMark/src/waring.png.js.map +1 -0
- package/lib/components/geoMark/src//346/226/260/345/274/271/346/241/206.png.js +8 -0
- package/lib/components/geoMark/src//346/226/260/345/274/271/346/241/206.png.js.map +1 -0
- package/lib/components/geoMark/src//347/201/255/347/201/253/345/231/250.png.js +8 -0
- package/lib/components/geoMark/src//347/201/255/347/201/253/345/231/250.png.js.map +1 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/components/index.js +4 -0
- package/lib/components/index.js.map +1 -1
- package/lib/components/map/src/map.vue2.js +1 -1
- package/lib/components/map/src/map.vue2.js.map +1 -1
- package/lib/components/tzj-player/index.d.ts +10 -0
- package/lib/components/tzj-player/src/ctyun-player.vue.d.ts +2 -0
- package/lib/components/tzj-player/src/easyPlayer.vue.d.ts +2 -0
- package/lib/components/tzj-player/src/easyPlayer.vue2.js +60 -36
- package/lib/components/tzj-player/src/easyPlayer.vue2.js.map +1 -1
- package/lib/components/tzj-player/src/tzj-player.vue.d.ts +10 -0
- package/lib/components/tzj-player/src/yunzhiyanPlayer.vue.d.ts +2 -0
- package/lib/index.js +8 -4
- package/lib/index.js.map +1 -1
- package/lib/installer.js +3 -1
- package/lib/installer.js.map +1 -1
- package/package.json +3 -1
- package/theme-default/i-geo-mark.css +1 -0
- package/theme-default/index.css +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geoMark.vue2.js","sources":["../../../../../../../packages/components/geoMark/src/geoMark.vue"],"sourcesContent":["<script setup lang=\"ts\">\n// @ts-nocheck\nimport { isNil } from \"lodash-es\";\nimport {\n never,\n platformModifierKeyOnly,\n primaryAction,\n} from \"ol/events/condition.js\";\n\nimport Feature from \"ol/Feature\";\nimport GeoJSON from \"ol/format/GeoJSON.js\";\n\nimport Point from \"ol/geom/Point.js\";\nimport Polygon from \"ol/geom/Polygon.js\";\nimport Draw from \"ol/interaction/Draw.js\";\nimport Modify from \"ol/interaction/Modify.js\";\nimport Translate from \"ol/interaction/Translate.js\";\nimport VectorLayer from \"ol/layer/Vector.js\";\n\nimport { Fill, Stroke, Text } from \"ol/style\";\nimport CircleStyle from \"ol/style/Circle.js\";\nimport Style from \"ol/style/Style\";\nimport { computed, nextTick, onMounted, onUnmounted, ref } from \"vue\";\nimport saveIcon from \".//assets/保存.png\";\nimport deleteIcon from \"./assets/删除.png\";\n\nimport editIcon from \"./assets/编辑.png\";\nimport colorIcon from \"./assets/颜色.png\";\nimport defaultImage from \"./default.png\";\nimport DragIcon from \"./DragIcon.vue\";\nimport FloorMark from \"./floorRight/floor.vue\";\nimport { GeoMarkProps } from \"./geoMark\";\nimport openMapNew from \"./openMap.vue\";\nimport waringIcon from \"./waring.png\";\nimport svgOverlay from \"./新弹框.png\";\nimport defaultIcon from \"./灭火器.png\";\nimport type {\n ConfigBottomBarItem,\n ConfigIcon,\n ConfigTopBarItem,\n Device,\n DragEvent,\n DrawEvent,\n FeatureTypeEnum,\n Floor,\n MenuItem,\n OpenLayersFeature,\n OpenParams,\n OptionType,\n QueryDeviceListType,\n} from \"./geoMark\";\n\ndefineOptions({ name: \"IGeoMark\" });\n\n// 组件props定义\nconst props = defineProps(GeoMarkProps);\n\n// 事件定义\nconst emit = defineEmits<{\n closeMain: [];\n saveMain: [result: { geojson: string; floor: Floor | undefined }];\n}>();\n\n// 警告气泡坐标\nconst activatedPositionOverlayWaring = ref<number[]>([]);\n\n// 新增响应式数据\nconst drawInteraction = ref<any>(null);\nconst modifyInteraction = ref<any>(null);\nconst translateInteraction = ref<any>(null);\nconst currentDrawType = ref<string>(\"Polygon\");\n\n// -------------------- 生命周期钩子 --------------------\nonMounted(() => {\n window.addEventListener(\"popstate\", (e: PopStateEvent) => {\n document.documentElement.classList.remove(\"dark\");\n e.preventDefault();\n });\n});\n\nonUnmounted(() => {\n document.documentElement.classList.remove(\"dark\");\n});\n\n// -------------------- 业务状态与交互 --------------------\nconst activatedList = ref<boolean>(true); // 信息面板tab切换\nconst activatedFold = ref<boolean>(false); // 信息面板折叠\nconst FnUpdateActivatedFold = (): void => {\n activatedFold.value = !activatedFold.value;\n};\n\nconst listFloor = ref<Floor[]>([]);\nconst listDevice = ref<Device[]>([]);\nconst listAllDevice = ref<Device[]>([]); // Devices/Facilities\nconst list_title = ref<string>(\"设备信息列表\");\n\nconst configIcon = ref<ConfigIcon>({});\n\n// 顶部栏配置\nconst configTopBar = ref<ConfigTopBarItem[]>([\n { name: `单位名:`, icon: \"icon-jianzhu02-L\", value: \"-----\" },\n { name: `建筑名:`, icon: \"icon-jianzhu03-L\", value: \"-----\" },\n { name: \"退出\", icon: \"icon-fanhui3\", value: \"-----\" },\n]);\n\n// 底部栏配置\nconst configBottomBar = ref<ConfigBottomBarItem[]>([\n { name: \"选择\", icon: \"icon-xuanze\" },\n { name: \"编辑\", icon: \"icon-xiugai\" },\n { name: \"重置\", icon: \"icon-zhongzhi1\" },\n { name: \"放大\", icon: \"icon-fangda\" },\n { name: \"缩小\", icon: \"icon-suoxiao\" },\n { name: \"颜色\", icon: \"icon-yanse\" },\n { name: \"区域设置\", icon: \"icon-shezhi\" },\n { name: \"原始尺寸\", icon: \"icon-chicun\" },\n { name: \"保存\", icon: \"icon-Save\" },\n]);\n\nconst configBottomBar2 = ref<ConfigBottomBarItem[]>([\n { name: \"区域模板\", icon: \"icon-moban2\" },\n { name: \"区域绘制\", icon: \"icon-pencel\" },\n]);\n\nconst activatedMode = computed<string>(() => {\n return props.type || \"edit\";\n});\n\nconst activatedBottomBar = ref<string>(\"选择\");\nconst activatedFloor = ref<Floor | undefined>();\nconst refFloor = ref<InstanceType<typeof FloorMark> | null>(null);\nconst alarmType = ref<string>(\"fire\");\nconst filtrationType = ref<FeatureTypeEnum[]>([]);\n// 告警设备 code(string/number/null),空字符串/null 视为无告警\nconst _waring = ref<string | number | null>(null);\n\n// 是否存在有效的告警配置\nconst hasWaring = computed<boolean>(() => {\n const w = _waring.value;\n return w != null && w !== \"\";\n});\n\n// code 是否命中告警设备(单值比较)\nconst isWaringCode = (code: unknown): boolean => {\n const w = _waring.value;\n return w != null && w !== \"\" && w === code;\n};\n\n// 地图相关数据\nconst imgUrl = ref<string>(defaultImage);\nconst rrefMap = ref<any>(null);\n// openMap 子组件(v-if 条件渲染)是否已挂载就绪,以及就绪前缓存的待初始化楼层。\n// 解决首次渲染时 rrefMap 尚未就绪导致矢量标注丢失、视图缩放不生效的问题\nconst mapReady = ref<boolean>(false);\nconst pendingInit = ref<Floor | null>(null);\nconst activatedPositionOverlay = ref<number[]>([]);\nconst activatedPropertiesOverlay = ref<Record<string, any>>({});\nconst activatedArrayFeatures = ref<OpenLayersFeature[]>([]);\nconst activatedFeature = ref<OpenLayersFeature | null>(null);\nconst move1 = ref<number[]>([]);\n\n// 区域默认颜色(颜色面板选择后,后续绘制/模板使用)\nconst defaultColor = ref<string>(\"rgba(255,255,51,0.2)\");\n\n// 颜色面板选项\nconst colorList = ref<{ name: string; value: string }[]>([\n { name: \"黄色\", value: \"rgba(255,255,51,0.2)\" },\n { name: \"红色\", value: \"rgba(255,0,0,0.25)\" },\n { name: \"绿色\", value: \"rgba(0,255,0,0.25)\" },\n { name: \"蓝色\", value: \"rgba(0,120,255,0.25)\" },\n { name: \"橙色\", value: \"rgba(255,150,0,0.3)\" },\n { name: \"紫色\", value: \"rgba(150,0,255,0.25)\" },\n]);\n\n// 地图中心、缩放等配置\nconst center = ref<number[]>([0, 0]);\nconst zoom = ref<number>(1); // 修改默认缩放级别为1,确保完整显示图片\nconst projection = ref<string>(\"EPSG:3857\");\nconst size = ref<number[]>([800, 600]);\nconst extent = ref<number[]>([0, 0, 800, 600]);\n\n// 选项配置\nconst configOptionsDeviceType = ref<OptionType[]>([]);\nconst configOptionsDeviceModel = ref<OptionType[]>([]);\nconst configOptionsManufacturer = ref<OptionType[]>([]);\n\n// 查询设备列表\nconst queryDeviceList = ref<QueryDeviceListType>({\n activatedDeviceType: \"\",\n activatedManufacturer: \"\",\n activatedDeviceModel: \"\",\n});\n\n// 拖拽相关\nconst activatedDragItem = ref<Device>();\n\n// 筛选条件\nconst deviceTypeSet = new Set<string>(); // 设备类型\nconst manufacturerSet = new Set<string>(); // 生产商\nconst deviceModelSet = new Set<string>(); // 设备型号\n\n// -------------------- 方法定义 --------------------\n\n/**\n * 创建要素样式\n */\nconst createAdvancedStyle = (_feature: OpenLayersFeature) => {\n return [\n new Style({\n fill: new Fill({ color: \"rgba(255, 255, 255, 0.2)\" }),\n stroke: new Stroke({ color: \"#ffcc33\", width: 2 }),\n image: new CircleStyle({\n radius: 7,\n fill: new Fill({ color: \"#ffcc33\" }),\n }),\n }),\n ];\n};\n\n/**\n * 初始化高级修改交互\n */\nconst initAdvancedModify = () => {\n if (!rrefMap.value) return;\n\n const source = rrefMap.value.getVectorSource();\n\n // 移除现有的修改交互\n if (modifyInteraction.value) {\n rrefMap.value.getMap().removeInteraction(modifyInteraction.value);\n }\n\n // 创建新的修改交互\n modifyInteraction.value = new Modify({\n source,\n condition(event: any) {\n return primaryAction(event) && !platformModifierKeyOnly(event);\n },\n deleteCondition: never,\n insertVertexCondition: never,\n style(feature: OpenLayersFeature, resolution: number) {\n // 应用高级样式\n return createAdvancedStyle(feature);\n },\n });\n\n // 添加修改开始事件\n modifyInteraction.value.on(\"modifystart\", (event: any) => {\n event.features.forEach((feature: OpenLayersFeature) => {\n feature.set(\n \"modifyGeometry\",\n { geometry: feature.getGeometry().clone() },\n true,\n );\n });\n });\n\n // 添加修改结束事件\n modifyInteraction.value.on(\"modifyend\", (event: any) => {\n event.features.forEach((feature: OpenLayersFeature) => {\n const modifyGeometry = feature.get(\"modifyGeometry\");\n if (modifyGeometry) {\n feature.setGeometry(modifyGeometry.geometry);\n feature.unset(\"modifyGeometry\", true);\n }\n });\n });\n\n rrefMap.value.getMap().addInteraction(modifyInteraction.value);\n};\n\n/**\n * 初始化平移交互\n */\nconst initTranslate = () => {\n if (!rrefMap.value) return;\n\n // 移除现有的平移交互\n if (translateInteraction.value) {\n rrefMap.value.getMap().removeInteraction(translateInteraction.value);\n }\n\n // 创建新的平移交互\n translateInteraction.value = new Translate({\n condition(event: any) {\n return primaryAction(event) && platformModifierKeyOnly(event);\n },\n layers: [\n rrefMap.value\n .getMap()\n .getLayers()\n .getArray()\n .filter((layer: any) => layer instanceof VectorLayer),\n ],\n });\n\n rrefMap.value.getMap().addInteraction(translateInteraction.value);\n};\n\n/**\n * 初始化绘制交互\n */\nconst initDraw = (type: string = \"Polygon\") => {\n if (!rrefMap.value) return;\n\n // 移除现有的绘制交互\n if (drawInteraction.value) {\n rrefMap.value.getMap().removeInteraction(drawInteraction.value);\n }\n\n // 创建新的绘制交互\n drawInteraction.value = new Draw({\n source: rrefMap.value.getVectorSource(),\n type: type as any,\n });\n\n // 添加绘制完成事件\n drawInteraction.value.on(\"drawend\", (event: any) => {\n const feature = event.feature;\n feature.set(\"color\", defaultColor.value);\n feature.set(\"text\", \"新绘制区域\");\n\n // 应用高级样式\n feature.setStyle(createAdvancedStyle(feature));\n });\n\n rrefMap.value.getMap().addInteraction(drawInteraction.value);\n};\n\n/**\n * 打开地图主入口,初始化各类数据\n * @param params 业务参数\n */\nconst open = async (\n params: OpenParams = {\n listFloor: [],\n listDevice: [],\n mode: \"edit\",\n defaultFloor: null,\n waring: null,\n listTitle: \"设备信息列表\",\n configIcon: {},\n configTopBar: [],\n type: \"edit\",\n featureType: [\"Areas\"] as FeatureTypeEnum[],\n },\n): Promise<void> => {\n if (params.featureType && params.featureType.length > 0) {\n filtrationType.value = params.featureType;\n }\n if (params.type) {\n alarmType.value = params.type;\n }\n if (params.listTitle) {\n list_title.value = params.listTitle;\n }\n listFloor.value = params.listFloor;\n listDevice.value = params.listDevice;\n listAllDevice.value = params.listDevice;\n configIcon.value = params.configIcon || {};\n configTopBar.value = params.configTopBar || [];\n _waring.value = params.waring ?? null;\n const defaultFloor = params.defaultFloor\n ? params.defaultFloor\n : listFloor.value[0];\n refFloor.value?.init(listFloor.value, defaultFloor);\n\n // 提取筛选条件\n const floorList = listFloor.value.map((item: Floor) => item.floor);\n listAllDevice.value\n .filter((ls) => ls.floor != null && floorList.includes(ls.floor))\n .forEach((item: Device) => {\n if (item.deviceTypeName) deviceTypeSet.add(item.deviceTypeName);\n if (item.manufacturerName) manufacturerSet.add(item.manufacturerName);\n if (item.deviceModelName) deviceModelSet.add(item.deviceModelName);\n });\n // 初始化选项配置\n configOptionsDeviceType.value = Array.from(deviceTypeSet)\n .map((type) => ({\n label: type,\n value: type,\n key: type,\n }))\n .filter((e) => !isNil(e.label));\n configOptionsManufacturer.value = Array.from(manufacturerSet)\n .map((manufacturer) => ({\n label: manufacturer,\n value: manufacturer,\n key: manufacturer,\n }))\n .filter((e) => !isNil(e.label));\n configOptionsDeviceModel.value = Array.from(deviceModelSet)\n .map((deviceModel) => ({\n label: deviceModel,\n value: deviceModel,\n key: deviceModel,\n }))\n .filter((e) => !isNil(e.label));\n\n // 地图初始化交给 openMap 的 @ready 事件:组件挂载完成后再执行,\n // 避免首次渲染时 rrefMap 尚未就绪导致标注丢失、视图缩放不生效(需点两次的问题)\n if (mapReady.value) {\n initMap(activatedFloor.value || defaultFloor);\n } else {\n // openMap 为 v-if 条件渲染(依赖 activatedFloor?.bucketName),\n // 先设置默认楼层以触发其渲染,待 @ready 后再完成数据加载\n activatedFloor.value = defaultFloor;\n pendingInit.value = defaultFloor;\n }\n};\n\n/**\n * openMap 子组件挂载完成(@ready)后回调。\n * 此时 rrefMap / getVectorSource / getView 均已可用,可安全初始化地图。\n */\nconst handleMapReady = (): void => {\n mapReady.value = true;\n const floor = pendingInit.value || activatedFloor.value;\n if (floor) {\n pendingInit.value = null;\n initMap(floor);\n }\n};\n\n// 查找告警设备并应用告警效果:\n// - 命中告警的要素 → 补上告警气泡(activatedPositionOverlayWaring)\n// - centerOnWarning=true(open/initMap 初始化场景):弹出设备信息面板并定位视图;\n// false(楼层切换场景):只补气泡,不打扰浏览\n// 定位必须放在宏任务中执行:图片加载适配(loadingSource → setCenter/setZoom/fit,\n// 以及 openMap 内 extent watch → nextTick calculateAutoZoom)都在微任务链中完成,\n// 若定位紧跟在这些逻辑之前执行,会被后续的 fit 全图 / setCenter(图片中心) 覆盖,\n// 造成\"打开时不自动定位到告警设备、要等鼠标悬停(overlay autoPan)才定位\"的现象。\nconst locateWaringFeature = (centerOnWarning: boolean): void => {\n if (!hasWaring.value || !rrefMap.value) return;\n const features = rrefMap.value.getVectorSource().getFeatures();\n const target = features.find((feature: OpenLayersFeature) =>\n isWaringCode(feature.get(\"code\")),\n );\n if (!target) return;\n const position = target.getGeometry()!.getCoordinates() as number[];\n activatedPositionOverlayWaring.value = position;\n if (centerOnWarning) {\n activatedPositionOverlay.value = position;\n activatedPropertiesOverlay.value = target.getProperties();\n setTimeout(() => {\n rrefMap.value?.getView()?.setCenter(position);\n }, 0);\n }\n};\n\nfunction loadFeaturesAndHandleWarning(\n geojson: any,\n centerOnWarning = true,\n): void {\n const features = new GeoJSON().readFeatures(geojson);\n activatedArrayFeatures.value = features;\n rrefMap.value?.getVectorSource().addFeatures(features);\n rrefMap.value?.getVectorSource().on(\"addfeature\", (event: any) => {\n // 新要素添加逻辑\n });\n\n // 要素添加后再执行告警匹配(addFeatures 同步完成,此处 setTimeout 主要做兜底,\n // 实际定位动作在 locateWaringFeature 内也已通过宏任务后置)\n setTimeout(() => {\n locateWaringFeature(centerOnWarning);\n });\n}\n\nasync function initMap(defaultFloor: Floor): Promise<void> {\n rrefMap.value?.getVectorSource().clear();\n // loadingSource 内部已获取图片尺寸并设置 extent/imgUrl/视图\n // eslint-disable-next-line no-use-before-define\n await loadingSource(defaultFloor);\n\n rrefMap.value?.getMap().on(\"pointermove\", (evt: any) => {\n const pixel = rrefMap.value?.getMap().getEventPixel(evt.originalEvent);\n const viewCoordinate = rrefMap.value\n ?.getMap()\n .getCoordinateFromPixel(pixel);\n if (viewCoordinate) {\n move1.value = viewCoordinate;\n }\n if (activatedBottomBar.value === \"编辑\") {\n return;\n }\n let feature: OpenLayersFeature | undefined;\n if (rrefMap.value?.getMap().hasFeatureAtPixel(pixel)) {\n if (hasWaring.value) {\n activatedPositionOverlay.value = [];\n }\n const viewCoordinate = rrefMap.value\n ?.getMap()\n .getCoordinateFromPixel(pixel);\n if (viewCoordinate) {\n activatedPositionOverlay.value = viewCoordinate;\n }\n feature = rrefMap.value\n ?.getMap()\n .forEachFeatureAtPixel(\n pixel,\n (feature: OpenLayersFeature, layer: any) => {\n return feature;\n },\n );\n if (feature) {\n activatedPropertiesOverlay.value = feature.getProperties();\n }\n } else {\n if (activatedMode.value === \"edit\") {\n activatedPositionOverlay.value = [];\n }\n }\n });\n\n rrefMap.value?.getMap().on(\"contextmenu\", (event: any) => {\n activatedFeature.value =\n rrefMap.value\n ?.getMap()\n .forEachFeatureAtPixel(\n event.pixel,\n (feature: OpenLayersFeature) => feature,\n ) || null;\n activatedBottomBar.value = \"选择\"; // 右键后切换为选择模式\n });\n\n rrefMap.value?.getVectorSource().on(\"change\", (item: any) => {\n const features = rrefMap.value?.getVectorSource().getFeatures() || [];\n activatedArrayFeatures.value = features;\n });\n\n // 初始化高级交互\n nextTick(() => {\n initAdvancedModify();\n initTranslate();\n initDraw(currentDrawType.value);\n });\n}\n\n/**\n * 获取图片的真实尺寸\n * @param imageUrl 图片URL\n * @returns Promise 返回图片的宽度和高度\n */\n// 图片尺寸缓存:已加载过的图片直接读缓存,跳过 getImageDimensions 的异步等待,\n// 避免每次切楼层都用 new Image() 重复加载只为拿尺寸(ol-source-image-static 还会再加载一次用于渲染)。\nconst imageDimensionsCache = new Map<\n string,\n { width: number; height: number }\n>();\n\nconst getImageDimensions = (\n imageUrl: string,\n): Promise<{ width: number; height: number }> => {\n const cached = imageDimensionsCache.get(imageUrl);\n if (cached) return Promise.resolve(cached);\n return new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => {\n const dims = { width: img.naturalWidth, height: img.naturalHeight };\n imageDimensionsCache.set(imageUrl, dims);\n resolve(dims);\n };\n img.onerror = reject;\n img.src = imageUrl;\n });\n};\n\nconst loadingSource = async (\n data: Floor,\n centerOnWarning = true,\n): Promise<void> => {\n // 切换楼层时清空弹窗与选中状态,避免上一楼层的 popup 残留\n activatedPositionOverlay.value = [];\n activatedPositionOverlayWaring.value = [];\n activatedPropertiesOverlay.value = {};\n activatedFeature.value = null;\n rrefMap.value?.calculateAutoZoom();\n // 无楼层数据时,清空设备列表与底图,避免残留上一层的图片\n if (!data) {\n listDevice.value = [];\n activatedFloor.value = undefined;\n rrefMap.value?.getVectorSource().clear();\n imgUrl.value = \"\";\n return;\n }\n listDevice.value = listAllDevice.value.filter((item) => {\n return item.floor === data.floor;\n });\n activatedFloor.value = data;\n rrefMap.value?.getVectorSource().clear();\n\n // 先获取图片尺寸,再将 extent 和 imgUrl 在同一同步块内赋值,\n // 确保 Vue 批量更新时 ol-image-layer 的 key 只从 oldUrl|oldExtent → newUrl|newExtent 变一次,\n // 避免中间态 newUrl|oldExtent(新图片拉伸到旧尺寸 → 图标错位,需切换楼层才恢复)。\n const url = data.bucketName || defaultImage;\n let dims: { width: number; height: number };\n try {\n dims = await getImageDimensions(url);\n imgUrl.value = url;\n } catch {\n // 图片加载失败(404/CORS),回退默认图\n try {\n dims = await getImageDimensions(defaultImage);\n imgUrl.value = defaultImage;\n } catch {\n dims = { width: 800, height: 600 };\n imgUrl.value = \"\";\n }\n }\n // 先设 extent 再设 imgUrl——同一同步块内 Vue 会批量更新,key 只变一次\n size.value = [dims.width, dims.height];\n extent.value = [0, 0, dims.width, dims.height];\n center.value = [dims.width / 2, dims.height / 2];\n\n // 更新地图视图\n if (rrefMap.value) {\n const view = rrefMap.value.getView();\n if (view) {\n view.setCenter(center.value);\n view.setZoom(zoom.value);\n }\n rrefMap.value.calculateAutoZoom && rrefMap.value.calculateAutoZoom();\n }\n\n if (data?.bucketName) {\n if (filtrationType.value && filtrationType.value.length > 0) {\n const geoConfig: Record<\n FeatureTypeEnum,\n { geojson?: string; geomType: \"Polygon\" | \"Point\" }\n > = {\n Areas: { geojson: data?.geojson, geomType: \"Polygon\" },\n Devices: { geojson: data?.geojson, geomType: \"Point\" },\n Facilities: { geojson: data?.facilityGeoJson, geomType: \"Point\" },\n Cameras: { geojson: data?.videoGeoJson, geomType: \"Point\" },\n };\n filtrationType.value.forEach((element) => {\n const conf = geoConfig[element];\n if (!conf?.geojson) return;\n const filtered = JSON.parse(conf.geojson).features.filter(\n (feature: any) =>\n feature.geometry && feature.geometry.type === conf.geomType,\n );\n loadFeaturesAndHandleWarning(\n JSON.stringify({ type: \"FeatureCollection\", features: filtered }),\n centerOnWarning,\n );\n });\n } else {\n // 视频模式\n if (data?.videoGeoJson && alarmType.value === \"video\") {\n if (!data?.videoGeoJson) {\n return;\n }\n loadFeaturesAndHandleWarning(data?.videoGeoJson, centerOnWarning);\n } else {\n // 普通geojson\n if (!data?.geojson) {\n return;\n }\n loadFeaturesAndHandleWarning(data?.geojson, centerOnWarning);\n }\n }\n }\n};\n\n// 切换楼层:保留告警配置(不清空 _waring),切到含告警设备的楼层时由\n// loadFeaturesAndHandleWarning 自动重新补上告警气泡;centerOnWarning=false 表示切换场景不自动定位\nconst FnUpdateFloor = (item: Floor): void => {\n loadingSource(item, false);\n};\n\nconst FnUpdateDrawFeature2 = (event: DrawEvent): void => {\n event.feature.set(\"color\", defaultColor.value);\n event.feature.set(\"drawType\", \"lineString\");\n};\n\nconst FnUpdateDrawFeature = (event: DrawEvent): void => {\n event.feature.set(\"color\", defaultColor.value);\n event.feature.set(\"text\", \"重点防控区域\");\n};\n\nconst FnOverrideStyle = (feature: OpenLayersFeature, style: any): any => {\n const code = feature.getProperties()?.code;\n const iconUrl = configIcon.value[code] || defaultIcon;\n if (code && iconUrl) {\n const isWarningOrEdit =\n isWaringCode(code) || activatedMode.value === \"edit\";\n\n const scale = isWarningOrEdit ? 1 : 0.8; // Use scale instead of width/height for responsive sizing\n // 设备状态(0故障 1报警 2正常 4离线 -1未启用):以 listDevice 实时数据为准,\n // 缺失时回退图纸 feature 属性(other 中嵌入了设备对象)\n const deviceState =\n listDevice.value.find((item: Device) => item.code === code)?.state ??\n feature.get(\"other\")?.state ??\n feature.get(\"state\");\n const iconStyle = rrefMap.value?.createIcon(iconUrl, scale, deviceState);\n\n feature.setStyle(iconStyle);\n } else {\n // eslint-disable-next-line no-use-before-define\n updateFeatureStyle(feature);\n }\n return style;\n};\n\nconst deleteFeature = (feature: OpenLayersFeature): void => {\n rrefMap.value?.getVectorSource().removeFeature(feature);\n};\n\nconst updateFeatureStyle = (\n feature = activatedFeature.value,\n isSelected = false,\n _offset = 0.4,\n): void => {\n if (!feature) {\n return;\n }\n const text = new Text({\n overflow: true,\n textBaseline: \"middle\",\n font: \"normal 14px 微软雅黑\",\n text: feature.get(\"text\") || \"重点区域\",\n fill: new Fill({\n color: \"red\",\n }),\n backgroundFill: new Fill({\n color: \"white\",\n }),\n padding: [2, 5, 2, 5],\n });\n const textStyle = new Style({\n text,\n fill: new Fill({\n color: feature.get(\"color\") || \"rgba(255,255,51,0.2)\",\n }),\n stroke: new Stroke({\n color: feature.get(\"color\") || \"rgba(255,255,51,0.2)\",\n width: isSelected ? 4 : 1,\n }),\n });\n feature.setStyle(textStyle);\n};\n\nconst FnSetColor = (color: string): void => {\n defaultColor.value = color;\n if (activatedFeature.value) {\n activatedFeature.value.set(\"color\", color);\n updateFeatureStyle(activatedFeature.value, true);\n }\n activatedBottomBar.value = \"选择\";\n};\n\nconst handlerChecked = (key: string): void => {\n activatedBottomBar.value = key;\n switch (key) {\n case \"保存\":\n // eslint-disable-next-line no-use-before-define\n FnSaveMain();\n break;\n case \"重置\":\n rrefMap.value?.getVectorSource().clear();\n break;\n case \"放大\": {\n const view = rrefMap.value?.getView();\n if (view) view.setZoom((view.getZoom() ?? 1) + 1);\n break;\n }\n case \"缩小\": {\n const view = rrefMap.value?.getView();\n if (view) view.setZoom((view.getZoom() ?? 1) - 1);\n break;\n }\n case \"区域模板\":\n (function () {\n const feature = new Feature({\n geometry: new Polygon([\n [\n [786.3792005168201, 338.76241851619795],\n [745.2306619461384, 268.6210691239884],\n [720.3979398123276, 226.2914822164155],\n [689.3061489176491, 181.81733917636961],\n [650.6757212309868, 224.32142350364663],\n [635.9358768302526, 239.17937425863389],\n [628.3098681327549, 250.58557144777728],\n [607.7260105988584, 269.24237742792496],\n [657.7235396817343, 346.765203291549],\n [667.2401356802386, 362.85727288146916],\n [709.1159873844781, 428.26685621909996],\n [786.3792005168201, 338.76241851619795],\n ],\n ]),\n text: \"重点消防区域仓库\",\n color: defaultColor.value,\n });\n rrefMap.value?.getVectorSource().addFeature(feature);\n })();\n break;\n case \"原始尺寸\":\n rrefMap.value?.getView().setZoom(1);\n break;\n default:\n break;\n }\n};\n\nconst dragStart = (item: Device): void => {\n activatedDragItem.value = item;\n};\n\nconst dragEnd = (evt: DragEvent): void => {\n setTimeout(() => {\n const viewCoordinate = move1.value;\n if (activatedDragItem.value && viewCoordinate) {\n const feature = new Feature({\n geometry: new Point([viewCoordinate[0], viewCoordinate[1]]),\n type: \"灭火器\",\n deviceType: activatedDragItem.value.deviceType,\n code: activatedDragItem.value.code,\n other: activatedDragItem.value,\n });\n rrefMap.value?.getVectorSource().addFeature(feature);\n }\n }, 100);\n};\n\n/**\n * 计算设备列表\n */\nconst listUnitDevice = computed(() => {\n const codeArr = activatedArrayFeatures.value.reduce(\n (acc: string[], item: any) => {\n if (item.values_.geometry.getType() === \"Point\") {\n acc.push(item.values_.code);\n }\n return acc;\n },\n [],\n ); // 初始化一个空数组来收集 code\n\n let _listUnitDevice = listDevice.value.filter((item: Device) => {\n return !codeArr.some((code: string) => item.code === code);\n });\n if (queryDeviceList.value.activatedDeviceModel) {\n _listUnitDevice = _listUnitDevice.filter((item: Device) => {\n return (\n item.deviceModelName === queryDeviceList.value.activatedDeviceModel\n );\n });\n }\n if (queryDeviceList.value.activatedDeviceType) {\n _listUnitDevice = _listUnitDevice.filter((item: Device) => {\n return item.deviceTypeName === queryDeviceList.value.activatedDeviceType;\n });\n }\n if (queryDeviceList.value.activatedManufacturer) {\n _listUnitDevice = _listUnitDevice.filter((item: Device) => {\n return (\n item.manufacturerName === queryDeviceList.value.activatedManufacturer\n );\n });\n }\n return _listUnitDevice;\n});\n\n/**\n * 关闭主界面\n */\nconst FnCloseMain = (): void => {\n emit(\"closeMain\");\n};\n\nconst FnSaveMain = (): void => {\n document.documentElement.classList.remove(\"dark\");\n const features = rrefMap.value?.getVectorSource().getFeatures() || [];\n const jsonObj = new GeoJSON().writeFeatures(features);\n\n emit(\"saveMain\", { geojson: jsonObj, floor: activatedFloor.value });\n};\n\n// 右键菜单配置(回调依赖 rrefMap / activatedFeature / activatedBottomBar / FnSaveMain,需后置声明)\nconst configMenuItems = ref<MenuItem[]>([\n {\n text: \"删除\",\n icon: deleteIcon,\n callback: (val: any) => {\n if (rrefMap.value.getVectorSource()) {\n rrefMap.value.getVectorSource().removeFeature(activatedFeature.value);\n }\n },\n },\n {\n text: \"编辑\",\n icon: editIcon,\n classname: \"some-style-class\",\n callback: (val: any) => {\n activatedBottomBar.value = \"编辑\";\n },\n },\n {\n text: \"颜色\",\n icon: colorIcon,\n classname: \"some-style-class\",\n callback: (val: any) => {\n activatedBottomBar.value = \"颜色\";\n },\n },\n {\n text: \"保存\",\n icon: saveIcon,\n classname: \"some-style-class\",\n callback: (val: any) => {\n FnSaveMain();\n },\n },\n]);\n\ndefineExpose({\n open,\n});\n</script>\n\n<template>\n <div\n id=\"ypc-map-container\"\n class=\"relative w-full h-full overflow-hidden t-geo-mark\"\n >\n <FloorMark ref=\"refFloor\" @change-floor=\"FnUpdateFloor\" />\n\n <el-card\n v-if=\"activatedMode === 'edit'\"\n style=\"\n height: 50px;\n width: 680px;\n z-index: 999999999 !important;\n top: 5px;\n left: 5px;\n \"\n class=\"absolute tob-6\"\n >\n <div class=\"flex items-center justify-between w-full h-full -mt-2\">\n <div\n v-for=\"o in configTopBar\"\n :key=\"o.name\"\n class=\"mr-3 cursor-pointer text item t truncate ...\"\n @click=\"FnCloseMain()\"\n >\n <i class=\"iconfont\" :class=\"[o.icon]\" />\n {{ o.name }}\n <span v-if=\"o.name !== '退出'\">{{ o.value }}</span>\n </div>\n </div>\n </el-card>\n\n <el-card\n v-if=\"activatedMode === 'edit'\"\n style=\"\n height: 50px;\n width: 920px;\n z-index: 999999999 !important;\n transform: translateX(-50%);\n left: 50%;\n \"\n class=\"absolute bottom-6\"\n >\n <div class=\"flex items-center justify-between w-full h-full -mt-2\">\n <template v-for=\"o in configBottomBar\" :key=\"o.name\">\n <div\n v-if=\"o.name !== '颜色' && o.name !== '区域设置'\"\n class=\"mr-3 cursor-pointer text item\"\n :class=\"[activatedBottomBar === o.name ? 'bg-red-600' : '']\"\n @click=\"handlerChecked(o.name)\"\n >\n <span>\n <i class=\"iconfont\" :class=\"[o.icon]\" />\n {{ o.name }}\n </span>\n </div>\n\n <el-popover\n v-else-if=\"o.name === '区域设置'\"\n :width=\"250\"\n style=\"height: 350px !important\"\n placement=\"top\"\n trigger=\"click\"\n popper-class=\"t-popper\"\n >\n <template #reference>\n <div\n class=\"mr-3 cursor-pointer text item\"\n :class=\"[activatedBottomBar === o.name ? 'bg-red-600' : '']\"\n @click=\"handlerChecked(o.name)\"\n >\n <span>\n <i class=\"iconfont\" :class=\"[o.icon]\" />\n {{ o.name }}\n </span>\n </div>\n </template>\n <template #default>\n <div\n v-for=\"o in configBottomBar2\"\n :key=\"o.name\"\n class=\"mr-3 cursor-pointer text item\"\n :class=\"[activatedBottomBar === o.name ? 'bg-red-600' : '']\"\n @click=\"handlerChecked(o.name)\"\n >\n <span>\n <i class=\"iconfont\" :class=\"[o.icon]\" />\n {{ o.name }}\n </span>\n </div>\n </template>\n </el-popover>\n\n <el-popover\n v-else\n :width=\"250\"\n style=\"height: 350px !important\"\n placement=\"top\"\n trigger=\"click\"\n popper-class=\"t-popper\"\n >\n <template #reference>\n <div\n class=\"mr-3 cursor-pointer text item\"\n :class=\"[activatedBottomBar === o.name ? 'bg-red-600' : '']\"\n @click=\"handlerChecked(o.name)\"\n >\n <span>\n <i class=\"iconfont\" :class=\"[o.icon]\" />\n {{ o.name }}\n </span>\n </div>\n </template>\n <template #default>\n <div class=\"grid grid-cols-3 gap-2 p-1\">\n <div\n v-for=\"c in colorList\"\n :key=\"c.value\"\n class=\"flex flex-col items-center cursor-pointer\"\n @click=\"FnSetColor(c.value)\"\n >\n <span\n class=\"w-8 h-8 rounded border border-gray-300\"\n :style=\"{ backgroundColor: c.value }\"\n />\n <span class=\"text-xs mt-1\">{{ c.name }}</span>\n </div>\n </div>\n </template>\n </el-popover>\n </template>\n </div>\n </el-card>\n\n <el-card\n v-if=\"activatedMode === 'edit'\"\n style=\"width: 500px; z-index: 999999999 !important\"\n class=\"absolute right-6\"\n :class=\"[activatedFold === true ? 't-fold ' : 't-unfold open-info-list']\"\n :body-style=\"{ height: '100%' }\"\n >\n <div\n class=\"flex px-3.5 justify-between flex-shrink-0 w-full h-10 py-1 select-none -mt-5 p-2\"\n >\n <div class=\"flex justify-between w-30\">\n <span\n class=\"flex items-center mr-5 cursor-pointer\"\n :class=\"[activatedList ? 'text-primary' : '']\"\n @click=\"activatedList = true\"\n >\n {{ list_title }}\n </span>\n <span\n class=\"flex items-center cursor-pointer\"\n :class=\"[!activatedList ? 'text-primary' : '']\"\n @click=\"activatedList = false\"\n >\n 标注信息列表\n </span>\n </div>\n <span\n v-if=\"activatedFold\"\n class=\"flex items-center cursor-pointer text-primary\"\n @click=\"FnUpdateActivatedFold\"\n >\n 展开\n </span>\n <span\n v-else\n class=\"flex items-center cursor-pointer text-primary\"\n @click=\"FnUpdateActivatedFold\"\n >\n 收起\n </span>\n </div>\n\n <el-select\n v-model=\"queryDeviceList.activatedDeviceType\"\n clearable\n style=\"width: 32%\"\n class=\"mr-2\"\n placeholder=\"请选择类型\"\n :teleported=\"false\"\n >\n <el-option\n v-for=\"item in configOptionsDeviceType\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"\n />\n </el-select>\n\n <el-select\n v-model=\"queryDeviceList.activatedDeviceModel\"\n clearable\n style=\"width: 32%\"\n class=\"mr-2\"\n placeholder=\"请选择型号\"\n :teleported=\"false\"\n >\n <el-option\n v-for=\"item in configOptionsDeviceModel\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"\n />\n </el-select>\n\n <el-select\n v-model=\"queryDeviceList.activatedManufacturer\"\n clearable\n style=\"width: 32%\"\n placeholder=\"请选择厂商\"\n :teleported=\"false\"\n >\n <el-option\n v-for=\"item in configOptionsManufacturer\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"\n />\n </el-select>\n\n <div\n v-if=\"activatedList\"\n class=\"grid gap-1 mt-4 px-3.5 w-full grid-cols-12\"\n >\n <span class=\"col-span-1\">图标</span>\n <span class=\"col-span-4\">编号</span>\n <!-- <span class=\"col-span-2 text-center\">楼层</span> -->\n <span class=\"col-span-4\">{{\n list_title === \"设备信息列表\" ? \"设备类型\" : \"设施类型\"\n }}</span>\n <span class=\"col-span-3\">位置</span>\n </div>\n\n <div v-else class=\"grid gap-1 mt-4 px-3.5 w-full grid-cols-12\">\n <span class=\"col-span-1\">序号</span>\n <span class=\"col-span-1\">图标</span>\n <span class=\"col-span-8\">名称</span>\n <span class=\"col-span-2\">操作</span>\n </div>\n\n <div\n v-if=\"activatedList\"\n style=\"height: calc(100% - 100px)\"\n class=\"w-full mt-4 pb-5 overflow-x-hidden overflow-y-auto panel\"\n >\n <!-- {{ listUnitDevice.length }} -->\n <template v-for=\"(item, index) in listUnitDevice\" :key=\"index\">\n <div\n class=\"grid gap-1 mt-4 px-3.5 w-full grid-cols-12\"\n :title=\"item.deviceTypeName\"\n >\n <span class=\"col-span-1 cursor-pointer\">\n <DragIcon\n :icon=\"configIcon[item.code] || defaultIcon\"\n :item=\"item\"\n :map-ref=\"rrefMap\"\n :move1=\"move1\"\n @dragstart=\"dragStart\"\n @dragend=\"dragEnd\"\n />\n </span>\n <span class=\"col-span-4 break-words\">{{ item.code }}</span>\n <span\n class=\"col-span-4 break-words\"\n :title=\"item.remark || item.deviceTypeName || item.videoName\"\n >\n {{ item.remark || item.deviceTypeName || item.videoName }}\n </span>\n <span class=\"col-span-3 break-words\" :title=\"item.locationDesc\">{{\n item.locationDesc || item.addressDesc\n }}</span>\n </div>\n </template>\n </div>\n\n <div\n v-else\n style=\"height: calc(100% - 100px)\"\n class=\"w-full mt-4 overflow-x-hidden overflow-y-auto panel\"\n >\n <template v-for=\"(item, index) in activatedArrayFeatures\" :key=\"item\">\n <div class=\"grid gap-1 mt-4 px-3.5 w-full grid-cols-12\">\n <span class=\"col-span-1\">{{ index + 1 }} </span>\n <span class=\"col-span-1\">\n <div\n v-if=\"item.values_.geometry.getType() === 'Point'\"\n class=\"!w-8 h-full t-image-point\" />\n\n <div\n v-else\n class=\"!w-8 h-full\"\n :style=\"`background-color:${item.values_.color}`\"\n /></span>\n\n <span class=\"col-span-8\">\n <el-input\n v-if=\"item.values_.geometry.getType() === 'Point'\"\n v-model=\"item.values_.type\"\n size=\"large\"\n clearable\n />\n <el-input\n v-else\n v-model=\"item.values_.text\"\n size=\"large\"\n clearable\n @change=\"updateFeatureStyle(item)\"\n />\n </span>\n\n <span\n class=\"flex items-center justify-center col-span-2 cursor-pointer\"\n @click=\"deleteFeature(item)\"\n >\n <i class=\"iconfont icon-shanchu\" />\n </span>\n </div>\n </template>\n </div>\n </el-card>\n\n <openMapNew\n v-if=\"listFloor.length > 0 && activatedFloor\"\n ref=\"rrefMap\"\n api-key=\"AjtUzWJBHlI3Ma_Ke6Qv2fGRXEs0ua5hUQi54ECwfXTiWsitll4AkETZDihjcfeI\"\n :center=\"center\"\n :zoom=\"zoom\"\n :projection=\"projection\"\n :img-url=\"imgUrl\"\n :size=\"size\"\n :extent=\"extent\"\n :config-menu-items=\"configMenuItems\"\n :activated-bottom-bar=\"activatedBottomBar\"\n @ready=\"handleMapReady\"\n :_waring=\"hasWaring ? _waring : null\"\n :activated-position-overlay-waring=\"activatedPositionOverlayWaring\"\n :activated-position-overlay=\"activatedPositionOverlay\"\n :activated-properties-overlay=\"activatedPropertiesOverlay\"\n :list_title=\"list_title\"\n :alarm-type=\"alarmType\"\n :svg-overlay=\"svgOverlay\"\n :waring-icon=\"waringIcon\"\n :FnUpdateDrawFeature=\"FnUpdateDrawFeature\"\n :FnUpdateDrawFeature2=\"FnUpdateDrawFeature2\"\n :FnOverrideStyle=\"FnOverrideStyle\"\n >\n <template #overlay>\n <template\n v-if=\"\n activatedPropertiesOverlay.type && list_title === '设备信息列表'\n \"\n >\n <div\n class=\"flex flex-col justify-start text-white opacity-80 t-bg-overlay flex-nowrap\"\n >\n <img :src=\"svgOverlay\" alt=\"\" class=\"absolute w-full h-full\" />\n <div\n class=\"flex t-overlay-item items-center w-full !mt-10 justify-items-start\"\n >\n 设备编码: {{ activatedPropertiesOverlay.other?.code }}\n </div>\n\n <div\n class=\"flex items-center w-full t-overlay-item justify-items-start\"\n >\n 创建日期: {{ activatedPropertiesOverlay.other?.createTime }}\n </div>\n\n <div\n class=\"flex items-center w-full t-overlay-item justify-items-start\"\n >\n 设备位置:\n <div\n class=\"w-52 flex justify-start items-center text-gradient2 truncate ...\"\n :title=\"\n activatedPropertiesOverlay.other?.videoName ||\n activatedPropertiesOverlay.other?.addressDesc\n \"\n >\n {{\n alarmType === \"video\"\n ? activatedPropertiesOverlay.other?.videoName\n : activatedPropertiesOverlay.other?.addressDesc\n }}\n </div>\n </div>\n <div\n class=\"flex items-center w-full t-overlay-item justify-items-start\"\n >\n 设备类型:\n <div\n class=\"w-52 flex justify-start items-center text-gradient2 truncate ...\"\n :title=\"\n activatedPropertiesOverlay.other?.remark ||\n activatedPropertiesOverlay.other?.deviceTypeName ||\n activatedPropertiesOverlay.other?.facilityTypeName\n \"\n >\n {{\n alarmType === \"video\"\n ? \"摄像头\"\n : activatedPropertiesOverlay.other?.remark ||\n activatedPropertiesOverlay.other?.facilityTypeName ||\n activatedPropertiesOverlay.other?.deviceTypeName\n }}\n </div>\n </div>\n </div>\n </template>\n\n <!-- 设施信息弹窗 -->\n <template\n v-if=\"\n activatedPropertiesOverlay.type && list_title === '设施信息列表'\n \"\n >\n <div\n class=\"flex flex-col justify-start text-white opacity-80 t-bg-overlay flex-nowrap\"\n >\n <img :src=\"svgOverlay\" alt=\"\" class=\"absolute w-full h-full\" />\n <div\n class=\"flex t-overlay-item items-center w-full !mt-10 justify-items-start\"\n >\n 设施编码: {{ activatedPropertiesOverlay.other?.code }}\n </div>\n\n <div\n class=\"flex items-center w-full t-overlay-item justify-items-start\"\n >\n 创建日期: {{ activatedPropertiesOverlay.other?.createTime }}\n </div>\n\n <div\n class=\"flex items-center w-full t-overlay-item justify-items-start\"\n >\n 设施型号: {{ activatedPropertiesOverlay.other?.deviceModelName }}\n </div>\n <div\n class=\"flex items-center w-full t-overlay-item justify-items-start\"\n >\n 设施厂商:\n {{ activatedPropertiesOverlay.other?.manufacturerName }}\n </div>\n </div>\n </template>\n </template>\n </openMapNew>\n <img\n v-else\n :src=\"defaultImage\"\n alt=\"默认底图\"\n :style=\"{ width: `${size[0]}px`, height: `${size[1]}px` }\"\n />\n </div>\n</template>\n"],"names":["ref","onMounted","onUnmounted","computed","defaultImage","Fill","Stroke","primaryAction","platformModifierKeyOnly","never","isNil","_a","_b","_c","viewCoordinate","_d","feature","nextTick","defaultIcon","Text","deleteIcon","editIcon","colorIcon","saveIcon","_openBlock","_createElementBlock","_createVNode","FloorMark","_createBlock","_createElementVNode","_Fragment","_renderList","_normalizeClass","_createTextVNode","_toDisplayString","o","_normalizeStyle","_createCommentVNode","DragIcon","_unref","openMapNew","svgOverlay","waringIcon"],"mappings":"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"}
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
import "ol/ol.css";
|
|
2
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
3
|
+
apiKey: {
|
|
4
|
+
type: StringConstructor;
|
|
5
|
+
default: string;
|
|
6
|
+
};
|
|
7
|
+
center: {
|
|
8
|
+
type: ArrayConstructor;
|
|
9
|
+
default: () => number[];
|
|
10
|
+
};
|
|
11
|
+
zoom: {
|
|
12
|
+
type: NumberConstructor;
|
|
13
|
+
default: number;
|
|
14
|
+
};
|
|
15
|
+
projection: {
|
|
16
|
+
type: (ObjectConstructor | StringConstructor)[];
|
|
17
|
+
default: undefined;
|
|
18
|
+
};
|
|
19
|
+
imgUrl: {
|
|
20
|
+
type: StringConstructor;
|
|
21
|
+
default: string;
|
|
22
|
+
};
|
|
23
|
+
size: {
|
|
24
|
+
type: ArrayConstructor;
|
|
25
|
+
default: () => number[];
|
|
26
|
+
};
|
|
27
|
+
extent: {
|
|
28
|
+
type: ArrayConstructor;
|
|
29
|
+
default: () => number[];
|
|
30
|
+
};
|
|
31
|
+
configMenuItems: {
|
|
32
|
+
type: ArrayConstructor;
|
|
33
|
+
default: () => never[];
|
|
34
|
+
};
|
|
35
|
+
activatedBottomBar: {
|
|
36
|
+
type: StringConstructor;
|
|
37
|
+
default: string;
|
|
38
|
+
};
|
|
39
|
+
_waring: {
|
|
40
|
+
type: any;
|
|
41
|
+
default: null;
|
|
42
|
+
};
|
|
43
|
+
activatedPositionOverlayWaring: {
|
|
44
|
+
type: ArrayConstructor;
|
|
45
|
+
default: () => never[];
|
|
46
|
+
};
|
|
47
|
+
activatedPositionOverlay: {
|
|
48
|
+
type: ArrayConstructor;
|
|
49
|
+
default: () => never[];
|
|
50
|
+
};
|
|
51
|
+
activatedPropertiesOverlay: {
|
|
52
|
+
type: ObjectConstructor;
|
|
53
|
+
default: () => {};
|
|
54
|
+
};
|
|
55
|
+
list_title: {
|
|
56
|
+
type: StringConstructor;
|
|
57
|
+
default: string;
|
|
58
|
+
};
|
|
59
|
+
alarmType: {
|
|
60
|
+
type: StringConstructor;
|
|
61
|
+
default: string;
|
|
62
|
+
};
|
|
63
|
+
svgOverlay: {
|
|
64
|
+
type: StringConstructor;
|
|
65
|
+
default: string;
|
|
66
|
+
};
|
|
67
|
+
waringIcon: {
|
|
68
|
+
type: StringConstructor;
|
|
69
|
+
default: string;
|
|
70
|
+
};
|
|
71
|
+
FnUpdateDrawFeature: {
|
|
72
|
+
type: FunctionConstructor;
|
|
73
|
+
default: undefined;
|
|
74
|
+
};
|
|
75
|
+
FnUpdateDrawFeature2: {
|
|
76
|
+
type: FunctionConstructor;
|
|
77
|
+
default: undefined;
|
|
78
|
+
};
|
|
79
|
+
FnOverrideStyle: {
|
|
80
|
+
type: FunctionConstructor;
|
|
81
|
+
default: undefined;
|
|
82
|
+
};
|
|
83
|
+
}>, {
|
|
84
|
+
props: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
85
|
+
apiKey: {
|
|
86
|
+
type: StringConstructor;
|
|
87
|
+
default: string;
|
|
88
|
+
};
|
|
89
|
+
center: {
|
|
90
|
+
type: ArrayConstructor;
|
|
91
|
+
default: () => number[];
|
|
92
|
+
};
|
|
93
|
+
zoom: {
|
|
94
|
+
type: NumberConstructor;
|
|
95
|
+
default: number;
|
|
96
|
+
};
|
|
97
|
+
projection: {
|
|
98
|
+
type: (ObjectConstructor | StringConstructor)[];
|
|
99
|
+
default: undefined;
|
|
100
|
+
};
|
|
101
|
+
imgUrl: {
|
|
102
|
+
type: StringConstructor;
|
|
103
|
+
default: string;
|
|
104
|
+
};
|
|
105
|
+
size: {
|
|
106
|
+
type: ArrayConstructor;
|
|
107
|
+
default: () => number[];
|
|
108
|
+
};
|
|
109
|
+
extent: {
|
|
110
|
+
type: ArrayConstructor;
|
|
111
|
+
default: () => number[];
|
|
112
|
+
};
|
|
113
|
+
configMenuItems: {
|
|
114
|
+
type: ArrayConstructor;
|
|
115
|
+
default: () => never[];
|
|
116
|
+
};
|
|
117
|
+
activatedBottomBar: {
|
|
118
|
+
type: StringConstructor;
|
|
119
|
+
default: string;
|
|
120
|
+
};
|
|
121
|
+
_waring: {
|
|
122
|
+
type: any;
|
|
123
|
+
default: null;
|
|
124
|
+
};
|
|
125
|
+
activatedPositionOverlayWaring: {
|
|
126
|
+
type: ArrayConstructor;
|
|
127
|
+
default: () => never[];
|
|
128
|
+
};
|
|
129
|
+
activatedPositionOverlay: {
|
|
130
|
+
type: ArrayConstructor;
|
|
131
|
+
default: () => never[];
|
|
132
|
+
};
|
|
133
|
+
activatedPropertiesOverlay: {
|
|
134
|
+
type: ObjectConstructor;
|
|
135
|
+
default: () => {};
|
|
136
|
+
};
|
|
137
|
+
list_title: {
|
|
138
|
+
type: StringConstructor;
|
|
139
|
+
default: string;
|
|
140
|
+
};
|
|
141
|
+
alarmType: {
|
|
142
|
+
type: StringConstructor;
|
|
143
|
+
default: string;
|
|
144
|
+
};
|
|
145
|
+
svgOverlay: {
|
|
146
|
+
type: StringConstructor;
|
|
147
|
+
default: string;
|
|
148
|
+
};
|
|
149
|
+
waringIcon: {
|
|
150
|
+
type: StringConstructor;
|
|
151
|
+
default: string;
|
|
152
|
+
};
|
|
153
|
+
FnUpdateDrawFeature: {
|
|
154
|
+
type: FunctionConstructor;
|
|
155
|
+
default: undefined;
|
|
156
|
+
};
|
|
157
|
+
FnUpdateDrawFeature2: {
|
|
158
|
+
type: FunctionConstructor;
|
|
159
|
+
default: undefined;
|
|
160
|
+
};
|
|
161
|
+
FnOverrideStyle: {
|
|
162
|
+
type: FunctionConstructor;
|
|
163
|
+
default: undefined;
|
|
164
|
+
};
|
|
165
|
+
}>> & Readonly<{
|
|
166
|
+
onReady?: ((...args: any[]) => any) | undefined;
|
|
167
|
+
onFeaturesChanged?: ((...args: any[]) => any) | undefined;
|
|
168
|
+
onCustomPointerMove?: ((...args: any[]) => any) | undefined;
|
|
169
|
+
onCustomContextMenu?: ((...args: any[]) => any) | undefined;
|
|
170
|
+
onCustomPostCompose?: ((...args: any[]) => any) | undefined;
|
|
171
|
+
}> & {}>;
|
|
172
|
+
emit: (event: "ready" | "featuresChanged" | "customPointerMove" | "customContextMenu" | "customPostCompose", ...args: any[]) => void;
|
|
173
|
+
OlMap: any;
|
|
174
|
+
OlOverlay: any;
|
|
175
|
+
OlView: any;
|
|
176
|
+
OlImageLayer: any;
|
|
177
|
+
OlVectorLayer: any;
|
|
178
|
+
OlSourceImageStatic: any;
|
|
179
|
+
OlSourceVector: any;
|
|
180
|
+
OlContextMenuControl: any;
|
|
181
|
+
OlZoomControl: any;
|
|
182
|
+
OlDrawInteraction: any;
|
|
183
|
+
OlModifyInteraction: any;
|
|
184
|
+
OlSnapInteraction: any;
|
|
185
|
+
OlTransformInteraction: any;
|
|
186
|
+
OlStyle: any;
|
|
187
|
+
mapRef: import("vue").Ref<any, any>;
|
|
188
|
+
viewRef: import("vue").Ref<any, any>;
|
|
189
|
+
vectorSourceRef: import("vue").Ref<any, any>;
|
|
190
|
+
drawRef: import("vue").Ref<any, any>;
|
|
191
|
+
currentImageUrl: import("vue").Ref<string, string>;
|
|
192
|
+
pixelProjection: any;
|
|
193
|
+
getVectorSource: () => any;
|
|
194
|
+
getMap: () => any;
|
|
195
|
+
getView: () => any;
|
|
196
|
+
iconColorCache: Map<string, string>;
|
|
197
|
+
iconColorPending: Set<string>;
|
|
198
|
+
STATE_COLORS: Record<string, {
|
|
199
|
+
r: number;
|
|
200
|
+
g: number;
|
|
201
|
+
b: number;
|
|
202
|
+
}>;
|
|
203
|
+
getIconMode: (state: unknown) => string | null;
|
|
204
|
+
createIcon: (src: string, scale: number, state?: unknown) => any;
|
|
205
|
+
refreshFeaturesUsingIcon: () => void;
|
|
206
|
+
processIcon: (key: string, imageSrc: string, mode: string, callback: (dataUrl: string) => void) => void;
|
|
207
|
+
clearSource: () => any;
|
|
208
|
+
addFeature: (feature: any) => any;
|
|
209
|
+
addFeatures: (features: any[]) => any;
|
|
210
|
+
removeFeature: (feature: any) => any;
|
|
211
|
+
getFeatures: () => any;
|
|
212
|
+
getZoom: () => any;
|
|
213
|
+
setZoom: (zoom: number) => any;
|
|
214
|
+
calculateAutoZoom: () => void;
|
|
215
|
+
isDrawingMode: () => boolean;
|
|
216
|
+
setDragPanActive: (active: boolean) => void;
|
|
217
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("ready" | "featuresChanged" | "customPointerMove" | "customContextMenu" | "customPostCompose")[], "ready" | "featuresChanged" | "customPointerMove" | "customContextMenu" | "customPostCompose", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
218
|
+
apiKey: {
|
|
219
|
+
type: StringConstructor;
|
|
220
|
+
default: string;
|
|
221
|
+
};
|
|
222
|
+
center: {
|
|
223
|
+
type: ArrayConstructor;
|
|
224
|
+
default: () => number[];
|
|
225
|
+
};
|
|
226
|
+
zoom: {
|
|
227
|
+
type: NumberConstructor;
|
|
228
|
+
default: number;
|
|
229
|
+
};
|
|
230
|
+
projection: {
|
|
231
|
+
type: (ObjectConstructor | StringConstructor)[];
|
|
232
|
+
default: undefined;
|
|
233
|
+
};
|
|
234
|
+
imgUrl: {
|
|
235
|
+
type: StringConstructor;
|
|
236
|
+
default: string;
|
|
237
|
+
};
|
|
238
|
+
size: {
|
|
239
|
+
type: ArrayConstructor;
|
|
240
|
+
default: () => number[];
|
|
241
|
+
};
|
|
242
|
+
extent: {
|
|
243
|
+
type: ArrayConstructor;
|
|
244
|
+
default: () => number[];
|
|
245
|
+
};
|
|
246
|
+
configMenuItems: {
|
|
247
|
+
type: ArrayConstructor;
|
|
248
|
+
default: () => never[];
|
|
249
|
+
};
|
|
250
|
+
activatedBottomBar: {
|
|
251
|
+
type: StringConstructor;
|
|
252
|
+
default: string;
|
|
253
|
+
};
|
|
254
|
+
_waring: {
|
|
255
|
+
type: any;
|
|
256
|
+
default: null;
|
|
257
|
+
};
|
|
258
|
+
activatedPositionOverlayWaring: {
|
|
259
|
+
type: ArrayConstructor;
|
|
260
|
+
default: () => never[];
|
|
261
|
+
};
|
|
262
|
+
activatedPositionOverlay: {
|
|
263
|
+
type: ArrayConstructor;
|
|
264
|
+
default: () => never[];
|
|
265
|
+
};
|
|
266
|
+
activatedPropertiesOverlay: {
|
|
267
|
+
type: ObjectConstructor;
|
|
268
|
+
default: () => {};
|
|
269
|
+
};
|
|
270
|
+
list_title: {
|
|
271
|
+
type: StringConstructor;
|
|
272
|
+
default: string;
|
|
273
|
+
};
|
|
274
|
+
alarmType: {
|
|
275
|
+
type: StringConstructor;
|
|
276
|
+
default: string;
|
|
277
|
+
};
|
|
278
|
+
svgOverlay: {
|
|
279
|
+
type: StringConstructor;
|
|
280
|
+
default: string;
|
|
281
|
+
};
|
|
282
|
+
waringIcon: {
|
|
283
|
+
type: StringConstructor;
|
|
284
|
+
default: string;
|
|
285
|
+
};
|
|
286
|
+
FnUpdateDrawFeature: {
|
|
287
|
+
type: FunctionConstructor;
|
|
288
|
+
default: undefined;
|
|
289
|
+
};
|
|
290
|
+
FnUpdateDrawFeature2: {
|
|
291
|
+
type: FunctionConstructor;
|
|
292
|
+
default: undefined;
|
|
293
|
+
};
|
|
294
|
+
FnOverrideStyle: {
|
|
295
|
+
type: FunctionConstructor;
|
|
296
|
+
default: undefined;
|
|
297
|
+
};
|
|
298
|
+
}>> & Readonly<{
|
|
299
|
+
onReady?: ((...args: any[]) => any) | undefined;
|
|
300
|
+
onFeaturesChanged?: ((...args: any[]) => any) | undefined;
|
|
301
|
+
onCustomPointerMove?: ((...args: any[]) => any) | undefined;
|
|
302
|
+
onCustomContextMenu?: ((...args: any[]) => any) | undefined;
|
|
303
|
+
onCustomPostCompose?: ((...args: any[]) => any) | undefined;
|
|
304
|
+
}>, {
|
|
305
|
+
size: unknown[];
|
|
306
|
+
center: unknown[];
|
|
307
|
+
zoom: number;
|
|
308
|
+
apiKey: string;
|
|
309
|
+
projection: string | Record<string, any>;
|
|
310
|
+
imgUrl: string;
|
|
311
|
+
extent: unknown[];
|
|
312
|
+
configMenuItems: unknown[];
|
|
313
|
+
activatedBottomBar: string;
|
|
314
|
+
_waring: any;
|
|
315
|
+
activatedPositionOverlayWaring: unknown[];
|
|
316
|
+
activatedPositionOverlay: unknown[];
|
|
317
|
+
activatedPropertiesOverlay: Record<string, any>;
|
|
318
|
+
list_title: string;
|
|
319
|
+
alarmType: string;
|
|
320
|
+
svgOverlay: string;
|
|
321
|
+
waringIcon: string;
|
|
322
|
+
FnUpdateDrawFeature: Function;
|
|
323
|
+
FnUpdateDrawFeature2: Function;
|
|
324
|
+
FnOverrideStyle: Function;
|
|
325
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
326
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var openMap_vue_vue_type_script_setup_true_lang = require('./openMap.vue2.js');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
exports.default = openMap_vue_vue_type_script_setup_true_lang.default;
|
|
10
|
+
//# sourceMappingURL=openMap.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openMap.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|