From b33e28bc2843555355ecad59a80c83e3c26445a3 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 01 九月 2025 17:29:36 +0800
Subject: [PATCH] 走航季度报告模块(待完成)

---
 src/components/chart/RealTimeLineChart.vue |   43 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 34 insertions(+), 9 deletions(-)

diff --git a/src/components/chart/RealTimeLineChart.vue b/src/components/chart/RealTimeLineChart.vue
index 562b60f..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,13 +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('鎶樼嚎鍥剧敓鎴愶細绔嬪嵆');
       } else {
         this.onChartCreated = () => {
           this.lineChart.setOption(this.option, { notMerge: true });
@@ -53,9 +74,13 @@
   },
   mounted() {
     this.lineChart = echarts.init(this.$refs.lineChart);
-    if (typeof this.onChartCreated === 'function') {
-      this.onChartCreated();
-    }
+    this.onChartCreated();
+    // setTimeout(() => {
+    //   if (typeof this.onChartCreated === 'function') {
+    //     this.onChartCreated();
+    //     // console.log('鎶樼嚎鍥剧敓鎴愶細婊炲悗');
+    //   }
+    // }, 500);
   }
 };
 </script>
@@ -66,8 +91,8 @@
   justify-content: center;
 }
 .line-chart {
-  width: 300px;
-  height: 140px;
+  width: 318px;
+  /* height: 140px; */
   /* border-bottom: 1px solid rgba(255, 255, 255, 0.329); */
 }
 </style>

--
Gitblit v1.9.3