easy3wui 1.5.86-7.beta → 1.5.86

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 (71) hide show
  1. package/LICENSE.md +3 -3
  2. package/README.md +26 -26
  3. package/assets/index.css +4 -0
  4. package/assets/skeleton.css +4 -0
  5. package/lib/Easy3wA/index.js +4 -9
  6. package/lib/Easy3wBlankLayout/index.js +45 -13
  7. package/lib/Easy3wButton/index.js +8 -12
  8. package/lib/Easy3wButtonOne/index.js +5 -9
  9. package/lib/Easy3wCaHandler/index.js +6 -10
  10. package/lib/Easy3wCard/indexM.js +3 -9
  11. package/lib/Easy3wCard/indexPC.js +3 -9
  12. package/lib/Easy3wDictCode/index.js +1 -5
  13. package/lib/Easy3wDownLoad/Easy3wFileView.js +3 -9
  14. package/lib/Easy3wDownLoad/Easy3wImgView.js +3 -9
  15. package/lib/Easy3wDownLoad/Easy3wPDFView.js +5 -11
  16. package/lib/Easy3wDownLoad/index.js +7 -3
  17. package/lib/Easy3wEditBigTable/Easy3wEditBigTableForm.js +12 -23
  18. package/lib/Easy3wEditBigTable/Editors/EditorsInputNumber.js +7 -0
  19. package/lib/Easy3wEditBigTable/index.js +112 -87
  20. package/lib/Easy3wException/index.js +6 -7
  21. package/lib/Easy3wException/typeConfig.js +3 -10
  22. package/lib/Easy3wFlow/index.js +15 -19
  23. package/lib/Easy3wFormPage/indexM.js +248 -647
  24. package/lib/Easy3wFormPage/indexPC.js +232 -631
  25. package/lib/Easy3wGetCookie/index.js +3 -10
  26. package/lib/Easy3wGetDesensitization/index.js +0 -7
  27. package/lib/Easy3wGlobalFooter/index.js +3 -8
  28. package/lib/Easy3wGlobalHeader/index.js +0 -4
  29. package/lib/Easy3wGridCheckBox/index.js +1 -5
  30. package/lib/Easy3wGridDatePicker/index.js +1 -5
  31. package/lib/Easy3wGridDateTimePicker/index.js +1 -5
  32. package/lib/Easy3wGridInput/index.js +2 -6
  33. package/lib/Easy3wGridInputAmount/index.js +1 -5
  34. package/lib/Easy3wGridInputDigit/index.js +1 -5
  35. package/lib/Easy3wGridInputEmail/index.js +1 -5
  36. package/lib/Easy3wGridInputNumber/index.js +1 -5
  37. package/lib/Easy3wGridInputNumberFormat/index.js +1 -5
  38. package/lib/Easy3wGridPage/index.js +2 -5
  39. package/lib/Easy3wGridPage/indexM.js +27 -12
  40. package/lib/Easy3wGridPage/indexPC.js +30 -11
  41. package/lib/Easy3wGridRadio/index.js +1 -5
  42. package/lib/Easy3wGridSelect/index.js +1 -5
  43. package/lib/Easy3wGridTextArea/index.js +1 -5
  44. package/lib/Easy3wInput/index.js +0 -4
  45. package/lib/Easy3wLogin/index.js +15 -19
  46. package/lib/Easy3wLoginLayout/index.js +0 -4
  47. package/lib/Easy3wModal/index.js +4 -8
  48. package/lib/Easy3wPositionButton/index.js +2 -6
  49. package/lib/Easy3wQryGrid/index.js +4 -8
  50. package/lib/Easy3wResult/index.js +0 -4
  51. package/lib/Easy3wRow/index.js +0 -4
  52. package/lib/Easy3wSetCookie/index.js +3 -10
  53. package/lib/Easy3wSkeleton/index.js +64 -0
  54. package/lib/Easy3wSpin/index.js +2 -5
  55. package/lib/Easy3wTagSelect/index.js +0 -4
  56. package/lib/Easy3wTagSelect/index.less +120 -120
  57. package/lib/Easy3wTree/index.js +88 -66
  58. package/lib/Easy3wUpload/index.js +18 -28
  59. package/lib/Easy3wUploadB/index copy 2.js +1011 -0
  60. package/lib/Easy3wUploadB/index copy 3.js +1088 -0
  61. package/lib/Easy3wUploadB/index copy.js +1020 -0
  62. package/lib/Easy3wUploadB/index.js +42 -48
  63. package/lib/Easy3wUploadM/index copy.js +523 -0
  64. package/lib/Easy3wUploadM/index.js +21 -30
  65. package/lib/Easy3wUserLayout/index.js +28 -20
  66. package/lib/index.js +9 -9
  67. package/package.json +122 -122
  68. package/CHANGELOG.md +0 -189
  69. package/HISTORY.md +0 -8
  70. package/lib/Easy3wI18N/index.js +0 -56
  71. package/lib/Easy3wI18N/locales/index.js +0 -8
@@ -38,30 +38,31 @@ var _tree2 = _interopRequireDefault(_tree);
38
38
 
39
39
  require('antd/lib/tree/style');
40
40
 
41
- var _Easy3wI18N = require('../Easy3wI18N');
41
+ var _Easy3wSpin = require('../Easy3wSpin');
42
42
 
43
- var _Easy3wI18N2 = _interopRequireDefault(_Easy3wI18N);
43
+ var _Easy3wSpin2 = _interopRequireDefault(_Easy3wSpin);
44
44
 
45
45
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
46
46
 
47
47
  var Search = _input2['default'].Search;
48
48
  var TreeNode = _tree2['default'].TreeNode;
49
49
 
50
- /**
51
- * props参数
52
- * arrData: 树数据源 必须 Array
53
- * objTreeProps: 树配置参数 非必须 Object
54
- * 另加属性:touchRenderNode, titleField = 'title', countField = 'count', keyField = 'key'
55
- * touchRenderNode: 自定义渲染节点 非必须 Function 返回值:{ title, count, key, isLeaf, expanded, selected, loading }
56
- * titleField: 节点标题字段 非必须 String 默认值:'title'
57
- * countField: 节点计数字段 非必须 String 默认值:'count'
58
- * keyField: 节点key字段 非必须 String 默认值:'key'
59
- * objSearchProps: 搜索配置参数 非必须 Object
60
- * 另加属性:searchFlag = true, onSearchCallback
61
- * searchFlag: 是否开启搜索功能 非必须 Boolean 默认值:true
62
- * onSearchCallback: 搜索回调函数 非必须 Function 返回值:(arrDataVisible, searchValue, expandedKeys)
63
- * bidPureComponent: 绑定组件方法 非必须 Function
64
- * intUpdateCount: 数据更新次数 必须 Number
50
+ /**
51
+ * props参数
52
+ * arrData: 树数据源 必须 Array
53
+ * objTreeProps: 树配置参数 非必须 Object
54
+ * 另加属性:touchRenderNode, titleField = 'title', countField = 'count', keyField = 'key'
55
+ * touchRenderNode: 自定义渲染节点 非必须 Function 返回值:{ title, count, key, isLeaf, expanded, selected, loading }
56
+ * titleField: 节点标题字段 非必须 String 默认值:'title'
57
+ * countField: 节点计数字段 非必须 String 默认值:'count'
58
+ * keyField: 节点key字段 非必须 String 默认值:'key'
59
+ * objSearchProps: 搜索配置参数 非必须 Object
60
+ * 另加属性:searchFlag = true, onSearchCallback
61
+ * searchFlag: 是否开启搜索功能 非必须 Boolean 默认值:true
62
+ * onSearchCallback: 搜索回调函数 非必须 Function 返回值:(arrDataVisible, searchValue, expandedKeys)
63
+ * bidPureComponent: 绑定组件方法 非必须 Function
64
+ * intUpdateCount: 数据更新次数 必须 Number
65
+ * selectedKeys: 选中节点key 非必须 Array
65
66
  */
66
67
 
67
68
  var Easy3wTree = function (_Component) {
@@ -83,10 +84,8 @@ var Easy3wTree = function (_Component) {
83
84
  var arrDefaultExpandedKeys = _this.touchGetDEK(arrData);
84
85
  _this.searchRef = _react2['default'].createRef();
85
86
  _this.state = {
86
- // 两数量值,用于彻底更新树,树数据更新,重新渲染,使defaultExpandedKeys生效
87
- treevisible: true, // 显示树
88
- arrDefaultExpandedKeys: arrDefaultExpandedKeys, // 树默认展开节点
89
- arrSearchExpandedKeys: [], // 查询时,树默认展开节点
87
+ // 两数量值,用于彻底更新树,树数据更新
88
+ expandedKeys: arrDefaultExpandedKeys, // 展开的节点
90
89
  arrDataVisible: arrData || [], // 树数据源-显示数据
91
90
  selectedKeys: [] // 选中节点key
92
91
  };
@@ -106,7 +105,9 @@ var Easy3wTree = function (_Component) {
106
105
  // 递归过滤树结构,并设置展开节点的 keys
107
106
 
108
107
  // #endregion
109
- // 节点点击事件
108
+ // 节点点击事件--选择
109
+
110
+ // 节点点击事件--展开
110
111
 
111
112
  // 处理树组织
112
113
 
@@ -117,16 +118,12 @@ var Easy3wTree = function (_Component) {
117
118
  var _state = this.state,
118
119
  arrDataVisible = _state.arrDataVisible,
119
120
  selectedKeys = _state.selectedKeys,
120
- treevisible = _state.treevisible,
121
- arrDefaultExpandedKeys = _state.arrDefaultExpandedKeys,
122
- arrSearchExpandedKeys = _state.arrSearchExpandedKeys;
121
+ expandedKeys = _state.expandedKeys;
123
122
  var _props = this.props,
124
- _props$objTreeProps = _props.objTreeProps,
125
- objTreeProps = _props$objTreeProps === undefined ? {} : _props$objTreeProps,
126
- _props$objSearchProps = _props.objSearchProps,
127
- objSearchProps = _props$objSearchProps === undefined ? {} : _props$objSearchProps;
128
- var _objSearchProps$searc = objSearchProps.searchFlag,
129
- searchFlag = _objSearchProps$searc === undefined ? true : _objSearchProps$searc;
123
+ objTreeProps = _props.objTreeProps,
124
+ objSearchProps = _props.objSearchProps,
125
+ arrData = _props.arrData;
126
+ var searchFlag = objSearchProps.searchFlag;
130
127
 
131
128
  return _react2['default'].createElement(
132
129
  'div',
@@ -140,24 +137,46 @@ var Easy3wTree = function (_Component) {
140
137
  , ref: this.searchRef,
141
138
  className: (0, _classnames2['default'])('easy3wTreeSearch')
142
139
  }) : '',
143
- treevisible ? _react2['default'].createElement(
144
- _tree2['default'],
145
- (0, _extends3['default'])({
146
- defaultExpandedKeys: arrSearchExpandedKeys && arrSearchExpandedKeys.length > 0 ? arrSearchExpandedKeys : arrDefaultExpandedKeys // 树默认展开节点key Array
147
- , selectedKeys: selectedKeys // 选中节点key Array
148
- , showLine: true,
149
- showIcon: true
150
- // multiple 多选
151
- , onSelect: this.touchSelect
152
- }, objTreeProps),
153
- this.touchRenderTreeNodes(arrDataVisible)
154
- ) : ''
140
+ _react2['default'].createElement(
141
+ _Easy3wSpin2['default'],
142
+ {
143
+ spinLoading: !(arrData && arrData.length),
144
+ noStyle: true
145
+ },
146
+ _react2['default'].createElement(
147
+ _tree2['default'],
148
+ (0, _extends3['default'])({
149
+ expandedKeys: expandedKeys,
150
+ selectedKeys: selectedKeys // 选中节点key Array
151
+ , showLine: true,
152
+ showIcon: true
153
+ // multiple 多选
154
+ , onSelect: this.touchSelect,
155
+ onExpand: function onExpand(keys) {
156
+ return _this2.tuochExpand(keys);
157
+ } // 更新展开的keys
158
+ }, objTreeProps),
159
+ this.touchRenderTreeNodes(arrDataVisible)
160
+ )
161
+ )
155
162
  );
156
163
  };
157
164
 
158
165
  return Easy3wTree;
159
166
  }(_react.Component);
160
167
 
168
+ Easy3wTree.defaultProps = {
169
+ objTreeProps: {
170
+ titleField: 'title',
171
+ countField: 'count',
172
+ keyField: 'key'
173
+ },
174
+ objSearchProps: {
175
+ searchFlag: true
176
+ },
177
+ selectedKeys: []
178
+ };
179
+
161
180
  var _initialiseProps = function _initialiseProps() {
162
181
  var _this3 = this;
163
182
 
@@ -167,16 +186,13 @@ var _initialiseProps = function _initialiseProps() {
167
186
  arrData = _props2.arrData;
168
187
 
169
188
  if (intUpdateCount !== prevProps.intUpdateCount) {
189
+ var expandedKeys = _this3.state.expandedKeys;
190
+
170
191
  var arrDefaultExpandedKeys = _this3.touchGetDEK(arrData);
171
192
  // eslint-disable-next-line react/no-did-update-set-state
172
193
  _this3.setState({
173
194
  arrDataVisible: arrData || [], // 树数据源-显示数据
174
- arrDefaultExpandedKeys: arrDefaultExpandedKeys, // 树默认展开节点
175
- treevisible: false // 隐藏树
176
- }, function () {
177
- _this3.setState({
178
- treevisible: true // 显示树
179
- });
195
+ expandedKeys: expandedKeys && expandedKeys.length ? expandedKeys : arrDefaultExpandedKeys // 展开的节点
180
196
  });
181
197
  }
182
198
  };
@@ -185,8 +201,7 @@ var _initialiseProps = function _initialiseProps() {
185
201
  var arrDefaultExpandedKeys = [];
186
202
  if (arrData && arrData.length > 0) {
187
203
  var item = arrData[0];
188
- var _props$objTreeProps2 = _this3.props.objTreeProps,
189
- objTreeProps = _props$objTreeProps2 === undefined ? {} : _props$objTreeProps2;
204
+ var objTreeProps = _this3.props.objTreeProps;
190
205
  var _objTreeProps$keyFiel = objTreeProps.keyField,
191
206
  keyField = _objTreeProps$keyFiel === undefined ? 'key' : _objTreeProps$keyFiel;
192
207
 
@@ -235,18 +250,12 @@ var _initialiseProps = function _initialiseProps() {
235
250
  }
236
251
  _this3.setState({
237
252
  arrDataVisible: arrDataVisible, // 树数据源-显示数据
238
- arrSearchExpandedKeys: arrSearchExpandedKeys, // 查询时,树默认展开节点
239
- treevisible: false // 隐藏树
240
- }, function () {
241
- _this3.setState({
242
- treevisible: true // 显示树
243
- });
253
+ expandedKeys: arrSearchExpandedKeys // 查询时,树默认展开节点
244
254
  });
245
255
  };
246
256
 
247
- this.touchFilterTreeData = function (arrAllData, searchValue, expandedKeys) {
248
- var _props$objTreeProps3 = _this3.props.objTreeProps,
249
- objTreeProps = _props$objTreeProps3 === undefined ? {} : _props$objTreeProps3;
257
+ this.touchFilterTreeData = function (arrAllData, searchValue, searchExpandedKeys) {
258
+ var objTreeProps = _this3.props.objTreeProps;
250
259
  var _objTreeProps$titleFi = objTreeProps.titleField,
251
260
  titleField = _objTreeProps$titleFi === undefined ? 'title' : _objTreeProps$titleFi,
252
261
  _objTreeProps$keyFiel2 = objTreeProps.keyField,
@@ -254,10 +263,10 @@ var _initialiseProps = function _initialiseProps() {
254
263
 
255
264
  var filteredData = arrAllData.map(function (item) {
256
265
  // 递归过滤子节点
257
- var children = item.children ? _this3.touchFilterTreeData(item.children, searchValue, expandedKeys) : [];
266
+ var children = item.children ? _this3.touchFilterTreeData(item.children, searchValue, searchExpandedKeys) : [];
258
267
  // 如果节点名字匹配,或者子节点匹配
259
268
  if (item[titleField].includes(searchValue) || children.length > 0) {
260
- expandedKeys.push(item[keyField]); // 记录展开的节点 key
269
+ searchExpandedKeys.push(item[keyField]); // 记录展开的节点 key
261
270
  return (0, _extends3['default'])({}, item, {
262
271
  children: children // 返回匹配的子节点
263
272
  });
@@ -270,8 +279,8 @@ var _initialiseProps = function _initialiseProps() {
270
279
  };
271
280
 
272
281
  this.touchSelect = function (selectedKeys, info) {
273
- var _props$objTreeProps4 = _this3.props.objTreeProps,
274
- objTreeProps = _props$objTreeProps4 === undefined ? {} : _props$objTreeProps4;
282
+ var _props$objTreeProps = _this3.props.objTreeProps,
283
+ objTreeProps = _props$objTreeProps === undefined ? {} : _props$objTreeProps;
275
284
  var onSelectCallback = objTreeProps.onSelectCallback;
276
285
 
277
286
  if (onSelectCallback && typeof onSelectCallback === 'function') {
@@ -282,9 +291,22 @@ var _initialiseProps = function _initialiseProps() {
282
291
  });
283
292
  };
284
293
 
294
+ this.tuochExpand = function (expandedKeys) {
295
+ var _props$objTreeProps2 = _this3.props.objTreeProps,
296
+ objTreeProps = _props$objTreeProps2 === undefined ? {} : _props$objTreeProps2;
297
+ var onExpandCallback = objTreeProps.onExpandCallback;
298
+
299
+ if (onExpandCallback && typeof onExpandCallback === 'function') {
300
+ onExpandCallback(expandedKeys);
301
+ }
302
+ _this3.setState({
303
+ expandedKeys: expandedKeys // 选中节点key Array
304
+ });
305
+ };
306
+
285
307
  this.touchRenderTreeNodes = function (arrDataVisible) {
286
- var _props$objTreeProps5 = _this3.props.objTreeProps,
287
- objTreeProps = _props$objTreeProps5 === undefined ? {} : _props$objTreeProps5;
308
+ var _props$objTreeProps3 = _this3.props.objTreeProps,
309
+ objTreeProps = _props$objTreeProps3 === undefined ? {} : _props$objTreeProps3;
288
310
  var touchRenderNode = objTreeProps.touchRenderNode,
289
311
  _objTreeProps$titleFi2 = objTreeProps.titleField,
290
312
  titleField = _objTreeProps$titleFi2 === undefined ? 'title' : _objTreeProps$titleFi2,
@@ -64,10 +64,6 @@ require('antd/lib/modal/style');
64
64
 
65
65
  var _comonConfig = require('comonConfigPath/comonConfig');
66
66
 
67
- var _Easy3wI18N = require('../Easy3wI18N');
68
-
69
- var _Easy3wI18N2 = _interopRequireDefault(_Easy3wI18N);
70
-
71
67
  var _Easy3wGetCookie = require('../Easy3wGetCookie');
72
68
 
73
69
  var _Easy3wGetCookie2 = _interopRequireDefault(_Easy3wGetCookie);
@@ -167,33 +163,26 @@ var Easy3wUpload = function (_Component) {
167
163
  accept = _props.accept,
168
164
  required = _props.required,
169
165
  initialValue = _props.initialValue,
166
+ help = _props.help,
167
+ buttonName = _props.buttonName,
170
168
  form = _props.form,
171
169
  isRead = _props.isRead,
170
+ label = _props.label,
172
171
  className = _props.className,
173
172
  labelCol = _props.labelCol,
174
173
  wrapperCol = _props.wrapperCol,
174
+ extend = _props.extend,
175
+ extendBack = _props.extendBack,
175
176
  uploadDoneCallback = _props.uploadDoneCallback,
176
177
  removeCallback = _props.removeCallback,
177
178
  hadUpdBtn = _props.hadUpdBtn,
178
179
  propsAFlag = _props.propsAFlag,
179
180
  fileViewFlag = _props.fileViewFlag;
180
- var _props2 = this.props,
181
- help = _props2.help,
182
- buttonName = _props2.buttonName,
183
- label = _props2.label,
184
- extend = _props2.extend,
185
- extendBack = _props2.extendBack,
186
- warnMessage = _props2.warnMessage;
187
-
188
- help = (0, _Easy3wI18N2['default'])(help);
189
- buttonName = (0, _Easy3wI18N2['default'])(buttonName);
190
- label = (0, _Easy3wI18N2['default'])(label);
191
- extend = (0, _Easy3wI18N2['default'])(extend);
192
- extendBack = (0, _Easy3wI18N2['default'])(extendBack);
193
- warnMessage = (0, _Easy3wI18N2['default'])(warnMessage);
194
181
  var limitSize = this.props.limitSize;
195
182
 
196
183
  limitSize = limitSize || maxSize || 200;
184
+ var warnMessage = this.props.warnMessage;
185
+
197
186
  var iniVal = [];
198
187
  if (initialValue) {
199
188
  iniVal = initialValue.map(function (obj) {
@@ -271,28 +260,28 @@ var Easy3wUpload = function (_Component) {
271
260
  if (name.length > 100) {
272
261
  _modal2['default'].info({
273
262
  style: { top: '38%' },
274
- okText: (0, _Easy3wI18N2['default'])('Easy3wUI:知道了'),
275
- content: (0, _Easy3wI18N2['default'])('Easy3wUI:文件名至多100个字符')
263
+ okText: '知道了',
264
+ content: '文件名至多100个字符'
276
265
  });
277
266
  return false;
278
267
  }
279
268
  if (!fileTypePass) {
280
269
  _modal2['default'].error({
281
270
  style: { top: '38%' },
282
- content: (0, _Easy3wI18N2['default'])('Easy3wUI:不支持fileType类型的文件!', { fileType: fileType })
271
+ content: '\u4E0D\u652F\u6301' + fileType + '\u7C7B\u578B\u7684\u6587\u4EF6!'
283
272
  });
284
273
  return false;
285
274
  }
286
275
  if (!isLimitSize) {
287
276
  _modal2['default'].error({
288
277
  style: { top: '38%' },
289
- content: (0, _Easy3wI18N2['default'])('Easy3wUI:附件必须小于limitSizeMB!', { limitSize: limitSize })
278
+ content: '\u9644\u4EF6\u5FC5\u987B\u5C0F\u4E8E' + limitSize + 'MB!'
290
279
  });
291
280
  return false;
292
281
  } else if (fileSize === 0) {
293
282
  _modal2['default'].error({
294
283
  style: { top: '38%' },
295
- content: (0, _Easy3wI18N2['default'])('Easy3wUI:附件必须大于0MB!')
284
+ content: '附件必须大于0MB!'
296
285
  });
297
286
  return false;
298
287
  } else {
@@ -358,7 +347,7 @@ var Easy3wUpload = function (_Component) {
358
347
  if (status === 'error') {
359
348
  _modal2['default'].error({
360
349
  style: { top: '38%' },
361
- content: (0, _Easy3wI18N2['default'])('Easy3wUI:附件name上传失败!', { name: name })
350
+ content: '\u9644\u4EF6' + name + '\u4E0A\u4F20\u5931\u8D25!'
362
351
  });
363
352
  return false; // 上传失败
364
353
  }
@@ -374,7 +363,7 @@ var Easy3wUpload = function (_Component) {
374
363
  } else {
375
364
  _modal2['default'].error({
376
365
  style: { top: '38%' },
377
- content: (0, _Easy3wI18N2['default'])('Easy3wUI:附件name上传失败!', { name: name })
366
+ content: '\u9644\u4EF6' + name + '\u4E0A\u4F20\u5931\u8D25!'
378
367
  });
379
368
  }
380
369
  return false;
@@ -431,7 +420,8 @@ var Easy3wUpload = function (_Component) {
431
420
  urlDownloadFile: urlDownloadFile,
432
421
  downloadArr: initialValue,
433
422
  propsAFlag: propsAFlag,
434
- fileViewFlag: fileViewFlag
423
+ fileViewFlag: fileViewFlag,
424
+ objPreviewFile: objPreviewFileNew
435
425
  })),
436
426
  extendBackShowFlag ? extendBack : ''
437
427
  ) : _react2['default'].createElement(
@@ -517,8 +507,8 @@ Easy3wUpload.defaultProps = {
517
507
  // limitSizeDefault: 200,
518
508
  urlUpFileService: '',
519
509
  urlDownloadFile: '',
520
- buttonName: (0, _Easy3wI18N2['default'])('Easy3wUI:上传'),
521
- help: (0, _Easy3wI18N2['default'])('Easy3wUI:请上传附件'),
510
+ buttonName: '上传',
511
+ help: '请上传附件',
522
512
  required: true,
523
513
  isRead: false,
524
514
  label: '',