From 5d44d9dd04a0d5b1390d2a60103e8e3c0ef88166 Mon Sep 17 00:00:00 2001
From: xuhuihui <3548508071@qq.com>
Date: Thu, 31 Mar 2022 19:00:42 +0800
Subject: [PATCH] commit

---
 .../inspectionProfiles/Project_Default.xml    |   3 +-
 .../Frontend/public/images/nodata.png         | Bin 0 -> 20802 bytes
 .../Frontend/src/components/RamanLidar.vue    | 275 +++++++-----------
 .../Frontend/src/model/high-chart-create.ts   |  20 +-
 4 files changed, 127 insertions(+), 171 deletions(-)
 create mode 100644 04.系统编码/Frontend/public/images/nodata.png

diff --git a/04.系统编码/Frontend/.idea/inspectionProfiles/Project_Default.xml b/04.系统编码/Frontend/.idea/inspectionProfiles/Project_Default.xml
index 8a9e271..ecdcb3a 100644
--- a/04.系统编码/Frontend/.idea/inspectionProfiles/Project_Default.xml
+++ b/04.系统编码/Frontend/.idea/inspectionProfiles/Project_Default.xml
@@ -4,9 +4,10 @@
     <inspection_tool class="HtmlUnknownAttribute" enabled="true" level="WARNING" enabled_by_default="true">
       <option name="myValues">
         <value>
-          <list size="2">
+          <list size="3">
             <item index="0" class="java.lang.String" itemvalue="element-loading-background" />
             <item index="1" class="java.lang.String" itemvalue="element-loading-text" />
+            <item index="2" class="java.lang.String" itemvalue="custom-class" />
           </list>
         </value>
       </option>
diff --git a/04.系统编码/Frontend/public/images/nodata.png b/04.系统编码/Frontend/public/images/nodata.png
new file mode 100644
index 0000000000000000000000000000000000000000..d9f304c53906954fc21548b0a5bed0c652ca3738
GIT binary patch
literal 20802
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
PmTO8HSF^9&dG!AQ@{Q*Q

literal 0
HcmV?d00001

diff --git a/04.系统编码/Frontend/src/components/RamanLidar.vue b/04.系统编码/Frontend/src/components/RamanLidar.vue
index ecfe98b..a4d3cab 100644
--- a/04.系统编码/Frontend/src/components/RamanLidar.vue
+++ b/04.系统编码/Frontend/src/components/RamanLidar.vue
@@ -35,9 +35,9 @@
                                   :class="{'active': currentRegion === 'pukou'}">浦口</span></el-col>
         </el-row>
       </div>
-      <div class="menu-item">
-        <h2 class="tip">要素选择</h2>
-      </div>
+<!--      <div class="menu-item">-->
+<!--        <h2 class="tip">要素选择</h2>-->
+<!--      </div>-->
     </div>
 
     <div class="container panel">
@@ -71,10 +71,17 @@
         <div class="picture-container raman-picture-container" v-show="currentTab === 'optical-property'">
           <div class="picture">
             <h2 class="title">激光雷达比</h2>
-            <div id="LidarRatio" style="width: 650px;height: 450px"></div>
+<!--            <div v-loading="loadingLidarRatioStatus"-->
+<!--                 style="width: 100%;"-->
+<!--                 custom-class="loading"-->
+<!--                 element-loading-text="加载中">-->
+              <div id="LidarRatio" style="width: 650px;height: 450px"></div>
+<!--            </div>-->
+
           </div>
           <div class="picture">
             <h2 class="title">光学厚度</h2>
+            <div style="width: 45%; padding-left: 16px"><img src="/images/nodata.png" ></div>
           </div>
           <div class="picture">
             <h2 class="title">消光系数</h2>
@@ -89,7 +96,12 @@
         <div class="picture-container raman-picture-container" v-show="currentTab === 'aerosol-product'">
           <div class="picture">
             <h2 class="title">边界层高度</h2>
+<!--            <div v-loading="loadingBoundaryLayerHeightStatus"-->
+<!--                 style="width: 100%;"-->
+<!--                 custom-class="loading"-->
+<!--                 element-loading-text="加载中">-->
             <div id="BoundaryLayerHeight" style="width: 650px;height: 450px"></div>
+<!--            </div>-->
           </div>
           <div class="picture">
             <h2 class="title">气溶胶PM</h2>
@@ -122,11 +134,19 @@
           </div>
           <div class="picture">
             <h2 class="title">云层高度</h2>
+<!--            <div v-loading="loadingCloudsHeightStatus"-->
+<!--                 style="width: 100%;"-->
+<!--                 element-loading-text="加载中">-->
             <div id="cloudsHeight" style="width: 650px;height: 450px"></div>
+<!--            </div>-->
           </div>
           <div class="picture">
             <h2 class="title">云顶高度</h2>
+<!--            <div v-loading="loadingCloudTopHeightStatus"-->
+<!--                 style="width: 100%;"-->
+<!--                 element-loading-text="加载中">-->
             <div id="cloudTopHeight" style="width: 650px;height: 450px"></div>
+<!--            </div>-->
           </div>
         </div>
 
@@ -239,7 +259,11 @@ export default {
       loadingCloudRecognitionStatus: false,
       loadingExtinctionStatus: false,
       loadingWaterVaporStatus: false,
-      loadingBackscatterStatus: false
+      loadingBackscatterStatus: false,
+      loadingLidarRatioStatus: true,
+      loadingBoundaryLayerHeightStatus: false,
+      loadingCloudsHeightStatus: false,
+      loadingCloudTopHeightStatus: false
     })
 
     onMounted(() => {
@@ -254,7 +278,7 @@ export default {
     const boundaryLayerHeightInit = () => {
       creates.boundaryLayerHeight = new HighChartCreate('BoundaryLayerHeight');
       creates.boundaryLayerHeight.setChart();
-      creates.boundaryLayerHeight.setXAxis('时间(小时)', false);
+      creates.boundaryLayerHeight.setSpecialXAxis('时间(小时)', 24,0,2);
       creates.boundaryLayerHeight.setYAxis('边界层高度(米)', 3000, 0, 500, 7);
       creates.boundaryLayerHeight.setLegend();
       creates.boundaryLayerHeight.setTooltip('{point.category}: {point.y}(m)');
@@ -266,7 +290,7 @@ export default {
     const cloudsHeightInit = () => {
       creates.cloudsHeight = new HighChartCreate('cloudsHeight');
       creates.cloudsHeight.setChart(false,'scatter');
-      creates.cloudsHeight.setXAxis('时间(分钟)', false);
+      creates.cloudsHeight.setSpecialXAxis('时间(小时)', 24,0,2);
       creates.cloudsHeight.setYAxis('高度(米)', 14000, 0, 2000, 8);
       creates.cloudsHeight.setLegend();
       creates.cloudsHeight.setTooltip('{point.category}: {point.y}(m)');
@@ -277,7 +301,7 @@ export default {
     const cloudTopHeightInit = () => {
       creates.cloudTopHeight = new HighChartCreate('cloudTopHeight');
       creates.cloudTopHeight.setChart(false,'scatter');
-      creates.cloudTopHeight.setXAxis('时间(分钟)', false);
+      creates.cloudTopHeight.setSpecialXAxis('时间(小时)', 24,0,2);
       creates.cloudTopHeight.setYAxis('高度(米)', 14000, 0, 2000, 8);
       creates.cloudTopHeight.setLegend();
       creates.cloudTopHeight.setTooltip('{point.category}: {point.y}(m)');
@@ -289,8 +313,8 @@ export default {
     const LidarRatioInit = () => {
       creates.LidarRatio = new HighChartCreate('LidarRatio');
       creates.LidarRatio.setChart();
-      creates.LidarRatio.setXAxis('时间(分钟)', false);
-      creates.LidarRatio.setYAxis('边界层高度(米)', 3000, 0, 500, 7);
+      creates.LidarRatio.setSpecialXAxis('时间(小时)', 24,0,2);
+      creates.LidarRatio.setYAxis('高度(米)', 500, 0, 50, 7);
       creates.LidarRatio.setLegend();
       creates.LidarRatio.setTooltip('{point.category}: {point.y}(m)');
       creates.LidarRatio.setSeries('激光雷达比')
@@ -308,29 +332,24 @@ export default {
     const reloadChangeData = () => {
       cancelRequest();
       if (options.currentTab === 'boundary-layer-height') {
-        // reloadCloudRecognition(101, 'watervapor', drawSingleWatervapor);
+        reloadCloudRecognition('singleWatervapor', 101, 'watervapor', drawSingleWatervapor);
       } else if (options.currentTab === 'optical-property') {
-        // extinctionApi()
-        // LidarRatioApi()
+        reloadChartsRecognition('lidarratio', drawLidarRatioCharts)
         reloadCloudRecognition('extinctionOptics', 801, 'extinction', drawOpticsExtinction);
       } else if (options.currentTab === 'aerosol-product') {
-        // boundaryLayerHeightDate()
-        reloadChartsRecognition('pblh', drawCharts)
+        reloadChartsRecognition('pblh', drawBoundaryLayerCharts)
         reloadCloudRecognition('pm2_5', 201, 'pm2_5', drawPm2Point5);
         reloadCloudRecognition('pm2_5', 201, 'pm10', drawPm10);
         reloadCloudRecognition('backscatter', 201, 'backscatter', drawBackscatter)
-        // boundaryCharacteristicApi()
-        //aerosolApi()
+
       } else if (options.currentTab === 'BingoCloud') {
-        //layerTypeApi()
-        // cloudsHeightApi()
-        // cloudTopHeightApi()
+        reloadChartsRecognition('cloudbaseheight', drawCloudsHeightCharts)
+        reloadChartsRecognition('cloudtopheight', drawCloudTopHeightCharts)
         reloadCloudRecognition('cloudSol', 801, 'layertype', drawCloudSol);
       } else if (options.currentTab === 'MWR') {
-        //waterVapourApi()
-        // reloadCloudRecognition(801, 'layertype', drawCloudRecognition);
-        // reloadCloudRecognition(801, 'extinction', drawExtinction);
-        // reloadCloudRecognition(101, 'watervapor', drawWatervapor);
+        reloadCloudRecognition('layertype',801, 'layertype', drawCloudRecognition);
+        reloadCloudRecognition('extinction', 801, 'extinction', drawExtinction);
+        reloadCloudRecognition('watervapor', 101, 'watervapor', drawWatervapor);
       }
     }
 
@@ -377,6 +396,26 @@ export default {
       }
     }
 
+    const preprocessingCharts = (type: string) => {
+      switch (type) {
+        case 'lidarratio':
+          options.loadingLidarRatioStatus = true;
+
+          break;
+        case 'pblh':
+          options.loadingBoundaryLayerHeightStatus = true;
+          break;
+        case 'cloudbaseheight':
+          options.loadingCloudsHeightStatus = true;
+          break;
+        case 'cloudtopheight':
+          options.loadingCloudTopHeightStatus = true;
+          break;
+        default:
+          throw new Error("无效的type类型");
+      }
+    }
+
     const clearHeatMapDrawer = (drawer: HeatMapDrawer) => {
       if (drawer == null) return;
       drawer.close();
@@ -440,24 +479,57 @@ export default {
       creates.pm10Drawer.draw();
     }
 
-    const drawCharts = (result: CustomeArray<any>) => {
+    const drawBoundaryLayerCharts = (result: CustomeArray<any>) => {
+      if (result.length != 24) return;
+      const data = prepareChartData(result);
+      creates.boundaryLayerHeight.updateSeries(0, data)
+      options.loadingBoundaryLayerHeightStatus = false
+    }
+
+    const drawLidarRatioCharts = (result: CustomeArray<any>) => {
+      if (result.length != 24) return;
+      const data = prepareChartData(result);
+      creates.LidarRatio.updateSeries(0, data)
+      options.loadingLidarRatioStatus = false
+    }
+
+    const drawCloudTopHeightCharts = (result: CustomeArray<any>) => {
+      if (result.length != 24) return;
+      const data = prepareChartData(result);
+      creates.cloudTopHeight.updateSeries(0, data)
+      options.loadingCloudTopHeightStatus = false
+    }
+
+    const drawCloudsHeightCharts = (result: CustomeArray<any>) => {
       if (result.length != 24) return;
-      prepareChartData(result)
+      const data = prepareChartData(result);
+      creates.cloudsHeight.updateSeries(0, data)
+      options.loadingCloudsHeightStatus = false
     }
 
     const prepareChartData = (result) => {
-      options.boundaryLayerHeightList = []
+     let  prepareData = []
       result.sort((x, y) => moment(x.time, 'M_D_H').isBefore(moment(y.time, 'M_D_H')) ? -1 : 1);
       result.forEach(item => {
-        if (item.data )
-          options.boundaryLayerHeightList.push(item.data)
-        if (item.data == null ) {
-
+        if (item.data == null) {
+          let temp = [];
+          for (let i = 0 ; i < 60; i++) {
+            temp.push(NaN);
+          }
+          item.data = [temp];
         }
+       for (let i in item.data[0]) {
+         prepareData.push(item.data[0][i])
+       }
       })
-      creates.boundaryLayerHeight.updateSeries(0, options.boundaryLayerHeightList)
-
+      let interval = ( 24 / prepareData.length );
+      let data = [];
+      for (let i = 0 , len = prepareData.length ; i < len ; i++) {
+        data.push([parseFloat((interval * i).toFixed(2)), prepareData[i]])
+      }
+      return data;
     }
+
     const preparePmColors = () => {
       return new ColorChart(['#F6EF20','#FEC338', '#C5C22A', '#72CD64', '#31C69F', '#01B8CA', '#259BE8', '#327CFC', '#4853F4', '#422EC1'],
         [100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 0], true, true
@@ -563,6 +635,7 @@ export default {
     }
     //
     const reloadChartsRecognition = (element: string, callback: any) => {
+      preprocessingCharts(element)
       let result = new CustomeArray(callback);
       let time = moment(options.date);
       for(let index = 0; index < 24; index ++){
@@ -573,7 +646,6 @@ export default {
 
     const drawCloudRecognition = (result: CustomeArray<any>) => {
       if (result.length != 24) return;
-
       options.loadingCloudRecognitionStatus = false;
       if (creates.cloudRecognitionDrawer != null){
         creates.cloudRecognitionDrawer.close();
@@ -960,141 +1032,6 @@ export default {
       }
     }
 
-    //边界层高度
-    const boundaryLayerHeightDate = () => {
-      options.boundaryLayerHeightList = []
-      const time = moment(options.date).format('M_D_2')
-      const params = prepareApiParams(time, 'pblh')
-      get('/njqxj/lmlidar', params, ConstantRamanLidar.baseUrl).then((response: any) => {
-        if (response.state != 0) {
-          error()
-          return;
-        }
-        if (response.data.length === 0) {
-          verify()
-          return;
-        }
-        for (let i in JSON.parse(response.data)) {
-          for (let val in JSON.parse(response.data)[i]) {
-            options.boundaryLayerHeightList.push(JSON.parse(response.data)[i][val])
-          }
-        }
-        creates.boundaryLayerHeight.updateSeries(0, options.boundaryLayerHeightList)
-      })
-    }
-
-    //边界层特征值
-    const boundaryCharacteristicApi = () => {
-      const time = moment(options.date).format('MM_DD')
-      const params = prepareApiParams(time, 'pblhfeatures')
-      get('/njqxj/lmlidar', params, ConstantRamanLidar.baseUrl).then((response) => {
-        console.log(response)
-      })
-    }
-
-    //光学特性
-    //激光雷达比
-    const LidarRatioApi = () => {
-      options.LidarRatioList = []
-      const time = moment(options.date).format('MM_DD')
-      const params = prepareApiParams(time, 'lidarratio')
-      get('/njqxj/lmlidar', params, ConstantRamanLidar.baseUrl).then((response: any) => {
-
-        if (response.length <= 0) {
-          verify()
-          return;
-        }
-        for (let i in response[18]) {
-          if (response[18][i] === null) {
-            response[18][i] = 0
-          }
-          options.LidarRatioList.push(response[18][i])
-        }
-        creates.LidarRatio.updateSeries(0, options.LidarRatioList)
-      })
-    }
-
-
-    //消光系数
-    const extinctionApi = () => {
-      const time = moment(options.date).format('MM_DD')
-      const params = prepareApiParams(time ,'extinction')
-      get('/njqxj/lmlidar', params, ConstantRamanLidar.baseUrl).then((response :any) => {
-        console.log(response)
-      })
-    }
-
-    //水汽
-    const waterVapourApi = () => {
-      const time = moment(options.date).format('MM_DD')
-      const params = prepareApiParams(time,'watervapor')
-      get('/njqxj/lmlidar', params, ConstantRamanLidar.baseUrl).then((response :any) => {
-        console.log(response,'水汽')
-      })
-    }
-
-    //气溶胶PM
-    //粗颗粒
-    const aerosolApi = () => {
-      const time = moment(options.date).format('MM_DD')
-      const params = prepareApiParams(time,'pm10')
-      get('/njqxj/lmlidar', params, ConstantRamanLidar.baseUrl).then((response :any) => {
-          console.log(response,'气溶胶PM')
-      })
-    }
-
-    //云气溶胶分类
-    const layerTypeApi = () => {
-      const time = moment(options.date).format('MM_DD')
-      const params = prepareApiParams(time,'layertype')
-      get('/njqxj/lmlidar', params, ConstantRamanLidar.baseUrl).then((response :any) => {
-        console.log(response,'云气溶胶分类')
-      })
-    }
-
-    //云层高度
-    const cloudsHeightApi = () => {
-      options.cloudsHeightList = []
-      const time = moment(options.date).format('MM_DD')
-      const params = prepareApiParams(time,'cloudbaseheight')
-      get('/njqxj/lmlidar', params, ConstantRamanLidar.baseUrl).then((response :any) => {
-        if (response.length <= 0) {
-          verify()
-          return;
-        }
-        for (let i in response) {
-          for (let val in response[i]) {
-            if (response[i][val] === null) {
-                response[i][val] = 0
-            }
-            options.cloudsHeightList.push([parseInt(i),response[i][val]])
-          }
-        }
-        creates.cloudsHeight.updateSeries(0, options.cloudsHeightList)
-      })
-    }
-
-    //云顶高度
-    const cloudTopHeightApi = () => {
-      options.cloudTopHeightList = []
-      const time = moment(options.date).format('MM_DD')
-      const params = prepareApiParams(time,'cloudtopheight')
-      get('/njqxj/lmlidar', params, ConstantRamanLidar.baseUrl).then((response :any) => {
-        if (response.length <= 0) {
-          verify()
-          return;
-        }
-        for (let i in response) {
-          for (let val in response[i]) {
-            if (response[i][val] === null) {
-              response[i][val] = 0
-            }
-            options.cloudTopHeightList.push([parseInt(i),response[i][val]])
-          }
-        }
-        creates.cloudTopHeight.updateSeries(0, options.cloudTopHeightList)
-      })
-    }
 
     const prepareApiParams = (time, variableName) => {
       return {
diff --git a/04.系统编码/Frontend/src/model/high-chart-create.ts b/04.系统编码/Frontend/src/model/high-chart-create.ts
index 9bac4b5..4993bf6 100644
--- a/04.系统编码/Frontend/src/model/high-chart-create.ts
+++ b/04.系统编码/Frontend/src/model/high-chart-create.ts
@@ -40,7 +40,24 @@ export class HighChartCreate {
             showFirstLabel: true,
         });
     }
-
+    public setSpecialXAxis(text: string, max: number, min: number, tickInterval: number,  opposite: boolean = false, lineWidth: number = 1,  reversed: boolean = true) {
+        this.xAxis.push({
+            title: {
+                enabled: true,
+                text: text,
+                style: {
+                    color: '#000000',
+                    fontSize: '14px',
+                    fontFamily: 'Verdana'
+                }
+            },
+            max: max,
+            min: min,
+            tickInterval: tickInterval,
+            lineWidth: lineWidth,
+            opposite: opposite
+        })
+    }
     public setYAxis(text: string, max: number, min: number, tickInterval: number, tickAmount: number, opposite: boolean = false, lineWidth: number = 1,  reversed: boolean = true){
         this.yAxis.push({
             title: {
@@ -128,5 +145,6 @@ export class HighChartCreate {
     public updateXAxis(categories: Array<any>, index: number = 0){
         this.highChart.xAxis[index].setCategories(categories);
     }
+
 }