easy3wui 1.5.7 → 1.5.8-2.beta

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.
Files changed (53) hide show
  1. package/README.md +17 -1
  2. package/assets/btn.css +7 -1
  3. package/assets/card.css +14 -0
  4. package/assets/editBigTable.css +17 -0
  5. package/assets/flow.css +1235 -224
  6. package/assets/formPage.css +212 -5
  7. package/assets/gridPage.css +12 -2
  8. package/assets/index.css +1610 -348
  9. package/assets/login.css +0 -3
  10. package/assets/tree.css +4 -0
  11. package/lib/Easy3wButton/index.js +4 -2
  12. package/lib/Easy3wButtonOne/index.js +10 -2
  13. package/lib/Easy3wCaHandler/index.js +130 -24
  14. package/lib/Easy3wCard/index.js +11 -53
  15. package/lib/Easy3wCard/indexM.js +80 -0
  16. package/lib/Easy3wCard/indexPC.js +75 -0
  17. package/lib/Easy3wCol/index.js +53 -0
  18. package/lib/Easy3wDownLoad/index copy.js +333 -0
  19. package/lib/Easy3wDownLoad/index.js +129 -19
  20. package/lib/Easy3wEditBigTable/Easy3wEditBigTableForm.js +295 -0
  21. package/lib/Easy3wEditBigTable/Editors/EditorNumber.js +92 -0
  22. package/lib/Easy3wEditBigTable/Editors/EditorsDatePicker.js +168 -0
  23. package/lib/Easy3wEditBigTable/Editors/EditorsInputNumber.js +141 -0
  24. package/lib/Easy3wEditBigTable/index.js +1175 -0
  25. package/lib/Easy3wFlow/index.js +722 -25
  26. package/lib/Easy3wFormPage/index.js +28 -1553
  27. package/lib/Easy3wFormPage/indexM.js +4274 -0
  28. package/lib/Easy3wFormPage/indexPC.js +4006 -0
  29. package/lib/Easy3wGetDesensitization/index.js +43 -0
  30. package/lib/Easy3wGridCheckBox/index.js +1 -1
  31. package/lib/Easy3wGridDatePicker/index.js +1 -1
  32. package/lib/Easy3wGridDateTimePicker/index.js +1 -1
  33. package/lib/Easy3wGridInput/index.js +31 -4
  34. package/lib/Easy3wGridInputAmount/index.js +93 -0
  35. package/lib/Easy3wGridInputDigit/index.js +83 -0
  36. package/lib/Easy3wGridInputEmail/index.js +73 -0
  37. package/lib/Easy3wGridPage/index.js +10 -580
  38. package/lib/Easy3wGridPage/indexM.js +696 -0
  39. package/lib/Easy3wGridPage/indexPC.js +668 -0
  40. package/lib/Easy3wGridSelect/index.js +4 -2
  41. package/lib/Easy3wGridTextArea/index.js +57 -6
  42. package/lib/Easy3wModal/index.js +180 -7
  43. package/lib/Easy3wRow/index.js +53 -0
  44. package/lib/Easy3wTree/index.js +318 -0
  45. package/lib/Easy3wUIConfig/index.js +30 -0
  46. package/lib/Easy3wUpload/index.js +86 -42
  47. package/lib/Easy3wUploadB/index copy 2.js +1011 -0
  48. package/lib/Easy3wUploadB/index copy 3.js +1088 -0
  49. package/lib/Easy3wUploadB/index.js +300 -145
  50. package/lib/Easy3wUploadM/index copy.js +523 -0
  51. package/lib/Easy3wUploadM/index.js +122 -51
  52. package/lib/index.js +81 -0
  53. package/package.json +5 -2
@@ -78,23 +78,48 @@ require('antd/lib/modal/style');
78
78
 
79
79
  var _comonConfig = require('comonConfigPath/comonConfig');
80
80
 
81
- var _Easy3wGetCookie = require('./../Easy3wGetCookie');
82
-
83
- var _Easy3wGetCookie2 = _interopRequireDefault(_Easy3wGetCookie);
84
-
85
- var _Easy3wDownLoad = require('./../Easy3wDownLoad');
81
+ var _Easy3wDownLoad = require('../Easy3wDownLoad');
86
82
 
87
83
  var _Easy3wDownLoad2 = _interopRequireDefault(_Easy3wDownLoad);
88
84
 
89
- var _Easy3wAESEncrypt = require('./../Easy3wAESEncrypt');
85
+ var _Easy3wAESEncrypt = require('../Easy3wAESEncrypt');
90
86
 
91
87
  var _Easy3wAESEncrypt2 = _interopRequireDefault(_Easy3wAESEncrypt);
92
88
 
89
+ var _Easy3wUIConfig = require('../Easy3wUIConfig');
90
+
91
+ var _Easy3wUIConfig2 = _interopRequireDefault(_Easy3wUIConfig);
92
+
93
93
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
94
94
 
95
+ var objPreviewFileDefault = _Easy3wUIConfig2['default'].objPreviewFileDefault;
96
+
97
+ // 文件上传配置
98
+
99
+ var _ref = _comonConfig.objE3wUIFileConfig || {},
100
+ maxSizeB = _ref.maxSizeB;
101
+ // maxSizeB 大附件-文件大小限制 单位:MB
102
+ // maxSize 附件-文件大小限制 单位:MB
103
+
104
+
105
+ var _ref2 = _comonConfig.objEasy3wUIConfig || {},
106
+ objEasy3wUploadB = _ref2.objEasy3wUploadB;
107
+
108
+ var _ref3 = objEasy3wUploadB || {},
109
+ projectType = _ref3.projectType;
110
+
95
111
  var formItemStyle = {
96
- marginBottom: 6
112
+ marginBottom: projectType === '1' ? 3 : 6
97
113
  };
114
+ function Easy3wGetCookie(name) {
115
+ var arr = void 0;
116
+ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');
117
+ if (arr = document.cookie.match(reg)) {
118
+ return unescape(arr[2]);
119
+ } else {
120
+ return null;
121
+ }
122
+ }
98
123
 
99
124
  var BigFileUpload = function (_Component) {
100
125
  (0, _inherits3['default'])(BigFileUpload, _Component);
@@ -122,7 +147,8 @@ var BigFileUpload = function (_Component) {
122
147
  uploadData: null, // 上传的数据
123
148
  iniSetedFlag: false, // 是否初始化
124
149
  CUSize: 0, // 当前上传附件大小
125
- speed: 0 // 上传速率
150
+ speed: 0, // 上传速率
151
+ uploadQueue: [] // 队列
126
152
  };
127
153
  return _this;
128
154
  }
@@ -146,6 +172,14 @@ var BigFileUpload = function (_Component) {
146
172
  }
147
173
  }
148
174
  };
175
+ // 预览
176
+
177
+ // 新增:从队列中取下一个开始上传(顺序上传)
178
+
179
+ // 处理下一个文件
180
+
181
+ // url处理
182
+
149
183
 
150
184
  BigFileUpload.prototype.render = function render() {
151
185
  var _this2 = this;
@@ -165,15 +199,22 @@ var BigFileUpload = function (_Component) {
165
199
  wrapperCol = _props.wrapperCol,
166
200
  showUploadList = _props.showUploadList,
167
201
  urlDownloadFile = _props.urlDownloadFile,
168
- initialValue = _props.initialValue;
202
+ initialValue = _props.initialValue,
203
+ multiple = _props.multiple,
204
+ removeCallback = _props.removeCallback,
205
+ propsAFlag = _props.propsAFlag,
206
+ fileViewFlag = _props.fileViewFlag;
207
+ var maxFileSize = this.props.maxFileSize;
169
208
  var _state = this.state,
170
209
  preUploading = _state.preUploading,
171
210
  uploadPercent = _state.uploadPercent,
172
211
  preUploadPercent = _state.preUploadPercent,
173
212
  uploadRequest = _state.uploadRequest,
174
- uploading = _state.uploading;
213
+ uploading = _state.uploading,
214
+ currentFile = _state.currentFile;
175
215
  var getFieldDecorator = form.getFieldDecorator;
176
216
 
217
+ maxFileSize = maxFileSize || maxSizeB;
177
218
  var uploadProp = {
178
219
  // name,
179
220
  listType: listType,
@@ -196,10 +237,14 @@ var BigFileUpload = function (_Component) {
196
237
  _this2.setState((0, _extends3['default'])({}, _this2.state, {
197
238
  cancelStatus: true,
198
239
  loading: false,
240
+ uploading: false,
199
241
  fileList: fileList,
200
242
  iniSetedFlag: iniSetedFlag
201
243
  }), function () {
202
244
  _this2.setUploadValue(fileList);
245
+ if (removeCallback) {
246
+ removeCallback(name, file);
247
+ }
203
248
  });
204
249
  return;
205
250
  }
@@ -208,30 +253,42 @@ var BigFileUpload = function (_Component) {
208
253
  _this2.setState((0, _extends3['default'])({}, _this2.state, {
209
254
  cancelStatus: true,
210
255
  loading: false,
256
+ uploading: false,
211
257
  fileList: fileList,
212
258
  currentFile: null,
213
259
  iniSetedFlag: iniSetedFlag
214
260
  }), function () {
215
261
  _this2.setUploadValue(fileList);
262
+ if (removeCallback) {
263
+ removeCallback(name, file);
264
+ }
216
265
  });
217
266
  } else {
218
267
  _this2.setState((0, _extends3['default'])({}, _this2.state, {
219
268
  cancelStatus: false,
220
269
  loading: true,
270
+ uploading: false,
221
271
  fileList: fileList,
222
272
  iniSetedFlag: iniSetedFlag
223
273
  }), function () {
224
274
  _this2.setUploadValue(fileList);
275
+ if (removeCallback) {
276
+ removeCallback(name, file);
277
+ }
225
278
  });
226
279
  }
227
280
  } else {
228
281
  _this2.setState((0, _extends3['default'])({}, _this2.state, {
229
282
  cancelStatus: true,
230
283
  loading: false,
284
+ uploading: false,
231
285
  fileList: fileList,
232
286
  iniSetedFlag: iniSetedFlag
233
287
  }), function () {
234
288
  _this2.setUploadValue(fileList);
289
+ if (removeCallback) {
290
+ removeCallback(name, file);
291
+ }
235
292
  });
236
293
  }
237
294
  return true;
@@ -240,20 +297,10 @@ var BigFileUpload = function (_Component) {
240
297
  var fileTypePass = true;
241
298
  var fileNameArr = file.name.toLowerCase().split('.');
242
299
  var fileType = fileNameArr[fileNameArr.length - 1];
243
- if (file.name.length > 100) {
244
- _modal2['default'].info({
245
- style: { top: '38%' },
246
- content: '文件名称至多100个字符',
247
- okText: '知道了'
248
- });
249
- return false;
250
- }
251
- var acceptDefault = '.rplib,.xls,.doc,.jpg,.pdf,.png,.zip,.bmp,.rar,.txt,.docx,.ico,.bid,.xlsx,.jpeg,.json,.xml,.ebid,.dwg,.pptx,.xmind,.xps,.crx,.7z,.ppt,.svg,.pdm,.xlsm,.vsd,.gif,.tif,.docm,.csv,.ttf,.wps,.psd,.mp4,.tiff,.rtf,.tlb,.xlsb';
252
300
  if (accept && accept.length > 0) {
253
- acceptDefault = accept;
254
- }
255
- if (acceptDefault.indexOf(fileType) < 0) {
256
- fileTypePass = false;
301
+ if (accept.indexOf(fileType) < 0) {
302
+ fileTypePass = false;
303
+ }
257
304
  }
258
305
  if (!fileTypePass) {
259
306
  _modal2['default'].error({
@@ -269,42 +316,76 @@ var BigFileUpload = function (_Component) {
269
316
  });
270
317
  return false;
271
318
  }
272
- var multiple = _this2.props.multiple;
319
+ if (maxFileSize && maxFileSize > 0 && file.size / 1024 / 1024 > maxFileSize) {
320
+ _modal2['default'].error({
321
+ style: { top: '38%' },
322
+ content: '\u9644\u4EF6\u5FC5\u987B\u5C0F\u4E8E' + maxFileSize + 'MB!'
323
+ });
324
+ return false;
325
+ }
273
326
  var _state3 = _this2.state,
274
327
  fileList = _state3.fileList,
275
328
  iniSetedFlag = _state3.iniSetedFlag;
276
329
 
277
- if (!multiple) {
278
- fileList = [file];
279
- } else {
280
- fileList.push(file);
281
- }
282
330
  if (!iniSetedFlag) {
283
331
  iniSetedFlag = true;
284
332
  }
285
- // 首先清除一下各种上传的状态
286
- _this2.setState((0, _extends3['default'])({}, _this2.state, {
287
- fileList: fileList,
288
- currentFile: file,
289
- preUploading: true, // 预处理中
290
- uploading: false, // 上传中
291
- uploadRequest: false, // 上传预处理
292
- uploadPercent: -1,
293
- preUploadPercent: -1,
294
- chunkProgressStatus: 'active',
295
- cancelStatus: false, // 取消状态
296
- CUSize: 0, // 当前附件上传大小
297
- loading: true, // 禁用上传
298
- iniSetedFlag: iniSetedFlag
299
- }), function () {
300
- setImmediate(_this2.readFile, file);
333
+ // 单附件
334
+ if (!multiple) {
335
+ fileList = [file];
336
+ _this2.setState((0, _extends3['default'])({}, _this2.state, {
337
+ fileList: fileList,
338
+ currentFile: file,
339
+ preUploading: true, // 预处理中
340
+ uploading: false, // 上传中
341
+ uploadRequest: false, // 上传预处理
342
+ uploadPercent: -1,
343
+ preUploadPercent: -1,
344
+ chunkProgressStatus: 'active',
345
+ cancelStatus: false, // 取消状态
346
+ CUSize: 0, // 当前附件上传大小
347
+ loading: true, // 禁用上传
348
+ iniSetedFlag: iniSetedFlag
349
+ }), function () {
350
+ setImmediate(_this2.readFile, file);
351
+ });
352
+ return false; // 阻止 Upload 自动上传
353
+ }
354
+ // 多文件
355
+ _this2.setState(function (prev) {
356
+ return (0, _extends3['default'])({}, _this2.state, {
357
+ fileList: [].concat(prev.fileList, [file]),
358
+ preUploading: _this2.state.preUploading || false,
359
+ uploadPercent: -1,
360
+ preUploadPercent: -1,
361
+ chunkProgressStatus: 'active',
362
+ cancelStatus: false,
363
+ CUSize: 0,
364
+ loading: true,
365
+ iniSetedFlag: iniSetedFlag,
366
+ uploadQueue: [].concat(prev.uploadQueue, [file])
367
+ });
368
+ }, function () {
369
+ // 如果当前没有正在上传的文件,则开始队列
370
+ if (!_this2.state.uploading && !_this2.state.currentFile) {
371
+ setTimeout(function () {
372
+ _this2.processQueue();
373
+ });
374
+ }
301
375
  });
302
376
  return false;
303
377
  },
378
+ multiple: !!multiple,
304
379
  fileList: this.state.fileList
305
380
  };
381
+ var objPreviewFileNew = (0, _extends3['default'])({}, objPreviewFileDefault, _comonConfig.objPreviewFile, this.props.objPreviewFile);
382
+ var previewFileFlag = objPreviewFileNew.previewFileFlag;
383
+
384
+ if (previewFileFlag && fileViewFlag !== false) {
385
+ uploadProp.onPreview = this.onPreview;
386
+ }
306
387
  if (isRead) {
307
- uploadProp = (0, _extends3['default'])({}, uploadProp, { showUploadList: { showPreviewIcon: true, showRemoveIcon: false } });
388
+ uploadProp.children = true;
308
389
  }
309
390
  return isRead ? _react2['default'].createElement(
310
391
  _form2['default'].Item,
@@ -319,7 +400,9 @@ var BigFileUpload = function (_Component) {
319
400
  pdfViewFlag: true,
320
401
  imgVisible: true,
321
402
  urlDownloadFile: urlDownloadFile,
322
- downloadArr: initialValue
403
+ downloadArr: initialValue,
404
+ propsAFlag: propsAFlag,
405
+ fileViewFlag: fileViewFlag
323
406
  }))
324
407
  ) : _react2['default'].createElement(
325
408
  _form2['default'].Item,
@@ -341,7 +424,7 @@ var BigFileUpload = function (_Component) {
341
424
  (0, _extends3['default'])({}, uploadProp, {
342
425
  disabled: this.state.loading
343
426
  }),
344
- isRead ? null : _react2['default'].createElement(
427
+ _react2['default'].createElement(
345
428
  _popover2['default'],
346
429
  {
347
430
  placement: 'right',
@@ -372,6 +455,7 @@ var BigFileUpload = function (_Component) {
372
455
  _react2['default'].createElement(
373
456
  'span',
374
457
  { style: { margin: '10px auto', color: '#1890ff' } },
458
+ currentFile ? currentFile.name : '',
375
459
  '\u6587\u4EF6\u8BFB\u53D6\u4E2D...'
376
460
  ),
377
461
  _react2['default'].createElement(
@@ -380,17 +464,13 @@ var BigFileUpload = function (_Component) {
380
464
  _react2['default'].createElement(_progress2['default'], { width: 80, percent: preUploadPercent, status: 'active' })
381
465
  )
382
466
  ) : '',
383
- !this.state.cancelStatus && this.state.fileList.length > 0 && !!uploadRequest && _react2['default'].createElement(
384
- 'span',
385
- { style: { margin: '10px auto', color: '#1890ff' } },
386
- '\u6587\u4EF6\u6821\u9A8C\u4E2D...'
387
- ),
388
467
  !this.state.cancelStatus && this.state.fileList.length > 0 && uploadPercent >= 0 && uploadPercent < 100 && _react2['default'].createElement(
389
468
  'div',
390
469
  null,
391
470
  !!uploading && _react2['default'].createElement(
392
471
  'span',
393
472
  { style: { margin: '10px auto', color: '#1890ff' } },
473
+ currentFile ? currentFile.name : '',
394
474
  '\u6587\u4EF6\u4E0A\u4F20\u4E2D(',
395
475
  Math.floor(this.state.speed / 1024),
396
476
  'KB/S)'
@@ -454,6 +534,25 @@ BigFileUpload.defaultProps = {
454
534
  var _initialiseProps = function _initialiseProps() {
455
535
  var _this3 = this;
456
536
 
537
+ this.onPreview = function (file) {
538
+ var objPreviewFileNew = (0, _extends3['default'])({}, objPreviewFileDefault, _comonConfig.objPreviewFile, _this3.props.objPreviewFile);
539
+ var previewFileUrl = objPreviewFileNew.previewFileUrl,
540
+ previewFileType = objPreviewFileNew.previewFileType;
541
+ var uid = file.uid,
542
+ url = file.url,
543
+ name = file.name;
544
+
545
+ var fileNameArr = name.toLowerCase().split('.');
546
+ var fileType = fileNameArr[fileNameArr.length - 1];
547
+ if (previewFileType.indexOf(fileType) >= 0) {
548
+ // const src = previewFileUrl + uid;
549
+ var src = _this3.urlDeal(previewFileUrl, uid);
550
+ window.open(src, '_blank');
551
+ } else {
552
+ window.open(url);
553
+ }
554
+ };
555
+
457
556
  this.setUploadValue = function (v) {
458
557
  var _setFieldsValue;
459
558
 
@@ -465,25 +564,13 @@ var _initialiseProps = function _initialiseProps() {
465
564
  setFieldsValue((_setFieldsValue = {}, _setFieldsValue[name] = v, _setFieldsValue));
466
565
  };
467
566
 
468
- this.urlDeal = function (urlDownloadFile, uid) {
469
- var retUrl = '';
470
- if (uid !== '' && _comonConfig.aFlag && (_comonConfig.aFlag === '1' || _comonConfig.aFlag === '2')) {
471
- var authToken = (0, _Easy3wGetCookie2['default'])('userToken') || 'E3WSAFEAPPQWEFGHYI7I483S';
472
- var nowStr = _.now();
473
- var encUrl = (0, _Easy3wAESEncrypt2['default'])(uid + '@#' + nowStr + '@#' + authToken, _comonConfig.a, _comonConfig.b);
474
- return '' + urlDownloadFile + encUrl;
475
- } else {
476
- retUrl = '' + urlDownloadFile + uid;
477
- return retUrl;
478
- }
479
- };
480
-
481
567
  this.iniValDeal = function (initialValue) {
482
568
  var urlDownloadFile = _this3.props.urlDownloadFile;
483
569
 
484
570
  var iniVal = initialValue.map(function (obj) {
485
571
  var uid = obj.uid,
486
572
  name = obj.name;
573
+ // const url = `${urlDownloadFile}${uid}`;
487
574
 
488
575
  var url = _this3.urlDeal(urlDownloadFile, uid);
489
576
  var status = 'done';
@@ -492,31 +579,73 @@ var _initialiseProps = function _initialiseProps() {
492
579
  return iniVal;
493
580
  };
494
581
 
582
+ this.processQueue = function () {
583
+ var _state4 = _this3.state,
584
+ uploadQueue = _state4.uploadQueue,
585
+ uploading = _state4.uploading;
586
+
587
+ if (uploading) return;
588
+ // 没有待处理的文件
589
+ if (!uploadQueue || uploadQueue.length === 0) {
590
+ _this3.setState({ currentFile: null, uploading: false });
591
+ return;
592
+ }
593
+ // 取第一个文件
594
+ var nextFile = uploadQueue[0];
595
+ _this3.setState({
596
+ cancelStatus: false,
597
+ currentFile: nextFile,
598
+ uploading: true,
599
+ preUploading: true
600
+ }, function () {
601
+ setImmediate(_this3.readFile, nextFile);
602
+ });
603
+ };
604
+
605
+ this.dequeueAndProcessNext = function () {
606
+ var uploadQueue = _this3.state.uploadQueue;
607
+
608
+ var remainingQueue = uploadQueue.slice(1);
609
+ _this3.setState({
610
+ uploadQueue: remainingQueue,
611
+ currentFile: null,
612
+ uploading: false,
613
+ preUploading: false,
614
+ loading: false
615
+ }, function () {
616
+ if (remainingQueue.length > 0) {
617
+ setTimeout(function () {
618
+ _this3.processQueue();
619
+ }, 300);
620
+ }
621
+ });
622
+ };
623
+
495
624
  this.checkFile = function (uploadParams) {
496
625
  _this3.setState({ uploadRequest: true });
626
+ var currentFile = _this3.state.currentFile;
627
+
497
628
  var formData = new FormData();
498
- var authToken = (0, _Easy3wGetCookie2['default'])('userToken') || 'E3WSAFEAPPQWEFGHYI7I483S';
499
- // const timeStr = new Date().getTime();
500
- // if (AESFlag && AESFlag === '1') {
501
- // authToken = Easy3wAESEncrypt(`${authToken}@#${timeStr}`, AESKey, AESIV);
502
- // }
629
+ var authToken = Easy3wGetCookie('userToken') || '40572da23bee5fd59cc5b6c8d8bfb36d';
503
630
  var _props3 = _this3.props,
631
+ sendData = _props3.sendData,
504
632
  name = _props3.name,
505
633
  urlCheckProgress = _props3.urlCheckProgress,
506
634
  urlDownloadFile = _props3.urlDownloadFile,
507
635
  uploadDoneCallback = _props3.uploadDoneCallback;
508
636
 
637
+ var sendDataNew = sendData || {};
509
638
  formData.append('sendTime', new Date().getTime());
510
639
  formData.append('appType', '01');
511
640
  formData.append('authToken', authToken);
512
641
  formData.append('devId', '');
513
- formData.append('data', JSON.stringify({ uploadParams: uploadParams }));
642
+ formData.append('data', JSON.stringify((0, _extends3['default'])({ uploadParams: uploadParams }, sendDataNew)));
514
643
  formData.append('sign', '2959f1aea8db0f7fbba61f0f8474d0ef');
644
+ formData.append('easy3wRootOrg', _comonConfig.easy3wRootOrg || '');
645
+
515
646
  _superagent2['default'].post('' + urlCheckProgress).send(formData).withCredentials().end(function (err, res) {
516
647
  if (err) {
517
- var _state4 = _this3.state,
518
- fileList = _state4.fileList,
519
- currentFile = _state4.currentFile;
648
+ var fileList = _this3.state.fileList;
520
649
 
521
650
  var index = fileList.indexOf(currentFile);
522
651
  if (index >= 0) {
@@ -524,20 +653,22 @@ var _initialiseProps = function _initialiseProps() {
524
653
  _this3.setState((0, _extends3['default'])({}, _this3.state, {
525
654
  fileList: fileList,
526
655
  cancelStatus: true,
527
- loading: false
656
+ loading: false,
657
+ uploading: false
528
658
  }), function () {
529
659
  _this3.setUploadValue(fileList);
660
+ _this3.dequeueAndProcessNext();
530
661
  });
531
662
  }
532
663
  if (err.timeout) {
533
664
  _modal2['default'].error({
534
665
  style: { top: '38%' },
535
- content: '网络超时,上传失败,请检查网络后,重新续传。'
666
+ content: '\u7F51\u7EDC\u8D85\u65F6\uFF0C' + currentFile.name + '\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\uFF0C\u91CD\u65B0\u7EED\u4F20\u3002'
536
667
  });
537
668
  } else {
538
669
  _modal2['default'].error({
539
670
  style: { top: '38%' },
540
- content: '服务请求异常,请重试'
671
+ content: currentFile.name + '\u4E0A\u4F20\u5931\u8D25\uFF0C\u5B58\u5728\u670D\u52A1\u8BF7\u6C42\u5F02\u5E38\uFF0C\u8BF7\u91CD\u8BD5'
541
672
  });
542
673
  }
543
674
  return;
@@ -576,6 +707,7 @@ var _initialiseProps = function _initialiseProps() {
576
707
  if (uploadDoneCallback) {
577
708
  uploadDoneCallback(name, fileInfo, newList);
578
709
  }
710
+ _this3.dequeueAndProcessNext();
579
711
  });
580
712
  } else {
581
713
  var uploadPercent = 0;
@@ -601,30 +733,29 @@ var _initialiseProps = function _initialiseProps() {
601
733
  style: { top: '38%' },
602
734
  content: res.body.rspMsg
603
735
  });
604
- var _state5 = _this3.state,
605
- _fileList2 = _state5.fileList,
606
- _currentFile = _state5.currentFile;
736
+ var _fileList2 = _this3.state.fileList;
607
737
 
608
- var _index2 = _fileList2.indexOf(_currentFile);
738
+ var _index2 = _fileList2.indexOf(currentFile);
609
739
  if (_index2 >= 0) {
610
740
  _fileList2.splice(_index2, 1);
611
- _this3.setState((0, _extends3['default'])({}, _this3.state, { loading: false, fileList: _fileList2 }), function () {
741
+ _this3.setState((0, _extends3['default'])({}, _this3.state, { fileList: _fileList2, loading: false, uploading: false }), function () {
612
742
  _this3.setUploadValue(_fileList2);
743
+ _this3.dequeueAndProcessNext();
613
744
  });
614
745
  }
615
746
  }
616
747
  });
617
748
  };
618
749
 
619
- this.handlePartUpload = function () {
750
+ this.handlePartUpload = function (sIndex, eIndex) {
620
751
  try {
621
- var _state6 = _this3.state,
622
- currentFile = _state6.currentFile,
623
- CUSize = _state6.CUSize,
624
- cancelStatus = _state6.cancelStatus,
625
- uploadData = _state6.uploadData,
626
- loading = _state6.loading,
627
- speed = _state6.speed;
752
+ var _state5 = _this3.state,
753
+ currentFile = _state5.currentFile,
754
+ CUSize = _state5.CUSize,
755
+ cancelStatus = _state5.cancelStatus,
756
+ uploadData = _state5.uploadData,
757
+ loading = _state5.loading,
758
+ speed = _state5.speed;
628
759
 
629
760
  if (cancelStatus) {
630
761
  if (loading) {
@@ -650,6 +781,7 @@ var _initialiseProps = function _initialiseProps() {
650
781
  urlUpBigFileGeneral = _props4.urlUpBigFileGeneral,
651
782
  urlDownloadFile = _props4.urlDownloadFile;
652
783
 
784
+ var sendDataNew = sendData || {};
653
785
  var chunkSize = 0;
654
786
  if (typeof limitChunkSize === 'string') {
655
787
  if (limitChunkSize.toLowerCase().indexOf('k') !== -1) {
@@ -678,27 +810,32 @@ var _initialiseProps = function _initialiseProps() {
678
810
  } else {
679
811
  end = fileSize;
680
812
  }
813
+ var start = CUSize;
814
+ if (sIndex && sIndex > 0 && eIndex && eIndex > 0) {
815
+ end = eIndex;
816
+ start = sIndex;
817
+ }
681
818
  uploadFileReader.onload = function (e) {
682
819
  if (chunkCheckErr) {
683
820
  return;
684
821
  }
822
+ var mainFileSpark = new _sparkMd2['default'].ArrayBuffer(); // 对arrayBuffer数据进行md5加密,产生一个md5字符串 主文件
823
+ mainFileSpark.append(e.target.result);
824
+ var chunkMD5 = mainFileSpark.end();
685
825
  // 上传附件
686
826
  var file = uploadData.file;
687
827
 
688
828
  var formData = new FormData();
689
- var authToken = (0, _Easy3wGetCookie2['default'])('userToken') || 'E3WSAFEAPPQWEFGHYI7I483S';
690
- // const timeStr = new Date().getTime();
691
- // if (AESFlag && AESFlag === '1') {
692
- // authToken = Easy3wAESEncrypt(`${authToken}@#${timeStr}`, AESKey, AESIV);
693
- // }
829
+ var authToken = Easy3wGetCookie('userToken') || '40572da23bee5fd59cc5b6c8d8bfb36d';
694
830
  var blob = new Blob([e.target.result], { type: 'application/octet-stream' });
695
- var postParam = (0, _extends3['default'])({ fileInfo: file }, sendData, { currentSize: end });
831
+ var postParam = (0, _extends3['default'])({ fileInfo: file }, sendDataNew, { currentSize: end, startSize: start, chunkMD5: chunkMD5 });
696
832
  formData.append('chunk', blob);
697
833
  formData.append('sendTime', new Date().getTime());
698
834
  formData.append('appType', '01');
699
835
  formData.append('authToken', authToken);
700
836
  formData.append('data', JSON.stringify(postParam));
701
837
  formData.append('sign', '2959f1aea8db0f7fbba61f0f8474d0ef');
838
+ formData.append('easy3wRootOrg', _comonConfig.easy3wRootOrg || '');
702
839
  var startTime = new Date().getTime();
703
840
  _superagent2['default'].post('' + urlUpBigFileGeneral).send(formData).withCredentials().end(function (err, res) {
704
841
  if (err) {
@@ -710,21 +847,25 @@ var _initialiseProps = function _initialiseProps() {
710
847
  _this3.setState((0, _extends3['default'])({}, _this3.state, {
711
848
  fileList: fileList,
712
849
  cancelStatus: true,
713
- loading: false
850
+ loading: false,
851
+ uploading: false
714
852
  }), function () {
715
853
  _this3.setUploadValue(fileList);
854
+ _this3.dequeueAndProcessNext();
716
855
  });
717
856
  }
718
857
  if (err.timeout) {
719
858
  _modal2['default'].error({
720
859
  style: { top: '38%' },
721
- content: '网络超时,上传失败,请检查网络后,重新续传。'
860
+ content: '\u7F51\u7EDC\u8D85\u65F6\uFF0C' + currentFile.name + '\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u7F51\u7EDC\u540E\uFF0C\u91CD\u65B0\u7EED\u4F20\u3002'
722
861
  });
862
+ _this3.dequeueAndProcessNext();
723
863
  } else {
724
864
  _modal2['default'].error({
725
865
  style: { top: '38%' },
726
- content: '服务请求异常,请重试'
866
+ content: currentFile.name + '\u4E0A\u4F20\u5931\u8D25\uFF0C\u5B58\u5728\u670D\u52A1\u8BF7\u6C42\u5F02\u5E38\uFF0C\u8BF7\u91CD\u8BD5'
727
867
  });
868
+ _this3.dequeueAndProcessNext();
728
869
  }
729
870
  return;
730
871
  }
@@ -732,16 +873,26 @@ var _initialiseProps = function _initialiseProps() {
732
873
  blob = null;
733
874
  formData = null;
734
875
  if (res && res.body.rspCode === '0000') {
735
- var useTime = (new Date().getTime() - startTime) / 1000; // 用时秒
736
- // 1秒传输速率
737
- var curSpeed = Math.floor(1 / useTime * size);
738
876
  var _res$body$data2 = res.body.data,
739
877
  uploadStatus = _res$body$data2.uploadStatus,
740
878
  fileId = _res$body$data2.fileId,
741
879
  checkStatus = _res$body$data2.checkStatus,
742
- uploadedSize = _res$body$data2.uploadedSize;
880
+ uploadedSize = _res$body$data2.uploadedSize,
881
+ startIndex = _res$body$data2.startIndex,
882
+ endIndex = _res$body$data2.endIndex;
743
883
 
884
+ var useTime = (new Date().getTime() - startTime) / 1000; // 用时秒
744
885
  var upSize = Number(uploadedSize);
886
+ // 1秒传输速率
887
+ var curSpeed = Math.floor(1 / useTime * size);
888
+ if (checkStatus && checkStatus === 'RETRY') {
889
+ _this3.setState((0, _extends3['default'])({}, _this3.state, {
890
+ speed: curSpeed
891
+ }), function () {
892
+ setImmediate(_this3.handlePartUpload, startIndex, endIndex);
893
+ });
894
+ return;
895
+ }
745
896
  // 计算上传进度
746
897
  uploadPercent = Math.floor(upSize / fileSize * 100 * 10) / 10;
747
898
  if (checkStatus === '0') {
@@ -778,6 +929,7 @@ var _initialiseProps = function _initialiseProps() {
778
929
  speed: curSpeed
779
930
  }), function () {
780
931
  _this3.setUploadValue(newList);
932
+ _this3.dequeueAndProcessNext();
781
933
  });
782
934
  if (uploadCallback && typeof uploadCallback === 'function') {
783
935
  uploadCallback(newList);
@@ -790,12 +942,12 @@ var _initialiseProps = function _initialiseProps() {
790
942
  if (checkStatus !== '1') {
791
943
  _modal2['default'].error({
792
944
  style: { top: '38%' },
793
- content: '附件完整性验证失败:可能由于网络丢包原因,您上传的附件未通过完整性校验,需要您重新上传。'
945
+ content: currentFile.name + '\u6587\u4EF6\u5B8C\u6574\u6027\u9A8C\u8BC1\u5931\u8D25\uFF1A\u53EF\u80FD\u7531\u4E8E\u7F51\u7EDC\u4E22\u5305\u539F\u56E0\uFF0C\u60A8\u4E0A\u4F20\u7684\u9644\u4EF6\u672A\u901A\u8FC7\u5B8C\u6574\u6027\u6821\u9A8C\uFF0C\u9700\u8981\u60A8\u91CD\u65B0\u4E0A\u4F20\u3002'
794
946
  });
795
947
  } else {
796
948
  _modal2['default'].error({
797
949
  style: { top: '38%' },
798
- content: '上传失败'
950
+ content: currentFile.name + '\u6587\u4EF6\u4E0A\u4F20\u5931\u8D25'
799
951
  });
800
952
  }
801
953
  var _index3 = _fileList3.indexOf(currentFile);
@@ -812,6 +964,7 @@ var _initialiseProps = function _initialiseProps() {
812
964
  speed: curSpeed
813
965
  }), function () {
814
966
  _this3.setUploadValue(_fileList3);
967
+ _this3.dequeueAndProcessNext();
815
968
  });
816
969
  }
817
970
  }
@@ -827,58 +980,61 @@ var _initialiseProps = function _initialiseProps() {
827
980
  setImmediate(_this3.handlePartUpload);
828
981
  });
829
982
  }
830
- } else if (res && res.body.rspMsg) {
983
+ } else {
831
984
  _modal2['default'].error({
832
985
  style: { top: '38%' },
833
- content: res.body.rspMsg
986
+ content: res && res.body.rspMsg ? res.body.rspMsg : currentFile.name + '\u6587\u4EF6\u4E0A\u4F20\u5931\u8D25'
834
987
  });
835
988
  var _fileList4 = _this3.state.fileList;
836
989
 
837
990
  var _index4 = _fileList4.indexOf(currentFile);
838
991
  if (_index4 >= 0) {
839
992
  _fileList4.splice(_index4, 1);
840
- _this3.setState((0, _extends3['default'])({}, _this3.state, { loading: false, fileList: _fileList4 }), function () {
993
+ _this3.setState((0, _extends3['default'])({}, _this3.state, { loading: false, uploading: false, fileList: _fileList4 }), function () {
841
994
  _this3.setUploadValue(_fileList4);
842
- });
843
- }
844
- } else {
845
- _modal2['default'].error({
846
- style: { top: '38%' },
847
- content: '上传失败'
848
- });
849
- var _fileList5 = _this3.state.fileList;
850
-
851
- var _index5 = _fileList5.indexOf(currentFile);
852
- if (_index5 >= 0) {
853
- _fileList5.splice(_index5, 1);
854
- _this3.setState((0, _extends3['default'])({}, _this3.state, { loading: false, fileList: _fileList5 }), function () {
855
- _this3.setUploadValue(_fileList5);
995
+ _this3.dequeueAndProcessNext();
856
996
  });
857
997
  }
858
998
  }
859
999
  });
860
1000
  };
861
- // console.log('读取文件', `文件大小:${currentFile.size}`, `已上传大小${CUSize}`, `结束值${end}`, `切片大小${speed}`);
862
- uploadFileReader.readAsArrayBuffer(blobSlice.call(currentFile, CUSize, end));
1001
+ // console.log('读取文件', `文件大小:${currentFile.size}`, `已上传大小${start}`, `结束值${end}`, `切片大小${speed}`);
1002
+ uploadFileReader.readAsArrayBuffer(blobSlice.call(currentFile, start, end));
863
1003
  } catch (error) {
864
1004
  _modal2['default'].error({
865
1005
  style: { top: '38%' },
866
1006
  content: error
867
1007
  });
868
- var _state7 = _this3.state,
869
- fileList = _state7.fileList,
870
- _currentFile2 = _state7.currentFile;
1008
+ var _state6 = _this3.state,
1009
+ fileList = _state6.fileList,
1010
+ _currentFile = _state6.currentFile;
871
1011
 
872
- var index = fileList.indexOf(_currentFile2);
1012
+ var index = fileList.indexOf(_currentFile);
873
1013
  if (index >= 0) {
874
1014
  fileList.splice(index, 1);
875
1015
  _this3.setState((0, _extends3['default'])({}, _this3.state, { fileList: fileList }), function () {
876
1016
  _this3.setUploadValue(fileList);
1017
+ _this3.dequeueAndProcessNext();
877
1018
  });
878
1019
  }
879
1020
  }
880
1021
  };
881
1022
 
1023
+ this.urlDeal = function (urlDownloadFile, uid) {
1024
+ var propsAFlag = _this3.props.propsAFlag; // propsAFlag 加密标识 从引用组件处传入 '1':加密 '0':不加密
1025
+
1026
+ var retUrl = '';
1027
+ if (uid !== '' && propsAFlag === '1' || uid !== '' && propsAFlag !== '0' && (_comonConfig.aFlag === '1' || _comonConfig.aFlag === '2')) {
1028
+ var authToken = Easy3wGetCookie('userToken') || 'E3WSAFEAPPQWEFGHYI7I483S';
1029
+ var nowStr = _.now();
1030
+ var encUrl = (0, _Easy3wAESEncrypt2['default'])(uid + '@#' + nowStr + '@#' + authToken, _comonConfig.a, _comonConfig.b);
1031
+ return '' + urlDownloadFile + encUrl;
1032
+ } else {
1033
+ retUrl = '' + urlDownloadFile + uid;
1034
+ return retUrl;
1035
+ }
1036
+ };
1037
+
882
1038
  this.readFile = function (file) {
883
1039
  try {
884
1040
  var chunkReader = new FileReader();
@@ -939,7 +1095,8 @@ var _initialiseProps = function _initialiseProps() {
939
1095
  if (sliceIndex < sliceCount) {
940
1096
  _this3.setState((0, _extends3['default'])({}, _this3.state, {
941
1097
  preUploading: true,
942
- preUploadPercent: Number((sliceIndex / sliceCount * 100).toFixed(1)) }));
1098
+ preUploadPercent: Number((sliceIndex / sliceCount * 100).toFixed(1))
1099
+ }));
943
1100
  setImmediate(_loadNext, sliceIndex, tempreadFileSize);
944
1101
  } else {
945
1102
  var mainFileMD5 = mainFileSpark.end();
@@ -972,38 +1129,36 @@ var _initialiseProps = function _initialiseProps() {
972
1129
  style: { top: '38%' },
973
1130
  content: error
974
1131
  });
975
- var _state8 = _this3.state,
976
- fileList = _state8.fileList,
977
- currentFile = _state8.currentFile;
1132
+ var _state7 = _this3.state,
1133
+ fileList = _state7.fileList,
1134
+ currentFile = _state7.currentFile;
978
1135
 
979
1136
  var index = fileList.indexOf(currentFile);
980
1137
  if (index >= 0) {
981
1138
  fileList.splice(index, 1);
982
1139
  _this3.setState((0, _extends3['default'])({}, _this3.state, { fileList: fileList }), function () {
983
1140
  _this3.setUploadValue(fileList);
1141
+ _this3.dequeueAndProcessNext();
984
1142
  });
985
1143
  }
986
1144
  }
987
1145
  };
988
1146
 
989
1147
  this.requiredFile = function (rule, value, callback) {
990
- var required = _this3.props.required;
991
- var fileList = _this3.state.fileList;
1148
+ var str = void 0;
1149
+ if (value && value instanceof Array) {
1150
+ for (var i = 0; i < value.length; i += 1) {
1151
+ var status = value[i].status;
992
1152
 
993
- if (required && (!fileList || fileList.length === 0)) {
994
- callback();
995
- return;
996
- }
997
- if (required) {
998
- for (var i = 0; i < fileList.length; i += 1) {
999
- var file = fileList[i];
1000
- if (file.status !== 'done') {
1001
- callback(' ');
1153
+ if (status === 'uploading') {
1154
+ str = ' ';
1002
1155
  break;
1003
1156
  }
1004
1157
  }
1158
+ } else {
1159
+ str = ' ';
1005
1160
  }
1006
- callback();
1161
+ callback(str);
1007
1162
  };
1008
1163
  };
1009
1164