From cd388c78650efe85fe4dd41cc439208d58ab6c29 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期二, 05 十二月 2023 16:19:55 +0800
Subject: [PATCH] 接口轮训时 设备负荷对比柱状图 动画问题修改

---
 src/views/cockpitPage/components/DeviceChart.vue |   84 ++++++++++++++++++++++++++++-------------
 1 files changed, 57 insertions(+), 27 deletions(-)

diff --git a/src/views/cockpitPage/components/DeviceChart.vue b/src/views/cockpitPage/components/DeviceChart.vue
index ec25403..1e8f376 100644
--- a/src/views/cockpitPage/components/DeviceChart.vue
+++ b/src/views/cockpitPage/components/DeviceChart.vue
@@ -15,40 +15,71 @@
 <script>
 //寮曞叆echart
 import * as echarts from "echarts";
+let myChart;
 export default {
   components: {},
-  props: {},
+  props: {
+    chartData: {
+      type: Object,
+      require: true,
+      default: () => {
+        return {
+          datax: [],
+          datay: [],
+        };
+      },
+    },
+    // xdata: {
+    //   type: Array,
+    //   require: true,
+    // },
+    // ydata: {
+    //   type: Array,
+    //   require: true,
+    // },
+  },
   data() {
     return {
-      chartData: {
-        datax: [
-          "璁惧1",
-          "璁惧2",
-          "璁惧3",
-          "璁惧4",
-          "璁惧5",
-          "璁惧6",
-          "璁惧7",
-          "璁惧8",
-          "璁惧9",
-        ],
-        datay: [10, 20, 15, 38, 47, 50, 20, 33, 25, 48],
-      },
+      // chartData: {
+      //   datax: [],
+      //   datay: [],
+      // },
+      startValue: 0,
+      endValue: 5,
+      chartTimer:null,
     };
   },
-  mounted() {
-    this.pieChart("chart", this.chartData);
+  watch: {
+    "chartData.datay"(val) {
+      console.log(val, "璁惧鍙樻洿鏁版嵁");
+      this.ydata = val;
+      this.startValue = 0;
+      this.endValue = 5;
+      this.pieChart("chart", this.chartData);
+    },
   },
-  watch: {},
+  mounted() {
+    // this.pieChart("chart", this.chartData);
+  },
   methods: {
     //鍦ㄨ亴
     pieChart(chartName, data) {
       let that = this;
+      clearInterval(this.chartTimer);
+      let chartDomTwo = this.$refs[chartName];
+      let myChartTwo = echarts.init(chartDomTwo)
+      myChartTwo.dispose()
       let chartDom = this.$refs[chartName];
-      let myChart = echarts.init(chartDom);
+      myChart = echarts.init(chartDom);
+      // if (myChart != null && myChart != "" && myChart != undefined) {
+      //   console.log("222222222");
+      //   myChart.dispose(); //閿�姣�
+      //   myChart.resize();
+      // }
+      // console.log(myChart, "ssssssss");
       let option;
       let lineColor = "#35ddc74d";
-      if (data) {
+      if (this.ydata) {
         option = {
           color: ["#00FFFF", "#dcb018"],
           tooltip: {
@@ -68,8 +99,8 @@
               type: "inside",
               yAxisIndex: 0,
               show: false,
-              startValue: 0, // 浠庡ご寮�濮�
-              endValue: 5, // 涓�娆℃�у睍绀哄嚑涓�
+              startValue: that.startValue, // 浠庡ご寮�濮�
+              endValue: that.endValue, // 涓�娆℃�у睍绀哄嚑涓�
             },
           ],
           legend: {
@@ -176,11 +207,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