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.
- package/lib/all.js +11 -82
- package/lib/all.min.js +1 -1
- package/lib/button/index.js +0 -3
- package/lib/button/src/button.js +39 -82
- package/lib/button/src/button.min.js +1 -1
- package/lib/button/style/style.css +475 -349
- package/lib/button/style/style.min.css +1 -1
- package/lib/checkbox/index.js +0 -3
- package/lib/checkbox/src/checkbox.js +15 -29
- package/lib/checkbox/src/checkbox.min.js +1 -1
- package/lib/checkbox/src/group.js +4 -12
- package/lib/checkbox/style/style.css +158 -128
- package/lib/checkbox/style/style.min.css +1 -1
- package/lib/checkbox-group/index.js +0 -3
- package/lib/checkbox-group/style/style.css +1 -1
- package/lib/colgroup/index.js +2 -5
- package/lib/colgroup/style/style.css +1 -1
- package/lib/column/index.js +2 -5
- package/lib/column/style/style.css +1 -1
- package/lib/edit/index.js +0 -6
- package/lib/edit/src/mixin.js +91 -252
- package/lib/edit/src/mixin.min.js +1 -1
- package/lib/edit/style/style.css +1 -1
- package/lib/export/index.js +1 -16
- package/lib/export/index.min.js +1 -1
- package/lib/export/src/export-panel.js +16 -41
- package/lib/export/src/export-panel.min.js +1 -1
- package/lib/export/src/import-panel.js +5 -19
- package/lib/export/src/import-panel.min.js +1 -1
- package/lib/export/src/mixin.js +105 -387
- package/lib/export/src/mixin.min.js +1 -1
- package/lib/export/style/style.css +138 -105
- package/lib/filter/index.js +0 -8
- package/lib/filter/src/mixin.js +18 -66
- package/lib/filter/src/mixin.min.js +1 -1
- package/lib/filter/src/panel.js +10 -22
- package/lib/filter/src/panel.min.js +1 -1
- package/lib/filter/style/style.css +105 -81
- package/lib/footer/index.js +0 -3
- package/lib/footer/src/footer.js +52 -84
- package/lib/footer/src/footer.min.js +1 -1
- package/lib/footer/style/style.css +1 -1
- package/lib/form/index.js +0 -3
- package/lib/form/src/form-config-item.js +23 -40
- package/lib/form/src/form-config-item.min.js +1 -1
- package/lib/form/src/form-gather.js +0 -5
- package/lib/form/src/form-item.js +18 -35
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form/src/form.js +45 -137
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/render.js +7 -22
- package/lib/form/src/render.min.js +1 -1
- package/lib/form/src/util.js +9 -42
- package/lib/form/src/util.min.js +1 -1
- package/lib/form/style/style.css +227 -185
- package/lib/form-gather/index.js +0 -3
- package/lib/form-gather/style/style.css +1 -1
- package/lib/form-item/index.js +0 -3
- package/lib/form-item/style/style.css +1 -1
- package/lib/grid/index.js +0 -4
- package/lib/grid/src/grid.js +87 -261
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/grid/style/style.css +62 -50
- package/lib/header/index.js +0 -3
- package/lib/header/src/header.js +54 -87
- package/lib/header/src/header.min.js +1 -1
- package/lib/header/src/util.js +0 -17
- package/lib/header/src/util.min.js +1 -1
- package/lib/header/style/style.css +1 -1
- package/lib/icon/index.js +0 -3
- package/lib/icon/style/iconfont.1669391208345.ttf +0 -0
- package/lib/icon/style/iconfont.1669391208345.woff +0 -0
- package/lib/icon/style/iconfont.1669391208345.woff2 +0 -0
- package/lib/icon/style/style.css +384 -197
- package/lib/icon/style/style.min.css +738 -1
- package/lib/iconfont.1669391208345.ttf +0 -0
- package/lib/iconfont.1669391208345.woff +0 -0
- package/lib/iconfont.1669391208345.woff2 +0 -0
- package/lib/index.common.js +1 -7
- package/lib/index.common.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.umd.js +11884 -13141
- package/lib/index.umd.min.js +1 -1
- package/lib/input/index.js +0 -3
- package/lib/input/src/date.js +0 -10
- package/lib/input/src/date.min.js +1 -1
- package/lib/input/src/input.js +208 -473
- package/lib/input/src/input.min.js +1 -1
- package/lib/input/src/number.js +0 -5
- package/lib/input/style/style.css +820 -611
- package/lib/keyboard/index.js +0 -6
- package/lib/keyboard/src/mixin.js +35 -111
- package/lib/keyboard/src/mixin.min.js +1 -1
- package/lib/keyboard/style/style.css +1 -1
- package/lib/list/index.js +0 -3
- package/lib/list/src/list.js +23 -64
- package/lib/list/src/list.min.js +1 -1
- package/lib/list/style/style.css +19 -14
- package/lib/loading/index.js +0 -3
- package/lib/loading/index.min.js +1 -1
- package/lib/loading/src/loading.js +1 -4
- package/lib/loading/style/style.css +60 -45
- package/lib/locale/lang/zh-HK.js +0 -3
- package/lib/locale/lang/zh-MO.js +0 -3
- package/lib/locale/lang/zh-TW.js +0 -3
- package/lib/menu/index.js +0 -8
- package/lib/menu/src/mixin.js +38 -100
- package/lib/menu/src/mixin.min.js +1 -1
- package/lib/menu/src/panel.js +2 -5
- package/lib/menu/style/style.css +74 -55
- package/lib/mixins/size.js +1 -1
- package/lib/modal/index.js +3 -21
- package/lib/modal/index.min.js +1 -1
- package/lib/modal/src/modal.js +97 -254
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/modal/style/style.css +346 -280
- package/lib/modal/style/style.min.css +1 -1
- package/lib/optgroup/index.js +0 -3
- package/lib/optgroup/style/style.css +1 -1
- package/lib/option/index.js +0 -3
- package/lib/option/style/style.css +1 -1
- package/lib/pager/index.js +0 -3
- package/lib/pager/src/pager.js +13 -41
- package/lib/pager/src/pager.min.js +1 -1
- package/lib/pager/style/style.css +314 -262
- package/lib/pulldown/index.js +0 -3
- package/lib/pulldown/src/pulldown.js +29 -72
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/pulldown/style/style.css +51 -39
- package/lib/radio/index.js +0 -3
- package/lib/radio/src/button.js +11 -22
- package/lib/radio/src/group.js +2 -6
- package/lib/radio/src/radio.js +11 -23
- package/lib/radio/style/style.css +186 -152
- package/lib/radio/style/style.min.css +1 -1
- package/lib/radio-button/index.js +0 -3
- package/lib/radio-button/style/style.css +1 -1
- package/lib/radio-group/index.js +0 -3
- package/lib/radio-group/style/style.css +1 -1
- package/lib/select/index.js +0 -5
- package/lib/select/src/optgroup.js +0 -2
- package/lib/select/src/optgroup.min.js +1 -1
- package/lib/select/src/option.js +0 -2
- package/lib/select/src/option.min.js +1 -1
- package/lib/select/src/select.js +79 -211
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/src/util.js +5 -24
- package/lib/select/src/util.min.js +1 -1
- package/lib/select/style/style.css +120 -89
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/switch/index.js +0 -3
- package/lib/switch/src/switch.js +7 -20
- package/lib/switch/src/switch.min.js +1 -1
- package/lib/switch/style/style.css +92 -71
- package/lib/table/index.js +0 -9
- package/lib/table/src/body.js +167 -261
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +107 -222
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +2 -4
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +6 -35
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/group.js +0 -3
- package/lib/table/src/methods.js +570 -1461
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +123 -231
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +28 -105
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +1080 -863
- package/lib/table/style/style.min.css +1 -1
- package/lib/textarea/index.js +0 -3
- package/lib/textarea/src/textarea.js +23 -55
- package/lib/textarea/src/textarea.min.js +1 -1
- package/lib/textarea/style/style.css +66 -45
- package/lib/toolbar/index.js +0 -3
- package/lib/toolbar/src/toolbar.js +43 -117
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/toolbar/style/style.css +232 -187
- package/lib/tools/dom.js +7 -42
- package/lib/tools/dom.min.js +1 -1
- package/lib/tools/event.js +4 -14
- package/lib/tools/event.min.js +1 -1
- package/lib/tools/log.js +1 -6
- package/lib/tools/log.min.js +1 -1
- package/lib/tools/resize.js +3 -24
- package/lib/tools/resize.min.js +1 -1
- package/lib/tools/utils.js +7 -29
- package/lib/tools/utils.min.js +1 -1
- package/lib/tools/vn.js +0 -4
- package/lib/tooltip/index.js +0 -4
- package/lib/tooltip/src/tooltip.js +29 -76
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tooltip/style/style.css +88 -64
- package/lib/v-x-e-table/index.js +6 -41
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/v-x-e-table/src/commands.js +0 -4
- package/lib/v-x-e-table/src/conf.js +30 -18
- package/lib/v-x-e-table/src/formats.js +0 -4
- package/lib/v-x-e-table/src/interceptor.js +4 -15
- package/lib/v-x-e-table/src/menus.js +0 -4
- package/lib/v-x-e-table/src/renderer.js +62 -169
- package/lib/v-x-e-table/src/renderer.min.js +1 -1
- package/lib/v-x-e-table/src/setup.js +0 -4
- package/lib/v-x-e-table/src/store.js +3 -16
- package/lib/v-x-e-table/src/store.min.js +1 -1
- package/lib/v-x-e-table/style/style.css +444 -242
- package/lib/v-x-e-table/style/style.min.css +1 -1
- package/lib/validator/index.js +0 -6
- package/lib/validator/src/mixin.js +31 -100
- package/lib/validator/src/mixin.min.js +1 -1
- package/lib/validator/style/style.css +1 -1
- package/lib/vxe-table/style/style.css +1 -1
- package/package.json +28 -29
- package/packages/export/src/mixin.js +2 -1
- package/packages/filter/src/mixin.js +1 -1
- package/packages/form/src/form.js +5 -4
- package/packages/grid/src/grid.js +14 -14
- package/packages/table/src/column.js +2 -0
- package/packages/table/src/columnInfo.js +1 -0
- package/packages/table/src/methods.js +18 -18
- package/styles/icon/iconfont.ttf +0 -0
- package/styles/icon/iconfont.woff +0 -0
- package/styles/icon/iconfont.woff2 +0 -0
- package/styles/icon.scss +9 -1
- package/styles/table.scss +1 -1
- package/styles/variable.scss +2 -2
- package/types/column.d.ts +3 -0
package/lib/export/src/mixin.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
87
|
+
mode = opts.mode;
|
|
113
88
|
var treeConfig = $xetable.treeConfig,
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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
|
-
|
|
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
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
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
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
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
|
-
|
|
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
|
-
|
|
724
|
-
|
|
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
|
-
|
|
759
|
-
|
|
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
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
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
|
-
|
|
1049
|
-
|
|
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
|
-
|
|
1075
|
-
|
|
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
|
-
|
|
1134
|
-
|
|
941
|
+
afterImportMethod = opts.afterImportMethod;
|
|
1135
942
|
var _UtilTools$parseFile = _utils.default.parseFile(file),
|
|
1136
|
-
|
|
1137
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
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
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
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'
|
|
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
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
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
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
}
|