From d0f98ad8e1047e3161a458399ad3005404ed87b8 Mon Sep 17 00:00:00 2001
From: whychdw <496960745@qq.com>
Date: 星期五, 06 六月 2025 15:52:15 +0800
Subject: [PATCH] 标准参数管理

---
 src/components/echarts/BaseChart.vue |  242 +++--------------------------------------------
 1 files changed, 19 insertions(+), 223 deletions(-)

diff --git a/src/components/echarts/BaseChart.vue b/src/components/echarts/BaseChart.vue
index daa57a5..f0a5e3e 100644
--- a/src/components/echarts/BaseChart.vue
+++ b/src/components/echarts/BaseChart.vue
@@ -3,8 +3,8 @@
 import "./transparent";
 import { onMounted, onBeforeUnmount, ref, nextTick } from "vue";
 
-const chart_instance = ref(null);
-let exportChart_instance = ref(null);
+let chart_instance = null;
+let exportChart_instance = null;
 
 const chart = ref(null);
 const exportChart = ref(null);
@@ -15,14 +15,12 @@
   onMounted(() => {
     console.log('base mounted',chart.value, '=============');
     
-    chart_instance.value = echarts.init(chart.value, "transparent");
-    exportChart_instance.value = echarts.init(exportChart.value, "transparent");
-
-    let option = getOptions();
+    // chart_instance.value = echarts.init(chart.value, "transparent");
+    chart_instance = echarts.init(chart.value, "transparent");
+    exportChart_instance = echarts.init(exportChart.value, "transparent");
 
     nextTick(() => {
-      chart_instance.value.resize();
-      chart_instance.value.setOption(option);
+      chart_instance.resize();
     });
     window.addEventListener("resize", resize);
 
@@ -33,213 +31,13 @@
     dispose();
   });
 
-  function getOptions() {
-
-		const option = {
-			// title: {
-			// 	text: '璇锋眰鏁�',
-			// 	textStyle: {
-			// 		fontWeight: 'normal',
-			// 		fontSize: 16,
-			// 		color: '#F1F1F3'
-			// 	},
-			// 	left: '6%'
-			// },
-			tooltip: {
-				trigger: 'axis',
-				axisPointer: {
-					lineStyle: {
-						color: '#57617B'
-					}
-				}
-			},
-			// legend: {
-			// 	icon: 'rect',
-			// 	itemWidth: 14,
-			// 	itemHeight: 5,
-			// 	itemGap: 13,
-			// 	data: ['绉诲姩', '鐢典俊', '鑱旈��'],
-			// 	right: '4%',
-			// 	textStyle: {
-			// 		fontSize: 12,
-			// 		color: '#F1F1F3'
-			// 	}
-			// },
-			grid: {
-				left: '3%',
-				right: '4%',
-				bottom: '3%',
-				containLabel: true
-			},
-			xAxis: [{
-				type: 'category',
-				boundaryGap: false,
-				axisLine: {
-					lineStyle: {
-						color: '#57617B'
-					}
-				},
-				data: ['13:00', '13:05', '13:10', '13:15', '13:20', '13:25', '13:30', '13:35', '13:40', '13:45', '13:50', '13:55']
-			}, {
-				axisPointer: {
-					show: false
-				},
-				axisLine: {
-					lineStyle: {
-						color: '#57617B'
-					}
-				},
-				axisTick: {
-					show: false
-				},
-
-				position: 'bottom',
-				offset: 20,
-				data: ['', '', '', '', '', '', '', '', '', '', {
-					value: '鍛ㄥ叚',
-					textStyle: {
-						align: 'left'
-					}
-				}, '鍛ㄦ棩']
-			}],
-			yAxis: [{
-				type: 'value',
-				name: '鍗曚綅锛�%锛�',
-				axisTick: {
-					show: false
-				},
-				axisLine: {
-					lineStyle: {
-						color: '#57617B'
-					}
-				},
-				axisLabel: {
-					margin: 10,
-					textStyle: {
-						fontSize: 14
-					}
-				},
-				splitLine: {
-					lineStyle: {
-						color: '#57617B'
-					}
-				}
-			}],
-			series: [{
-				name: '绉诲姩',
-				type: 'line',
-				smooth: true,
-				symbol: 'circle',
-				symbolSize: 5,
-				showSymbol: false,
-				lineStyle: {
-					normal: {
-						width: 1
-					}
-				},
-				areaStyle: {
-					normal: {
-						color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
-							offset: 0,
-							color: 'rgba(137, 189, 27, 0.3)'
-						}, {
-							offset: 0.8,
-							color: 'rgba(137, 189, 27, 0)'
-						}], false),
-						shadowColor: 'rgba(0, 0, 0, 0.1)',
-						shadowBlur: 10
-					}
-				},
-				itemStyle: {
-					normal: {
-						color: 'rgb(137,189,27)',
-						borderColor: 'rgba(137,189,2,0.27)',
-						borderWidth: 12
-
-					}
-				},
-				data: [220, 182, 191, 134, 150, 120, 110, 125, 145, 122, 165, 122]
-			}, {
-				name: '鐢典俊',
-				type: 'line',
-				smooth: true,
-				symbol: 'circle',
-				symbolSize: 5,
-				showSymbol: false,
-				lineStyle: {
-					normal: {
-						width: 1
-					}
-				},
-				areaStyle: {
-					normal: {
-						color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
-							offset: 0,
-							color: 'rgba(0, 136, 212, 0.3)'
-						}, {
-							offset: 0.8,
-							color: 'rgba(0, 136, 212, 0)'
-						}], false),
-						shadowColor: 'rgba(0, 0, 0, 0.1)',
-						shadowBlur: 10
-					}
-				},
-				itemStyle: {
-					normal: {
-						color: 'rgb(0,136,212)',
-						borderColor: 'rgba(0,136,212,0.2)',
-						borderWidth: 12
-
-					}
-				},
-				data: [120, 110, 125, 145, 122, 165, 122, 220, 182, 191, 134, 150]
-			}, {
-				name: '鑱旈��',
-				type: 'line',
-				smooth: true,
-				symbol: 'circle',
-				symbolSize: 5,
-				showSymbol: false,
-				lineStyle: {
-					normal: {
-						width: 1
-					}
-				},
-				areaStyle: {
-					normal: {
-						color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
-							offset: 0,
-							color: 'rgba(219, 50, 51, 0.3)'
-						}, {
-							offset: 0.8,
-							color: 'rgba(219, 50, 51, 0)'
-						}], false),
-						shadowColor: 'rgba(0, 0, 0, 0.1)',
-						shadowBlur: 10
-					}
-				},
-				itemStyle: {
-					normal: {
-
-						color: 'rgb(219,50,51)',
-						borderColor: 'rgba(219,50,51,0.2)',
-						borderWidth: 12
-					}
-				},
-				data: [220, 182, 125, 145, 122, 191, 134, 150, 120, 110, 165, 122]
-			},]
-		};
-
-		return option;
-	}
-
   function getChart() {
-    return chart_instance.value;
+    return chart_instance;
   }
 
   function setOption(option) {
-    if (chart_instance.value) {
-      chart_instance.value.setOption(option);
+    if (chart_instance) {
+      chart_instance.setOption(option);
     }
   }
 
@@ -252,8 +50,8 @@
 
   function getDataURL() {
     let base64 = "";
-    if (exportChart_instance.value) {
-      let option = chart_instance.value.getOption();
+    if (exportChart_instance) {
+      let option = chart_instance.getOption();
       option.xAxis[0].axisLine.lineStyle = {
         color: "#000",
       };
@@ -263,8 +61,8 @@
         color: "#000",
       };
       option.yAxis[0].axisLabel.textStyle.color = "#000";
-      exportChart_instance.value.setOption(option);
-      base64 = exportChart_instance.value.getDataURL({
+      exportChart_instance.setOption(option);
+      base64 = exportChart_instance.getDataURL({
         pixelRatio: 1,
         backgroundColor: "#fff",
       });
@@ -273,16 +71,14 @@
   }
 
   function resize() {
-    if (chart_instance.value) {
-      chart_instance.value.resize();
-      console.log('resize', '=============');
-      
+    if (chart_instance) {
+      chart_instance.resize();
     }
   }
 
   function dispose() {
-    disposeChart(chart_instance.value);
-    disposeChart(exportChart_instance.value);
+    disposeChart(chart_instance);
+    disposeChart(exportChart_instance);
   }
 
   function disposeChart(chart) {
@@ -306,9 +102,9 @@
   <div
     class="e-chart-root"
     :class="{ 'full-screen': fullScreenFlag }"
+    @click="handleClick"
+    @dblclick="fullScreen"
   >
-    <!-- @click="handleClick"
-    @dblclick="fullScreen" -->
     <div class="e-chart-container">
       <div class="e-chart" ref="chart"></div>
       <slot name="tools"></slot>

--
Gitblit v1.9.1