easy3wui 1.5.52 → 1.5.53-beta2

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.
@@ -367,31 +367,20 @@ var Easy3wUpload = function (_Component) {
367
367
  return fileList;
368
368
  };
369
369
  var checkFile = function checkFile(rule, value, callback) {
370
- if (required && (!value || value.length === 0)) {
371
- callback();
372
- return;
373
- }
374
- if (value) {
375
- value = value.slice(-1);
376
- value = value.filter(function (file) {
377
- if (file.response && file.response.rspCode === '0000') {
378
- callback();
379
- return true;
380
- }
381
- if (file.status === 'uploading') {
382
- callback(' ');
383
- return false;
370
+ var str = void 0;
371
+ if (value && value instanceof Array) {
372
+ for (var i = 0; i < value.length; i += 1) {
373
+ var status = value[i].status;
374
+
375
+ if (status !== 'done') {
376
+ str = ' ';
377
+ break;
384
378
  }
385
- return true;
386
- });
387
-
388
- if (required && value.length > 0) {
389
- callback();
390
- return;
391
379
  }
380
+ } else {
381
+ str = ' ';
392
382
  }
393
-
394
- callback();
383
+ callback(str);
395
384
  };
396
385
  return isRead ? _react2['default'].createElement(
397
386
  FormItem,
@@ -0,0 +1,511 @@
1
+ 'use strict';
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _extends2 = require('babel-runtime/helpers/extends');
6
+
7
+ var _extends3 = _interopRequireDefault(_extends2);
8
+
9
+ var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
10
+
11
+ var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
12
+
13
+ var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
14
+
15
+ var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
16
+
17
+ var _inherits2 = require('babel-runtime/helpers/inherits');
18
+
19
+ var _inherits3 = _interopRequireDefault(_inherits2);
20
+
21
+ var _react = require('react');
22
+
23
+ var _react2 = _interopRequireDefault(_react);
24
+
25
+ var _propTypes = require('prop-types');
26
+
27
+ var _propTypes2 = _interopRequireDefault(_propTypes);
28
+
29
+ var _form = require('antd/lib/form');
30
+
31
+ var _form2 = _interopRequireDefault(_form);
32
+
33
+ require('antd/lib/form/style');
34
+
35
+ var _upload = require('antd/lib/upload');
36
+
37
+ var _upload2 = _interopRequireDefault(_upload);
38
+
39
+ require('antd/lib/upload/style');
40
+
41
+ var _icon = require('antd/lib/icon');
42
+
43
+ var _icon2 = _interopRequireDefault(_icon);
44
+
45
+ require('antd/lib/icon/style');
46
+
47
+ var _button = require('antd/lib/button');
48
+
49
+ var _button2 = _interopRequireDefault(_button);
50
+
51
+ require('antd/lib/button/style');
52
+
53
+ var _popover = require('antd/lib/popover');
54
+
55
+ var _popover2 = _interopRequireDefault(_popover);
56
+
57
+ require('antd/lib/popover/style');
58
+
59
+ var _modal = require('antd/lib/modal');
60
+
61
+ var _modal2 = _interopRequireDefault(_modal);
62
+
63
+ require('antd/lib/modal/style');
64
+
65
+ var _comonConfig = require('comonConfigPath/comonConfig');
66
+
67
+ var _Easy3wGetCookie = require('../Easy3wGetCookie');
68
+
69
+ var _Easy3wGetCookie2 = _interopRequireDefault(_Easy3wGetCookie);
70
+
71
+ var _Easy3wDownLoad = require('../Easy3wDownLoad');
72
+
73
+ var _Easy3wDownLoad2 = _interopRequireDefault(_Easy3wDownLoad);
74
+
75
+ var _Easy3wAESEncrypt = require('../Easy3wAESEncrypt');
76
+
77
+ var _Easy3wAESEncrypt2 = _interopRequireDefault(_Easy3wAESEncrypt);
78
+
79
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
80
+
81
+ var FormItem = _form2['default'].Item;
82
+ var formItemStyle = {
83
+ marginBottom: 6
84
+ };
85
+
86
+ var Easy3wUpload = function (_Component) {
87
+ (0, _inherits3['default'])(Easy3wUpload, _Component);
88
+
89
+ function Easy3wUpload() {
90
+ var _temp, _this, _ret;
91
+
92
+ (0, _classCallCheck3['default'])(this, Easy3wUpload);
93
+
94
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
95
+ args[_key] = arguments[_key];
96
+ }
97
+
98
+ return _ret = (_temp = (_this = (0, _possibleConstructorReturn3['default'])(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.onPreview = function (file) {
99
+ var objPreviewFileNew = (0, _extends3['default'])({}, _comonConfig.objPreviewFile, _this.props.objPreviewFile);
100
+ var previewFileUrl = objPreviewFileNew.previewFileUrl,
101
+ previewFileType = objPreviewFileNew.previewFileType;
102
+ var uid = file.uid,
103
+ url = file.url,
104
+ name = file.name;
105
+
106
+ var fileNameArr = name.toLowerCase().split('.');
107
+ var fileType = fileNameArr[fileNameArr.length - 1];
108
+ if (previewFileType.indexOf(fileType) >= 0) {
109
+ var src = _this.urlDeal(previewFileUrl, uid);
110
+ window.open(src, '_blank');
111
+ } else {
112
+ window.open(url);
113
+ }
114
+ }, _this.urlDeal = function (urlDownloadFile, uid) {
115
+ var propsAFlag = _this.props.propsAFlag; // propsAFlag 加密标识 从引用组件处传入 '1':加密 '0':不加密
116
+
117
+ var retUrl = '';
118
+ if (uid !== '' && propsAFlag === '1' || uid !== '' && propsAFlag !== '0' && (_comonConfig.aFlag === '1' || _comonConfig.aFlag === '2')) {
119
+ var authToken = (0, _Easy3wGetCookie2['default'])('userToken') || 'E3WSAFEAPPQWEFGHYI7I483S';
120
+ var nowStr = _.now();
121
+ var encUrl = (0, _Easy3wAESEncrypt2['default'])(uid + '@#' + nowStr + '@#' + authToken, _comonConfig.a, _comonConfig.b);
122
+ return '' + urlDownloadFile + encUrl;
123
+ } else {
124
+ retUrl = '' + urlDownloadFile + uid;
125
+ return retUrl;
126
+ }
127
+ }, _temp), (0, _possibleConstructorReturn3['default'])(_this, _ret);
128
+ }
129
+ // 预览
130
+
131
+ // url处理
132
+
133
+
134
+ Easy3wUpload.prototype.render = function render() {
135
+ var _this2 = this;
136
+
137
+ var _props = this.props,
138
+ urlUpFileService = _props.urlUpFileService,
139
+ urlDownloadFile = _props.urlDownloadFile,
140
+ uploadName = _props.uploadName,
141
+ sendData = _props.sendData,
142
+ listType = _props.listType,
143
+ accept = _props.accept,
144
+ limitSize = _props.limitSize,
145
+ required = _props.required,
146
+ initialValue = _props.initialValue,
147
+ help = _props.help,
148
+ buttonName = _props.buttonName,
149
+ form = _props.form,
150
+ isRead = _props.isRead,
151
+ label = _props.label,
152
+ className = _props.className,
153
+ labelCol = _props.labelCol,
154
+ wrapperCol = _props.wrapperCol,
155
+ extend = _props.extend,
156
+ extendBack = _props.extendBack,
157
+ uploadDoneCallback = _props.uploadDoneCallback,
158
+ removeCallback = _props.removeCallback,
159
+ hadUpdBtn = _props.hadUpdBtn,
160
+ propsAFlag = _props.propsAFlag,
161
+ fileViewFlag = _props.fileViewFlag;
162
+ var warnMessage = this.props.warnMessage;
163
+
164
+ var iniVal = [];
165
+ if (initialValue) {
166
+ iniVal = initialValue.map(function (obj) {
167
+ var uid = obj.uid,
168
+ name = obj.name,
169
+ status = obj.status;
170
+
171
+ var url = _this2.urlDeal(urlDownloadFile, uid);
172
+ return { uid: uid, name: name, url: url, status: status || 'done' };
173
+ });
174
+ }
175
+ var getFieldDecorator = form.getFieldDecorator;
176
+
177
+ if (!warnMessage) {
178
+ warnMessage = help;
179
+ }
180
+ var extendShowFlag = false;
181
+ var extendBackShowFlag = false;
182
+ if (extend) {
183
+ extendShowFlag = true;
184
+ }
185
+ if (extendBack) {
186
+ extendBackShowFlag = true;
187
+ }
188
+ var ENCFlag = '0';
189
+ var authToken = (0, _Easy3wGetCookie2['default'])('userToken') || 'E3WSAFEAPPQWEFGHYI7I483S';
190
+ var upProps = {
191
+ name: uploadName,
192
+ action: urlUpFileService,
193
+ listType: listType,
194
+ showUploadList: true,
195
+ headers: {
196
+ authorization: 'authorization-text'
197
+ },
198
+ accept: accept,
199
+ data: {
200
+ sendTime: new Date().getTime(),
201
+ appType: '01',
202
+ authToken: authToken,
203
+ ENCFlag: ENCFlag,
204
+ sign: '2959f1aea8db0f7fbba61f0f8474d0ef',
205
+ data: sendData,
206
+ easy3wRootOrg: _comonConfig.easy3wRootOrg || ''
207
+ }
208
+ };
209
+ if (isRead) {
210
+ upProps = (0, _extends3['default'])({}, upProps, { children: true, showUploadList: { showDownloadIcon: true, showPreviewIcon: true, showRemoveIcon: false } });
211
+ }
212
+ var objPreviewFileNew = (0, _extends3['default'])({}, _comonConfig.objPreviewFile, this.props.objPreviewFile);
213
+ var previewFileFlag = objPreviewFileNew.previewFileFlag;
214
+
215
+ if (previewFileFlag && fileViewFlag !== false) {
216
+ upProps.onPreview = this.onPreview;
217
+ }
218
+ var beforeUpload = function beforeUpload(file) {
219
+ // 限制上传大小
220
+ var fileSize = file.size / 1024 / 1024;
221
+ var isLimitSize = fileSize < limitSize;
222
+ var fileTypePass = true;
223
+ var name = file.name;
224
+
225
+ var fileNameArr = name.toLowerCase().split('.');
226
+ var fileType = fileNameArr[fileNameArr.length - 1];
227
+ 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';
228
+ if (accept && accept.length > 0) {
229
+ acceptDefault = accept;
230
+ }
231
+ if (acceptDefault.indexOf(fileType) < 0) {
232
+ fileTypePass = false;
233
+ }
234
+ // const notAccept = ".sh,.csh,.bat,.cmd,.exe,.php,.asp,.aspx,.jsp,.sys,.dll";
235
+ // if (notAccept.indexOf(fileType) >= 0) {
236
+ // fileTypePass = false;
237
+ // }
238
+ if (name.length > 100) {
239
+ _modal2['default'].info({
240
+ style: { top: '38%' },
241
+ okText: '知道了',
242
+ content: '文件名至多100个字符'
243
+ });
244
+ return false;
245
+ }
246
+ if (!fileTypePass) {
247
+ _modal2['default'].error({
248
+ style: { top: '38%' },
249
+ content: '\u4E0D\u652F\u6301' + fileType + '\u7C7B\u578B\u7684\u6587\u4EF6!'
250
+ });
251
+ return false;
252
+ }
253
+ if (!isLimitSize) {
254
+ _modal2['default'].error({
255
+ style: { top: '38%' },
256
+ content: '\u9644\u4EF6\u5FC5\u987B\u5C0F\u4E8E' + limitSize + 'MB!'
257
+ });
258
+ return false;
259
+ } else if (fileSize === 0) {
260
+ _modal2['default'].error({
261
+ style: { top: '38%' },
262
+ content: '附件必须大于0MB!'
263
+ });
264
+ return false;
265
+ } else {
266
+ return true;
267
+ }
268
+ };
269
+ var handleRemove = function handleRemove(file) {
270
+ if (removeCallback) {
271
+ removeCallback(uploadName, file);
272
+ }
273
+ return true;
274
+ };
275
+ var handleFileChange = function handleFileChange(e) {
276
+ var fileList = e.fileList;
277
+ var file = e.file;
278
+ // 移除大小不符、类型不符的文件
279
+
280
+ fileList = fileList.filter(function (f1) {
281
+ var size = f1.size,
282
+ name = f1.name;
283
+
284
+ var correctSizeFlag = size > 0 && size / 1024 / 1024 < limitSize;
285
+ var correctTypeFlag = true;
286
+ var fileNameArr = name.toLowerCase().split('.');
287
+ var fileType = fileNameArr[fileNameArr.length - 1];
288
+ var acceptDefault = '.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';
289
+ if (name.length > 100) {
290
+ return false;
291
+ }
292
+ if (accept && accept.length > 0) {
293
+ acceptDefault = accept;
294
+ }
295
+ if (acceptDefault.indexOf(fileType) < 0) {
296
+ correctTypeFlag = false;
297
+ }
298
+ if (!correctSizeFlag || !correctTypeFlag) {
299
+ return false;
300
+ } else {
301
+ return true;
302
+ }
303
+ });
304
+ if (file.status !== 'uploading') {
305
+ // 1. Limit the number of uploaded files
306
+ // Only to show two recent uploaded files, and old ones will be replaced by the new
307
+ // 上传1个文件
308
+ fileList = fileList.slice(-1);
309
+ // 2. read from response and show file link
310
+ fileList = fileList.map(function (f1) {
311
+ var filex = f1;
312
+ // Component will show file.url as link
313
+ if (filex.response && filex.response.data) {
314
+ var id = filex.response.data.fileId;
315
+ var url = _this2.urlDeal(urlDownloadFile, id);
316
+ filex.url = url;
317
+ }
318
+ return filex;
319
+ });
320
+ // 3. filter successfully uploaded files according to response from server
321
+ fileList = fileList.filter(function (filex) {
322
+ var status = filex.status,
323
+ name = filex.name;
324
+
325
+ if (status === 'error') {
326
+ _modal2['default'].error({
327
+ style: { top: '38%' },
328
+ content: '\u9644\u4EF6' + name + '\u4E0A\u4F20\u5931\u8D25!'
329
+ });
330
+ return false; // 上传失败
331
+ }
332
+ if (filex.response) {
333
+ if (filex.response.rspCode === '0000') {
334
+ return true;
335
+ }
336
+ if (filex.response.rspMsg) {
337
+ _modal2['default'].error({
338
+ style: { top: '38%' },
339
+ content: filex.response.rspMsg
340
+ });
341
+ } else {
342
+ _modal2['default'].error({
343
+ style: { top: '38%' },
344
+ content: '\u9644\u4EF6' + name + '\u4E0A\u4F20\u5931\u8D25!'
345
+ });
346
+ }
347
+ return false;
348
+ }
349
+ return true;
350
+ });
351
+ }
352
+ if (file.status === 'done' && file.response && file.response.rspCode === '0000' && file.response.data) {
353
+ // 处理fileList的结构
354
+ var fileListnew = [{
355
+ uid: file.response.data.fileId,
356
+ name: fileList[0].name,
357
+ status: 'done',
358
+ url: fileList[0].url
359
+ }];
360
+ fileList = fileListnew;
361
+ if (uploadDoneCallback) {
362
+ uploadDoneCallback(uploadName, file);
363
+ }
364
+ } else if (file.status === 'error' || file.status === undefined) {
365
+ fileList = [];
366
+ }
367
+ return fileList;
368
+ };
369
+ var checkFile = function checkFile(rule, value, callback) {
370
+ if (required && (!value || value.length === 0)) {
371
+ callback();
372
+ return;
373
+ }
374
+ if (value) {
375
+ value = value.slice(-1);
376
+ value = value.filter(function (file) {
377
+ if (file.response && file.response.rspCode === '0000') {
378
+ callback();
379
+ return true;
380
+ }
381
+ if (file.status === 'uploading') {
382
+ callback(' ');
383
+ return false;
384
+ }
385
+ return true;
386
+ });
387
+
388
+ if (required && value.length > 0) {
389
+ callback();
390
+ return;
391
+ }
392
+ }
393
+
394
+ callback();
395
+ };
396
+ return isRead ? _react2['default'].createElement(
397
+ FormItem,
398
+ {
399
+ label: label,
400
+ className: className,
401
+ labelCol: labelCol,
402
+ wrapperCol: wrapperCol,
403
+ style: formItemStyle
404
+ },
405
+ extendShowFlag ? extend : '',
406
+ getFieldDecorator('' + uploadName, {})(_react2['default'].createElement(_Easy3wDownLoad2['default'], {
407
+ pdfViewFlag: true,
408
+ imgVisible: true,
409
+ urlDownloadFile: urlDownloadFile,
410
+ downloadArr: initialValue,
411
+ propsAFlag: propsAFlag,
412
+ fileViewFlag: fileViewFlag
413
+ })),
414
+ extendBackShowFlag ? extendBack : ''
415
+ ) : _react2['default'].createElement(
416
+ FormItem,
417
+ {
418
+ label: label,
419
+ className: className,
420
+ labelCol: labelCol,
421
+ wrapperCol: wrapperCol,
422
+ style: formItemStyle
423
+ },
424
+ extendShowFlag ? extend : '',
425
+ getFieldDecorator('' + uploadName, {
426
+ initialValue: iniVal || undefined,
427
+ getValueFromEvent: handleFileChange,
428
+ valuePropName: 'fileList',
429
+ rules: [{ validator: checkFile }, { required: required, message: warnMessage }]
430
+ })(_react2['default'].createElement(
431
+ _upload2['default'],
432
+ (0, _extends3['default'])({
433
+ beforeUpload: beforeUpload
434
+ }, upProps, {
435
+ onRemove: handleRemove
436
+ }),
437
+ _react2['default'].createElement(
438
+ _popover2['default'],
439
+ {
440
+ placement: 'top',
441
+ content: _react2['default'].createElement(
442
+ 'div',
443
+ { style: { padding: '4px 0' } },
444
+ _react2['default'].createElement(
445
+ 'span',
446
+ { style: { color: '#5468b2', width: 200, height: 300 } },
447
+ help
448
+ )
449
+ ),
450
+ arrowPointAtCenter: true,
451
+ style: { width: 200, height: 'auto' }
452
+ },
453
+ hadUpdBtn ? _react2['default'].createElement(
454
+ _button2['default'],
455
+ null,
456
+ _react2['default'].createElement(_icon2['default'], { type: 'upload' }),
457
+ ' ',
458
+ buttonName
459
+ ) : ''
460
+ )
461
+ )),
462
+ extendBackShowFlag ? extendBack : ''
463
+ );
464
+ };
465
+
466
+ return Easy3wUpload;
467
+ }(_react.Component);
468
+
469
+ Easy3wUpload.propTypes = {
470
+ uploadName: _propTypes2['default'].string.isRequired, // 上传名称
471
+ sendData: _propTypes2['default'].string.isRequired, // 传送数据接口
472
+ initialValue: _propTypes2['default'].array, // 初始值
473
+ urlUpFileService: _propTypes2['default'].string, // 后台附件服务地址
474
+ urlDownloadFile: _propTypes2['default'].string,
475
+ required: _propTypes2['default'].bool, // 是否必须
476
+ help: _propTypes2['default'].string, // 后台附件服务地址
477
+ limitSize: _propTypes2['default'].number, // 文件大小限制
478
+ listType: _propTypes2['default'].string, // 附件类型
479
+ accept: _propTypes2['default'].string, // 接受类型
480
+ buttonName: _propTypes2['default'].string, // 上传名称
481
+ isRead: _propTypes2['default'].bool, // 是否只读
482
+ label: _propTypes2['default'].string, // lable名称
483
+ className: _propTypes2['default'].string, // CSS类名
484
+ labelCol: _propTypes2['default'].object, // CSS类名
485
+ wrapperCol: _propTypes2['default'].object, // CSS类名
486
+ warnMessage: _propTypes2['default'].string, // 提示
487
+ extend: _propTypes2['default'].object, // 上传按钮之前的扩展
488
+ extendBack: _propTypes2['default'].object, // 上传按钮之后的扩展
489
+ hadUpdBtn: _propTypes2['default'].bool // 是否有上传按钮
490
+ };
491
+ Easy3wUpload.defaultProps = {
492
+ initialValue: [],
493
+ listType: 'file',
494
+ accept: '',
495
+ limitSize: 200,
496
+ urlUpFileService: '',
497
+ urlDownloadFile: '',
498
+ buttonName: '上传',
499
+ help: '请上传附件',
500
+ required: true,
501
+ isRead: false,
502
+ label: '',
503
+ className: '',
504
+ labelCol: {},
505
+ wrapperCol: {},
506
+ warnMessage: '',
507
+ extend: undefined,
508
+ extendBack: undefined,
509
+ hadUpdBtn: true };
510
+ exports['default'] = Easy3wUpload;
511
+ module.exports = exports['default'];
@@ -1032,23 +1032,20 @@ var _initialiseProps = function _initialiseProps() {
1032
1032
  };
1033
1033
 
1034
1034
  this.requiredFile = function (rule, value, callback) {
1035
- var required = _this3.props.required;
1036
- var fileList = _this3.state.fileList;
1035
+ var str = void 0;
1036
+ if (value && value instanceof Array) {
1037
+ for (var i = 0; i < value.length; i += 1) {
1038
+ var status = value[i].status;
1037
1039
 
1038
- if (required && (!fileList || fileList.length === 0)) {
1039
- callback();
1040
- return;
1041
- }
1042
- if (required) {
1043
- for (var i = 0; i < fileList.length; i += 1) {
1044
- var file = fileList[i];
1045
- if (file.status !== 'done') {
1046
- callback(' ');
1040
+ if (status !== 'done') {
1041
+ str = ' ';
1047
1042
  break;
1048
1043
  }
1049
1044
  }
1045
+ } else {
1046
+ str = ' ';
1050
1047
  }
1051
- callback();
1048
+ callback(str);
1052
1049
  };
1053
1050
  };
1054
1051