@bchr/bchr-front-lib 0.5.10 → 0.5.11-alpha-20241226.1
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/base/layout/ActionButton.js +20 -4
- package/lib/base/utils/ExcelKits.js +459 -0
- package/lib/base/utils/index.js +8 -0
- package/lib/services/KendoGridAPI.js +46 -63
- package/lib/style/ExtCustomAntDesign.less +36 -0
- package/package.json +2 -1
- package/src/base/layout/ActionButton.js +18 -4
- package/src/base/utils/ExcelKits.js +373 -0
- package/src/base/utils/index.js +2 -1
- package/src/services/KendoGridAPI.js +36 -59
- package/src/style/ExtCustomAntDesign.less +36 -0
|
@@ -515,26 +515,42 @@ var buildActionButton = function buildActionButton(props, subActionButton, inner
|
|
|
515
515
|
|
|
516
516
|
if (confirmType) {
|
|
517
517
|
if (confirmType === 'danger') {
|
|
518
|
+
modalOptions.className = 'ant-modal-error';
|
|
518
519
|
modalOptions.title = '错误';
|
|
520
|
+
modalOptions.type = 'error';
|
|
521
|
+
modalOptions.icon = /*#__PURE__*/_react["default"].createElement(CloseCircleOutlined, null);
|
|
519
522
|
|
|
520
|
-
_antd.Modal.
|
|
523
|
+
_antd.Modal.confirm(modalOptions);
|
|
521
524
|
} else if (confirmType === 'warning') {
|
|
525
|
+
modalOptions.className = 'ant-modal-warning';
|
|
522
526
|
modalOptions.title = '警告';
|
|
527
|
+
modalOptions.type = 'warning';
|
|
523
528
|
|
|
524
|
-
_antd.Modal.
|
|
529
|
+
_antd.Modal.confirm(modalOptions);
|
|
525
530
|
} else {
|
|
531
|
+
modalOptions.className = 'ant-modal-info';
|
|
532
|
+
modalOptions.type = 'info';
|
|
533
|
+
|
|
526
534
|
_antd.Modal.confirm(modalOptions);
|
|
527
535
|
}
|
|
528
536
|
} else {
|
|
529
537
|
if (buttonProps.type === "danger") {
|
|
538
|
+
modalOptions.className = 'ant-modal-error';
|
|
530
539
|
modalOptions.title = '错误';
|
|
540
|
+
modalOptions.type = 'error';
|
|
541
|
+
modalOptions.icon = /*#__PURE__*/_react["default"].createElement(CloseCircleOutlined, null);
|
|
531
542
|
|
|
532
|
-
_antd.Modal.
|
|
543
|
+
_antd.Modal.confirm(modalOptions);
|
|
533
544
|
} else if (buttonProps.type === "warning") {
|
|
545
|
+
modalOptions.className = 'ant-modal-warning';
|
|
534
546
|
modalOptions.title = '警告';
|
|
547
|
+
modalOptions.type = 'warning';
|
|
535
548
|
|
|
536
|
-
_antd.Modal.
|
|
549
|
+
_antd.Modal.confirm(modalOptions);
|
|
537
550
|
} else {
|
|
551
|
+
modalOptions.className = 'ant-modal-info';
|
|
552
|
+
modalOptions.type = 'info';
|
|
553
|
+
|
|
538
554
|
_antd.Modal.confirm(modalOptions);
|
|
539
555
|
}
|
|
540
556
|
}
|
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var ExcelJS = _interopRequireWildcard(require("exceljs"));
|
|
11
|
+
|
|
12
|
+
var _fileSaver = require("file-saver");
|
|
13
|
+
|
|
14
|
+
var _Values = _interopRequireDefault(require("./Values"));
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
|
+
|
|
18
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
19
|
+
|
|
20
|
+
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
+
|
|
22
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
23
|
+
|
|
24
|
+
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."); }
|
|
25
|
+
|
|
26
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
|
|
27
|
+
|
|
28
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
29
|
+
|
|
30
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
31
|
+
|
|
32
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
33
|
+
|
|
34
|
+
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); }
|
|
35
|
+
|
|
36
|
+
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; }
|
|
37
|
+
|
|
38
|
+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
39
|
+
|
|
40
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
41
|
+
|
|
42
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
43
|
+
|
|
44
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
45
|
+
|
|
46
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
47
|
+
|
|
48
|
+
var DEFAULT_BORDER_COLOR_FOR_EXCEL = "CCCCCC";
|
|
49
|
+
var DEFAULT_FG_COLOR_FOR_EXCEL = "FFFFFF";
|
|
50
|
+
var DEFAULT_COL_HEADER_BG_COLOR = "F2F3F5";
|
|
51
|
+
var excelHeaderRowStyle = {
|
|
52
|
+
font: {
|
|
53
|
+
size: 10,
|
|
54
|
+
bold: true
|
|
55
|
+
},
|
|
56
|
+
alignment: {
|
|
57
|
+
vertical: 'middle',
|
|
58
|
+
horizontal: 'center'
|
|
59
|
+
},
|
|
60
|
+
fill: {
|
|
61
|
+
type: 'pattern',
|
|
62
|
+
pattern: 'solid',
|
|
63
|
+
fgColor: {
|
|
64
|
+
argb: DEFAULT_COL_HEADER_BG_COLOR
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
border: {
|
|
68
|
+
top: {
|
|
69
|
+
style: 'thin',
|
|
70
|
+
color: {
|
|
71
|
+
argb: DEFAULT_BORDER_COLOR_FOR_EXCEL
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
left: {
|
|
75
|
+
style: 'thin',
|
|
76
|
+
color: {
|
|
77
|
+
argb: DEFAULT_BORDER_COLOR_FOR_EXCEL
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
bottom: {
|
|
81
|
+
style: 'thin',
|
|
82
|
+
color: {
|
|
83
|
+
argb: DEFAULT_BORDER_COLOR_FOR_EXCEL
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
right: {
|
|
87
|
+
style: 'thin',
|
|
88
|
+
color: {
|
|
89
|
+
argb: DEFAULT_BORDER_COLOR_FOR_EXCEL
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
var excelBodyRowStyle = {
|
|
95
|
+
font: {
|
|
96
|
+
size: 10,
|
|
97
|
+
bold: true
|
|
98
|
+
},
|
|
99
|
+
alignment: {
|
|
100
|
+
vertical: 'middle',
|
|
101
|
+
horizontal: 'center'
|
|
102
|
+
},
|
|
103
|
+
fill: {
|
|
104
|
+
type: 'pattern',
|
|
105
|
+
pattern: 'solid',
|
|
106
|
+
fgColor: {
|
|
107
|
+
argb: DEFAULT_FG_COLOR_FOR_EXCEL
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
border: {
|
|
111
|
+
top: {
|
|
112
|
+
style: 'thin',
|
|
113
|
+
color: {
|
|
114
|
+
argb: DEFAULT_BORDER_COLOR_FOR_EXCEL
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
left: {
|
|
118
|
+
style: 'thin',
|
|
119
|
+
color: {
|
|
120
|
+
argb: DEFAULT_BORDER_COLOR_FOR_EXCEL
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
bottom: {
|
|
124
|
+
style: 'thin',
|
|
125
|
+
color: {
|
|
126
|
+
argb: DEFAULT_BORDER_COLOR_FOR_EXCEL
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
right: {
|
|
130
|
+
style: 'thin',
|
|
131
|
+
color: {
|
|
132
|
+
argb: DEFAULT_BORDER_COLOR_FOR_EXCEL
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
var ExcelKits = {
|
|
138
|
+
exportHandsontableData2CSVFile: function exportHandsontableData2CSVFile(handsonTableInstance, fileName) {
|
|
139
|
+
if (handsonTableInstance === null || handsonTableInstance === void 0) {
|
|
140
|
+
throw new IllegalArgumentError("HandsontableInstance is null for ExcelKits#exportHandsontableData2CSVFile");
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (_Values["default"].isBlankString(fileName)) {
|
|
144
|
+
fileName = "".concat(t('ui.export.csv.file'), "-") + new Date().getTime();
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
var exportPlugin = handsonTableInstance.getPlugin('exportFile');
|
|
148
|
+
exportPlugin.downloadFile('csv', {
|
|
149
|
+
bom: false,
|
|
150
|
+
columnDelimiter: ',',
|
|
151
|
+
columnHeaders: false,
|
|
152
|
+
exportHiddenColumns: true,
|
|
153
|
+
exportHiddenRows: true,
|
|
154
|
+
fileExtension: 'csv',
|
|
155
|
+
filename: fileName,
|
|
156
|
+
mimeType: 'text/csv',
|
|
157
|
+
rowDelimiter: '\r\n',
|
|
158
|
+
rowHeaders: true
|
|
159
|
+
});
|
|
160
|
+
},
|
|
161
|
+
exportHandsontableData2ExcelFile: function exportHandsontableData2ExcelFile(handsontableInstance, fileName) {
|
|
162
|
+
if (handsontableInstance === null || handsontableInstance === void 0) {
|
|
163
|
+
throw new IllegalArgumentError("HandsontableInstance is null for ExcelKits#exportHandsontableData2ExcelFile");
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
if (_Values["default"].isBlankString(fileName)) {
|
|
167
|
+
fileName = t('ui.export.excel.file') + "-" + new Date().getTime();
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
var exportGridColumns = [];
|
|
171
|
+
var exportGridData = handsontableInstance.hotInstance.getSourceData();
|
|
172
|
+
window.handsontableInstance = handsontableInstance;
|
|
173
|
+
|
|
174
|
+
if (handsontableInstance.columnSettings && handsontableInstance.columnSettings.length) {
|
|
175
|
+
handsontableInstance.columnSettings.forEach(function (column) {
|
|
176
|
+
exportGridColumns.push(_objectSpread(_objectSpread({}, column), {}, {
|
|
177
|
+
dataIndex: column.data
|
|
178
|
+
}));
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
console.log('exportGridColumns :', exportGridColumns);
|
|
183
|
+
console.log('exportGridData :', exportGridData);
|
|
184
|
+
this.exportTableData2ExcelFile(exportGridColumns, exportGridData, fileName);
|
|
185
|
+
},
|
|
186
|
+
exportTableData2ExcelFile: function exportTableData2ExcelFile() {
|
|
187
|
+
var columns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
188
|
+
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
189
|
+
var fileName = arguments.length > 2 ? arguments[2] : undefined;
|
|
190
|
+
|
|
191
|
+
if (_Values["default"].isBlankString(fileName)) {
|
|
192
|
+
fileName = "".concat(t('ui.export.excel.file'), "-") + new Date().getTime();
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
var workbook = new ExcelJS.Workbook();
|
|
196
|
+
var worksheet = workbook.addWorksheet('sheet');
|
|
197
|
+
var exportGridColumnsData = this.gatherExcelColumnHeaderStructureInfo(this.extractColumns(columns));
|
|
198
|
+
var totalColumnHeaderRowCount = exportGridColumnsData.totalColumnHeaderRowCount;
|
|
199
|
+
var columnHeaderData = exportGridColumnsData.columnHeaderData;
|
|
200
|
+
var rowHeaderArray = exportGridColumnsData.rowHeaderArray;
|
|
201
|
+
var columnHeaderMergeCellArray = exportGridColumnsData.columnHeaderMergeCellArray;
|
|
202
|
+
var exportGridData = data;
|
|
203
|
+
worksheet.columns = columnHeaderData;
|
|
204
|
+
worksheet.spliceRows(1, 1);
|
|
205
|
+
worksheet.insertRows(1, rowHeaderArray);
|
|
206
|
+
exportGridData.forEach(function (gridItem) {
|
|
207
|
+
worksheet.addRow(gridItem);
|
|
208
|
+
});
|
|
209
|
+
columnHeaderMergeCellArray.forEach(function (mergeCells) {
|
|
210
|
+
worksheet.mergeCells(mergeCells);
|
|
211
|
+
}); // 设置表头样式
|
|
212
|
+
|
|
213
|
+
var headerRows = worksheet.getRows(1, totalColumnHeaderRowCount);
|
|
214
|
+
headerRows.forEach(function (row, rowIndex) {
|
|
215
|
+
row.eachCell(function (cell, cellIndex) {
|
|
216
|
+
cell.style = excelHeaderRowStyle;
|
|
217
|
+
});
|
|
218
|
+
}); // 设置表体样式
|
|
219
|
+
|
|
220
|
+
var bodyRows = worksheet.getRows(totalColumnHeaderRowCount + 1, totalColumnHeaderRowCount + exportGridData.length + 5);
|
|
221
|
+
bodyRows.forEach(function (row) {
|
|
222
|
+
row.eachCell(function (cell, cellIndex) {
|
|
223
|
+
cell.style = excelBodyRowStyle;
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
workbook.xlsx.writeBuffer().then(function (buffer) {
|
|
227
|
+
(0, _fileSaver.saveAs)(new Blob([buffer], {
|
|
228
|
+
type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
|
|
229
|
+
}), fileName + ".xlsx");
|
|
230
|
+
});
|
|
231
|
+
},
|
|
232
|
+
extractColumns: function extractColumns(children, level) {
|
|
233
|
+
var _this = this;
|
|
234
|
+
|
|
235
|
+
if (level === void 0) {
|
|
236
|
+
level = 0;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
return Array.isArray(children) ? children.map(function (child) {
|
|
240
|
+
return _this.extractChild(child, level);
|
|
241
|
+
}) : [children, _this.extractChild(children, level)];
|
|
242
|
+
},
|
|
243
|
+
extractChild: function extractChild(child, level) {
|
|
244
|
+
var _this = this;
|
|
245
|
+
|
|
246
|
+
if (level === void 0) {
|
|
247
|
+
level = 0;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
return Object.assign(Object.assign({}, child), {
|
|
251
|
+
level: level,
|
|
252
|
+
children: child.children && _this.extractColumns(child.children, level + 1)
|
|
253
|
+
});
|
|
254
|
+
},
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* 收集Excel列头信息(复合表头)
|
|
258
|
+
* @param gridColumns
|
|
259
|
+
* @returns {{totalColumnCount: {int}, totalColumnHeaderRowCount: {int}, columnHeaderArray: [] }}
|
|
260
|
+
*/
|
|
261
|
+
gatherExcelColumnHeaderStructureInfo: function gatherExcelColumnHeaderStructureInfo(gridColumns) {
|
|
262
|
+
var _this2 = this;
|
|
263
|
+
|
|
264
|
+
var _this$getTotalColumnC = this.getTotalColumnCountAndTotalColumnHeaderRowCount(gridColumns, 0, 1),
|
|
265
|
+
_this$getTotalColumnC2 = _slicedToArray(_this$getTotalColumnC, 2),
|
|
266
|
+
totalColumnCount = _this$getTotalColumnC2[0],
|
|
267
|
+
totalColumnHeaderRowCount = _this$getTotalColumnC2[1];
|
|
268
|
+
|
|
269
|
+
var columnHeaderArray = [];
|
|
270
|
+
|
|
271
|
+
for (var i = 0, count = gridColumns.length; i < count; i++) {
|
|
272
|
+
var column = gridColumns[i];
|
|
273
|
+
this.$buildColumnHeaderArray(column, columnHeaderArray);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
for (var _i2 = 0, _count = columnHeaderArray.length; _i2 < _count; _i2++) {
|
|
277
|
+
var subArray = columnHeaderArray[_i2];
|
|
278
|
+
var lastElem = subArray[subArray.length - 1];
|
|
279
|
+
|
|
280
|
+
for (var r = subArray.length; r < totalColumnHeaderRowCount; r++) {
|
|
281
|
+
subArray.push(lastElem);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
var columnHeaderMergeCellArray = [];
|
|
286
|
+
var nextColIndex = 1;
|
|
287
|
+
|
|
288
|
+
for (var _i3 = 0, _count2 = gridColumns.length; _i3 < _count2; _i3++) {
|
|
289
|
+
var gridColumn = gridColumns[_i3];
|
|
290
|
+
nextColIndex = this.gatherExcelColumnHeaderMergeCellInfo(gridColumn, columnHeaderMergeCellArray, totalColumnHeaderRowCount, 1, nextColIndex);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
var rowHeaderArray = [];
|
|
294
|
+
|
|
295
|
+
var _loop = function _loop(totalColumnHeaderRowStep) {
|
|
296
|
+
var rowHeaderColumns = [];
|
|
297
|
+
columnHeaderArray.forEach(function (columns) {
|
|
298
|
+
rowHeaderColumns.push(columns[totalColumnHeaderRowStep]);
|
|
299
|
+
});
|
|
300
|
+
rowHeaderArray.push(rowHeaderColumns);
|
|
301
|
+
};
|
|
302
|
+
|
|
303
|
+
for (var totalColumnHeaderRowStep = 0; totalColumnHeaderRowStep < totalColumnHeaderRowCount; totalColumnHeaderRowStep++) {
|
|
304
|
+
_loop(totalColumnHeaderRowStep);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
var columnHeaderData = [];
|
|
308
|
+
var columnIndex = 0;
|
|
309
|
+
|
|
310
|
+
var addColumns = function addColumns(columns, result) {
|
|
311
|
+
columns.forEach(function (column) {
|
|
312
|
+
var exporterColumn = _this2.$normalizedExportColumn(column);
|
|
313
|
+
|
|
314
|
+
result.push(exporterColumn);
|
|
315
|
+
|
|
316
|
+
if (column.children && column.children.length > 1) {
|
|
317
|
+
var children = exporterColumn.columns = [];
|
|
318
|
+
addColumns(column.children, children);
|
|
319
|
+
} else {
|
|
320
|
+
columnIndex++;
|
|
321
|
+
}
|
|
322
|
+
});
|
|
323
|
+
};
|
|
324
|
+
|
|
325
|
+
addColumns(gridColumns, columnHeaderData);
|
|
326
|
+
|
|
327
|
+
var autoCreateArrayItems = function autoCreateArrayItems(column, columnStep, columns) {
|
|
328
|
+
if (column.columns && column.columns.length) {
|
|
329
|
+
columns.splice.apply(columns, [columnStep, 1].concat(_toConsumableArray(column.columns)));
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
if (columnStep === columns.length - 1) {
|
|
333
|
+
console.log('success');
|
|
334
|
+
} else {
|
|
335
|
+
columnStep++;
|
|
336
|
+
autoCreateArrayItems(columns[columnStep], columnStep, columns);
|
|
337
|
+
}
|
|
338
|
+
};
|
|
339
|
+
|
|
340
|
+
autoCreateArrayItems(columnHeaderData[0], 0, columnHeaderData);
|
|
341
|
+
return {
|
|
342
|
+
totalColumnCount: totalColumnCount,
|
|
343
|
+
totalColumnHeaderRowCount: totalColumnHeaderRowCount,
|
|
344
|
+
columnHeaderArray: columnHeaderArray,
|
|
345
|
+
columnHeaderData: columnHeaderData,
|
|
346
|
+
rowHeaderArray: rowHeaderArray,
|
|
347
|
+
columnHeaderMergeCellArray: columnHeaderMergeCellArray
|
|
348
|
+
};
|
|
349
|
+
},
|
|
350
|
+
|
|
351
|
+
/**
|
|
352
|
+
* @return {Array} eg -
|
|
353
|
+
* [
|
|
354
|
+
* [leftTopRowIndex, leftTopColumnIndex, rightBottomRowIndex, rightBottomColumnIndex],
|
|
355
|
+
* [leftTopRowIndex, leftTopColumnIndex, rightBottomRowIndex, rightBottomColumnIndex],
|
|
356
|
+
* [leftTopRowIndex, leftTopColumnIndex, rightBottomRowIndex, rightBottomColumnIndex],
|
|
357
|
+
* [leftTopRowIndex, leftTopColumnIndex, rightBottomRowIndex, rightBottomColumnIndex],
|
|
358
|
+
* ]
|
|
359
|
+
*/
|
|
360
|
+
gatherExcelColumnHeaderMergeCellInfo: function gatherExcelColumnHeaderMergeCellInfo(gridColumn, columnHeaderMergeCellArray, totalColumnHeaderRowCount) {
|
|
361
|
+
var currentColumnHeaderRowIndex = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
|
|
362
|
+
var colIndex = arguments.length > 4 ? arguments[4] : undefined;
|
|
363
|
+
var allChildColumnCount = this.$countAllChildColumnCount(gridColumn);
|
|
364
|
+
|
|
365
|
+
if (Array.isArray(gridColumn.children) && gridColumn.children.length) {
|
|
366
|
+
var gridColumns = gridColumn.children;
|
|
367
|
+
var gridColumnCount = gridColumns.length;
|
|
368
|
+
columnHeaderMergeCellArray.push([currentColumnHeaderRowIndex, colIndex, currentColumnHeaderRowIndex, colIndex + allChildColumnCount - 1]);
|
|
369
|
+
|
|
370
|
+
for (var i = 0; i < gridColumnCount; i++) {
|
|
371
|
+
this.gatherExcelColumnHeaderMergeCellInfo(gridColumns[i], columnHeaderMergeCellArray, totalColumnHeaderRowCount, currentColumnHeaderRowIndex + 1, colIndex + i);
|
|
372
|
+
}
|
|
373
|
+
} else {
|
|
374
|
+
if (currentColumnHeaderRowIndex !== totalColumnHeaderRowCount) {
|
|
375
|
+
columnHeaderMergeCellArray.push([currentColumnHeaderRowIndex, colIndex, totalColumnHeaderRowCount, colIndex]);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
return colIndex + allChildColumnCount;
|
|
380
|
+
},
|
|
381
|
+
$countAllChildColumnCount: function $countAllChildColumnCount(gridColumn) {
|
|
382
|
+
var columnCount = 0;
|
|
383
|
+
|
|
384
|
+
if (gridColumn === null || gridColumn === void 0) {
|
|
385
|
+
return columnCount;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
if (Array.isArray(gridColumn.children) && gridColumn.children.length) {
|
|
389
|
+
var gridColumns = gridColumn.children;
|
|
390
|
+
var gridColumnCount = gridColumns.length;
|
|
391
|
+
|
|
392
|
+
for (var i = 0; i < gridColumnCount; i++) {
|
|
393
|
+
var childColumnCount = this.$countAllChildColumnCount(gridColumns[i]);
|
|
394
|
+
columnCount = columnCount + childColumnCount;
|
|
395
|
+
}
|
|
396
|
+
} else {
|
|
397
|
+
columnCount = 1;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
return columnCount;
|
|
401
|
+
},
|
|
402
|
+
getTotalColumnCountAndTotalColumnHeaderRowCount: function getTotalColumnCountAndTotalColumnHeaderRowCount(gridColumns, totalColumnCount, totalColumnHeaderCount) {
|
|
403
|
+
var maxN2 = totalColumnHeaderCount;
|
|
404
|
+
|
|
405
|
+
for (var i = 0, count = gridColumns.length; i < count; i++) {
|
|
406
|
+
var column = gridColumns[i];
|
|
407
|
+
|
|
408
|
+
if (Array.isArray(column.children) && column.children.length) {
|
|
409
|
+
var _this$getTotalColumnC3 = this.getTotalColumnCountAndTotalColumnHeaderRowCount(column.children, 0, totalColumnHeaderCount + 1),
|
|
410
|
+
_this$getTotalColumnC4 = _slicedToArray(_this$getTotalColumnC3, 2),
|
|
411
|
+
n1 = _this$getTotalColumnC4[0],
|
|
412
|
+
n2 = _this$getTotalColumnC4[1];
|
|
413
|
+
|
|
414
|
+
totalColumnCount = totalColumnCount + n1;
|
|
415
|
+
|
|
416
|
+
if (n2 > maxN2) {
|
|
417
|
+
maxN2 = n2;
|
|
418
|
+
}
|
|
419
|
+
} else {
|
|
420
|
+
totalColumnCount = totalColumnCount + 1;
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
return [totalColumnCount, maxN2];
|
|
425
|
+
},
|
|
426
|
+
$buildColumnHeaderArray: function $buildColumnHeaderArray(column, columnHeaderArray, parentHeaderTitles) {
|
|
427
|
+
if (Array.isArray(column.children) && column.children.length) {
|
|
428
|
+
if (parentHeaderTitles === null || parentHeaderTitles == void 0) {
|
|
429
|
+
parentHeaderTitles = [column.title];
|
|
430
|
+
} else {
|
|
431
|
+
parentHeaderTitles.push(column.title);
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
for (var i = 0, count = column.children.length; i < count; i++) {
|
|
435
|
+
var childColumn = column.children[i];
|
|
436
|
+
this.$buildColumnHeaderArray(childColumn, columnHeaderArray, parentHeaderTitles);
|
|
437
|
+
}
|
|
438
|
+
} else {
|
|
439
|
+
var columnSelfHeaderTitleArray = [];
|
|
440
|
+
|
|
441
|
+
if (Array.isArray(parentHeaderTitles)) {
|
|
442
|
+
columnSelfHeaderTitleArray.push.apply(columnSelfHeaderTitleArray, _toConsumableArray(parentHeaderTitles));
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
columnSelfHeaderTitleArray.push(column.title);
|
|
446
|
+
columnHeaderArray.push(columnSelfHeaderTitleArray);
|
|
447
|
+
}
|
|
448
|
+
},
|
|
449
|
+
$normalizedExportColumn: function $normalizedExportColumn(column) {
|
|
450
|
+
return {
|
|
451
|
+
header: column.title,
|
|
452
|
+
key: column.dataIndex,
|
|
453
|
+
locked: column.locked,
|
|
454
|
+
width: column.width * 0.1
|
|
455
|
+
};
|
|
456
|
+
}
|
|
457
|
+
};
|
|
458
|
+
var _default = ExcelKits;
|
|
459
|
+
exports["default"] = _default;
|
package/lib/base/utils/index.js
CHANGED
|
@@ -33,6 +33,12 @@ Object.defineProperty(exports, "DateTimes", {
|
|
|
33
33
|
return _DateTimes["default"];
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
+
Object.defineProperty(exports, "ExcelKits", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function get() {
|
|
39
|
+
return _ExcelKits["default"];
|
|
40
|
+
}
|
|
41
|
+
});
|
|
36
42
|
|
|
37
43
|
var _FormDatas = require("./FormDatas");
|
|
38
44
|
|
|
@@ -42,4 +48,6 @@ var _Values = _interopRequireDefault(require("./Values"));
|
|
|
42
48
|
|
|
43
49
|
var _DateTimes = _interopRequireDefault(require("./DateTimes"));
|
|
44
50
|
|
|
51
|
+
var _ExcelKits = _interopRequireDefault(require("./ExcelKits"));
|
|
52
|
+
|
|
45
53
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|