diff --git a/core/frontend/src/lang/en.js b/core/frontend/src/lang/en.js index d6053f87e8..22069e56a4 100644 --- a/core/frontend/src/lang/en.js +++ b/core/frontend/src/lang/en.js @@ -1385,8 +1385,10 @@ export default { filter_type: 'Filter Type', filter_value_can_not_str: 'Value type can not input string', enum_value_can_not_null: 'Enum Value can not empty.', + column: 'Column', table_config: 'Table Config', table_column_width_config: 'Column Width', + table_column_freeze: 'Column Freeze', table_column_adapt: 'Adapt', table_column_custom: 'Custom', chart_table_pivot: 'Pivot Table', diff --git a/core/frontend/src/lang/tw.js b/core/frontend/src/lang/tw.js index db47fec57f..73a8a431c9 100644 --- a/core/frontend/src/lang/tw.js +++ b/core/frontend/src/lang/tw.js @@ -1383,8 +1383,10 @@ export default { filter_type: '過濾方式', filter_value_can_not_str: '數值類型字段過濾值不能包含文本', enum_value_can_not_null: '字段枚舉值不能為空', + column: '列', table_config: '表格配置', table_column_width_config: '列寬調整', + table_column_freeze: '列凍結', table_column_adapt: '自適應', table_column_custom: '自定義', chart_table_pivot: '透視表', diff --git a/core/frontend/src/lang/zh.js b/core/frontend/src/lang/zh.js index 57d52439db..8b89926e6d 100644 --- a/core/frontend/src/lang/zh.js +++ b/core/frontend/src/lang/zh.js @@ -1383,8 +1383,10 @@ export default { filter_type: '过滤方式', filter_value_can_not_str: '数值类型字段过滤值不能包含文本', enum_value_can_not_null: '字段枚举值不能为空', + column: '列', table_config: '表格配置', table_column_width_config: '列宽调整', + table_column_freeze: '列冻结', table_column_adapt: '自适应', table_column_custom: '自定义', chart_table_pivot: '透视表', diff --git a/core/frontend/src/views/chart/chart/chart.js b/core/frontend/src/views/chart/chart/chart.js index f99e74497e..83c937b590 100644 --- a/core/frontend/src/views/chart/chart/chart.js +++ b/core/frontend/src/views/chart/chart/chart.js @@ -170,7 +170,9 @@ export const DEFAULT_SIZE = { quotaSuffixFontIsItalic: false, quotaSuffixFontIsBolder: false, quotaSuffixLetterSpace: '0', - quotaSuffixFontShadow: false + quotaSuffixFontShadow: false, + tableColumnFreezeHead: 0, + tableColumnFreezeTail: 0 } export const DEFAULT_SUSPENSION = { show: true diff --git a/core/frontend/src/views/chart/chart/table/table-info.js b/core/frontend/src/views/chart/chart/table/table-info.js index 26ec3b6caf..6eb79e7502 100644 --- a/core/frontend/src/views/chart/chart/table/table-info.js +++ b/core/frontend/src/views/chart/chart/table/table-info.js @@ -91,7 +91,8 @@ export function baseTableInfo(s2, container, chart, action, tableData, pageInfo) height: containerDom.offsetHeight, showSeriesNumber: customAttr.size.showIndex, style: getSize(chart), - conditions: getConditions(chart) + conditions: getConditions(chart), + frozenColCount: customAttr.size.tableColumnFreezeHead ?? 0 } // 开启序号之后,第一列就是序号列,修改 label 即可 if (s2Options.showSeriesNumber) { @@ -279,7 +280,8 @@ export function baseTableNormal(s2, container, chart, action, tableData) { height: containerDom.offsetHeight, showSeriesNumber: customAttr.size.showIndex, style: getSize(chart), - conditions: getConditions(chart) + conditions: getConditions(chart), + frozenColCount: customAttr.size.tableColumnFreezeHead ?? 0 } // 开启序号之后,第一列就是序号列,修改 label 即可 if (s2Options.showSeriesNumber) { @@ -291,7 +293,6 @@ export function baseTableNormal(s2, container, chart, action, tableData) { node.label = customAttr.size.indexLabel } } - return node.belongsCell } s2Options.dataCell = (viewMeta) => { return new DataCell(viewMeta, viewMeta?.spreadsheet) diff --git a/core/frontend/src/views/chart/chart/util.js b/core/frontend/src/views/chart/chart/util.js index 03f5f97c8b..141fd9f8e0 100644 --- a/core/frontend/src/views/chart/chart/util.js +++ b/core/frontend/src/views/chart/chart/util.js @@ -63,6 +63,7 @@ export const TYPE_CONFIGS = [ 'tableTitleHeight', 'tableItemHeight', 'tableColumnMode', + 'tableColumnFreeze', 'showIndex', 'indexLabel', 'tableColTooltip', @@ -119,7 +120,8 @@ export const TYPE_CONFIGS = [ 'showIndex', 'indexLabel', 'tableColTooltip', - 'showTableHeader' + 'showTableHeader', + 'tableColumnFreeze' ], 'title-selector-ant-v': [ 'show', @@ -2081,6 +2083,7 @@ export const TYPE_CONFIGS = [ 'tableTitleHeight', 'tableItemHeight', 'tableColumnWidth', + 'tableColumnFreeze', 'showIndex', 'indexLabel', 'tableAutoBreakLine', @@ -2130,6 +2133,7 @@ export const TYPE_CONFIGS = [ 'tableColumnWidth', 'showIndex', 'indexLabel', + 'tableColumnFreeze', 'tableAutoBreakLine', 'showTableHeader' ], diff --git a/core/frontend/src/views/chart/components/senior/dialog/TableThresholdEdit.vue b/core/frontend/src/views/chart/components/senior/dialog/TableThresholdEdit.vue index 11e6457bfc..41cab63cf1 100644 --- a/core/frontend/src/views/chart/components/senior/dialog/TableThresholdEdit.vue +++ b/core/frontend/src/views/chart/components/senior/dialog/TableThresholdEdit.vue @@ -117,7 +117,7 @@ v-show="!item.term.includes('null') && !item.term.includes('empty') && item.term !== 'between'" v-model="item.value" class="value-item" - style="margin-left: 10px; padding-right: 10px" + style="padding-left: 10px" :placeholder="$t('chart.drag_block_label_value')" size="mini" clearable diff --git a/core/frontend/src/views/chart/components/shapeAttr/SizeSelector.vue b/core/frontend/src/views/chart/components/shapeAttr/SizeSelector.vue index c7e88de24c..7103c7e35b 100644 --- a/core/frontend/src/views/chart/components/shapeAttr/SizeSelector.vue +++ b/core/frontend/src/views/chart/components/shapeAttr/SizeSelector.vue @@ -329,6 +329,21 @@ @change="changeBarSizeCase('tableColumnWidth')" /> + + {{ $t('dynamic_time.before') }} + + {{ $t('chart.column') }} + + + {{ $t('dynamic_time.before') }} + + {{ $t('chart.column') }} +