From a3b2d94cbfb9bea819346a1b738237f72819a833 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 12 六月 2025 13:35:33 +0800
Subject: [PATCH] 动态溯源(待完成)

---
 src/utils/chart/chart-option.js |  241 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 219 insertions(+), 22 deletions(-)

diff --git a/src/utils/chart/chart-option.js b/src/utils/chart/chart-option.js
index 250e550..346c602 100644
--- a/src/utils/chart/chart-option.js
+++ b/src/utils/chart/chart-option.js
@@ -14,23 +14,35 @@
   return fontSize;
 }
 
-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
@@ -38,7 +50,7 @@
     },
     legend: {
       type: 'scroll',
-      data: legends,
+      // data: legends,
       left: 0,
       textStyle: {
         fontSize: fontSize,
@@ -47,6 +59,8 @@
     },
     xAxis: {
       name: '鏃堕棿',
+      nameLocation: 'middle',
+      nameGap: 30,
       data: _xAxis,
       axisLabel: {
         textStyle: {
@@ -73,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
@@ -93,15 +116,189 @@
       },
       minInterval: 1
     },
-    series: _series,
-    dataZoom: [
-      {
-        type: 'inside',
-        start: 0,
-        end: 100
-      }
-    ]
+    series: _series
   };
 }
 
-export { factorLineOption };
+// 鎶樼嚎鍥�
+function smallLineOption(_xAxis, _series) {
+  var fontSize = fGetChartFontSize();
+  return {
+    animationEasing: 'elasticOut',
+    animationDelayUpdate: function (idx) {
+      return idx * 5;
+    },
+    tooltip: {
+      textStyle: {
+        fontSize: fontSize
+      }
+    },
+    grid: {
+      left: '12%',
+      right: '2%',
+      top: '7%',
+      bottom: '30%'
+    },
+    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 option = {
+    // title: {
+    //   text: name,
+    //   textStyle: {
+    //     color: 'white',
+    //     fontSize: fontSize
+    //   },
+    //   left: 'center'
+    // },
+    textStyle: {
+      color: '#ffffff',
+      fontSize: 10
+    },
+    tooltip: {
+      formatter: '{a} : {c}km/h'
+    },
+    toolbox: {
+      // feature: {
+      //     restore: {},
+      //     saveAsImage: {}
+      // }
+    },
+    series: [
+      {
+        name: name,
+        type: 'gauge',
+        title: {
+          color: 'white',
+          offsetCenter: [0, '50%']
+        },
+        detail: {
+          color: 'white',
+          formatter: '{value}km/h',
+          textStyle: {
+            fontSize: 18
+          },
+          offsetCenter: [0, '80%']
+        },
+        splitLine: {
+          lineStyle: {
+            color: 'white'
+          }
+        },
+        axisTick: {
+          lineStyle: {
+            color: 'white'
+          }
+        },
+        axisLabel: {
+          color: 'white',
+          fontSize: 10
+        },
+        axisLine: {
+          // lineStyle: {
+          //   color: [
+          //     [0.2, '#2afd2a'],
+          //     [0.8, '#f1e74d'],
+          //     [1, '#c23531']
+          //   ]
+          // }
+        },
+        itemStyle: {
+          color: 'white'
+        },
+        data: [
+          {
+            value: value,
+            name: '杞﹂��'
+          }
+        ],
+        min: 0,
+        max: 200
+      }
+    ]
+  };
+  return option;
+}
+
+export { factorLineOption, smallLineOption, gaugeOption };

--
Gitblit v1.9.3