easy3wui 1.5.64-beta.6 → 1.5.64-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Easy3wEditBigTable/index.js +125 -86
- package/package.json +1 -1
|
@@ -36,16 +36,10 @@ var _reactDataGrid2 = _interopRequireDefault(_reactDataGrid);
|
|
|
36
36
|
|
|
37
37
|
require('react-data-grid/lib/styles.css');
|
|
38
38
|
|
|
39
|
-
var _reactDataGridAddons = require('react-data-grid-addons');
|
|
40
|
-
|
|
41
39
|
var _xlsx = require('xlsx');
|
|
42
40
|
|
|
43
41
|
var _xlsx2 = _interopRequireDefault(_xlsx);
|
|
44
42
|
|
|
45
|
-
var _numeral = require('numeral');
|
|
46
|
-
|
|
47
|
-
var _numeral2 = _interopRequireDefault(_numeral);
|
|
48
|
-
|
|
49
43
|
var _classnames = require('classnames');
|
|
50
44
|
|
|
51
45
|
var _classnames2 = _interopRequireDefault(_classnames);
|
|
@@ -56,8 +50,6 @@ var _Easy3wEditBigTableForm2 = _interopRequireDefault(_Easy3wEditBigTableForm);
|
|
|
56
50
|
|
|
57
51
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|
58
52
|
|
|
59
|
-
var Selectors = _reactDataGridAddons.Data.Selectors; /* eslint-disable no-alert */
|
|
60
|
-
|
|
61
53
|
var Easy3wEditBigTable = function (_Component) {
|
|
62
54
|
(0, _inherits3['default'])(Easy3wEditBigTable, _Component);
|
|
63
55
|
|
|
@@ -70,18 +62,48 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
70
62
|
_this[pureComponentName] = that;
|
|
71
63
|
};
|
|
72
64
|
|
|
65
|
+
_this.touchCreateColumns = function (columns) {
|
|
66
|
+
var _this$props = _this.props,
|
|
67
|
+
_this$props$autoAddNu = _this$props.autoAddNumber,
|
|
68
|
+
autoAddNumber = _this$props$autoAddNu === undefined ? true : _this$props$autoAddNu,
|
|
69
|
+
selectedFlag = _this$props.selectedFlag;
|
|
70
|
+
|
|
71
|
+
if (autoAddNumber) {
|
|
72
|
+
columns.unshift({
|
|
73
|
+
name: '序号',
|
|
74
|
+
key: 'index',
|
|
75
|
+
renderCell: function renderCell(_ref) {
|
|
76
|
+
var rowIdx = _ref.rowIdx;
|
|
77
|
+
return rowIdx + 1;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
if (selectedFlag) {
|
|
82
|
+
columns.unshift(_reactDataGrid.SelectColumn);
|
|
83
|
+
}
|
|
84
|
+
return columns;
|
|
85
|
+
};
|
|
86
|
+
|
|
73
87
|
_this.touchDP = function () {
|
|
74
|
-
var
|
|
88
|
+
var dataList = _this.props.dataList;
|
|
75
89
|
|
|
76
|
-
var arrOriginalRows = [].concat(
|
|
90
|
+
var arrOriginalRows = [].concat(dataList); // 原始数据
|
|
77
91
|
var _this$state = _this.state,
|
|
78
92
|
objFilters = _this$state.objFilters,
|
|
79
93
|
sortColumns = _this$state.sortColumns;
|
|
80
94
|
|
|
81
95
|
var arrRows = [].concat(arrOriginalRows);
|
|
96
|
+
var numFlag = false;
|
|
82
97
|
if (objFilters.enabled) {
|
|
83
98
|
// 启用筛选条件
|
|
84
99
|
arrRows = _this.touchFilter(objFilters, arrOriginalRows);
|
|
100
|
+
numFlag = true;
|
|
101
|
+
}
|
|
102
|
+
if (!numFlag) {
|
|
103
|
+
arrRows.map(function (item, index) {
|
|
104
|
+
item.autoAddNumber_idx_edit = index;
|
|
105
|
+
return item;
|
|
106
|
+
});
|
|
85
107
|
}
|
|
86
108
|
if (sortColumns.length > 0) {
|
|
87
109
|
// 有排序字段
|
|
@@ -94,7 +116,8 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
94
116
|
var objFiltersNew = (0, _extends5['default'])({}, objFilters);
|
|
95
117
|
delete objFiltersNew.enabled;
|
|
96
118
|
var arrFilterKeys = Object.keys(objFiltersNew);
|
|
97
|
-
return arrRows.filter(function (r) {
|
|
119
|
+
return arrRows.filter(function (r, index) {
|
|
120
|
+
r.autoAddNumber_idx_edit = index;
|
|
98
121
|
var filterFlag = true;
|
|
99
122
|
arrFilterKeys.map(function (key) {
|
|
100
123
|
filterFlag = filterFlag && (objFilters[key] || objFilters[key] === 0 ? r[key] && r[key].includes(objFilters[key]) : true);
|
|
@@ -115,7 +138,7 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
115
138
|
}
|
|
116
139
|
return true;
|
|
117
140
|
});
|
|
118
|
-
|
|
141
|
+
var arr = arrRows.sort(function (a, b) {
|
|
119
142
|
// const comparator = getComparator(objSortColumns.columnKey);
|
|
120
143
|
var compResult = 0; // 比较结果
|
|
121
144
|
switch (dataType) {
|
|
@@ -163,6 +186,7 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
163
186
|
return compResult;
|
|
164
187
|
}
|
|
165
188
|
});
|
|
189
|
+
return arr;
|
|
166
190
|
};
|
|
167
191
|
|
|
168
192
|
_this.touchcountTotal = function () {
|
|
@@ -307,18 +331,18 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
307
331
|
};
|
|
308
332
|
|
|
309
333
|
_this.touchAddRow = function () {
|
|
310
|
-
var
|
|
334
|
+
var _ref2;
|
|
311
335
|
|
|
312
336
|
var rowKey = _this.props.rowKey;
|
|
313
|
-
var
|
|
337
|
+
var dataList = _this.props.dataList;
|
|
314
338
|
|
|
315
|
-
_this.saveEditBigTableModelZJ('touchAddRow', [].concat(
|
|
339
|
+
_this.saveEditBigTableModelZJ('touchAddRow', [].concat(dataList, [(_ref2 = {}, _ref2[rowKey] = 'add_' + (dataList.length - 1) + '_' + new Date().getTime(), _ref2)]));
|
|
316
340
|
};
|
|
317
341
|
|
|
318
342
|
_this.touchCopyRow = function () {
|
|
319
|
-
var _this$
|
|
320
|
-
|
|
321
|
-
rowKey = _this$
|
|
343
|
+
var _this$props2 = _this.props,
|
|
344
|
+
dataList = _this$props2.dataList,
|
|
345
|
+
rowKey = _this$props2.rowKey;
|
|
322
346
|
var arrValuesInfo = _this.state.arrValuesInfo;
|
|
323
347
|
|
|
324
348
|
if (arrValuesInfo.length) {
|
|
@@ -330,7 +354,7 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
330
354
|
arrNew.push(newRow);
|
|
331
355
|
return item;
|
|
332
356
|
});
|
|
333
|
-
_this.saveEditBigTableModelZJ('touchCopyRow', [].concat(
|
|
357
|
+
_this.saveEditBigTableModelZJ('touchCopyRow', [].concat(dataList, arrNew));
|
|
334
358
|
} else {
|
|
335
359
|
_modal2['default'].error({
|
|
336
360
|
title: '错误',
|
|
@@ -340,18 +364,18 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
340
364
|
};
|
|
341
365
|
|
|
342
366
|
_this.deleteRow = function () {
|
|
343
|
-
var
|
|
367
|
+
var dataList = _this.props.dataList;
|
|
344
368
|
var _this$state2 = _this.state,
|
|
345
369
|
arrValues = _this$state2.arrValues,
|
|
346
370
|
arrValuesInfo = _this$state2.arrValuesInfo;
|
|
347
|
-
var _this$
|
|
348
|
-
objToolbarProps = _this$
|
|
349
|
-
rowKey = _this$
|
|
371
|
+
var _this$props3 = _this.props,
|
|
372
|
+
objToolbarProps = _this$props3.objToolbarProps,
|
|
373
|
+
rowKey = _this$props3.rowKey;
|
|
350
374
|
var deleteRowInterface = objToolbarProps.deleteRowInterface;
|
|
351
375
|
|
|
352
376
|
if (arrValues.length) {
|
|
353
377
|
var arrRows = []; // 删除数据后的新数组
|
|
354
|
-
|
|
378
|
+
dataList.map(function (row) {
|
|
355
379
|
var flag = true;
|
|
356
380
|
arrValues.map(function (key) {
|
|
357
381
|
if (key === row[rowKey]) {
|
|
@@ -380,12 +404,12 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
380
404
|
}
|
|
381
405
|
};
|
|
382
406
|
|
|
383
|
-
_this.
|
|
384
|
-
var _this$
|
|
385
|
-
columns = _this$
|
|
386
|
-
arrColumnsKey = _this$
|
|
387
|
-
objSheet = _this$
|
|
388
|
-
arrColInfo = _this$
|
|
407
|
+
_this.touchGetHearder = function () {
|
|
408
|
+
var _this$props4 = _this.props,
|
|
409
|
+
columns = _this$props4.columns,
|
|
410
|
+
arrColumnsKey = _this$props4.arrColumnsKey,
|
|
411
|
+
objSheet = _this$props4.objSheet,
|
|
412
|
+
arrColInfo = _this$props4.arrColInfo;
|
|
389
413
|
|
|
390
414
|
|
|
391
415
|
var arrColumnsKeyNew = ['id'];
|
|
@@ -426,17 +450,17 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
426
450
|
var file = e.target.files[0];
|
|
427
451
|
var reader = new FileReader();
|
|
428
452
|
reader.onload = function (event) {
|
|
429
|
-
var _this$
|
|
430
|
-
arrColumnsKey = _this$
|
|
453
|
+
var _this$touchGetHearder = _this.touchGetHearder(),
|
|
454
|
+
arrColumnsKey = _this$touchGetHearder.arrColumnsKey;
|
|
431
455
|
|
|
432
456
|
var data = event.target.result;
|
|
433
457
|
var workbook = _xlsx2['default'].read(data, { type: 'binary' });
|
|
434
458
|
var firstSheetName = workbook.SheetNames[0];
|
|
435
459
|
var worksheet = workbook.Sheets[firstSheetName];
|
|
436
|
-
var
|
|
437
|
-
|
|
438
|
-
// const rowsView = this.getRows(
|
|
439
|
-
_this.saveEditBigTableModelZJ('touchImport',
|
|
460
|
+
var dataList = _xlsx2['default'].utils.sheet_to_json(worksheet, { header: arrColumnsKey });
|
|
461
|
+
dataList.shift(); // 去掉表头
|
|
462
|
+
// const rowsView = this.getRows(dataList); // 表格显示数据
|
|
463
|
+
_this.saveEditBigTableModelZJ('touchImport', dataList);
|
|
440
464
|
};
|
|
441
465
|
reader.readAsBinaryString(file);
|
|
442
466
|
};
|
|
@@ -444,9 +468,9 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
444
468
|
};
|
|
445
469
|
|
|
446
470
|
_this.touchExport = function () {
|
|
447
|
-
var _this$
|
|
448
|
-
objSheet = _this$
|
|
449
|
-
arrColInfo = _this$
|
|
471
|
+
var _this$touchGetHearder2 = _this.touchGetHearder(),
|
|
472
|
+
objSheet = _this$touchGetHearder2.objSheet,
|
|
473
|
+
arrColInfo = _this$touchGetHearder2.arrColInfo;
|
|
450
474
|
|
|
451
475
|
var rowsView = [].concat(_this.arrRows);
|
|
452
476
|
// 计算 rowsView 中所有对象字段最多的长度
|
|
@@ -487,61 +511,46 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
487
511
|
};
|
|
488
512
|
|
|
489
513
|
_this.confirmCallbackBatchEditBigTable = function (objFormData, objColumn) {
|
|
490
|
-
var _this$
|
|
491
|
-
|
|
492
|
-
touchAutoCompute = _this$
|
|
493
|
-
rowKey = _this$
|
|
514
|
+
var _this$props5 = _this.props,
|
|
515
|
+
dataList = _this$props5.dataList,
|
|
516
|
+
touchAutoCompute = _this$props5.touchAutoCompute,
|
|
517
|
+
rowKey = _this$props5.rowKey;
|
|
494
518
|
|
|
495
519
|
var rowsView = [].concat(_this.arrRows);
|
|
496
|
-
rowsView.map(function (row
|
|
497
|
-
|
|
520
|
+
rowsView.map(function (row) {
|
|
521
|
+
// const rowId = row[rowKey];
|
|
522
|
+
var autoAddNumberIdxEdit = row.autoAddNumber_idx_edit;
|
|
498
523
|
// const { [rowKey]: } = row;
|
|
524
|
+
|
|
499
525
|
var updated = (0, _extends5['default'])({}, objFormData);
|
|
500
526
|
if (touchAutoCompute && typeof touchAutoCompute === 'function') {
|
|
501
527
|
// 数据变更-自动计算行数据
|
|
502
|
-
// action 改变的动作类型,'CELL_UPDATE' 单元格更新,'CELL_BATCH_CHANGE' 单元格批量更新 CELL_UPDATE, COLUMN_FILL, COPY_PASTE, CELL_DRAG
|
|
503
|
-
// cellKey 改变的单元格的key
|
|
504
|
-
// fromRow 改变的单元格的原来行序号
|
|
505
|
-
// fromRowData 改变的单元格的原来行数据
|
|
506
|
-
// fromRowId 改变的单元格的原来行id(行唯一标识)
|
|
507
|
-
// rowIds 所有被选中的行id
|
|
508
|
-
// toRow 改变的单元格的新行序号
|
|
509
|
-
// toRowId 改变的单元格的新行id
|
|
510
|
-
// updated 改变的单元格的新值
|
|
511
528
|
updated = touchAutoCompute({
|
|
512
529
|
cellKey: objColumn.key,
|
|
513
|
-
fromRow: index,
|
|
514
|
-
toRow: index,
|
|
515
|
-
fromRowId: row[rowKey],
|
|
516
|
-
toRowId: row[rowKey],
|
|
517
|
-
rowIds: [row[rowKey]],
|
|
518
530
|
updated: updated,
|
|
519
|
-
action: 'CELL_BATCH_CHANGE',
|
|
520
|
-
fromRowData: row,
|
|
521
531
|
toRowData: row
|
|
522
532
|
});
|
|
523
533
|
}
|
|
524
|
-
|
|
525
|
-
rowsView[index] = (0, _extends5['default'])({}, rowsView[index], updated);
|
|
534
|
+
dataList[autoAddNumberIdxEdit] = (0, _extends5['default'])({}, dataList[autoAddNumberIdxEdit], updated);
|
|
526
535
|
return row;
|
|
527
536
|
});
|
|
528
|
-
_this.saveEditBigTableModelZJ('confirmCallbackBatchEditBigTable',
|
|
537
|
+
_this.saveEditBigTableModelZJ('confirmCallbackBatchEditBigTable', dataList);
|
|
529
538
|
};
|
|
530
539
|
|
|
531
|
-
_this.saveEditBigTableModelZJ = function (operationType,
|
|
540
|
+
_this.saveEditBigTableModelZJ = function (operationType, dataList) {
|
|
532
541
|
var saveEditBigTableModel = _this.props.saveEditBigTableModel;
|
|
533
542
|
|
|
534
543
|
if (saveEditBigTableModel && typeof saveEditBigTableModel === 'function') {
|
|
535
544
|
// 数据变更-回调函数
|
|
536
|
-
saveEditBigTableModel(operationType,
|
|
545
|
+
saveEditBigTableModel(operationType, dataList);
|
|
537
546
|
}
|
|
538
547
|
};
|
|
539
548
|
|
|
540
549
|
_this.saveEditBigTableZJ = function () {
|
|
541
550
|
var objToolbarProps = _this.props.objToolbarProps;
|
|
542
551
|
|
|
543
|
-
var
|
|
544
|
-
saveEditBigTable =
|
|
552
|
+
var _ref3 = objToolbarProps || {},
|
|
553
|
+
saveEditBigTable = _ref3.saveEditBigTable;
|
|
545
554
|
|
|
546
555
|
if (saveEditBigTable && typeof saveEditBigTable === 'function') {
|
|
547
556
|
// 数据变更-回调函数
|
|
@@ -557,21 +566,40 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
557
566
|
});
|
|
558
567
|
};
|
|
559
568
|
|
|
560
|
-
_this.touchRowsChange = function (updatedRows,
|
|
561
|
-
var indexes =
|
|
562
|
-
column =
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
569
|
+
_this.touchRowsChange = function (updatedRows, obj) {
|
|
570
|
+
var indexes = obj.indexes,
|
|
571
|
+
column = obj.column;
|
|
572
|
+
var _this$props6 = _this.props,
|
|
573
|
+
touchAutoCompute = _this$props6.touchAutoCompute,
|
|
574
|
+
dataList = _this$props6.dataList;
|
|
575
|
+
var key = column.key;
|
|
576
|
+
|
|
577
|
+
if (indexes && indexes.length) {
|
|
578
|
+
indexes.map(function (index) {
|
|
579
|
+
var updated = updatedRows[index];
|
|
580
|
+
var _updated = updated,
|
|
581
|
+
autoAddNumberIdxEdit = _updated.autoAddNumber_idx_edit;
|
|
582
|
+
|
|
583
|
+
if (touchAutoCompute && typeof touchAutoCompute === 'function') {
|
|
584
|
+
var _updated2;
|
|
585
|
+
|
|
586
|
+
updated = touchAutoCompute({
|
|
587
|
+
cellKey: key,
|
|
588
|
+
updated: (_updated2 = {}, _updated2[column.key] = updated[column.key], _updated2),
|
|
589
|
+
toRowData: _this.arrRows[index]
|
|
590
|
+
});
|
|
591
|
+
}
|
|
592
|
+
dataList[autoAddNumberIdxEdit] = (0, _extends5['default'])({}, dataList[autoAddNumberIdxEdit], updated);
|
|
593
|
+
return index;
|
|
594
|
+
});
|
|
595
|
+
_this.saveEditBigTableModelZJ('touchRowsChange', dataList);
|
|
596
|
+
}
|
|
597
|
+
};
|
|
572
598
|
|
|
573
599
|
_this.touchSelectedRowsChange = function (selectedRows) {
|
|
574
|
-
var
|
|
600
|
+
var _this$props7 = _this.props,
|
|
601
|
+
rowKey = _this$props7.rowKey,
|
|
602
|
+
touchSelectedRowsChangeCB = _this$props7.touchSelectedRowsChangeCB;
|
|
575
603
|
|
|
576
604
|
var arrValuesInfo = Array.from(selectedRows);
|
|
577
605
|
var arrValues = [];
|
|
@@ -579,6 +607,9 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
579
607
|
arrValues.push(item[rowKey]);
|
|
580
608
|
return item;
|
|
581
609
|
});
|
|
610
|
+
if (touchSelectedRowsChangeCB && typeof touchSelectedRowsChangeCB === 'function') {
|
|
611
|
+
touchSelectedRowsChangeCB(arrValues, arrValuesInfo, selectedRows);
|
|
612
|
+
}
|
|
582
613
|
_this.setState({
|
|
583
614
|
// 表格选择
|
|
584
615
|
selectedRows: selectedRows, // 选中的行
|
|
@@ -640,7 +671,9 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
640
671
|
};
|
|
641
672
|
// 绑定组件
|
|
642
673
|
|
|
674
|
+
// #region 表头列处理
|
|
643
675
|
|
|
676
|
+
// #endregion 表头列处理
|
|
644
677
|
// #region 数据处理
|
|
645
678
|
// 数据处理
|
|
646
679
|
|
|
@@ -699,7 +732,11 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
699
732
|
|
|
700
733
|
// #endregion 保存
|
|
701
734
|
|
|
702
|
-
// #region
|
|
735
|
+
// #region 表单数据编辑
|
|
736
|
+
|
|
737
|
+
// #endregion 表单数据编辑
|
|
738
|
+
|
|
739
|
+
// #region 行选择
|
|
703
740
|
|
|
704
741
|
|
|
705
742
|
// #endregion 行选择
|
|
@@ -740,7 +777,7 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
740
777
|
{ className: (0, _classnames2['default'])(['Easy3wEditBigTable']) },
|
|
741
778
|
objToolbarProps ? this.getToolbar() : '',
|
|
742
779
|
_react2['default'].createElement(_reactDataGrid2['default'], (0, _extends5['default'])({}, objPrps, {
|
|
743
|
-
columns: columns // 表头
|
|
780
|
+
columns: this.touchCreateColumns(columns) // 表头
|
|
744
781
|
, defaultColumnOptions: {
|
|
745
782
|
resizable: true // 可调整列宽
|
|
746
783
|
},
|
|
@@ -756,8 +793,8 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
756
793
|
selectedRows: selectedRows,
|
|
757
794
|
onSelectedRowsChange: this.touchSelectedRowsChange
|
|
758
795
|
// 表格编辑时触发
|
|
759
|
-
// onRowsChange={rows => this.saveEditBigTableModelZJ('onSelectedRowsChange', rows)}
|
|
760
796
|
, onRowsChange: this.touchRowsChange
|
|
797
|
+
// 其它属性
|
|
761
798
|
}, objOtherProps)),
|
|
762
799
|
visible ? _react2['default'].createElement(_Easy3wEditBigTableForm2['default'] // 批量录入Modal
|
|
763
800
|
, { visible: visible // 是否显示
|
|
@@ -774,10 +811,12 @@ var Easy3wEditBigTable = function (_Component) {
|
|
|
774
811
|
};
|
|
775
812
|
|
|
776
813
|
return Easy3wEditBigTable;
|
|
777
|
-
}(_react.Component);
|
|
814
|
+
}(_react.Component); /* eslint-disable no-param-reassign */
|
|
815
|
+
/* eslint-disable no-alert */
|
|
816
|
+
|
|
778
817
|
|
|
779
818
|
Easy3wEditBigTable.defaultProps = {
|
|
780
|
-
rowKey: '
|
|
819
|
+
rowKey: 'autoAddNumber_idx_edit' // 表格主键 原始数据索引
|
|
781
820
|
};
|
|
782
821
|
exports['default'] = Easy3wEditBigTable;
|
|
783
822
|
module.exports = exports['default'];
|