vxe-table 4.13.43 → 4.13.45

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.
Files changed (71) hide show
  1. package/README.md +4 -4
  2. package/es/{iconfont.1750301151390.ttf → iconfont.1750641793236.ttf} +0 -0
  3. package/es/iconfont.1750641793236.woff +0 -0
  4. package/es/iconfont.1750641793236.woff2 +0 -0
  5. package/es/index.css +1 -1
  6. package/es/index.min.css +1 -1
  7. package/es/style.css +1 -1
  8. package/es/style.min.css +1 -1
  9. package/es/table/module/custom/hook.js +9 -1
  10. package/es/table/module/custom/panel.js +320 -224
  11. package/es/table/module/edit/hook.js +24 -10
  12. package/es/table/module/export/hook.js +19 -6
  13. package/es/table/src/cell.js +4 -4
  14. package/es/table/src/emits.js +3 -0
  15. package/es/table/src/table.js +16 -4
  16. package/es/table/style.css +37 -9
  17. package/es/table/style.min.css +1 -1
  18. package/es/ui/index.js +7 -3
  19. package/es/ui/src/log.js +1 -1
  20. package/es/vxe-table/style.css +37 -9
  21. package/es/vxe-table/style.min.css +1 -1
  22. package/lib/{iconfont.1750301151390.ttf → iconfont.1750641793236.ttf} +0 -0
  23. package/lib/iconfont.1750641793236.woff +0 -0
  24. package/lib/iconfont.1750641793236.woff2 +0 -0
  25. package/lib/index.css +1 -1
  26. package/lib/index.min.css +1 -1
  27. package/lib/index.umd.js +275 -89
  28. package/lib/index.umd.min.js +1 -1
  29. package/lib/style.css +1 -1
  30. package/lib/style.min.css +1 -1
  31. package/lib/table/module/custom/hook.js +11 -1
  32. package/lib/table/module/custom/hook.min.js +1 -1
  33. package/lib/table/module/custom/panel.js +181 -60
  34. package/lib/table/module/custom/panel.min.js +1 -1
  35. package/lib/table/module/edit/hook.js +46 -10
  36. package/lib/table/module/edit/hook.min.js +1 -1
  37. package/lib/table/module/export/hook.js +19 -4
  38. package/lib/table/module/export/hook.min.js +1 -1
  39. package/lib/table/src/cell.js +4 -4
  40. package/lib/table/src/cell.min.js +1 -1
  41. package/lib/table/src/emits.js +1 -1
  42. package/lib/table/src/emits.min.js +1 -1
  43. package/lib/table/src/table.js +5 -5
  44. package/lib/table/src/table.min.js +1 -1
  45. package/lib/table/style/style.css +37 -9
  46. package/lib/table/style/style.min.css +1 -1
  47. package/lib/ui/index.js +7 -3
  48. package/lib/ui/index.min.js +1 -1
  49. package/lib/ui/src/log.js +1 -1
  50. package/lib/ui/src/log.min.js +1 -1
  51. package/lib/vxe-table/style/style.css +37 -9
  52. package/lib/vxe-table/style/style.min.css +1 -1
  53. package/package.json +1 -1
  54. package/packages/table/module/custom/hook.ts +10 -1
  55. package/packages/table/module/custom/panel.ts +338 -236
  56. package/packages/table/module/edit/hook.ts +24 -10
  57. package/packages/table/module/export/hook.ts +18 -7
  58. package/packages/table/src/cell.ts +4 -4
  59. package/packages/table/src/emits.ts +3 -0
  60. package/packages/table/src/table.ts +17 -4
  61. package/packages/ui/index.ts +6 -2
  62. package/styles/components/icon.scss +9 -1
  63. package/styles/components/table-module/custom.scss +26 -3
  64. package/styles/helpers/baseMixin.scss +16 -2
  65. package/styles/icon/iconfont.ttf +0 -0
  66. package/styles/icon/iconfont.woff +0 -0
  67. package/styles/icon/iconfont.woff2 +0 -0
  68. package/es/iconfont.1750301151390.woff +0 -0
  69. package/es/iconfont.1750301151390.woff2 +0 -0
  70. package/lib/iconfont.1750301151390.woff +0 -0
  71. package/lib/iconfont.1750301151390.woff2 +0 -0
@@ -6,7 +6,7 @@ import { getCellValue, setCellValue, getRowid } from '../../src/util';
6
6
  import { removeClass, addClass } from '../../../ui/src/dom';
7
7
  import { warnLog, errLog } from '../../../ui/src/log';
8
8
  const { getConfig, renderer, hooks, getI18n } = VxeUI;
9
- const tableEditMethodKeys = ['insert', 'insertAt', 'insertNextAt', 'insertChild', 'insertChildAt', 'insertChildNextAt', 'remove', 'removeCheckboxRow', 'removeRadioRow', 'removeCurrentRow', 'getRecordset', 'getInsertRecords', 'getRemoveRecords', 'getUpdateRecords', 'getEditRecord', 'getActiveRecord', 'getSelectedCell', 'clearEdit', 'clearActived', 'clearSelected', 'isEditByRow', 'isActiveByRow', 'setEditRow', 'setActiveRow', 'setEditCell', 'setActiveCell', 'setSelectCell'];
9
+ const tableEditMethodKeys = ['insert', 'insertAt', 'insertNextAt', 'insertChild', 'insertChildAt', 'insertChildNextAt', 'remove', 'removeCheckboxRow', 'removeRadioRow', 'removeCurrentRow', 'getRecordset', 'getInsertRecords', 'getRemoveRecords', 'getUpdateRecords', 'getEditRecord', 'getActiveRecord', 'getEditCell', 'getSelectedCell', 'clearEdit', 'clearActived', 'clearSelected', 'isEditByRow', 'isActiveByRow', 'setEditRow', 'setActiveRow', 'setEditCell', 'setActiveCell', 'setSelectCell'];
10
10
  hooks.add('tableEditModule', {
11
11
  setupTable($xeTable) {
12
12
  const { props, reactData, internalData } = $xeTable;
@@ -689,16 +689,30 @@ hooks.add('tableEditModule', {
689
689
  return [];
690
690
  },
691
691
  getActiveRecord() {
692
- warnLog('vxe.error.delFunc', ['getActiveRecord', 'getEditRecord']);
693
- return $xeTable.getEditRecord();
692
+ warnLog('vxe.error.delFunc', ['getActiveRecord', 'getEditCell']);
693
+ const { editStore } = reactData;
694
+ const { fullAllDataRowIdData } = internalData;
695
+ const { args, row } = editStore.actived;
696
+ if (args && row && fullAllDataRowIdData[getRowid($xeTable, row)]) {
697
+ return Object.assign({}, args, { row });
698
+ }
699
+ return null;
694
700
  },
695
701
  getEditRecord() {
702
+ warnLog('vxe.error.delFunc', ['getEditRecord', 'getEditCell']);
696
703
  const { editStore } = reactData;
697
- const { afterFullData } = internalData;
698
- const el = refElem.value;
704
+ const { fullAllDataRowIdData } = internalData;
699
705
  const { args, row } = editStore.actived;
700
- if (args && $xeTable.findRowIndexOf(afterFullData, row) > -1 && el.querySelectorAll('.vxe-body--column.col--active').length) {
701
- return Object.assign({}, args);
706
+ if (args && row && fullAllDataRowIdData[getRowid($xeTable, row)]) {
707
+ return Object.assign({}, args, { row });
708
+ }
709
+ return null;
710
+ },
711
+ getEditCell() {
712
+ const { editStore } = reactData;
713
+ const { row, column } = editStore.actived;
714
+ if (column && row) {
715
+ return { row, column };
702
716
  }
703
717
  return null;
704
718
  },
@@ -707,9 +721,9 @@ hooks.add('tableEditModule', {
707
721
  */
708
722
  getSelectedCell() {
709
723
  const { editStore } = reactData;
710
- const { args, column } = editStore.selected;
711
- if (args && column) {
712
- return Object.assign({}, args);
724
+ const { row, column } = editStore.selected;
725
+ if (row && column) {
726
+ return { row, column };
713
727
  }
714
728
  return null;
715
729
  },
@@ -1,7 +1,7 @@
1
1
  import { inject, nextTick } from 'vue';
2
2
  import XEUtils from 'xe-utils';
3
3
  import { VxeUI } from '../../../ui';
4
- import { isColumnInfo, getCellValue } from '../../src/util';
4
+ import { isColumnInfo, getCellValue, createHandleGetRowId } from '../../src/util';
5
5
  import { parseFile, formatText, eqEmptyValue } from '../../../ui/src/utils';
6
6
  import { hasClass } from '../../../ui/src/dom';
7
7
  import { createHtmlPage, getExportBlobByContent } from './util';
@@ -302,11 +302,18 @@ hooks.add('tableExportModule', {
302
302
  const childrenField = treeOpts.children || treeOpts.childrenField;
303
303
  // 如果是树表格只允许导出数据源
304
304
  const rest = [];
305
- const expandMaps = new Map();
305
+ const expandMaps = {};
306
+ const useMaps = {};
307
+ const { handleGetRowId } = createHandleGetRowId($xeTable);
306
308
  XEUtils.eachTree(datas, (item, $rowIndex, items, path, parent, nodes) => {
307
309
  const row = item._row || item;
310
+ const rowid = handleGetRowId(row);
311
+ if (useMaps[rowid]) {
312
+ return;
313
+ }
308
314
  const parentRow = parent && parent._row ? parent._row : parent;
309
- if ((isAllExpand || !parentRow || (expandMaps.has(parentRow) && $xeTable.isTreeExpandByRow(parentRow)))) {
315
+ const pRowid = parentRow ? handleGetRowId(parentRow) : '';
316
+ if ((isAllExpand || !parentRow || (expandMaps[pRowid] && $xeTable.isTreeExpandByRow(parentRow)))) {
310
317
  const hasRowChild = hasTreeChildren(row);
311
318
  const item = {
312
319
  _row: row,
@@ -368,7 +375,10 @@ hooks.add('tableExportModule', {
368
375
  }
369
376
  item[column.id] = toStringValue(cellValue);
370
377
  });
371
- expandMaps.set(row, 1);
378
+ useMaps[rowid] = true;
379
+ if (pRowid) {
380
+ expandMaps[pRowid] = true;
381
+ }
372
382
  rest.push(Object.assign(item, row));
373
383
  }
374
384
  }, { children: childrenField });
@@ -1082,7 +1092,7 @@ hooks.add('tableExportModule', {
1082
1092
  exportData(options) {
1083
1093
  const { treeConfig, showHeader, showFooter } = props;
1084
1094
  const { isGroup } = reactData;
1085
- const { tableFullColumn, afterFullData, collectColumn, mergeBodyList, mergeFooterList } = internalData;
1095
+ const { tableFullColumn, afterFullData, afterTreeFullData, collectColumn, mergeBodyList, mergeFooterList } = internalData;
1086
1096
  const exportOpts = computeExportOpts.value;
1087
1097
  const treeOpts = computeTreeOpts.value;
1088
1098
  const proxyOpts = $xeGrid ? $xeGrid.getComputeMaps().computeProxyOpts.value : {};
@@ -1314,9 +1324,12 @@ hooks.add('tableExportModule', {
1314
1324
  }
1315
1325
  }
1316
1326
  if (mode === 'current') {
1317
- handleOptions.data = afterFullData;
1327
+ handleOptions.data = treeConfig ? afterTreeFullData : afterFullData;
1318
1328
  }
1319
1329
  }
1330
+ else {
1331
+ handleOptions._isCustomData = true;
1332
+ }
1320
1333
  return handleExport(handleOptions);
1321
1334
  },
1322
1335
  importByFile(file, options) {
@@ -657,7 +657,7 @@ export const Cell = {
657
657
  const radioVNs = [];
658
658
  if (isVisible) {
659
659
  radioVNs.push(h('span', {
660
- class: ['vxe-radio--icon', isChecked ? getIcon().TABLE_RADIO_CHECKED : getIcon().TABLE_RADIO_UNCHECKED]
660
+ class: ['vxe-radio--icon', isChecked ? getIcon().TABLE_RADIO_CHECKED : (isDisabled ? getIcon().TABLE_RADIO_DISABLED_UNCHECKED : getIcon().TABLE_RADIO_UNCHECKED)]
661
661
  }));
662
662
  }
663
663
  if (defaultSlot || labelField) {
@@ -716,7 +716,7 @@ export const Cell = {
716
716
  'is--indeterminate': isAllCheckboxIndeterminate
717
717
  }], title: XEUtils.eqNull(headerTitle) ? getI18n('vxe.table.allTitle') : `${headerTitle || ''}` }, ons), [
718
718
  h('span', {
719
- class: ['vxe-checkbox--icon', isAllCheckboxIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isAllCheckboxSelected ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
719
+ class: ['vxe-checkbox--icon', isAllCheckboxIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isAllCheckboxSelected ? getIcon().TABLE_CHECKBOX_CHECKED : (isAllCheckboxDisabled ? getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED))]
720
720
  })
721
721
  ].concat(titleSlot || colTitle
722
722
  ? [
@@ -768,7 +768,7 @@ export const Cell = {
768
768
  const checkVNs = [];
769
769
  if (isVisible) {
770
770
  checkVNs.push(h('span', {
771
- class: ['vxe-checkbox--icon', indeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
771
+ class: ['vxe-checkbox--icon', indeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : (isDisabled ? getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED))]
772
772
  }));
773
773
  }
774
774
  if (defaultSlot || labelField) {
@@ -830,7 +830,7 @@ export const Cell = {
830
830
  const checkVNs = [];
831
831
  if (isVisible) {
832
832
  checkVNs.push(h('span', {
833
- class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
833
+ class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : (isDisabled ? getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED))]
834
834
  }));
835
835
  if (defaultSlot || labelField) {
836
836
  checkVNs.push(h('span', {
@@ -62,6 +62,9 @@ export default [
62
62
  'scroll',
63
63
  'scroll-boundary',
64
64
  'custom',
65
+ 'custom-visible-change',
66
+ 'custom-visible-all',
67
+ 'custom-fixed-change',
65
68
  'change-fnr',
66
69
  'open-fnr',
67
70
  'show-fnr',
@@ -1431,7 +1431,7 @@ export default defineVxeComponent({
1431
1431
  const isCustomVisible = hangleStorageDefaultValue(storageOpts.visible, isAllCustom);
1432
1432
  const isCustomFixed = hangleStorageDefaultValue(storageOpts.fixed, isAllCustom);
1433
1433
  const isCustomSort = hangleStorageDefaultValue(storageOpts.sort, isAllCustom);
1434
- if ((customConfig ? isEnableConf(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort)) {
1434
+ if (storage && (customConfig ? isEnableConf(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort)) {
1435
1435
  if (!tableId) {
1436
1436
  errLog('vxe.error.reqProp', ['id']);
1437
1437
  return;
@@ -6112,6 +6112,16 @@ export default defineVxeComponent({
6112
6112
  const { isRowGroupStatus } = reactData;
6113
6113
  return isRowGroupStatus && row.isAggregate;
6114
6114
  },
6115
+ getAggregateContentByRow(row) {
6116
+ const { isRowGroupStatus } = reactData;
6117
+ return isRowGroupStatus && row && row.isAggregate ? row.groupContent : '';
6118
+ },
6119
+ getAggregateRowChildren(row) {
6120
+ const aggregateOpts = computeAggregateOpts.value;
6121
+ const { childrenField, mapChildrenField } = aggregateOpts;
6122
+ const { isRowGroupStatus } = reactData;
6123
+ return isRowGroupStatus && row && row.isAggregate && childrenField && mapChildrenField ? (row[mapChildrenField] || []) : [];
6124
+ },
6115
6125
  isAggregateExpandByRow(row) {
6116
6126
  const { rowGroupExpandedFlag } = reactData;
6117
6127
  const { rowGroupExpandedMaps } = internalData;
@@ -6607,7 +6617,9 @@ export default defineVxeComponent({
6607
6617
  fixedData: undefined
6608
6618
  };
6609
6619
  if (!id) {
6610
- errLog('vxe.error.reqProp', ['id']);
6620
+ if (storage) {
6621
+ errLog('vxe.error.reqProp', ['id']);
6622
+ }
6611
6623
  return storeData;
6612
6624
  }
6613
6625
  let hasResizable = 0;
@@ -8105,7 +8117,7 @@ export default defineVxeComponent({
8105
8117
  // fix:修复拖动列宽,重置按钮无法点击的问题
8106
8118
  reactData.isCustomStatus = true;
8107
8119
  }
8108
- if ((customConfig ? isEnableConf(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort)) {
8120
+ if (storage && (customConfig ? isEnableConf(customOpts) : customOpts.enabled) && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort)) {
8109
8121
  if (!tableId) {
8110
8122
  errLog('vxe.error.reqProp', ['id']);
8111
8123
  return nextTick();
@@ -8269,7 +8281,7 @@ export default defineVxeComponent({
8269
8281
  }
8270
8282
  vLen++;
8271
8283
  });
8272
- const isSelected = sLen >= vLen;
8284
+ const isSelected = selectCheckboxMaps[rowid] || (sLen >= vLen && (vLen >= 1 || hLen >= 1));
8273
8285
  const halfSelect = !isSelected && (sLen >= 1 || hLen >= 1);
8274
8286
  if (checkField) {
8275
8287
  XEUtils.set(row, checkField, isSelected);
@@ -543,7 +543,7 @@
543
543
 
544
544
  @font-face {
545
545
  font-family: "vxetableiconfont";
546
- src: url("data:application/x-font-woff2;charset=utf-8;base64,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") format("woff2");
546
+ src: url("data:application/x-font-woff2;charset=utf-8;base64,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") format("woff2");
547
547
  }
548
548
  @keyframes rollCircle {
549
549
  0% {
@@ -599,6 +599,14 @@
599
599
  color: var(--vxe-ui-status-error-color);
600
600
  }
601
601
 
602
+ .vxe-table-icon-radio-unchecked-fill:before {
603
+ content: "\e699";
604
+ }
605
+
606
+ .vxe-table-icon-checkbox-unchecked-fill:before {
607
+ content: "\e660";
608
+ }
609
+
602
610
  .vxe-table-icon-close:before {
603
611
  content: "\e6e9";
604
612
  }
@@ -817,6 +825,13 @@
817
825
  display: flex;
818
826
  }
819
827
 
828
+ .vxe-table-custom-simple--body-wrapper {
829
+ position: relative;
830
+ flex-grow: 1;
831
+ display: flex;
832
+ flex-direction: row;
833
+ }
834
+
820
835
  .vxe-table-custom--body {
821
836
  position: relative;
822
837
  display: block;
@@ -886,7 +901,7 @@
886
901
  }
887
902
 
888
903
  .vxe-table-custom--checkbox-option .vxe-checkbox--icon {
889
- font-size: 1.34em;
904
+ font-size: 1.22em;
890
905
  }
891
906
  .vxe-table-custom--checkbox-option .vxe-checkbox--icon {
892
907
  color: var(--vxe-ui-input-border-color);
@@ -982,13 +997,17 @@
982
997
  user-select: none;
983
998
  }
984
999
 
985
- .vxe-table-custom-popup--body {
1000
+ .vxe-table-custom-popup--body-wrapper {
986
1001
  position: relative;
987
1002
  overflow: auto;
988
1003
  height: 100%;
989
1004
  outline: 0;
990
1005
  }
991
1006
 
1007
+ .vxe-table-custom-popup--handle-wrapper {
1008
+ outline: 0;
1009
+ }
1010
+
992
1011
  .vxe-table-custom-popup--table-wrapper {
993
1012
  border-bottom: 1px solid var(--vxe-ui-table-border-color);
994
1013
  }
@@ -1066,7 +1085,7 @@
1066
1085
  top: 0;
1067
1086
  left: 0;
1068
1087
  padding: 0.6em 1.4em;
1069
- max-width: 50%;
1088
+ max-width: 60%;
1070
1089
  min-width: 100px;
1071
1090
  border-radius: var(--vxe-ui-border-radius);
1072
1091
  overflow: hidden;
@@ -1086,6 +1105,12 @@
1086
1105
  .vxe-table-custom-popup--drag-tip[drag-status=sub] .vxe-table-custom-popup--drag-tip-sub-status {
1087
1106
  display: block;
1088
1107
  }
1108
+ .vxe-table-custom-popup--drag-tip[drag-status=group] .vxe-table-custom-popup--drag-tip-group-status {
1109
+ display: block;
1110
+ }
1111
+ .vxe-table-custom-popup--drag-tip[drag-status=values] .vxe-table-custom-popup--drag-tip-values-status {
1112
+ display: block;
1113
+ }
1089
1114
  .vxe-table-custom-popup--drag-tip[drag-status=disabled] .vxe-table-custom-popup--drag-tip-disabled-status {
1090
1115
  display: block;
1091
1116
  }
@@ -1107,7 +1132,9 @@
1107
1132
  }
1108
1133
 
1109
1134
  .vxe-table-custom-popup--drag-tip-normal-status,
1110
- .vxe-table-custom-popup--drag-tip-sub-status {
1135
+ .vxe-table-custom-popup--drag-tip-sub-status,
1136
+ .vxe-table-custom-popup--drag-tip-group-status,
1137
+ .vxe-table-custom-popup--drag-tip-values-status {
1111
1138
  display: none;
1112
1139
  }
1113
1140
 
@@ -1421,7 +1448,7 @@
1421
1448
  }
1422
1449
 
1423
1450
  .vxe-table-export--panel-column-option .vxe-checkbox--icon {
1424
- font-size: 1.34em;
1451
+ font-size: 1.22em;
1425
1452
  }
1426
1453
  .vxe-table-export--panel-column-option .vxe-checkbox--icon {
1427
1454
  color: var(--vxe-ui-input-border-color);
@@ -1563,7 +1590,7 @@
1563
1590
  }
1564
1591
 
1565
1592
  .vxe-table--filter-option .vxe-checkbox--icon {
1566
- font-size: 1.34em;
1593
+ font-size: 1.22em;
1567
1594
  }
1568
1595
  .vxe-table--filter-option .vxe-checkbox--icon {
1569
1596
  color: var(--vxe-ui-input-border-color);
@@ -2858,10 +2885,11 @@
2858
2885
  cursor: pointer;
2859
2886
  }
2860
2887
  .vxe-table--render-default .vxe-cell--radio .vxe-radio--icon {
2861
- font-size: 1.4em;
2888
+ font-size: 1.26em;
2862
2889
  }
2863
2890
  .vxe-table--render-default .vxe-cell--radio .vxe-radio--icon {
2864
2891
  color: var(--vxe-ui-input-border-color);
2892
+ border-radius: 50%;
2865
2893
  vertical-align: middle;
2866
2894
  font-weight: 700;
2867
2895
  -webkit-user-select: none;
@@ -2892,7 +2920,7 @@
2892
2920
  vertical-align: middle;
2893
2921
  }
2894
2922
  .vxe-table--render-default .vxe-cell--checkbox .vxe-checkbox--icon {
2895
- font-size: 1.34em;
2923
+ font-size: 1.22em;
2896
2924
  }
2897
2925
  .vxe-table--render-default .vxe-cell--checkbox .vxe-checkbox--icon {
2898
2926
  color: var(--vxe-ui-input-border-color);