venus-design 1.0.83 → 1.0.85

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.
@@ -842,7 +842,6 @@ export var VENUS_FORM_ITEM_TYPE = {
842
842
  //带后缀的文本输入框(暂不实现)
843
843
  "textUnit": function textUnit() {},
844
844
  "uploadSecLevel": function uploadSecLevel(column, type, disabled, formData) {
845
- var _formData$column$para, _formData$column$para2, _column$parameterSour;
846
845
  return /*#__PURE__*/React.createElement(VenusFormUploadSecLevel, {
847
846
  width: "md",
848
847
  className: column.formItemClassName,
@@ -862,7 +861,7 @@ export var VENUS_FORM_ITEM_TYPE = {
862
861
  //@ts-ignore
863
862
  ,
864
863
  comAttr: column.parameterSource.uploadSecField && {
865
- secId: (_formData$column$para = (_formData$column$para2 = formData[column === null || column === void 0 || (_column$parameterSour = column.parameterSource) === null || _column$parameterSour === void 0 ? void 0 : _column$parameterSour.uploadSecField]) === null || _formData$column$para2 === void 0 ? void 0 : _formData$column$para2.value) !== null && _formData$column$para !== void 0 ? _formData$column$para : ''
864
+ secId: formData[column.parameterSource.uploadSecField] && formData[column.parameterSource.uploadSecField].value
866
865
  },
867
866
  rules: [{
868
867
  //是否必填通过其他字段判断时可使用required:{label:string,fieldName:string,value:any}
@@ -52,26 +52,31 @@ var VenusUploadSecLevel = function VenusUploadSecLevel(props) {
52
52
  _useState6 = _slicedToArray(_useState5, 2),
53
53
  level = _useState6[0],
54
54
  setLevel = _useState6[1];
55
-
56
- // 外部只给“已完成”数据,用 map 快速索引
57
55
  useEffect(function () {
58
- var outerMap = new Map(
59
56
  //@ts-ignore
60
- (props.value || []).map(function (f) {
61
- return [f.fileId || f.uid, f];
62
- }));
63
-
64
- // 回显层只更新“已完成”部分的信息,不动正在上传的
65
- setFileList(function (prev) {
66
- return prev.map(function (file) {
67
- var key = file.fileId || file.uid;
68
- var target = outerMap.get(key);
69
- return target ? _objectSpread(_objectSpread(_objectSpread({}, file), target), {}, {
70
- status: 'done'
71
- }) : file;
57
+ var next = (props.value || []).map(function (f) {
58
+ return _objectSpread(_objectSpread({}, f), {}, {
59
+ status: 'done'
72
60
  });
73
61
  });
74
- }, [props.value, level]);
62
+
63
+ /* 1. 先把正在上传的项保留下来(status === 'uploading')*/
64
+ var uploading = fileList.filter(function (f) {
65
+ return f.status === 'uploading';
66
+ });
67
+
68
+ /* 2. 用 Map 去重:以 fileId 为 key */
69
+ var map = new Map();
70
+ //@ts-ignore
71
+ next.forEach(function (f) {
72
+ return map.set(f.fileId, f);
73
+ }); // 外部数据优先
74
+ uploading.forEach(function (f) {
75
+ return map.set(f.uid, f);
76
+ }); // 正在上传的也保留
77
+
78
+ setFileList(Array.from(map.values()));
79
+ }, [props.value]);
75
80
  var onChange = function onChange(info) {
76
81
  var file = info.file,
77
82
  newFileList = info.fileList;
@@ -329,10 +334,19 @@ var VenusUploadSecLevel = function VenusUploadSecLevel(props) {
329
334
  }
330
335
  })), !uploading && /*#__PURE__*/React.createElement(_Tooltip, {
331
336
  title: "\u4E0B\u8F7D"
332
- }, /*#__PURE__*/React.createElement("a", {
333
- href: downloadFile(file.fileId),
334
- download: file.name
335
- }, /*#__PURE__*/React.createElement(DownloadOutlined, null))), /*#__PURE__*/React.createElement(_Tooltip, {
337
+ }, /*#__PURE__*/React.createElement(DownLoad, {
338
+ hideProgress: true,
339
+ params: {
340
+ method: 'get'
341
+ },
342
+ fileName: function fileName() {
343
+ return file.name;
344
+ },
345
+ text: /*#__PURE__*/React.createElement("a", {
346
+ rel: "noopener noreferrer"
347
+ }, /*#__PURE__*/React.createElement(DownloadOutlined, null)),
348
+ loadUrl: downloadFile(file.fileId)
349
+ })), /*#__PURE__*/React.createElement(_Tooltip, {
336
350
  title: "\u5220\u9664"
337
351
  }, /*#__PURE__*/React.createElement(DeleteOutlined, {
338
352
  style: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "venus-design",
3
- "version": "1.0.83",
3
+ "version": "1.0.85",
4
4
  "description": "venus all compoments",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",