vxe-table 3.6.6 → 3.6.8

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 (230) hide show
  1. package/lib/all.js +11 -82
  2. package/lib/all.min.js +1 -1
  3. package/lib/button/index.js +0 -3
  4. package/lib/button/src/button.js +39 -82
  5. package/lib/button/src/button.min.js +1 -1
  6. package/lib/button/style/style.css +475 -349
  7. package/lib/button/style/style.min.css +1 -1
  8. package/lib/checkbox/index.js +0 -3
  9. package/lib/checkbox/src/checkbox.js +15 -29
  10. package/lib/checkbox/src/checkbox.min.js +1 -1
  11. package/lib/checkbox/src/group.js +4 -12
  12. package/lib/checkbox/style/style.css +158 -128
  13. package/lib/checkbox/style/style.min.css +1 -1
  14. package/lib/checkbox-group/index.js +0 -3
  15. package/lib/checkbox-group/style/style.css +1 -1
  16. package/lib/colgroup/index.js +2 -5
  17. package/lib/colgroup/style/style.css +1 -1
  18. package/lib/column/index.js +2 -5
  19. package/lib/column/style/style.css +1 -1
  20. package/lib/edit/index.js +0 -6
  21. package/lib/edit/src/mixin.js +91 -252
  22. package/lib/edit/src/mixin.min.js +1 -1
  23. package/lib/edit/style/style.css +1 -1
  24. package/lib/export/index.js +1 -16
  25. package/lib/export/index.min.js +1 -1
  26. package/lib/export/src/export-panel.js +16 -41
  27. package/lib/export/src/export-panel.min.js +1 -1
  28. package/lib/export/src/import-panel.js +5 -19
  29. package/lib/export/src/import-panel.min.js +1 -1
  30. package/lib/export/src/mixin.js +105 -387
  31. package/lib/export/src/mixin.min.js +1 -1
  32. package/lib/export/style/style.css +138 -105
  33. package/lib/filter/index.js +0 -8
  34. package/lib/filter/src/mixin.js +18 -66
  35. package/lib/filter/src/mixin.min.js +1 -1
  36. package/lib/filter/src/panel.js +10 -22
  37. package/lib/filter/src/panel.min.js +1 -1
  38. package/lib/filter/style/style.css +105 -81
  39. package/lib/footer/index.js +0 -3
  40. package/lib/footer/src/footer.js +52 -84
  41. package/lib/footer/src/footer.min.js +1 -1
  42. package/lib/footer/style/style.css +1 -1
  43. package/lib/form/index.js +0 -3
  44. package/lib/form/src/form-config-item.js +23 -40
  45. package/lib/form/src/form-config-item.min.js +1 -1
  46. package/lib/form/src/form-gather.js +0 -5
  47. package/lib/form/src/form-item.js +18 -35
  48. package/lib/form/src/form-item.min.js +1 -1
  49. package/lib/form/src/form.js +45 -137
  50. package/lib/form/src/form.min.js +1 -1
  51. package/lib/form/src/render.js +7 -22
  52. package/lib/form/src/render.min.js +1 -1
  53. package/lib/form/src/util.js +9 -42
  54. package/lib/form/src/util.min.js +1 -1
  55. package/lib/form/style/style.css +227 -185
  56. package/lib/form-gather/index.js +0 -3
  57. package/lib/form-gather/style/style.css +1 -1
  58. package/lib/form-item/index.js +0 -3
  59. package/lib/form-item/style/style.css +1 -1
  60. package/lib/grid/index.js +0 -4
  61. package/lib/grid/src/grid.js +87 -261
  62. package/lib/grid/src/grid.min.js +1 -1
  63. package/lib/grid/style/style.css +62 -50
  64. package/lib/header/index.js +0 -3
  65. package/lib/header/src/header.js +54 -87
  66. package/lib/header/src/header.min.js +1 -1
  67. package/lib/header/src/util.js +0 -17
  68. package/lib/header/src/util.min.js +1 -1
  69. package/lib/header/style/style.css +1 -1
  70. package/lib/icon/index.js +0 -3
  71. package/lib/icon/style/iconfont.1669391208345.ttf +0 -0
  72. package/lib/icon/style/iconfont.1669391208345.woff +0 -0
  73. package/lib/icon/style/iconfont.1669391208345.woff2 +0 -0
  74. package/lib/icon/style/style.css +384 -197
  75. package/lib/icon/style/style.min.css +738 -1
  76. package/lib/iconfont.1669391208345.ttf +0 -0
  77. package/lib/iconfont.1669391208345.woff +0 -0
  78. package/lib/iconfont.1669391208345.woff2 +0 -0
  79. package/lib/index.common.js +1 -7
  80. package/lib/index.common.min.js +1 -1
  81. package/lib/index.css +1 -1
  82. package/lib/index.umd.js +11884 -13141
  83. package/lib/index.umd.min.js +1 -1
  84. package/lib/input/index.js +0 -3
  85. package/lib/input/src/date.js +0 -10
  86. package/lib/input/src/date.min.js +1 -1
  87. package/lib/input/src/input.js +208 -473
  88. package/lib/input/src/input.min.js +1 -1
  89. package/lib/input/src/number.js +0 -5
  90. package/lib/input/style/style.css +820 -611
  91. package/lib/keyboard/index.js +0 -6
  92. package/lib/keyboard/src/mixin.js +35 -111
  93. package/lib/keyboard/src/mixin.min.js +1 -1
  94. package/lib/keyboard/style/style.css +1 -1
  95. package/lib/list/index.js +0 -3
  96. package/lib/list/src/list.js +23 -64
  97. package/lib/list/src/list.min.js +1 -1
  98. package/lib/list/style/style.css +19 -14
  99. package/lib/loading/index.js +0 -3
  100. package/lib/loading/index.min.js +1 -1
  101. package/lib/loading/src/loading.js +1 -4
  102. package/lib/loading/style/style.css +60 -45
  103. package/lib/locale/lang/zh-HK.js +0 -3
  104. package/lib/locale/lang/zh-MO.js +0 -3
  105. package/lib/locale/lang/zh-TW.js +0 -3
  106. package/lib/menu/index.js +0 -8
  107. package/lib/menu/src/mixin.js +38 -100
  108. package/lib/menu/src/mixin.min.js +1 -1
  109. package/lib/menu/src/panel.js +2 -5
  110. package/lib/menu/style/style.css +74 -55
  111. package/lib/mixins/size.js +1 -1
  112. package/lib/modal/index.js +3 -21
  113. package/lib/modal/index.min.js +1 -1
  114. package/lib/modal/src/modal.js +97 -254
  115. package/lib/modal/src/modal.min.js +1 -1
  116. package/lib/modal/style/style.css +346 -280
  117. package/lib/modal/style/style.min.css +1 -1
  118. package/lib/optgroup/index.js +0 -3
  119. package/lib/optgroup/style/style.css +1 -1
  120. package/lib/option/index.js +0 -3
  121. package/lib/option/style/style.css +1 -1
  122. package/lib/pager/index.js +0 -3
  123. package/lib/pager/src/pager.js +13 -41
  124. package/lib/pager/src/pager.min.js +1 -1
  125. package/lib/pager/style/style.css +314 -262
  126. package/lib/pulldown/index.js +0 -3
  127. package/lib/pulldown/src/pulldown.js +29 -72
  128. package/lib/pulldown/src/pulldown.min.js +1 -1
  129. package/lib/pulldown/style/style.css +51 -39
  130. package/lib/radio/index.js +0 -3
  131. package/lib/radio/src/button.js +11 -22
  132. package/lib/radio/src/group.js +2 -6
  133. package/lib/radio/src/radio.js +11 -23
  134. package/lib/radio/style/style.css +186 -152
  135. package/lib/radio/style/style.min.css +1 -1
  136. package/lib/radio-button/index.js +0 -3
  137. package/lib/radio-button/style/style.css +1 -1
  138. package/lib/radio-group/index.js +0 -3
  139. package/lib/radio-group/style/style.css +1 -1
  140. package/lib/select/index.js +0 -5
  141. package/lib/select/src/optgroup.js +0 -2
  142. package/lib/select/src/optgroup.min.js +1 -1
  143. package/lib/select/src/option.js +0 -2
  144. package/lib/select/src/option.min.js +1 -1
  145. package/lib/select/src/select.js +79 -211
  146. package/lib/select/src/select.min.js +1 -1
  147. package/lib/select/src/util.js +5 -24
  148. package/lib/select/src/util.min.js +1 -1
  149. package/lib/select/style/style.css +120 -89
  150. package/lib/style.css +1 -1
  151. package/lib/style.min.css +1 -1
  152. package/lib/switch/index.js +0 -3
  153. package/lib/switch/src/switch.js +7 -20
  154. package/lib/switch/src/switch.min.js +1 -1
  155. package/lib/switch/style/style.css +92 -71
  156. package/lib/table/index.js +0 -9
  157. package/lib/table/src/body.js +167 -261
  158. package/lib/table/src/body.min.js +1 -1
  159. package/lib/table/src/cell.js +107 -222
  160. package/lib/table/src/cell.min.js +1 -1
  161. package/lib/table/src/column.js +2 -4
  162. package/lib/table/src/column.min.js +1 -1
  163. package/lib/table/src/columnInfo.js +6 -35
  164. package/lib/table/src/columnInfo.min.js +1 -1
  165. package/lib/table/src/group.js +0 -3
  166. package/lib/table/src/methods.js +570 -1461
  167. package/lib/table/src/methods.min.js +1 -1
  168. package/lib/table/src/table.js +123 -231
  169. package/lib/table/src/table.min.js +1 -1
  170. package/lib/table/src/util.js +28 -105
  171. package/lib/table/src/util.min.js +1 -1
  172. package/lib/table/style/style.css +1080 -863
  173. package/lib/table/style/style.min.css +1 -1
  174. package/lib/textarea/index.js +0 -3
  175. package/lib/textarea/src/textarea.js +23 -55
  176. package/lib/textarea/src/textarea.min.js +1 -1
  177. package/lib/textarea/style/style.css +66 -45
  178. package/lib/toolbar/index.js +0 -3
  179. package/lib/toolbar/src/toolbar.js +43 -117
  180. package/lib/toolbar/src/toolbar.min.js +1 -1
  181. package/lib/toolbar/style/style.css +232 -187
  182. package/lib/tools/dom.js +7 -42
  183. package/lib/tools/dom.min.js +1 -1
  184. package/lib/tools/event.js +4 -14
  185. package/lib/tools/event.min.js +1 -1
  186. package/lib/tools/log.js +1 -6
  187. package/lib/tools/log.min.js +1 -1
  188. package/lib/tools/resize.js +3 -24
  189. package/lib/tools/resize.min.js +1 -1
  190. package/lib/tools/utils.js +7 -29
  191. package/lib/tools/utils.min.js +1 -1
  192. package/lib/tools/vn.js +0 -4
  193. package/lib/tooltip/index.js +0 -4
  194. package/lib/tooltip/src/tooltip.js +29 -76
  195. package/lib/tooltip/src/tooltip.min.js +1 -1
  196. package/lib/tooltip/style/style.css +88 -64
  197. package/lib/v-x-e-table/index.js +6 -41
  198. package/lib/v-x-e-table/index.min.js +1 -1
  199. package/lib/v-x-e-table/src/commands.js +0 -4
  200. package/lib/v-x-e-table/src/conf.js +30 -18
  201. package/lib/v-x-e-table/src/formats.js +0 -4
  202. package/lib/v-x-e-table/src/interceptor.js +4 -15
  203. package/lib/v-x-e-table/src/menus.js +0 -4
  204. package/lib/v-x-e-table/src/renderer.js +62 -169
  205. package/lib/v-x-e-table/src/renderer.min.js +1 -1
  206. package/lib/v-x-e-table/src/setup.js +0 -4
  207. package/lib/v-x-e-table/src/store.js +3 -16
  208. package/lib/v-x-e-table/src/store.min.js +1 -1
  209. package/lib/v-x-e-table/style/style.css +444 -242
  210. package/lib/v-x-e-table/style/style.min.css +1 -1
  211. package/lib/validator/index.js +0 -6
  212. package/lib/validator/src/mixin.js +31 -100
  213. package/lib/validator/src/mixin.min.js +1 -1
  214. package/lib/validator/style/style.css +1 -1
  215. package/lib/vxe-table/style/style.css +1 -1
  216. package/package.json +28 -29
  217. package/packages/export/src/mixin.js +2 -1
  218. package/packages/filter/src/mixin.js +1 -1
  219. package/packages/form/src/form.js +5 -4
  220. package/packages/grid/src/grid.js +14 -14
  221. package/packages/table/src/column.js +2 -0
  222. package/packages/table/src/columnInfo.js +1 -0
  223. package/packages/table/src/methods.js +18 -18
  224. package/styles/icon/iconfont.ttf +0 -0
  225. package/styles/icon/iconfont.woff +0 -0
  226. package/styles/icon/iconfont.woff2 +0 -0
  227. package/styles/icon.scss +9 -1
  228. package/styles/table.scss +1 -1
  229. package/styles/variable.scss +2 -2
  230. package/types/column.d.ts +3 -0
@@ -7,72 +7,54 @@ exports.default = void 0;
7
7
  exports.handlePrint = handlePrint;
8
8
  exports.readLocalFile = readLocalFile;
9
9
  exports.saveLocalFile = saveLocalFile;
10
-
11
10
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
12
-
13
11
  var _conf = _interopRequireDefault(require("../../v-x-e-table/src/conf"));
14
-
15
12
  var _vXETable = _interopRequireDefault(require("../../v-x-e-table"));
16
-
17
13
  var _utils = _interopRequireDefault(require("../../tools/utils"));
18
-
19
14
  var _util = require("../../table/src/util");
20
-
21
15
  var _dom = require("../../tools/dom");
22
-
23
16
  var _log = require("../../tools/log");
24
-
25
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
-
27
18
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
28
-
29
19
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
30
-
31
20
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
32
-
33
21
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
34
-
35
22
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
36
-
37
23
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
24
+ var formatText = _utils.default.formatText;
38
25
 
39
- var formatText = _utils.default.formatText; // 默认导出或打印的 HTML 样式
40
-
26
+ // 默认导出或打印的 HTML 样式
41
27
  var defaultHtmlStyle = 'body{margin:0;color:#333333;font-size:14px;font-family:"Microsoft YaHei",微软雅黑,"MicrosoftJhengHei",华文细黑,STHeiti,MingLiu}body *{-webkit-box-sizing:border-box;box-sizing:border-box}.vxe-table{border-collapse:collapse;text-align:left;border-spacing:0}.vxe-table:not(.is--print){table-layout:fixed}.vxe-table,.vxe-table th,.vxe-table td,.vxe-table td{border-color:#D0D0D0;border-style:solid;border-width:0}.vxe-table.is--print{width:100%}.border--default,.border--full,.border--outer{border-top-width:1px}.border--default,.border--full,.border--outer{border-left-width:1px}.border--outer,.border--default th,.border--default td,.border--full th,.border--full td,.border--outer th,.border--inner th,.border--inner td{border-bottom-width:1px}.border--default,.border--outer,.border--full th,.border--full td{border-right-width:1px}.border--default th,.border--full th,.border--outer th{background-color:#f8f8f9}.vxe-table td>div,.vxe-table th>div{padding:.5em .4em}.col--center{text-align:center}.col--right{text-align:right}.vxe-table:not(.is--print) .col--ellipsis>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.vxe-table--tree-node{text-align:left}.vxe-table--tree-node-wrapper{position:relative}.vxe-table--tree-icon-wrapper{position:absolute;top:50%;width:1em;height:1em;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-table--tree-unfold-icon,.vxe-table--tree-fold-icon{position:absolute;width:0;height:0;border-style:solid;border-width:.5em;border-right-color:transparent;border-bottom-color:transparent}.vxe-table--tree-unfold-icon{left:.3em;top:0;border-left-color:#939599;border-top-color:transparent}.vxe-table--tree-fold-icon{left:0;top:.3em;border-left-color:transparent;border-top-color:#939599}.vxe-table--tree-cell{display:block;padding-left:1.5em}.vxe-table input[type="checkbox"]{margin:0}.vxe-table input[type="checkbox"],.vxe-table input[type="radio"],.vxe-table input[type="checkbox"]+span,.vxe-table input[type="radio"]+span{vertical-align:middle;padding-left:0.4em}';
42
- var htmlCellElem; // 导入
28
+ var htmlCellElem;
43
29
 
30
+ // 导入
44
31
  var fileForm;
45
- var fileInput; // 打印
32
+ var fileInput;
46
33
 
34
+ // 打印
47
35
  var printFrame;
48
36
  var csvBOM = "\uFEFF";
49
37
  var enterSymbol = '\r\n';
50
-
51
38
  function createFrame() {
52
39
  var frame = document.createElement('iframe');
53
40
  frame.className = 'vxe-table--print-frame';
54
41
  return frame;
55
42
  }
56
-
57
43
  function getExportBlobByContent(content, options) {
58
44
  if (window.Blob) {
59
45
  return new Blob([content], {
60
46
  type: "text/".concat(options.type, ";charset=utf-8;")
61
47
  });
62
48
  }
63
-
64
49
  return null;
65
50
  }
66
-
67
51
  function hasTreeChildren($xetable, row) {
68
52
  var treeOpts = $xetable.treeOpts;
69
53
  return row[treeOpts.children] && row[treeOpts.children].length > 0;
70
54
  }
71
-
72
55
  function getSeq($xetable, row, $rowIndex, column, $columnIndex) {
73
56
  var seqOpts = $xetable.seqOpts;
74
57
  var seqMethod = seqOpts.seqMethod || column.seqMethod;
75
-
76
58
  if (seqMethod) {
77
59
  return seqMethod({
78
60
  row: row,
@@ -83,51 +65,40 @@ function getSeq($xetable, row, $rowIndex, column, $columnIndex) {
83
65
  $columnIndex: $columnIndex
84
66
  });
85
67
  }
86
-
87
68
  return $xetable.getRowSeq(row);
88
69
  }
89
-
90
70
  function defaultFilterExportColumn(column) {
91
71
  return column.property || ['seq', 'checkbox', 'radio'].indexOf(column.type) > -1;
92
72
  }
93
-
94
73
  function toTableBorder(border) {
95
74
  if (border === true) {
96
75
  return 'full';
97
76
  }
98
-
99
77
  if (border) {
100
78
  return border;
101
79
  }
102
-
103
80
  return 'default';
104
81
  }
105
-
106
82
  function toBooleanValue(cellValue) {
107
83
  return _xeUtils.default.isBoolean(cellValue) ? cellValue ? 'TRUE' : 'FALSE' : cellValue;
108
84
  }
109
-
110
85
  function getLabelData($xetable, opts, columns, datas) {
111
86
  var isAllExpand = opts.isAllExpand,
112
- mode = opts.mode;
87
+ mode = opts.mode;
113
88
  var treeConfig = $xetable.treeConfig,
114
- treeOpts = $xetable.treeOpts,
115
- radioOpts = $xetable.radioOpts,
116
- checkboxOpts = $xetable.checkboxOpts;
117
-
89
+ treeOpts = $xetable.treeOpts,
90
+ radioOpts = $xetable.radioOpts,
91
+ checkboxOpts = $xetable.checkboxOpts;
118
92
  if (!htmlCellElem) {
119
93
  htmlCellElem = document.createElement('div');
120
94
  }
121
-
122
95
  if (treeConfig) {
123
96
  // 如果是树表格只允许导出数据源
124
97
  var rest = [];
125
98
  var expandMaps = new Map();
126
-
127
99
  _xeUtils.default.eachTree(datas, function (item, $rowIndex, items, path, parent, nodes) {
128
100
  var row = item._row || item;
129
101
  var parentRow = parent && parent._row ? parent._row : parent;
130
-
131
102
  if (isAllExpand || !parentRow || expandMaps.has(parentRow) && $xetable.isTreeExpandByRow(parentRow)) {
132
103
  var hasRowChild = hasTreeChildren($xetable, row);
133
104
  var _item = {
@@ -140,15 +111,12 @@ function getLabelData($xetable, opts, columns, datas) {
140
111
  var cellValue = '';
141
112
  var renderOpts = column.editRender || column.cellRender;
142
113
  var exportLabelMethod = column.exportMethod;
143
-
144
114
  if (!exportLabelMethod && renderOpts && renderOpts.name) {
145
115
  var compConf = _vXETable.default.renderer.get(renderOpts.name);
146
-
147
116
  if (compConf) {
148
117
  exportLabelMethod = compConf.exportMethod || compConf.cellExportMethod;
149
118
  }
150
119
  }
151
-
152
120
  if (exportLabelMethod) {
153
121
  cellValue = exportLabelMethod({
154
122
  $table: $xetable,
@@ -163,7 +131,6 @@ function getLabelData($xetable, opts, columns, datas) {
163
131
  return i % 2 === 0 ? Number(num) + 1 : '.';
164
132
  }).join('') : getSeq($xetable, row, $rowIndex, column, $columnIndex);
165
133
  break;
166
-
167
134
  case 'checkbox':
168
135
  cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row));
169
136
  _item._checkboxLabel = checkboxOpts.labelField ? _xeUtils.default.get(row, checkboxOpts.labelField) : '';
@@ -171,7 +138,6 @@ function getLabelData($xetable, opts, columns, datas) {
171
138
  row: row
172
139
  });
173
140
  break;
174
-
175
141
  case 'radio':
176
142
  cellValue = toBooleanValue($xetable.isCheckedByRadioRow(row));
177
143
  _item._radioLabel = radioOpts.labelField ? _xeUtils.default.get(row, radioOpts.labelField) : '';
@@ -179,38 +145,31 @@ function getLabelData($xetable, opts, columns, datas) {
179
145
  row: row
180
146
  });
181
147
  break;
182
-
183
148
  default:
184
149
  if (opts.original) {
185
150
  cellValue = _utils.default.getCellValue(row, column);
186
151
  } else {
187
152
  cellValue = $xetable.getCellLabel(row, column);
188
-
189
153
  if (column.type === 'html') {
190
154
  htmlCellElem.innerHTML = cellValue;
191
155
  cellValue = htmlCellElem.innerText.trim();
192
156
  } else {
193
157
  var cell = $xetable.getCell(row, column);
194
-
195
158
  if (cell) {
196
159
  cellValue = cell.innerText.trim();
197
160
  }
198
161
  }
199
162
  }
200
-
201
163
  }
202
164
  }
203
-
204
165
  _item[column.id] = _xeUtils.default.toValueString(cellValue);
205
166
  });
206
167
  expandMaps.set(row, 1);
207
168
  rest.push(Object.assign(_item, row));
208
169
  }
209
170
  }, treeOpts);
210
-
211
171
  return rest;
212
172
  }
213
-
214
173
  return datas.map(function (row, $rowIndex) {
215
174
  var item = {
216
175
  _row: row
@@ -219,15 +178,12 @@ function getLabelData($xetable, opts, columns, datas) {
219
178
  var cellValue = '';
220
179
  var renderOpts = column.editRender || column.cellRender;
221
180
  var exportLabelMethod = column.exportMethod;
222
-
223
181
  if (!exportLabelMethod && renderOpts && renderOpts.name) {
224
182
  var compConf = _vXETable.default.renderer.get(renderOpts.name);
225
-
226
183
  if (compConf) {
227
184
  exportLabelMethod = compConf.exportMethod || compConf.cellExportMethod;
228
185
  }
229
186
  }
230
-
231
187
  if (exportLabelMethod) {
232
188
  cellValue = exportLabelMethod({
233
189
  $table: $xetable,
@@ -240,7 +196,6 @@ function getLabelData($xetable, opts, columns, datas) {
240
196
  case 'seq':
241
197
  cellValue = mode === 'all' ? $rowIndex + 1 : getSeq($xetable, row, $rowIndex, column, $columnIndex);
242
198
  break;
243
-
244
199
  case 'checkbox':
245
200
  cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row));
246
201
  item._checkboxLabel = checkboxOpts.labelField ? _xeUtils.default.get(row, checkboxOpts.labelField) : '';
@@ -248,7 +203,6 @@ function getLabelData($xetable, opts, columns, datas) {
248
203
  row: row
249
204
  });
250
205
  break;
251
-
252
206
  case 'radio':
253
207
  cellValue = toBooleanValue($xetable.isCheckedByRadioRow(row));
254
208
  item._radioLabel = radioOpts.labelField ? _xeUtils.default.get(row, radioOpts.labelField) : '';
@@ -256,39 +210,32 @@ function getLabelData($xetable, opts, columns, datas) {
256
210
  row: row
257
211
  });
258
212
  break;
259
-
260
213
  default:
261
214
  if (opts.original) {
262
215
  cellValue = _utils.default.getCellValue(row, column);
263
216
  } else {
264
217
  cellValue = $xetable.getCellLabel(row, column);
265
-
266
218
  if (column.type === 'html') {
267
219
  htmlCellElem.innerHTML = cellValue;
268
220
  cellValue = htmlCellElem.innerText.trim();
269
221
  } else {
270
222
  var cell = $xetable.getCell(row, column);
271
-
272
223
  if (cell) {
273
224
  cellValue = cell.innerText.trim();
274
225
  }
275
226
  }
276
227
  }
277
-
278
228
  }
279
229
  }
280
-
281
230
  item[column.id] = _xeUtils.default.toValueString(cellValue);
282
231
  });
283
232
  return item;
284
233
  });
285
234
  }
286
-
287
235
  function getExportData($xetable, opts) {
288
236
  var columns = opts.columns,
289
- dataFilterMethod = opts.dataFilterMethod;
237
+ dataFilterMethod = opts.dataFilterMethod;
290
238
  var datas = opts.data;
291
-
292
239
  if (dataFilterMethod) {
293
240
  datas = datas.filter(function (row, index) {
294
241
  return dataFilterMethod({
@@ -297,32 +244,24 @@ function getExportData($xetable, opts) {
297
244
  });
298
245
  });
299
246
  }
300
-
301
247
  return getLabelData($xetable, opts, columns, datas);
302
248
  }
303
-
304
249
  function getBooleanValue(cellValue) {
305
250
  return cellValue === 'TRUE' || cellValue === 'true' || cellValue === true;
306
251
  }
307
-
308
252
  function getHeaderTitle(opts, column) {
309
253
  return (opts.original ? column.property : column.getTitle()) || '';
310
254
  }
311
-
312
255
  function getFooterCellValue($xetable, opts, items, column) {
313
256
  var renderOpts = column.editRender || column.cellRender;
314
257
  var exportLabelMethod = column.footerExportMethod;
315
-
316
258
  if (!exportLabelMethod && renderOpts && renderOpts.name) {
317
259
  var compConf = _vXETable.default.renderer.get(renderOpts.name);
318
-
319
260
  if (compConf) {
320
261
  exportLabelMethod = compConf.footerExportMethod || compConf.footerCellExportMethod;
321
262
  }
322
263
  }
323
-
324
264
  var _columnIndex = $xetable.getVTColumnIndex(column);
325
-
326
265
  var cellValue = exportLabelMethod ? exportLabelMethod({
327
266
  $table: $xetable,
328
267
  items: items,
@@ -333,7 +272,6 @@ function getFooterCellValue($xetable, opts, items, column) {
333
272
  }) : _xeUtils.default.toValueString(items[_columnIndex]);
334
273
  return cellValue;
335
274
  }
336
-
337
275
  function getFooterData(opts, footerTableData) {
338
276
  var footerFilterMethod = opts.footerFilterMethod;
339
277
  return footerFilterMethod ? footerTableData.filter(function (items, index) {
@@ -343,59 +281,46 @@ function getFooterData(opts, footerTableData) {
343
281
  });
344
282
  }) : footerTableData;
345
283
  }
346
-
347
284
  function getCsvCellTypeLabel(column, cellValue) {
348
285
  if (cellValue) {
349
286
  if (column.type === 'seq') {
350
287
  return "\t".concat(cellValue);
351
288
  }
352
-
353
289
  switch (column.cellType) {
354
290
  case 'string':
355
291
  if (!isNaN(cellValue)) {
356
292
  return "\t".concat(cellValue);
357
293
  }
358
-
359
294
  break;
360
-
361
295
  case 'number':
362
296
  break;
363
-
364
297
  default:
365
298
  if (cellValue.length >= 12 && !isNaN(cellValue)) {
366
299
  return "\t".concat(cellValue);
367
300
  }
368
-
369
301
  break;
370
302
  }
371
303
  }
372
-
373
304
  return cellValue;
374
305
  }
375
-
376
306
  function toTxtCellLabel(val) {
377
307
  if (/[",\s\n]/.test(val)) {
378
308
  return "\"".concat(val.replace(/"/g, '""'), "\"");
379
309
  }
380
-
381
310
  return val;
382
311
  }
383
-
384
312
  function toCsv($xetable, opts, columns, datas) {
385
313
  var content = csvBOM;
386
-
387
314
  if (opts.isHeader) {
388
315
  content += columns.map(function (column) {
389
316
  return toTxtCellLabel(getHeaderTitle(opts, column));
390
317
  }).join(',') + enterSymbol;
391
318
  }
392
-
393
319
  datas.forEach(function (row) {
394
320
  content += columns.map(function (column) {
395
321
  return toTxtCellLabel(getCsvCellTypeLabel(column, row[column.id]));
396
322
  }).join(',') + enterSymbol;
397
323
  });
398
-
399
324
  if (opts.isFooter) {
400
325
  var footerTableData = $xetable.footerTableData;
401
326
  var footers = getFooterData(opts, footerTableData);
@@ -405,25 +330,20 @@ function toCsv($xetable, opts, columns, datas) {
405
330
  }).join(',') + enterSymbol;
406
331
  });
407
332
  }
408
-
409
333
  return content;
410
334
  }
411
-
412
335
  function toTxt($xetable, opts, columns, datas) {
413
336
  var content = '';
414
-
415
337
  if (opts.isHeader) {
416
338
  content += columns.map(function (column) {
417
339
  return toTxtCellLabel(getHeaderTitle(opts, column));
418
340
  }).join('\t') + enterSymbol;
419
341
  }
420
-
421
342
  datas.forEach(function (row) {
422
343
  content += columns.map(function (column) {
423
344
  return toTxtCellLabel(row[column.id]);
424
345
  }).join('\t') + enterSymbol;
425
346
  });
426
-
427
347
  if (opts.isFooter) {
428
348
  var footerTableData = $xetable.footerTableData;
429
349
  var footers = getFooterData(opts, footerTableData);
@@ -433,50 +353,45 @@ function toTxt($xetable, opts, columns, datas) {
433
353
  }).join(',') + enterSymbol;
434
354
  });
435
355
  }
436
-
437
356
  return content;
438
357
  }
439
-
440
358
  function hasEllipsis($xetable, column, property, allColumnOverflow) {
441
359
  var columnOverflow = column[property];
442
360
  var headOverflow = _xeUtils.default.isUndefined(columnOverflow) || _xeUtils.default.isNull(columnOverflow) ? allColumnOverflow : columnOverflow;
443
361
  var showEllipsis = headOverflow === 'ellipsis';
444
362
  var showTitle = headOverflow === 'title';
445
363
  var showTooltip = headOverflow === true || headOverflow === 'tooltip';
446
- var isEllipsis = showTitle || showTooltip || showEllipsis; // 虚拟滚动不支持动态高度
447
-
364
+ var isEllipsis = showTitle || showTooltip || showEllipsis;
365
+ // 虚拟滚动不支持动态高度
448
366
  if (($xetable.scrollXLoad || $xetable.scrollYLoad) && !isEllipsis) {
449
367
  isEllipsis = true;
450
368
  }
451
-
452
369
  return isEllipsis;
453
370
  }
454
-
455
371
  function createHtmlPage(opts, content) {
456
372
  var style = opts.style;
457
373
  return ['<!DOCTYPE html><html>', '<head>', '<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,minimal-ui">', "<title>".concat(opts.sheetName, "</title>"), "<style>".concat(defaultHtmlStyle, "</style>"), style ? "<style>".concat(style, "</style>") : '', '</head>', "<body>".concat(content, "</body>"), '</html>'].join('');
458
374
  }
459
-
460
375
  function toHtml($xetable, opts, columns, datas) {
461
376
  var id = $xetable.id,
462
- border = $xetable.border,
463
- treeConfig = $xetable.treeConfig,
464
- treeOpts = $xetable.treeOpts,
465
- isAllSelected = $xetable.isAllSelected,
466
- isIndeterminate = $xetable.isIndeterminate,
467
- allHeaderAlign = $xetable.headerAlign,
468
- allAlign = $xetable.align,
469
- allFooterAlign = $xetable.footerAlign,
470
- allColumnOverflow = $xetable.showOverflow,
471
- allColumnHeaderOverflow = $xetable.showHeaderOverflow,
472
- mergeList = $xetable.mergeList;
377
+ border = $xetable.border,
378
+ treeConfig = $xetable.treeConfig,
379
+ treeOpts = $xetable.treeOpts,
380
+ isAllSelected = $xetable.isAllSelected,
381
+ isIndeterminate = $xetable.isIndeterminate,
382
+ allHeaderAlign = $xetable.headerAlign,
383
+ allAlign = $xetable.align,
384
+ allFooterAlign = $xetable.footerAlign,
385
+ allColumnOverflow = $xetable.showOverflow,
386
+ allColumnHeaderOverflow = $xetable.showHeaderOverflow,
387
+ mergeList = $xetable.mergeList;
473
388
  var isPrint = opts.print,
474
- isHeader = opts.isHeader,
475
- isFooter = opts.isFooter,
476
- isColgroup = opts.isColgroup,
477
- isMerge = opts.isMerge,
478
- colgroups = opts.colgroups,
479
- original = opts.original;
389
+ isHeader = opts.isHeader,
390
+ isFooter = opts.isFooter,
391
+ isColgroup = opts.isColgroup,
392
+ isMerge = opts.isMerge,
393
+ colgroups = opts.colgroups,
394
+ original = opts.original;
480
395
  var allCls = 'check-all';
481
396
  var clss = ['vxe-table', "border--".concat(toTableBorder(border)), isPrint ? 'is--print' : '', isHeader ? 'is--header' : ''].filter(function (cls) {
482
397
  return cls;
@@ -484,10 +399,8 @@ function toHtml($xetable, opts, columns, datas) {
484
399
  var tables = ["<table class=\"".concat(clss.join(' '), "\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"), "<colgroup>".concat(columns.map(function (column) {
485
400
  return "<col style=\"width:".concat(column.renderWidth, "px\">");
486
401
  }).join(''), "</colgroup>")];
487
-
488
402
  if (isHeader) {
489
403
  tables.push('<thead>');
490
-
491
404
  if (isColgroup && !original) {
492
405
  colgroups.forEach(function (cols) {
493
406
  tables.push("<tr>".concat(cols.map(function (column) {
@@ -496,27 +409,21 @@ function toHtml($xetable, opts, columns, datas) {
496
409
  var cellTitle = getHeaderTitle(opts, column);
497
410
  var childWidth = 0;
498
411
  var countChild = 0;
499
-
500
412
  _xeUtils.default.eachTree([column], function (item) {
501
413
  if (!item.childNodes || !column.childNodes.length) {
502
414
  countChild++;
503
415
  }
504
-
505
416
  childWidth += item.renderWidth;
506
417
  }, {
507
418
  children: 'childNodes'
508
419
  });
509
-
510
420
  var cellWidth = childWidth - countChild;
511
-
512
421
  if (headAlign) {
513
422
  classNames.push("col--".concat(headAlign));
514
423
  }
515
-
516
424
  if (column.type === 'checkbox') {
517
425
  return "<th class=\"".concat(classNames.join(' '), "\" colspan=\"").concat(column._colSpan, "\" rowspan=\"").concat(column._rowSpan, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(cellWidth, "px\""), "><input type=\"checkbox\" class=\"").concat(allCls, "\" ").concat(isAllSelected ? 'checked' : '', "><span>").concat(cellTitle, "</span></div></th>");
518
426
  }
519
-
520
427
  return "<th class=\"".concat(classNames.join(' '), "\" colspan=\"").concat(column._colSpan, "\" rowspan=\"").concat(column._rowSpan, "\" title=\"").concat(cellTitle, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(cellWidth, "px\""), "><span>").concat(formatText(cellTitle, true), "</span></div></th>");
521
428
  }).join(''), "</tr>"));
522
429
  });
@@ -525,60 +432,46 @@ function toHtml($xetable, opts, columns, datas) {
525
432
  var headAlign = column.headerAlign || column.align || allHeaderAlign || allAlign;
526
433
  var classNames = hasEllipsis($xetable, column, 'showHeaderOverflow', allColumnHeaderOverflow) ? ['col--ellipsis'] : [];
527
434
  var cellTitle = getHeaderTitle(opts, column);
528
-
529
435
  if (headAlign) {
530
436
  classNames.push("col--".concat(headAlign));
531
437
  }
532
-
533
438
  if (column.type === 'checkbox') {
534
439
  return "<th class=\"".concat(classNames.join(' '), "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><input type=\"checkbox\" class=\"").concat(allCls, "\" ").concat(isAllSelected ? 'checked' : '', "><span>").concat(cellTitle, "</span></div></th>");
535
440
  }
536
-
537
441
  return "<th class=\"".concat(classNames.join(' '), "\" title=\"").concat(cellTitle, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><span>").concat(formatText(cellTitle, true), "</span></div></th>");
538
442
  }).join(''), "</tr>"));
539
443
  }
540
-
541
444
  tables.push('</thead>');
542
445
  }
543
-
544
446
  if (datas.length) {
545
447
  tables.push('<tbody>');
546
-
547
448
  if (treeConfig) {
548
449
  datas.forEach(function (item) {
549
450
  tables.push('<tr>' + columns.map(function (column) {
550
451
  var cellAlign = column.align || allAlign;
551
452
  var classNames = hasEllipsis($xetable, column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : [];
552
453
  var cellValue = item[column.id];
553
-
554
454
  if (cellAlign) {
555
455
  classNames.push("col--".concat(cellAlign));
556
456
  }
557
-
558
457
  if (column.treeNode) {
559
458
  var treeIcon = '';
560
-
561
459
  if (item._hasChild) {
562
460
  treeIcon = "<i class=\"".concat(item._expand ? 'vxe-table--tree-fold-icon' : 'vxe-table--tree-unfold-icon', "\"></i>");
563
461
  }
564
-
565
462
  classNames.push('vxe-table--tree-node');
566
-
567
463
  if (column.type === 'radio') {
568
464
  return "<td class=\"".concat(classNames.join(' '), "\" title=\"").concat(cellValue, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><div class=\"vxe-table--tree-node-wrapper\" style=\"padding-left: ").concat(item._level * treeOpts.indent, "px\"><div class=\"vxe-table--tree-icon-wrapper\">").concat(treeIcon, "</div><div class=\"vxe-table--tree-cell\"><input type=\"radio\" name=\"radio_").concat(id, "\" ").concat(item._radioDisabled ? 'disabled ' : '').concat(getBooleanValue(cellValue) ? 'checked' : '', "><span>").concat(item._radioLabel, "</span></div></div></div></td>");
569
465
  } else if (column.type === 'checkbox') {
570
466
  return "<td class=\"".concat(classNames.join(' '), "\" title=\"").concat(cellValue, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><div class=\"vxe-table--tree-node-wrapper\" style=\"padding-left: ").concat(item._level * treeOpts.indent, "px\"><div class=\"vxe-table--tree-icon-wrapper\">").concat(treeIcon, "</div><div class=\"vxe-table--tree-cell\"><input type=\"checkbox\" ").concat(item._checkboxDisabled ? 'disabled ' : '').concat(getBooleanValue(cellValue) ? 'checked' : '', "><span>").concat(item._checkboxLabel, "</span></div></div></div></td>");
571
467
  }
572
-
573
468
  return "<td class=\"".concat(classNames.join(' '), "\" title=\"").concat(cellValue, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><div class=\"vxe-table--tree-node-wrapper\" style=\"padding-left: ").concat(item._level * treeOpts.indent, "px\"><div class=\"vxe-table--tree-icon-wrapper\">").concat(treeIcon, "</div><div class=\"vxe-table--tree-cell\">").concat(cellValue, "</div></div></div></td>");
574
469
  }
575
-
576
470
  if (column.type === 'radio') {
577
471
  return "<td class=\"".concat(classNames.join(' '), "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><input type=\"radio\" name=\"radio_").concat(id, "\" ").concat(item._radioDisabled ? 'disabled ' : '').concat(getBooleanValue(cellValue) ? 'checked' : '', "><span>").concat(item._radioLabel, "</span></div></td>");
578
472
  } else if (column.type === 'checkbox') {
579
473
  return "<td class=\"".concat(classNames.join(' '), "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><input type=\"checkbox\" ").concat(item._checkboxDisabled ? 'disabled ' : '').concat(getBooleanValue(cellValue) ? 'checked' : '', "><span>").concat(item._checkboxLabel, "</span></div></td>");
580
474
  }
581
-
582
475
  return "<td class=\"".concat(classNames.join(' '), "\" title=\"").concat(cellValue, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), ">").concat(formatText(cellValue, true), "</div></td>");
583
476
  }).join('') + '</tr>');
584
477
  });
@@ -590,54 +483,41 @@ function toHtml($xetable, opts, columns, datas) {
590
483
  var cellValue = item[column.id];
591
484
  var rowSpan = 1;
592
485
  var colSpan = 1;
593
-
594
486
  if (isMerge && mergeList.length) {
595
487
  var _rowIndex = $xetable.getVTRowIndex(item._row);
596
-
597
488
  var _columnIndex = $xetable.getVTColumnIndex(column);
598
-
599
489
  var spanRest = (0, _util.mergeBodyMethod)(mergeList, _rowIndex, _columnIndex);
600
-
601
490
  if (spanRest) {
602
491
  var rowspan = spanRest.rowspan,
603
- colspan = spanRest.colspan;
604
-
492
+ colspan = spanRest.colspan;
605
493
  if (!rowspan || !colspan) {
606
494
  return '';
607
495
  }
608
-
609
496
  if (rowspan > 1) {
610
497
  rowSpan = rowspan;
611
498
  }
612
-
613
499
  if (colspan > 1) {
614
500
  colSpan = colspan;
615
501
  }
616
502
  }
617
503
  }
618
-
619
504
  if (cellAlign) {
620
505
  classNames.push("col--".concat(cellAlign));
621
506
  }
622
-
623
507
  if (column.type === 'radio') {
624
508
  return "<td class=\"".concat(classNames.join(' '), "\" rowspan=\"").concat(rowSpan, "\" colspan=\"").concat(colSpan, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><input type=\"radio\" name=\"radio_").concat(id, "\" ").concat(item._radioDisabled ? 'disabled ' : '').concat(getBooleanValue(cellValue) ? 'checked' : '', "><span>").concat(item._radioLabel, "</span></div></td>");
625
509
  } else if (column.type === 'checkbox') {
626
510
  return "<td class=\"".concat(classNames.join(' '), "\" rowspan=\"").concat(rowSpan, "\" colspan=\"").concat(colSpan, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), "><input type=\"checkbox\" ").concat(item._checkboxDisabled ? 'disabled ' : '').concat(getBooleanValue(cellValue) ? 'checked' : '', "><span>").concat(item._checkboxLabel, "</span></div></td>");
627
511
  }
628
-
629
512
  return "<td class=\"".concat(classNames.join(' '), "\" rowspan=\"").concat(rowSpan, "\" colspan=\"").concat(colSpan, "\" title=\"").concat(cellValue, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), ">").concat(formatText(cellValue, true), "</div></td>");
630
513
  }).join('') + '</tr>');
631
514
  });
632
515
  }
633
-
634
516
  tables.push('</tbody>');
635
517
  }
636
-
637
518
  if (isFooter) {
638
519
  var footerTableData = $xetable.footerTableData;
639
520
  var footers = getFooterData(opts, footerTableData);
640
-
641
521
  if (footers.length) {
642
522
  tables.push('<tfoot>');
643
523
  footers.forEach(function (rows) {
@@ -645,41 +525,34 @@ function toHtml($xetable, opts, columns, datas) {
645
525
  var footAlign = column.footerAlign || column.align || allFooterAlign || allAlign;
646
526
  var classNames = hasEllipsis($xetable, column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : [];
647
527
  var cellValue = getFooterCellValue($xetable, opts, rows, column);
648
-
649
528
  if (footAlign) {
650
529
  classNames.push("col--".concat(footAlign));
651
530
  }
652
-
653
531
  return "<td class=\"".concat(classNames.join(' '), "\" title=\"").concat(cellValue, "\"><div ").concat(isPrint ? '' : "style=\"width: ".concat(column.renderWidth, "px\""), ">").concat(formatText(cellValue, true), "</div></td>");
654
532
  }).join(''), "</tr>"));
655
533
  });
656
534
  tables.push('</tfoot>');
657
535
  }
658
- } // 是否半选状态
659
-
660
-
536
+ }
537
+ // 是否半选状态
661
538
  var script = !isAllSelected && isIndeterminate ? "<script>(function(){var a=document.querySelector(\".".concat(allCls, "\");if(a){a.indeterminate=true}})()</script>") : '';
662
539
  tables.push('</table>', script);
663
540
  return isPrint ? tables.join('') : createHtmlPage(opts, tables.join(''));
664
541
  }
665
-
666
542
  function toXML($xetable, opts, columns, datas) {
667
543
  var xml = ['<?xml version="1.0"?>', '<?mso-application progid="Excel.Sheet"?>', '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">', '<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">', '<Version>16.00</Version>', '</DocumentProperties>', '<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">', '<WindowHeight>7920</WindowHeight>', '<WindowWidth>21570</WindowWidth>', '<WindowTopX>32767</WindowTopX>', '<WindowTopY>32767</WindowTopY>', '<ProtectStructure>False</ProtectStructure>', '<ProtectWindows>False</ProtectWindows>', '</ExcelWorkbook>', "<Worksheet ss:Name=\"".concat(opts.sheetName, "\">"), '<Table>', columns.map(function (column) {
668
544
  return "<Column ss:Width=\"".concat(column.renderWidth, "\"/>");
669
545
  }).join('')].join('');
670
-
671
546
  if (opts.isHeader) {
672
547
  xml += "<Row>".concat(columns.map(function (column) {
673
548
  return "<Cell><Data ss:Type=\"String\">".concat(getHeaderTitle(opts, column), "</Data></Cell>");
674
549
  }).join(''), "</Row>");
675
550
  }
676
-
677
551
  datas.forEach(function (row) {
678
552
  xml += '<Row>' + columns.map(function (column) {
679
553
  return "<Cell><Data ss:Type=\"String\">".concat(row[column.id], "</Data></Cell>");
680
554
  }).join('') + '</Row>';
681
555
  });
682
-
683
556
  if (opts.isFooter) {
684
557
  var footerTableData = $xetable.footerTableData;
685
558
  var footers = getFooterData(opts, footerTableData);
@@ -689,44 +562,35 @@ function toXML($xetable, opts, columns, datas) {
689
562
  }).join(''), "</Row>");
690
563
  });
691
564
  }
692
-
693
565
  return "".concat(xml, "</Table></Worksheet></Workbook>");
694
566
  }
695
-
696
567
  function getContent($xetable, opts, columns, datas) {
697
568
  if (columns.length) {
698
569
  switch (opts.type) {
699
570
  case 'csv':
700
571
  return toCsv($xetable, opts, columns, datas);
701
-
702
572
  case 'txt':
703
573
  return toTxt($xetable, opts, columns, datas);
704
-
705
574
  case 'html':
706
575
  return toHtml($xetable, opts, columns, datas);
707
-
708
576
  case 'xml':
709
577
  return toXML($xetable, opts, columns, datas);
710
578
  }
711
579
  }
712
-
713
580
  return '';
714
581
  }
582
+
715
583
  /**
716
584
  * 保存文件到本地
717
585
  * @param {*} options 参数
718
586
  */
719
-
720
-
721
587
  function saveLocalFile(options) {
722
588
  var filename = options.filename,
723
- type = options.type,
724
- content = options.content;
589
+ type = options.type,
590
+ content = options.content;
725
591
  var name = "".concat(filename, ".").concat(type);
726
-
727
592
  if (window.Blob) {
728
593
  var blob = content instanceof Blob ? content : getExportBlobByContent(_xeUtils.default.toValueString(content), options);
729
-
730
594
  if (navigator.msSaveBlob) {
731
595
  navigator.msSaveBlob(blob, name);
732
596
  } else {
@@ -742,22 +606,17 @@ function saveLocalFile(options) {
742
606
  if (linkElem.parentNode) {
743
607
  linkElem.parentNode.removeChild(linkElem);
744
608
  }
745
-
746
609
  URL.revokeObjectURL(url);
747
610
  });
748
611
  }
749
-
750
612
  return Promise.resolve();
751
613
  }
752
-
753
614
  return Promise.reject(new Error((0, _log.getLog)('vxe.error.notExp')));
754
615
  }
755
-
756
616
  function downloadFile($xetable, opts, content) {
757
617
  var filename = opts.filename,
758
- type = opts.type,
759
- download = opts.download;
760
-
618
+ type = opts.type,
619
+ download = opts.download;
761
620
  if (!download) {
762
621
  var blob = getExportBlobByContent(content, opts);
763
622
  return Promise.resolve({
@@ -766,7 +625,6 @@ function downloadFile($xetable, opts, content) {
766
625
  blob: blob
767
626
  });
768
627
  }
769
-
770
628
  saveLocalFile({
771
629
  filename: filename,
772
630
  type: type,
@@ -779,7 +637,6 @@ function downloadFile($xetable, opts, content) {
779
637
  (0, _log.errLog)('vxe.error.reqModule', ['Modal']);
780
638
  }
781
639
  }
782
-
783
640
  _vXETable.default.modal.message({
784
641
  content: _conf.default.i18n('vxe.table.expSuccess'),
785
642
  status: 'success'
@@ -787,7 +644,6 @@ function downloadFile($xetable, opts, content) {
787
644
  }
788
645
  });
789
646
  }
790
-
791
647
  function clearColumnConvert(columns) {
792
648
  _xeUtils.default.eachTree(columns, function (column) {
793
649
  delete column._level;
@@ -799,13 +655,12 @@ function clearColumnConvert(columns) {
799
655
  children: 'children'
800
656
  });
801
657
  }
802
-
803
658
  function handleExport($xetable, opts) {
804
659
  var remote = opts.remote,
805
- columns = opts.columns,
806
- colgroups = opts.colgroups,
807
- exportMethod = opts.exportMethod,
808
- afterExportMethod = opts.afterExportMethod;
660
+ columns = opts.columns,
661
+ colgroups = opts.colgroups,
662
+ exportMethod = opts.exportMethod,
663
+ afterExportMethod = opts.afterExportMethod;
809
664
  return new Promise(function (resolve) {
810
665
  if (remote) {
811
666
  var params = {
@@ -827,7 +682,6 @@ function handleExport($xetable, opts) {
827
682
  }
828
683
  }).then(function (params) {
829
684
  clearColumnConvert(columns);
830
-
831
685
  if (!opts.print) {
832
686
  if (afterExportMethod) {
833
687
  afterExportMethod({
@@ -838,13 +692,11 @@ function handleExport($xetable, opts) {
838
692
  });
839
693
  }
840
694
  }
841
-
842
695
  return Object.assign({
843
696
  status: true
844
697
  }, params);
845
698
  }).catch(function () {
846
699
  clearColumnConvert(columns);
847
-
848
700
  if (!opts.print) {
849
701
  if (afterExportMethod) {
850
702
  afterExportMethod({
@@ -855,40 +707,33 @@ function handleExport($xetable, opts) {
855
707
  });
856
708
  }
857
709
  }
858
-
859
710
  var params = {
860
711
  status: false
861
712
  };
862
713
  return Promise.reject(params);
863
714
  });
864
715
  }
865
-
866
716
  function getElementsByTagName(elem, qualifiedName) {
867
717
  return elem.getElementsByTagName(qualifiedName);
868
718
  }
869
-
870
719
  function getTxtCellKey(now) {
871
720
  return "#".concat(now, "@").concat(_xeUtils.default.uniqueId());
872
721
  }
873
-
874
722
  function replaceTxtCell(cell, vMaps) {
875
723
  return cell.replace(/#\d+@\d+/g, function (key) {
876
724
  return _xeUtils.default.hasOwnProp(vMaps, key) ? vMaps[key] : key;
877
725
  });
878
726
  }
879
-
880
727
  function getTxtCellValue(val, vMaps) {
881
728
  var rest = replaceTxtCell(val, vMaps);
882
729
  return rest.replace(/^"+$/g, function (qVal) {
883
730
  return '"'.repeat(Math.ceil(qVal.length / 2));
884
731
  });
885
732
  }
886
-
887
733
  function parseCsvAndTxt(columns, content, cellSeparator) {
888
734
  var list = content.split(enterSymbol);
889
735
  var rows = [];
890
736
  var fields = [];
891
-
892
737
  if (list.length) {
893
738
  var vMaps = {};
894
739
  var now = Date.now();
@@ -905,7 +750,6 @@ function parseCsvAndTxt(columns, content, cellSeparator) {
905
750
  return key;
906
751
  });
907
752
  var cells = rVal.split(cellSeparator);
908
-
909
753
  if (!fields.length) {
910
754
  fields = cells.map(function (val) {
911
755
  return getTxtCellValue(val.trim(), vMaps);
@@ -921,119 +765,97 @@ function parseCsvAndTxt(columns, content, cellSeparator) {
921
765
  }
922
766
  });
923
767
  }
924
-
925
768
  return {
926
769
  fields: fields,
927
770
  rows: rows
928
771
  };
929
772
  }
930
-
931
773
  function parseCsv(columns, content) {
932
774
  return parseCsvAndTxt(columns, content, ',');
933
775
  }
934
-
935
776
  function parseTxt(columns, content) {
936
777
  return parseCsvAndTxt(columns, content, '\t');
937
778
  }
938
-
939
779
  function parseHTML(columns, content) {
940
780
  var domParser = new DOMParser();
941
781
  var xmlDoc = domParser.parseFromString(content, 'text/html');
942
782
  var bodyNodes = getElementsByTagName(xmlDoc, 'body');
943
783
  var rows = [];
944
784
  var fields = [];
945
-
946
785
  if (bodyNodes.length) {
947
786
  var tableNodes = getElementsByTagName(bodyNodes[0], 'table');
948
-
949
787
  if (tableNodes.length) {
950
788
  var theadNodes = getElementsByTagName(tableNodes[0], 'thead');
951
-
952
789
  if (theadNodes.length) {
953
790
  _xeUtils.default.arrayEach(getElementsByTagName(theadNodes[0], 'tr'), function (rowNode) {
954
791
  _xeUtils.default.arrayEach(getElementsByTagName(rowNode, 'th'), function (cellNode) {
955
792
  fields.push(cellNode.textContent);
956
793
  });
957
794
  });
958
-
959
795
  var tbodyNodes = getElementsByTagName(tableNodes[0], 'tbody');
960
-
961
796
  if (tbodyNodes.length) {
962
797
  _xeUtils.default.arrayEach(getElementsByTagName(tbodyNodes[0], 'tr'), function (rowNode) {
963
798
  var item = {};
964
-
965
799
  _xeUtils.default.arrayEach(getElementsByTagName(rowNode, 'td'), function (cellNode, colIndex) {
966
800
  if (fields[colIndex]) {
967
801
  item[fields[colIndex]] = cellNode.textContent || '';
968
802
  }
969
803
  });
970
-
971
804
  rows.push(item);
972
805
  });
973
806
  }
974
807
  }
975
808
  }
976
809
  }
977
-
978
810
  return {
979
811
  fields: fields,
980
812
  rows: rows
981
813
  };
982
814
  }
983
-
984
815
  function parseXML(columns, content) {
985
816
  var domParser = new DOMParser();
986
817
  var xmlDoc = domParser.parseFromString(content, 'application/xml');
987
818
  var sheetNodes = getElementsByTagName(xmlDoc, 'Worksheet');
988
819
  var rows = [];
989
820
  var fields = [];
990
-
991
821
  if (sheetNodes.length) {
992
822
  var tableNodes = getElementsByTagName(sheetNodes[0], 'Table');
993
-
994
823
  if (tableNodes.length) {
995
824
  var rowNodes = getElementsByTagName(tableNodes[0], 'Row');
996
-
997
825
  if (rowNodes.length) {
998
826
  _xeUtils.default.arrayEach(getElementsByTagName(rowNodes[0], 'Cell'), function (cellNode) {
999
827
  fields.push(cellNode.textContent);
1000
828
  });
1001
-
1002
829
  _xeUtils.default.arrayEach(rowNodes, function (rowNode, index) {
1003
830
  if (index) {
1004
831
  var item = {};
1005
832
  var cellNodes = getElementsByTagName(rowNode, 'Cell');
1006
-
1007
833
  _xeUtils.default.arrayEach(cellNodes, function (cellNode, colIndex) {
1008
834
  if (fields[colIndex]) {
1009
835
  item[fields[colIndex]] = cellNode.textContent;
1010
836
  }
1011
837
  });
1012
-
1013
838
  rows.push(item);
1014
839
  }
1015
840
  });
1016
841
  }
1017
842
  }
1018
843
  }
1019
-
1020
844
  return {
1021
845
  fields: fields,
1022
846
  rows: rows
1023
847
  };
1024
848
  }
849
+
1025
850
  /**
1026
851
  * 检查导入的列是否完整
1027
852
  * @param {Array} fields 字段名列表
1028
853
  * @param {Array} rows 数据列表
1029
854
  */
1030
-
1031
-
1032
855
  function checkImportData(columns, fields) {
1033
856
  var tableFields = [];
1034
857
  columns.forEach(function (column) {
1035
858
  var field = column.property;
1036
-
1037
859
  if (field) {
1038
860
  tableFields.push(field);
1039
861
  }
@@ -1042,49 +864,40 @@ function checkImportData(columns, fields) {
1042
864
  return tableFields.indexOf(field) > -1;
1043
865
  });
1044
866
  }
1045
-
1046
867
  function handleImport($xetable, content, opts) {
1047
868
  var tableFullColumn = $xetable.tableFullColumn,
1048
- _importResolve = $xetable._importResolve,
1049
- _importReject = $xetable._importReject;
869
+ _importResolve = $xetable._importResolve,
870
+ _importReject = $xetable._importReject;
1050
871
  var rest = {
1051
872
  fields: [],
1052
873
  rows: []
1053
874
  };
1054
-
1055
875
  switch (opts.type) {
1056
876
  case 'csv':
1057
877
  rest = parseCsv(tableFullColumn, content);
1058
878
  break;
1059
-
1060
879
  case 'txt':
1061
880
  rest = parseTxt(tableFullColumn, content);
1062
881
  break;
1063
-
1064
882
  case 'html':
1065
883
  rest = parseHTML(tableFullColumn, content);
1066
884
  break;
1067
-
1068
885
  case 'xml':
1069
886
  rest = parseXML(tableFullColumn, content);
1070
887
  break;
1071
888
  }
1072
-
1073
889
  var _rest = rest,
1074
- fields = _rest.fields,
1075
- rows = _rest.rows;
890
+ fields = _rest.fields,
891
+ rows = _rest.rows;
1076
892
  var status = checkImportData(tableFullColumn, fields);
1077
-
1078
893
  if (status) {
1079
894
  $xetable.createData(rows).then(function (data) {
1080
895
  var loadRest;
1081
-
1082
896
  if (opts.mode === 'insert') {
1083
897
  loadRest = $xetable.insert(data);
1084
898
  } else {
1085
899
  loadRest = $xetable.reloadData(data);
1086
900
  }
1087
-
1088
901
  if (opts.message !== false) {
1089
902
  // 检测弹窗模块
1090
903
  if (process.env.NODE_ENV === 'development') {
@@ -1092,13 +905,11 @@ function handleImport($xetable, content, opts) {
1092
905
  (0, _log.errLog)('vxe.error.reqModule', ['Modal']);
1093
906
  }
1094
907
  }
1095
-
1096
908
  _vXETable.default.modal.message({
1097
909
  content: _conf.default.i18n('vxe.table.impSuccess', [rows.length]),
1098
910
  status: 'success'
1099
911
  });
1100
912
  }
1101
-
1102
913
  return loadRest.then(function () {
1103
914
  if (_importResolve) {
1104
915
  _importResolve({
@@ -1114,12 +925,10 @@ function handleImport($xetable, content, opts) {
1114
925
  (0, _log.errLog)('vxe.error.reqModule', ['Modal']);
1115
926
  }
1116
927
  }
1117
-
1118
928
  _vXETable.default.modal.message({
1119
929
  content: _conf.default.i18n('vxe.error.impFields'),
1120
930
  status: 'error'
1121
931
  });
1122
-
1123
932
  if (_importReject) {
1124
933
  _importReject({
1125
934
  status: false
@@ -1127,16 +936,14 @@ function handleImport($xetable, content, opts) {
1127
936
  }
1128
937
  }
1129
938
  }
1130
-
1131
939
  function handleFileImport($xetable, file, opts) {
1132
940
  var importMethod = opts.importMethod,
1133
- afterImportMethod = opts.afterImportMethod;
1134
-
941
+ afterImportMethod = opts.afterImportMethod;
1135
942
  var _UtilTools$parseFile = _utils.default.parseFile(file),
1136
- type = _UtilTools$parseFile.type,
1137
- filename = _UtilTools$parseFile.filename; // 检查类型,如果为自定义导出,则不需要校验类型
1138
-
943
+ type = _UtilTools$parseFile.type,
944
+ filename = _UtilTools$parseFile.filename;
1139
945
 
946
+ // 检查类型,如果为自定义导出,则不需要校验类型
1140
947
  if (!importMethod && !_xeUtils.default.includes(_vXETable.default.config.importTypes, type)) {
1141
948
  if (opts.message !== false) {
1142
949
  // 检测弹窗模块
@@ -1145,35 +952,29 @@ function handleFileImport($xetable, file, opts) {
1145
952
  (0, _log.errLog)('vxe.error.reqModule', ['Modal']);
1146
953
  }
1147
954
  }
1148
-
1149
955
  _vXETable.default.modal.message({
1150
956
  content: _conf.default.i18n('vxe.error.notType', [type]),
1151
957
  status: 'error'
1152
958
  });
1153
959
  }
1154
-
1155
960
  var params = {
1156
961
  status: false
1157
962
  };
1158
963
  return Promise.reject(params);
1159
964
  }
1160
-
1161
965
  var rest = new Promise(function (resolve, reject) {
1162
966
  var _importResolve = function _importResolve(params) {
1163
967
  resolve(params);
1164
968
  $xetable._importResolve = null;
1165
969
  $xetable._importReject = null;
1166
970
  };
1167
-
1168
971
  var _importReject = function _importReject(params) {
1169
972
  reject(params);
1170
973
  $xetable._importResolve = null;
1171
974
  $xetable._importReject = null;
1172
975
  };
1173
-
1174
976
  $xetable._importResolve = _importResolve;
1175
977
  $xetable._importReject = _importReject;
1176
-
1177
978
  if (window.FileReader) {
1178
979
  var options = Object.assign({
1179
980
  mode: 'insert'
@@ -1181,7 +982,6 @@ function handleFileImport($xetable, file, opts) {
1181
982
  type: type,
1182
983
  filename: filename
1183
984
  });
1184
-
1185
985
  if (options.remote) {
1186
986
  if (importMethod) {
1187
987
  Promise.resolve(importMethod({
@@ -1209,19 +1009,15 @@ function handleFileImport($xetable, file, opts) {
1209
1009
  columns: $xetable.tableFullColumn
1210
1010
  }, function () {
1211
1011
  var reader = new FileReader();
1212
-
1213
1012
  reader.onerror = function () {
1214
1013
  (0, _log.errLog)('vxe.error.notType', [type]);
1215
-
1216
1014
  _importReject({
1217
1015
  status: false
1218
1016
  });
1219
1017
  };
1220
-
1221
1018
  reader.onload = function (e) {
1222
1019
  handleImport($xetable, e.target.result, options);
1223
1020
  };
1224
-
1225
1021
  reader.readAsText(file, options.encoding || 'UTF-8');
1226
1022
  });
1227
1023
  }
@@ -1230,7 +1026,6 @@ function handleFileImport($xetable, file, opts) {
1230
1026
  if (process.env.NODE_ENV === 'development') {
1231
1027
  (0, _log.errLog)('vxe.error.notExp');
1232
1028
  }
1233
-
1234
1029
  _importResolve({
1235
1030
  status: true
1236
1031
  });
@@ -1252,19 +1047,16 @@ function handleFileImport($xetable, file, opts) {
1252
1047
  $table: $xetable
1253
1048
  });
1254
1049
  }
1255
-
1256
1050
  return Promise.reject(e);
1257
1051
  });
1258
1052
  }
1053
+
1259
1054
  /**
1260
1055
  * 读取本地文件
1261
1056
  * @param {*} options 参数
1262
1057
  */
1263
-
1264
-
1265
1058
  function readLocalFile() {
1266
1059
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1267
-
1268
1060
  if (!fileForm) {
1269
1061
  fileForm = document.createElement('form');
1270
1062
  fileInput = document.createElement('input');
@@ -1274,7 +1066,6 @@ function readLocalFile() {
1274
1066
  fileForm.appendChild(fileInput);
1275
1067
  document.body.appendChild(fileForm);
1276
1068
  }
1277
-
1278
1069
  return new Promise(function (resolve, reject) {
1279
1070
  var types = options.types || [];
1280
1071
  var isAllType = !types.length || types.some(function (type) {
@@ -1282,24 +1073,21 @@ function readLocalFile() {
1282
1073
  });
1283
1074
  fileInput.multiple = !!options.multiple;
1284
1075
  fileInput.accept = isAllType ? '' : ".".concat(types.join(', .'));
1285
-
1286
1076
  fileInput.onchange = function (evnt) {
1287
1077
  var files = evnt.target.files;
1288
1078
  var file = files[0];
1289
- var errType; // 校验类型
1290
-
1079
+ var errType;
1080
+ // 校验类型
1291
1081
  if (!isAllType) {
1292
1082
  for (var fIndex = 0; fIndex < files.length; fIndex++) {
1293
1083
  var _UtilTools$parseFile2 = _utils.default.parseFile(files[fIndex]),
1294
- type = _UtilTools$parseFile2.type;
1295
-
1084
+ type = _UtilTools$parseFile2.type;
1296
1085
  if (!_xeUtils.default.includes(types, type)) {
1297
1086
  errType = type;
1298
1087
  break;
1299
1088
  }
1300
1089
  }
1301
1090
  }
1302
-
1303
1091
  if (!errType) {
1304
1092
  resolve({
1305
1093
  status: true,
@@ -1314,13 +1102,11 @@ function readLocalFile() {
1314
1102
  (0, _log.errLog)('vxe.error.reqModule', ['Modal']);
1315
1103
  }
1316
1104
  }
1317
-
1318
1105
  _vXETable.default.modal.message({
1319
1106
  content: _conf.default.i18n('vxe.error.notType', [errType]),
1320
1107
  status: 'error'
1321
1108
  });
1322
1109
  }
1323
-
1324
1110
  var params = {
1325
1111
  status: false,
1326
1112
  files: files,
@@ -1329,39 +1115,31 @@ function readLocalFile() {
1329
1115
  reject(params);
1330
1116
  }
1331
1117
  };
1332
-
1333
1118
  fileForm.reset();
1334
1119
  fileInput.click();
1335
1120
  });
1336
1121
  }
1337
-
1338
1122
  function removePrintFrame() {
1339
1123
  if (printFrame) {
1340
1124
  if (printFrame.parentNode) {
1341
1125
  try {
1342
1126
  printFrame.contentDocument.write('');
1343
1127
  } catch (e) {}
1344
-
1345
1128
  printFrame.parentNode.removeChild(printFrame);
1346
1129
  }
1347
-
1348
1130
  printFrame = null;
1349
1131
  }
1350
1132
  }
1351
-
1352
1133
  function appendPrintFrame() {
1353
1134
  if (!printFrame.parentNode) {
1354
1135
  document.body.appendChild(printFrame);
1355
1136
  }
1356
1137
  }
1357
-
1358
1138
  function afterPrintEvent() {
1359
1139
  requestAnimationFrame(removePrintFrame);
1360
1140
  }
1361
-
1362
1141
  function handlePrint($xetable, opts, content) {
1363
1142
  var beforePrintMethod = opts.beforePrintMethod;
1364
-
1365
1143
  if (beforePrintMethod) {
1366
1144
  content = beforePrintMethod({
1367
1145
  content: content,
@@ -1369,10 +1147,8 @@ function handlePrint($xetable, opts, content) {
1369
1147
  $table: $xetable
1370
1148
  }) || '';
1371
1149
  }
1372
-
1373
1150
  content = createHtmlPage(opts, content);
1374
1151
  var blob = getExportBlobByContent(content, opts);
1375
-
1376
1152
  if (_dom.browse.msie) {
1377
1153
  removePrintFrame();
1378
1154
  printFrame = createFrame();
@@ -1382,7 +1158,6 @@ function handlePrint($xetable, opts, content) {
1382
1158
  } else {
1383
1159
  if (!printFrame) {
1384
1160
  printFrame = createFrame();
1385
-
1386
1161
  printFrame.onload = function (evnt) {
1387
1162
  if (evnt.target.src) {
1388
1163
  evnt.target.contentWindow.onafterprint = afterPrintEvent;
@@ -1390,21 +1165,19 @@ function handlePrint($xetable, opts, content) {
1390
1165
  }
1391
1166
  };
1392
1167
  }
1393
-
1394
1168
  appendPrintFrame();
1395
1169
  printFrame.src = URL.createObjectURL(blob);
1396
1170
  }
1397
1171
  }
1398
-
1399
1172
  function handleExportAndPrint($xetable, options, isPrint) {
1400
1173
  var initStore = $xetable.initStore,
1401
- customOpts = $xetable.customOpts,
1402
- collectColumn = $xetable.collectColumn,
1403
- footerTableData = $xetable.footerTableData,
1404
- treeConfig = $xetable.treeConfig,
1405
- mergeList = $xetable.mergeList,
1406
- isGroup = $xetable.isGroup,
1407
- exportParams = $xetable.exportParams;
1174
+ customOpts = $xetable.customOpts,
1175
+ collectColumn = $xetable.collectColumn,
1176
+ footerTableData = $xetable.footerTableData,
1177
+ treeConfig = $xetable.treeConfig,
1178
+ mergeList = $xetable.mergeList,
1179
+ isGroup = $xetable.isGroup,
1180
+ exportParams = $xetable.exportParams;
1408
1181
  var selectRecords = $xetable.getCheckboxRecords();
1409
1182
  var hasFooter = !!footerTableData.length;
1410
1183
  var hasTree = treeConfig;
@@ -1417,8 +1190,8 @@ function handleExportAndPrint($xetable, options, isPrint) {
1417
1190
  var modes = defOpts.modes;
1418
1191
  var checkMethod = customOpts.checkMethod;
1419
1192
  var exportColumns = collectColumn.slice(0);
1420
- var columns = defOpts.columns; // 处理类型
1421
-
1193
+ var columns = defOpts.columns;
1194
+ // 处理类型
1422
1195
  var typeList = types.map(function (value) {
1423
1196
  return {
1424
1197
  value: value,
@@ -1430,11 +1203,10 @@ function handleExportAndPrint($xetable, options, isPrint) {
1430
1203
  value: value,
1431
1204
  label: "vxe.export.modes.".concat(value)
1432
1205
  };
1433
- }); // 默认选中
1434
-
1206
+ });
1207
+ // 默认选中
1435
1208
  _xeUtils.default.eachTree(exportColumns, function (column, index, items, path, parent) {
1436
1209
  var isColGroup = column.children && column.children.length;
1437
-
1438
1210
  if (isColGroup || defaultFilterExportColumn(column)) {
1439
1211
  column.checked = columns ? columns.some(function (item) {
1440
1212
  if ((0, _util.isColumnInfo)(item)) {
@@ -1445,7 +1217,6 @@ function handleExportAndPrint($xetable, options, isPrint) {
1445
1217
  var colid = item.id || item.colId;
1446
1218
  var type = item.type;
1447
1219
  var field = item.property || item.field;
1448
-
1449
1220
  if (colid) {
1450
1221
  return column.id === colid;
1451
1222
  } else if (field && type) {
@@ -1456,15 +1227,15 @@ function handleExportAndPrint($xetable, options, isPrint) {
1456
1227
  return column.type === type;
1457
1228
  }
1458
1229
  }
1230
+ return false;
1459
1231
  }) : column.visible;
1460
1232
  column.halfChecked = false;
1461
1233
  column.disabled = parent && parent.disabled || (checkMethod ? !checkMethod({
1462
1234
  column: column
1463
1235
  }) : false);
1464
1236
  }
1465
- }); // 更新条件
1466
-
1467
-
1237
+ });
1238
+ // 更新条件
1468
1239
  Object.assign($xetable.exportStore, {
1469
1240
  columns: exportColumns,
1470
1241
  typeList: typeList,
@@ -1475,26 +1246,22 @@ function handleExportAndPrint($xetable, options, isPrint) {
1475
1246
  isPrint: isPrint,
1476
1247
  hasColgroup: isGroup,
1477
1248
  visible: true
1478
- }); // 默认参数
1479
-
1249
+ });
1250
+ // 默认参数
1480
1251
  if (!initStore.export) {
1481
1252
  Object.assign(exportParams, {
1482
1253
  mode: selectRecords.length ? 'selected' : 'current'
1483
1254
  }, defOpts);
1484
1255
  }
1485
-
1486
1256
  if (modes.indexOf(exportParams.mode) === -1) {
1487
1257
  exportParams.mode = modes[0];
1488
1258
  }
1489
-
1490
1259
  if (types.indexOf(exportParams.type) === -1) {
1491
1260
  exportParams.type = types[0];
1492
1261
  }
1493
-
1494
1262
  initStore.export = true;
1495
1263
  return $xetable.$nextTick();
1496
1264
  }
1497
-
1498
1265
  var getConvertColumns = function getConvertColumns(columns) {
1499
1266
  var result = [];
1500
1267
  columns.forEach(function (column) {
@@ -1507,19 +1274,15 @@ var getConvertColumns = function getConvertColumns(columns) {
1507
1274
  });
1508
1275
  return result;
1509
1276
  };
1510
-
1511
1277
  var convertToRows = function convertToRows(originColumns) {
1512
1278
  var maxLevel = 1;
1513
-
1514
1279
  var traverse = function traverse(column, parent) {
1515
1280
  if (parent) {
1516
1281
  column._level = parent._level + 1;
1517
-
1518
1282
  if (maxLevel < column._level) {
1519
1283
  maxLevel = column._level;
1520
1284
  }
1521
1285
  }
1522
-
1523
1286
  if (column.childNodes && column.childNodes.length) {
1524
1287
  var colSpan = 0;
1525
1288
  column.childNodes.forEach(function (subColumn) {
@@ -1531,17 +1294,14 @@ var convertToRows = function convertToRows(originColumns) {
1531
1294
  column._colSpan = 1;
1532
1295
  }
1533
1296
  };
1534
-
1535
1297
  originColumns.forEach(function (column) {
1536
1298
  column._level = 1;
1537
1299
  traverse(column);
1538
1300
  });
1539
1301
  var rows = [];
1540
-
1541
1302
  for (var i = 0; i < maxLevel; i++) {
1542
1303
  rows.push([]);
1543
1304
  }
1544
-
1545
1305
  var allColumns = getConvertColumns(originColumns);
1546
1306
  allColumns.forEach(function (column) {
1547
1307
  if (column.childNodes && column.childNodes.length) {
@@ -1549,12 +1309,10 @@ var convertToRows = function convertToRows(originColumns) {
1549
1309
  } else {
1550
1310
  column._rowSpan = maxLevel - column._level + 1;
1551
1311
  }
1552
-
1553
1312
  rows[column._level - 1].push(column);
1554
1313
  });
1555
1314
  return rows;
1556
1315
  };
1557
-
1558
1316
  var _default = {
1559
1317
  methods: {
1560
1318
  /**
@@ -1565,15 +1323,14 @@ var _default = {
1565
1323
  */
1566
1324
  _exportData: function _exportData(options) {
1567
1325
  var _this = this;
1568
-
1569
1326
  var $xegrid = this.$xegrid,
1570
- isGroup = this.isGroup,
1571
- tableGroupColumn = this.tableGroupColumn,
1572
- tableFullColumn = this.tableFullColumn,
1573
- afterFullData = this.afterFullData,
1574
- treeConfig = this.treeConfig,
1575
- treeOpts = this.treeOpts,
1576
- exportOpts = this.exportOpts;
1327
+ isGroup = this.isGroup,
1328
+ tableGroupColumn = this.tableGroupColumn,
1329
+ tableFullColumn = this.tableFullColumn,
1330
+ afterFullData = this.afterFullData,
1331
+ treeConfig = this.treeConfig,
1332
+ treeOpts = this.treeOpts,
1333
+ exportOpts = this.exportOpts;
1577
1334
  var opts = Object.assign({
1578
1335
  // filename: '',
1579
1336
  // sheetName: '',
@@ -1586,7 +1343,8 @@ var _default = {
1586
1343
  isAllExpand: false,
1587
1344
  download: true,
1588
1345
  type: 'csv',
1589
- mode: 'current' // data: null,
1346
+ mode: 'current'
1347
+ // data: null,
1590
1348
  // remote: false,
1591
1349
  // dataFilterMethod: null,
1592
1350
  // footerFilterMethod: null,
@@ -1594,20 +1352,18 @@ var _default = {
1594
1352
  // columnFilterMethod: null,
1595
1353
  // beforeExportMethod: null,
1596
1354
  // afterExportMethod: null
1597
-
1598
1355
  }, exportOpts, {
1599
1356
  print: false
1600
1357
  }, options);
1601
1358
  var type = opts.type,
1602
- mode = opts.mode,
1603
- columns = opts.columns,
1604
- original = opts.original,
1605
- beforeExportMethod = opts.beforeExportMethod;
1359
+ mode = opts.mode,
1360
+ columns = opts.columns,
1361
+ original = opts.original,
1362
+ beforeExportMethod = opts.beforeExportMethod;
1606
1363
  var groups = [];
1607
- var customCols = columns && columns.length ? columns : null; // 如果设置源数据,则默认导出设置了字段的列
1608
-
1364
+ var customCols = columns && columns.length ? columns : null;
1365
+ // 如果设置源数据,则默认导出设置了字段的列
1609
1366
  var columnFilterMethod = opts.columnFilterMethod;
1610
-
1611
1367
  if (!customCols && !columnFilterMethod) {
1612
1368
  columnFilterMethod = original ? function (_ref) {
1613
1369
  var column = _ref.column;
@@ -1617,11 +1373,9 @@ var _default = {
1617
1373
  return defaultFilterExportColumn(column);
1618
1374
  };
1619
1375
  }
1620
-
1621
1376
  if (customCols) {
1622
1377
  groups = _xeUtils.default.searchTree(_xeUtils.default.mapTree(customCols, function (item) {
1623
1378
  var targetColumn;
1624
-
1625
1379
  if (item) {
1626
1380
  if ((0, _util.isColumnInfo)(item)) {
1627
1381
  targetColumn = item;
@@ -1631,7 +1385,6 @@ var _default = {
1631
1385
  var colid = item.id || item.colId;
1632
1386
  var _type = item.type;
1633
1387
  var field = item.property || item.field;
1634
-
1635
1388
  if (colid) {
1636
1389
  targetColumn = _this.getColumnById(colid);
1637
1390
  } else if (field && _type) {
@@ -1646,7 +1399,6 @@ var _default = {
1646
1399
  });
1647
1400
  }
1648
1401
  }
1649
-
1650
1402
  return targetColumn || {};
1651
1403
  }
1652
1404
  }, {
@@ -1673,45 +1425,37 @@ var _default = {
1673
1425
  mapChildren: 'childNodes',
1674
1426
  original: true
1675
1427
  });
1676
- } // 获取所有列
1677
-
1678
-
1428
+ }
1429
+ // 获取所有列
1679
1430
  var cols = [];
1680
-
1681
1431
  _xeUtils.default.eachTree(groups, function (column) {
1682
1432
  var isColGroup = column.children && column.children.length;
1683
-
1684
1433
  if (!isColGroup) {
1685
1434
  cols.push(column);
1686
1435
  }
1687
1436
  }, {
1688
1437
  children: 'childNodes'
1689
- }); // 构建分组层级
1690
-
1691
-
1438
+ });
1439
+ // 构建分组层级
1692
1440
  opts.columns = cols;
1693
1441
  opts.colgroups = convertToRows(groups);
1694
-
1695
1442
  if (!opts.filename) {
1696
1443
  opts.filename = _conf.default.i18n(opts.original ? 'vxe.table.expOriginFilename' : 'vxe.table.expFilename', [_xeUtils.default.toDateString(Date.now(), 'yyyyMMddHHmmss')]);
1697
1444
  }
1698
-
1699
1445
  if (!opts.sheetName) {
1700
1446
  opts.sheetName = document.title;
1701
- } // 检查类型,如果为自定义导出,则不需要校验类型
1702
-
1447
+ }
1703
1448
 
1449
+ // 检查类型,如果为自定义导出,则不需要校验类型
1704
1450
  if (!opts.exportMethod && !_xeUtils.default.includes(_vXETable.default.config.exportTypes, type)) {
1705
1451
  if (process.env.NODE_ENV === 'development') {
1706
1452
  (0, _log.errLog)('vxe.error.notType', [type]);
1707
1453
  }
1708
-
1709
1454
  var params = {
1710
1455
  status: false
1711
1456
  };
1712
1457
  return Promise.reject(params);
1713
1458
  }
1714
-
1715
1459
  if (!opts.print) {
1716
1460
  if (beforeExportMethod) {
1717
1461
  beforeExportMethod({
@@ -1721,13 +1465,10 @@ var _default = {
1721
1465
  });
1722
1466
  }
1723
1467
  }
1724
-
1725
1468
  if (!opts.data) {
1726
1469
  opts.data = afterFullData;
1727
-
1728
1470
  if (mode === 'selected') {
1729
1471
  var selectRecords = this.getCheckboxRecords();
1730
-
1731
1472
  if (['html', 'pdf'].indexOf(type) > -1 && treeConfig) {
1732
1473
  opts.data = _xeUtils.default.searchTree(this.getTableData().fullData, function (item) {
1733
1474
  return selectRecords.indexOf(item) > -1;
@@ -1743,23 +1484,20 @@ var _default = {
1743
1484
  (0, _log.warnLog)('vxe.error.errProp', ['all', 'mode=current,selected']);
1744
1485
  }
1745
1486
  }
1746
-
1747
1487
  if ($xegrid && !opts.remote) {
1748
1488
  var _$xegrid$proxyOpts = $xegrid.proxyOpts,
1749
- beforeQueryAll = _$xegrid$proxyOpts.beforeQueryAll,
1750
- afterQueryAll = _$xegrid$proxyOpts.afterQueryAll,
1751
- _$xegrid$proxyOpts$aj = _$xegrid$proxyOpts.ajax,
1752
- ajax = _$xegrid$proxyOpts$aj === void 0 ? {} : _$xegrid$proxyOpts$aj,
1753
- _$xegrid$proxyOpts$pr = _$xegrid$proxyOpts.props,
1754
- props = _$xegrid$proxyOpts$pr === void 0 ? {} : _$xegrid$proxyOpts$pr;
1489
+ beforeQueryAll = _$xegrid$proxyOpts.beforeQueryAll,
1490
+ afterQueryAll = _$xegrid$proxyOpts.afterQueryAll,
1491
+ _$xegrid$proxyOpts$aj = _$xegrid$proxyOpts.ajax,
1492
+ ajax = _$xegrid$proxyOpts$aj === void 0 ? {} : _$xegrid$proxyOpts$aj,
1493
+ _$xegrid$proxyOpts$pr = _$xegrid$proxyOpts.props,
1494
+ props = _$xegrid$proxyOpts$pr === void 0 ? {} : _$xegrid$proxyOpts$pr;
1755
1495
  var ajaxMethods = ajax.queryAll;
1756
-
1757
1496
  if (process.env.NODE_ENV === 'development') {
1758
1497
  if (!ajaxMethods) {
1759
1498
  (0, _log.warnLog)('vxe.error.notFunc', ['proxy-config.ajax.queryAll']);
1760
1499
  }
1761
1500
  }
1762
-
1763
1501
  if (ajaxMethods) {
1764
1502
  var _params = {
1765
1503
  $table: this,
@@ -1774,51 +1512,43 @@ var _default = {
1774
1512
  return e;
1775
1513
  }).then(function (rest) {
1776
1514
  opts.data = (props.list ? _xeUtils.default.get(rest, props.list) : rest) || [];
1777
-
1778
1515
  if (afterQueryAll) {
1779
1516
  afterQueryAll(_params);
1780
1517
  }
1781
-
1782
1518
  return handleExport(_this, opts);
1783
1519
  });
1784
1520
  }
1785
1521
  }
1786
1522
  }
1787
1523
  }
1788
-
1789
1524
  return handleExport(this, opts);
1790
1525
  },
1791
1526
  _importByFile: function _importByFile(file, options) {
1792
1527
  var opts = Object.assign({}, options);
1793
1528
  var beforeImportMethod = opts.beforeImportMethod;
1794
-
1795
1529
  if (beforeImportMethod) {
1796
1530
  beforeImportMethod({
1797
1531
  options: opts,
1798
1532
  $table: this
1799
1533
  });
1800
1534
  }
1801
-
1802
1535
  return handleFileImport(this, file, opts);
1803
1536
  },
1804
1537
  _importData: function _importData(options) {
1805
1538
  var _this2 = this;
1806
-
1807
1539
  var opts = Object.assign({
1808
- types: _vXETable.default.config.importTypes // beforeImportMethod: null,
1540
+ types: _vXETable.default.config.importTypes
1541
+ // beforeImportMethod: null,
1809
1542
  // afterImportMethod: null
1810
-
1811
1543
  }, this.importOpts, options);
1812
1544
  var beforeImportMethod = opts.beforeImportMethod,
1813
- afterImportMethod = opts.afterImportMethod;
1814
-
1545
+ afterImportMethod = opts.afterImportMethod;
1815
1546
  if (beforeImportMethod) {
1816
1547
  beforeImportMethod({
1817
1548
  options: opts,
1818
1549
  $table: this
1819
1550
  });
1820
1551
  }
1821
-
1822
1552
  return readLocalFile(opts).catch(function (e) {
1823
1553
  if (afterImportMethod) {
1824
1554
  afterImportMethod({
@@ -1827,7 +1557,6 @@ var _default = {
1827
1557
  $table: _this2
1828
1558
  });
1829
1559
  }
1830
-
1831
1560
  return Promise.reject(e);
1832
1561
  }).then(function (params) {
1833
1562
  var file = params.file;
@@ -1842,21 +1571,18 @@ var _default = {
1842
1571
  },
1843
1572
  _print: function _print(options) {
1844
1573
  var _this3 = this;
1845
-
1846
1574
  var opts = Object.assign({
1847
- original: false // beforePrintMethod
1848
-
1575
+ original: false
1576
+ // beforePrintMethod
1849
1577
  }, this.printOpts, options, {
1850
1578
  type: 'html',
1851
1579
  download: false,
1852
1580
  remote: false,
1853
1581
  print: true
1854
1582
  });
1855
-
1856
1583
  if (!opts.sheetName) {
1857
1584
  opts.sheetName = document.title;
1858
1585
  }
1859
-
1860
1586
  return new Promise(function (resolve) {
1861
1587
  if (opts.content) {
1862
1588
  resolve(handlePrint(_this3, opts, opts.content));
@@ -1876,7 +1602,6 @@ var _default = {
1876
1602
  }, options, this.importOpts);
1877
1603
  var types = defOpts.types;
1878
1604
  var isTree = !!this.getTreeStatus();
1879
-
1880
1605
  if (isTree) {
1881
1606
  if (defOpts.message) {
1882
1607
  _vXETable.default.modal.message({
@@ -1884,15 +1609,12 @@ var _default = {
1884
1609
  status: 'error'
1885
1610
  });
1886
1611
  }
1887
-
1888
1612
  return;
1889
1613
  }
1890
-
1891
1614
  if (!this.importConfig) {
1892
1615
  (0, _log.errLog)('vxe.error.reqProp', ['import-config']);
1893
- } // 处理类型
1894
-
1895
-
1616
+ }
1617
+ // 处理类型
1896
1618
  var typeList = types.map(function (value) {
1897
1619
  return {
1898
1620
  value: value,
@@ -1918,24 +1640,20 @@ var _default = {
1918
1640
  },
1919
1641
  _openExport: function _openExport(options) {
1920
1642
  var exportOpts = this.exportOpts;
1921
-
1922
1643
  if (process.env.NODE_ENV === 'development') {
1923
1644
  if (!this.exportConfig) {
1924
1645
  (0, _log.errLog)('vxe.error.reqProp', ['export-config']);
1925
1646
  }
1926
1647
  }
1927
-
1928
1648
  return handleExportAndPrint(this, Object.assign({}, exportOpts, options));
1929
1649
  },
1930
1650
  _openPrint: function _openPrint(options) {
1931
1651
  var printOpts = this.printOpts;
1932
-
1933
1652
  if (process.env.NODE_ENV === 'development') {
1934
1653
  if (!this.printConfig) {
1935
1654
  (0, _log.errLog)('vxe.error.reqProp', ['print-config']);
1936
1655
  }
1937
1656
  }
1938
-
1939
1657
  return handleExportAndPrint(this, Object.assign({}, printOpts, options), true);
1940
1658
  }
1941
1659
  }