vxe-table 4.6.5 → 4.6.6

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 (149) hide show
  1. package/es/button/style.css +6 -6
  2. package/es/checkbox/src/group.js +7 -1
  3. package/es/custom/src/hook.js +1 -0
  4. package/es/custom/src/panel.js +207 -45
  5. package/es/custom/style.css +326 -80
  6. package/es/export/src/export-panel.js +1 -1
  7. package/es/export/src/import-panel.js +1 -1
  8. package/es/icon/style.css +1 -1
  9. package/es/input/style.css +0 -1
  10. package/es/loading/src/loading.js +1 -1
  11. package/es/loading/style.css +1 -1
  12. package/es/locale/lang/en-US.js +18 -7
  13. package/es/locale/lang/es-ES.js +18 -7
  14. package/es/locale/lang/ja-JP.js +18 -6
  15. package/es/locale/lang/pt-BR.js +18 -7
  16. package/es/locale/lang/zh-CN.js +18 -7
  17. package/es/locale/lang/zh-TC.js +18 -7
  18. package/es/modal/src/modal.js +1 -1
  19. package/es/radio/src/group.js +7 -1
  20. package/es/style.css +1 -1
  21. package/es/style.min.css +1 -1
  22. package/es/table/src/columnInfo.js +3 -3
  23. package/es/table/src/table.js +60 -36
  24. package/es/table/style.css +4 -4
  25. package/es/tools/log.js +1 -1
  26. package/es/v-x-e-table/index.js +1 -1
  27. package/es/v-x-e-table/style.css +1 -1
  28. package/es/vxe-button/style.css +6 -6
  29. package/es/vxe-input/style.css +0 -1
  30. package/es/vxe-loading/style.css +1 -1
  31. package/es/vxe-table/style.css +4 -4
  32. package/es/vxe-table-custom-module/style.css +326 -80
  33. package/lib/button/style/style.css +6 -6
  34. package/lib/button/style/style.min.css +1 -1
  35. package/lib/checkbox/src/group.js +7 -1
  36. package/lib/checkbox/src/group.min.js +1 -1
  37. package/lib/custom/src/hook.js +1 -0
  38. package/lib/custom/src/hook.min.js +1 -1
  39. package/lib/custom/src/panel.js +185 -30
  40. package/lib/custom/src/panel.min.js +1 -1
  41. package/lib/custom/style/style.css +326 -80
  42. package/lib/custom/style/style.min.css +1 -1
  43. package/lib/export/src/export-panel.js +1 -1
  44. package/lib/export/src/export-panel.min.js +1 -1
  45. package/lib/export/src/import-panel.js +1 -1
  46. package/lib/export/src/import-panel.min.js +1 -1
  47. package/lib/icon/style/style.css +1 -1
  48. package/lib/icon/style/style.min.css +1 -1
  49. package/lib/index.umd.js +288 -84
  50. package/lib/index.umd.min.js +1 -1
  51. package/lib/input/style/style.css +0 -1
  52. package/lib/input/style/style.min.css +1 -1
  53. package/lib/loading/src/loading.js +1 -1
  54. package/lib/loading/src/loading.min.js +1 -1
  55. package/lib/loading/style/style.css +1 -1
  56. package/lib/loading/style/style.min.css +1 -1
  57. package/lib/locale/lang/en-US.js +18 -7
  58. package/lib/locale/lang/en-US.min.js +1 -1
  59. package/lib/locale/lang/en-US.umd.js +18 -7
  60. package/lib/locale/lang/es-ES.js +18 -7
  61. package/lib/locale/lang/es-ES.min.js +1 -1
  62. package/lib/locale/lang/es-ES.umd.js +18 -7
  63. package/lib/locale/lang/ja-JP.js +18 -6
  64. package/lib/locale/lang/ja-JP.min.js +1 -1
  65. package/lib/locale/lang/ja-JP.umd.js +18 -6
  66. package/lib/locale/lang/pt-BR.js +18 -7
  67. package/lib/locale/lang/pt-BR.min.js +1 -1
  68. package/lib/locale/lang/pt-BR.umd.js +18 -7
  69. package/lib/locale/lang/zh-CN.js +18 -7
  70. package/lib/locale/lang/zh-CN.min.js +1 -1
  71. package/lib/locale/lang/zh-CN.umd.js +18 -7
  72. package/lib/locale/lang/zh-HK.min.js +1 -1
  73. package/lib/locale/lang/zh-HK.umd.js +18 -7
  74. package/lib/locale/lang/zh-MO.min.js +1 -1
  75. package/lib/locale/lang/zh-MO.umd.js +18 -7
  76. package/lib/locale/lang/zh-TC.js +18 -7
  77. package/lib/locale/lang/zh-TC.min.js +1 -1
  78. package/lib/locale/lang/zh-TC.umd.js +18 -7
  79. package/lib/locale/lang/zh-TW.min.js +1 -1
  80. package/lib/locale/lang/zh-TW.umd.js +18 -7
  81. package/lib/modal/src/modal.js +1 -1
  82. package/lib/modal/src/modal.min.js +1 -1
  83. package/lib/radio/src/group.js +7 -1
  84. package/lib/radio/src/group.min.js +1 -1
  85. package/lib/style.css +1 -1
  86. package/lib/style.min.css +1 -1
  87. package/lib/table/src/columnInfo.js +3 -3
  88. package/lib/table/src/columnInfo.min.js +1 -1
  89. package/lib/table/src/table.js +61 -36
  90. package/lib/table/src/table.min.js +1 -1
  91. package/lib/table/style/style.css +4 -4
  92. package/lib/table/style/style.min.css +1 -1
  93. package/lib/tools/log.js +1 -1
  94. package/lib/tools/log.min.js +1 -1
  95. package/lib/v-x-e-table/index.js +1 -1
  96. package/lib/v-x-e-table/index.min.js +1 -1
  97. package/lib/v-x-e-table/style/style.css +1 -1
  98. package/lib/v-x-e-table/style/style.min.css +1 -1
  99. package/lib/vxe-button/style/style.css +6 -6
  100. package/lib/vxe-button/style/style.min.css +1 -1
  101. package/lib/vxe-input/style/style.css +0 -1
  102. package/lib/vxe-input/style/style.min.css +1 -1
  103. package/lib/vxe-loading/style/style.css +1 -1
  104. package/lib/vxe-loading/style/style.min.css +1 -1
  105. package/lib/vxe-table/style/style.css +4 -4
  106. package/lib/vxe-table/style/style.min.css +1 -1
  107. package/lib/vxe-table-custom-module/style/style.css +326 -80
  108. package/lib/vxe-table-custom-module/style/style.min.css +1 -1
  109. package/package.json +1 -1
  110. package/packages/checkbox/src/group.ts +8 -1
  111. package/packages/custom/src/hook.ts +1 -0
  112. package/packages/custom/src/panel.ts +213 -45
  113. package/packages/export/src/export-panel.ts +1 -1
  114. package/packages/export/src/import-panel.ts +1 -1
  115. package/packages/loading/src/loading.ts +1 -1
  116. package/packages/locale/lang/en-US.ts +18 -7
  117. package/packages/locale/lang/es-ES.ts +18 -7
  118. package/packages/locale/lang/ja-JP.ts +18 -6
  119. package/packages/locale/lang/pt-BR.ts +18 -7
  120. package/packages/locale/lang/zh-CN.ts +18 -7
  121. package/packages/locale/lang/zh-TC.ts +18 -7
  122. package/packages/modal/src/modal.ts +1 -1
  123. package/packages/radio/src/group.ts +8 -1
  124. package/packages/table/src/columnInfo.ts +9 -6
  125. package/packages/table/src/table.ts +62 -39
  126. package/packages/table/src/util.ts +1 -1
  127. package/styles/base/common.scss +4 -4
  128. package/styles/button.scss +5 -5
  129. package/styles/custom.scss +192 -86
  130. package/styles/helpers/mixin.scss +1 -1
  131. package/styles/input.scss +1 -2
  132. package/styles/loading.scss +1 -1
  133. package/styles/modal.scss +2 -2
  134. package/styles/select.scss +1 -1
  135. package/styles/table.scss +2 -2
  136. package/types/table.d.ts +32 -22
  137. package/types/v-x-e-table/renderer.d.ts +1 -0
  138. /package/es/icon/style/{iconfont.1714102086168.ttf → iconfont.1714295309081.ttf} +0 -0
  139. /package/es/icon/style/{iconfont.1714102086168.woff → iconfont.1714295309081.woff} +0 -0
  140. /package/es/icon/style/{iconfont.1714102086168.woff2 → iconfont.1714295309081.woff2} +0 -0
  141. /package/es/{iconfont.1714102086168.ttf → iconfont.1714295309081.ttf} +0 -0
  142. /package/es/{iconfont.1714102086168.woff → iconfont.1714295309081.woff} +0 -0
  143. /package/es/{iconfont.1714102086168.woff2 → iconfont.1714295309081.woff2} +0 -0
  144. /package/lib/icon/style/{iconfont.1714102086168.ttf → iconfont.1714295309081.ttf} +0 -0
  145. /package/lib/icon/style/{iconfont.1714102086168.woff → iconfont.1714295309081.woff} +0 -0
  146. /package/lib/icon/style/{iconfont.1714102086168.woff2 → iconfont.1714295309081.woff2} +0 -0
  147. /package/lib/{iconfont.1714102086168.ttf → iconfont.1714295309081.ttf} +0 -0
  148. /package/lib/{iconfont.1714102086168.woff → iconfont.1714295309081.woff} +0 -0
  149. /package/lib/{iconfont.1714102086168.woff2 → iconfont.1714295309081.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -2470,7 +2470,7 @@ const GlobalConfig = {
2470
2470
  ;// CONCATENATED MODULE: ./packages/tools/log.ts
2471
2471
 
2472
2472
  function getLog(message, params) {
2473
- return `[vxe-table v${"4.6.5"}] ${conf.i18n(message, params)}`;
2473
+ return `[vxe-table v${"4.6.6"}] ${conf.i18n(message, params)}`;
2474
2474
  }
2475
2475
  function outLog(type) {
2476
2476
  return function (message, params) {
@@ -2887,12 +2887,12 @@ class ColumnInfo {
2887
2887
  rowSpan: 1,
2888
2888
  // 跨列
2889
2889
  colSpan: 1,
2890
- // 数据排序-自定义排序
2890
+ // 数据排序
2891
2891
  order: null,
2892
- // 数据排序-用于多列的先后顺序
2893
2892
  sortTime: 0,
2894
2893
  // 列排序
2895
- customOrder: 0,
2894
+ sortNumber: 0,
2895
+ renderSortNumber: 0,
2896
2896
  renderWidth: 0,
2897
2897
  renderHeight: 0,
2898
2898
  resizeWidth: 0,
@@ -4935,7 +4935,7 @@ const setup = config;
4935
4935
  const globalStore = {};
4936
4936
  const VXETable = {
4937
4937
  v,
4938
- version: "4.6.5",
4938
+ version: "4.6.6",
4939
4939
  config: config,
4940
4940
  globalStore,
4941
4941
  interceptor: interceptor,
@@ -7791,7 +7791,7 @@ function useSize(props) {
7791
7791
  'is--visible': props.modelValue
7792
7792
  }]
7793
7793
  }, slots.default ? [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
7794
- class: 'vxe-loading--warpper'
7794
+ class: 'vxe-loading--wrapper'
7795
7795
  }, slots.default({}))] : [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
7796
7796
  class: 'vxe-loading--chunk'
7797
7797
  }, [loadingIcon ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
@@ -8632,7 +8632,7 @@ const msgQueue = [];
8632
8632
  const rightVNs = [];
8633
8633
  if (cornerSlot) {
8634
8634
  rightVNs.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
8635
- class: 'vxe-modal--corner-warpper'
8635
+ class: 'vxe-modal--corner-wrapper'
8636
8636
  }, getSlotVNs(cornerSlot({
8637
8637
  $modal: $xemodal
8638
8638
  }))));
@@ -12916,7 +12916,7 @@ function getOptUniqueId() {
12916
12916
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(modal, {
12917
12917
  modelValue: storeData.visible,
12918
12918
  title: conf.i18n(isPrint ? 'vxe.export.printTitle' : 'vxe.export.expTitle'),
12919
- className: 'vxe-table-export-popup-warpper',
12919
+ className: 'vxe-table-export-popup-wrapper',
12920
12920
  width: 660,
12921
12921
  mask: true,
12922
12922
  lockView: true,
@@ -13380,6 +13380,10 @@ function getOptUniqueId() {
13380
13380
  const propsOpts = computePropsOpts.value;
13381
13381
  return propsOpts.value || 'value';
13382
13382
  });
13383
+ const computeDisabledField = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
13384
+ const propsOpts = computePropsOpts.value;
13385
+ return propsOpts.disabled || 'disabled';
13386
+ });
13383
13387
  let radioGroupMethods = {};
13384
13388
  useSize(props);
13385
13389
  const radioGroupPrivateMethods = {
@@ -13408,13 +13412,15 @@ function getOptUniqueId() {
13408
13412
  const defaultSlot = slots.default;
13409
13413
  const valueField = computeValueField.value;
13410
13414
  const labelField = computeLabelField.value;
13415
+ const disabledField = computeDisabledField.value;
13411
13416
  const btnComp = type === 'button' ? radio_src_button : src_radio;
13412
13417
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13413
13418
  class: 'vxe-radio-group'
13414
13419
  }, defaultSlot ? defaultSlot({}) : options ? options.map(item => {
13415
13420
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(btnComp, {
13416
13421
  label: item[valueField],
13417
- content: item[labelField]
13422
+ content: item[labelField],
13423
+ disabled: item[disabledField]
13418
13424
  });
13419
13425
  }) : []);
13420
13426
  };
@@ -13539,7 +13545,7 @@ function getOptUniqueId() {
13539
13545
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(modal, {
13540
13546
  modelValue: storeData.visible,
13541
13547
  title: conf.i18n('vxe.import.impTitle'),
13542
- className: 'vxe-table-import-popup-warpper',
13548
+ className: 'vxe-table-import-popup-wrapper',
13543
13549
  width: 440,
13544
13550
  mask: true,
13545
13551
  lockView: true,
@@ -16434,6 +16440,8 @@ const Validator = VxeTableValidatorModule;
16434
16440
 
16435
16441
 
16436
16442
 
16443
+
16444
+
16437
16445
  /* harmony default export */ var custom_src_panel = ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.defineComponent)({
16438
16446
  name: 'VxeTableCustomPanel',
16439
16447
  props: {
@@ -16445,13 +16453,17 @@ const Validator = VxeTableValidatorModule;
16445
16453
  setup(props) {
16446
16454
  const $xetable = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xetable', {});
16447
16455
  const {
16448
- internalData
16456
+ reactData
16449
16457
  } = $xetable;
16450
16458
  const {
16451
16459
  computeCustomOpts,
16452
16460
  computeIsMaxFixedColumn
16453
16461
  } = $xetable.getComputeMaps();
16454
16462
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
16463
+ const bodyElemRef = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
16464
+ const dragHintElemRef = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
16465
+ const dragColumn = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
16466
+ let prevDropTrEl;
16455
16467
  const handleWrapperMouseenterEvent = evnt => {
16456
16468
  const {
16457
16469
  customStore
@@ -16484,13 +16496,25 @@ const Validator = VxeTableValidatorModule;
16484
16496
  $xetable.emitCustomEvent('reset', evnt);
16485
16497
  };
16486
16498
  const resetPopupCustomEvent = evnt => {
16487
- resetCustomEvent(evnt);
16499
+ if (VXETable.modal) {
16500
+ VXETable.modal.confirm({
16501
+ content: conf.i18n('vxe.custom.cstmConfirmRestore'),
16502
+ className: 'vxe-table--ignore-clear',
16503
+ escClosable: true
16504
+ }).then(type => {
16505
+ if (type === 'confirm') {
16506
+ resetCustomEvent(evnt);
16507
+ }
16508
+ });
16509
+ } else {
16510
+ resetCustomEvent(evnt);
16511
+ }
16488
16512
  };
16489
16513
  const handleOptionCheck = column => {
16490
16514
  const {
16491
- collectColumn
16492
- } = internalData;
16493
- const matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(collectColumn, item => item === column);
16515
+ customColumnList
16516
+ } = reactData;
16517
+ const matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(customColumnList, item => item === column);
16494
16518
  if (matchObj && matchObj.parent) {
16495
16519
  const {
16496
16520
  parent
@@ -16536,14 +16560,14 @@ const Validator = VxeTableValidatorModule;
16536
16560
  customStore
16537
16561
  } = props;
16538
16562
  const {
16539
- collectColumn
16540
- } = internalData;
16563
+ customColumnList
16564
+ } = reactData;
16541
16565
  const customOpts = computeCustomOpts.value;
16542
16566
  const {
16543
16567
  checkMethod
16544
16568
  } = customOpts;
16545
16569
  const isAll = !customStore.isAll;
16546
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn, column => {
16570
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(customColumnList, column => {
16547
16571
  if (!checkMethod || checkMethod({
16548
16572
  column
16549
16573
  })) {
@@ -16554,13 +16578,117 @@ const Validator = VxeTableValidatorModule;
16554
16578
  customStore.isAll = isAll;
16555
16579
  $xetable.checkCustomStatus();
16556
16580
  };
16581
+ const sortMousedownEvent = evnt => {
16582
+ const btnEl = evnt.currentTarget;
16583
+ const tdEl = btnEl.parentNode;
16584
+ const trEl = tdEl.parentNode;
16585
+ const colid = trEl.getAttribute('colid');
16586
+ const column = $xetable.getColumnById(colid);
16587
+ trEl.draggable = true;
16588
+ dragColumn.value = column;
16589
+ addClass(trEl, 'active--drag-origin');
16590
+ };
16591
+ const sortMouseupEvent = evnt => {
16592
+ const btnEl = evnt.currentTarget;
16593
+ const tdEl = btnEl.parentNode;
16594
+ const trEl = tdEl.parentNode;
16595
+ const dragHintEl = dragHintElemRef.value;
16596
+ trEl.draggable = false;
16597
+ dragColumn.value = null;
16598
+ removeClass(trEl, 'active--drag-origin');
16599
+ if (dragHintEl) {
16600
+ dragHintEl.style.display = '';
16601
+ }
16602
+ };
16603
+ const sortDragstartEvent = evnt => {
16604
+ const img = new Image();
16605
+ if (evnt.dataTransfer) {
16606
+ evnt.dataTransfer.setDragImage(img, 0, 0);
16607
+ }
16608
+ };
16609
+ const sortDragendEvent = evnt => {
16610
+ const {
16611
+ customColumnList
16612
+ } = reactData;
16613
+ const trEl = evnt.currentTarget;
16614
+ const dragHintEl = dragHintElemRef.value;
16615
+ if (prevDropTrEl) {
16616
+ // 判断是否有拖动
16617
+ if (prevDropTrEl !== trEl) {
16618
+ const dragOffset = prevDropTrEl.getAttribute('drag-pos');
16619
+ const colid = trEl.getAttribute('colid');
16620
+ const column = $xetable.getColumnById(colid);
16621
+ if (!column) {
16622
+ return;
16623
+ }
16624
+ const cIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(customColumnList, item => item.id === column.id);
16625
+ const targetColid = prevDropTrEl.getAttribute('colid');
16626
+ const targetColumn = $xetable.getColumnById(targetColid);
16627
+ if (!targetColumn) {
16628
+ return;
16629
+ }
16630
+ // 移出源位置
16631
+ customColumnList.splice(cIndex, 1);
16632
+ const tcIndex = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(customColumnList, item => item.id === targetColumn.id);
16633
+ // 插新位置
16634
+ customColumnList.splice(tcIndex + (dragOffset === 'bottom' ? 1 : 0), 0, column);
16635
+ }
16636
+ prevDropTrEl.draggable = false;
16637
+ prevDropTrEl.removeAttribute('drag-pos');
16638
+ removeClass(prevDropTrEl, 'active--drag-target');
16639
+ }
16640
+ dragColumn.value = null;
16641
+ trEl.draggable = false;
16642
+ trEl.removeAttribute('drag-pos');
16643
+ if (dragHintEl) {
16644
+ dragHintEl.style.display = '';
16645
+ }
16646
+ removeClass(trEl, 'active--drag-target');
16647
+ removeClass(trEl, 'active--drag-origin');
16648
+ // 更新顺序
16649
+ customColumnList.forEach((column, index) => {
16650
+ column.renderSortNumber = index;
16651
+ });
16652
+ };
16653
+ const sortDragoverEvent = evnt => {
16654
+ const trEl = evnt.currentTarget;
16655
+ if (prevDropTrEl !== trEl) {
16656
+ removeClass(prevDropTrEl, 'active--drag-target');
16657
+ }
16658
+ const colid = trEl.getAttribute('colid');
16659
+ const column = $xetable.getColumnById(colid);
16660
+ // 是否移入有效元行
16661
+ if (column && column.level === 1) {
16662
+ evnt.preventDefault();
16663
+ const offsetY = evnt.clientY - trEl.getBoundingClientRect().y;
16664
+ const dragOffset = offsetY < trEl.clientHeight / 2 ? 'top' : 'bottom';
16665
+ addClass(trEl, 'active--drag-target');
16666
+ trEl.setAttribute('drag-pos', dragOffset);
16667
+ prevDropTrEl = trEl;
16668
+ }
16669
+ updateDropHint(evnt);
16670
+ };
16671
+ const updateDropHint = evnt => {
16672
+ const dragHintEl = dragHintElemRef.value;
16673
+ const bodyEl = bodyElemRef.value;
16674
+ if (!bodyEl) {
16675
+ return;
16676
+ }
16677
+ if (dragHintEl) {
16678
+ const warpperEl = bodyEl.parentNode;
16679
+ const warpperRect = warpperEl.getBoundingClientRect();
16680
+ dragHintEl.style.display = 'block';
16681
+ dragHintEl.style.top = `${Math.min(warpperEl.clientHeight - warpperEl.scrollTop - dragHintEl.clientHeight, evnt.clientY - warpperRect.y)}px`;
16682
+ dragHintEl.style.left = `${Math.min(warpperEl.clientWidth - warpperEl.scrollLeft - dragHintEl.clientWidth - 16, evnt.clientX - warpperRect.x)}px`;
16683
+ }
16684
+ };
16557
16685
  const renderSimplePanel = () => {
16558
16686
  const {
16559
16687
  customStore
16560
16688
  } = props;
16561
16689
  const {
16562
- collectColumn
16563
- } = internalData;
16690
+ customColumnList
16691
+ } = reactData;
16564
16692
  const customOpts = computeCustomOpts.value;
16565
16693
  const {
16566
16694
  maxHeight
@@ -16578,7 +16706,7 @@ const Validator = VxeTableValidatorModule;
16578
16706
  customWrapperOns.onMouseenter = handleWrapperMouseenterEvent;
16579
16707
  customWrapperOns.onMouseleave = handleWrapperMouseleaveEvent;
16580
16708
  }
16581
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn, (column, index, items, path, parent) => {
16709
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(customColumnList, (column, index, items, path, parent) => {
16582
16710
  const isVisible = visibleMethod ? visibleMethod({
16583
16711
  column
16584
16712
  }) : true;
@@ -16678,8 +16806,8 @@ const Validator = VxeTableValidatorModule;
16678
16806
  customStore
16679
16807
  } = props;
16680
16808
  const {
16681
- collectColumn
16682
- } = internalData;
16809
+ customColumnList
16810
+ } = reactData;
16683
16811
  const customOpts = computeCustomOpts.value;
16684
16812
  const {
16685
16813
  checkMethod,
@@ -16687,7 +16815,7 @@ const Validator = VxeTableValidatorModule;
16687
16815
  } = customOpts;
16688
16816
  const isMaxFixedColumn = computeIsMaxFixedColumn.value;
16689
16817
  const trVNs = [];
16690
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn, (column, index, items, path, parent) => {
16818
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(customColumnList, (column, index, items, path, parent) => {
16691
16819
  const isVisible = visibleMethod ? visibleMethod({
16692
16820
  column
16693
16821
  }) : true;
@@ -16701,16 +16829,28 @@ const Validator = VxeTableValidatorModule;
16701
16829
  }) : false;
16702
16830
  trVNs.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('tr', {
16703
16831
  key: column.id,
16704
- class: [`vxe-table-custom-popup--row-level${column.level}`, {
16832
+ colid: column.id,
16833
+ class: [`vxe-table-custom-popup--row level--${column.level}`, {
16705
16834
  'is--group': isColGroup
16706
- }]
16835
+ }],
16836
+ onDragstart: sortDragstartEvent,
16837
+ onDragend: sortDragendEvent,
16838
+ onDragover: sortDragoverEvent
16707
16839
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('td', {
16708
- class: 'vxe-table-custom-popup--column-name'
16840
+ class: 'vxe-table-custom-popup--column-item col--sort'
16841
+ }, [column.level === 1 ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
16842
+ class: 'vxe-table-custom-popup--column-sort-btn',
16843
+ onMousedown: sortMousedownEvent,
16844
+ onMouseup: sortMouseupEvent
16845
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
16846
+ class: 'vxe-icon-sort'
16847
+ })]) : null]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('td', {
16848
+ class: 'vxe-table-custom-popup--column-item col--name'
16709
16849
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16710
16850
  class: 'vxe-table-custom-popup--name',
16711
16851
  title: colTitle
16712
16852
  }, colTitle)]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('td', {
16713
- class: 'vxe-table-custom-popup--column-visiblw'
16853
+ class: 'vxe-table-custom-popup--column-item col--visible'
16714
16854
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16715
16855
  class: ['vxe-table-custom--checkbox-option', {
16716
16856
  'is--checked': isChecked,
@@ -16725,21 +16865,22 @@ const Validator = VxeTableValidatorModule;
16725
16865
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
16726
16866
  class: ['vxe-checkbox--icon', isIndeterminate ? conf.icon.TABLE_CHECKBOX_INDETERMINATE : isChecked ? conf.icon.TABLE_CHECKBOX_CHECKED : conf.icon.TABLE_CHECKBOX_UNCHECKED]
16727
16867
  })])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('td', {
16728
- class: 'vxe-table-custom-popup--column-fixed'
16868
+ class: 'vxe-table-custom-popup--column-item col--fixed'
16729
16869
  }, [!parent && customOpts.allowFixed ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(group, {
16730
16870
  modelValue: column.fixed || '',
16731
- disabled: isMaxFixedColumn,
16732
16871
  type: 'button',
16733
16872
  size: 'mini',
16734
16873
  options: [{
16735
- label: '左侧',
16736
- value: 'left'
16874
+ label: conf.i18n('vxe.custom.setting.fixedLeft'),
16875
+ value: 'left',
16876
+ disabled: isMaxFixedColumn
16737
16877
  }, {
16738
- label: '不固定',
16878
+ label: conf.i18n('vxe.custom.setting.fixedUnset'),
16739
16879
  value: ''
16740
16880
  }, {
16741
- label: '右侧',
16742
- value: 'right'
16881
+ label: conf.i18n('vxe.custom.setting.fixedRight'),
16882
+ value: 'right',
16883
+ disabled: isMaxFixedColumn
16743
16884
  }],
16744
16885
  'onUpdate:modelValue'(value) {
16745
16886
  column.fixed = value;
@@ -16752,23 +16893,34 @@ const Validator = VxeTableValidatorModule;
16752
16893
  });
16753
16894
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(modal, {
16754
16895
  key: 'popup',
16755
- className: 'vxe-table-custom-popup-warpper vxe-table--ignore-clear',
16896
+ className: 'vxe-table-custom-popup-wrapper vxe-table--ignore-clear',
16756
16897
  modelValue: customStore.visible,
16757
16898
  title: conf.i18n('vxe.custom.cstmTitle'),
16758
- width: 700,
16759
- maxHeight: 500,
16899
+ width: '40vw',
16900
+ minWidth: 500,
16901
+ height: '50vh',
16902
+ minHeight: 300,
16760
16903
  mask: true,
16761
16904
  lockView: true,
16762
16905
  showFooter: true,
16906
+ resize: true,
16763
16907
  escClosable: true,
16908
+ destroyOnClose: true,
16764
16909
  'onUpdate:modelValue'(value) {
16765
16910
  customStore.visible = value;
16766
16911
  }
16767
16912
  }, {
16768
16913
  default: () => {
16769
16914
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16915
+ ref: bodyElemRef,
16770
16916
  class: 'vxe-table-custom-popup--body'
16771
- }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('table', {}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('colgroup', {}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('col'), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('col', {
16917
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16918
+ class: 'vxe-table-custom-popup--table-wrapper'
16919
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('table', {}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('colgroup', {}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('col', {
16920
+ style: {
16921
+ width: '60px'
16922
+ }
16923
+ }), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('col'), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('col', {
16772
16924
  style: {
16773
16925
  width: '80px'
16774
16926
  }
@@ -16776,7 +16928,16 @@ const Validator = VxeTableValidatorModule;
16776
16928
  style: {
16777
16929
  width: '200px'
16778
16930
  }
16779
- })]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('thead', {}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('tr', {}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('th', {}, '标题'), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('th', {}, '是否显示'), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('th', {}, '是否固定')])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('tbody', {}, trVNs)])]);
16931
+ })]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('thead', {}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('tr', {}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('th', {}, conf.i18n('vxe.custom.setting.colSort')), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('th', {}, conf.i18n('vxe.custom.setting.colTitle')), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('th', {}, conf.i18n('vxe.custom.setting.colVisible')), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('th', {}, conf.i18n('vxe.custom.setting.colFixed'))])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(external_commonjs_vue_commonjs2_vue_root_Vue_.TransitionGroup, {
16932
+ class: 'vxe-table-custom--body',
16933
+ tag: 'tbody',
16934
+ name: 'vxe-table-custom--flip'
16935
+ }, {
16936
+ default: () => trVNs
16937
+ })])]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
16938
+ ref: dragHintElemRef,
16939
+ class: 'vxe-table-custom-popup--drag-hint'
16940
+ }, conf.i18n('vxe.custom.cstmDragTarget', [dragColumn.value ? dragColumn.value.getTitle() : '']))]);
16780
16941
  },
16781
16942
  footer: () => {
16782
16943
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
@@ -16850,6 +17011,7 @@ const customHook = {
16850
17011
  } = reactData;
16851
17012
  customStore.visible = true;
16852
17013
  initStore.custom = true;
17014
+ reactData.customColumnList = internalData.collectColumn.slice(0);
16853
17015
  checkCustomStatus();
16854
17016
  calcMaxHeight();
16855
17017
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(() => calcMaxHeight());
@@ -21106,6 +21268,10 @@ dynamicApp.component(src_checkbox.name, src_checkbox);
21106
21268
  const propsOpts = computePropsOpts.value;
21107
21269
  return propsOpts.value || 'value';
21108
21270
  });
21271
+ const computeDisabledField = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
21272
+ const propsOpts = computePropsOpts.value;
21273
+ return propsOpts.disabled || 'disabled';
21274
+ });
21109
21275
  const computeMaps = {
21110
21276
  computeIsMaximize
21111
21277
  };
@@ -21157,12 +21323,14 @@ dynamicApp.component(src_checkbox.name, src_checkbox);
21157
21323
  const defaultSlot = slots.default;
21158
21324
  const valueField = computeValueField.value;
21159
21325
  const labelField = computeLabelField.value;
21326
+ const disabledField = computeDisabledField.value;
21160
21327
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
21161
21328
  class: 'vxe-checkbox-group'
21162
21329
  }, defaultSlot ? defaultSlot({}) : options ? options.map(item => {
21163
21330
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(src_checkbox, {
21164
21331
  label: item[valueField],
21165
- content: item[labelField]
21332
+ content: item[labelField],
21333
+ disabled: item[disabledField]
21166
21334
  });
21167
21335
  }) : []);
21168
21336
  };
@@ -26629,7 +26797,7 @@ const isWebkit = browse['-webkit'] && !browse.edge;
26629
26797
  const resizableStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_WIDTH';
26630
26798
  const visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
26631
26799
  const fixedStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_FIXED';
26632
- const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
26800
+ const sortStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_SORT';
26633
26801
  /* harmony default export */ var table = ((0,external_commonjs_vue_commonjs2_vue_root_Vue_.defineComponent)({
26634
26802
  name: 'VxeTable',
26635
26803
  props: props,
@@ -26731,6 +26899,7 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
26731
26899
  visible: false,
26732
26900
  maxHeight: 0
26733
26901
  },
26902
+ customColumnList: [],
26734
26903
  // 当前选中的筛选列
26735
26904
  filterStore: {
26736
26905
  isAllSelected: false,
@@ -27092,10 +27261,11 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
27092
27261
  });
27093
27262
  const computeFixedColumnSize = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
27094
27263
  const {
27095
- tableFullColumn
27264
+ collectColumn
27096
27265
  } = internalData;
27097
27266
  let fixedSize = 0;
27098
- tableFullColumn.forEach(column => {
27267
+ // 只判断第一层
27268
+ collectColumn.forEach(column => {
27099
27269
  if (column.fixed) {
27100
27270
  fixedSize++;
27101
27271
  }
@@ -27502,11 +27672,13 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
27502
27672
  const {
27503
27673
  storage
27504
27674
  } = customOpts;
27505
- const isCustomResizable = storage === true || storage && storage.resizable;
27506
- const isCustomVisible = storage === true || storage && storage.visible;
27507
- const isCustomFixed = storage === true || storage && storage.fixed;
27508
- const isCustomOrder = storage === true || storage && storage.order;
27509
- if (customConfig && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomOrder)) {
27675
+ const isAllCustom = storage === true;
27676
+ const storageOpts = isAllCustom ? {} : Object.assign({}, storage || {});
27677
+ const isCustomResizable = isAllCustom || storageOpts.resizable;
27678
+ const isCustomVisible = isAllCustom || storageOpts.visible;
27679
+ const isCustomFixed = isAllCustom || storageOpts.fixed;
27680
+ const isCustomSort = isAllCustom || storageOpts.sort;
27681
+ if (customConfig && (isCustomResizable || isCustomVisible || isCustomFixed || isCustomSort)) {
27510
27682
  const customMap = {};
27511
27683
  if (!id) {
27512
27684
  errLog('vxe.error.reqProp', ['id']);
@@ -27541,18 +27713,20 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
27541
27713
  }
27542
27714
  }
27543
27715
  // 自定义顺序
27544
- if (isCustomOrder) {
27545
- const columnOrderStorage = getCustomStorageMap(orderStorageKey)[id];
27546
- if (columnOrderStorage) {
27547
- // const colOrderSeqs = columnOrderStorage.split(',')
27548
- // colOrderSeqs.forEach((orderConf: any) => {
27549
- // const [colKey, order] = orderConf.split('|')
27550
- // if (customMap[colKey]) {
27551
- // customMap[colKey].order = order
27552
- // } else {
27553
- // customMap[colKey] = { order }
27554
- // }
27555
- // })
27716
+ if (isCustomSort) {
27717
+ const columnSortStorage = getCustomStorageMap(sortStorageKey)[id];
27718
+ if (columnSortStorage) {
27719
+ const colOrderSeqs = columnSortStorage.split(',');
27720
+ colOrderSeqs.forEach(orderConf => {
27721
+ const [colKey, sortNumber] = orderConf.split('|');
27722
+ if (customMap[colKey]) {
27723
+ customMap[colKey].sortNumber = sortNumber;
27724
+ } else {
27725
+ customMap[colKey] = {
27726
+ sortNumber
27727
+ };
27728
+ }
27729
+ });
27556
27730
  }
27557
27731
  }
27558
27732
  // 自定义隐藏列
@@ -27593,7 +27767,7 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
27593
27767
  visible,
27594
27768
  resizeWidth,
27595
27769
  fixed,
27596
- order
27770
+ sortNumber
27597
27771
  }, colKey) => {
27598
27772
  const column = keyMap[colKey];
27599
27773
  if (column) {
@@ -27606,8 +27780,8 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
27606
27780
  if (fixed) {
27607
27781
  column.fixed = fixed;
27608
27782
  }
27609
- if (order) {
27610
- column.customOrder = order;
27783
+ if (sortNumber) {
27784
+ column.renderSortNumber = Number(sortNumber);
27611
27785
  }
27612
27786
  }
27613
27787
  });
@@ -27617,7 +27791,7 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
27617
27791
  * 更新数据列的 Map
27618
27792
  * 牺牲数据组装的耗时,用来换取使用过程中的流畅
27619
27793
  */
27620
- const cacheColumnMap = () => {
27794
+ const cacheColumnMap = isInit => {
27621
27795
  const {
27622
27796
  tableFullColumn,
27623
27797
  collectColumn
@@ -27706,6 +27880,9 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
27706
27880
  if (fullColumnIdData[colid]) {
27707
27881
  errLog('vxe.error.colRepet', ['colId', colid]);
27708
27882
  }
27883
+ if (isInit) {
27884
+ column.sortNumber = index;
27885
+ }
27709
27886
  fullColumnIdData[colid] = rest;
27710
27887
  };
27711
27888
  if (isGroup) {
@@ -28081,7 +28258,7 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
28081
28258
  column,
28082
28259
  field,
28083
28260
  property: field,
28084
- order,
28261
+ order: order,
28085
28262
  sortTime: column.sortTime
28086
28263
  });
28087
28264
  }
@@ -29468,7 +29645,7 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
29468
29645
  internalData.collectColumn = collectColumn;
29469
29646
  const tableFullColumn = getColumnList(collectColumn);
29470
29647
  internalData.tableFullColumn = tableFullColumn;
29471
- cacheColumnMap();
29648
+ cacheColumnMap(true);
29472
29649
  restoreCustomStorage();
29473
29650
  parseColumns().then(() => {
29474
29651
  if (reactData.scrollXLoad) {
@@ -30157,7 +30334,7 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
30157
30334
  */
30158
30335
  getColumnById(colid) {
30159
30336
  const fullColumnIdData = internalData.fullColumnIdData;
30160
- return fullColumnIdData[colid] ? fullColumnIdData[colid].column : null;
30337
+ return colid && fullColumnIdData[colid] ? fullColumnIdData[colid].column : null;
30161
30338
  },
30162
30339
  /**
30163
30340
  * 根据列的字段名获取列
@@ -30165,7 +30342,7 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
30165
30342
  */
30166
30343
  getColumnByField(field) {
30167
30344
  const fullColumnFieldData = internalData.fullColumnFieldData;
30168
- return fullColumnFieldData[field] ? fullColumnFieldData[field].column : null;
30345
+ return field && fullColumnFieldData[field] ? fullColumnFieldData[field].column : null;
30169
30346
  },
30170
30347
  /**
30171
30348
  * 获取当前表格的列
@@ -30265,7 +30442,7 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
30265
30442
  const {
30266
30443
  fullDataRowIdData
30267
30444
  } = internalData;
30268
- const rowid = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(cellValue) ? '' : encodeURIComponent(cellValue);
30445
+ const rowid = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(cellValue) ? '' : encodeURIComponent(cellValue || '');
30269
30446
  return fullDataRowIdData[rowid] ? fullDataRowIdData[rowid].row : null;
30270
30447
  },
30271
30448
  /**
@@ -30402,7 +30579,8 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
30402
30579
  const opts = Object.assign({
30403
30580
  visible: true,
30404
30581
  resizable: options === true,
30405
- fixed: options === true
30582
+ fixed: options === true,
30583
+ sort: options === true
30406
30584
  }, options);
30407
30585
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn, column => {
30408
30586
  if (opts.resizable) {
@@ -30411,6 +30589,9 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
30411
30589
  if (opts.fixed) {
30412
30590
  column.fixed = column.defaultFixed;
30413
30591
  }
30592
+ if (opts.sort) {
30593
+ column.renderSortNumber = column.sortNumber;
30594
+ }
30414
30595
  if (!checkMethod || checkMethod({
30415
30596
  column
30416
30597
  })) {
@@ -30428,8 +30609,16 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
30428
30609
  /**
30429
30610
  * 刷新列信息
30430
30611
  * 将固定的列左边、右边分别靠边
30612
+ * 如果传 true 则会检查列顺序并排序
30431
30613
  */
30432
- refreshColumn() {
30614
+ refreshColumn(resiveOrder) {
30615
+ if (resiveOrder) {
30616
+ const columnList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(internalData.collectColumn, 'renderSortNumber');
30617
+ internalData.collectColumn = columnList;
30618
+ const tableFullColumn = getColumnList(columnList);
30619
+ internalData.tableFullColumn = tableFullColumn;
30620
+ cacheColumnMap();
30621
+ }
30433
30622
  return parseColumns().then(() => {
30434
30623
  return tableMethods.refreshScroll();
30435
30624
  }).then(() => {
@@ -31029,7 +31218,7 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
31029
31218
  column,
31030
31219
  field,
31031
31220
  property: field,
31032
- order,
31221
+ order: order,
31033
31222
  sortTime: column.sortTime
31034
31223
  });
31035
31224
  }
@@ -32688,7 +32877,9 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
32688
32877
  const {
32689
32878
  storage
32690
32879
  } = customOpts;
32691
- const isCustomFixed = storage === true || storage && storage.fixed;
32880
+ const isAllStorage = storage === true;
32881
+ const storageOpts = isAllStorage ? {} : Object.assign({}, storage || {});
32882
+ const isCustomFixed = isAllStorage || storageOpts.fixed;
32692
32883
  if (customConfig && isCustomFixed) {
32693
32884
  const columnFixedStorageMap = getCustomStorageMap(fixedStorageKey);
32694
32885
  const colFixeds = [];
@@ -32721,7 +32912,9 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
32721
32912
  checkMethod,
32722
32913
  storage
32723
32914
  } = customOpts;
32724
- const isCustomVisible = storage === true || storage && storage.visible;
32915
+ const isAllStorage = storage === true;
32916
+ const storageOpts = isAllStorage ? {} : Object.assign({}, storage || {});
32917
+ const isCustomVisible = isAllStorage || storageOpts.visible;
32725
32918
  if (customConfig && isCustomVisible) {
32726
32919
  const columnVisibleStorageMap = getCustomStorageMap(visibleStorageKey);
32727
32920
  const colHides = [];
@@ -32754,7 +32947,7 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
32754
32947
  handleCustom() {
32755
32948
  tablePrivateMethods.saveCustomVisible();
32756
32949
  tablePrivateMethods.analyColumnWidth();
32757
- return tableMethods.refreshColumn();
32950
+ return tableMethods.refreshColumn(true);
32758
32951
  },
32759
32952
  handleUpdateDataQueue() {
32760
32953
  reactData.upDataFlag++;
@@ -34383,7 +34576,7 @@ const orderStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_ORDER';
34383
34576
  ref: refElem,
34384
34577
  class: ['vxe-table', 'vxe-table--render-default', `tid_${xID}`, `border--${tableBorder}`, {
34385
34578
  [`size--${vSize}`]: vSize,
34386
- [`vaild-msg--${validOpts.msgMode}`]: !!editRules,
34579
+ [`valid-msg--${validOpts.msgMode}`]: !!editRules,
34387
34580
  'vxe-editable': !!editConfig,
34388
34581
  'old-cell-valid': editRules && conf.cellVaildMode === 'obsolete',
34389
34582
  'cell--highlight': highlightCell,
@@ -34584,7 +34777,7 @@ dynamicApp.component(table.name, table);
34584
34777
  text: '加载中...'
34585
34778
  },
34586
34779
  error: {
34587
- groupFixed: '如果使用分组表头,固定列必须按组设置',
34780
+ groupFixed: '如果使用分组表头,冻结列必须按组设置',
34588
34781
  groupMouseRange: '分组表头与 "{0}" 不能同时使用,这可能会出现错误',
34589
34782
  groupTag: '分组列头应该使用 "{0}" 而不是 "{1}",这可能会出现错误',
34590
34783
  scrollErrProp: '启用虚拟滚动后不支持该参数 "{0}"',
@@ -34637,7 +34830,7 @@ dynamicApp.component(table.name, table);
34637
34830
  customAll: '全部',
34638
34831
  customConfirm: '确认',
34639
34832
  customRestore: '重置',
34640
- maxFixedCol: '最大固定列的数量不能超过 {0} 个'
34833
+ maxFixedCol: '最大冻结列的数量不能超过 {0} 个'
34641
34834
  },
34642
34835
  grid: {
34643
34836
  selectOneRecord: '请至少选择一条记录!',
@@ -34672,7 +34865,7 @@ dynamicApp.component(table.name, table);
34672
34865
  endPageTitle: '末页'
34673
34866
  },
34674
34867
  alert: {
34675
- title: '消息提示'
34868
+ title: '系统提示'
34676
34869
  },
34677
34870
  button: {
34678
34871
  confirm: '确认',
@@ -34685,7 +34878,18 @@ dynamicApp.component(table.name, table);
34685
34878
  cstmTitle: '列设置',
34686
34879
  cstmRestore: '恢复默认',
34687
34880
  cstmCancel: '取消',
34688
- cstmConfirm: '确定'
34881
+ cstmConfirm: '确定',
34882
+ cstmConfirmRestore: '请确认是否恢复成默认列配置?',
34883
+ cstmDragTarget: '移动目标:{0}',
34884
+ setting: {
34885
+ colSort: '排序',
34886
+ colTitle: '标题',
34887
+ colVisible: '是否显示',
34888
+ colFixed: '冻结列',
34889
+ fixedLeft: '左侧',
34890
+ fixedUnset: '不设置',
34891
+ fixedRight: '右侧'
34892
+ }
34689
34893
  },
34690
34894
  import: {
34691
34895
  modes: {
@@ -34764,9 +34968,9 @@ dynamicApp.component(table.name, table);
34764
34968
  customAll: '全部',
34765
34969
  customConfirm: '确认',
34766
34970
  customRestore: '重置',
34767
- fixedLeft: '固定在左侧',
34768
- fixedRight: '固定在右侧',
34769
- cancelfixed: '取消固定'
34971
+ fixedLeft: '冻结在左侧',
34972
+ fixedRight: '冻结在右侧',
34973
+ cancelfixed: '取消冻结列'
34770
34974
  },
34771
34975
  input: {
34772
34976
  date: {