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') }}
+