From 8adf5aac0d125ac1d4e4249a64d769fdcc89f603 Mon Sep 17 00:00:00 2001 From: wisonic-s Date: Mon, 29 Sep 2025 11:05:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=9B=BE=E8=A1=A8):=20=E9=80=8F=E8=A7=86?= =?UTF-8?q?=E8=A1=A8=E6=94=AF=E6=8C=81=E6=8E=A7=E5=88=B6=E8=A1=8C=E5=A4=B4?= =?UTF-8?q?=E5=86=BB=E7=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core-frontend/src/models/chart/chart-attr.d.ts | 4 ++++ .../components/table/TableHeaderSelector.vue | 14 ++++++++++++++ .../views/chart/components/editor/util/chart.ts | 3 ++- .../js/panel/charts/table/table-pivot.ts | 8 ++++++-- 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/core/core-frontend/src/models/chart/chart-attr.d.ts b/core/core-frontend/src/models/chart/chart-attr.d.ts index 3abb8ba7a3..ff96e0fa83 100644 --- a/core/core-frontend/src/models/chart/chart-attr.d.ts +++ b/core/core-frontend/src/models/chart/chart-attr.d.ts @@ -532,6 +532,10 @@ declare interface ChartTableHeaderAttr { name: string }[] } + /** + * 透视表行头冻结 + */ + rowHeaderFreeze: boolean } /** * 单元格属性 diff --git a/core/core-frontend/src/views/chart/components/editor/editor-style/components/table/TableHeaderSelector.vue b/core/core-frontend/src/views/chart/components/editor/editor-style/components/table/TableHeaderSelector.vue index a9c39745c0..8a36c4445c 100644 --- a/core/core-frontend/src/views/chart/components/editor/editor-style/components/table/TableHeaderSelector.vue +++ b/core/core-frontend/src/views/chart/components/editor/editor-style/components/table/TableHeaderSelector.vue @@ -769,6 +769,20 @@ onMounted(() => { {{ t('chart.table_header_show_vertical_border') }} + + + {{ t('chart.table_row_header_freeze') }} + + { 'showColTooltip', 'showRowTooltip', 'showHorizonBorder', - 'showVerticalBorder' + 'showVerticalBorder', + 'rowHeaderFreeze' ], 'table-total-selector': ['row', 'col'], 'basic-style-selector': [ @@ -193,7 +194,7 @@ export class TablePivot extends S2ChartView { }) // total config - const { basicStyle, tooltip, tableTotal } = parseJson(chart.customAttr) + const { basicStyle, tooltip, tableTotal, tableHeader } = parseJson(chart.customAttr) if (!tableTotal.row.subTotalsDimensionsNew || tableTotal.row.subTotalsDimensions == undefined) { tableTotal.row.subTotalsDimensions = r } @@ -448,6 +449,9 @@ export class TablePivot extends S2ChartView { return { supportsCSSTransform: true } + }, + frozen: { + rowHeader: !(tableHeader.rowHeaderFreeze === false) } } // options