From d8bff9dff0c9c0c8e88e9e4be85c66de2b5b43ff Mon Sep 17 00:00:00 2001
From: whyczyk <525500596@qq.com>
Date: 星期五, 19 三月 2021 15:34:45 +0800
Subject: [PATCH] 数据模块对接

---
 src/components/charts/powerChart.vue |   75 +++++++++++++++++++++++++++++++++++--
 1 files changed, 70 insertions(+), 5 deletions(-)

diff --git a/src/components/charts/powerChart.vue b/src/components/charts/powerChart.vue
index fe2dd41..ff36519 100644
--- a/src/components/charts/powerChart.vue
+++ b/src/components/charts/powerChart.vue
@@ -23,6 +23,9 @@
 
 <script>
   import prossPieChart from "./prossPieChart"
+  import {
+    powerAlarmStatus
+  } from '@/assets/js/api'
   export default {
     components: {
       prossPieChart
@@ -36,11 +39,73 @@
     methods: {
       setData(data) {
         this.$nextTick(() => {
-          data.map((item, i) => {
-            let chart = this.$refs[`prossPieChart${i}`];
-            chart.setData(item);
-            chart.resize();
-          })
+          if (data) {
+            data.map((item, i) => {
+              let chart = this.$refs[`prossPieChart${i}`];
+              chart.setData(item);
+              chart.resize();
+            })
+          } else {
+            let userId = localStorage.getItem('userId');
+            let params = {
+              userId: userId
+            }
+            powerAlarmStatus(params).then((res) => {
+              if (res.data.code == 1) {
+                let optionData = [{
+                  title: '',
+                  data: 0,
+                  unit: '',
+                  color: '#37a9b3',
+                }, {
+                  title: '',
+                  data: 0,
+                  unit: '',
+                  color: '#f3535f'
+                }, {
+                  title: '',
+                  data: 0,
+                  unit: '',
+                  color: '#ff8b00'
+                }, {
+                  title: '',
+                  data: 0,
+                  unit: '',
+                  color: '#757ffb'
+                }, {
+                  title: '',
+                  data: 0,
+                  unit: '',
+                  color: '#4ba0d9'
+                }, {
+                  title: '',
+                  data: 0,
+                  unit: '',
+                  color: '#7fc57c'
+                }]
+                let index = 0;
+                let resData = res.data.data;
+                for (let key in resData) {
+                  optionData[index].title = key;
+                  if (typeof resData[key] == 'string') {
+                    optionData[index].data = Number(resData[key].split('%')[0]);
+                    optionData[index].unit = '%';
+                  } else {
+                    optionData[index].data = resData[key];
+                  }
+                  index++;
+                }
+                optionData.map((item, i) => {
+                  let chart = this.$refs[`prossPieChart${i}`];
+                  chart.setData(item);
+                  chart.resize();
+                })
+              }
+            }).catch((err) => {
+              console.log(err)
+            });
+          }
+
         })
       },
       resize() {

--
Gitblit v1.9.1