|
|
@ -1,6 +1,7 @@ |
|
|
|
<template> |
|
|
|
<div class="tabs"> |
|
|
|
<div :class="{'active': currentTab === 'MWR'}" class="tab-item" @click="onTabClick('MWR')"> |
|
|
|
<div :class="{'active': currentTab === 'MWR'}" class="tab-item" |
|
|
|
@click="onTabClick('MWR')"> |
|
|
|
质控对比 |
|
|
|
<img v-if="currentTab === 'MWR'" src="/images/line.png"/> |
|
|
|
</div> |
|
|
@ -14,7 +15,8 @@ |
|
|
|
光学特性 |
|
|
|
<img v-if="currentTab === 'optical-property'" src="/images/line.png"/> |
|
|
|
</div> |
|
|
|
<div :class="{'active': currentTab === 'aerosol-product'}" class="tab-item" @click="onTabClick('aerosol-product')"> |
|
|
|
<div :class="{'active': currentTab === 'aerosol-product'}" class="tab-item" |
|
|
|
@click="onTabClick('aerosol-product')"> |
|
|
|
气溶胶产品 |
|
|
|
<img v-if="currentTab === 'aerosol-product'" src="/images/line.png"/> |
|
|
|
</div> |
|
|
@ -153,7 +155,8 @@ |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="picture"> |
|
|
|
<h2 class="title">云顶高度</h2> |
|
|
|
<h2 class="title"> |
|
|
|
云顶高度</h2> |
|
|
|
<div id="cloudTopHeight" style="width: 650px;height: 450px" v-loading="loadingCloudTopHeightStatus" |
|
|
|
custom-class="loading" element-loading-text="加载中"></div> |
|
|
|
</div> |
|
|
@ -248,8 +251,8 @@ export default { |
|
|
|
currentRegion: 'jn', |
|
|
|
currentElement: 'PBLH', |
|
|
|
currentType: '边界层高度', |
|
|
|
// date: moment('2022-04-01 12:00:00').format('YYYY-MM-DD HH:mm:ss'), |
|
|
|
date: moment().format('YYYY-MM-DD HH:mm:ss'), |
|
|
|
date: moment('2022-04-01 12:00:00').format('YYYY-MM-DD HH:mm:ss'), |
|
|
|
// date: moment().format('YYYY-MM-DD HH:mm:ss'), |
|
|
|
times: [], |
|
|
|
currentTime: null, |
|
|
|
downloadImgUrl: '/images/default-picture.png', |
|
|
@ -332,8 +335,8 @@ export default { |
|
|
|
const LidarRatioInit = () => { |
|
|
|
creates.LidarRatio = new HighChartCreate('LidarRatio'); |
|
|
|
creates.LidarRatio.setChart(); |
|
|
|
creates.LidarRatio.setSpecialXAxis('', 120, 0, 20); |
|
|
|
creates.LidarRatio.setYAxis('高度(米)', 12000, 0, 2000, 7); |
|
|
|
creates.LidarRatio.setSpecialXAxis('sr', 120, 0, 20); |
|
|
|
creates.LidarRatio.setYAxis('高度(米)', 3000, 0, 500, 7); |
|
|
|
creates.LidarRatio.setLegend(); |
|
|
|
creates.LidarRatio.setTooltip('高度: {point.y}'); |
|
|
|
for (let i = 0; i < 24; i++) { |
|
|
@ -506,7 +509,7 @@ export default { |
|
|
|
creates.pm2Point5Drawer.close(); |
|
|
|
} |
|
|
|
let matrix = converCloudRecognition(201, result, 'pm2_5'); |
|
|
|
creates.pm2Point5Drawer = new HeatMapDrawer(800, 600, matrix, "pm2_5_chart",'', 'PM2_5'); |
|
|
|
creates.pm2Point5Drawer = new HeatMapDrawer(800, 600, matrix, "pm2_5_chart",'μg/m³', 'PM2_5'); |
|
|
|
creates.pm2Point5Drawer.setAxis(new CoordinateScale(options.timeArray), new CoordinateScale([0, 1000, 2000, 3000], true, true)); |
|
|
|
creates.pm2Point5Drawer.setColorChart(preparePmColors()); |
|
|
|
creates.pm2Point5Drawer.draw(); |
|
|
@ -521,7 +524,7 @@ export default { |
|
|
|
} |
|
|
|
|
|
|
|
let matrix = converCloudRecognition(201, result, 'pm10'); |
|
|
|
creates.pm10Drawer = new HeatMapDrawer(800, 600, matrix, "pm10_chart", '', 'PM10'); |
|
|
|
creates.pm10Drawer = new HeatMapDrawer(800, 600, matrix, "pm10_chart", 'μg/m³', 'PM10'); |
|
|
|
creates.pm10Drawer.setAxis(new CoordinateScale(options.timeArray), new CoordinateScale([0, 1000, 2000, 3000], true, true)); |
|
|
|
creates.pm10Drawer.setColorChart(preparePmColors()); |
|
|
|
creates.pm10Drawer.draw(); |
|
|
@ -537,7 +540,6 @@ export default { |
|
|
|
const drawLidarRatioCharts = (result: CustomeArray<any>) => { |
|
|
|
if (result.length != 24) return; |
|
|
|
const data = LidarRatioPrepareChartData(result); |
|
|
|
|
|
|
|
for (let i = 0; i < 24; i++) { |
|
|
|
creates.LidarRatio.updateSeries(i, data[i]); |
|
|
|
} |
|
|
@ -610,20 +612,22 @@ export default { |
|
|
|
result.forEach(item => { |
|
|
|
if (item.data == null) { |
|
|
|
let temp = []; |
|
|
|
for (let i = 0; i < 801; i++) { |
|
|
|
for (let i = 0; i < 201; i++) { |
|
|
|
temp.push([NaN]) |
|
|
|
} |
|
|
|
item.data = temp |
|
|
|
} |
|
|
|
item.data.forEach((item, index) => { |
|
|
|
let newData = item.data.slice(0,201) |
|
|
|
newData.forEach((item, index) => { |
|
|
|
prepareData.push([item[0], index * 15]) |
|
|
|
}) |
|
|
|
}) |
|
|
|
let results = []; |
|
|
|
for (let i = 0; i < prepareData.length; i+= 801) { |
|
|
|
results.push(prepareData.slice(i, i + 801)) |
|
|
|
for (let i = 0; i < prepareData.length; i+= 201) { |
|
|
|
results.push(prepareData.slice(i, i + 201)) |
|
|
|
} |
|
|
|
return results; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
const preparePmColors = () => { |
|
|
@ -656,7 +660,7 @@ export default { |
|
|
|
} |
|
|
|
|
|
|
|
let matrix = converCloudRecognition(801, result, 'extinctionOptics'); |
|
|
|
creates.opticsExtinctionDrawer = new HeatMapDrawer(800, 600, matrix, "extinction_optics_chart",'/km'); |
|
|
|
creates.opticsExtinctionDrawer = new HeatMapDrawer(800, 600, matrix, "extinction_optics_chart",'/km/sr'); |
|
|
|
creates.opticsExtinctionDrawer.setAxis(new CoordinateScale(options.timeArray), new CoordinateScale([0, 2000, 4000, 6000, 8000, 10000, 12000], true, true)); |
|
|
|
creates.opticsExtinctionDrawer.setColorChart(prepareExtinctionnColors()); |
|
|
|
creates.opticsExtinctionDrawer.draw(); |
|
|
@ -671,7 +675,7 @@ export default { |
|
|
|
} |
|
|
|
|
|
|
|
let matrix = converCloudRecognition(101, result, 'singleWatervapor'); |
|
|
|
creates.singleWatervaporDrawer = new HeatMapDrawer(800, 600, matrix, "watervapor_single_chart"); |
|
|
|
creates.singleWatervaporDrawer = new HeatMapDrawer(800, 600, matrix, "watervapor_single_chart",' g/g'); |
|
|
|
creates.singleWatervaporDrawer.setAxis(new CoordinateScale(options.timeArray), new CoordinateScale([0, 500, 1000, 1500], true, true)); |
|
|
|
creates.singleWatervaporDrawer.setColorChart(prepareWatervaporColors()); |
|
|
|
creates.singleWatervaporDrawer.draw(); |
|
|
@ -686,7 +690,7 @@ export default { |
|
|
|
} |
|
|
|
|
|
|
|
let matrix = converCloudRecognition(101, result, 'watervapor'); |
|
|
|
creates.watervaporDrawer = new HeatMapDrawer(800, 600, matrix, "watervapor_chart"); |
|
|
|
creates.watervaporDrawer = new HeatMapDrawer(800, 600, matrix, "watervapor_chart",'g/g'); |
|
|
|
creates.watervaporDrawer.setAxis(new CoordinateScale(options.timeArray), new CoordinateScale([0, 500, 1000, 1500], true, true)); |
|
|
|
creates.watervaporDrawer.setColorChart(prepareWatervaporColors()); |
|
|
|
creates.watervaporDrawer.draw(); |
|
|
@ -708,7 +712,7 @@ export default { |
|
|
|
} |
|
|
|
|
|
|
|
let matrix = converCloudRecognition(801, result, 'extinction'); |
|
|
|
creates.extinctionDrawer = new HeatMapDrawer(800, 600, matrix, "extinction_chart", '/km'); |
|
|
|
creates.extinctionDrawer = new HeatMapDrawer(800, 600, matrix, "extinction_chart", '/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(); |
|
|
@ -856,7 +860,6 @@ export default { |
|
|
|
if (name === 'boundary-layer-height') { |
|
|
|
|
|
|
|
} else if (name === 'optical-property') { |
|
|
|
|
|
|
|
opticalThicknessInit() |
|
|
|
} else if (name === 'aerosol-product') { |
|
|
|
LidarRatioInit() |
|
|
@ -870,10 +873,10 @@ export default { |
|
|
|
//区域切换 |
|
|
|
const onRegionClick = (region) => { |
|
|
|
options.currentRegion = region; |
|
|
|
reloadChangeData() |
|
|
|
// cancelActive(); |
|
|
|
// setTitle(moment(options.date)); |
|
|
|
// activeImage(); |
|
|
|
setTimeout(() => { |
|
|
|
initEcharts(options.currentRegion) |
|
|
|
reloadChangeData() |
|
|
|
}, 500) |
|
|
|
} |
|
|
|
|
|
|
|
//要素选择 |
|
|
@ -1246,11 +1249,11 @@ export default { |
|
|
|
} |
|
|
|
|
|
|
|
#pm2_5_chart { |
|
|
|
transform: scale(0.7, 0.45) translate(-236px, 417px); |
|
|
|
transform: scale(0.7, 0.43) translate(-236px, 417px); |
|
|
|
} |
|
|
|
|
|
|
|
#pm10_chart { |
|
|
|
transform: scale(0.7, 0.45) translate(-236px, -338px); |
|
|
|
transform: scale(0.7, 0.43) translate(-236px, -393px); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|