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/abeamProChart.vue |   50 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 42 insertions(+), 8 deletions(-)

diff --git a/src/components/charts/abeamProChart.vue b/src/components/charts/abeamProChart.vue
index fcc73a4..d578a5d 100644
--- a/src/components/charts/abeamProChart.vue
+++ b/src/components/charts/abeamProChart.vue
@@ -16,6 +16,9 @@
   import {
     chartFontsize
   } from '@/assets/js/chartFontsize'
+  import {
+    batteryStatus
+  } from '@/assets/js/api'
   export default {
     name: "abeamProChart",
     chart: "",
@@ -36,14 +39,13 @@
       setOption(opt) {
         this.$options.chart.setOption(opt);
       },
-      setData(sendData) {
-        this.$options.chartData = sendData;
-        let dataColor = sendData.color;
-        let bgColor = sendData.bgColor;
-        let yData = sendData.yData;
+      organizeData(posData) {
+        let dataColor = posData.color;
+        let bgColor = posData.bgColor;
+        let yData = posData.yData;
         let radius = (this.$refs.chart.clientHeight / 3 - 7) > 0 ? this.$refs.chart.clientHeight / 3 - 7 : 0;
-        let data = sendData.data;
-        let max = data[0];
+        let data = posData.data;
+        let max = posData[0];
         data.map(item => {
           if (item > max) {
             max = item;
@@ -166,10 +168,42 @@
         // 璁剧疆閰嶇疆椤�
         this.setOption(option);
       },
+      setData(sendData) {
+        if (sendData) {
+          this.$options.chartData = sendData;
+          this.organizeData(sendData)
+        } else {
+          let userId = localStorage.getItem('userId');
+          let params = {
+            userId: userId
+          }
+          batteryStatus(params).then((res) => {
+            if (res.data.code == 1) {
+              let optionData = {
+                yData: [],
+                color: ['#f58881', '#b4d465', '#ffcb29'],
+                bgColor: ['rgba(245,136,129,0.35)', 'rgba(255,255,255,0.35)', 'rgba(255,203,41,0.35)'],
+                data: []
+              }
+              let resData = res.data.data;
+              for (let key in resData) {
+                optionData.yData.push(key);
+                optionData.data.push(resData[key]);
+              }
+              this.$options.chartData = optionData;
+              this.organizeData(optionData)
+            }
+          }).catch((err) => {
+            console.log(err)
+          });
+        }
+      },
       resize() {
         setTimeout(() => {
           this.$options.chart.resize();
-          this.setData(this.$options.chartData);
+          if (JSON.stringify(this.$options.chartData) != '{}') {
+            this.setData(this.$options.chartData);
+          }
         }, 300)
       }
     },

--
Gitblit v1.9.1