Riku
2025-01-01 7b1293cec33b47680f08756bd1f8518d3cb1a729
src/views/satellitetelemetry/SatelliteTelemetry.vue
@@ -20,6 +20,7 @@
          @row-click="handleRowClick"
          @show-rank="handleRankClick"
          @show-data="handleDataClick"
          @change-color="handleColorClick"
        ></SatelliteManage>
      </el-row>
    </el-col>
@@ -32,13 +33,13 @@
        ></CardButton>
      </el-row>
    </el-col>
    <!-- <el-row class="historical" justify="center">
      <SatelliteAnimation
        :loading="animaLoading"
        :grid-data="gridDataDetailList"
        :mapViews="mapViews"
      ></SatelliteAnimation>
    </el-row> -->
  </el-row>
  <el-row class="historical" justify="center">
    <SatelliteAnimation
      :loading="animaLoading"
      :grid-data="gridDataDetailList"
      :mapViews="mapViews"
    ></SatelliteAnimation>
  </el-row>
</template>
<script setup>
@@ -53,7 +54,6 @@
import SatelliteProxy from './SatelliteProxy';
import { useFetchData } from '@/composables/fetchData';
import { useSatelliteGridStore } from '@/stores/satellite-grid';
const satelliteGridStore = useSatelliteGridStore();
const { loading, fetchData } = useFetchData(10000);
@@ -113,24 +113,37 @@
  // SatelliteProxy.clearText(mapViews);
  // 文本标记
  const { textViews: dataTxt, labelsLayer: dataLayer } =
    SatelliteProxy.drawDataText(mapViews.points, gridData, mapViews.dataTxt, mapViews.dataLayer);
    SatelliteProxy.drawDataText(
      mapViews.points,
      gridData,
      mapViews.dataTxt,
      mapViews.dataLayer
    );
  mapViews.dataTxt = dataTxt;
  mapViews.dataLayer = dataLayer;
  const { textViews: rankTxt, labelsLayer: rankLayer } =
    SatelliteProxy.drawRankText(mapViews.points, gridData, mapViews.rankTxt, mapViews.rankLayer);
    SatelliteProxy.drawRankText(
      mapViews.points,
      gridData,
      mapViews.rankTxt,
      mapViews.rankLayer
    );
  mapViews.rankTxt = rankTxt;
  mapViews.rankLayer = rankLayer;
  SatelliteProxy.drawColor(mapViews.gridViews, gridData);
}
let selectedGridData
function handleRowClick(row) {
  if (gridDataDetailMap.has(row.id)) {
    const gridData = gridDataDetailMap.get(row.id);
    selectedGridData = gridData
    drawTextAndColor(gridData);
  } else {
    gridApi.fetchGridDataDetail(row.id, row.groupId).then((res) => {
      gridDataDetailMap.set(row.id, res.data);
      const gridData = res.data;
      selectedGridData = gridData
      drawTextAndColor(gridData);
    });
  }
@@ -143,6 +156,10 @@
function handleDataClick(dataVisible) {
  dataVisible ? map.add(mapViews.dataLayer) : map.remove(mapViews.dataLayer);
}
function handleColorClick(isStandardColor) {
  SatelliteProxy.drawColor(mapViews.gridViews, selectedGridData, !isStandardColor);
}
</script>
<style scoped>
.satellite-manage {