From 8372d022614a1897120802cf1bac90d61651177f Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期五, 14 三月 2025 18:20:56 +0800 Subject: [PATCH] 2025.3.14 --- src/utils/map/util.js | 2 src/model/Legend.js | 2 src/views/satellitetelemetry/SatelliteTelemetry.vue | 38 +++++++----- src/views/satellitetelemetry/SatelliteProxy.js | 76 +------------------------ src/components/grid/GridTool.vue | 3 src/stores/grid-info.js | 11 +++ src/views/satellitetelemetry/component/SatelliteMixTool.vue | 36 ------------ 7 files changed, 40 insertions(+), 128 deletions(-) diff --git a/src/components/grid/GridTool.vue b/src/components/grid/GridTool.vue index a0f98fd..fb9254a 100644 --- a/src/components/grid/GridTool.vue +++ b/src/components/grid/GridTool.vue @@ -14,7 +14,8 @@ <template #content> <div class="content-wrap"> <div v-for="(g, i) in gridStore.gridClzList" :key="i"> - <div> + <div v-for="(value, key) in g.mapViewsMap" :key="key"> + {{ value[1].extData.name }} <el-text>g.name</el-text> </div> <el-row> diff --git a/src/model/Legend.js b/src/model/Legend.js index 9d852d1..05ee593 100644 --- a/src/model/Legend.js +++ b/src/model/Legend.js @@ -292,7 +292,7 @@ getCustomColor: function (data, min, max) { var per = (max - min) / this._custom.length; - var i = parseInt(data / per); + var i = parseInt((data - min) / per); if (i >= this._custom.length) { i = this._custom.length - 1; } diff --git a/src/stores/grid-info.js b/src/stores/grid-info.js index 3b673d6..f843b97 100644 --- a/src/stores/grid-info.js +++ b/src/stores/grid-info.js @@ -9,5 +9,14 @@ const selectedGridCellAndDataDetail = ref(undefined); - return { gridClzList, selectedSatelliteProxy, selectedGridCellAndDataDetail }; + function pushGridClz(clz) { + gridClzList.value.push(clz); + } + + return { + gridClzList, + selectedSatelliteProxy, + selectedGridCellAndDataDetail, + pushGridClz + }; }); diff --git a/src/utils/map/util.js b/src/utils/map/util.js index e783baf..1b7b3a6 100644 --- a/src/utils/map/util.js +++ b/src/utils/map/util.js @@ -1,5 +1,6 @@ import { map, isDragging } from '@/utils/map/index_old'; import marks from '@/utils/map/marks'; +import Layer from '@/utils/map/3dLayer'; /** * 鍧愭爣闆嗗悎鐨勬渶瑗垮崡瑙掑拰鏈�涓滃寳瑙� @@ -84,6 +85,7 @@ clearMap() { marks.clearMassMarks(); map.clearMap(); + Layer.clear(); }, setFitView(views) { if (views) { diff --git a/src/views/satellitetelemetry/SatelliteProxy.js b/src/views/satellitetelemetry/SatelliteProxy.js index 7de249c..e0e5010 100644 --- a/src/views/satellitetelemetry/SatelliteProxy.js +++ b/src/views/satellitetelemetry/SatelliteProxy.js @@ -4,14 +4,8 @@ import { useCloned } from '@vueuse/core'; export class SatelliteProxy { - constructor(name) { - this.name = name; - } - // 鍦板浘缃戞牸鐩稿叧瀵硅薄 mapViews; - - mapViewsList = []; mapViewsMap = new Map(); @@ -272,70 +266,6 @@ } } - // - drawGrids({ - gridDataDetailList, - useCustomColor, - opacity, - zIndex, - showDataTxt, - showRankTxt - }) { - if (this.mapViewsList.length < gridDataDetailList.length) { - let index = this.mapViewsList.length; - while (index < gridDataDetailList.length) { - const newMapViews = { - gridViews: gridMapUtil.drawPolylines({ - points: this.mapViews.gridPoints, - event: this.firstEvent - }), - gridPoints: JSON.parse(JSON.stringify(this.mapViews.gridPoints)), - points: JSON.parse(JSON.stringify(this.mapViews.points)) - }; - this.mapViewsList.push(newMapViews); - } - } - - this.mapViewsList.forEach((m, i) => { - this.drawGrid({ - gridDataDetail: gridDataDetailList[i], - useCustomColor, - opacity, - zIndex, - showDataTxt, - showRankTxt, - mapViews: m - }); - }); - } - - drawNewGrid({ - gridDataDetail, - useCustomColor, - opacity, - zIndex, - showDataTxt, - showRankTxt - }) { - const newMapViews = { - gridViews: gridMapUtil.drawPolylines({ - points: this.mapViews.gridPoints, - event: this.firstEvent - }), - gridPoints: JSON.parse(JSON.stringify(this.mapViews.gridPoints)), - points: JSON.parse(JSON.stringify(this.mapViews.points)) - }; - this.mapViewsList.push(newMapViews); - this.drawGrid({ - gridDataDetail, - useCustomColor, - opacity, - zIndex, - showDataTxt, - showRankTxt, - mapViews: newMapViews - }); - } drawTagGrid({ tag, gridDataDetail, @@ -343,7 +273,8 @@ opacity, zIndex, showDataTxt, - showRankTxt + showRankTxt, + extData }) { if (!this.mapViewsMap.has(tag)) { const newMapViews = { @@ -352,7 +283,8 @@ event: this.firstEvent }), gridPoints: JSON.parse(JSON.stringify(this.mapViews.gridPoints)), - points: JSON.parse(JSON.stringify(this.mapViews.points)) + points: JSON.parse(JSON.stringify(this.mapViews.points)), + extData: extData }; this.mapViewsMap.set(tag, newMapViews); } diff --git a/src/views/satellitetelemetry/SatelliteTelemetry.vue b/src/views/satellitetelemetry/SatelliteTelemetry.vue index 9cfd538..f691e4a 100644 --- a/src/views/satellitetelemetry/SatelliteTelemetry.vue +++ b/src/views/satellitetelemetry/SatelliteTelemetry.vue @@ -45,16 +45,10 @@ </el-row> --> </template> <script setup> -import { map, onMapMounted } from '@/utils/map/index_old'; -import calculate from '@/utils/map/calculate'; -import marks from '@/utils/map/marks'; -import grid from '@/utils/map/grid'; - import { ref, onMounted } from 'vue'; import gridApi from '@/api/gridApi'; import SatelliteManage from './component/SatelliteManage.vue'; -import SatelliteDataMix from './component/SatelliteDataMix.vue'; -import SatelliteMixTool from './component/SatelliteMixTool.vue'; +import moment from 'moment'; import GridStyleTool from './component/GridStyleTool.vue'; import { SatelliteProxy } from './SatelliteProxy'; import { useFetchData } from '@/composables/fetchData'; @@ -66,6 +60,8 @@ const gridStore = useGridStore(); gridStore.selectedSatelliteProxy = satelliteProxy; +gridStore.pushGridClz(satelliteProxy); + const sceneStore = useSceneStore(); const satelliteGridStore = useSatelliteGridStore(); @@ -155,15 +151,27 @@ }); } -function drawGrid(gridDataDetail) { - satelliteProxy.drawGrid({ - gridDataDetail: gridDataDetail, - useDataTxtColor: true +function drawGrid(useCustomColor) { + satelliteProxy.changeVisibility({ + showGridViews: false, + showDataTxt: false, + showRankTxt: false + }); + satelliteProxy.drawTagGrid({ + tag: satelliteGridStore.selectedGridData.id, + gridDataDetail: satelliteGridStore.selectedGridDataDetail, + useCustomColor, + useDataTxtColor: true, + extData: { + name: `鍗槦閬ユ祴鏁版嵁 - ${moment(satelliteGridStore.selectedGridData).format('YYYY-MM-DD')}` + } }); } function handleRowClick(row) { - satelliteGridStore.fetchGridDataDetail(row, drawGrid); + satelliteGridStore.fetchGridDataDetail(row, () => { + drawGrid(); + }); } function handleRankClick(rankVisible) { @@ -175,11 +183,7 @@ } function handleColorClick(isStandardColor) { - satelliteProxy.drawGrid({ - gridDataDetail: satelliteGridStore.selectedGridDataDetail, - useCustomColor: !isStandardColor, - useDataTxtColor: true - }); + drawGrid(!isStandardColor); } function handleOpacityClick(value) { diff --git a/src/views/satellitetelemetry/component/SatelliteMixTool.vue b/src/views/satellitetelemetry/component/SatelliteMixTool.vue index fb9ae68..cae84db 100644 --- a/src/views/satellitetelemetry/component/SatelliteMixTool.vue +++ b/src/views/satellitetelemetry/component/SatelliteMixTool.vue @@ -195,11 +195,6 @@ satelliteProxy.gridPrepare(gridInfo); } -// 缁樺埗缃戞牸閬ユ劅鏁版嵁鍊煎拰缃戞牸棰滆壊 -function drawGrid(gridDataDetail) { - satelliteProxy.drawGrid({ gridDataDetail, opacity: 1, zIndex: 11 }); -} - // watch(mission, (nV, oV) => { // if (nV != oV) { // checkUnderwayFusionResult(); @@ -233,37 +228,12 @@ } }); -let selectedGridDataDetail; -// 鍙犲姞铻嶅悎 -// function handleFusionClick() { -// // resetButton(); -// const d = fusionData.value; -// if (gridDataDetailMap.has(d.id)) { -// selectedGridDataDetail = gridDataDetailMap.get(d.id); -// // selectedGridData = gridData; -// drawGrid(selectedGridDataDetail); -// } else { -// gridApi.fetchGridDataDetail(d.id, d.groupId).then((res) => { -// gridDataDetailMap.set(d.id, res.data); -// selectedGridDataDetail = res.data; -// // selectedGridData = gridData; -// drawGrid(selectedGridDataDetail); -// }); -// } -// } function handleFusionClick() { // resetButton(); satelliteProxy.changeVisibility({ showGridViews: false }); selectedfusionData.value.forEach((i) => { const d = fusionDataList.value[i]; if (gridDataDetailMap.has(d.id)) { - // const gdd = gridDataDetailMap.get(d.id); - // satelliteProxy.drawTagGrid({ - // tag: d.id, - // gridDataDetail: gdd, - // opacity: 1, - // zIndex: 11 - // }); satelliteProxy.changeVisibility({ tag: d.id, showGridViews: true }); } else { gridApi.fetchGridDataDetail(d.id, d.groupId).then((res) => { @@ -302,12 +272,6 @@ function handleColorClick() { isStandardColor.value = !isStandardColor.value; - // satelliteProxy.drawGrid({ - // gridDataDetail: selectedGridDataDetail, - // useCustomColor: !isStandardColor.value, - // opacity: 1, - // zIndex: 11 - // }); selectedfusionData.value.forEach((i) => { const d = fusionDataList.value[i]; if (gridDataDetailMap.has(d.id)) { -- Gitblit v1.9.3