From 69e41a0824b0a4737360a5e19929555279e7c292 Mon Sep 17 00:00:00 2001
From: xufenglei <xufenglei>
Date: Sun, 08 Apr 2018 11:25:47 +0800
Subject: [PATCH] 报表优化

---
 src/app/routes/report/report.component.ts |  103 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 99 insertions(+), 4 deletions(-)

diff --git a/src/app/routes/report/report.component.ts b/src/app/routes/report/report.component.ts
index fbc4207..4fcfc16 100644
--- a/src/app/routes/report/report.component.ts
+++ b/src/app/routes/report/report.component.ts
@@ -75,6 +75,89 @@
     }
   }
 
+  private pieCharOption: any = {
+    title: {
+      text: 'AQI������������������������',
+      x: 'center'
+    },
+    tooltip: {
+      trigger: 'item',
+      formatter: "{a} <br/>{b}: {c} ({d}%)"
+    },
+    legend: {
+      //x : 'center',
+      top: '10%',
+      data: ['PM 2.5', 'PM 10', '���������������CO���', '���������������SO������', '���������O������', '���������������NO������']
+    },
+    graphic: [{
+      type: 'text',
+      left: '24%',
+      top: '49%',
+      style: {
+        text: '������������'
+      }
+    }, {
+      type: 'text',
+      left: '74%',
+      top: '49%',
+      style: {
+        text: '{b}'
+      }
+    }
+    ],
+    series: [
+      {
+        name: '������������',
+        type: 'pie',
+        radius: ['30%', '50%'],
+        center: ['25%', '50%'],
+        label: {
+          normal: {
+            formatter: "{b}:{d}%"
+          }
+        },
+        labelLine: {
+          normal: {
+            show: true
+          }
+        },
+        data: [
+          {value: 100, name: 'PM 2.5'},
+          {value: 100, name: 'PM 10'},
+          {value: 200, name: '���������������CO���'},
+          {value: 200, name: '���������������SO������'},
+          {value: 100, name: '���������O������'},
+          {value: 100, name: '���������������NO������'}
+        ]
+      },
+      {
+        name: '������������',
+        type: 'pie',
+        radius: ['30%', '50%'],
+        center: ['75%', '50%'],
+        label: {
+          normal: {
+            formatter: "{b}:{d}%",
+          }
+        },
+        labelLine: {
+          normal: {
+            show: true,
+          }
+        },
+        data: [
+          {value: 0, name: 'PM 2.5'},
+          {value: 0, name: 'PM 10'},
+          {value: 100, name: '���������������CO���'},
+          {value: 100, name: '���������������SO������'},
+          {value: 100, name: '���������O������'},
+          {value: 100, name: '���������������NO������'}
+
+        ]
+      }
+    ]
+  };
+
   ngOnInit() {
     const params = JSON.parse(sessionStorage.getItem("queryParams"));
     if (!!params) {
@@ -87,6 +170,7 @@
         } else {
           const option = this.echartOption;
           const sensors = res.data.sensors;
+          const deviceCounts = res.data.deviceCounts;
           const timeArr = this.timeArr;
           const label = timeArr[this.typeArr.indexOf(timeType)];
           option.xAxis.data = res.data.times;
@@ -105,11 +189,15 @@
             }
             for (let i = 0; i < items.length; i++) {
               this.title = items[i].formatTime;
-              const legendName = items[i].formatTime + label + (items[i].mac ? '������:'+items[i].deviceName : (items[i].monitorPointid?'���������:'+items[i].monitorPointName:items[i].areaName));
+              items[i].deviceCount = deviceCounts[i];
+              if (!items[i].monitorPointid) {
+                items[i].monitorPointName = items[i].areaName
+              }
+              const legendName = items[i].formatTime + label + (items[i].mac ? '������:' + items[i].deviceName : (items[i].monitorPointid ? '���������:' + items[i].monitorPointName : items[i].areaName));
               option.legend.data[i] = legendName;
               option.series.push({
                 name: legendName,
-                data: res.data.datas[i]['data' + i][0][sensorKey],
+                data: res.data.datas[i][sensorKey],
                 type: params.reportType,
                 smooth: true,
                 itemStyle: {
@@ -134,12 +222,19 @@
           for (let i = 0; i < title.length; i++) {
             this.title += title[i] + timeArr[i];
           }
+          if (sensors.length % 2 == 0) {
+            this.pieCharOption.backgroundColor = 'rgba(0,0,0,0)';
+          } else {
+            this.pieCharOption.backgroundColor = 'rgba(23,133,23,0.06)';
+          }
+//          const myChart = echarts.init(document.getElementById('pieChar'));
+//          myChart.setOption(this.pieCharOption, true);
+//          window.onresize = myChart.resize;
         }
       });
-      
     } else {
       this.msgSrv.error("������������������������������������");
-      setTimeout("window.close();",1000);
+      setTimeout("window.close();", 1000);
     }
   }
 }

--
Gitblit v1.8.0