From e7400a7c8468c6389ddd20d1e8ccce710ea223c2 Mon Sep 17 00:00:00 2001 From: wisonic-s Date: Mon, 8 Apr 2024 15:57:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=A7=86=E5=9B=BE):=20ECharts=20=E7=BB=84?= =?UTF-8?q?=E5=90=88=E5=9B=BE=E6=94=AF=E6=8C=81=E5=8D=95=E7=8B=AC=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=E4=B8=BB=E5=89=AF=E8=BD=B4=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/frontend/src/lang/en.js | 4 +- core/frontend/src/lang/tw.js | 4 +- core/frontend/src/lang/zh.js | 4 +- core/frontend/src/views/chart/chart/chart.js | 7 +- .../frontend/src/views/chart/chart/mix/mix.js | 20 +++- core/frontend/src/views/chart/chart/util.js | 9 +- .../components/shapeAttr/LabelSelector.vue | 107 ++++++++++++++++++ 7 files changed, 149 insertions(+), 6 deletions(-) diff --git a/core/frontend/src/lang/en.js b/core/frontend/src/lang/en.js index 5f74ff4cac..1438ae37fa 100644 --- a/core/frontend/src/lang/en.js +++ b/core/frontend/src/lang/en.js @@ -1707,7 +1707,9 @@ export default { regression_loess: 'LOESS', regression_algo: 'Algorithm', trend_line: 'Trend Line', - field_enum: 'Enumeration values' + field_enum: 'Enumeration values', + main_axis_label: 'Main Axis Label', + sub_axis_label: 'Sub Axis Label' }, dataset: { scope_edit: 'Effective only when editing', diff --git a/core/frontend/src/lang/tw.js b/core/frontend/src/lang/tw.js index f714b597cf..1ad207c391 100644 --- a/core/frontend/src/lang/tw.js +++ b/core/frontend/src/lang/tw.js @@ -1700,7 +1700,9 @@ export default { regression_loess: '局部加權', regression_algo: '算法', trend_line: '趨勢線', - field_enum: '枚舉值' + field_enum: '枚舉值', + main_axis_label: '主軸標籤', + sub_axis_label: '副軸標籤' }, dataset: { scope_edit: '僅編輯時生效', diff --git a/core/frontend/src/lang/zh.js b/core/frontend/src/lang/zh.js index a69e63aa59..52366c6037 100644 --- a/core/frontend/src/lang/zh.js +++ b/core/frontend/src/lang/zh.js @@ -1699,7 +1699,9 @@ export default { regression_loess: '局部加权', regression_algo: '算法', trend_line: '趋势线', - field_enum: '枚举值' + field_enum: '枚举值', + main_axis_label: '主轴标签', + sub_axis_label: '副轴标签' }, dataset: { scope_edit: '仅编辑时生效', diff --git a/core/frontend/src/views/chart/chart/chart.js b/core/frontend/src/views/chart/chart/chart.js index 81bc796cc7..d40c2dfc41 100644 --- a/core/frontend/src/views/chart/chart/chart.js +++ b/core/frontend/src/views/chart/chart/chart.js @@ -199,10 +199,15 @@ export const DEFAULT_LABEL = { color: '#909399', fontSize: '10', formatter: '{c}', - gaugeFormatter: '{value}', + subShow: false, + subPosition: 'top', + subColor: '#909399', + subFontSize: '10', + subFormatter: '{c}', labelLine: { show: true }, + gaugeFormatter: '{value}', gaugeLabelFormatter: { type: 'value', // auto,value,percent unit: 1, // 换算单位 diff --git a/core/frontend/src/views/chart/chart/mix/mix.js b/core/frontend/src/views/chart/chart/mix/mix.js index c0c3579016..3604ab7eb5 100644 --- a/core/frontend/src/views/chart/chart/mix/mix.js +++ b/core/frontend/src/views/chart/chart/mix/mix.js @@ -65,7 +65,25 @@ export function baseMixOption(chart_option, chart) { } // label if (customAttr.label) { - y.label = customAttr.label + const { label } = customAttr + const mainLabel = { + show: label.show, + color: label.color, + position: label.position, + fontsize: label.fontSize, + formatter: label.formatter + } + let subLabel = { + show: label.subShow, + color: label.subColor, + position: label.subPosition, + fontSize: label.subFontSize, + formatter: label.subFormatter + } + if (label.subShow === undefined) { + subLabel = mainLabel + } + y.label = i >= yAxis.length ? subLabel : mainLabel } chart_option.legend.data.push(y.name) i >= yAxis.length ? (y.yAxisIndex = 1) : (y.yAxisIndex = 0) diff --git a/core/frontend/src/views/chart/chart/util.js b/core/frontend/src/views/chart/chart/util.js index 75d1a07a40..ab3c792334 100644 --- a/core/frontend/src/views/chart/chart/util.js +++ b/core/frontend/src/views/chart/chart/util.js @@ -2519,11 +2519,18 @@ export const TYPE_CONFIGS = [ 'mix' ], 'label-selector': [ + 'mainLabel', 'show', 'fontSize', 'color', 'position-v', - 'formatter' + 'formatter', + 'subLabel', + 'subShow', + 'subFontSize', + 'subColor', + 'sub-position-v', + 'subFormatter' ], 'tooltip-selector': [ 'show', diff --git a/core/frontend/src/views/chart/components/shapeAttr/LabelSelector.vue b/core/frontend/src/views/chart/components/shapeAttr/LabelSelector.vue index e436a0032c..860bc93ba5 100644 --- a/core/frontend/src/views/chart/components/shapeAttr/LabelSelector.vue +++ b/core/frontend/src/views/chart/components/shapeAttr/LabelSelector.vue @@ -7,6 +7,12 @@ label-width="80px" size="mini" > + + {{ $t('chart.main_axis_label') }} + + + {{ $t('chart.sub_axis_label') }} + + + {{ $t('chart.show') }} + +
+ + + + + + + + + + + + + + + + + {{ $t('chart.content_formatter') }} + +
+ 字符串模板 模板变量有:
{a}:系列名。
{b}:数据名。
{c}:数据值。
{d}:百分比(用于饼图等)。 +
+ +
+
+
+ +
+