From 6d040980c2b178241841ef335d4f70cbdb467d4b Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期三, 06 十二月 2023 17:16:33 +0800
Subject: [PATCH] 增加计算加工数和生产数的方法
---
src/views/cockpitPage/components/DeviceChart.vue | 93 +++++++++++++++++++++++++++++++---------------
1 files changed, 63 insertions(+), 30 deletions(-)
diff --git a/src/views/cockpitPage/components/DeviceChart.vue b/src/views/cockpitPage/components/DeviceChart.vue
index ec25403..b95ae0e 100644
--- a/src/views/cockpitPage/components/DeviceChart.vue
+++ b/src/views/cockpitPage/components/DeviceChart.vue
@@ -15,37 +15,46 @@
<script>
//寮曞叆echart
import * as echarts from "echarts";
+let myChart;
export default {
components: {},
- props: {},
+ props: {
+ chartData: {
+ type: Object,
+ require: true,
+ default: () => {
+ return {
+ datax: [],
+ datay: [],
+ };
+ },
+ },
+ },
data() {
return {
- chartData: {
- datax: [
- "璁惧1",
- "璁惧2",
- "璁惧3",
- "璁惧4",
- "璁惧5",
- "璁惧6",
- "璁惧7",
- "璁惧8",
- "璁惧9",
- ],
- datay: [10, 20, 15, 38, 47, 50, 20, 33, 25, 48],
- },
+ startValue: 0,
+ endValue: 5,
+ chartTimer: null,
};
},
- mounted() {
- this.pieChart("chart", this.chartData);
+ watch: {
+ "chartData.datay"(val) {
+ this.startValue = 0;
+ this.endValue = 5;
+ this.pieChart("chart", this.chartData);
+ },
},
- watch: {},
+ mounted() {},
methods: {
//鍦ㄨ亴
pieChart(chartName, data) {
let that = this;
+ clearInterval(this.chartTimer);
let chartDom = this.$refs[chartName];
- let myChart = echarts.init(chartDom);
+ if (myChart != null && myChart != "" && myChart != undefined) {
+ myChart.dispose(); //閿�姣�
+ }
+ myChart = echarts.init(chartDom);
let option;
let lineColor = "#35ddc74d";
if (data) {
@@ -60,7 +69,7 @@
grid: {
right: "80px",
bottom: "60px",
- left: "60px",
+ left: "70px",
top: "30px",
},
dataZoom: [
@@ -68,8 +77,11 @@
type: "inside",
yAxisIndex: 0,
show: false,
- startValue: 0, // 浠庡ご寮�濮�
- endValue: 5, // 涓�娆℃�у睍绀哄嚑涓�
+ startValue: that.startValue, // 浠庡ご寮�濮�
+ endValue: that.endValue, // 涓�娆℃�у睍绀哄嚑涓�
+ zoomOnMouseWheel: false,
+ moveOnMouseWheel: true,
+ moveOnMouseMove: true,
},
],
legend: {
@@ -95,6 +107,7 @@
// rotate:45,
margin: 10,
show: true,
+ fontSize: 12,
textStyle: {
color: function (params, index) {
let colorList = ["#dcb018", "#00FFFF"];
@@ -104,6 +117,12 @@
return colorList[1];
}
},
+ },
+ formatter: function (value) {
+ if (value.length > 5) {
+ return `${value.slice(0, 4)}...`;
+ }
+ return value;
},
},
data: data.datax ? data.datax : [],
@@ -138,12 +157,13 @@
axisTick: {
show: false,
},
-
axisLabel: {
textStyle: {
color: "#00FFFF",
},
- formatter: "{value}%",
+ formatter: function (value) {
+ return `${value}%`;
+ },
},
},
],
@@ -155,7 +175,21 @@
label: {
show: true,
position: "right",
- color: "#00FFFF",
+ formatter: function (params) {
+ if (params.dataIndex % 2 == 0) {
+ return `{a|${params.value}%}`;
+ } else {
+ return `{b|${params.value}%}`;
+ }
+ },
+ rich: {
+ a: {
+ color: "#00FFFF",
+ },
+ b: {
+ color: "#dcb018",
+ },
+ },
},
itemStyle: {
normal: {
@@ -176,11 +210,10 @@
],
};
- setInterval(function () {
- // 姣忔鍚戝乏婊戝姩涓�涓紝鏈�鍚庝竴涓粠澶村紑濮嬨��
- if (option.dataZoom[0].endValue == that.chartData.datay.length) {
- option.dataZoom[0].startValue = 0;
- option.dataZoom[0].endValue = 5;
+ this.chartTimer = setInterval(function () {
+ if (option.dataZoom[0].endValue == data.datay.length) {
+ option.dataZoom[0].startValue = that.startValue;
+ option.dataZoom[0].endValue = that.endValue;
} else {
option.dataZoom[0].endValue = option.dataZoom[0].endValue + 1;
option.dataZoom[0].startValue = option.dataZoom[0].startValue + 1;
--
Gitblit v1.8.0