From 66e48ee8e286533a9614efa34d42297213c1da4b Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期三, 04 六月 2025 17:34:11 +0800 Subject: [PATCH] 动态溯源(待完成) --- src/utils/chart/chart-option.js | 232 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 218 insertions(+), 14 deletions(-) diff --git a/src/utils/chart/chart-option.js b/src/utils/chart/chart-option.js index bd9de70..5d9269a 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 @@ -97,4 +120,185 @@ }; } -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: '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 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