vxe-table 4.1.5 → 4.1.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/es/export/src/hook.js +16 -5
- package/es/form/src/form.js +2 -2
- package/es/grid/src/grid.js +6 -2
- package/es/table/src/props.js +6 -6
- package/es/table/src/table.js +25 -18
- package/es/v-x-e-table/src/conf.js +4 -1
- package/es/validator/src/hook.js +3 -3
- package/lib/export/src/hook.js +27 -10
- package/lib/export/src/hook.min.js +1 -1
- package/lib/form/src/form.js +2 -2
- package/lib/form/src/form.min.js +1 -1
- package/lib/grid/src/grid.js +6 -3
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +95 -140
- package/lib/index.umd.min.js +2 -1
- package/lib/table/src/props.js +6 -6
- package/lib/table/src/table.js +28 -22
- package/lib/table/src/table.min.js +1 -1
- package/lib/v-x-e-table/src/conf.js +4 -1
- package/lib/v-x-e-table/src/conf.min.js +1 -1
- package/lib/validator/src/hook.js +3 -3
- package/lib/validator/src/hook.min.js +1 -1
- package/package.json +3 -26
- package/packages/export/src/hook.ts +16 -5
- package/packages/form/src/form.ts +2 -2
- package/packages/grid/src/grid.ts +6 -2
- package/packages/table/src/props.ts +6 -6
- package/packages/table/src/table.ts +24 -17
- package/packages/v-x-e-table/src/conf.ts +4 -1
- package/packages/v-x-e-table/src/renderer.ts +1 -1
- package/packages/validator/src/hook.ts +3 -3
- package/types/table.d.ts +4 -0
- package/types/v-x-e-table/renderer.d.ts +4 -2
package/es/export/src/hook.js
CHANGED
|
@@ -86,6 +86,9 @@ function getFooterData(opts, footerTableData) {
|
|
|
86
86
|
}
|
|
87
87
|
function getCsvCellTypeLabel(column, cellValue) {
|
|
88
88
|
if (cellValue) {
|
|
89
|
+
if (column.type === 'seq') {
|
|
90
|
+
return "\t" + cellValue;
|
|
91
|
+
}
|
|
89
92
|
switch (column.cellType) {
|
|
90
93
|
case 'string':
|
|
91
94
|
if (!isNaN(cellValue)) {
|
|
@@ -262,10 +265,16 @@ var tableExportHook = {
|
|
|
262
265
|
var treeOpts = computeTreeOpts.value;
|
|
263
266
|
return row[treeOpts.children] && row[treeOpts.children].length;
|
|
264
267
|
};
|
|
265
|
-
var getSeq = function (row, rowIndex, column, columnIndex) {
|
|
268
|
+
var getSeq = function (row, rowIndex, column, columnIndex, paths) {
|
|
266
269
|
var seqOpts = computeSeqOpts.value;
|
|
267
270
|
var seqMethod = seqOpts.seqMethod || column.seqMethod;
|
|
268
|
-
|
|
271
|
+
if (seqMethod) {
|
|
272
|
+
return seqMethod({ row: row, rowIndex: rowIndex, column: column, columnIndex: columnIndex });
|
|
273
|
+
}
|
|
274
|
+
if (paths) {
|
|
275
|
+
return paths.map(function (num, i) { return i % 2 === 0 ? (Number(num) + 1) : '.'; }).join('');
|
|
276
|
+
}
|
|
277
|
+
return seqOpts.startIndex + rowIndex + 1;
|
|
269
278
|
};
|
|
270
279
|
var toBooleanValue = function (cellValue) {
|
|
271
280
|
return XEUtils.isBoolean(cellValue) ? (cellValue ? 'TRUE' : 'FALSE') : cellValue;
|
|
@@ -282,10 +291,11 @@ var tableExportHook = {
|
|
|
282
291
|
if (treeConfig) {
|
|
283
292
|
// 如果是树表格只允许导出数据源
|
|
284
293
|
var rest_1 = [];
|
|
294
|
+
var expandMaps_1 = new Map();
|
|
285
295
|
XEUtils.eachTree(datas, function (item, rowIndex, items, path, parent, nodes) {
|
|
286
296
|
var row = item._row || item;
|
|
287
297
|
var parentRow = parent && parent._row ? parent._row : parent;
|
|
288
|
-
if ((isAllExpand || !parentRow || $xetable.isTreeExpandByRow(parentRow))) {
|
|
298
|
+
if ((isAllExpand || !parentRow || (expandMaps_1.has(parentRow) && $xetable.isTreeExpandByRow(parentRow)))) {
|
|
289
299
|
var hasRowChild = hasTreeChildren(row);
|
|
290
300
|
var item_3 = {
|
|
291
301
|
_row: row,
|
|
@@ -309,7 +319,7 @@ var tableExportHook = {
|
|
|
309
319
|
else {
|
|
310
320
|
switch (column.type) {
|
|
311
321
|
case 'seq':
|
|
312
|
-
cellValue = getSeq(row, rowIndex, column, columnIndex);
|
|
322
|
+
cellValue = getSeq(row, rowIndex, column, columnIndex, path);
|
|
313
323
|
break;
|
|
314
324
|
case 'checkbox':
|
|
315
325
|
cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row));
|
|
@@ -342,6 +352,7 @@ var tableExportHook = {
|
|
|
342
352
|
}
|
|
343
353
|
item_3[column.id] = XEUtils.toValueString(cellValue);
|
|
344
354
|
});
|
|
355
|
+
expandMaps_1.set(row, 1);
|
|
345
356
|
rest_1.push(Object.assign(item_3, row));
|
|
346
357
|
}
|
|
347
358
|
}, treeOpts);
|
|
@@ -367,7 +378,7 @@ var tableExportHook = {
|
|
|
367
378
|
else {
|
|
368
379
|
switch (column.type) {
|
|
369
380
|
case 'seq':
|
|
370
|
-
cellValue = getSeq(row, rowIndex, column, columnIndex);
|
|
381
|
+
cellValue = getSeq(row, rowIndex, column, columnIndex, []);
|
|
371
382
|
break;
|
|
372
383
|
case 'checkbox':
|
|
373
384
|
cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row));
|
package/es/form/src/form.js
CHANGED
|
@@ -379,7 +379,7 @@ export default defineComponent({
|
|
|
379
379
|
callback();
|
|
380
380
|
}
|
|
381
381
|
}).catch(function () {
|
|
382
|
-
return new Promise(function (resolve
|
|
382
|
+
return new Promise(function (resolve) {
|
|
383
383
|
showErrTime = window.setTimeout(function () {
|
|
384
384
|
itemList.forEach(function (item) {
|
|
385
385
|
if (item.errRule) {
|
|
@@ -397,7 +397,7 @@ export default defineComponent({
|
|
|
397
397
|
resolve();
|
|
398
398
|
}
|
|
399
399
|
else {
|
|
400
|
-
|
|
400
|
+
resolve(validRest);
|
|
401
401
|
}
|
|
402
402
|
});
|
|
403
403
|
});
|
package/es/grid/src/grid.js
CHANGED
|
@@ -835,7 +835,11 @@ export default defineComponent({
|
|
|
835
835
|
body_1.insertRecords = insertRecords_1.filter(function (row) { return $xetable.findRowIndexOf(pendingRecords_1, row) === -1; });
|
|
836
836
|
}
|
|
837
837
|
// 只校验新增和修改的数据
|
|
838
|
-
return $xetable.validate(body_1.insertRecords.concat(updateRecords_1)).then(function () {
|
|
838
|
+
return $xetable.validate(body_1.insertRecords.concat(updateRecords_1)).then(function (errMap) {
|
|
839
|
+
if (errMap) {
|
|
840
|
+
// 如果校验不通过
|
|
841
|
+
return;
|
|
842
|
+
}
|
|
839
843
|
if (body_1.insertRecords.length || removeRecords_2.length || updateRecords_1.length || body_1.pendingRecords.length) {
|
|
840
844
|
reactData.tableLoading = true;
|
|
841
845
|
return Promise.resolve((beforeSave || ajaxMethods_2).apply(void 0, applyArgs_3))
|
|
@@ -882,7 +886,7 @@ export default defineComponent({
|
|
|
882
886
|
VXETable.modal.message({ id: code, content: GlobalConfig.i18n('vxe.grid.dataUnchanged'), status: 'info' });
|
|
883
887
|
}
|
|
884
888
|
}
|
|
885
|
-
})
|
|
889
|
+
});
|
|
886
890
|
}
|
|
887
891
|
else {
|
|
888
892
|
if (process.env.NODE_ENV === 'development') {
|
package/es/table/src/props.js
CHANGED
|
@@ -30,15 +30,15 @@ export default {
|
|
|
30
30
|
footerAlign: { type: String, default: function () { return GlobalConfig.table.footerAlign; } },
|
|
31
31
|
// 是否显示表头
|
|
32
32
|
showHeader: { type: Boolean, default: function () { return GlobalConfig.table.showHeader; } },
|
|
33
|
-
//
|
|
33
|
+
// (即将废弃)是否要高亮当前选中行
|
|
34
34
|
highlightCurrentRow: { type: Boolean, default: function () { return GlobalConfig.table.highlightCurrentRow; } },
|
|
35
|
-
//
|
|
35
|
+
// (即将废弃)鼠标移到行是否要高亮显示
|
|
36
36
|
highlightHoverRow: { type: Boolean, default: function () { return GlobalConfig.table.highlightHoverRow; } },
|
|
37
|
-
//
|
|
37
|
+
// (即将废弃)是否要高亮当前选中列
|
|
38
38
|
highlightCurrentColumn: { type: Boolean, default: function () { return GlobalConfig.table.highlightCurrentColumn; } },
|
|
39
|
-
//
|
|
39
|
+
// (即将废弃)鼠标移到列是否要高亮显示
|
|
40
40
|
highlightHoverColumn: { type: Boolean, default: function () { return GlobalConfig.table.highlightHoverColumn; } },
|
|
41
|
-
//
|
|
41
|
+
// (即将废弃)激活单元格编辑时是否高亮显示
|
|
42
42
|
highlightCell: Boolean,
|
|
43
43
|
// 是否显示表尾合计
|
|
44
44
|
showFooter: Boolean,
|
|
@@ -148,7 +148,7 @@ export default {
|
|
|
148
148
|
scrollX: Object,
|
|
149
149
|
// 纵向虚拟滚动配置项
|
|
150
150
|
scrollY: Object,
|
|
151
|
-
//
|
|
151
|
+
// (即将废弃)优化相关
|
|
152
152
|
animat: { type: Boolean, default: function () { return GlobalConfig.table.animat; } },
|
|
153
153
|
delayHover: { type: Number, default: function () { return GlobalConfig.table.delayHover; } },
|
|
154
154
|
// 额外的参数
|
package/es/table/src/table.js
CHANGED
|
@@ -3054,6 +3054,17 @@ export default defineComponent({
|
|
|
3054
3054
|
var treeOpts = computeTreeOpts.value;
|
|
3055
3055
|
var reserveSelection = [];
|
|
3056
3056
|
if (checkboxOpts.reserve) {
|
|
3057
|
+
var afterFullIdMaps_1 = {};
|
|
3058
|
+
if (treeConfig) {
|
|
3059
|
+
XEUtils.eachTree(afterFullData, function (row) {
|
|
3060
|
+
afterFullIdMaps_1[getRowid($xetable, row)] = 1;
|
|
3061
|
+
}, treeOpts);
|
|
3062
|
+
}
|
|
3063
|
+
else {
|
|
3064
|
+
afterFullData.forEach(function (row) {
|
|
3065
|
+
afterFullIdMaps_1[getRowid($xetable, row)] = 1;
|
|
3066
|
+
});
|
|
3067
|
+
}
|
|
3057
3068
|
XEUtils.each(checkboxReserveRowMap, function (oldRow, oldRowid) {
|
|
3058
3069
|
if (oldRow) {
|
|
3059
3070
|
if (isFull) {
|
|
@@ -3062,15 +3073,8 @@ export default defineComponent({
|
|
|
3062
3073
|
}
|
|
3063
3074
|
}
|
|
3064
3075
|
else {
|
|
3065
|
-
if (
|
|
3066
|
-
|
|
3067
|
-
reserveSelection.push(oldRow);
|
|
3068
|
-
}
|
|
3069
|
-
}
|
|
3070
|
-
else {
|
|
3071
|
-
if (!afterFullData.some(function (row) { return getRowid($xetable, row) === oldRowid; })) {
|
|
3072
|
-
reserveSelection.push(oldRow);
|
|
3073
|
-
}
|
|
3076
|
+
if (!afterFullIdMaps_1[oldRowid]) {
|
|
3077
|
+
reserveSelection.push(oldRow);
|
|
3074
3078
|
}
|
|
3075
3079
|
}
|
|
3076
3080
|
}
|
|
@@ -3199,7 +3203,7 @@ export default defineComponent({
|
|
|
3199
3203
|
}
|
|
3200
3204
|
}
|
|
3201
3205
|
else {
|
|
3202
|
-
if (
|
|
3206
|
+
if ($xetable.findRowIndexOf(afterFullData, selectRow) > -1) {
|
|
3203
3207
|
return selectRow;
|
|
3204
3208
|
}
|
|
3205
3209
|
}
|
|
@@ -3968,6 +3972,7 @@ export default defineComponent({
|
|
|
3968
3972
|
var mouseConfig = props.mouseConfig, keyboardConfig = props.keyboardConfig;
|
|
3969
3973
|
var filterStore = reactData.filterStore, ctxMenuStore = reactData.ctxMenuStore, editStore = reactData.editStore;
|
|
3970
3974
|
var mouseOpts = computeMouseOpts.value;
|
|
3975
|
+
var keyboardOpts = computeKeyboardOpts.value;
|
|
3971
3976
|
var actived = editStore.actived;
|
|
3972
3977
|
var isEsc = hasEventKey(evnt, EVENT_KEYS.ESCAPE);
|
|
3973
3978
|
if (isEsc) {
|
|
@@ -3982,13 +3987,15 @@ export default defineComponent({
|
|
|
3982
3987
|
$xetable.closeMenu();
|
|
3983
3988
|
}
|
|
3984
3989
|
tableMethods.closeFilter();
|
|
3985
|
-
|
|
3986
|
-
|
|
3987
|
-
|
|
3988
|
-
|
|
3989
|
-
|
|
3990
|
-
|
|
3991
|
-
|
|
3990
|
+
if (keyboardConfig && keyboardOpts.isEsc) {
|
|
3991
|
+
// 如果是激活编辑状态,则取消编辑
|
|
3992
|
+
if (actived.row) {
|
|
3993
|
+
var params_1 = actived.args;
|
|
3994
|
+
$xetable.clearActived(evnt);
|
|
3995
|
+
// 如果配置了选中功能,则为选中状态
|
|
3996
|
+
if (mouseOpts.selected) {
|
|
3997
|
+
nextTick(function () { return $xetable.handleSelected(params_1, evnt); });
|
|
3998
|
+
}
|
|
3992
3999
|
}
|
|
3993
4000
|
}
|
|
3994
4001
|
}
|
|
@@ -4054,7 +4061,7 @@ export default defineComponent({
|
|
|
4054
4061
|
$xetable.closeMenu();
|
|
4055
4062
|
}
|
|
4056
4063
|
tableMethods.closeFilter();
|
|
4057
|
-
if (
|
|
4064
|
+
if (keyboardConfig && keyboardOpts.isEsc) {
|
|
4058
4065
|
// 如果是激活编辑状态,则取消编辑
|
|
4059
4066
|
if (actived.row) {
|
|
4060
4067
|
var params_2 = actived.args;
|
|
@@ -10,6 +10,7 @@ var GlobalConfig = {
|
|
|
10
10
|
showHeader: true,
|
|
11
11
|
animat: true,
|
|
12
12
|
delayHover: 250,
|
|
13
|
+
autoResize: true,
|
|
13
14
|
// keepSource: false,
|
|
14
15
|
// showOverflow: null,
|
|
15
16
|
// showHeaderOverflow: null,
|
|
@@ -17,7 +18,6 @@ var GlobalConfig = {
|
|
|
17
18
|
// resizeInterval: 500,
|
|
18
19
|
// size: null,
|
|
19
20
|
// zIndex: null,
|
|
20
|
-
// autoResize: false,
|
|
21
21
|
// stripe: false,
|
|
22
22
|
// border: false,
|
|
23
23
|
// round: false,
|
|
@@ -90,6 +90,9 @@ var GlobalConfig = {
|
|
|
90
90
|
mouseConfig: {
|
|
91
91
|
extension: true
|
|
92
92
|
},
|
|
93
|
+
keyboardConfig: {
|
|
94
|
+
isEsc: true
|
|
95
|
+
},
|
|
93
96
|
areaConfig: {
|
|
94
97
|
selectCellByHeader: true
|
|
95
98
|
},
|
package/es/validator/src/hook.js
CHANGED
|
@@ -160,14 +160,14 @@ var validatorHook = {
|
|
|
160
160
|
var ruleProps = Object.keys(validRest);
|
|
161
161
|
return nextTick().then(function () {
|
|
162
162
|
if (ruleProps.length) {
|
|
163
|
-
return
|
|
163
|
+
return validRest[ruleProps[0]][0];
|
|
164
164
|
}
|
|
165
165
|
if (cb) {
|
|
166
166
|
cb();
|
|
167
167
|
}
|
|
168
168
|
});
|
|
169
169
|
}).catch(function (firstErrParams) {
|
|
170
|
-
return new Promise(function (resolve
|
|
170
|
+
return new Promise(function (resolve) {
|
|
171
171
|
var finish = function () {
|
|
172
172
|
nextTick(function () {
|
|
173
173
|
if (cb) {
|
|
@@ -175,7 +175,7 @@ var validatorHook = {
|
|
|
175
175
|
resolve();
|
|
176
176
|
}
|
|
177
177
|
else {
|
|
178
|
-
|
|
178
|
+
resolve(validRest);
|
|
179
179
|
}
|
|
180
180
|
});
|
|
181
181
|
};
|
package/lib/export/src/hook.js
CHANGED
|
@@ -121,6 +121,10 @@ function getFooterData(opts, footerTableData) {
|
|
|
121
121
|
|
|
122
122
|
function getCsvCellTypeLabel(column, cellValue) {
|
|
123
123
|
if (cellValue) {
|
|
124
|
+
if (column.type === 'seq') {
|
|
125
|
+
return "\t" + cellValue;
|
|
126
|
+
}
|
|
127
|
+
|
|
124
128
|
switch (column.cellType) {
|
|
125
129
|
case 'string':
|
|
126
130
|
if (!isNaN(cellValue)) {
|
|
@@ -368,15 +372,26 @@ var tableExportHook = {
|
|
|
368
372
|
return row[treeOpts.children] && row[treeOpts.children].length;
|
|
369
373
|
};
|
|
370
374
|
|
|
371
|
-
var getSeq = function getSeq(row, rowIndex, column, columnIndex) {
|
|
375
|
+
var getSeq = function getSeq(row, rowIndex, column, columnIndex, paths) {
|
|
372
376
|
var seqOpts = computeSeqOpts.value;
|
|
373
377
|
var seqMethod = seqOpts.seqMethod || column.seqMethod;
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
378
|
+
|
|
379
|
+
if (seqMethod) {
|
|
380
|
+
return seqMethod({
|
|
381
|
+
row: row,
|
|
382
|
+
rowIndex: rowIndex,
|
|
383
|
+
column: column,
|
|
384
|
+
columnIndex: columnIndex
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
if (paths) {
|
|
389
|
+
return paths.map(function (num, i) {
|
|
390
|
+
return i % 2 === 0 ? Number(num) + 1 : '.';
|
|
391
|
+
}).join('');
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
return seqOpts.startIndex + rowIndex + 1;
|
|
380
395
|
};
|
|
381
396
|
|
|
382
397
|
var toBooleanValue = function toBooleanValue(cellValue) {
|
|
@@ -397,12 +412,13 @@ var tableExportHook = {
|
|
|
397
412
|
if (treeConfig) {
|
|
398
413
|
// 如果是树表格只允许导出数据源
|
|
399
414
|
var rest_1 = [];
|
|
415
|
+
var expandMaps_1 = new Map();
|
|
400
416
|
|
|
401
417
|
_xeUtils.default.eachTree(datas, function (item, rowIndex, items, path, parent, nodes) {
|
|
402
418
|
var row = item._row || item;
|
|
403
419
|
var parentRow = parent && parent._row ? parent._row : parent;
|
|
404
420
|
|
|
405
|
-
if (isAllExpand || !parentRow || $xetable.isTreeExpandByRow(parentRow)) {
|
|
421
|
+
if (isAllExpand || !parentRow || expandMaps_1.has(parentRow) && $xetable.isTreeExpandByRow(parentRow)) {
|
|
406
422
|
var hasRowChild = hasTreeChildren(row);
|
|
407
423
|
var item_3 = {
|
|
408
424
|
_row: row,
|
|
@@ -433,7 +449,7 @@ var tableExportHook = {
|
|
|
433
449
|
} else {
|
|
434
450
|
switch (column.type) {
|
|
435
451
|
case 'seq':
|
|
436
|
-
cellValue = getSeq(row, rowIndex, column, columnIndex);
|
|
452
|
+
cellValue = getSeq(row, rowIndex, column, columnIndex, path);
|
|
437
453
|
break;
|
|
438
454
|
|
|
439
455
|
case 'checkbox':
|
|
@@ -475,6 +491,7 @@ var tableExportHook = {
|
|
|
475
491
|
|
|
476
492
|
item_3[column.id] = _xeUtils.default.toValueString(cellValue);
|
|
477
493
|
});
|
|
494
|
+
expandMaps_1.set(row, 1);
|
|
478
495
|
rest_1.push(Object.assign(item_3, row));
|
|
479
496
|
}
|
|
480
497
|
}, treeOpts);
|
|
@@ -509,7 +526,7 @@ var tableExportHook = {
|
|
|
509
526
|
} else {
|
|
510
527
|
switch (column.type) {
|
|
511
528
|
case 'seq':
|
|
512
|
-
cellValue = getSeq(row, rowIndex, column, columnIndex);
|
|
529
|
+
cellValue = getSeq(row, rowIndex, column, columnIndex, []);
|
|
513
530
|
break;
|
|
514
531
|
|
|
515
532
|
case 'checkbox':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var htmlCellElem,_vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_util=require("../../table/src/util"),_utils=require("../../tools/utils"),_util2=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}var getConvertColumns=function t(e){var r=[];return e.forEach(function(e){e.childNodes&&e.childNodes.length?(r.push(e),r.push.apply(r,t(e.childNodes))):r.push(e)}),r},convertToRows=function(e){function o(t,e){var r;e&&(t._level=e._level+1,n<t._level&&(n=t._level)),t.childNodes&&t.childNodes.length?(r=0,t.childNodes.forEach(function(e){o(e,t),r+=e._colSpan}),t._colSpan=r):t._colSpan=1}var n=1;e.forEach(function(e){e._level=1,o(e)});for(var t=[],r=0;r<n;r++)t.push([]);return getConvertColumns(e).forEach(function(e){e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=n-e._level+1,t[e._level-1].push(e)}),t};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t){return(e.original?t.property:t.getTitle())||""}function getFooterData(e,t){var r=e.footerFilterMethod;return r?t.filter(function(e,t){return r({items:e,$rowIndex:t})}):t}function getCsvCellTypeLabel(e,t){if(t)switch(e.cellType){case"string":if(!isNaN(t))return"\t"+t;break;case"number":break;default:if(12<=t.length&&!isNaN(t))return"\t"+t}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?'"'+e.replace(/"/g,'""')+'"':e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return"#"+e+"@"+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,function(e){return _xeUtils.default.hasOwnProp(t,e)?t[e]:e})}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,function(e){return'"'.repeat(Math.ceil(e.length/2))})}function parseCsvAndTxt(e,t,o){var n,l,t=t.split(enterSymbol),a=[],i=[];return t.length&&(n={},l=Date.now(),t.forEach(function(e){var r;e&&(r={},e=(e=e.replace(/("")|(\n)/g,function(e,t){var r=getTxtCellKey(l);return n[r]=t?'"':"\n",r}).replace(/"(.*?)"/g,function(e,t){var r=getTxtCellKey(l);return n[r]=replaceTxtCell(t,n),r})).split(o),i.length?(e.forEach(function(e,t){t<i.length&&(r[i[t]]=getTxtCellValue(e.trim(),n))}),a.push(r)):i=e.map(function(e){return getTxtCellValue(e.trim(),n)}))})),{fields:i,rows:a}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var r=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body"),o=[],n=[];return r.length&&(!(t=getElementsByTagName(r[0],"table")).length||(r=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(r[0],"tr"),function(e){_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),function(e){n.push(e.textContent)})}),(t=getElementsByTagName(t[0],"tbody")).length&&_xeUtils.default.arrayEach(getElementsByTagName(t[0],"tr"),function(e){var r={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),function(e,t){n[t]&&(r[n[t]]=e.textContent||"")}),o.push(r)}))),{fields:n,rows:o}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet"),o=[],n=[];return t.length&&(!(t=getElementsByTagName(t[0],"Table")).length||(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),function(e){n.push(e.textContent)}),_xeUtils.default.arrayEach(t,function(e,t){var r;t&&(r={},e=getElementsByTagName(e,"Cell"),_xeUtils.default.arrayEach(e,function(e,t){n[t]&&(r[n[t]]=e.textContent)}),o.push(r))}))),{fields:n,rows:o}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,function(e){delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function checkImportData(e,t){var r=[];return e.forEach(function(e){e=e.property;e&&r.push(e)}),t.some(function(e){return-1<r.indexOf(e)})}var tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","openImport","openExport","openPrint"],tableExportHook={setupTable:function(w){function h(e,t,r,o){var n=a.value,l=n.seqMethod||r.seqMethod;return l?l({row:e,rowIndex:t,column:r,columnIndex:o}):n.startIndex+t+1}function m(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}function C(e,t,r){var o=r.editRender||r.cellRender,n=r.footerExportMethod;n||!o||!o.name||(l=_vXETable.VXETable.renderer.get(o.name))&&(n=l.footerExportMethod);var l=w.getVTColumnIndex(r);return n?n({$table:w,items:t,itemIndex:l,_columnIndex:l,column:r,options:e}):_xeUtils.default.toValueString(t[l])}function k(e,t,r){return e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?r:e,r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t,e=N.scrollXLoad,t=N.scrollYLoad,r=(e||t)&&!r?!0:r}function b(a){var i=a.remote,s=a.columns,c=a.colgroups,u=a.exportMethod,t=a.afterExportMethod;return new Promise(function(e){var t,r,o,n,l;i?(l={options:a,$table:w,$grid:T},e(u?u(l):l)):(o=(r=a).columns,n=r.dataFilterMethod,l=r.data,n&&(l=l.filter(function(e,t){return n({row:e,$rowIndex:t})})),t=d(r,o,l),e(w.preventEvent(null,"event.export",{options:a,columns:s,colgroups:c,datas:t},function(){return function(e,t){var r=e.filename,o=e.type;if(!e.download){var n=(0,_util2.getExportBlobByContent)(t,e);return Promise.resolve({type:o,content:t,blob:n})}(0,_util2.saveLocalFile)({filename:r,type:o,content:t}).then(function(){!1!==e.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.table.expSuccess"),status:"success"}))})}(a,function(e,t,r){if(t.length)switch(e.type){case"csv":return p(e,t,r);case"txt":return f(e,t,r);case"html":return g(e,t,r);case"xml":return E(e,t,r)}return""}(a,s,t))})))}).then(function(e){return clearColumnConvert(s),a.print||t&&t({status:!0,options:a,$table:w,$grid:T}),Object.assign({status:!0},e)}).catch(function(){clearColumnConvert(s),a.print||t&&t({status:!1,options:a,$table:w,$grid:T});return Promise.reject({status:!1})})}function n(a,i){var s=i.importMethod,t=i.afterImportMethod,e=(0,_utils.parseFile)(a),c=e.type,u=e.filename;return s||_xeUtils.default.includes(_vXETable.VXETable.config.importTypes,c)?new Promise(function(t,r){function e(e){t(e),_._importResolve=null,_._importReject=null}function o(e){r(e),_._importResolve=null,_._importReject=null}var n,l;_._importResolve=e,_._importReject=o,window.FileReader?(n=Object.assign({mode:"insert"},i,{type:c,filename:u})).remote?s?Promise.resolve(s({file:a,options:n,$table:w})).then(function(){e({status:!0})}).catch(function(){e({status:!0})}):e({status:!0}):(l=_.tableFullColumn,w.preventEvent(null,"event.import",{file:a,options:n,columns:l},function(){var e=new FileReader;e.onerror=function(){(0,_utils.errLog)("vxe.error.notType",[c]),o({status:!1})},e.onload=function(e){!function(e,t){var r=_.tableFullColumn,o=_._importResolve,n=_._importReject,l={fields:[],rows:[]};switch(t.type){case"csv":l=parseCsv(r,e);break;case"txt":l=parseTxt(r,e);break;case"html":l=parseHTML(r,e);break;case"xml":l=parseXML(r,e)}var a=l.fields,i=l.rows;checkImportData(r,a)?w.createData(i).then(function(e){e="insert"===t.mode?w.insert(e):w.reloadData(e);return!1!==t.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.table.impSuccess",[i.length]),status:"success"})),e.then(function(){o&&o({status:!0})})}):!1!==t.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.impFields"),status:"error"}),n&&n({status:!1}))}(e.target.result,n)},e.readAsText(a,"UTF-8")})):("development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notExp"),e({status:!0}))}).then(function(){t&&t({status:!0,options:i,$table:w})}).catch(function(e){return t&&t({status:!1,options:i,$table:w}),Promise.reject(e)}):(!1!==i.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function r(e,t){var r=D.treeConfig,o=D.showHeader,n=D.showFooter,l=N.initStore,a=N.mergeList,i=N.isGroup,s=N.footerTableData,c=N.exportStore,u=N.exportParams,d=_.collectColumn,p=r,f=x.value,h=w.getCheckboxRecords(),r=!!s.length,s=!p&&a.length,o=(a=Object.assign({message:!0,isHeader:o,isFooter:n},e)).types||_vXETable.VXETable.config.exportTypes,n=a.modes,m=f.checkMethod,e=d.slice(0),v=a.columns,f=o.map(function(e){return{value:e,label:"vxe.export.types."+e}}),d=n.map(function(e){return{value:e,label:"vxe.export.modes."+e}});return _xeUtils.default.eachTree(e,function(o,e,t,r,n){(o.children&&o.children.length||defaultFilterExportColumn(o))&&(o.checked=v?v.some(function(e){if((0,_util.isColumnInfo)(e))return o===e;if(_xeUtils.default.isString(e))return o.field===e;var t=e.id||e.colId,r=e.type,e=e.property||e.field;return t?o.id===t:e&&r?o.property===e&&o.type===r:e?o.property===e:r?o.type===r:void 0}):o.visible,o.halfChecked=!1,o.disabled=n&&n.disabled||!!m&&!m({column:o}))}),Object.assign(c,{columns:e,typeList:f,modeList:d,hasFooter:r,hasMerge:s,hasTree:p,isPrint:t,hasColgroup:i,visible:!0}),l.export||Object.assign(u,{mode:h.length?"selected":"current"},a),-1===n.indexOf(u.mode)&&(u.mode=n[0]),-1===o.indexOf(u.type)&&(u.type=o[0]),l.export=!0,(0,_vue.nextTick)()}var D=w.props,N=w.reactData,_=w.internalData,e=w.getComputeMaps(),j=e.computeTreeOpts,o=e.computePrintOpts,y=e.computeExportOpts,i=e.computeImportOpts,x=e.computeCustomOpts,a=e.computeSeqOpts,s=e.computeRadioOpts,v=e.computeCheckboxOpts,T=(0,_vue.inject)("$xegrid",null),d=function(c,l,e){var u=c.isAllExpand,t=D.treeConfig,d=s.value,p=v.value,r=j.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){var f=[];return _xeUtils.default.eachTree(e,function(e,a,t,r,o,n){var i,s=e._row||e,e=o&&o._row?o._row:o;!u&&e&&!w.isTreeExpandByRow(e)||(o=s,e=j.value,e=o[e.children]&&o[e.children].length,i={_row:s,_level:n.length-1,_hasChild:e,_expand:e&&w.isTreeExpandByRow(s)},l.forEach(function(e,t){var r,o="",n=e.editRender||e.cellRender,l=e.exportMethod;if(l||!n||!n.name||(n=_vXETable.VXETable.renderer.get(n.name))&&(l=n.exportMethod),l)o=l({$table:w,row:s,column:e,options:c});else switch(e.type){case"seq":o=h(s,a,e,t);break;case"checkbox":o=m(w.isCheckedByCheckboxRow(s)),i._checkboxLabel=p.labelField?_xeUtils.default.get(s,p.labelField):"",i._checkboxDisabled=p.checkMethod&&!p.checkMethod({row:s});break;case"radio":o=m(w.isCheckedByRadioRow(s)),i._radioLabel=d.labelField?_xeUtils.default.get(s,d.labelField):"",i._radioDisabled=d.checkMethod&&!d.checkMethod({row:s});break;default:c.original?o=(0,_util.getCellValue)(s,e):(o=w.getCellLabel(s,e),"html"===e.type?(htmlCellElem.innerHTML=o,o=htmlCellElem.innerText.trim()):(r=w.getCell(s,e))&&(o=r.innerText.trim()))}i[e.id]=_xeUtils.default.toValueString(o)}),f.push(Object.assign(i,s)))},r),f}return e.map(function(a,i){var s={_row:a};return l.forEach(function(e,t){var r,o="",n=e.editRender||e.cellRender,l=e.exportMethod;if(l||!n||!n.name||(n=_vXETable.VXETable.renderer.get(n.name))&&(l=n.exportMethod),l)o=l({$table:w,row:a,column:e,options:c});else switch(e.type){case"seq":o=h(a,i,e,t);break;case"checkbox":o=m(w.isCheckedByCheckboxRow(a)),s._checkboxLabel=p.labelField?_xeUtils.default.get(a,p.labelField):"",s._checkboxDisabled=p.checkMethod&&!p.checkMethod({row:a});break;case"radio":o=m(w.isCheckedByRadioRow(a)),s._radioLabel=d.labelField?_xeUtils.default.get(a,d.labelField):"",s._radioDisabled=d.checkMethod&&!d.checkMethod({row:a});break;default:c.original?o=(0,_util.getCellValue)(a,e):(o=w.getCellLabel(a,e),"html"===e.type?(htmlCellElem.innerHTML=o,o=htmlCellElem.innerText.trim()):(r=w.getCell(a,e))&&(o=r.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(o)}),s})},p=function(r,e,t){var o=csvBOM;return r.isHeader&&(o+=e.map(function(e){return toTxtCellLabel(getHeaderTitle(r,e))}).join(",")+enterSymbol),t.forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))}).join(",")+enterSymbol}),r.isFooter&&(t=N.footerTableData,getFooterData(r,t).forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(C(r,t,e))}).join(",")+enterSymbol})),o},f=function(r,e,t){var o="";return r.isHeader&&(o+=e.map(function(e){return toTxtCellLabel(getHeaderTitle(r,e))}).join("\t")+enterSymbol),t.forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(t[e.id])}).join("\t")+enterSymbol}),r.isFooter&&(t=N.footerTableData,getFooterData(r,t).forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(C(r,t,e))}).join(",")+enterSymbol})),o},g=function(i,e,t){var c=D.id,r=D.border,o=D.treeConfig,s=D.headerAlign,u=D.align,l=D.footerAlign,d=D.showOverflow,p=D.showHeaderOverflow,f=N.isAllSelected,n=N.isIndeterminate,h=N.mergeList,a=j.value,m=i.print,v=i.isHeader,x=i.isFooter,g=i.isColgroup,b=i.isMerge,_=i.colgroups,y=i.original,T="check-all",E=['<table class="'+["vxe-table","border--"+toTableBorder(r),m?"is--print":"",v?"is--header":""].filter(function(e){return e}).join(" ")+'" border="0" cellspacing="0" cellpadding="0">',"<colgroup>"+e.map(function(e){return'<col style="width:'+e.renderWidth+'px">'}).join("")+"</colgroup>"];return v&&(E.push("<thead>"),g&&!y?_.forEach(function(e){E.push("<tr>"+e.map(function(t){var e=t.headerAlign||t.align||s||u,r=k(t,"showHeaderOverflow",p)?["col--ellipsis"]:[],o=getHeaderTitle(i,t),n=0,l=0;_xeUtils.default.eachTree([t],function(e){e.childNodes&&t.childNodes.length||l++,n+=e.renderWidth},{children:"childNodes"});var a=n-l;return e&&r.push("col--"+e),"checkbox"===t.type?'<th class="'+r.join(" ")+'" colspan="'+t._colSpan+'" rowspan="'+t._rowSpan+'"><div '+(m?"":'style="width: '+a+'px"')+'><input type="checkbox" class="'+T+'" '+(f?"checked":"")+"><span>"+o+"</span></div></th>":'<th class="'+r.join(" ")+'" colspan="'+t._colSpan+'" rowspan="'+t._rowSpan+'" title="'+o+'"><div '+(m?"":'style="width: '+a+'px"')+"><span>"+(0,_utils.formatText)(o,!0)+"</span></div></th>"}).join("")+"</tr>")}):E.push("<tr>"+e.map(function(e){var t=e.headerAlign||e.align||s||u,r=k(e,"showHeaderOverflow",p)?["col--ellipsis"]:[],o=getHeaderTitle(i,e);return t&&r.push("col--"+t),"checkbox"===e.type?'<th class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" class="'+T+'" '+(f?"checked":"")+"><span>"+o+"</span></div></th>":'<th class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+"><span>"+(0,_utils.formatText)(o,!0)+"</span></div></th>"}).join("")+"</tr>"),E.push("</thead>")),t.length&&(E.push("<tbody>"),o?t.forEach(function(n){E.push("<tr>"+e.map(function(e){var t=e.align||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=n[e.id];if(t&&r.push("col--"+t),e.treeNode){t="";return n._hasChild&&(t='<i class="'+(n._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon")+'"></i>'),r.push("vxe-table--tree-node"),"radio"===e.type?'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_'+c+'" '+(n._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._radioLabel+"</span></div></div></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell"><input type="checkbox" '+(n._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._checkboxLabel+"</span></div></div></div></td>":'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell">'+o+"</div></div></div></td>"}return"radio"===e.type?'<td class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="radio" name="radio_'+c+'" '+(n._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._radioLabel+"</span></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" '+(n._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._checkboxLabel+"</span></div></td>":'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}):t.forEach(function(s){E.push("<tr>"+e.map(function(e){var t=e.align||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=s[e.id],n=1,l=1;if(b&&h.length){var a=w.getVTRowIndex(s._row),i=w.getVTColumnIndex(e),a=(0,_util.mergeBodyMethod)(h,a,i);if(a){i=a.rowspan,a=a.colspan;if(!i||!a)return"";1<i&&(n=i),1<a&&(l=a)}}return t&&r.push("col--"+t),"radio"===e.type?'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="radio" name="radio_'+c+'" '+(s._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+s._radioLabel+"</span></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" '+(s._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+s._checkboxLabel+"</span></div></td>":'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}),E.push("</tbody>")),x&&(x=N.footerTableData,(x=getFooterData(i,x)).length&&(E.push("<tfoot>"),x.forEach(function(n){E.push("<tr>"+e.map(function(e){var t=e.footerAlign||e.align||l||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=C(i,n,e);return t&&r.push("col--"+t),'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}),E.push("</tfoot>"))),E.push("</table>",!f&&n?'<script>(function(){var a=document.querySelector(".'+T+'");if(a){a.indeterminate=true}})()<\/script>':""),m?E.join(""):(0,_util2.createHtmlPage)(i,E.join(""))},E=function(r,e,t){var o=['<?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="'+r.sheetName+'">',"<Table>",e.map(function(e){return'<Column ss:Width="'+e.renderWidth+'"/>'}).join("")].join("");return r.isHeader&&(o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+getHeaderTitle(r,e)+"</Data></Cell>"}).join("")+"</Row>"),t.forEach(function(t){o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+t[e.id]+"</Data></Cell>"}).join("")+"</Row>"}),r.isFooter&&(t=N.footerTableData,getFooterData(r,t).forEach(function(t){o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+C(r,t,e)+"</Data></Cell>"}).join("")+"</Row>"})),o+"</Table></Worksheet></Workbook>"},l={exportData:function(e){var t=D.treeConfig,r=N.isGroup,o=N.tableGroupColumn,l=_.tableFullColumn,n=_.afterFullData,a=y.value,i=j.value,s=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,download:!0,type:"csv",mode:"current"},a,{print:!1},e),c=s.type,u=s.mode,d=s.columns,p=s.original,a=s.beforeExportMethod,e=[],d=d&&d.length?d:null,f=s.columnFilterMethod;d||f||(f=p?function(e){return e.column.property}:function(e){return defaultFilterExportColumn(e.column)});var e=d?_xeUtils.default.searchTree(_xeUtils.default.mapTree(d,function(e){var t,r,o,n;if(e)return(0,_util.isColumnInfo)(e)?t=e:_xeUtils.default.isString(e)?t=w.getColumnByField(e):(r=e.id||e.colId,o=e.type,n=e.property||e.field,r?t=w.getColumnById(r):n&&o?t=l.find(function(e){return e.property===n&&e.type===o}):n?t=w.getColumnByField(n):o&&(t=l.find(function(e){return e.type===o}))),t||{}},{children:"childNodes",mapChildren:"_children"}),function(e,t){return(0,_util.isColumnInfo)(e)&&(!f||f({column:e,$columnIndex:t}))},{children:"_children",mapChildren:"childNodes",original:!0}):_xeUtils.default.searchTree(r?o:l,function(e,t){return e.visible&&(!f||f({column:e,$columnIndex:t}))},{children:"children",mapChildren:"childNodes",original:!0}),h=[];if(_xeUtils.default.eachTree(e,function(e){e.children&&e.children.length||h.push(e)},{children:"childNodes"}),s.columns=h,s.colgroups=convertToRows(e),s.filename||(s.filename=_conf.default.i18n(s.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),s.sheetName||(s.sheetName=document.title),!s.exportMethod&&!_xeUtils.default.includes(_vXETable.VXETable.config.exportTypes,c)){"development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notType",[c]);return Promise.reject({status:!1})}if(s.print||a&&a({options:s,$table:w,$grid:T}),!s.data)if(s.data=n,"selected"===u){var m=w.getCheckboxRecords();-1<["html","pdf"].indexOf(c)&&t?s.data=_xeUtils.default.searchTree(w.getTableData().fullData,function(e){return-1<w.findRowIndexOf(m,e)},Object.assign({},i,{data:"_row"})):s.data=m}else if("all"===u&&("development"===process.env.NODE_ENV&&(T||(0,_utils.warnLog)("vxe.error.errProp",["all","mode=current,selected"])),T&&!s.remote)){var c=T.reactData,t=T.getComputeMaps().computeProxyOpts.value,i=t.beforeQueryAll,v=t.afterQueryAll,u=t.ajax,t=t.props,x=void 0===t?{}:t,u=(void 0===u?{}:u).queryAll;if("development"===process.env.NODE_ENV&&(u||(0,_utils.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"])),u){var g={$table:w,$grid:T,sort:c.sortData,filters:c.filterData,form:c.formData,target:u,options:s};return Promise.resolve((i||u)(g)).catch(function(e){return e}).then(function(e){return s.data=(x.list?_xeUtils.default.get(e,x.list):e)||[],v&&v(g),b(s)})}}return b(s)},importByFile:function(e,t){var r=Object.assign({},t),t=r.beforeImportMethod;return t&&t({options:r,$table:w}),n(e,r)},importData:function(e){var t=i.value,r=Object.assign({types:_vXETable.VXETable.config.importTypes},t,e),e=r.beforeImportMethod,o=r.afterImportMethod;return e&&e({options:r,$table:w}),(0,_util2.readLocalFile)(r).catch(function(e){return o&&o({status:!1,options:r,$table:w}),Promise.reject(e)}).then(function(e){e=e.file;return n(e,r)})},saveFile:function(e){return(0,_util2.saveLocalFile)(e)},readFile:function(e){return(0,_util2.readLocalFile)(e)},print:function(e){var t=o.value,r=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return r.sheetName||(r.sheetName=document.title),new Promise(function(e){r.content?e((0,_util2.handlePrint)(w,r,r.content)):e(l.exportData(r).then(function(e){e=e.content;return(0,_util2.handlePrint)(w,r,e)}))})},openImport:function(e){var t=D.treeConfig,r=D.importConfig,o=N.initStore,n=N.importStore,l=N.importParams,a=i.value,e=Object.assign({mode:"insert",message:!0,types:_vXETable.VXETable.config.importTypes},e,a),a=e.types;!t?(r||(0,_utils.errLog)("vxe.error.reqProp",["import-config"]),r=a.map(function(e){return{value:e,label:"vxe.export.types."+e}}),a=e.modes.map(function(e){return{value:e,label:"vxe.import.modes."+e}}),Object.assign(n,{file:null,type:"",filename:"",modeList:a,typeList:r,visible:!0}),Object.assign(l,e),o.import=!0):e.message&&_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.treeNotImp"),status:"error"})},openExport:function(e){var t=y.value;"development"===process.env.NODE_ENV&&(D.exportConfig||(0,_utils.errLog)("vxe.error.reqProp",["export-config"])),r(Object.assign({},t,e))},openPrint:function(e){var t=o.value;"development"===process.env.NODE_ENV&&(D.printConfig||(0,_utils.errLog)("vxe.error.reqProp",["print-config"])),r(Object.assign({},t,e),!0)}};return l},setupGrid:function(e){return e.extendTableMethods(tableExportMethodKeys)}},_default=tableExportHook;exports.default=_default;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var htmlCellElem,_vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_util=require("../../table/src/util"),_utils=require("../../tools/utils"),_util2=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}var getConvertColumns=function t(e){var r=[];return e.forEach(function(e){e.childNodes&&e.childNodes.length?(r.push(e),r.push.apply(r,t(e.childNodes))):r.push(e)}),r},convertToRows=function(e){function o(t,e){var r;e&&(t._level=e._level+1,n<t._level&&(n=t._level)),t.childNodes&&t.childNodes.length?(r=0,t.childNodes.forEach(function(e){o(e,t),r+=e._colSpan}),t._colSpan=r):t._colSpan=1}var n=1;e.forEach(function(e){e._level=1,o(e)});for(var t=[],r=0;r<n;r++)t.push([]);return getConvertColumns(e).forEach(function(e){e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=n-e._level+1,t[e._level-1].push(e)}),t};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t){return(e.original?t.property:t.getTitle())||""}function getFooterData(e,t){var r=e.footerFilterMethod;return r?t.filter(function(e,t){return r({items:e,$rowIndex:t})}):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return"\t"+t;switch(e.cellType){case"string":if(!isNaN(t))return"\t"+t;break;case"number":break;default:if(12<=t.length&&!isNaN(t))return"\t"+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?'"'+e.replace(/"/g,'""')+'"':e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return"#"+e+"@"+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,function(e){return _xeUtils.default.hasOwnProp(t,e)?t[e]:e})}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,function(e){return'"'.repeat(Math.ceil(e.length/2))})}function parseCsvAndTxt(e,t,o){var n,l,t=t.split(enterSymbol),a=[],i=[];return t.length&&(n={},l=Date.now(),t.forEach(function(e){var r;e&&(r={},e=(e=e.replace(/("")|(\n)/g,function(e,t){var r=getTxtCellKey(l);return n[r]=t?'"':"\n",r}).replace(/"(.*?)"/g,function(e,t){var r=getTxtCellKey(l);return n[r]=replaceTxtCell(t,n),r})).split(o),i.length?(e.forEach(function(e,t){t<i.length&&(r[i[t]]=getTxtCellValue(e.trim(),n))}),a.push(r)):i=e.map(function(e){return getTxtCellValue(e.trim(),n)}))})),{fields:i,rows:a}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var r=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body"),o=[],n=[];return r.length&&(!(t=getElementsByTagName(r[0],"table")).length||(r=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(r[0],"tr"),function(e){_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),function(e){n.push(e.textContent)})}),(t=getElementsByTagName(t[0],"tbody")).length&&_xeUtils.default.arrayEach(getElementsByTagName(t[0],"tr"),function(e){var r={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),function(e,t){n[t]&&(r[n[t]]=e.textContent||"")}),o.push(r)}))),{fields:n,rows:o}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet"),o=[],n=[];return t.length&&(!(t=getElementsByTagName(t[0],"Table")).length||(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),function(e){n.push(e.textContent)}),_xeUtils.default.arrayEach(t,function(e,t){var r;t&&(r={},e=getElementsByTagName(e,"Cell"),_xeUtils.default.arrayEach(e,function(e,t){n[t]&&(r[n[t]]=e.textContent)}),o.push(r))}))),{fields:n,rows:o}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,function(e){delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function checkImportData(e,t){var r=[];return e.forEach(function(e){e=e.property;e&&r.push(e)}),t.some(function(e){return-1<r.indexOf(e)})}var tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","openImport","openExport","openPrint"],tableExportHook={setupTable:function(w){function m(e,t,r,o,n){var l=s.value,a=l.seqMethod||r.seqMethod;return a?a({row:e,rowIndex:t,column:r,columnIndex:o}):n?n.map(function(e,t){return t%2==0?Number(e)+1:"."}).join(""):l.startIndex+t+1}function v(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}function C(e,t,r){var o=r.editRender||r.cellRender,n=r.footerExportMethod;n||!o||!o.name||(l=_vXETable.VXETable.renderer.get(o.name))&&(n=l.footerExportMethod);var l=w.getVTColumnIndex(r);return n?n({$table:w,items:t,itemIndex:l,_columnIndex:l,column:r,options:e}):_xeUtils.default.toValueString(t[l])}function k(e,t,r){return e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?r:e,r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t,e=j.scrollXLoad,t=j.scrollYLoad,r=(e||t)&&!r?!0:r}function b(a){var i=a.remote,s=a.columns,c=a.colgroups,u=a.exportMethod,t=a.afterExportMethod;return new Promise(function(e){var t,r,o,n,l;i?(l={options:a,$table:w,$grid:T},e(u?u(l):l)):(o=(r=a).columns,n=r.dataFilterMethod,l=r.data,n&&(l=l.filter(function(e,t){return n({row:e,$rowIndex:t})})),t=d(r,o,l),e(w.preventEvent(null,"event.export",{options:a,columns:s,colgroups:c,datas:t},function(){return function(e,t){var r=e.filename,o=e.type;if(!e.download){var n=(0,_util2.getExportBlobByContent)(t,e);return Promise.resolve({type:o,content:t,blob:n})}(0,_util2.saveLocalFile)({filename:r,type:o,content:t}).then(function(){!1!==e.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.table.expSuccess"),status:"success"}))})}(a,function(e,t,r){if(t.length)switch(e.type){case"csv":return p(e,t,r);case"txt":return f(e,t,r);case"html":return h(e,t,r);case"xml":return g(e,t,r)}return""}(a,s,t))})))}).then(function(e){return clearColumnConvert(s),a.print||t&&t({status:!0,options:a,$table:w,$grid:T}),Object.assign({status:!0},e)}).catch(function(){clearColumnConvert(s),a.print||t&&t({status:!1,options:a,$table:w,$grid:T});return Promise.reject({status:!1})})}function n(a,i){var s=i.importMethod,t=i.afterImportMethod,e=(0,_utils.parseFile)(a),c=e.type,u=e.filename;return s||_xeUtils.default.includes(_vXETable.VXETable.config.importTypes,c)?new Promise(function(t,r){function e(e){t(e),_._importResolve=null,_._importReject=null}function o(e){r(e),_._importResolve=null,_._importReject=null}var n,l;_._importResolve=e,_._importReject=o,window.FileReader?(n=Object.assign({mode:"insert"},i,{type:c,filename:u})).remote?s?Promise.resolve(s({file:a,options:n,$table:w})).then(function(){e({status:!0})}).catch(function(){e({status:!0})}):e({status:!0}):(l=_.tableFullColumn,w.preventEvent(null,"event.import",{file:a,options:n,columns:l},function(){var e=new FileReader;e.onerror=function(){(0,_utils.errLog)("vxe.error.notType",[c]),o({status:!1})},e.onload=function(e){!function(e,t){var r=_.tableFullColumn,o=_._importResolve,n=_._importReject,l={fields:[],rows:[]};switch(t.type){case"csv":l=parseCsv(r,e);break;case"txt":l=parseTxt(r,e);break;case"html":l=parseHTML(r,e);break;case"xml":l=parseXML(r,e)}var a=l.fields,i=l.rows;checkImportData(r,a)?w.createData(i).then(function(e){e="insert"===t.mode?w.insert(e):w.reloadData(e);return!1!==t.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.table.impSuccess",[i.length]),status:"success"})),e.then(function(){o&&o({status:!0})})}):!1!==t.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.impFields"),status:"error"}),n&&n({status:!1}))}(e.target.result,n)},e.readAsText(a,"UTF-8")})):("development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notExp"),e({status:!0}))}).then(function(){t&&t({status:!0,options:i,$table:w})}).catch(function(e){return t&&t({status:!1,options:i,$table:w}),Promise.reject(e)}):(!1!==i.message&&("development"===process.env.NODE_ENV&&(_vXETable.VXETable.modal||(0,_utils.errLog)("vxe.error.reqModule",["Modal"])),_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function r(e,t){var r=N.treeConfig,o=N.showHeader,n=N.showFooter,l=j.initStore,a=j.mergeList,i=j.isGroup,s=j.footerTableData,c=j.exportStore,u=j.exportParams,d=_.collectColumn,p=r,f=x.value,h=w.getCheckboxRecords(),r=!!s.length,s=!p&&a.length,o=(a=Object.assign({message:!0,isHeader:o,isFooter:n},e)).types||_vXETable.VXETable.config.exportTypes,n=a.modes,m=f.checkMethod,e=d.slice(0),v=a.columns,f=o.map(function(e){return{value:e,label:"vxe.export.types."+e}}),d=n.map(function(e){return{value:e,label:"vxe.export.modes."+e}});return _xeUtils.default.eachTree(e,function(o,e,t,r,n){(o.children&&o.children.length||defaultFilterExportColumn(o))&&(o.checked=v?v.some(function(e){if((0,_util.isColumnInfo)(e))return o===e;if(_xeUtils.default.isString(e))return o.field===e;var t=e.id||e.colId,r=e.type,e=e.property||e.field;return t?o.id===t:e&&r?o.property===e&&o.type===r:e?o.property===e:r?o.type===r:void 0}):o.visible,o.halfChecked=!1,o.disabled=n&&n.disabled||!!m&&!m({column:o}))}),Object.assign(c,{columns:e,typeList:f,modeList:d,hasFooter:r,hasMerge:s,hasTree:p,isPrint:t,hasColgroup:i,visible:!0}),l.export||Object.assign(u,{mode:h.length?"selected":"current"},a),-1===n.indexOf(u.mode)&&(u.mode=n[0]),-1===o.indexOf(u.type)&&(u.type=o[0]),l.export=!0,(0,_vue.nextTick)()}var N=w.props,j=w.reactData,_=w.internalData,e=w.getComputeMaps(),D=e.computeTreeOpts,o=e.computePrintOpts,y=e.computeExportOpts,i=e.computeImportOpts,x=e.computeCustomOpts,s=e.computeSeqOpts,a=e.computeRadioOpts,c=e.computeCheckboxOpts,T=(0,_vue.inject)("$xegrid",null),d=function(u,n,e){var l=u.isAllExpand,t=N.treeConfig,d=a.value,p=c.value,r=D.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){var f=[],h=new Map;return _xeUtils.default.eachTree(e,function(e,a,t,i,r,o){var s,c=e._row||e,e=r&&r._row?r._row:r;(l||!e||h.has(e)&&w.isTreeExpandByRow(e))&&(r=c,e=D.value,e=r[e.children]&&r[e.children].length,s={_row:c,_level:o.length-1,_hasChild:e,_expand:e&&w.isTreeExpandByRow(c)},n.forEach(function(e,t){var r,o="",n=e.editRender||e.cellRender,l=e.exportMethod;if(l||!n||!n.name||(n=_vXETable.VXETable.renderer.get(n.name))&&(l=n.exportMethod),l)o=l({$table:w,row:c,column:e,options:u});else switch(e.type){case"seq":o=m(c,a,e,t,i);break;case"checkbox":o=v(w.isCheckedByCheckboxRow(c)),s._checkboxLabel=p.labelField?_xeUtils.default.get(c,p.labelField):"",s._checkboxDisabled=p.checkMethod&&!p.checkMethod({row:c});break;case"radio":o=v(w.isCheckedByRadioRow(c)),s._radioLabel=d.labelField?_xeUtils.default.get(c,d.labelField):"",s._radioDisabled=d.checkMethod&&!d.checkMethod({row:c});break;default:u.original?o=(0,_util.getCellValue)(c,e):(o=w.getCellLabel(c,e),"html"===e.type?(htmlCellElem.innerHTML=o,o=htmlCellElem.innerText.trim()):(r=w.getCell(c,e))&&(o=r.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(o)}),h.set(c,1),f.push(Object.assign(s,c)))},r),f}return e.map(function(a,i){var s={_row:a};return n.forEach(function(e,t){var r,o="",n=e.editRender||e.cellRender,l=e.exportMethod;if(l||!n||!n.name||(n=_vXETable.VXETable.renderer.get(n.name))&&(l=n.exportMethod),l)o=l({$table:w,row:a,column:e,options:u});else switch(e.type){case"seq":o=m(a,i,e,t,[]);break;case"checkbox":o=v(w.isCheckedByCheckboxRow(a)),s._checkboxLabel=p.labelField?_xeUtils.default.get(a,p.labelField):"",s._checkboxDisabled=p.checkMethod&&!p.checkMethod({row:a});break;case"radio":o=v(w.isCheckedByRadioRow(a)),s._radioLabel=d.labelField?_xeUtils.default.get(a,d.labelField):"",s._radioDisabled=d.checkMethod&&!d.checkMethod({row:a});break;default:u.original?o=(0,_util.getCellValue)(a,e):(o=w.getCellLabel(a,e),"html"===e.type?(htmlCellElem.innerHTML=o,o=htmlCellElem.innerText.trim()):(r=w.getCell(a,e))&&(o=r.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(o)}),s})},p=function(r,e,t){var o=csvBOM;return r.isHeader&&(o+=e.map(function(e){return toTxtCellLabel(getHeaderTitle(r,e))}).join(",")+enterSymbol),t.forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))}).join(",")+enterSymbol}),r.isFooter&&(t=j.footerTableData,getFooterData(r,t).forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(C(r,t,e))}).join(",")+enterSymbol})),o},f=function(r,e,t){var o="";return r.isHeader&&(o+=e.map(function(e){return toTxtCellLabel(getHeaderTitle(r,e))}).join("\t")+enterSymbol),t.forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(t[e.id])}).join("\t")+enterSymbol}),r.isFooter&&(t=j.footerTableData,getFooterData(r,t).forEach(function(t){o+=e.map(function(e){return toTxtCellLabel(C(r,t,e))}).join(",")+enterSymbol})),o},h=function(i,e,t){var c=N.id,r=N.border,o=N.treeConfig,s=N.headerAlign,u=N.align,l=N.footerAlign,d=N.showOverflow,p=N.showHeaderOverflow,f=j.isAllSelected,n=j.isIndeterminate,h=j.mergeList,a=D.value,m=i.print,v=i.isHeader,x=i.isFooter,g=i.isColgroup,b=i.isMerge,_=i.colgroups,y=i.original,T="check-all",E=['<table class="'+["vxe-table","border--"+toTableBorder(r),m?"is--print":"",v?"is--header":""].filter(function(e){return e}).join(" ")+'" border="0" cellspacing="0" cellpadding="0">',"<colgroup>"+e.map(function(e){return'<col style="width:'+e.renderWidth+'px">'}).join("")+"</colgroup>"];return v&&(E.push("<thead>"),g&&!y?_.forEach(function(e){E.push("<tr>"+e.map(function(t){var e=t.headerAlign||t.align||s||u,r=k(t,"showHeaderOverflow",p)?["col--ellipsis"]:[],o=getHeaderTitle(i,t),n=0,l=0;_xeUtils.default.eachTree([t],function(e){e.childNodes&&t.childNodes.length||l++,n+=e.renderWidth},{children:"childNodes"});var a=n-l;return e&&r.push("col--"+e),"checkbox"===t.type?'<th class="'+r.join(" ")+'" colspan="'+t._colSpan+'" rowspan="'+t._rowSpan+'"><div '+(m?"":'style="width: '+a+'px"')+'><input type="checkbox" class="'+T+'" '+(f?"checked":"")+"><span>"+o+"</span></div></th>":'<th class="'+r.join(" ")+'" colspan="'+t._colSpan+'" rowspan="'+t._rowSpan+'" title="'+o+'"><div '+(m?"":'style="width: '+a+'px"')+"><span>"+(0,_utils.formatText)(o,!0)+"</span></div></th>"}).join("")+"</tr>")}):E.push("<tr>"+e.map(function(e){var t=e.headerAlign||e.align||s||u,r=k(e,"showHeaderOverflow",p)?["col--ellipsis"]:[],o=getHeaderTitle(i,e);return t&&r.push("col--"+t),"checkbox"===e.type?'<th class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" class="'+T+'" '+(f?"checked":"")+"><span>"+o+"</span></div></th>":'<th class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+"><span>"+(0,_utils.formatText)(o,!0)+"</span></div></th>"}).join("")+"</tr>"),E.push("</thead>")),t.length&&(E.push("<tbody>"),o?t.forEach(function(n){E.push("<tr>"+e.map(function(e){var t=e.align||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=n[e.id];if(t&&r.push("col--"+t),e.treeNode){t="";return n._hasChild&&(t='<i class="'+(n._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon")+'"></i>'),r.push("vxe-table--tree-node"),"radio"===e.type?'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_'+c+'" '+(n._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._radioLabel+"</span></div></div></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell"><input type="checkbox" '+(n._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._checkboxLabel+"</span></div></div></div></td>":'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><div class="vxe-table--tree-node-wrapper" style="padding-left: '+n._level*a.indent+'px"><div class="vxe-table--tree-icon-wrapper">'+t+'</div><div class="vxe-table--tree-cell">'+o+"</div></div></div></td>"}return"radio"===e.type?'<td class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="radio" name="radio_'+c+'" '+(n._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._radioLabel+"</span></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" '+(n._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+n._checkboxLabel+"</span></div></td>":'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}):t.forEach(function(s){E.push("<tr>"+e.map(function(e){var t=e.align||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=s[e.id],n=1,l=1;if(b&&h.length){var a=w.getVTRowIndex(s._row),i=w.getVTColumnIndex(e),a=(0,_util.mergeBodyMethod)(h,a,i);if(a){i=a.rowspan,a=a.colspan;if(!i||!a)return"";1<i&&(n=i),1<a&&(l=a)}}return t&&r.push("col--"+t),"radio"===e.type?'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="radio" name="radio_'+c+'" '+(s._radioDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+s._radioLabel+"</span></div></td>":"checkbox"===e.type?'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+'><input type="checkbox" '+(s._checkboxDisabled?"disabled ":"")+(getBooleanValue(o)?"checked":"")+"><span>"+s._checkboxLabel+"</span></div></td>":'<td class="'+r.join(" ")+'" rowspan="'+n+'" colspan="'+l+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}),E.push("</tbody>")),x&&(x=j.footerTableData,(x=getFooterData(i,x)).length&&(E.push("<tfoot>"),x.forEach(function(n){E.push("<tr>"+e.map(function(e){var t=e.footerAlign||e.align||l||u,r=k(e,"showOverflow",d)?["col--ellipsis"]:[],o=C(i,n,e);return t&&r.push("col--"+t),'<td class="'+r.join(" ")+'" title="'+o+'"><div '+(m?"":'style="width: '+e.renderWidth+'px"')+">"+(0,_utils.formatText)(o,!0)+"</div></td>"}).join("")+"</tr>")}),E.push("</tfoot>"))),E.push("</table>",!f&&n?'<script>(function(){var a=document.querySelector(".'+T+'");if(a){a.indeterminate=true}})()<\/script>':""),m?E.join(""):(0,_util2.createHtmlPage)(i,E.join(""))},g=function(r,e,t){var o=['<?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="'+r.sheetName+'">',"<Table>",e.map(function(e){return'<Column ss:Width="'+e.renderWidth+'"/>'}).join("")].join("");return r.isHeader&&(o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+getHeaderTitle(r,e)+"</Data></Cell>"}).join("")+"</Row>"),t.forEach(function(t){o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+t[e.id]+"</Data></Cell>"}).join("")+"</Row>"}),r.isFooter&&(t=j.footerTableData,getFooterData(r,t).forEach(function(t){o+="<Row>"+e.map(function(e){return'<Cell><Data ss:Type="String">'+C(r,t,e)+"</Data></Cell>"}).join("")+"</Row>"})),o+"</Table></Worksheet></Workbook>"},l={exportData:function(e){var t=N.treeConfig,r=j.isGroup,o=j.tableGroupColumn,l=_.tableFullColumn,n=_.afterFullData,a=y.value,i=D.value,s=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,download:!0,type:"csv",mode:"current"},a,{print:!1},e),c=s.type,u=s.mode,d=s.columns,p=s.original,a=s.beforeExportMethod,e=[],d=d&&d.length?d:null,f=s.columnFilterMethod;d||f||(f=p?function(e){return e.column.property}:function(e){return defaultFilterExportColumn(e.column)});var e=d?_xeUtils.default.searchTree(_xeUtils.default.mapTree(d,function(e){var t,r,o,n;if(e)return(0,_util.isColumnInfo)(e)?t=e:_xeUtils.default.isString(e)?t=w.getColumnByField(e):(r=e.id||e.colId,o=e.type,n=e.property||e.field,r?t=w.getColumnById(r):n&&o?t=l.find(function(e){return e.property===n&&e.type===o}):n?t=w.getColumnByField(n):o&&(t=l.find(function(e){return e.type===o}))),t||{}},{children:"childNodes",mapChildren:"_children"}),function(e,t){return(0,_util.isColumnInfo)(e)&&(!f||f({column:e,$columnIndex:t}))},{children:"_children",mapChildren:"childNodes",original:!0}):_xeUtils.default.searchTree(r?o:l,function(e,t){return e.visible&&(!f||f({column:e,$columnIndex:t}))},{children:"children",mapChildren:"childNodes",original:!0}),h=[];if(_xeUtils.default.eachTree(e,function(e){e.children&&e.children.length||h.push(e)},{children:"childNodes"}),s.columns=h,s.colgroups=convertToRows(e),s.filename||(s.filename=_conf.default.i18n(s.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),s.sheetName||(s.sheetName=document.title),!s.exportMethod&&!_xeUtils.default.includes(_vXETable.VXETable.config.exportTypes,c)){"development"===process.env.NODE_ENV&&(0,_utils.errLog)("vxe.error.notType",[c]);return Promise.reject({status:!1})}if(s.print||a&&a({options:s,$table:w,$grid:T}),!s.data)if(s.data=n,"selected"===u){var m=w.getCheckboxRecords();-1<["html","pdf"].indexOf(c)&&t?s.data=_xeUtils.default.searchTree(w.getTableData().fullData,function(e){return-1<w.findRowIndexOf(m,e)},Object.assign({},i,{data:"_row"})):s.data=m}else if("all"===u&&("development"===process.env.NODE_ENV&&(T||(0,_utils.warnLog)("vxe.error.errProp",["all","mode=current,selected"])),T&&!s.remote)){var c=T.reactData,t=T.getComputeMaps().computeProxyOpts.value,i=t.beforeQueryAll,v=t.afterQueryAll,u=t.ajax,t=t.props,x=void 0===t?{}:t,u=(void 0===u?{}:u).queryAll;if("development"===process.env.NODE_ENV&&(u||(0,_utils.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"])),u){var g={$table:w,$grid:T,sort:c.sortData,filters:c.filterData,form:c.formData,target:u,options:s};return Promise.resolve((i||u)(g)).catch(function(e){return e}).then(function(e){return s.data=(x.list?_xeUtils.default.get(e,x.list):e)||[],v&&v(g),b(s)})}}return b(s)},importByFile:function(e,t){var r=Object.assign({},t),t=r.beforeImportMethod;return t&&t({options:r,$table:w}),n(e,r)},importData:function(e){var t=i.value,r=Object.assign({types:_vXETable.VXETable.config.importTypes},t,e),e=r.beforeImportMethod,o=r.afterImportMethod;return e&&e({options:r,$table:w}),(0,_util2.readLocalFile)(r).catch(function(e){return o&&o({status:!1,options:r,$table:w}),Promise.reject(e)}).then(function(e){e=e.file;return n(e,r)})},saveFile:function(e){return(0,_util2.saveLocalFile)(e)},readFile:function(e){return(0,_util2.readLocalFile)(e)},print:function(e){var t=o.value,r=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return r.sheetName||(r.sheetName=document.title),new Promise(function(e){r.content?e((0,_util2.handlePrint)(w,r,r.content)):e(l.exportData(r).then(function(e){e=e.content;return(0,_util2.handlePrint)(w,r,e)}))})},openImport:function(e){var t=N.treeConfig,r=N.importConfig,o=j.initStore,n=j.importStore,l=j.importParams,a=i.value,e=Object.assign({mode:"insert",message:!0,types:_vXETable.VXETable.config.importTypes},e,a),a=e.types;!t?(r||(0,_utils.errLog)("vxe.error.reqProp",["import-config"]),r=a.map(function(e){return{value:e,label:"vxe.export.types."+e}}),a=e.modes.map(function(e){return{value:e,label:"vxe.import.modes."+e}}),Object.assign(n,{file:null,type:"",filename:"",modeList:a,typeList:r,visible:!0}),Object.assign(l,e),o.import=!0):e.message&&_vXETable.VXETable.modal.message({content:_conf.default.i18n("vxe.error.treeNotImp"),status:"error"})},openExport:function(e){var t=y.value;"development"===process.env.NODE_ENV&&(N.exportConfig||(0,_utils.errLog)("vxe.error.reqProp",["export-config"])),r(Object.assign({},t,e))},openPrint:function(e){var t=o.value;"development"===process.env.NODE_ENV&&(N.printConfig||(0,_utils.errLog)("vxe.error.reqProp",["print-config"])),r(Object.assign({},t,e),!0)}};return l},setupGrid:function(e){return e.extendTableMethods(tableExportMethodKeys)}},_default=tableExportHook;exports.default=_default;
|
package/lib/form/src/form.js
CHANGED
|
@@ -563,7 +563,7 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
563
563
|
callback();
|
|
564
564
|
}
|
|
565
565
|
}).catch(function () {
|
|
566
|
-
return new Promise(function (resolve
|
|
566
|
+
return new Promise(function (resolve) {
|
|
567
567
|
showErrTime = window.setTimeout(function () {
|
|
568
568
|
itemList.forEach(function (item) {
|
|
569
569
|
if (item.errRule) {
|
|
@@ -582,7 +582,7 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
582
582
|
callback(validRest);
|
|
583
583
|
resolve();
|
|
584
584
|
} else {
|
|
585
|
-
|
|
585
|
+
resolve(validRest);
|
|
586
586
|
}
|
|
587
587
|
});
|
|
588
588
|
});
|
package/lib/form/src/form.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_dom=require("../../tools/dom"),_util=require("./util"),_render=require("./render"),_size=require("../../hooks/size");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},Rule=function(){function e(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}return Object.defineProperty(e.prototype,"content",{get:function(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this.content},enumerable:!1,configurable:!0}),e}(),validErrorRuleValue=function(e,t){var i=e.type,n=e.min,r=e.max,l=e.pattern,e="number"===i,i=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||(!_xeUtils.default.eqNull(n)&&i<_xeUtils.default.toNumber(n)||(!_xeUtils.default.eqNull(r)&&i>_xeUtils.default.toNumber(r)||!(!l||(_xeUtils.default.isRegExp(l)?l:new RegExp(l)).test(t))))};function getResetValue(e,t){return t=_xeUtils.default.isArray(e)?[]:t}var _default2=(0,_vue.defineComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:function(){return _conf.default.form.size||_conf.default.size}},span:{type:[String,Number],default:function(){return _conf.default.form.span}},align:{type:String,default:function(){return _conf.default.form.align}},titleAlign:{type:String,default:function(){return _conf.default.form.titleAlign}},titleWidth:{type:[String,Number],default:function(){return _conf.default.form.titleWidth}},titleColon:{type:Boolean,default:function(){return _conf.default.form.titleColon}},titleAsterisk:{type:Boolean,default:function(){return _conf.default.form.titleAsterisk}},titleOverflow:{type:[Boolean,String],default:null},className:[String,Function],items:Array,rules:Object,preventSubmit:{type:Boolean,default:function(){return _conf.default.form.preventSubmit}},validConfig:Object,tooltipConfig:Object,customLayout:{type:Boolean,default:function(){return _conf.default.form.customLayout}}},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup:function(V,e){function t(){var e=b.value;return setTimeout(function(){a.tooltipActive||h.closeTooltip()},e.leaveDelay),!1}function i(e){return e.length&&("development"===process.env.NODE_ENV&&e.forEach(function(e){e.slots&&_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||v[e]||(0,_utils.errLog)("vxe.error.notSlot",[e])})}),p.staticItems=_xeUtils.default.mapTree(e,function(e){return(0,_util.createItem)(A,e)},{children:"children"})),(0,_vue.nextTick)()}function n(){return p.collapseAll}function r(){var e=!n();return p.collapseAll=e,l("update:collapseStatus",e),(0,_vue.nextTick)()}function c(e){e.preventDefault(),R(),h.dispatchEvent("reset",{data:V.data},e)}function f(t){t.preventDefault(),V.preventSubmit||N(T()).then(function(){h.dispatchEvent("submit",{data:V.data},t)}).catch(function(e){h.dispatchEvent("submit-invalid",{data:V.data,errMap:e},t)})}function o(){var e=a.tooltipStore,t=g.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t&&t.close()),(0,_vue.nextTick)()}function q(e){var S=V.data,w=V.rules,N=V.titleOverflow,O=p.collapseAll,C=x.value;return e.map(function(e,t){var i=e.slots,n=e.title,r=e.visible,l=e.folding,o=e.visibleMethod,u=e.field,a=e.collapseNode,s=e.itemRender,c=e.showError,f=e.errRule,d=e.className,v=e.titleOverflow,m=e.children,p=(0,_utils.isEnableConf)(s)?_vXETable.VXETable.renderer.get(s.name):null,_=i?i.default:null,g=i?i.title:null,h=e.span||V.span,x=e.align||V.align,b=e.titleAlign||V.titleAlign,y=e.titleWidth||V.titleWidth,E=_xeUtils.default.isUndefined(v)||_xeUtils.default.isNull(v)?N:v,T="title"===E,i=!0===E||"tooltip"===E,v=T||i||"ellipsis"===E,E=o,U={data:S,property:u,item:e,$form:A};if(!1===r)return(0,_vue.createCommentVNode)();o=!1;if(!w||(r=w[u])&&(o=r.some(function(e){return e.required})),m&&0<m.length){var R=q(e.children);return R.length?(0,_vue.h)("div",{class:["vxe-form--gather vxe-row",e.id,h?"vxe-col--"+h+" is--span":"",d?_xeUtils.default.isFunction(d)?d(U):d:""]},R):(0,_vue.createCommentVNode)()}!E&&p&&p.itemVisibleMethod&&(E=p.itemVisibleMethod);R=[];_?R=j(_,U):p&&p.renderItemContent?R=p.renderItemContent(s,U):u&&(R=[""+_xeUtils.default.get(S,u)]),a&&R.push((0,_vue.h)("div",{class:"vxe-form--item-trigger-node",onClick:M},[(0,_vue.h)("span",{class:"vxe-form--item-trigger-text"},O?_conf.default.i18n("vxe.form.unfolding"):_conf.default.i18n("vxe.form.folding")),(0,_vue.h)("i",{class:["vxe-form--item-trigger-icon",O?_conf.default.icon.FORM_FOLDING:_conf.default.icon.FORM_UNFOLDING]})])),f&&C.showMessage&&R.push((0,_vue.h)("div",{class:"vxe-form--item-valid",style:f.maxWidth?{width:f.maxWidth+"px"}:null},f.content));i=i?{onMouseenter:function(e){I(e,U)},onMouseleave:D}:{};return(0,_vue.h)("div",{class:["vxe-form--item",e.id,h?"vxe-col--"+h+" is--span":"",d?_xeUtils.default.isFunction(d)?d(U):d:"",{"is--title":n,"is--required":o,"is--hidden":l&&O,"is--active":!E||E(U),"is--error":c}],key:t},[(0,_vue.h)("div",{class:"vxe-form--item-inner"},[n||g?(0,_vue.h)("div",__assign({class:["vxe-form--item-title",b?"align--"+b:null,{"is--ellipsis":v}],style:y?{width:isNaN(y)?y:y+"px"}:null,title:T?(0,_utils.getFuncText)(n):null},i),(0,_render.renderTitle)(A,e)):null,(0,_vue.h)("div",{class:["vxe-form--item-content",x?"align--"+x:null]},R)])])})}var s,d=_vXETable.VXETable.tooltip,v=e.slots,l=e.emit,u=_xeUtils.default.uniqueId(),m=(0,_size.useSize)(V),p=(0,_vue.reactive)({collapseAll:V.collapseStatus,staticItems:[],formItems:[]}),a=(0,_vue.reactive)({tooltipTimeout:null,tooltipActive:!1,tooltipStore:{item:null,visible:!1}}),_=(0,_vue.ref)(),g=(0,_vue.ref)(),h={},x=(0,_vue.computed)(function(){return Object.assign({},_conf.default.form.validConfig,V.validConfig)}),b=(0,_vue.ref)(),b=(0,_vue.computed)(function(){var e=Object.assign({leaveDelay:300},_conf.default.form.tooltipConfig,V.tooltipConfig);return e.enterable&&(e.leaveMethod=t),e}),y={refElem:_},E={computeSize:m,computeValidOpts:x,computeTooltipOpts:b},A={xID:u,props:V,context:e,reactData:p,getRefMaps:function(){return y},getComputeMaps:function(){return E}},j=function(e,t){return e&&(_xeUtils.default.isString(e)&&(e=v[e]||null),_xeUtils.default.isFunction(e))?e(t):[]},T=function(){var t=[];return _xeUtils.default.eachTree(p.formItems,function(e){t.push(e)},{children:"children"}),t},M=function(e){r();var t=n();h.dispatchEvent("toggle-collapse",{status:t,collapse:t,data:V.data},e),h.dispatchEvent("collapse",{status:t,collapse:t,data:V.data},e)},U=function(t){var e,i=T();return t?(e=i.find(function(e){return e.field===t}))&&(e.showError=!1):i.forEach(function(e){e.showError=!1}),(0,_vue.nextTick)()},R=function(){var r=V.data,e=T();return r&&e.forEach(function(e){var t=e.field,i=e.resetValue,n=e.itemRender;(0,_utils.isEnableConf)(n)&&((n=_vXETable.VXETable.renderer.get(n.name))&&n.itemResetMethod?n.itemResetMethod({data:r,property:t,item:e,$form:A}):t&&_xeUtils.default.set(r,t,null===i?getResetValue(_xeUtils.default.get(r,t),void 0):i))}),U()},S=function(e){var o=T(),u=_.value;e.some(function(t,e){var i=o.find(function(e){return e.field===t});if(i&&(0,_utils.isEnableConf)(i.itemRender)){var n=i.itemRender,r=_vXETable.VXETable.renderer.get(n.name),l=null;if(e||(0,_dom.scrollToView)(u.querySelector("."+i.id)),l=!(l=n.autofocus?u.querySelector("."+i.id+" "+n.autofocus):l)&&r&&r.autofocus?u.querySelector("."+i.id+" "+r.autofocus):l)return l.focus(),!0}})},w=function(l,o,e){var u,a,s=V.data,t=V.rules,c=[],f=[];return o&&t&&((u=_xeUtils.default.get(t,o))&&(a=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(s,o):e,u.forEach(function(t){var e,i=t.type,n=t.trigger,r=t.required;"all"!==l&&n&&l!==n||(_xeUtils.default.isFunction(t.validator)?(e=t.validator({itemValue:a,rule:t,rules:u,data:s,property:o,$form:A}))&&(_xeUtils.default.isError(e)?c.push(new Rule({type:"custom",trigger:n,content:e.message,rule:new Rule(t)})):e.catch&&f.push(e.catch(function(e){c.push(new Rule({type:"custom",trigger:n,content:e?e.message:t.content||t.message,rule:new Rule(t)}))}))):(i="array"===i?!_xeUtils.default.isArray(a)||!a.length:(0,_utils.eqEmptyValue)(a),(r?i||validErrorRuleValue(t,a):!i&&validErrorRuleValue(t,a))&&c.push(new Rule(t))))}))),Promise.all(f).then(function(){if(c.length){var e={rules:c,rule:c[0]};return Promise.reject(e)}})},N=function(i,e,n){var r=V.data,t=V.rules,l=x.value,o={},u=[],a=[];return U(),clearTimeout(s),r&&t?(i.forEach(function(i){var n=i.field;n&&a.push(w(e||"all",n).then(function(){i.errRule=null}).catch(function(e){var t=e.rule,e={rule:t,rules:e.rules,data:r,property:n,$form:A};return o[n]||(o[n]=[]),o[n].push(e),u.push(n),i.errRule=t,Promise.reject(e)}))}),Promise.all(a).then(function(){n&&n()}).catch(function(){return new Promise(function(e,t){s=window.setTimeout(function(){i.forEach(function(e){e.errRule&&(e.showError=!0)})},20),!1!==l.autoPos&&(0,_vue.nextTick)(function(){S(u)}),n?(n(o),e()):t(o)})})):(n&&n(),Promise.resolve())},I=function(e,t){var i=t.item,n=a.tooltipStore,r=g.value,l=e.currentTarget.children[0],t=(l.textContent||"").trim(),e=l.scrollWidth>l.clientWidth;clearTimeout(a.tooltipTimeout),a.tooltipActive=!0,o(),t&&e&&(Object.assign(n,{item:i,visible:!0}),r&&r.open(l,t))},D=function(){var e=b.value;a.tooltipActive=!1,e.enterable?a.tooltipTimeout=setTimeout(function(){var e=g.value;e&&!e.reactData.isHover&&o()},e.leaveDelay):o()},h={dispatchEvent:function(e,t,i){l(e,Object.assign({$form:A,$event:i},t))},reset:R,validate:function(e){return N(T(),"",e)},validateField:function(t,e){return N(T().filter(function(e){return e.field===t}),"",e)},clearValidate:U,updateStatus:function(e,t){var i=e.property;i&&w("change",i,t).then(function(){U(i)}).catch(function(e){var t=e.rule,e=T().find(function(e){return e.field===i});e&&(e.showError=!0,e.errRule=t)})},toggleCollapse:r,getItems:T,closeTooltip:o};Object.assign(A,h,{callSlot:j,toggleCollapseEvent:M,triggerHeaderHelpEvent:I,handleTargetLeaveEvent:D}),(0,_vue.watch)(function(){return p.staticItems},function(e){p.formItems=e}),(0,_vue.watch)(function(){return V.items},function(e){i(e||[])}),(0,_vue.watch)(function(){return V.collapseStatus},function(e){p.collapseAll=!!e}),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){"development"===process.env.NODE_ENV&&V.customLayout&&V.items&&(0,_utils.errLog)("vxe.error.errConflicts",["custom-layout","items"]),i(V.items||[])})});return A.renderVN=function(){var e=V.loading,t=V.className,i=V.data,n=V.titleColon,r=V.titleAsterisk,l=V.customLayout,o=p.formItems,u=m.value,a=b.value,s=v.default;return(0,_vue.h)("form",{ref:_,class:["vxe-form",t?_xeUtils.default.isFunction(t)?t({items:o,data:i,$form:A}):t:"",((t={})["size--"+u]=u,t["is--colon"]=n,t["is--asterisk"]=r,t["is--loading"]=e,t)],onSubmit:f,onReset:c},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-row"},l?s?s({}):[]:q(o)),(0,_vue.h)("div",{class:"vxe-form-slots",ref:"hideItem"},!l&&s?s({}):[]),(0,_vue.h)("div",{class:["vxe-loading",{"is--visible":e}]},[(0,_vue.h)("div",{class:"vxe-loading--spinner"})]),d?(0,_vue.h)((0,_vue.resolveComponent)("vxe-tooltip"),__assign({ref:g},a)):(0,_vue.createCommentVNode)()])},(0,_vue.provide)("$xeform",A),A},render:function(){return this.renderVN()}});exports.default=_default2;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_dom=require("../../tools/dom"),_util=require("./util"),_render=require("./render"),_size=require("../../hooks/size");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,i=1,n=arguments.length;i<n;i++)for(var r in t=arguments[i])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},Rule=function(){function e(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}return Object.defineProperty(e.prototype,"content",{get:function(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this.content},enumerable:!1,configurable:!0}),e}(),validErrorRuleValue=function(e,t){var i=e.type,n=e.min,r=e.max,l=e.pattern,e="number"===i,i=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||(!_xeUtils.default.eqNull(n)&&i<_xeUtils.default.toNumber(n)||(!_xeUtils.default.eqNull(r)&&i>_xeUtils.default.toNumber(r)||!(!l||(_xeUtils.default.isRegExp(l)?l:new RegExp(l)).test(t))))};function getResetValue(e,t){return t=_xeUtils.default.isArray(e)?[]:t}var _default2=(0,_vue.defineComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:function(){return _conf.default.form.size||_conf.default.size}},span:{type:[String,Number],default:function(){return _conf.default.form.span}},align:{type:String,default:function(){return _conf.default.form.align}},titleAlign:{type:String,default:function(){return _conf.default.form.titleAlign}},titleWidth:{type:[String,Number],default:function(){return _conf.default.form.titleWidth}},titleColon:{type:Boolean,default:function(){return _conf.default.form.titleColon}},titleAsterisk:{type:Boolean,default:function(){return _conf.default.form.titleAsterisk}},titleOverflow:{type:[Boolean,String],default:null},className:[String,Function],items:Array,rules:Object,preventSubmit:{type:Boolean,default:function(){return _conf.default.form.preventSubmit}},validConfig:Object,tooltipConfig:Object,customLayout:{type:Boolean,default:function(){return _conf.default.form.customLayout}}},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup:function(V,e){function t(){var e=b.value;return setTimeout(function(){a.tooltipActive||h.closeTooltip()},e.leaveDelay),!1}function i(e){return e.length&&("development"===process.env.NODE_ENV&&e.forEach(function(e){e.slots&&_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||v[e]||(0,_utils.errLog)("vxe.error.notSlot",[e])})}),p.staticItems=_xeUtils.default.mapTree(e,function(e){return(0,_util.createItem)(A,e)},{children:"children"})),(0,_vue.nextTick)()}function n(){return p.collapseAll}function r(){var e=!n();return p.collapseAll=e,l("update:collapseStatus",e),(0,_vue.nextTick)()}function c(e){e.preventDefault(),R(),h.dispatchEvent("reset",{data:V.data},e)}function f(t){t.preventDefault(),V.preventSubmit||N(T()).then(function(){h.dispatchEvent("submit",{data:V.data},t)}).catch(function(e){h.dispatchEvent("submit-invalid",{data:V.data,errMap:e},t)})}function o(){var e=a.tooltipStore,t=g.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t&&t.close()),(0,_vue.nextTick)()}function q(e){var S=V.data,w=V.rules,N=V.titleOverflow,O=p.collapseAll,C=x.value;return e.map(function(e,t){var i=e.slots,n=e.title,r=e.visible,l=e.folding,o=e.visibleMethod,u=e.field,a=e.collapseNode,s=e.itemRender,c=e.showError,f=e.errRule,d=e.className,v=e.titleOverflow,m=e.children,p=(0,_utils.isEnableConf)(s)?_vXETable.VXETable.renderer.get(s.name):null,_=i?i.default:null,g=i?i.title:null,h=e.span||V.span,x=e.align||V.align,b=e.titleAlign||V.titleAlign,y=e.titleWidth||V.titleWidth,E=_xeUtils.default.isUndefined(v)||_xeUtils.default.isNull(v)?N:v,T="title"===E,i=!0===E||"tooltip"===E,v=T||i||"ellipsis"===E,E=o,U={data:S,property:u,item:e,$form:A};if(!1===r)return(0,_vue.createCommentVNode)();o=!1;if(!w||(r=w[u])&&(o=r.some(function(e){return e.required})),m&&0<m.length){var R=q(e.children);return R.length?(0,_vue.h)("div",{class:["vxe-form--gather vxe-row",e.id,h?"vxe-col--"+h+" is--span":"",d?_xeUtils.default.isFunction(d)?d(U):d:""]},R):(0,_vue.createCommentVNode)()}!E&&p&&p.itemVisibleMethod&&(E=p.itemVisibleMethod);R=[];_?R=j(_,U):p&&p.renderItemContent?R=p.renderItemContent(s,U):u&&(R=[""+_xeUtils.default.get(S,u)]),a&&R.push((0,_vue.h)("div",{class:"vxe-form--item-trigger-node",onClick:M},[(0,_vue.h)("span",{class:"vxe-form--item-trigger-text"},O?_conf.default.i18n("vxe.form.unfolding"):_conf.default.i18n("vxe.form.folding")),(0,_vue.h)("i",{class:["vxe-form--item-trigger-icon",O?_conf.default.icon.FORM_FOLDING:_conf.default.icon.FORM_UNFOLDING]})])),f&&C.showMessage&&R.push((0,_vue.h)("div",{class:"vxe-form--item-valid",style:f.maxWidth?{width:f.maxWidth+"px"}:null},f.content));i=i?{onMouseenter:function(e){I(e,U)},onMouseleave:D}:{};return(0,_vue.h)("div",{class:["vxe-form--item",e.id,h?"vxe-col--"+h+" is--span":"",d?_xeUtils.default.isFunction(d)?d(U):d:"",{"is--title":n,"is--required":o,"is--hidden":l&&O,"is--active":!E||E(U),"is--error":c}],key:t},[(0,_vue.h)("div",{class:"vxe-form--item-inner"},[n||g?(0,_vue.h)("div",__assign({class:["vxe-form--item-title",b?"align--"+b:null,{"is--ellipsis":v}],style:y?{width:isNaN(y)?y:y+"px"}:null,title:T?(0,_utils.getFuncText)(n):null},i),(0,_render.renderTitle)(A,e)):null,(0,_vue.h)("div",{class:["vxe-form--item-content",x?"align--"+x:null]},R)])])})}var s,d=_vXETable.VXETable.tooltip,v=e.slots,l=e.emit,u=_xeUtils.default.uniqueId(),m=(0,_size.useSize)(V),p=(0,_vue.reactive)({collapseAll:V.collapseStatus,staticItems:[],formItems:[]}),a=(0,_vue.reactive)({tooltipTimeout:null,tooltipActive:!1,tooltipStore:{item:null,visible:!1}}),_=(0,_vue.ref)(),g=(0,_vue.ref)(),h={},x=(0,_vue.computed)(function(){return Object.assign({},_conf.default.form.validConfig,V.validConfig)}),b=(0,_vue.ref)(),b=(0,_vue.computed)(function(){var e=Object.assign({leaveDelay:300},_conf.default.form.tooltipConfig,V.tooltipConfig);return e.enterable&&(e.leaveMethod=t),e}),y={refElem:_},E={computeSize:m,computeValidOpts:x,computeTooltipOpts:b},A={xID:u,props:V,context:e,reactData:p,getRefMaps:function(){return y},getComputeMaps:function(){return E}},j=function(e,t){return e&&(_xeUtils.default.isString(e)&&(e=v[e]||null),_xeUtils.default.isFunction(e))?e(t):[]},T=function(){var t=[];return _xeUtils.default.eachTree(p.formItems,function(e){t.push(e)},{children:"children"}),t},M=function(e){r();var t=n();h.dispatchEvent("toggle-collapse",{status:t,collapse:t,data:V.data},e),h.dispatchEvent("collapse",{status:t,collapse:t,data:V.data},e)},U=function(t){var e,i=T();return t?(e=i.find(function(e){return e.field===t}))&&(e.showError=!1):i.forEach(function(e){e.showError=!1}),(0,_vue.nextTick)()},R=function(){var r=V.data,e=T();return r&&e.forEach(function(e){var t=e.field,i=e.resetValue,n=e.itemRender;(0,_utils.isEnableConf)(n)&&((n=_vXETable.VXETable.renderer.get(n.name))&&n.itemResetMethod?n.itemResetMethod({data:r,property:t,item:e,$form:A}):t&&_xeUtils.default.set(r,t,null===i?getResetValue(_xeUtils.default.get(r,t),void 0):i))}),U()},S=function(e){var o=T(),u=_.value;e.some(function(t,e){var i=o.find(function(e){return e.field===t});if(i&&(0,_utils.isEnableConf)(i.itemRender)){var n=i.itemRender,r=_vXETable.VXETable.renderer.get(n.name),l=null;if(e||(0,_dom.scrollToView)(u.querySelector("."+i.id)),l=!(l=n.autofocus?u.querySelector("."+i.id+" "+n.autofocus):l)&&r&&r.autofocus?u.querySelector("."+i.id+" "+r.autofocus):l)return l.focus(),!0}})},w=function(l,o,e){var u,a,s=V.data,t=V.rules,c=[],f=[];return o&&t&&((u=_xeUtils.default.get(t,o))&&(a=_xeUtils.default.isUndefined(e)?_xeUtils.default.get(s,o):e,u.forEach(function(t){var e,i=t.type,n=t.trigger,r=t.required;"all"!==l&&n&&l!==n||(_xeUtils.default.isFunction(t.validator)?(e=t.validator({itemValue:a,rule:t,rules:u,data:s,property:o,$form:A}))&&(_xeUtils.default.isError(e)?c.push(new Rule({type:"custom",trigger:n,content:e.message,rule:new Rule(t)})):e.catch&&f.push(e.catch(function(e){c.push(new Rule({type:"custom",trigger:n,content:e?e.message:t.content||t.message,rule:new Rule(t)}))}))):(i="array"===i?!_xeUtils.default.isArray(a)||!a.length:(0,_utils.eqEmptyValue)(a),(r?i||validErrorRuleValue(t,a):!i&&validErrorRuleValue(t,a))&&c.push(new Rule(t))))}))),Promise.all(f).then(function(){if(c.length){var e={rules:c,rule:c[0]};return Promise.reject(e)}})},N=function(t,e,i){var r=V.data,n=V.rules,l=x.value,o={},u=[],a=[];return U(),clearTimeout(s),r&&n?(t.forEach(function(i){var n=i.field;n&&a.push(w(e||"all",n).then(function(){i.errRule=null}).catch(function(e){var t=e.rule,e={rule:t,rules:e.rules,data:r,property:n,$form:A};return o[n]||(o[n]=[]),o[n].push(e),u.push(n),i.errRule=t,Promise.reject(e)}))}),Promise.all(a).then(function(){i&&i()}).catch(function(){return new Promise(function(e){s=window.setTimeout(function(){t.forEach(function(e){e.errRule&&(e.showError=!0)})},20),!1!==l.autoPos&&(0,_vue.nextTick)(function(){S(u)}),i?(i(o),e()):e(o)})})):(i&&i(),Promise.resolve())},I=function(e,t){var i=t.item,n=a.tooltipStore,r=g.value,l=e.currentTarget.children[0],t=(l.textContent||"").trim(),e=l.scrollWidth>l.clientWidth;clearTimeout(a.tooltipTimeout),a.tooltipActive=!0,o(),t&&e&&(Object.assign(n,{item:i,visible:!0}),r&&r.open(l,t))},D=function(){var e=b.value;a.tooltipActive=!1,e.enterable?a.tooltipTimeout=setTimeout(function(){var e=g.value;e&&!e.reactData.isHover&&o()},e.leaveDelay):o()},h={dispatchEvent:function(e,t,i){l(e,Object.assign({$form:A,$event:i},t))},reset:R,validate:function(e){return N(T(),"",e)},validateField:function(t,e){return N(T().filter(function(e){return e.field===t}),"",e)},clearValidate:U,updateStatus:function(e,t){var i=e.property;i&&w("change",i,t).then(function(){U(i)}).catch(function(e){var t=e.rule,e=T().find(function(e){return e.field===i});e&&(e.showError=!0,e.errRule=t)})},toggleCollapse:r,getItems:T,closeTooltip:o};Object.assign(A,h,{callSlot:j,toggleCollapseEvent:M,triggerHeaderHelpEvent:I,handleTargetLeaveEvent:D}),(0,_vue.watch)(function(){return p.staticItems},function(e){p.formItems=e}),(0,_vue.watch)(function(){return V.items},function(e){i(e||[])}),(0,_vue.watch)(function(){return V.collapseStatus},function(e){p.collapseAll=!!e}),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){"development"===process.env.NODE_ENV&&V.customLayout&&V.items&&(0,_utils.errLog)("vxe.error.errConflicts",["custom-layout","items"]),i(V.items||[])})});return A.renderVN=function(){var e=V.loading,t=V.className,i=V.data,n=V.titleColon,r=V.titleAsterisk,l=V.customLayout,o=p.formItems,u=m.value,a=b.value,s=v.default;return(0,_vue.h)("form",{ref:_,class:["vxe-form",t?_xeUtils.default.isFunction(t)?t({items:o,data:i,$form:A}):t:"",((t={})["size--"+u]=u,t["is--colon"]=n,t["is--asterisk"]=r,t["is--loading"]=e,t)],onSubmit:f,onReset:c},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-row"},l?s?s({}):[]:q(o)),(0,_vue.h)("div",{class:"vxe-form-slots",ref:"hideItem"},!l&&s?s({}):[]),(0,_vue.h)("div",{class:["vxe-loading",{"is--visible":e}]},[(0,_vue.h)("div",{class:"vxe-loading--spinner"})]),d?(0,_vue.h)((0,_vue.resolveComponent)("vxe-tooltip"),__assign({ref:g},a)):(0,_vue.createCommentVNode)()])},(0,_vue.provide)("$xeform",A),A},render:function(){return this.renderVN()}});exports.default=_default2;
|
package/lib/grid/src/grid.js
CHANGED
|
@@ -1133,7 +1133,12 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
1133
1133
|
} // 只校验新增和修改的数据
|
|
1134
1134
|
|
|
1135
1135
|
|
|
1136
|
-
return $xetable.validate(body_1.insertRecords.concat(updateRecords_1)).then(function () {
|
|
1136
|
+
return $xetable.validate(body_1.insertRecords.concat(updateRecords_1)).then(function (errMap) {
|
|
1137
|
+
if (errMap) {
|
|
1138
|
+
// 如果校验不通过
|
|
1139
|
+
return;
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1137
1142
|
if (body_1.insertRecords.length || removeRecords_2.length || updateRecords_1.length || body_1.pendingRecords.length) {
|
|
1138
1143
|
reactData.tableLoading = true;
|
|
1139
1144
|
return Promise.resolve((beforeSave || ajaxMethods_2).apply(void 0, applyArgs_3)).then(function (rest) {
|
|
@@ -1193,8 +1198,6 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
1193
1198
|
});
|
|
1194
1199
|
}
|
|
1195
1200
|
}
|
|
1196
|
-
}).catch(function (errMap) {
|
|
1197
|
-
return errMap;
|
|
1198
1201
|
});
|
|
1199
1202
|
} else {
|
|
1200
1203
|
if (process.env.NODE_ENV === 'development') {
|