vxe-table 4.21.1 → 4.21.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.esm.js +166 -102
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/hook.js +4 -0
- package/es/table/module/export/export-panel.js +3 -2
- package/es/table/module/export/hook.js +13 -7
- package/es/table/module/filter/hook.js +97 -79
- package/es/table/src/body.js +12 -4
- package/es/table/src/footer.js +12 -3
- package/es/table/src/header.js +12 -4
- package/es/table/src/table.js +12 -2
- package/es/table/src/util.js +1 -0
- package/es/table/style.css +35 -60
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/dom.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +35 -60
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +176 -110
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/hook.js +6 -0
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/module/export/export-panel.js +3 -2
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/hook.js +15 -7
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/module/filter/hook.js +111 -86
- package/lib/table/module/filter/hook.min.js +1 -1
- package/lib/table/src/body.js +11 -3
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +12 -3
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +11 -3
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/table.js +3 -3
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +1 -0
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +35 -60
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +1 -1
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +35 -60
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/table/module/custom/hook.ts +4 -0
- package/packages/table/module/export/export-panel.ts +3 -2
- package/packages/table/module/export/hook.ts +12 -7
- package/packages/table/module/filter/hook.ts +94 -75
- package/packages/table/src/body.ts +14 -4
- package/packages/table/src/footer.ts +14 -3
- package/packages/table/src/header.ts +14 -4
- package/packages/table/src/table.ts +12 -2
- package/packages/table/src/util.ts +1 -0
- package/packages/ui/src/dom.ts +1 -1
- package/packages/ui/src/utils.ts +1 -1
- package/styles/components/table.scss +37 -75
- /package/es/{iconfont.1787542597284.ttf → iconfont.1788176649939.ttf} +0 -0
- /package/es/{iconfont.1787542597284.woff → iconfont.1788176649939.woff} +0 -0
- /package/es/{iconfont.1787542597284.woff2 → iconfont.1788176649939.woff2} +0 -0
- /package/lib/{iconfont.1787542597284.ttf → iconfont.1788176649939.ttf} +0 -0
- /package/lib/{iconfont.1787542597284.woff → iconfont.1788176649939.woff} +0 -0
- /package/lib/{iconfont.1787542597284.woff2 → iconfont.1788176649939.woff2} +0 -0
|
@@ -471,6 +471,10 @@ VxeUI.hooks.add('tableCustomModule', {
|
|
|
471
471
|
handleUpdateCustomColumn,
|
|
472
472
|
handleCustomStyle() {
|
|
473
473
|
const reactData = $xeTable.reactData;
|
|
474
|
+
const { customStore } = reactData;
|
|
475
|
+
if (!customStore.visible) {
|
|
476
|
+
return nextTick();
|
|
477
|
+
}
|
|
474
478
|
reactData.isCustomDragStatus = false;
|
|
475
479
|
return updatePopupStyle();
|
|
476
480
|
}
|
|
@@ -117,9 +117,10 @@ export default defineVxeComponent({
|
|
|
117
117
|
const { hasMerge, columns } = storeData;
|
|
118
118
|
const checkedAll = computeCheckedAll.value;
|
|
119
119
|
const supportMerge = computeSupportMerge.value;
|
|
120
|
-
|
|
120
|
+
// 内部导出使用 _columns -> _children 为自定义子集
|
|
121
|
+
const expColumns = XEUtils.searchTree(columns, (column) => column.checked, { children: 'children', mapChildren: '_children', original: true });
|
|
121
122
|
return Object.assign({}, defaultOptions, {
|
|
122
|
-
|
|
123
|
+
_columns: expColumns,
|
|
123
124
|
isMerge: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false
|
|
124
125
|
});
|
|
125
126
|
};
|
|
@@ -257,7 +257,7 @@ const tableExportMethodKeys = ['exportData', 'importByFile', 'importData', 'save
|
|
|
257
257
|
hooks.add('tableExportModule', {
|
|
258
258
|
setupTable($xeTable) {
|
|
259
259
|
const { props, reactData, internalData } = $xeTable;
|
|
260
|
-
const { computeTreeOpts, computePrintOpts, computeExportOpts, computeImportOpts,
|
|
260
|
+
const { computeTreeOpts, computePrintOpts, computeExportOpts, computeImportOpts, computeSeqOpts, computeRadioOpts, computeCheckboxOpts, computeColumnOpts, computeAggregateOpts } = $xeTable.getComputeMaps();
|
|
261
261
|
const getSeq = (cellValue, row, $rowIndex, column, $columnIndex) => {
|
|
262
262
|
const seqOpts = computeSeqOpts.value;
|
|
263
263
|
const seqMd = seqOpts.seqMethod || column.seqMethod;
|
|
@@ -1214,9 +1214,9 @@ hooks.add('tableExportModule', {
|
|
|
1214
1214
|
const { initStore, isGroup, rowGroupList, footerTableData, exportStore, exportParams } = reactData;
|
|
1215
1215
|
const { collectColumn, mergeBodyList, mergeFooterList } = internalData;
|
|
1216
1216
|
const exportOpts = computeExportOpts.value;
|
|
1217
|
+
const printOpts = computePrintOpts.value;
|
|
1217
1218
|
const hasTree = !!treeConfig;
|
|
1218
1219
|
const hasRowGroup = rowGroupList.length > 0;
|
|
1219
|
-
const customOpts = computeCustomOpts.value;
|
|
1220
1220
|
const selectRecords = $xeTable.getCheckboxRecords();
|
|
1221
1221
|
const proxyOpts = $xeGGWrapper ? $xeGGWrapper.getComputeMaps().computeProxyOpts.value : {};
|
|
1222
1222
|
const hasFooter = !!footerTableData.length;
|
|
@@ -1237,9 +1237,9 @@ hooks.add('tableExportModule', {
|
|
|
1237
1237
|
warnLog('vxe.error.delProp', ['isAllExpand', 'isTreeAllExpanded']);
|
|
1238
1238
|
defOpts.isTreeAllExpanded = defOpts.isAllExpand;
|
|
1239
1239
|
}
|
|
1240
|
-
const types = defOpts.types || XEUtils.keys(exportOpts._typeMaps);
|
|
1240
|
+
const types = isPrint ? [] : (defOpts.types || XEUtils.keys(exportOpts._typeMaps));
|
|
1241
1241
|
const modes = defOpts.modes || [];
|
|
1242
|
-
const checkMethod =
|
|
1242
|
+
const checkMethod = (isPrint ? printOpts : exportOpts).checkMethod;
|
|
1243
1243
|
const exportColumns = collectColumn.slice(0);
|
|
1244
1244
|
const { columns, excludeFields, includeFields, extraFields } = defOpts;
|
|
1245
1245
|
// 处理类型
|
|
@@ -1346,10 +1346,10 @@ hooks.add('tableExportModule', {
|
|
|
1346
1346
|
}
|
|
1347
1347
|
}
|
|
1348
1348
|
if (!modeList.some(item => item.value === mode)) {
|
|
1349
|
-
exportParams.mode = modeList[0].value;
|
|
1349
|
+
exportParams.mode = modeList.length ? modeList[0].value : '';
|
|
1350
1350
|
}
|
|
1351
1351
|
if (!typeList.some(item => item.value === type)) {
|
|
1352
|
-
exportParams.type = typeList[0].value;
|
|
1352
|
+
exportParams.type = typeList.length ? typeList[0].value : '';
|
|
1353
1353
|
}
|
|
1354
1354
|
if (!exportParams.widthMode) {
|
|
1355
1355
|
exportParams.widthMode = '';
|
|
@@ -1438,7 +1438,13 @@ hooks.add('tableExportModule', {
|
|
|
1438
1438
|
}
|
|
1439
1439
|
let isCustomCol = false;
|
|
1440
1440
|
let customCols = [];
|
|
1441
|
-
|
|
1441
|
+
const _columns = opts._columns;
|
|
1442
|
+
if (_columns) {
|
|
1443
|
+
// 内部导出使用 _columns -> _children 为自定义子集
|
|
1444
|
+
isCustomCol = true;
|
|
1445
|
+
customCols = XEUtils.searchTree(_columns, () => true, { children: '_children', mapChildren: 'childNodes', original: true });
|
|
1446
|
+
}
|
|
1447
|
+
else if (columns) {
|
|
1442
1448
|
isCustomCol = true;
|
|
1443
1449
|
customCols = XEUtils.searchTree(columns, () => true, { children: 'children', mapChildren: 'childNodes', original: true });
|
|
1444
1450
|
}
|
|
@@ -15,6 +15,92 @@ hooks.add('tableFilterModule', {
|
|
|
15
15
|
const { props, reactData, internalData } = $xeTable;
|
|
16
16
|
const { refElem, refTableFilter } = $xeTable.getRefMaps();
|
|
17
17
|
const { computeFilterOpts, computeMouseOpts } = $xeTable.getComputeMaps();
|
|
18
|
+
const updatePopupStyle = () => {
|
|
19
|
+
const { filterStore } = reactData;
|
|
20
|
+
const { elemStore } = internalData;
|
|
21
|
+
const { column, targetEl } = filterStore;
|
|
22
|
+
if (!column || !targetEl) {
|
|
23
|
+
return nextTick();
|
|
24
|
+
}
|
|
25
|
+
const tableEl = refElem.value;
|
|
26
|
+
const { scrollTop, scrollLeft, visibleHeight, visibleWidth } = getDomNode();
|
|
27
|
+
const filterOpts = computeFilterOpts.value;
|
|
28
|
+
const { maxHeight: customMaxHeight, transfer, zIndex } = filterOpts;
|
|
29
|
+
const currEl = targetEl;
|
|
30
|
+
const tableRect = tableEl.getBoundingClientRect();
|
|
31
|
+
const filterRender = column ? column.filterRender : null;
|
|
32
|
+
const compConf = filterRender && isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
|
|
33
|
+
const headerScrollElem = getRefElem(elemStore['main-header-scroll']);
|
|
34
|
+
if (!headerScrollElem) {
|
|
35
|
+
return nextTick();
|
|
36
|
+
}
|
|
37
|
+
const tableFilter = refTableFilter.value;
|
|
38
|
+
const filterWrapperElem = tableFilter ? tableFilter.getRefMaps().refElem.value : null;
|
|
39
|
+
if (!filterWrapperElem) {
|
|
40
|
+
return nextTick();
|
|
41
|
+
}
|
|
42
|
+
const btnRect = currEl.getBoundingClientRect();
|
|
43
|
+
const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
|
|
44
|
+
const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
|
|
45
|
+
const filterWidth = filterWrapperElem.offsetWidth;
|
|
46
|
+
const centerWidth = currEl ? filterWidth / 2 : ((filterWidth - column.renderWidth) / 2);
|
|
47
|
+
let left = 0;
|
|
48
|
+
let top = 0;
|
|
49
|
+
let maxHeight = 0;
|
|
50
|
+
/**
|
|
51
|
+
* 是否显示筛选按钮图标
|
|
52
|
+
* 如果不存在图标,则相对单元格居中显示
|
|
53
|
+
*/
|
|
54
|
+
if (transfer) {
|
|
55
|
+
left = btnRect.left - centerWidth + scrollLeft;
|
|
56
|
+
top = btnRect.top + currEl.clientHeight + scrollTop;
|
|
57
|
+
maxHeight = Math.min(Math.max(tableRect.height, Math.floor(visibleHeight / 2)), Math.max(80, visibleHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 28));
|
|
58
|
+
if (left < 16) {
|
|
59
|
+
left = 16;
|
|
60
|
+
}
|
|
61
|
+
else if (left > (visibleWidth - filterWidth - 16)) {
|
|
62
|
+
left = visibleWidth - filterWidth - 16;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
left = btnRect.left - tableRect.left - centerWidth;
|
|
67
|
+
top = btnRect.top - tableRect.top + currEl.clientHeight;
|
|
68
|
+
maxHeight = Math.max(40, tableEl.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
|
|
69
|
+
if (left < 1) {
|
|
70
|
+
left = 1;
|
|
71
|
+
}
|
|
72
|
+
else if (left > (tableEl.clientWidth - filterWidth - 1)) {
|
|
73
|
+
left = tableEl.clientWidth - filterWidth - 1;
|
|
74
|
+
}
|
|
75
|
+
if ($xeGGWrapper) {
|
|
76
|
+
const wrapperEl = $xeGGWrapper.getRefMaps().refElem.value;
|
|
77
|
+
if (wrapperEl) {
|
|
78
|
+
const wrapperRect = wrapperEl.getBoundingClientRect();
|
|
79
|
+
top += tableRect.top - wrapperRect.top;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
const fStys = {
|
|
84
|
+
top: toCssUnit(top),
|
|
85
|
+
left: toCssUnit(left)
|
|
86
|
+
};
|
|
87
|
+
if (zIndex) {
|
|
88
|
+
fStys.zIndex = zIndex;
|
|
89
|
+
}
|
|
90
|
+
filterStore.style = fStys;
|
|
91
|
+
// 筛选面板是自适应表格高度
|
|
92
|
+
if (compConf ? !compConf.tableFilterAutoHeight : false) {
|
|
93
|
+
maxHeight = 0;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
if (customMaxHeight) {
|
|
97
|
+
maxHeight = customMaxHeight > maxHeight ? maxHeight : customMaxHeight;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// 判断面板不能大于表格高度
|
|
101
|
+
filterStore.maxHeight = maxHeight;
|
|
102
|
+
return nextTick();
|
|
103
|
+
};
|
|
18
104
|
const filterPrivateMethods = {
|
|
19
105
|
checkFilterOptions() {
|
|
20
106
|
const { filterStore } = reactData;
|
|
@@ -27,96 +113,21 @@ hooks.add('tableFilterModule', {
|
|
|
27
113
|
},
|
|
28
114
|
handleOpenFilterColumn(evnt, btnEl, colEl, column, params) {
|
|
29
115
|
const { initStore, filterStore } = reactData;
|
|
30
|
-
const { elemStore } = internalData;
|
|
31
116
|
if (filterStore.column === column && filterStore.visible) {
|
|
32
117
|
filterStore.visible = false;
|
|
33
118
|
}
|
|
34
119
|
else {
|
|
35
|
-
const tableEl = refElem.value;
|
|
36
|
-
const { scrollTop, scrollLeft, visibleHeight, visibleWidth } = getDomNode();
|
|
37
|
-
const filterOpts = computeFilterOpts.value;
|
|
38
|
-
const { maxHeight: customMaxHeight, transfer, zIndex } = filterOpts;
|
|
39
120
|
const currEl = btnEl || colEl;
|
|
40
|
-
const tableRect = tableEl.getBoundingClientRect();
|
|
41
|
-
const filterRender = column ? column.filterRender : null;
|
|
42
|
-
const compConf = filterRender && isEnableConf(filterRender) ? renderer.get(filterRender.name) : null;
|
|
43
121
|
$xeTable.handleFilterOptions(column);
|
|
44
122
|
internalData._currFilterParams = params;
|
|
123
|
+
filterStore.targetEl = currEl;
|
|
45
124
|
filterStore.style = null;
|
|
46
125
|
filterStore.visible = true;
|
|
47
126
|
initStore.filter = true;
|
|
48
|
-
nextTick(() => {
|
|
49
|
-
const headerScrollElem = getRefElem(elemStore['main-header-scroll']);
|
|
50
|
-
if (!headerScrollElem) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
const tableFilter = refTableFilter.value;
|
|
54
|
-
const filterWrapperElem = tableFilter ? tableFilter.getRefMaps().refElem.value : null;
|
|
55
|
-
if (!filterWrapperElem) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
const btnRect = currEl.getBoundingClientRect();
|
|
59
|
-
const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
|
|
60
|
-
const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
|
|
61
|
-
const filterWidth = filterWrapperElem.offsetWidth;
|
|
62
|
-
const centerWidth = btnEl ? filterWidth / 2 : ((filterWidth - column.renderWidth) / 2);
|
|
63
|
-
let left = 0;
|
|
64
|
-
let top = 0;
|
|
65
|
-
let maxHeight = 0;
|
|
66
|
-
/**
|
|
67
|
-
* 是否显示筛选按钮图标
|
|
68
|
-
* 如果不存在图标,则相对单元格居中显示
|
|
69
|
-
*/
|
|
70
|
-
if (transfer) {
|
|
71
|
-
left = btnRect.left - centerWidth + scrollLeft;
|
|
72
|
-
top = btnRect.top + currEl.clientHeight + scrollTop;
|
|
73
|
-
maxHeight = Math.min(Math.max(tableRect.height, Math.floor(visibleHeight / 2)), Math.max(80, visibleHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 28));
|
|
74
|
-
if (left < 16) {
|
|
75
|
-
left = 16;
|
|
76
|
-
}
|
|
77
|
-
else if (left > (visibleWidth - filterWidth - 16)) {
|
|
78
|
-
left = visibleWidth - filterWidth - 16;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
left = btnRect.left - tableRect.left - centerWidth;
|
|
83
|
-
top = btnRect.top - tableRect.top + currEl.clientHeight;
|
|
84
|
-
maxHeight = Math.max(40, tableEl.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
|
|
85
|
-
if (left < 1) {
|
|
86
|
-
left = 1;
|
|
87
|
-
}
|
|
88
|
-
else if (left > (tableEl.clientWidth - filterWidth - 1)) {
|
|
89
|
-
left = tableEl.clientWidth - filterWidth - 1;
|
|
90
|
-
}
|
|
91
|
-
if ($xeGGWrapper) {
|
|
92
|
-
const wrapperEl = $xeGGWrapper.getRefMaps().refElem.value;
|
|
93
|
-
if (wrapperEl) {
|
|
94
|
-
const wrapperRect = wrapperEl.getBoundingClientRect();
|
|
95
|
-
top += tableRect.top - wrapperRect.top;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
const fStys = {
|
|
100
|
-
top: toCssUnit(top),
|
|
101
|
-
left: toCssUnit(left)
|
|
102
|
-
};
|
|
103
|
-
if (zIndex) {
|
|
104
|
-
fStys.zIndex = zIndex;
|
|
105
|
-
}
|
|
106
|
-
filterStore.style = fStys;
|
|
107
|
-
// 筛选面板是自适应表格高度
|
|
108
|
-
if (compConf ? !compConf.tableFilterAutoHeight : false) {
|
|
109
|
-
maxHeight = 0;
|
|
110
|
-
}
|
|
111
|
-
else {
|
|
112
|
-
if (customMaxHeight) {
|
|
113
|
-
maxHeight = customMaxHeight > maxHeight ? maxHeight : customMaxHeight;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
// 判断面板不能大于表格高度
|
|
117
|
-
filterStore.maxHeight = maxHeight;
|
|
118
|
-
});
|
|
119
127
|
}
|
|
128
|
+
nextTick(() => {
|
|
129
|
+
updatePopupStyle();
|
|
130
|
+
});
|
|
120
131
|
$xeTable.dispatchEvent('filter-visible', { column, field: column.field, property: column.field, filterList: $xeTable.getCheckedFilters(), visible: filterStore.visible }, evnt);
|
|
121
132
|
},
|
|
122
133
|
/**
|
|
@@ -274,6 +285,13 @@ hooks.add('tableFilterModule', {
|
|
|
274
285
|
$xeTable.dispatchEvent('clear-filter', { filterList: [] }, evnt);
|
|
275
286
|
}
|
|
276
287
|
}
|
|
288
|
+
},
|
|
289
|
+
handleFilterStyle() {
|
|
290
|
+
const { filterStore } = reactData;
|
|
291
|
+
if (!filterStore.visible) {
|
|
292
|
+
return nextTick();
|
|
293
|
+
}
|
|
294
|
+
return updatePopupStyle();
|
|
277
295
|
}
|
|
278
296
|
};
|
|
279
297
|
const filterMethods = {
|
package/es/table/src/body.js
CHANGED
|
@@ -4,7 +4,7 @@ import XEUtils from 'xe-utils';
|
|
|
4
4
|
import { VxeUI } from '../../ui';
|
|
5
5
|
import { getRowid, createHandleGetRowId, getCellRestHeight } from './util';
|
|
6
6
|
import { updateCellTitle, getPropClass } from '../../ui/src/dom';
|
|
7
|
-
import { isEnableConf } from '../../ui/src/utils';
|
|
7
|
+
import { isEnableConf, getDefaultConfig } from '../../ui/src/utils';
|
|
8
8
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
9
9
|
const { getI18n, renderer, renderEmptyElement } = VxeUI;
|
|
10
10
|
const sourceType = 'table';
|
|
@@ -135,8 +135,13 @@ export default defineVxeComponent({
|
|
|
135
135
|
const isEdit = isEnableConf(editRender);
|
|
136
136
|
const resizeHeight = resizeHeightFlag ? rowRest.resizeHeight : 0;
|
|
137
137
|
let fixedHiddenColumn = overflowX && (fixedType ? column.fixed !== fixedType : !!column.fixed);
|
|
138
|
-
const
|
|
139
|
-
const
|
|
138
|
+
const cellPadding = getDefaultConfig(padding, (allPadding === null ? cellOpts.padding : allPadding));
|
|
139
|
+
const isAllCellPadding = cellPadding === true;
|
|
140
|
+
const isCellPaddingTop = cellPadding ? (isAllCellPadding || cellPadding.top !== false) : false;
|
|
141
|
+
const isCellPaddingBottom = cellPadding ? (isAllCellPadding || cellPadding.bottom !== false) : false;
|
|
142
|
+
const isCellPaddingLeft = cellPadding ? (isAllCellPadding || cellPadding.left !== false) : false;
|
|
143
|
+
const isCellPaddingRight = cellPadding ? (isAllCellPadding || cellPadding.right !== false) : false;
|
|
144
|
+
const cellOverflow = getDefaultConfig(showOverflow, allShowOverflow);
|
|
140
145
|
const showEllipsis = (cellOverflow === true ? tooltipOpts.mode : cellOverflow) === 'ellipsis';
|
|
141
146
|
const showTitle = (cellOverflow === true ? tooltipOpts.mode : cellOverflow) === 'title';
|
|
142
147
|
const showTooltip = (cellOverflow === true ? tooltipOpts.mode : cellOverflow) === 'tooltip';
|
|
@@ -428,7 +433,10 @@ export default defineVxeComponent({
|
|
|
428
433
|
'col--max-height': maxHeight,
|
|
429
434
|
'fixed--width': !isAutoCellWidth,
|
|
430
435
|
'fixed--hidden': fixedHiddenColumn,
|
|
431
|
-
'is--
|
|
436
|
+
'is--pg-top': isCellPaddingTop,
|
|
437
|
+
'is--pg-bottom': isCellPaddingBottom,
|
|
438
|
+
'is--pg-left': isCellPaddingLeft,
|
|
439
|
+
'is--pg-right': isCellPaddingRight,
|
|
432
440
|
'is--progress': (fixedHiddenColumn && isAllOverflow) || isVNPreEmptyStatus,
|
|
433
441
|
'is--drag-cell': isRowDragCell && (isCrossDrag || isPeerDrag || !rowLevel),
|
|
434
442
|
'is--drag-disabled': isDisabledDrag,
|
package/es/table/src/footer.js
CHANGED
|
@@ -4,6 +4,7 @@ import XEUtils from 'xe-utils';
|
|
|
4
4
|
import { VxeUI } from '../../ui';
|
|
5
5
|
import { updateCellTitle, getPropClass } from '../../ui/src/dom';
|
|
6
6
|
import { getCalcHeight } from './util';
|
|
7
|
+
import { getDefaultConfig } from '../../ui/src/utils';
|
|
7
8
|
const { renderer, renderEmptyElement } = VxeUI;
|
|
8
9
|
const sourceType = 'table';
|
|
9
10
|
const renderType = 'footer';
|
|
@@ -61,8 +62,13 @@ export default defineVxeComponent({
|
|
|
61
62
|
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
62
63
|
const showAllTip = footerTooltipOpts.showAll;
|
|
63
64
|
const fixedHiddenColumn = overflowX && (fixedType ? column.fixed !== fixedType : !!column.fixed);
|
|
64
|
-
const
|
|
65
|
-
const
|
|
65
|
+
const cellPadding = getDefaultConfig(footerCellOpts.padding, cellOpts.padding);
|
|
66
|
+
const isAllCellPadding = cellPadding === true;
|
|
67
|
+
const isCellPaddingTop = cellPadding ? (isAllCellPadding || cellPadding.top !== false) : false;
|
|
68
|
+
const isCellPaddingBottom = cellPadding ? (isAllCellPadding || cellPadding.bottom !== false) : false;
|
|
69
|
+
const isCellPaddingLeft = cellPadding ? (isAllCellPadding || cellPadding.left !== false) : false;
|
|
70
|
+
const isCellPaddingRight = cellPadding ? (isAllCellPadding || cellPadding.right !== false) : false;
|
|
71
|
+
const footOverflow = getDefaultConfig(showFooterOverflow, allColumnFooterOverflow);
|
|
66
72
|
const footAlign = footerAlign || (compConf ? compConf.tableFooterCellAlign : '') || allFooterAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
|
|
67
73
|
const showEllipsis = (footOverflow === true ? footerTooltipOpts.mode : footOverflow) === 'ellipsis';
|
|
68
74
|
const showTitle = (footOverflow === true ? footerTooltipOpts.mode : footOverflow) === 'title';
|
|
@@ -169,7 +175,10 @@ export default defineVxeComponent({
|
|
|
169
175
|
'col--last': isLastColumn,
|
|
170
176
|
'fixed--width': !isAutoCellWidth,
|
|
171
177
|
'fixed--hidden': fixedHiddenColumn,
|
|
172
|
-
'is--
|
|
178
|
+
'is--pg-top': isCellPaddingTop,
|
|
179
|
+
'is--pg-bottom': isCellPaddingBottom,
|
|
180
|
+
'is--pg-left': isCellPaddingLeft,
|
|
181
|
+
'is--pg-right': isCellPaddingRight,
|
|
173
182
|
'col--ellipsis': hasEllipsis,
|
|
174
183
|
'col--current': currentColumn === column
|
|
175
184
|
}, getPropClass(footerClassName, cellParams), getPropClass(footerCellClassName, cellParams)] }, attrs), { style: footerCellStyle ? (XEUtils.isFunction(footerCellStyle) ? footerCellStyle(cellParams) : footerCellStyle) : null }), tfOns), { key: columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || columnOpts.drag ? column.id : $columnIndex }), [
|
package/es/table/src/header.js
CHANGED
|
@@ -2,7 +2,7 @@ import { h, ref, inject, nextTick, watch, onMounted, onUnmounted } from 'vue';
|
|
|
2
2
|
import { defineVxeComponent } from '../../ui/src/comp';
|
|
3
3
|
import XEUtils from 'xe-utils';
|
|
4
4
|
import { VxeUI } from '../../ui';
|
|
5
|
-
import { isEnableConf } from '../../ui/src/utils';
|
|
5
|
+
import { getDefaultConfig, isEnableConf } from '../../ui/src/utils';
|
|
6
6
|
import { getCalcHeight, convertHeaderColumnToRows, convertHeaderToGridRows } from './util';
|
|
7
7
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
8
8
|
const { renderer, renderEmptyElement } = VxeUI;
|
|
@@ -73,8 +73,13 @@ export default defineVxeComponent({
|
|
|
73
73
|
const compConf = renderOpts ? renderer.get(renderOpts.name) : null;
|
|
74
74
|
const isColGroup = column.children && column.children.length;
|
|
75
75
|
const fixedHiddenColumn = overflowX && !isColGroup && (fixedType ? column.fixed !== fixedType : !!column.fixed);
|
|
76
|
-
const
|
|
77
|
-
const
|
|
76
|
+
const cellPadding = getDefaultConfig(headerCellOpts.padding, cellOpts.padding);
|
|
77
|
+
const isAllCellPadding = cellPadding === true;
|
|
78
|
+
const isCellPaddingTop = cellPadding ? (isAllCellPadding || cellPadding.top !== false) : false;
|
|
79
|
+
const isCellPaddingBottom = cellPadding ? (isAllCellPadding || cellPadding.bottom !== false) : false;
|
|
80
|
+
const isCellPaddingLeft = cellPadding ? (isAllCellPadding || cellPadding.left !== false) : false;
|
|
81
|
+
const isCellPaddingRight = cellPadding ? (isAllCellPadding || cellPadding.right !== false) : false;
|
|
82
|
+
const headOverflow = getDefaultConfig(showHeaderOverflow, allColumnHeaderOverflow);
|
|
78
83
|
const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
|
|
79
84
|
const showEllipsis = (headOverflow === true ? headerTooltipOpts.mode : headOverflow) === 'ellipsis';
|
|
80
85
|
const showTitle = (headOverflow === true ? headerTooltipOpts.mode : headOverflow) === 'title';
|
|
@@ -192,7 +197,10 @@ export default defineVxeComponent({
|
|
|
192
197
|
'col--group': isColGroup,
|
|
193
198
|
'col--ellipsis': hasEllipsis,
|
|
194
199
|
'fixed--width': !isAutoCellWidth,
|
|
195
|
-
'is--
|
|
200
|
+
'is--pg-top': isCellPaddingTop,
|
|
201
|
+
'is--pg-bottom': isCellPaddingBottom,
|
|
202
|
+
'is--pg-left': isCellPaddingLeft,
|
|
203
|
+
'is--pg-right': isCellPaddingRight,
|
|
196
204
|
'is--sortable': column.sortable,
|
|
197
205
|
'col--filter': !!filters,
|
|
198
206
|
'is--filter-active': hasFilter,
|
package/es/table/src/table.js
CHANGED
|
@@ -2033,10 +2033,9 @@ export default defineVxeComponent({
|
|
|
2033
2033
|
if (!el || !el.clientWidth) {
|
|
2034
2034
|
return;
|
|
2035
2035
|
}
|
|
2036
|
-
const cellOpts = computeCellOpts.value;
|
|
2037
2036
|
const treeOpts = computeTreeOpts.value;
|
|
2038
2037
|
const defaultRowHeight = computeDefaultRowHeight.value;
|
|
2039
|
-
if (!isAllOverflow && (scrollYLoad || scrollXLoad ||
|
|
2038
|
+
if (!isAllOverflow && (scrollYLoad || scrollXLoad || (treeConfig && treeOpts.showLine))) {
|
|
2040
2039
|
const { handleGetRowId } = createHandleGetRowId($xeTable);
|
|
2041
2040
|
el.setAttribute('data-calc-row', 'Y');
|
|
2042
2041
|
tableData.forEach(row => {
|
|
@@ -8415,6 +8414,11 @@ export default defineVxeComponent({
|
|
|
8415
8414
|
}
|
|
8416
8415
|
};
|
|
8417
8416
|
const handleGlobalScrollEvent = (evnt) => {
|
|
8417
|
+
const { filterStore } = reactData;
|
|
8418
|
+
const filterOpts = computeFilterOpts.value;
|
|
8419
|
+
if (filterStore.visible && filterOpts.transfer) {
|
|
8420
|
+
$xeTable.handleFilterStyle();
|
|
8421
|
+
}
|
|
8418
8422
|
reUpdateCustomStyleEvent(evnt);
|
|
8419
8423
|
};
|
|
8420
8424
|
/**
|
|
@@ -14265,6 +14269,12 @@ export default defineVxeComponent({
|
|
|
14265
14269
|
}, () => {
|
|
14266
14270
|
reLayoutFlag.value++;
|
|
14267
14271
|
});
|
|
14272
|
+
watch(() => {
|
|
14273
|
+
const cellOpts = computeCellOpts.value;
|
|
14274
|
+
return cellOpts.height;
|
|
14275
|
+
}, () => {
|
|
14276
|
+
reLayoutFlag.value++;
|
|
14277
|
+
});
|
|
14268
14278
|
watch(reLayoutFlag, () => {
|
|
14269
14279
|
$xeTable.recalculate(true);
|
|
14270
14280
|
});
|
package/es/table/src/util.js
CHANGED
package/es/table/style.css
CHANGED
|
@@ -1834,21 +1834,28 @@
|
|
|
1834
1834
|
|
|
1835
1835
|
.vxe-table {
|
|
1836
1836
|
--vxe-ui-table-current-font-size: var(--vxe-ui-font-size-default);
|
|
1837
|
+
--vxe-ui-table-current-cell-padding: var(--vxe-ui-table-cell-padding-default);
|
|
1838
|
+
--vxe-ui-table-current-row-line-height: var(--vxe-ui-table-row-line-height);
|
|
1837
1839
|
}
|
|
1838
1840
|
.vxe-table.size--xlarge {
|
|
1839
1841
|
--vxe-ui-table-current-font-size: var(--vxe-ui-font-size-xlarge);
|
|
1842
|
+
--vxe-ui-table-current-cell-padding: var(--vxe-ui-table-cell-padding-xlarge);
|
|
1840
1843
|
}
|
|
1841
1844
|
.vxe-table.size--large {
|
|
1842
1845
|
--vxe-ui-table-current-font-size: var(--vxe-ui-font-size-large);
|
|
1846
|
+
--vxe-ui-table-current-cell-padding: var(--vxe-ui-table-cell-padding-large);
|
|
1843
1847
|
}
|
|
1844
1848
|
.vxe-table.size--medium {
|
|
1845
1849
|
--vxe-ui-table-current-font-size: var(--vxe-ui-font-size-medium);
|
|
1850
|
+
--vxe-ui-table-current-cell-padding: var(--vxe-ui-table-cell-padding-medium);
|
|
1846
1851
|
}
|
|
1847
1852
|
.vxe-table.size--small {
|
|
1848
1853
|
--vxe-ui-table-current-font-size: var(--vxe-ui-font-size-small);
|
|
1854
|
+
--vxe-ui-table-current-cell-padding: var(--vxe-ui-table-cell-padding-small);
|
|
1849
1855
|
}
|
|
1850
1856
|
.vxe-table.size--mini {
|
|
1851
1857
|
--vxe-ui-table-current-font-size: var(--vxe-ui-font-size-mini);
|
|
1858
|
+
--vxe-ui-table-current-cell-padding: var(--vxe-ui-table-cell-padding-mini);
|
|
1852
1859
|
}
|
|
1853
1860
|
|
|
1854
1861
|
.vxe-table-slots,
|
|
@@ -2977,6 +2984,32 @@
|
|
|
2977
2984
|
white-space: nowrap;
|
|
2978
2985
|
}
|
|
2979
2986
|
|
|
2987
|
+
.vxe-header--column.is--pg-top .vxe-cell,
|
|
2988
|
+
.vxe-body--column.is--pg-top .vxe-cell,
|
|
2989
|
+
.vxe-footer--column.is--pg-top .vxe-cell {
|
|
2990
|
+
padding-top: var(--vxe-ui-table-current-cell-padding);
|
|
2991
|
+
}
|
|
2992
|
+
.vxe-header--column.is--pg-bottom .vxe-cell,
|
|
2993
|
+
.vxe-body--column.is--pg-bottom .vxe-cell,
|
|
2994
|
+
.vxe-footer--column.is--pg-bottom .vxe-cell {
|
|
2995
|
+
padding-bottom: var(--vxe-ui-table-current-cell-padding);
|
|
2996
|
+
}
|
|
2997
|
+
.vxe-header--column.is--pg-left .vxe-cell,
|
|
2998
|
+
.vxe-body--column.is--pg-left .vxe-cell,
|
|
2999
|
+
.vxe-footer--column.is--pg-left .vxe-cell {
|
|
3000
|
+
padding-left: var(--vxe-ui-table-current-cell-padding);
|
|
3001
|
+
}
|
|
3002
|
+
.vxe-header--column.is--pg-right .vxe-cell,
|
|
3003
|
+
.vxe-body--column.is--pg-right .vxe-cell,
|
|
3004
|
+
.vxe-footer--column.is--pg-right .vxe-cell {
|
|
3005
|
+
padding-right: var(--vxe-ui-table-current-cell-padding);
|
|
3006
|
+
}
|
|
3007
|
+
.vxe-header--column .vxe-default-textarea,
|
|
3008
|
+
.vxe-body--column .vxe-default-textarea,
|
|
3009
|
+
.vxe-footer--column .vxe-default-textarea {
|
|
3010
|
+
padding: var(--vxe-ui-table-current-cell-padding);
|
|
3011
|
+
}
|
|
3012
|
+
|
|
2980
3013
|
/*table*/
|
|
2981
3014
|
.vxe-table--render-default {
|
|
2982
3015
|
position: relative;
|
|
@@ -3067,7 +3100,7 @@
|
|
|
3067
3100
|
.vxe-table--render-default .vxe-body--column,
|
|
3068
3101
|
.vxe-table--render-default .vxe-footer--column {
|
|
3069
3102
|
position: relative;
|
|
3070
|
-
line-height: var(--vxe-ui-table-row-line-height);
|
|
3103
|
+
line-height: var(--vxe-ui-table-current-row-line-height);
|
|
3071
3104
|
text-align: left;
|
|
3072
3105
|
}
|
|
3073
3106
|
.vxe-table--render-default .vxe-header--column.col--center,
|
|
@@ -3117,7 +3150,7 @@
|
|
|
3117
3150
|
.vxe-table--render-default .vxe-body--column,
|
|
3118
3151
|
.vxe-table--render-default .vxe-footer--column {
|
|
3119
3152
|
position: relative;
|
|
3120
|
-
line-height: var(--vxe-ui-table-row-line-height);
|
|
3153
|
+
line-height: var(--vxe-ui-table-current-row-line-height);
|
|
3121
3154
|
text-align: left;
|
|
3122
3155
|
}
|
|
3123
3156
|
.vxe-table--render-default .vxe-header--column.col--current,
|
|
@@ -3270,16 +3303,6 @@
|
|
|
3270
3303
|
.vxe-table--render-default.size--medium .vxe-table--empty-block {
|
|
3271
3304
|
min-height: var(--vxe-ui-table-row-height-medium);
|
|
3272
3305
|
}
|
|
3273
|
-
.vxe-table--render-default.size--medium .vxe-header--column.is--padding .vxe-cell,
|
|
3274
|
-
.vxe-table--render-default.size--medium .vxe-body--column.is--padding .vxe-cell,
|
|
3275
|
-
.vxe-table--render-default.size--medium .vxe-footer--column.is--padding .vxe-cell {
|
|
3276
|
-
padding: var(--vxe-ui-table-cell-padding-medium);
|
|
3277
|
-
}
|
|
3278
|
-
.vxe-table--render-default.size--medium .vxe-header--column.is--padding .vxe-cell .vxe-default-textarea,
|
|
3279
|
-
.vxe-table--render-default.size--medium .vxe-body--column.is--padding .vxe-cell .vxe-default-textarea,
|
|
3280
|
-
.vxe-table--render-default.size--medium .vxe-footer--column.is--padding .vxe-cell .vxe-default-textarea {
|
|
3281
|
-
padding: var(--vxe-ui-table-cell-padding-medium);
|
|
3282
|
-
}
|
|
3283
3306
|
.vxe-table--render-default.size--medium .vxe-cell .vxe-default-input,
|
|
3284
3307
|
.vxe-table--render-default.size--medium .vxe-cell .vxe-default-textarea,
|
|
3285
3308
|
.vxe-table--render-default.size--medium .vxe-cell .vxe-default-select {
|
|
@@ -3295,16 +3318,6 @@
|
|
|
3295
3318
|
.vxe-table--render-default.size--small .vxe-table--empty-block {
|
|
3296
3319
|
min-height: var(--vxe-ui-table-row-height-small);
|
|
3297
3320
|
}
|
|
3298
|
-
.vxe-table--render-default.size--small .vxe-header--column.is--padding .vxe-cell,
|
|
3299
|
-
.vxe-table--render-default.size--small .vxe-body--column.is--padding .vxe-cell,
|
|
3300
|
-
.vxe-table--render-default.size--small .vxe-footer--column.is--padding .vxe-cell {
|
|
3301
|
-
padding: var(--vxe-ui-table-cell-padding-small);
|
|
3302
|
-
}
|
|
3303
|
-
.vxe-table--render-default.size--small .vxe-header--column.is--padding .vxe-cell .vxe-default-textarea,
|
|
3304
|
-
.vxe-table--render-default.size--small .vxe-body--column.is--padding .vxe-cell .vxe-default-textarea,
|
|
3305
|
-
.vxe-table--render-default.size--small .vxe-footer--column.is--padding .vxe-cell .vxe-default-textarea {
|
|
3306
|
-
padding: var(--vxe-ui-table-cell-padding-small);
|
|
3307
|
-
}
|
|
3308
3321
|
.vxe-table--render-default.size--small .vxe-cell .vxe-default-input,
|
|
3309
3322
|
.vxe-table--render-default.size--small .vxe-cell .vxe-default-textarea,
|
|
3310
3323
|
.vxe-table--render-default.size--small .vxe-cell .vxe-default-select {
|
|
@@ -3320,16 +3333,6 @@
|
|
|
3320
3333
|
.vxe-table--render-default.size--mini .vxe-table--empty-block {
|
|
3321
3334
|
min-height: var(--vxe-ui-table-row-height-mini);
|
|
3322
3335
|
}
|
|
3323
|
-
.vxe-table--render-default.size--mini .vxe-header--column.is--padding .vxe-cell,
|
|
3324
|
-
.vxe-table--render-default.size--mini .vxe-body--column.is--padding .vxe-cell,
|
|
3325
|
-
.vxe-table--render-default.size--mini .vxe-footer--column.is--padding .vxe-cell {
|
|
3326
|
-
padding: var(--vxe-ui-table-cell-padding-mini);
|
|
3327
|
-
}
|
|
3328
|
-
.vxe-table--render-default.size--mini .vxe-header--column.is--padding .vxe-cell .vxe-default-textarea,
|
|
3329
|
-
.vxe-table--render-default.size--mini .vxe-body--column.is--padding .vxe-cell .vxe-default-textarea,
|
|
3330
|
-
.vxe-table--render-default.size--mini .vxe-footer--column.is--padding .vxe-cell .vxe-default-textarea {
|
|
3331
|
-
padding: var(--vxe-ui-table-cell-padding-mini);
|
|
3332
|
-
}
|
|
3333
3336
|
.vxe-table--render-default.size--mini .vxe-cell .vxe-default-input,
|
|
3334
3337
|
.vxe-table--render-default.size--mini .vxe-cell .vxe-default-textarea,
|
|
3335
3338
|
.vxe-table--render-default.size--mini .vxe-cell .vxe-default-select {
|
|
@@ -3341,16 +3344,6 @@
|
|
|
3341
3344
|
.vxe-table--render-default.size--mini .vxe-cell--valid-error-tip {
|
|
3342
3345
|
padding: 0 var(--vxe-ui-table-cell-padding-mini);
|
|
3343
3346
|
}
|
|
3344
|
-
.vxe-table--render-default .vxe-header--column.is--padding .vxe-cell,
|
|
3345
|
-
.vxe-table--render-default .vxe-body--column.is--padding .vxe-cell,
|
|
3346
|
-
.vxe-table--render-default .vxe-footer--column.is--padding .vxe-cell {
|
|
3347
|
-
padding: var(--vxe-ui-table-cell-padding-default);
|
|
3348
|
-
}
|
|
3349
|
-
.vxe-table--render-default .vxe-header--column.is--padding .vxe-cell .vxe-default-textarea,
|
|
3350
|
-
.vxe-table--render-default .vxe-body--column.is--padding .vxe-cell .vxe-default-textarea,
|
|
3351
|
-
.vxe-table--render-default .vxe-footer--column.is--padding .vxe-cell .vxe-default-textarea {
|
|
3352
|
-
padding: var(--vxe-ui-table-cell-padding-default);
|
|
3353
|
-
}
|
|
3354
3347
|
.vxe-table--render-default .vxe-cell {
|
|
3355
3348
|
white-space: pre-line;
|
|
3356
3349
|
word-break: break-all;
|
|
@@ -3797,24 +3790,6 @@
|
|
|
3797
3790
|
color: var(--vxe-ui-input-disabled-color);
|
|
3798
3791
|
cursor: not-allowed;
|
|
3799
3792
|
}
|
|
3800
|
-
.vxe-table--render-default.size--medium .vxe-cell--checkbox {
|
|
3801
|
-
font-size: var(--vxe-checkbox-font-size-medium);
|
|
3802
|
-
}
|
|
3803
|
-
.vxe-table--render-default.size--medium .vxe-cell--radio {
|
|
3804
|
-
font-size: var(--vxe-radio-font-size-medium);
|
|
3805
|
-
}
|
|
3806
|
-
.vxe-table--render-default.size--small .vxe-cell--checkbox {
|
|
3807
|
-
font-size: var(--vxe-checkbox-font-size-small);
|
|
3808
|
-
}
|
|
3809
|
-
.vxe-table--render-default.size--small .vxe-cell--radio {
|
|
3810
|
-
font-size: var(--vxe-radio-font-size-small);
|
|
3811
|
-
}
|
|
3812
|
-
.vxe-table--render-default.size--mini .vxe-cell--checkbox {
|
|
3813
|
-
font-size: var(--vxe-checkbox-font-size-mini);
|
|
3814
|
-
}
|
|
3815
|
-
.vxe-table--render-default.size--mini .vxe-cell--radio {
|
|
3816
|
-
font-size: var(--vxe-radio-font-size-mini);
|
|
3817
|
-
}
|
|
3818
3793
|
.vxe-table--render-default {
|
|
3819
3794
|
/*暂无数据*/
|
|
3820
3795
|
}
|