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/line1.vue |  213 +++++++++++++++-------------------------------------
 1 files changed, 62 insertions(+), 151 deletions(-)

diff --git a/src/components/echarts/line1.vue b/src/components/echarts/line1.vue
index facffb1..f71efd2 100644
--- a/src/components/echarts/line1.vue
+++ b/src/components/echarts/line1.vue
@@ -4,44 +4,48 @@
   import baseChart from "./BaseChart.vue";
 
   const chart = ref(null);
+  const props = defineProps({
+    type: {
+      type: String,
+      default: '鐢垫祦'
+    },
+    title: {
+      type: String,
+      default: ''
+    },
+    unit: {
+      type: String,
+      default: ''
+    }
+  });
 
 
-	function getOptions() {
-
+ function getOptions(xLabels, datas) {
+    xLabels = xLabels || [];
+    datas = datas || [];
 		const option = {
-			title: {
-				text: '璇锋眰鏁�',
-				textStyle: {
-					fontWeight: 'normal',
-					fontSize: 16,
-					color: '#F1F1F3'
-				},
-				left: '6%'
-			},
+			// title: {
+			// 	text: props.title,
+			// 	textStyle: {
+			// 		fontWeight: 'normal',
+			// 		fontSize: 14,
+			// 		color: '#fff'
+			// 	},
+			// 	left: '6%'
+			// },
 			tooltip: {
 				trigger: 'axis',
 				axisPointer: {
 					lineStyle: {
-						color: '#57617B'
+						color: '#fff'
 					}
 				}
 			},
-			// legend: {
-			// 	icon: 'rect',
-			// 	itemWidth: 14,
-			// 	itemHeight: 5,
-			// 	itemGap: 13,
-			// 	data: ['绉诲姩', '鐢典俊', '鑱旈��'],
-			// 	right: '4%',
-			// 	textStyle: {
-			// 		fontSize: 12,
-			// 		color: '#F1F1F3'
-			// 	}
-			// },
 			grid: {
 				left: '3%',
 				right: '4%',
 				bottom: '3%',
+        top: 30,
 				containLabel: true
 			},
 			xAxis: [{
@@ -49,158 +53,62 @@
 				boundaryGap: false,
 				axisLine: {
 					lineStyle: {
-						color: '#57617B'
+						color: '#fff'
 					}
 				},
-				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'
-					}
-				}, '鍛ㄦ棩']
+				data: xLabels
 			}],
 			yAxis: [{
 				type: 'value',
-				name: '鍗曚綅锛�%锛�',
+				name: props.unit,
 				axisTick: {
-					show: false
+					show: true,
 				},
 				axisLine: {
+          show: true,
 					lineStyle: {
-						color: '#57617B'
+						color: '#fff'
 					}
 				},
 				axisLabel: {
 					margin: 10,
-					textStyle: {
-						fontSize: 14
-					}
+					fontSize: 12,
+          color: '#fff'
 				},
 				splitLine: {
 					lineStyle: {
-						color: '#57617B'
+						color: 'rgba(255,255,255,0.2)'
 					}
 				}
 			}],
 			series: [{
-				name: '绉诲姩',
+				name: props.type,
 				type: 'line',
 				smooth: true,
 				symbol: 'circle',
 				symbolSize: 5,
 				showSymbol: false,
 				lineStyle: {
-					normal: {
-						width: 1
-					}
+          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
-					}
+          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(137,189,27)',
-						borderColor: 'rgba(137,189,2,0.27)',
-						borderWidth: 12
-
-					}
+          color: 'rgb(0,136,212)',
+          borderColor: 'rgba(0,136,212,0.2)',
+          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]
-			},]
+				data: datas
+			}]
 		};
 
 		return option;
@@ -218,15 +126,18 @@
 	}
 
 	function updateChart(xLabels, datas) {
-		let option = getOptions(xLabels, datas);
-    // if (myChart) {
-
-    //   myChart.setOption(option);
-    // }
+    if (chart.value) {
+			let option = getOptions(xLabels, datas);
+      chart.value.setOption(option);
+		}
 	}
 
+  defineExpose({
+    updateChart
+  });
+
 	onMounted(() => {
-    console.log('line mounted', '=============');
+    // console.log('line mounted', '=============');
     
 		initChart();
 	});

--
Gitblit v1.9.1