riku
2024-08-23 1788c96aea9247cc36ef8b82734997f1a6a92fb4
src/views/historymode/HistoryMode.vue
@@ -52,14 +52,15 @@
import sector from '@/utils/map/sector';
import mapUtil from '@/utils/map/util';
import { DialogUtil } from '@/utils/map/dialog';
import monitorDataApi from '@/api/monitorDataApi';
import { useFetchData } from '@/composables/fetchData';
import moment from 'moment';
import { TYPE0 } from '@/constant/device-type';
import { radioOptions } from '@/constant/radio-options';
import { FactorDatas } from '@/model/FactorDatas';
import TrendAnalysis from './component/TrendAnalysis.vue';
import DataSheet from './component/DataSheet.vue';
import { ElMessageBox, ElNotification, ElMessage } from 'element-plus';
import { ElMessage } from 'element-plus';
import { fetchHistoryData } from '@/utils/factor/data';
export default {
  components: { TrendAnalysis, DataSheet },
@@ -71,8 +72,10 @@
    return {
      // 监测设备类型
      deviceType: TYPE0,
      // 监测设备编号
      deviceCode: '',
      // 监测因子的类型编号
      factorType: '1',
      factorType: radioOptions(TYPE0)[0].value,
      // 监测数据
      factorDatas: new FactorDatas(),
      // 决定绘制3D图形时是否与原图像合并
@@ -146,9 +149,10 @@
      // 1. 绘制新扇形区域
      const pr = sector.drawSector(this.factorDatas, index);
      // 调整视角居中显示
      mapUtil.setFitSector(pr);
      mapUtil.setCenter(pr.p);
      // mapUtil.setFitSector(pr);
      // 2. 绘制对话框
      DialogUtil.openNewWindow(this.factorDatas, index, () => {
      DialogUtil.openNewWindow(this.deviceCode, this.factorDatas, index, () => {
        // 移除扇形区域
        sector.clearSector();
      });
@@ -163,48 +167,45 @@
    },
    fetchHistroyData(option) {
      const { deviceCode, type, timeArray } = option;
      this.deviceCode = deviceCode;
      let startTime, endTime;
      if (timeArray && timeArray.length == 2) {
        startTime = moment(timeArray[0]).format('YYYY-MM-DD HH:mm:ss');
        endTime = moment(timeArray[1]).format('YYYY-MM-DD HH:mm:ss');
      }
      this.fetchData((page, pageSize) => {
        return monitorDataApi
          .fetchHistroyData({
            deviceCode,
            startTime,
            endTime,
            page,
            perPage: pageSize
          })
          .then((res) => this.onFetchData(type, res.data));
      });
    },
    fetchRealTimeData() {
      // fixme 2024.5.3 此处初始获取的数据,参数应该由searchbar决定,后续修改
      this.fetchData((page) => {
        return monitorDataApi
          .fetchHistroyData({
            deviceCode: '0a0000000001',
            // type: TYPE0,
            page,
            perPage: 100
          })
          .then((res) => {
            if (res.data.length > 0) {
              const s = new Date(res.data[0].time.replace(' ', 'T'));
              const e = new Date(
                res.data[res.data.length - 1].time.replace(' ', 'T')
              );
              this.searchTime = [s, e];
            }
            this.onFetchData(TYPE0, res.data);
          });
        return fetchHistoryData({
          deviceCode,
          startTime,
          endTime,
          page,
          perPage: pageSize
        }).then((res) => this.onFetchData(type, res.data));
      });
    }
    // fetchRealTimeData() {
    //   // fixme 2024.5.3 此处初始获取的数据,参数应该由searchbar决定,后续修改
    //   this.fetchData((page) => {
    //     return fetchHistoryData({
    //       deviceCode: '0a0000000001',
    //       // type: TYPE0,
    //       page,
    //       perPage: 100
    //     }).then((res) => {
    //       if (res.data.length > 0) {
    //         const s = new Date(res.data[0].time.replace(' ', 'T'));
    //         const e = new Date(
    //           res.data[res.data.length - 1].time.replace(' ', 'T')
    //         );
    //         this.searchTime = [s, e];
    //       }
    //       this.onFetchData(TYPE0, res.data);
    //     });
    //   });
    // }
  },
  mounted() {
    this.fetchRealTimeData();
    // this.fetchRealTimeData();
  },
  unmounted() {
    mapUtil.clearMap();