| | |
| | | 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 }, |
| | |
| | | return { |
| | | // 监测设备类型 |
| | | deviceType: TYPE0, |
| | | // 监测设备编号 |
| | | deviceCode: '', |
| | | // 监测因子的类型编号 |
| | | factorType: '1', |
| | | factorType: radioOptions(TYPE0)[0].value, |
| | | // 监测数据 |
| | | factorDatas: new FactorDatas(), |
| | | // 决定绘制3D图形时是否与原图像合并 |
| | |
| | | // 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(); |
| | | }); |
| | |
| | | }, |
| | | 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({ |
| | | 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 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); |
| | | }); |
| | | }).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(); |