From 306ef09707d6bcf9ffa67de55f86ab6f4362deee Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 18 七月 2025 10:04:01 +0800
Subject: [PATCH] 2025.7.18 动态溯源-测试版本

---
 src/components/chart/RealTimeLineChart.vue |   45 +++++++++++++++++++++++++++++++++------------
 1 files changed, 33 insertions(+), 12 deletions(-)

diff --git a/src/components/chart/RealTimeLineChart.vue b/src/components/chart/RealTimeLineChart.vue
index fa8da32..bd75435 100644
--- a/src/components/chart/RealTimeLineChart.vue
+++ b/src/components/chart/RealTimeLineChart.vue
@@ -1,11 +1,15 @@
 <template>
   <div class="chart-wrap">
-    <div ref="lineChart" class="line-chart"></div>
+    <div
+      ref="lineChart"
+      class="line-chart"
+      :style="'height:' + chartHeight + ';'"
+    ></div>
   </div>
 </template>
 <script>
 import * as echarts from 'echarts';
-import { smallLineOption } from '@/utils/chart/chart-option';
+import { smallLineOption, baseVisualMap } from '@/utils/chart/chart-option';
 
 export default {
   props: {
@@ -17,7 +21,19 @@
       //     series: []
       //   };
       // }
-    }
+    },
+    // 鎶樼嚎鍥惧睍绀洪珮搴�
+    chartHeight: {
+      type: String,
+      default: '140px'
+    },
+    // 鎶樼嚎鍥綴杞村埢搴﹂棿璺�
+    yMinInterval: {
+      type: Number,
+      default: 1
+    },
+    // 寮傚父鏁版嵁绱㈠紩鑼冨洿闆嗗悎锛孾[i1,i2], [i3,i4],...]
+    exceptionIndexArr: Array
   },
   data() {
     return {
@@ -37,14 +53,18 @@
     refreshChart() {
       const { xAxis, series } = this.modelValue;
       if (!this.option) {
-        this.option = smallLineOption(xAxis, series);
+        this.option = smallLineOption(xAxis, series, this.yMinInterval);
+        if (this.exceptionIndexArr) {
+          const visualMap = baseVisualMap(this.exceptionIndexArr);
+          this.option.visualMap = visualMap;
+        }
       } else {
         this.option.xAxis[0].data = xAxis;
         this.option.series = series;
       }
       if (this.lineChart) {
         this.lineChart.setOption(this.option, { notMerge: true });
-        console.log('鎶樼嚎鍥剧敓鎴愶細绔嬪嵆');
+        // console.log('鎶樼嚎鍥剧敓鎴愶細绔嬪嵆');
       } else {
         this.onChartCreated = () => {
           this.lineChart.setOption(this.option, { notMerge: true });
@@ -54,12 +74,13 @@
   },
   mounted() {
     this.lineChart = echarts.init(this.$refs.lineChart);
-    setTimeout(() => {
-      if (typeof this.onChartCreated === 'function') {
-        this.onChartCreated();
-        console.log('鎶樼嚎鍥剧敓鎴愶細婊炲悗');
-      }
-    }, 500);
+    this.onChartCreated();
+    // setTimeout(() => {
+    //   if (typeof this.onChartCreated === 'function') {
+    //     this.onChartCreated();
+    //     // console.log('鎶樼嚎鍥剧敓鎴愶細婊炲悗');
+    //   }
+    // }, 500);
   }
 };
 </script>
@@ -71,7 +92,7 @@
 }
 .line-chart {
   width: 318px;
-  height: 140px;
+  /* height: 140px; */
   /* border-bottom: 1px solid rgba(255, 255, 255, 0.329); */
 }
 </style>

--
Gitblit v1.9.3