easy3wui 1.5.64-beta.5 → 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.
@@ -44,3 +44,31 @@
44
44
  padding: 4px;
45
45
  font-size: 14px;
46
46
  }
47
+ .Easy3wEditBigTable .textEditor {
48
+ -webkit-appearance: none;
49
+ -moz-appearance: none;
50
+ appearance: none;
51
+ box-sizing: border-box;
52
+ inline-size: 100%;
53
+ block-size: 100%;
54
+ padding-block: 0;
55
+ padding-inline: 6px;
56
+ border: 2px solid #ccc;
57
+ vertical-align: top;
58
+ color: var(--rdg-color);
59
+ background-color: var(--rdg-background-color);
60
+ font-family: inherit;
61
+ font-size: var(--rdg-font-size);
62
+ }
63
+ .Easy3wEditBigTable .textEditor:focus {
64
+ border-color: var(--rdg-selection-color);
65
+ outline: none;
66
+ }
67
+ .Easy3wEditBigTable .textEditor:-ms-input-placeholder {
68
+ color: #999;
69
+ opacity: 1;
70
+ }
71
+ .Easy3wEditBigTable .textEditor::placeholder {
72
+ color: #999;
73
+ opacity: 1;
74
+ }
package/assets/index.css CHANGED
@@ -1528,3 +1528,31 @@ input.ant-input-number-input {
1528
1528
  padding: 4px;
1529
1529
  font-size: 14px;
1530
1530
  }
1531
+ .Easy3wEditBigTable .textEditor {
1532
+ -webkit-appearance: none;
1533
+ -moz-appearance: none;
1534
+ appearance: none;
1535
+ box-sizing: border-box;
1536
+ inline-size: 100%;
1537
+ block-size: 100%;
1538
+ padding-block: 0;
1539
+ padding-inline: 6px;
1540
+ border: 2px solid #ccc;
1541
+ vertical-align: top;
1542
+ color: var(--rdg-color);
1543
+ background-color: var(--rdg-background-color);
1544
+ font-family: inherit;
1545
+ font-size: var(--rdg-font-size);
1546
+ }
1547
+ .Easy3wEditBigTable .textEditor:focus {
1548
+ border-color: var(--rdg-selection-color);
1549
+ outline: none;
1550
+ }
1551
+ .Easy3wEditBigTable .textEditor:-ms-input-placeholder {
1552
+ color: #999;
1553
+ opacity: 1;
1554
+ }
1555
+ .Easy3wEditBigTable .textEditor::placeholder {
1556
+ color: #999;
1557
+ opacity: 1;
1558
+ }
@@ -34,16 +34,12 @@ var _reactDataGrid = require('react-data-grid');
34
34
 
35
35
  var _reactDataGrid2 = _interopRequireDefault(_reactDataGrid);
36
36
 
37
- var _reactDataGridAddons = require('react-data-grid-addons');
37
+ require('react-data-grid/lib/styles.css');
38
38
 
39
39
  var _xlsx = require('xlsx');
40
40
 
41
41
  var _xlsx2 = _interopRequireDefault(_xlsx);
42
42
 
43
- var _numeral = require('numeral');
44
-
45
- var _numeral2 = _interopRequireDefault(_numeral);
46
-
47
43
  var _classnames = require('classnames');
48
44
 
49
45
  var _classnames2 = _interopRequireDefault(_classnames);
@@ -54,9 +50,6 @@ var _Easy3wEditBigTableForm2 = _interopRequireDefault(_Easy3wEditBigTableForm);
54
50
 
55
51
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
56
52
 
57
- /* eslint-disable no-alert */
58
- var Selectors = _reactDataGridAddons.Data.Selectors;
59
-
60
53
  var Easy3wEditBigTable = function (_Component) {
61
54
  (0, _inherits3['default'])(Easy3wEditBigTable, _Component);
62
55
 
@@ -69,18 +62,48 @@ var Easy3wEditBigTable = function (_Component) {
69
62
  _this[pureComponentName] = that;
70
63
  };
71
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
+
72
87
  _this.touchDP = function () {
73
- var rows = _this.props.rows;
88
+ var dataList = _this.props.dataList;
74
89
 
75
- var arrOriginalRows = [].concat(rows); // 原始数据
90
+ var arrOriginalRows = [].concat(dataList); // 原始数据
76
91
  var _this$state = _this.state,
77
92
  objFilters = _this$state.objFilters,
78
93
  sortColumns = _this$state.sortColumns;
79
94
 
80
95
  var arrRows = [].concat(arrOriginalRows);
96
+ var numFlag = false;
81
97
  if (objFilters.enabled) {
82
98
  // 启用筛选条件
83
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
+ });
84
107
  }
85
108
  if (sortColumns.length > 0) {
86
109
  // 有排序字段
@@ -93,7 +116,8 @@ var Easy3wEditBigTable = function (_Component) {
93
116
  var objFiltersNew = (0, _extends5['default'])({}, objFilters);
94
117
  delete objFiltersNew.enabled;
95
118
  var arrFilterKeys = Object.keys(objFiltersNew);
96
- return arrRows.filter(function (r) {
119
+ return arrRows.filter(function (r, index) {
120
+ r.autoAddNumber_idx_edit = index;
97
121
  var filterFlag = true;
98
122
  arrFilterKeys.map(function (key) {
99
123
  filterFlag = filterFlag && (objFilters[key] || objFilters[key] === 0 ? r[key] && r[key].includes(objFilters[key]) : true);
@@ -114,7 +138,7 @@ var Easy3wEditBigTable = function (_Component) {
114
138
  }
115
139
  return true;
116
140
  });
117
- return arrRows.sort(function (a, b) {
141
+ var arr = arrRows.sort(function (a, b) {
118
142
  // const comparator = getComparator(objSortColumns.columnKey);
119
143
  var compResult = 0; // 比较结果
120
144
  switch (dataType) {
@@ -162,6 +186,7 @@ var Easy3wEditBigTable = function (_Component) {
162
186
  return compResult;
163
187
  }
164
188
  });
189
+ return arr;
165
190
  };
166
191
 
167
192
  _this.touchcountTotal = function () {
@@ -306,18 +331,18 @@ var Easy3wEditBigTable = function (_Component) {
306
331
  };
307
332
 
308
333
  _this.touchAddRow = function () {
309
- var _ref;
334
+ var _ref2;
310
335
 
311
336
  var rowKey = _this.props.rowKey;
312
- var rows = _this.props.rows;
337
+ var dataList = _this.props.dataList;
313
338
 
314
- _this.saveEditBigTableModelZJ('touchAddRow', [].concat(rows, [(_ref = {}, _ref[rowKey] = 'add_' + (rows.length - 1) + '_' + new Date().getTime(), _ref)]));
339
+ _this.saveEditBigTableModelZJ('touchAddRow', [].concat(dataList, [(_ref2 = {}, _ref2[rowKey] = 'add_' + (dataList.length - 1) + '_' + new Date().getTime(), _ref2)]));
315
340
  };
316
341
 
317
342
  _this.touchCopyRow = function () {
318
- var _this$props = _this.props,
319
- rows = _this$props.rows,
320
- rowKey = _this$props.rowKey;
343
+ var _this$props2 = _this.props,
344
+ dataList = _this$props2.dataList,
345
+ rowKey = _this$props2.rowKey;
321
346
  var arrValuesInfo = _this.state.arrValuesInfo;
322
347
 
323
348
  if (arrValuesInfo.length) {
@@ -329,7 +354,7 @@ var Easy3wEditBigTable = function (_Component) {
329
354
  arrNew.push(newRow);
330
355
  return item;
331
356
  });
332
- _this.saveEditBigTableModelZJ('touchCopyRow', [].concat(rows, arrNew));
357
+ _this.saveEditBigTableModelZJ('touchCopyRow', [].concat(dataList, arrNew));
333
358
  } else {
334
359
  _modal2['default'].error({
335
360
  title: '错误',
@@ -339,18 +364,18 @@ var Easy3wEditBigTable = function (_Component) {
339
364
  };
340
365
 
341
366
  _this.deleteRow = function () {
342
- var rows = _this.props.rows;
367
+ var dataList = _this.props.dataList;
343
368
  var _this$state2 = _this.state,
344
369
  arrValues = _this$state2.arrValues,
345
370
  arrValuesInfo = _this$state2.arrValuesInfo;
346
- var _this$props2 = _this.props,
347
- objToolbarProps = _this$props2.objToolbarProps,
348
- rowKey = _this$props2.rowKey;
371
+ var _this$props3 = _this.props,
372
+ objToolbarProps = _this$props3.objToolbarProps,
373
+ rowKey = _this$props3.rowKey;
349
374
  var deleteRowInterface = objToolbarProps.deleteRowInterface;
350
375
 
351
376
  if (arrValues.length) {
352
377
  var arrRows = []; // 删除数据后的新数组
353
- rows.map(function (row) {
378
+ dataList.map(function (row) {
354
379
  var flag = true;
355
380
  arrValues.map(function (key) {
356
381
  if (key === row[rowKey]) {
@@ -379,12 +404,12 @@ var Easy3wEditBigTable = function (_Component) {
379
404
  }
380
405
  };
381
406
 
382
- _this.getHearder = function () {
383
- var _this$props3 = _this.props,
384
- columns = _this$props3.columns,
385
- arrColumnsKey = _this$props3.arrColumnsKey,
386
- objSheet = _this$props3.objSheet,
387
- arrColInfo = _this$props3.arrColInfo;
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;
388
413
 
389
414
 
390
415
  var arrColumnsKeyNew = ['id'];
@@ -425,17 +450,17 @@ var Easy3wEditBigTable = function (_Component) {
425
450
  var file = e.target.files[0];
426
451
  var reader = new FileReader();
427
452
  reader.onload = function (event) {
428
- var _this$getHearder = _this.getHearder(),
429
- arrColumnsKey = _this$getHearder.arrColumnsKey;
453
+ var _this$touchGetHearder = _this.touchGetHearder(),
454
+ arrColumnsKey = _this$touchGetHearder.arrColumnsKey;
430
455
 
431
456
  var data = event.target.result;
432
457
  var workbook = _xlsx2['default'].read(data, { type: 'binary' });
433
458
  var firstSheetName = workbook.SheetNames[0];
434
459
  var worksheet = workbook.Sheets[firstSheetName];
435
- var rows = _xlsx2['default'].utils.sheet_to_json(worksheet, { header: arrColumnsKey });
436
- rows.shift(); // 去掉表头
437
- // const rowsView = this.getRows(rows); // 表格显示数据
438
- _this.saveEditBigTableModelZJ('touchImport', rows);
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);
439
464
  };
440
465
  reader.readAsBinaryString(file);
441
466
  };
@@ -443,9 +468,9 @@ var Easy3wEditBigTable = function (_Component) {
443
468
  };
444
469
 
445
470
  _this.touchExport = function () {
446
- var _this$getHearder2 = _this.getHearder(),
447
- objSheet = _this$getHearder2.objSheet,
448
- arrColInfo = _this$getHearder2.arrColInfo;
471
+ var _this$touchGetHearder2 = _this.touchGetHearder(),
472
+ objSheet = _this$touchGetHearder2.objSheet,
473
+ arrColInfo = _this$touchGetHearder2.arrColInfo;
449
474
 
450
475
  var rowsView = [].concat(_this.arrRows);
451
476
  // 计算 rowsView 中所有对象字段最多的长度
@@ -486,61 +511,46 @@ var Easy3wEditBigTable = function (_Component) {
486
511
  };
487
512
 
488
513
  _this.confirmCallbackBatchEditBigTable = function (objFormData, objColumn) {
489
- var _this$props4 = _this.props,
490
- rows = _this$props4.rows,
491
- touchAutoCompute = _this$props4.touchAutoCompute,
492
- rowKey = _this$props4.rowKey;
514
+ var _this$props5 = _this.props,
515
+ dataList = _this$props5.dataList,
516
+ touchAutoCompute = _this$props5.touchAutoCompute,
517
+ rowKey = _this$props5.rowKey;
493
518
 
494
519
  var rowsView = [].concat(_this.arrRows);
495
- rowsView.map(function (row, index) {
496
- var rowId = row[rowKey];
520
+ rowsView.map(function (row) {
521
+ // const rowId = row[rowKey];
522
+ var autoAddNumberIdxEdit = row.autoAddNumber_idx_edit;
497
523
  // const { [rowKey]: } = row;
524
+
498
525
  var updated = (0, _extends5['default'])({}, objFormData);
499
526
  if (touchAutoCompute && typeof touchAutoCompute === 'function') {
500
527
  // 数据变更-自动计算行数据
501
- // action 改变的动作类型,'CELL_UPDATE' 单元格更新,'CELL_BATCH_CHANGE' 单元格批量更新 CELL_UPDATE, COLUMN_FILL, COPY_PASTE, CELL_DRAG
502
- // cellKey 改变的单元格的key
503
- // fromRow 改变的单元格的原来行序号
504
- // fromRowData 改变的单元格的原来行数据
505
- // fromRowId 改变的单元格的原来行id(行唯一标识)
506
- // rowIds 所有被选中的行id
507
- // toRow 改变的单元格的新行序号
508
- // toRowId 改变的单元格的新行id
509
- // updated 改变的单元格的新值
510
528
  updated = touchAutoCompute({
511
529
  cellKey: objColumn.key,
512
- fromRow: index,
513
- toRow: index,
514
- fromRowId: row[rowKey],
515
- toRowId: row[rowKey],
516
- rowIds: [row[rowKey]],
517
530
  updated: updated,
518
- action: 'CELL_BATCH_CHANGE',
519
- fromRowData: row,
520
531
  toRowData: row
521
532
  });
522
533
  }
523
- rows[rowId] = (0, _extends5['default'])({}, rows[rowId], updated);
524
- rowsView[index] = (0, _extends5['default'])({}, rowsView[index], updated);
534
+ dataList[autoAddNumberIdxEdit] = (0, _extends5['default'])({}, dataList[autoAddNumberIdxEdit], updated);
525
535
  return row;
526
536
  });
527
- _this.saveEditBigTableModelZJ('confirmCallbackBatchEditBigTable', rows);
537
+ _this.saveEditBigTableModelZJ('confirmCallbackBatchEditBigTable', dataList);
528
538
  };
529
539
 
530
- _this.saveEditBigTableModelZJ = function (operationType, rows) {
540
+ _this.saveEditBigTableModelZJ = function (operationType, dataList) {
531
541
  var saveEditBigTableModel = _this.props.saveEditBigTableModel;
532
542
 
533
543
  if (saveEditBigTableModel && typeof saveEditBigTableModel === 'function') {
534
544
  // 数据变更-回调函数
535
- saveEditBigTableModel(operationType, rows);
545
+ saveEditBigTableModel(operationType, dataList);
536
546
  }
537
547
  };
538
548
 
539
549
  _this.saveEditBigTableZJ = function () {
540
550
  var objToolbarProps = _this.props.objToolbarProps;
541
551
 
542
- var _ref2 = objToolbarProps || {},
543
- saveEditBigTable = _ref2.saveEditBigTable;
552
+ var _ref3 = objToolbarProps || {},
553
+ saveEditBigTable = _ref3.saveEditBigTable;
544
554
 
545
555
  if (saveEditBigTable && typeof saveEditBigTable === 'function') {
546
556
  // 数据变更-回调函数
@@ -556,8 +566,40 @@ var Easy3wEditBigTable = function (_Component) {
556
566
  });
557
567
  };
558
568
 
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
+ };
598
+
559
599
  _this.touchSelectedRowsChange = function (selectedRows) {
560
- var rowKey = _this.props.rowKey;
600
+ var _this$props7 = _this.props,
601
+ rowKey = _this$props7.rowKey,
602
+ touchSelectedRowsChangeCB = _this$props7.touchSelectedRowsChangeCB;
561
603
 
562
604
  var arrValuesInfo = Array.from(selectedRows);
563
605
  var arrValues = [];
@@ -565,6 +607,9 @@ var Easy3wEditBigTable = function (_Component) {
565
607
  arrValues.push(item[rowKey]);
566
608
  return item;
567
609
  });
610
+ if (touchSelectedRowsChangeCB && typeof touchSelectedRowsChangeCB === 'function') {
611
+ touchSelectedRowsChangeCB(arrValues, arrValuesInfo, selectedRows);
612
+ }
568
613
  _this.setState({
569
614
  // 表格选择
570
615
  selectedRows: selectedRows, // 选中的行
@@ -596,9 +641,9 @@ var Easy3wEditBigTable = function (_Component) {
596
641
  Easy3wEditBigTable.prototype.componentWillUnmount = function componentWillUnmount() {
597
642
  var objToolbarProps = this.props.objToolbarProps;
598
643
 
599
- var _ref3 = objToolbarProps || {},
600
- _ref3$unloadSaveFlag = _ref3.unloadSaveFlag,
601
- unloadSaveFlag = _ref3$unloadSaveFlag === undefined ? true : _ref3$unloadSaveFlag;
644
+ var _ref4 = objToolbarProps || {},
645
+ _ref4$unloadSaveFlag = _ref4.unloadSaveFlag,
646
+ unloadSaveFlag = _ref4$unloadSaveFlag === undefined ? true : _ref4$unloadSaveFlag;
602
647
  // unloadSaveFlag 是否在卸载后保存 true 需要保存 false 不需要保存
603
648
 
604
649
 
@@ -626,7 +671,9 @@ var Easy3wEditBigTable = function (_Component) {
626
671
  };
627
672
  // 绑定组件
628
673
 
674
+ // #region 表头列处理
629
675
 
676
+ // #endregion 表头列处理
630
677
  // #region 数据处理
631
678
  // 数据处理
632
679
 
@@ -685,6 +732,10 @@ var Easy3wEditBigTable = function (_Component) {
685
732
 
686
733
  // #endregion 保存
687
734
 
735
+ // #region 表单数据编辑
736
+
737
+ // #endregion 表单数据编辑
738
+
688
739
  // #region 行选择
689
740
 
690
741
 
@@ -702,11 +753,11 @@ var Easy3wEditBigTable = function (_Component) {
702
753
  selectedRows = _state.selectedRows;
703
754
  var _props = this.props,
704
755
  columns = _props.columns,
705
- rows = _props.rows,
706
756
  objToolbarProps = _props.objToolbarProps,
707
757
  rowKey = _props.rowKey,
708
758
  topTotalFlag = _props.topTotalFlag,
709
- bottomTotalFlag = _props.bottomTotalFlag;
759
+ bottomTotalFlag = _props.bottomTotalFlag,
760
+ objOtherProps = _props.objOtherProps;
710
761
  // #region 表格数据处理,排序(sort)、筛选(filter)
711
762
 
712
763
  this.arrRows = this.touchDP();
@@ -726,8 +777,11 @@ var Easy3wEditBigTable = function (_Component) {
726
777
  { className: (0, _classnames2['default'])(['Easy3wEditBigTable']) },
727
778
  objToolbarProps ? this.getToolbar() : '',
728
779
  _react2['default'].createElement(_reactDataGrid2['default'], (0, _extends5['default'])({}, objPrps, {
729
- columns: columns // 表头
730
- , rows: this.arrRows // 行数据
780
+ columns: this.touchCreateColumns(columns) // 表头
781
+ , defaultColumnOptions: {
782
+ resizable: true // 可调整列宽
783
+ },
784
+ rows: this.arrRows // 行数据
731
785
  , headerRowHeight: objFilters.enabled ? 70 : undefined // 表头高度
732
786
  // 排序
733
787
  , sortColumns: sortColumns // 排序字段
@@ -738,7 +792,10 @@ var Easy3wEditBigTable = function (_Component) {
738
792
  },
739
793
  selectedRows: selectedRows,
740
794
  onSelectedRowsChange: this.touchSelectedRowsChange
741
- })),
795
+ // 表格编辑时触发
796
+ , onRowsChange: this.touchRowsChange
797
+ // 其它属性
798
+ }, objOtherProps)),
742
799
  visible ? _react2['default'].createElement(_Easy3wEditBigTableForm2['default'] // 批量录入Modal
743
800
  , { visible: visible // 是否显示
744
801
  , objOtherParameters: {
@@ -754,10 +811,12 @@ var Easy3wEditBigTable = function (_Component) {
754
811
  };
755
812
 
756
813
  return Easy3wEditBigTable;
757
- }(_react.Component);
814
+ }(_react.Component); /* eslint-disable no-param-reassign */
815
+ /* eslint-disable no-alert */
816
+
758
817
 
759
818
  Easy3wEditBigTable.defaultProps = {
760
- rowKey: 'id' // 表格主键 原始数据索引
819
+ rowKey: 'autoAddNumber_idx_edit' // 表格主键 原始数据索引
761
820
  };
762
821
  exports['default'] = Easy3wEditBigTable;
763
822
  module.exports = exports['default'];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "easy3wui",
3
- "version": "1.5.64-beta.5",
3
+ "version": "1.5.64-beta.7",
4
4
  "description": "easy3wui components for react",
5
5
  "keywords": [
6
6
  "react",