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