From 60c838ae69fcda28bf11ab38cac195226d785061 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=A6=8D?= <1455167345@qq.com> Date: Mon, 10 Mar 2025 16:40:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E7=BB=84=E5=8F=AF=E4=BB=A5=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E9=87=8C=E9=9D=A2=E7=9A=84=E5=8D=95=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/chartEditStore/chartEditStore.ts | 1 - .../components/hooks/useTargetData.hook.ts | 315 +------------- .../chart/ContentConfigurations/index.vue | 14 +- .../components/LayersGroupListItem/index.vue | 389 +++++++++--------- 4 files changed, 228 insertions(+), 491 deletions(-) diff --git a/src/store/modules/chartEditStore/chartEditStore.ts b/src/store/modules/chartEditStore/chartEditStore.ts index 8a9f600..cf6fa59 100644 --- a/src/store/modules/chartEditStore/chartEditStore.ts +++ b/src/store/modules/chartEditStore/chartEditStore.ts @@ -299,7 +299,6 @@ export const useChartEditStore = defineStore({ return -1; } const targetIndex = this.componentList.findIndex((e) => e.id === targetId); - // 当前 if (targetIndex !== -1) { return targetIndex; diff --git a/src/views/chart/ContentConfigurations/components/hooks/useTargetData.hook.ts b/src/views/chart/ContentConfigurations/components/hooks/useTargetData.hook.ts index 8229da6..21afa44 100644 --- a/src/views/chart/ContentConfigurations/components/hooks/useTargetData.hook.ts +++ b/src/views/chart/ContentConfigurations/components/hooks/useTargetData.hook.ts @@ -1,298 +1,25 @@ -import { computed, Ref } from 'vue' -import { CreateComponentType, CreateComponentGroupType } from '@/packages/index.d' -import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore' +import { computed, Ref } from 'vue'; +import { CreateComponentType, CreateComponentGroupType } from '@/packages/index.d'; +import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'; // 获取当前对象数据 export const useTargetData = () => { - const chartEditStore = useChartEditStore() + const chartEditStore = useChartEditStore(); const targetData: Ref = computed(() => { - const list = chartEditStore.getComponentList - const targetIndex = chartEditStore.fetchTargetIndex() - return list[targetIndex] - }) - // console.log("targetData",targetData.value.option.mapOptions); - - // targetData.value.option.mapOptions = { - // "scene": { - // "center": {"lat":30.074253,"lng":126.353311,"alt":21803924.9,"heading":360,"pitch":-90}, - // "scene3DOnly": false, - // "shadows": false, - // "removeDblClick": true, - // "sceneMode": 3, - // "showSun": true, - // "showMoon": true, - // "showSkyBox": true, - // "showSkyAtmosphere": true, - // "fog": true, - // "fxaa": true, - // "requestRenderMode": true, - // "contextOptions": { - // "requestWebgl1": false, - // "webgl": { - // "preserveDrawingBuffer": true - // } - // }, - // "globe": { - // "depthTestAgainstTerrain": false, - // "baseColor": "#546a53", - // "showGroundAtmosphere": true, - // "enableLighting": false - // }, - // "cameraController": { - // "zoomFactor": 3.0, - // "minimumZoomDistance": 1, - // "maximumZoomDistance": 50000000, - // "enableRotate": true, - // "enableTranslate": true, - // "enableTilt": true, - // "enableZoom": true, - // "enableCollisionDetection": true, - // "minimumCollisionTerrainHeight": 15000 - // } - // }, - // "control": { - // "homeButton": true, - // "baseLayerPicker": false, - // "sceneModePicker": true, - // "vrButton": false, - // "fullscreenButton": true, - // "navigationHelpButton": true, - // "animation": false, - // "timeline": false, - // "infoBox": false, - // "geocoder": false, - // "selectionIndicator": false, - // "showRenderLoopErrors": true, - // "contextmenu": { - // "hasDefault": true - // }, - // "mouseDownView": true, - // "zoom": { - // "insertIndex": 1 - // }, - // "compass": { - // "bottom": "toolbar", - // "left": "5px" - // }, - // "distanceLegend": { - // "left": "10px", - // "bottom": "2px" - // }, - // "locationBar": { - // "crs": "CGCS2000_GK_Zone_3", - // "crsDecimal": 0, - // "template": "
经度:{lng}
纬度:{lat}
横{crsx} 纵{crsy}
海拔:{alt}米
层级:{level}
方向:{heading}°
俯仰角:{pitch}°
视高:{cameraHeight}米
" - // } - // }, - // "method": { - // "templateValues": { - // "dataServer": "//data.mars3d.cn", - // "gltfServerUrl": "//data.mars3d.cn/gltf" - // } - // }, - // "terrain": { - // "url": "//data.mars3d.cn/terrain", - // "show": true, - // "clip": true - // }, - // "basemaps": [ - // { - // "id": 10, - // "name": "地图底图", - // "type": "group" - // }, - // { - // "pid": 10, - // "name": "天地图影像", - // "icon": "//data.mars3d.cn/img/thumbnail/basemap/tdt_img.png", - // "type": "group", - // "layers": [ - // { - // "name": "底图", - // "type": "tdt", - // "layer": "img_d" - // }, - // { - // "name": "注记", - // "type": "tdt", - // "layer": "img_z" - // } - // ], - // "show": false - // }, - // { - // "pid": 10, - // "name": "天地图电子", - // "icon": "//data.mars3d.cn/img/thumbnail/basemap/tdt_vec.png", - // "type": "group", - // "layers": [ - // { - // "name": "底图", - // "type": "tdt", - // "layer": "vec_d" - // }, - // { - // "name": "注记", - // "type": "tdt", - // "layer": "vec_z" - // } - // ] - // }, - // { - // "id": 2021, - // "pid": 10, - // "name": "高德影像", - // "type": "group", - // "icon": "//data.mars3d.cn/img/thumbnail/basemap/gaode_img.png", - // "layers": [ - // { - // "name": "底图", - // "type": "gaode", - // "layer": "img_d" - // }, - // { - // "name": "注记", - // "type": "gaode", - // "layer": "img_z" - // } - // ], - // "show": true - // }, - // { - // "pid": 10, - // "name": "高德电子", - // "type": "gaode", - // "icon": "//data.mars3d.cn/img/thumbnail/basemap/gaode_vec.png", - // "layer": "vec" - // }, - // { - // "pid": 10, - // "name": "百度影像", - // "type": "group", - // "icon": "//data.mars3d.cn/img/thumbnail/basemap/bd-img.png", - // "layers": [ - // { - // "name": "底图", - // "type": "baidu", - // "layer": "img_d" - // }, - // { - // "name": "注记", - // "type": "baidu", - // "layer": "img_z" - // } - // ] - // }, - // { - // "pid": 10, - // "name": "百度电子", - // "icon": "//data.mars3d.cn/img/thumbnail/basemap/bd-vec.png", - // "type": "baidu", - // "layer": "vec" - // }, - // { - // "pid": 10, - // "name": "腾讯影像", - // "icon": "//data.mars3d.cn/img/thumbnail/basemap/tencent_img.png", - // "type": "group", - // "layers": [ - // { - // "name": "底图", - // "type": "tencent", - // "layer": "img_d" - // }, - // { - // "name": "注记", - // "type": "tencent", - // "layer": "img_z" - // } - // ] - // }, - // { - // "pid": 10, - // "name": "腾讯电子", - // "icon": "//data.mars3d.cn/img/thumbnail/basemap/tencent_vec.png", - // "type": "tencent", - // "layer": "vec" - // }, - // { - // "pid": 10, - // "name": "ArcGIS影像", - // "icon": "//data.mars3d.cn/img/thumbnail/basemap/esriWorldImagery.png", - // "type": "xyz", - // "url": "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}", - // "enablePickFeatures": false - // }, - // { - // "pid": 10, - // "name": "微软影像", - // "icon": "//data.mars3d.cn/img/thumbnail/basemap/bingAerial.png", - // "type": "bing", - // "layer": "Aerial" - // }, - // { - // "id": 2017, - // "pid": 10, - // "name": "蓝色底图", - // "icon": "//data.mars3d.cn/img/thumbnail/basemap/bd-c-midnight.png", - // "type": "gaode", - // "layer": "vec", - // "chinaCRS": "GCJ02", - // "invertColor": true, - // "filterColor": "#4e70a6", - // "brightness": 0.6, - // "contrast": 1.8, - // "gamma": 0.3, - // "hue": 1, - // "saturation": 0 - // }, - // { - // "pid": 10, - // "name": "黑色底图", - // "icon": "//data.mars3d.cn/img/thumbnail/basemap/bd-c-dark.png", - // "type": "gaode", - // "layer": "vec", - // "chinaCRS": "GCJ02", - // "invertColor": true, - // "filterColor": "#909090", - // "brightness": 0.6, - // "contrast": 1.8, - // "gamma": 0.3, - // "hue": 1, - // "saturation": 0 - // }, - // { - // "pid": 10, - // "name": "离线影像地图 (供参考)", - // "icon": "//data.mars3d.cn/img/thumbnail/basemap/google_img.png", - // "type": "xyz", - // "url": "{dataServer}/tile/img/{z}/{x}/{y}.jpg", - // "chinaCRS": "GCJ02", - // "maximumLevel": 13 - // }, - // { - // "pid": 10, - // "name": "单张图片 (本地离线)", - // "icon": "//data.mars3d.cn/img/thumbnail/basemap/offline.png", - // "type": "image", - // "url": "//data.mars3d.cn/img/map/world/world.jpg" - // }, - // { - // "id": 2023, - // "pid": 10, - // "name": "无底图", - // "icon": "//data.mars3d.cn/img/thumbnail/basemap/null.png", - // "type": "grid", - // "color": "#ffffff", - // "alpha": 0.03, - // "cells": 2 - // } - // ], - // "layers":[] - // }; - - - - console.log("targetData",targetData) - return { targetData, chartEditStore } -} + const list = chartEditStore.getComponentList; + const targetIndex = chartEditStore.fetchTargetIndex(); + const selectId = chartEditStore.getTargetChart.selectId; + let data; + if (selectId[0] === list[targetIndex].id) { + data = list[targetIndex]; + } else { + list[targetIndex].groupList.forEach((element) => { + if (element.id === selectId[0]) { + data = element; + } + }); + } + return data; + }); + return { targetData, chartEditStore }; +}; diff --git a/src/views/chart/ContentConfigurations/index.vue b/src/views/chart/ContentConfigurations/index.vue index 6bb6805..0c59680 100644 --- a/src/views/chart/ContentConfigurations/index.vue +++ b/src/views/chart/ContentConfigurations/index.vue @@ -108,11 +108,23 @@ // 排除多个 if (selectId.length !== 1) return undefined; const target = chartEditStore.componentList[chartEditStore.fetchTargetIndex()]; + let selectTarget; if (target?.isGroup) { // eslint-disable-next-line vue/no-side-effects-in-computed-properties tabsSelect.value = TabsEnum.CHART_SETTING; + if (selectId[0] != target.id) { + target.groupList.forEach((element) => { + if (element.id == selectId[0]) { + selectTarget = element; + } + }); + } else { + selectTarget = target; + } + } else { + selectTarget = target; } - return target; + return selectTarget; }); watch(getDetails, (newData) => { diff --git a/src/views/chart/ContentLayers/components/LayersGroupListItem/index.vue b/src/views/chart/ContentLayers/components/LayersGroupListItem/index.vue index ac9892e..133ac58 100644 --- a/src/views/chart/ContentLayers/components/LayersGroupListItem/index.vue +++ b/src/views/chart/ContentLayers/components/LayersGroupListItem/index.vue @@ -44,234 +44,233 @@