feat: 双Y轴左右轴可独立命名 + 不同轴可设不同图表类型

- 双Y轴:左右两个轴都可单独命名(左轴名称/右轴名称输入框)
- 修复系列类型下拉不生效的 bug(seriesTypeOverrides 只写不读),
  现在每个系列可独立设置柱状/折线,结合轴分配实现'左轴柱状+右轴折线'
- 后端 /api/chart 新增 leftAxisName + seriesTypes 参数(POST/GET 均可)
This commit is contained in:
2026-08-19 13:19:28 +08:00
parent 68e4b72d46
commit 576024af76
5 changed files with 40 additions and 15 deletions
+13 -5
View File
@@ -175,6 +175,7 @@ function updateChart() {
const smoothLine = document.getElementById('smoothLine').checked;
const enableSplit = document.getElementById('enableSplit').checked;
const dualAxis = document.getElementById('dualAxis').checked;
const leftAxisName = document.getElementById('leftAxisName').value;
const rightAxisName = document.getElementById('rightAxisName').value;
// 显示/隐藏分割配置
@@ -191,10 +192,17 @@ function updateChart() {
const name = parsedData.seriesNames[origIdx];
const data = parsedData.seriesData[name];
const color = seriesColors[origIdx] || palette[origIdx % palette.length];
let type = chartType === 'bar-line'
? (displayIdx % 2 === 0 ? 'bar' : 'line')
: chartType;
// 系列类型:优先用系列配置的独立覆盖(支持不同轴不同图表类型)
const override = window.seriesTypeOverrides && window.seriesTypeOverrides[origIdx];
let type;
if (override && override !== 'auto') {
type = override;
} else if (chartType === 'bar-line') {
type = displayIdx % 2 === 0 ? 'bar' : 'line';
} else {
type = chartType;
}
const seriesItem = {
name: name,
@@ -391,7 +399,7 @@ function updateChart() {
yAxis: dualAxis ? [
{
type: 'value',
name: '左轴',
name: leftAxisName || '左轴',
nameTextStyle: { color: textColor, fontSize: 11, padding: [0, 0, 0, 4] },
axisLine: { show: false },
axisTick: { show: false },