|
|
@ -52,10 +52,10 @@ |
|
|
|
|
|
|
|
<div class="container panel"> |
|
|
|
<div class="toolbar day-toolbar" v-if="currentElement === 'singleWatervapor' || currentElement === 'aod-icot-wcot' |
|
|
|
|| currentElement === 'extinctionOptics' || currentElement === 'backscatter' |
|
|
|
|| currentElement === 'pm2_5' || currentElement === 'pblh' |
|
|
|
|| currentElement === 'cloudSol' || currentElement === 'cloudbaseheight' |
|
|
|
|| currentElement === 'cloudtopheight'"> |
|
|
|
|| currentElement === 'extinctionOptics' || currentElement === 'backscatter' |
|
|
|
|| currentElement === 'pm2_5' || currentElement === 'pblh' |
|
|
|
|| currentElement === 'cloudSol' || currentElement === 'cloudbaseheight' |
|
|
|
|| currentElement === 'cloudtopheight'"> |
|
|
|
<div class="times"> |
|
|
|
<div class="time-item" v-for="(time, index) in times" :key="index" |
|
|
|
:class="{'active': currentTime === time.date, 'first-hour': time.hour === '00'}"> |
|
|
@ -72,7 +72,6 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="toolbar day-toolbar" v-if="currentElement === 'extinction' || currentElement=== 'lidarratio' || currentElement === 'watervapor'"> |
|
|
|
<div class="times"> |
|
|
|
<div class="time-item" v-for="(time, index) in times" :key="index" |
|
|
@ -91,8 +90,6 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="picture-view"> |
|
|
|
<div class="picture-container raman-picture-container" v-show="currentElement === 'singleWatervapor'"> |
|
|
|
<div class="picture special-picture"> |
|
|
@ -270,7 +267,6 @@ |
|
|
|
<script lang="ts"> |
|
|
|
import {onMounted, reactive, toRefs, watch} from 'vue'; |
|
|
|
import moment from "moment"; |
|
|
|
import {RamanLidarConfig} from '../uilts/Config'; |
|
|
|
import {post} from '../uilts/axios'; |
|
|
|
import {ElMessage} from "element-plus"; |
|
|
|
import {ConstantRamanLidar} from "../model/constant"; |
|
|
@ -292,6 +288,7 @@ export default { |
|
|
|
LidarRatio: HighChartCreate, |
|
|
|
opticalThickness: HighChartCreate, |
|
|
|
cloudRecognitionDrawer: HeatMapDrawer, |
|
|
|
extinctionBeforeDrawer: HeatMapDrawer, |
|
|
|
extinctionDrawer: HeatMapDrawer, |
|
|
|
watervaporDrawer: HeatMapDrawer, |
|
|
|
opticsExtinctionDrawer: HeatMapDrawer, |
|
|
@ -308,6 +305,7 @@ export default { |
|
|
|
opticalThickness: null, |
|
|
|
cloudRecognitionDrawer: null, |
|
|
|
extinctionDrawer: null, |
|
|
|
extinctionBeforeDrawer: null, |
|
|
|
watervaporDrawer: null, |
|
|
|
singleWatervaporDrawer: null, |
|
|
|
opticsExtinctionDrawer: null, |
|
|
@ -590,7 +588,7 @@ export default { |
|
|
|
// break; |
|
|
|
case 'extinction' : |
|
|
|
// initTimeLineDay() |
|
|
|
reloadCloudRecognition('extinction', 801, 'extinction', drawExtinctionBefore); |
|
|
|
reloadExtinctionBefore(); |
|
|
|
reloadCloudRecognition('extinction', 801, 'extinction', drawExtinctionAfter); |
|
|
|
break; |
|
|
|
case 'watervapor' : |
|
|
@ -603,6 +601,48 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
const reloadExtinctionBefore = () => { |
|
|
|
let params = { |
|
|
|
date: moment(options.date).format('YYYY-MM-DD'), |
|
|
|
var: 'MEXT', |
|
|
|
locate: options.currentRegion |
|
|
|
} |
|
|
|
post("/qualityCompare/findByTimeAndElement", params).then((response: any) => { |
|
|
|
if (response.error != 0){ |
|
|
|
console.log("未找到质控前数据文件"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
let matrix = convertValueToBox(response.data); |
|
|
|
creates.extinctionBeforeDrawer = new HeatMapDrawer(800, 650, matrix, "extinction_chart-before", 'km/sr','质控后'); |
|
|
|
creates.extinctionBeforeDrawer.setAxis(new CoordinateScale(options.timeArray), new CoordinateScale([0, 2000, 4000, 6000, 8000, 10000, 12000], true, true)); |
|
|
|
creates.extinctionBeforeDrawer.setColorChart(prepareExtinctionnColors()); |
|
|
|
creates.extinctionBeforeDrawer.draw(); |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
const convertValueToBox = (data) => { |
|
|
|
let timeMoment = moment(options.date).add(-1, 'd'); |
|
|
|
let timeFormat = timeMoment.format("MM月DD日HH时"); |
|
|
|
|
|
|
|
let boxes = new Array<Array<Box>>(); |
|
|
|
let index = 1; |
|
|
|
data.forEach(r => { |
|
|
|
if (index % 11 == 0){ |
|
|
|
timeMoment.add(1, 'h'); |
|
|
|
timeFormat = timeMoment.format("MM月DD日HH时"); |
|
|
|
} |
|
|
|
|
|
|
|
let rows = new Array<Box>(r.length); |
|
|
|
for (let h = 0, len = r.length; h < len; h++) { |
|
|
|
rows[h] = new Box(index - 1, h, 0, 0, r[h], h * 15, timeFormat, "米"); |
|
|
|
} |
|
|
|
index++; |
|
|
|
boxes.push(rows); |
|
|
|
}) |
|
|
|
|
|
|
|
return boxes; |
|
|
|
} |
|
|
|
|
|
|
|
const preprocessing = (type: string) => { |
|
|
|
switch (type) { |
|
|
@ -909,9 +949,6 @@ export default { |
|
|
|
creates.watervaporDrawer.draw(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const prepareWatervaporColors = () => { |
|
|
|
return new ColorChart(['#990000', '#CC0000', '#FF0000', '#FF3300', '#FF6600', '#FF9900', '#FFCC00', '#FFFF00', '#CCFF33', '#99FF66', |
|
|
|
'#66FF99', '#33FFCC', '#00FFFF', '#00CCFF', '#0099FF', '#0066FF', '#0033FF', '#0000FF', '#0000CC', '#000099'], |
|
|
@ -919,21 +956,6 @@ export default { |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
const drawExtinctionBefore = (result: CustomeArray<any>) => { |
|
|
|
if (result.length != 24) return; |
|
|
|
|
|
|
|
options.loadingExtinctionStatus = false; |
|
|
|
if (creates.extinctionDrawer != null) { |
|
|
|
creates.extinctionDrawer.close(); |
|
|
|
} |
|
|
|
|
|
|
|
let matrix = converCloudRecognition(801, result, 'extinction'); |
|
|
|
creates.extinctionDrawer = new HeatMapDrawer(800, 650, matrix, "extinction_chart-before", 'km/sr','质控前'); |
|
|
|
creates.extinctionDrawer.setAxis(new CoordinateScale(options.timeArray), new CoordinateScale([0, 2000, 4000, 6000, 8000, 10000, 12000], true, true)); |
|
|
|
creates.extinctionDrawer.setColorChart(prepareExtinctionnColors()); |
|
|
|
creates.extinctionDrawer.draw(); |
|
|
|
} |
|
|
|
|
|
|
|
const drawExtinctionAfter = (result: CustomeArray<any>) => { |
|
|
|
if (result.length != 24) return; |
|
|
|
|
|
|
|