From 66090d06a87ff940fd5fc138d7260c755a5a3127 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 14 二月 2025 17:26:27 +0800
Subject: [PATCH] 新增数据平面展示方式

---
 src/utils/chart/chart-option.js |  204 ++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 162 insertions(+), 42 deletions(-)

diff --git a/src/utils/chart/chart-option.js b/src/utils/chart/chart-option.js
index 556a0bb..30995e3 100644
--- a/src/utils/chart/chart-option.js
+++ b/src/utils/chart/chart-option.js
@@ -15,23 +15,34 @@
 }
 
 // 鎶樼嚎鍥�
-function factorLineOption(_xAxis, _series, legends) {
+function factorLineOption(_xAxis, _series) {
   var fontSize = fGetChartFontSize();
   return {
     animationEasing: 'elasticOut',
     animationDelayUpdate: function (idx) {
       return idx * 5;
     },
-    // toolbox: {
-    //   bottom: 0,
-    //   feature: {
-    //     dataZoom: {},
-    //     magicType: {
-    //       type: ['line', 'bar']
-    //     },
-    //     restore: {}
-    //   }
-    // },
+    toolbox: {
+      // bottom: 0,
+      feature: {
+        // dataZoom: {},
+        // magicType: {
+        //   type: ['line', 'bar']
+        // },
+        // restore: {
+        //   title: '鍒锋柊'
+        // },
+        saveAsImage: {
+          show: true,
+          backgroundColor: '#122b54a9',
+          name: '璧拌埅鐩戞祴鍥�',
+          title: '淇濆瓨涓哄浘鐗�',
+          iconStyle: {
+            borderColor: '#fff'
+          }
+        }
+      }
+    },
     tooltip: {
       textStyle: {
         fontSize: fontSize
@@ -39,7 +50,7 @@
     },
     legend: {
       type: 'scroll',
-      data: legends,
+      // data: legends,
       left: 0,
       textStyle: {
         fontSize: fontSize,
@@ -48,6 +59,8 @@
     },
     xAxis: {
       name: '鏃堕棿',
+      nameLocation: 'middle',
+      nameGap: 30,
       data: _xAxis,
       axisLabel: {
         textStyle: {
@@ -74,7 +87,16 @@
       }
     },
     yAxis: {
-      name: '娴撳害(渭g/m鲁)',
+      name: '娴撳害(渭g/m鲁)/娓╁害(鈩�)/閫熷害(m/s)',
+      nameLocation: 'middle',
+      nameGap: 30,
+      // nameTruncate: {
+      //   maxWidth: 100,
+      //   ellipsis: '...'
+      // },
+      // nameTextStyle: {
+      //   color: 'red'
+      // },
       axisLabel: {
         textStyle: {
           fontSize: fontSize
@@ -94,35 +116,128 @@
       },
       minInterval: 1
     },
-    series: _series,
-    dataZoom: [
-      {
-        type: 'inside',
-        start: 0,
-        end: 100
+    series: _series
+  };
+}
+
+// 鎶樼嚎鍥�
+function smallLineOption(_xAxis, _series) {
+  var fontSize = fGetChartFontSize();
+  return {
+    animationEasing: 'elasticOut',
+    animationDelayUpdate: function (idx) {
+      return idx * 5;
+    },
+    tooltip: {
+      textStyle: {
+        fontSize: fontSize
       }
-    ]
+    },
+    grid: {
+      left: '11%',
+      right: '2%',
+      top: '7%',
+      bottom: '20%'
+    },
+    legend: {
+      show: false
+    },
+    xAxis: [
+      {
+        show: true,
+        // name: '鏃堕棿',
+        // type: 'time',
+        data: _xAxis,
+        axisLabel: {
+          textStyle: {
+            fontSize: fontSize
+          },
+          color: '#ffffff',
+          textBorderColor: '#fff'
+        },
+        axisTick: {
+          lineStyle: {
+            color: 'white'
+          },
+          intervel: 0,
+          inside: false
+        },
+
+        nameTextStyle: {
+          color: '#ffffff'
+        },
+        axisLine: {
+          lineStyle: {
+            color: '#ffffff'
+          }
+        }
+      },
+      { show: true }
+    ],
+    yAxis: [
+      {
+        // name: '娴撳害(渭g/m鲁)',
+        // type: 'time',
+        axisLabel: {
+          textStyle: {
+            fontSize: fontSize
+          }
+        },
+        axisLine: {
+          show: true,
+          lineStyle: {
+            color: 'white'
+          }
+        },
+        axisTick: {
+          show: false,
+          lineStyle: {
+            color: 'white'
+          }
+        },
+        splitLine: {
+          show: false
+        },
+        minInterval: 1,
+        intervel: 1,
+        min: function (value) {
+          return Math.floor(value.min);
+        },
+        max: function (value) {
+          return Math.ceil(value.max);
+        }
+      },
+      {
+        axisLine: {
+          show: true,
+          lineStyle: {
+            color: 'white'
+          }
+        }
+      }
+    ],
+    series: _series
   };
 }
 
 // 浠〃鐩�
 function gaugeOption(name, value) {
-  var fontSize = fGetChartFontSize();
+  // var fontSize = fGetChartFontSize();
   var option = {
-    title: {
-      text: name,
-      textStyle: {
-        color: 'white',
-        fontSize: fontSize
-      },
-      left: 'center'
-    },
+    // title: {
+    //   text: name,
+    //   textStyle: {
+    //     color: 'white',
+    //     fontSize: fontSize
+    //   },
+    //   left: 'center'
+    // },
     textStyle: {
       color: '#ffffff',
       fontSize: 10
     },
     tooltip: {
-      formatter: '{a} <br/>{b} : {c}%'
+      formatter: '{a} : {c}km/h'
     },
     toolbox: {
       // feature: {
@@ -134,12 +249,17 @@
       {
         name: name,
         type: 'gauge',
+        title: {
+          color: 'white',
+          offsetCenter: [0, '50%']
+        },
         detail: {
           color: 'white',
-          formatter: '{value}',
+          formatter: '{value}km/h',
           textStyle: {
-            fontSize: fontSize
-          }
+            fontSize: 18
+          },
+          offsetCenter: [0, '80%']
         },
         splitLine: {
           lineStyle: {
@@ -156,13 +276,13 @@
           fontSize: 10
         },
         axisLine: {
-          lineStyle: {
-            color: [
-              [0.2, '#2afd2a'],
-              [0.8, '#f1e74d'],
-              [1, '#c23531']
-            ]
-          }
+          // lineStyle: {
+          //   color: [
+          //     [0.2, '#2afd2a'],
+          //     [0.8, '#f1e74d'],
+          //     [1, '#c23531']
+          //   ]
+          // }
         },
         itemStyle: {
           color: 'white'
@@ -170,7 +290,7 @@
         data: [
           {
             value: value,
-            name: ''
+            name: '杞﹂��'
           }
         ],
         min: 0,
@@ -181,4 +301,4 @@
   return option;
 }
 
-export { factorLineOption, gaugeOption };
+export { factorLineOption, smallLineOption, gaugeOption };

--
Gitblit v1.9.3