@vtx/components 2.5.3 → 3.0.0-0

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 (121) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/lib/_util/filterSpecialCharacters.js +1 -1
  3. package/lib/_util/getComponentProps.js +1 -1
  4. package/lib/_util/useSet.js +3 -3
  5. package/lib/_util/useSet.js.map +1 -1
  6. package/lib/index.js +40 -40
  7. package/lib/vtx-color-picker/index.js +6 -4
  8. package/lib/vtx-color-picker/index.js.map +1 -1
  9. package/lib/vtx-combogrid/Combogrid.js +26 -18
  10. package/lib/vtx-combogrid/Combogrid.js.map +1 -1
  11. package/lib/vtx-combogrid/index.js +8 -6
  12. package/lib/vtx-combogrid/index.js.map +1 -1
  13. package/lib/vtx-combogrid/style/index.css +1 -1
  14. package/lib/vtx-combogrid/style/index.less +1 -1
  15. package/lib/vtx-datagrid/Alert.js +3 -3
  16. package/lib/vtx-datagrid/Alert.js.map +1 -1
  17. package/lib/vtx-datagrid/ColumnSetting.js +35 -9
  18. package/lib/vtx-datagrid/ColumnSetting.js.map +1 -1
  19. package/lib/vtx-datagrid/ResizeableTitle.js +3 -1
  20. package/lib/vtx-datagrid/ResizeableTitle.js.map +1 -1
  21. package/lib/vtx-datagrid/index.js +36 -28
  22. package/lib/vtx-datagrid/index.js.map +1 -1
  23. package/lib/vtx-datagrid/renderColumnButtons.js +7 -7
  24. package/lib/vtx-datagrid/renderColumnButtons.js.map +1 -1
  25. package/lib/vtx-datagrid/style/index.css +18 -6
  26. package/lib/vtx-datagrid/style/index.less +33 -7
  27. package/lib/vtx-date-picker/QdatePicker.js +7 -5
  28. package/lib/vtx-date-picker/QdatePicker.js.map +1 -1
  29. package/lib/vtx-date-picker/generatePicker.js +15 -9
  30. package/lib/vtx-date-picker/generatePicker.js.map +1 -1
  31. package/lib/vtx-date-picker/index.js +16 -11
  32. package/lib/vtx-date-picker/index.js.map +1 -1
  33. package/lib/vtx-editor/index.js +9 -10
  34. package/lib/vtx-editor/index.js.map +1 -1
  35. package/lib/vtx-export/index.js +13 -12
  36. package/lib/vtx-export/index.js.map +1 -1
  37. package/lib/vtx-form-layout/Card.js +6 -7
  38. package/lib/vtx-form-layout/Card.js.map +1 -1
  39. package/lib/vtx-form-layout/FormItem.js +9 -20
  40. package/lib/vtx-form-layout/FormItem.js.map +1 -1
  41. package/lib/vtx-form-layout/Pane.js.map +1 -1
  42. package/lib/vtx-form-layout/index.js +17 -3
  43. package/lib/vtx-form-layout/index.js.map +1 -1
  44. package/lib/vtx-form-layout/style/css.js +2 -0
  45. package/lib/vtx-form-layout/style/css.js.map +1 -1
  46. package/lib/vtx-form-layout/style/index.css +41 -0
  47. package/lib/vtx-form-layout/style/index.js +2 -0
  48. package/lib/vtx-form-layout/style/index.js.map +1 -1
  49. package/lib/vtx-form-layout/style/index.less +19 -0
  50. package/lib/vtx-image/Image.js +5 -5
  51. package/lib/vtx-image/Image.js.map +1 -1
  52. package/lib/vtx-image/Preview.js +6 -6
  53. package/lib/vtx-image/Preview.js.map +1 -1
  54. package/lib/vtx-image/PreviewGroup.js +6 -6
  55. package/lib/vtx-image/PreviewGroup.js.map +1 -1
  56. package/lib/vtx-image/index.js +3 -3
  57. package/lib/vtx-import/index.js +12 -6
  58. package/lib/vtx-import/index.js.map +1 -1
  59. package/lib/vtx-import/result.js +1 -1
  60. package/lib/vtx-import/result.js.map +1 -1
  61. package/lib/vtx-input/TextArea.js +6 -4
  62. package/lib/vtx-input/TextArea.js.map +1 -1
  63. package/lib/vtx-input/index.js +8 -6
  64. package/lib/vtx-input/index.js.map +1 -1
  65. package/lib/vtx-input/useLength.js +1 -1
  66. package/lib/vtx-input/useLength.js.map +1 -1
  67. package/lib/vtx-modal/Title.js.map +1 -1
  68. package/lib/vtx-modal/index.js +19 -25
  69. package/lib/vtx-modal/index.js.map +1 -1
  70. package/lib/vtx-page-layout/Basic.js.map +1 -1
  71. package/lib/vtx-page-layout/Content.js +2 -2
  72. package/lib/vtx-page-layout/Content.js.map +1 -1
  73. package/lib/vtx-page-layout/Pane.js.map +1 -1
  74. package/lib/vtx-page-layout/TableLayout.js +12 -9
  75. package/lib/vtx-page-layout/TableLayout.js.map +1 -1
  76. package/lib/vtx-page-layout/TableWrap.js +2 -2
  77. package/lib/vtx-page-layout/TableWrap.js.map +1 -1
  78. package/lib/vtx-page-layout/container.js +6 -6
  79. package/lib/vtx-page-layout/container.js.map +1 -1
  80. package/lib/vtx-rps-frame/index.js +29 -23
  81. package/lib/vtx-rps-frame/index.js.map +1 -1
  82. package/lib/vtx-scrollable-row/index.js +23 -25
  83. package/lib/vtx-scrollable-row/index.js.map +1 -1
  84. package/lib/vtx-search/VtxCol.js +2 -2
  85. package/lib/vtx-search/VtxCol.js.map +1 -1
  86. package/lib/vtx-search/VtxRow.js.map +1 -1
  87. package/lib/vtx-search/index.js +11 -11
  88. package/lib/vtx-search/index.js.map +1 -1
  89. package/lib/vtx-search/style/index.css +1 -0
  90. package/lib/vtx-search/style/index.less +1 -0
  91. package/lib/vtx-search-map-input/index.js +4 -4
  92. package/lib/vtx-search-map-input/index.js.map +1 -1
  93. package/lib/vtx-select/index.js +10 -8
  94. package/lib/vtx-select/index.js.map +1 -1
  95. package/lib/vtx-signature/index.js +3 -3
  96. package/lib/vtx-signature/index.js.map +1 -1
  97. package/lib/vtx-split-pane/Pane.js +5 -5
  98. package/lib/vtx-split-pane/Pane.js.map +1 -1
  99. package/lib/vtx-split-pane/Resizer.js +7 -7
  100. package/lib/vtx-split-pane/Resizer.js.map +1 -1
  101. package/lib/vtx-split-pane/SplitPane.js +26 -20
  102. package/lib/vtx-split-pane/SplitPane.js.map +1 -1
  103. package/lib/vtx-statistics-column/Back.js.map +1 -1
  104. package/lib/vtx-statistics-column/Item.js +5 -5
  105. package/lib/vtx-statistics-column/Item.js.map +1 -1
  106. package/lib/vtx-statistics-column/Total.js +5 -5
  107. package/lib/vtx-statistics-column/Total.js.map +1 -1
  108. package/lib/vtx-statistics-column/index.js.map +1 -1
  109. package/lib/vtx-time-picker/index.js +3 -1
  110. package/lib/vtx-time-picker/index.js.map +1 -1
  111. package/lib/vtx-upload/FilePreview.js +5 -5
  112. package/lib/vtx-upload/FilePreview.js.map +1 -1
  113. package/lib/vtx-upload/index.js +101 -54
  114. package/lib/vtx-upload/index.js.map +1 -1
  115. package/lib/vtx-ztree/index.js +6 -6
  116. package/lib/vtx-ztree/index.js.map +1 -1
  117. package/lib/vtx-ztree-select/index.js +30 -23
  118. package/lib/vtx-ztree-select/index.js.map +1 -1
  119. package/package.json +4 -3
  120. package/lib/vtx-date-picker/YearPicker.js +0 -84
  121. package/lib/vtx-date-picker/YearPicker.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -19,21 +19,29 @@ var _upload = _interopRequireDefault(require("antd/es/upload"));
19
19
 
20
20
  var _button = _interopRequireDefault(require("antd/es/button"));
21
21
 
22
- var _icon = _interopRequireDefault(require("antd/es/icon"));
22
+ var _InboxOutlined = _interopRequireDefault(require("@ant-design/icons/InboxOutlined"));
23
+
24
+ var _PlusOutlined = _interopRequireDefault(require("@ant-design/icons/PlusOutlined"));
25
+
26
+ var _UploadOutlined = _interopRequireDefault(require("@ant-design/icons/UploadOutlined"));
23
27
 
24
28
  var _message = _interopRequireDefault(require("antd/es/message"));
25
29
 
26
30
  var _downloadFile = _interopRequireDefault(require("@vtx/utils/lib/downloadFile"));
27
31
 
32
+ var _lodash = _interopRequireDefault(require("lodash.debounce"));
33
+
28
34
  var _FilePreview = _interopRequireDefault(require("./FilePreview"));
29
35
 
30
36
  var _getUrlParam = _interopRequireDefault(require("../_util/getUrlParam"));
31
37
 
38
+ var _excluded = ["isDragger", "draggerConfig", "accept", "mode", "viewMode", "showUploadList", "customizedButton", "listType", "onSuccess", "onError", "onRemove", "maxFileSize", "beforeUpload", "maxNum", "flag"];
39
+
32
40
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
33
41
 
34
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
42
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
43
 
36
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
44
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
45
 
38
46
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
39
47
 
@@ -41,13 +49,13 @@ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableTo
41
49
 
42
50
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
43
51
 
44
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
52
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
45
53
 
46
54
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
47
55
 
48
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
56
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
49
57
 
50
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
58
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
51
59
 
52
60
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
53
61
 
@@ -59,7 +67,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
59
67
 
60
68
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
61
69
 
62
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
70
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
63
71
 
64
72
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
65
73
 
@@ -67,7 +75,10 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
67
75
 
68
76
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
69
77
 
70
- //文件预览
78
+ var debouncedMessage = (0, _lodash["default"])(function (msg) {
79
+ _message["default"].error(msg);
80
+ }, 500); //文件预览
81
+
71
82
  var initVPrev = {
72
83
  type: '',
73
84
  //video or file
@@ -106,7 +117,7 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
106
117
  _beforeUpload = props.beforeUpload,
107
118
  maxNum = props.maxNum,
108
119
  flag = props.flag,
109
- rest = _objectWithoutProperties(props, ["isDragger", "draggerConfig", "accept", "mode", "viewMode", "showUploadList", "customizedButton", "listType", "onSuccess", "onError", "onRemove", "maxFileSize", "beforeUpload", "maxNum", "flag"]); // 是否使用缩略图
120
+ rest = _objectWithoutProperties(props, _excluded); // 是否使用缩略图
110
121
 
111
122
 
112
123
  var useThumbnail = props.useThumbnail && (listType == 'picture' || listType == 'picture-card');
@@ -123,10 +134,15 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
123
134
  setImageViewer = _useState4[1]; //图片预览
124
135
 
125
136
 
126
- var _useState5 = (0, _react.useState)(null),
137
+ var _useState5 = (0, _react.useState)([]),
127
138
  _useState6 = _slicedToArray(_useState5, 2),
128
- imageCt = _useState6[0],
129
- setImageCt = _useState6[1];
139
+ imageList = _useState6[0],
140
+ setImageList = _useState6[1];
141
+
142
+ var _useState7 = (0, _react.useState)(null),
143
+ _useState8 = _slicedToArray(_useState7, 2),
144
+ imageCt = _useState8[0],
145
+ setImageCt = _useState8[1];
130
146
 
131
147
  var _useSetState = (0, _useSetState3["default"])(initVPrev),
132
148
  _useSetState2 = _slicedToArray(_useSetState, 2),
@@ -146,6 +162,21 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
146
162
  (0, _react.useEffect)(function () {
147
163
  setFileList(getSynFileList(props) || []);
148
164
  }, [flag]);
165
+ (0, _react.useEffect)(function () {
166
+ if (Array.isArray(fileList)) {
167
+ // 只有图片的才可以预览,这边需要判断是否是图片
168
+ var imagelist = []; // 只能通过后缀来判断
169
+
170
+ fileList.map(function (file) {
171
+ var _file$type;
172
+
173
+ if (((_file$type = file.type) === null || _file$type === void 0 ? void 0 : _file$type.indexOf('image')) > -1) {
174
+ imagelist.push(file);
175
+ }
176
+ });
177
+ setImageList(imagelist);
178
+ }
179
+ }, [fileList]);
149
180
  (0, _react.useEffect)(function () {
150
181
  if (imageCt) {
151
182
  setImageViewer(new _viewerjs["default"](imageCt, {}));
@@ -165,6 +196,8 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
165
196
  Authorization: token ? "Bearer ".concat(token) : ''
166
197
  }, rest.headers),
167
198
  onChange: function onChange(info) {
199
+ setFileList(info.fileList);
200
+
168
201
  if (info.file.response && info.file.response.result === 1) {
169
202
  _message["default"].error(info.file.response.errMsg || '上传失败!');
170
203
 
@@ -176,16 +209,19 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
176
209
  } // 此处根据后台返回的数据结构取得文件ID
177
210
 
178
211
 
179
- var vtxId = info.file.response && Array.isArray(info.file.response.data) && info.file.response.data.length > 0 ? info.file.response.data[0].id : undefined;
180
- var newFileList = info.fileList;
181
- var newFile = vtxId ? _objectSpread(_objectSpread({}, info.file), {}, {
182
- id: vtxId,
183
- url: downloadUrl + vtxId,
184
- thumbUrl: useThumbnail ? thumbnailUrl + vtxId : undefined
185
- }) : _objectSpread({}, info.file);
186
-
187
- if (info.file.status === 'done' && vtxId) {
188
- newFileList = info.fileList.map(function (item) {
212
+ if (info.file.status !== 'uploading' && info.file.status !== 'removed') {
213
+ var vtxId = info.file.response && Array.isArray(info.file.response.data) && info.file.response.data.length > 0 ? info.file.response.data[0].id : undefined;
214
+ var newFileList = info.fileList;
215
+ var newFile = vtxId ? _objectSpread(_objectSpread({}, info.file), {}, {
216
+ id: vtxId,
217
+ url: downloadUrl + vtxId,
218
+ thumbUrl: useThumbnail ? thumbnailUrl + vtxId : undefined
219
+ }) : _objectSpread({}, info.file);
220
+ newFileList = info.fileList.filter(function (item) {
221
+ // 有vtxId代表上传成功,有item.id代表之前上传成功的
222
+ if (vtxId || item.id) return true;
223
+ return false;
224
+ }).map(function (item) {
189
225
  if (item.uid == info.file.uid) {
190
226
  return _objectSpread(_objectSpread({}, item), {}, {
191
227
  id: vtxId,
@@ -196,23 +232,28 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
196
232
 
197
233
  return item;
198
234
  });
199
- } // 更新组件状态
200
235
 
201
-
202
- if (mode == 'single' && info.file.status === 'done') {
203
- setFileList([newFile]);
204
- } else {
205
- setFileList(newFileList);
206
- } // 触发外部方法
207
-
208
-
209
- if (info.file.status === 'done') {
210
- if (typeof onSuccess == 'function') {
211
- onSuccess(newFile);
212
- }
213
- } else if (info.file.status === 'error') {
214
- if (typeof onError == 'function') {
215
- onError(info.file);
236
+ if (mode == 'single') {
237
+ setFileList([newFile]);
238
+ } else {
239
+ setFileList(newFileList);
240
+ } // 更新组件状态
241
+ // if (mode == 'single' && info.file.status === 'done') {
242
+ // setFileList([newFile]);
243
+ // } else {
244
+ // setFileList(newFileList);
245
+ // }
246
+ // 触发外部方法
247
+
248
+
249
+ if (info.file.status === 'done') {
250
+ if (typeof onSuccess == 'function') {
251
+ onSuccess(newFile);
252
+ }
253
+ } else if (info.file.status === 'error') {
254
+ if (typeof onError == 'function') {
255
+ onError(info.file);
256
+ }
216
257
  }
217
258
  }
218
259
  },
@@ -221,7 +262,7 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
221
262
  return _onRemove(file);
222
263
  }
223
264
  },
224
- beforeUpload: function beforeUpload(file) {
265
+ beforeUpload: function beforeUpload(file, afterFileList) {
225
266
  //限制文件大小
226
267
  if (maxFileSize && typeof maxFileSize === 'number') {
227
268
  var limit = file.size < maxFileSize;
@@ -244,10 +285,17 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
244
285
 
245
286
  return false;
246
287
  }
288
+ } // 多选限制文件数量
289
+
290
+
291
+ if (typeof maxNum === 'number' && afterFileList.length + fileList.length > maxNum) {
292
+ // 减少提示错误次数, 思路,防抖 这边有个问题 就是防抖的这个方法 return fasle 不上传
293
+ debouncedMessage("\u6700\u591A\u4E0A\u4F20".concat(maxNum, "\u4E2A"));
294
+ return false;
247
295
  }
248
296
 
249
297
  if (typeof _beforeUpload === 'function') {
250
- _beforeUpload(file);
298
+ _beforeUpload(file, afterFileList);
251
299
  }
252
300
 
253
301
  return true;
@@ -258,13 +306,15 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
258
306
  config.onPreview = props.onPreview;
259
307
  } else {
260
308
  config.onPreview = function (file) {
309
+ var _file$type2, _file$type3;
310
+
261
311
  if (!file.type) {
262
312
  (0, _downloadFile["default"])(downloadUrl + file.id, {
263
313
  fileName: file.name
264
314
  }, 'blob');
265
- } else if (file.type.indexOf('image') > -1) {
315
+ } else if (((_file$type2 = file.type) === null || _file$type2 === void 0 ? void 0 : _file$type2.indexOf('image')) > -1) {
266
316
  handlePreview(file);
267
- } else if (file.type.indexOf('video') > -1) {
317
+ } else if (((_file$type3 = file.type) === null || _file$type3 === void 0 ? void 0 : _file$type3.indexOf('video')) > -1) {
268
318
  // 视频
269
319
  setVPrev({
270
320
  type: 'video',
@@ -318,7 +368,7 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
318
368
  };
319
369
 
320
370
  var handlePreview = function handlePreview(file) {
321
- var imageIndex = fileList.map(function (item) {
371
+ var imageIndex = imageList.map(function (item) {
322
372
  return item.id;
323
373
  }).indexOf(file.id);
324
374
  if (imageIndex == -1) return;
@@ -363,25 +413,20 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
363
413
  }
364
414
  }) : /*#__PURE__*/_react["default"].createElement("p", {
365
415
  className: "ant-upload-drag-icon"
366
- }, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
367
- type: "inbox"
368
- })), /*#__PURE__*/_react["default"].createElement("p", {
416
+ }, /*#__PURE__*/_react["default"].createElement(_InboxOutlined["default"], null)), /*#__PURE__*/_react["default"].createElement("p", {
369
417
  className: "ant-upload-text"
370
418
  }, (draggerConfig === null || draggerConfig === void 0 ? void 0 : draggerConfig.mainText) || '点击或拖拽上传'), /*#__PURE__*/_react["default"].createElement("p", {
371
419
  className: "ant-upload-hint"
372
420
  }, (draggerConfig === null || draggerConfig === void 0 ? void 0 : draggerConfig.subText) || '支持上传word,excel,png...')) : /*#__PURE__*/_react["default"].createElement(_upload["default"], _extends({}, getConfig(), {
373
421
  ref: ref
374
- }), viewMode || fileList.length >= maxNum ? null : customizedButton || (listType == 'picture-card' ? /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
375
- type: "plus",
422
+ }), viewMode || fileList.length >= maxNum ? null : customizedButton || (listType == 'picture-card' ? /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_PlusOutlined["default"], {
376
423
  style: {
377
424
  fontSize: '28px',
378
425
  color: '#999'
379
426
  }
380
427
  }), /*#__PURE__*/_react["default"].createElement("div", {
381
428
  className: "ant-upload-text"
382
- }, "\u4E0A\u4F20")) : /*#__PURE__*/_react["default"].createElement(_button["default"], null, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
383
- type: "upload"
384
- }), "\u4E0A\u4F20"))), /*#__PURE__*/_react["default"].createElement("div", {
429
+ }, "\u4E0A\u4F20")) : /*#__PURE__*/_react["default"].createElement(_button["default"], null, /*#__PURE__*/_react["default"].createElement(_UploadOutlined["default"], null), "\u4E0A\u4F20"))), /*#__PURE__*/_react["default"].createElement("div", {
385
430
  style: {
386
431
  display: 'none'
387
432
  }
@@ -389,8 +434,10 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
389
434
  ref: function ref(ins) {
390
435
  if (ins) setImageCt(ins);
391
436
  }
392
- }, fileList.filter(function (item) {
393
- return item.type && item.type.indexOf('image') > -1;
437
+ }, imageList.filter(function (item) {
438
+ var _item$type;
439
+
440
+ return item.type && ((_item$type = item.type) === null || _item$type === void 0 ? void 0 : _item$type.indexOf('image')) > -1;
394
441
  }).map(function (item, index) {
395
442
  return /*#__PURE__*/_react["default"].createElement("li", {
396
443
  key: item.uid
@@ -1 +1 @@
1
- {"version":3,"sources":["vtx-upload/index.jsx"],"names":["initVPrev","type","name","url","downloadUrl","visible","initUrl","action","thumbnailUrl","rejectTypes","Dragger","Upload","VtxUpload","props","ref","isDragger","draggerConfig","accept","mode","viewMode","showUploadList","customizedButton","listType","onSuccess","onError","onRemove","maxFileSize","beforeUpload","maxNum","flag","rest","useThumbnail","fileList","setFileList","imageViewer","setImageViewer","imageCt","setImageCt","vPrev","setVPrev","getSynFileList","Viewer","getConfig","token","config","headers","Authorization","onChange","info","file","response","result","message","error","errMsg","flt","pop","vtxId","Array","isArray","data","length","id","undefined","newFileList","newFile","thumbUrl","status","map","item","uid","limit","size","pointIndex","lastIndexOf","fileType","substring","includes","onPreview","fileName","indexOf","handlePreview","showRemoveIcon","imageIndex","update","view","processedFileList","index","console","img","maxWidth","maxHeight","marginTop","marginBottom","mainText","subText","fontSize","color","display","ins","filter","propTypes","PropTypes","bool","object","string","node","previewUrl","func","number","array"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA,IAAMA,SAAS,GAAG;AACdC,EAAAA,IAAI,EAAE,EADQ;AACJ;AACVC,EAAAA,IAAI,EAAE,EAFQ;AAGdC,EAAAA,GAAG,EAAE,EAHS;AAIdC,EAAAA,WAAW,EAAE,EAJC;AAKdC,EAAAA,OAAO,EAAE;AALK,CAAlB;AAQA,IAAMC,OAAO,GAAG;AACZC,EAAAA,MAAM,EAAE,8BADI;AAEZH,EAAAA,WAAW,EAAE,oCAFD;AAGZI,EAAAA,YAAY,EACR,kFAJQ,CAKZ;;AALY,CAAhB,C,CAOA;;AACA,IAAMC,WAAW,GAAG,CAAC,MAAD,EAAS,OAAT,EAAkB,MAAlB,EAA0B,MAA1B,EAAkC,MAAlC,EAA0C,MAA1C,EAAkD,MAAlD,EAA0D,MAA1D,EAAkE,MAAlE,CAApB;AAEA,IAAMC,OAAO,GAAGC,mBAAOD,OAAvB;AACA,IAAME,SAAS,gBAAG,uBAAW,UAACC,KAAD,EAAQC,GAAR,EAAgB;AAAA,yBAkBrCD,KAlBqC,CAErCE,SAFqC;AAAA,MAErCA,SAFqC,iCAEzB,KAFyB;AAAA,6BAkBrCF,KAlBqC,CAGrCG,aAHqC;AAAA,MAGrCA,aAHqC,qCAGrB,EAHqB;AAAA,MAIrCC,MAJqC,GAkBrCJ,KAlBqC,CAIrCI,MAJqC;AAAA,oBAkBrCJ,KAlBqC,CAKrCK,IALqC;AAAA,MAKrCA,IALqC,4BAK9B,UAL8B;AAAA,MAMrCC,QANqC,GAkBrCN,KAlBqC,CAMrCM,QANqC;AAAA,MAOrCC,cAPqC,GAkBrCP,KAlBqC,CAOrCO,cAPqC;AAAA,MAQrCC,gBARqC,GAkBrCR,KAlBqC,CAQrCQ,gBARqC;AAAA,wBAkBrCR,KAlBqC,CASrCS,QATqC;AAAA,MASrCA,QATqC,gCAS1B,MAT0B;AAAA,MAUrCC,SAVqC,GAkBrCV,KAlBqC,CAUrCU,SAVqC;AAAA,MAWrCC,OAXqC,GAkBrCX,KAlBqC,CAWrCW,OAXqC;AAAA,MAYrCC,SAZqC,GAkBrCZ,KAlBqC,CAYrCY,QAZqC;AAAA,2BAkBrCZ,KAlBqC,CAarCa,WAbqC;AAAA,MAarCA,WAbqC,mCAavB,IAAI,IAAJ,GAAW,IAbY;AAAA,MAcrCC,aAdqC,GAkBrCd,KAlBqC,CAcrCc,YAdqC;AAAA,MAerCC,MAfqC,GAkBrCf,KAlBqC,CAerCe,MAfqC;AAAA,MAgBrCC,IAhBqC,GAkBrChB,KAlBqC,CAgBrCgB,IAhBqC;AAAA,MAiBlCC,IAjBkC,4BAkBrCjB,KAlBqC,wMAmBzC;;;AACA,MAAMkB,YAAY,GACdlB,KAAK,CAACkB,YAAN,KAAuBT,QAAQ,IAAI,SAAZ,IAAyBA,QAAQ,IAAI,cAA5D,CADJ;;AApByC,kBAuBT,qBAAS,EAAT,CAvBS;AAAA;AAAA,MAuBlCU,QAvBkC;AAAA,MAuBxBC,WAvBwB,kBAuBK;;;AAvBL,mBAwBH,qBAAS,IAAT,CAxBG;AAAA;AAAA,MAwBlCC,WAxBkC;AAAA,MAwBrBC,cAxBqB,kBAwBa;;;AAxBb,mBAyBX,qBAAS,IAAT,CAzBW;AAAA;AAAA,MAyBlCC,OAzBkC;AAAA,MAyBzBC,UAzByB;;AAAA,qBA0Bf,8BAAYrC,SAAZ,CA1Be;AAAA;AAAA,MA0BlCsC,KA1BkC;AAAA,MA0B3BC,QA1B2B,qBA0BS;;;AAElD,MAAMpC,GAAG,GAAG;AACRI,IAAAA,MAAM,EAAEM,KAAK,CAACN,MAAN,IAAgBD,OAAO,CAACC,MADxB;AAERH,IAAAA,WAAW,EAAES,KAAK,CAACT,WAAN,IAAqBE,OAAO,CAACF,WAFlC;AAGRI,IAAAA,YAAY,EAAEK,KAAK,CAACL,YAAN,IAAsBF,OAAO,CAACE,YAHpC,CAIR;;AAJQ,GAAZ;AA5ByC,MAkCjCD,MAlCiC,GAkCKJ,GAlCL,CAkCjCI,MAlCiC;AAAA,MAkCzBH,WAlCyB,GAkCKD,GAlCL,CAkCzBC,WAlCyB;AAAA,MAkCZI,YAlCY,GAkCKL,GAlCL,CAkCZK,YAlCY;AAoCzC,wBAAU,YAAM;AACZyB,IAAAA,WAAW,CAACO,cAAc,CAAC3B,KAAD,CAAd,IAAyB,EAA1B,CAAX;AACH,GAFD,EAEG,CAACgB,IAAD,CAFH;AAIA,wBAAU,YAAM;AACZ,QAAIO,OAAJ,EAAa;AACTD,MAAAA,cAAc,CAAC,IAAIM,oBAAJ,CAAWL,OAAX,EAAoB,EAApB,CAAD,CAAd;AACH;AACJ,GAJD,EAIG,CAACA,OAAD,CAJH;;AAMA,MAAMM,SAAS,GAAG,SAAZA,SAAY,GAAM;AACpB,QAAIC,KAAK,GAAG,6BAAY,OAAZ,KAAwB,EAApC;;AACA,QAAIC,MAAM,mCACHd,IADG;AAENb,MAAAA,MAAM,EAANA,MAFM;AAGNV,MAAAA,MAAM,EAANA,MAHM;AAINyB,MAAAA,QAAQ,EAAEA,QAJJ;AAKNV,MAAAA,QAAQ,EAARA,QALM;AAMNF,MAAAA,cAAc,EAAdA,cANM;AAONyB,MAAAA,OAAO;AACHC,QAAAA,aAAa,EAAEH,KAAK,oBAAaA,KAAb,IAAuB;AADxC,SAEAb,IAAI,CAACe,OAFL,CAPD;AAWNE,MAAAA,QAXM,oBAWGC,IAXH,EAWS;AACX,YAAIA,IAAI,CAACC,IAAL,CAAUC,QAAV,IAAsBF,IAAI,CAACC,IAAL,CAAUC,QAAV,CAAmBC,MAAnB,KAA8B,CAAxD,EAA2D;AACvDC,8BAAQC,KAAR,CAAcL,IAAI,CAACC,IAAL,CAAUC,QAAV,CAAmBI,MAAnB,IAA6B,OAA3C;;AACA,cAAIC,GAAG,sBAAOvB,QAAP,CAAP;;AACAuB,UAAAA,GAAG,CAACC,GAAJ;AACAvB,UAAAA,WAAW,CAACsB,GAAD,CAAX;AACA;AACH,SAPU,CAQX;;;AACA,YAAIE,KAAK,GACLT,IAAI,CAACC,IAAL,CAAUC,QAAV,IACAQ,KAAK,CAACC,OAAN,CAAcX,IAAI,CAACC,IAAL,CAAUC,QAAV,CAAmBU,IAAjC,CADA,IAEAZ,IAAI,CAACC,IAAL,CAAUC,QAAV,CAAmBU,IAAnB,CAAwBC,MAAxB,GAAiC,CAFjC,GAGMb,IAAI,CAACC,IAAL,CAAUC,QAAV,CAAmBU,IAAnB,CAAwB,CAAxB,EAA2BE,EAHjC,GAIMC,SALV;AAMA,YAAIC,WAAW,GAAGhB,IAAI,CAAChB,QAAvB;AACA,YAAIiC,OAAO,GAAGR,KAAK,mCAENT,IAAI,CAACC,IAFC;AAGTa,UAAAA,EAAE,EAAEL,KAHK;AAITtD,UAAAA,GAAG,EAAEC,WAAW,GAAGqD,KAJV;AAKTS,UAAAA,QAAQ,EAAEnC,YAAY,GAAGvB,YAAY,GAAGiD,KAAlB,GAA0BM;AALvC,+BAQNf,IAAI,CAACC,IARC,CAAnB;;AAWA,YAAID,IAAI,CAACC,IAAL,CAAUkB,MAAV,KAAqB,MAArB,IAA+BV,KAAnC,EAA0C;AACtCO,UAAAA,WAAW,GAAGhB,IAAI,CAAChB,QAAL,CAAcoC,GAAd,CAAkB,UAAAC,IAAI,EAAI;AACpC,gBAAIA,IAAI,CAACC,GAAL,IAAYtB,IAAI,CAACC,IAAL,CAAUqB,GAA1B,EAA+B;AAC3B,qDACOD,IADP;AAEIP,gBAAAA,EAAE,EAAEL,KAFR;AAGItD,gBAAAA,GAAG,EAAEC,WAAW,GAAGqD,KAHvB;AAIIS,gBAAAA,QAAQ,EAAEnC,YAAY,GAAGvB,YAAY,GAAGiD,KAAlB,GAA0BM;AAJpD;AAMH;;AACD,mBAAOM,IAAP;AACH,WAVa,CAAd;AAWH,SAvCU,CAyCX;;;AACA,YAAInD,IAAI,IAAI,QAAR,IAAoB8B,IAAI,CAACC,IAAL,CAAUkB,MAAV,KAAqB,MAA7C,EAAqD;AACjDlC,UAAAA,WAAW,CAAC,CAACgC,OAAD,CAAD,CAAX;AACH,SAFD,MAEO;AACHhC,UAAAA,WAAW,CAAC+B,WAAD,CAAX;AACH,SA9CU,CAgDX;;;AACA,YAAIhB,IAAI,CAACC,IAAL,CAAUkB,MAAV,KAAqB,MAAzB,EAAiC;AAC7B,cAAI,OAAO5C,SAAP,IAAoB,UAAxB,EAAoC;AAChCA,YAAAA,SAAS,CAAC0C,OAAD,CAAT;AACH;AACJ,SAJD,MAIO,IAAIjB,IAAI,CAACC,IAAL,CAAUkB,MAAV,KAAqB,OAAzB,EAAkC;AACrC,cAAI,OAAO3C,OAAP,IAAkB,UAAtB,EAAkC;AAC9BA,YAAAA,OAAO,CAACwB,IAAI,CAACC,IAAN,CAAP;AACH;AACJ;AACJ,OArEK;AAsENxB,MAAAA,QAtEM,oBAsEGwB,IAtEH,EAsES;AACX,YAAI,OAAOxB,SAAP,IAAmB,UAAvB,EAAmC;AAC/B,iBAAOA,SAAQ,CAACwB,IAAD,CAAf;AACH;AACJ,OA1EK;AA2ENtB,MAAAA,YA3EM,wBA2EOsB,IA3EP,EA2Ea;AACf;AACA,YAAIvB,WAAW,IAAI,OAAOA,WAAP,KAAuB,QAA1C,EAAoD;AAChD,cAAM6C,KAAK,GAAGtB,IAAI,CAACuB,IAAL,GAAY9C,WAA1B;;AACA,cAAI,CAAC6C,KAAL,EAAY;AACRnB,gCAAQC,KAAR,6BAAoB3B,WAAW,GAAG,IAAd,GAAqB,IAAzC;;AACA,mBAAO,KAAP;AACH;AACJ,SARc,CASf;;;AACA,YAAI+C,UAAU,GAAGxB,IAAI,CAAC/C,IAAL,GAAY+C,IAAI,CAAC/C,IAAL,CAAUwE,WAAV,CAAsB,GAAtB,CAAZ,GAAyC,CAAC,CAA3D;;AACA,YAAID,UAAU,GAAG,CAAC,CAAlB,EAAqB;AACjB,cAAIE,QAAQ,GAAG1B,IAAI,CAAC/C,IAAL,CAAU0E,SAAV,CAAoBH,UAApB,CAAf;;AACA,cAAIhE,WAAW,CAACoE,QAAZ,CAAqBF,QAArB,CAAJ,EAAoC;AAChCvB,gCAAQC,KAAR,CAAc,UAAd;;AACA,mBAAO,KAAP;AACH;AACJ;;AAED,YAAI,OAAO1B,aAAP,KAAwB,UAA5B,EAAwC;AACpCA,UAAAA,aAAY,CAACsB,IAAD,CAAZ;AACH;;AACD,eAAO,IAAP;AACH;AAlGK,MAAV;;AAqGA,QAAIpC,KAAK,CAACiE,SAAN,IAAmB,OAAOjE,KAAK,CAACiE,SAAb,KAA2B,UAAlD,EAA8D;AAC1DlC,MAAAA,MAAM,CAACkC,SAAP,GAAmBjE,KAAK,CAACiE,SAAzB;AACH,KAFD,MAEO;AACHlC,MAAAA,MAAM,CAACkC,SAAP,GAAmB,UAAA7B,IAAI,EAAI;AACvB,YAAI,CAACA,IAAI,CAAChD,IAAV,EAAgB;AACZ,wCAAaG,WAAW,GAAG6C,IAAI,CAACa,EAAhC,EAAoC;AAAEiB,YAAAA,QAAQ,EAAE9B,IAAI,CAAC/C;AAAjB,WAApC,EAA6D,MAA7D;AACH,SAFD,MAEO,IAAI+C,IAAI,CAAChD,IAAL,CAAU+E,OAAV,CAAkB,OAAlB,IAA6B,CAAC,CAAlC,EAAqC;AACxCC,UAAAA,aAAa,CAAChC,IAAD,CAAb;AACH,SAFM,MAEA,IAAIA,IAAI,CAAChD,IAAL,CAAU+E,OAAV,CAAkB,OAAlB,IAA6B,CAAC,CAAlC,EAAqC;AACxC;AACAzC,UAAAA,QAAQ,CAAC;AACLtC,YAAAA,IAAI,EAAE,OADD;AAELC,YAAAA,IAAI,EAAE+C,IAAI,CAAC/C,IAAL,IAAa,MAFd;AAGLC,YAAAA,GAAG,EAAEC,WAAW,GAAG6C,IAAI,CAACa,EAHnB;AAIL1D,YAAAA,WAAW,EAAEA,WAAW,GAAG6C,IAAI,CAACa,EAJ3B;AAKLzD,YAAAA,OAAO,EAAE;AALJ,WAAD,CAAR;AAOH,SATM,MASA;AACH,wCAAaD,WAAW,GAAG6C,IAAI,CAACa,EAAhC,EAAoC;AAAEiB,YAAAA,QAAQ,EAAE9B,IAAI,CAAC/C;AAAjB,WAApC,EAA6D,MAA7D;AACH,SAhBsB,CAkBvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACH,OA7CD;AA8CH,KAxJmB,CA0JpB;;;AACA,QAAIiB,QAAJ,EAAc;AACVyB,MAAAA,MAAM,CAACxB,cAAP,GAAwB;AAAE8D,QAAAA,cAAc,EAAE;AAAlB,OAAxB;AACH;;AAED,WAAOtC,MAAP;AACH,GAhKD;;AAkKA,MAAMqC,aAAa,GAAG,SAAhBA,aAAgB,CAAAhC,IAAI,EAAI;AAC1B,QAAMkC,UAAU,GAAGnD,QAAQ,CAACoC,GAAT,CAAa,UAAAC,IAAI;AAAA,aAAIA,IAAI,CAACP,EAAT;AAAA,KAAjB,EAA8BkB,OAA9B,CAAsC/B,IAAI,CAACa,EAA3C,CAAnB;AACA,QAAIqB,UAAU,IAAI,CAAC,CAAnB,EAAsB;AACtBjD,IAAAA,WAAW,CAACkD,MAAZ;AACAlD,IAAAA,WAAW,CAACmD,IAAZ,CAAiBF,UAAjB;AACH,GALD;;AAOA,MAAM3C,cAAc,GAAG,SAAjBA,cAAiB,CAAA3B,KAAK,EAAI;AAC5B,QAAIyE,iBAAiB,GAAGzE,KAAK,CAACmB,QAAN,IAAkB,EAA1C,CAD4B,CAE5B;;AACA,QAAInB,KAAK,CAACK,IAAN,IAAc,QAAd,IAA0BoE,iBAAiB,CAACzB,MAAlB,GAA2B,CAAzD,EAA4D;AACxDyB,MAAAA,iBAAiB,GAAG,CAACA,iBAAiB,CAAC,CAAD,CAAlB,CAApB;AACH;;AACDA,IAAAA,iBAAiB,GAAGA,iBAAiB,CAAClB,GAAlB,CAAsB,UAACC,IAAD,EAAOkB,KAAP,EAAiB;AACvD;AACA,UAAIlB,IAAI,CAACnE,IAAL,KAAc6D,SAAd,IAA2BM,IAAI,CAACP,EAAL,KAAYC,SAA3C,EAAsD;AAClD;AACAyB,QAAAA,OAAO,CAACnC,KAAR,CAAc,oBAAd;AACH;;AACD,6CACOgB,IADP;AAEIC,QAAAA,GAAG,EAAE,CAAC,CAAD,GAAKiB,KAFd;AAGIpB,QAAAA,MAAM,EAAE,MAHZ;AAIIhE,QAAAA,GAAG,EAAEkE,IAAI,CAAClE,GAAL,IAAYC,WAAW,GAAGiE,IAAI,CAACP,EAJxC;AAKII,QAAAA,QAAQ,EAAEnC,YAAY,GAAGsC,IAAI,CAACH,QAAL,IAAiB1D,YAAY,GAAG6D,IAAI,CAACP,EAAxC,GAA6CC;AALvE;AAOH,KAbmB,CAApB;AAcA,WAAOuB,iBAAP;AACH,GArBD;;AAsBA,sBACI,kEACKvE,SAAS,gBACN,gCAAC,OAAD,eAAa2B,SAAS,EAAtB;AAA0B,IAAA,GAAG,EAAE5B;AAA/B,MACKE,aAAa,SAAb,IAAAA,aAAa,WAAb,IAAAA,aAAa,CAAEyE,GAAf,gBACG;AACI,IAAA,GAAG,EAAEzE,aAAa,CAACyE,GADvB;AAEI,IAAA,GAAG,EAAC,EAFR;AAGI,IAAA,KAAK,EAAE;AACHC,MAAAA,QAAQ,EAAE,GADP;AAEHC,MAAAA,SAAS,EAAE,GAFR;AAGHC,MAAAA,SAAS,EAAE,IAHR;AAIHC,MAAAA,YAAY,EAAE;AAJX;AAHX,IADH,gBAYG;AAAG,IAAA,SAAS,EAAC;AAAb,kBACI,gCAAC,gBAAD;AAAM,IAAA,IAAI,EAAC;AAAX,IADJ,CAbR,eAiBI;AAAG,IAAA,SAAS,EAAC;AAAb,KAAgC,CAAA7E,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAE8E,QAAf,KAA2B,SAA3D,CAjBJ,eAkBI;AAAG,IAAA,SAAS,EAAC;AAAb,KACK,CAAA9E,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAE+E,OAAf,KAA0B,uBAD/B,CAlBJ,CADM,gBAwBN,gCAAC,kBAAD,eAAYrD,SAAS,EAArB;AAAyB,IAAA,GAAG,EAAE5B;AAA9B,MACKK,QAAQ,IAAIa,QAAQ,CAAC6B,MAAT,IAAmBjC,MAA/B,GACK,IADL,GAEKP,gBAAgB,KACfC,QAAQ,IAAI,cAAZ,gBACG,0DACI,gCAAC,gBAAD;AAAM,IAAA,IAAI,EAAC,MAAX;AAAkB,IAAA,KAAK,EAAE;AAAE0E,MAAAA,QAAQ,EAAE,MAAZ;AAAoBC,MAAAA,KAAK,EAAE;AAA3B;AAAzB,IADJ,eAEI;AAAK,IAAA,SAAS,EAAC;AAAf,oBAFJ,CADH,gBAMG,gCAAC,kBAAD,qBACI,gCAAC,gBAAD;AAAM,IAAA,IAAI,EAAC;AAAX,IADJ,iBAPY,CAH1B,CAzBR,eA0CI;AAAK,IAAA,KAAK,EAAE;AAAEC,MAAAA,OAAO,EAAE;AAAX;AAAZ,kBACI;AACI,IAAA,GAAG,EAAE,aAAAC,GAAG,EAAI;AACR,UAAIA,GAAJ,EAAS9D,UAAU,CAAC8D,GAAD,CAAV;AACZ;AAHL,KAKKnE,QAAQ,CACJoE,MADJ,CACW,UAAA/B,IAAI;AAAA,WAAIA,IAAI,CAACpE,IAAL,IAAaoE,IAAI,CAACpE,IAAL,CAAU+E,OAAV,CAAkB,OAAlB,IAA6B,CAAC,CAA/C;AAAA,GADf,EAEIZ,GAFJ,CAEQ,UAACC,IAAD,EAAOkB,KAAP;AAAA,wBACD;AAAI,MAAA,GAAG,EAAElB,IAAI,CAACC;AAAd,oBACI;AACI,MAAA,GAAG,EAAED,IAAI,CAAClE,GAAL,IAAYC,WAAW,GAAGiE,IAAI,CAACP,EADxC;AAEI,MAAA,GAAG,EAAEO,IAAI,CAACnE,IAAL,sBAAwBqF,KAAK,GAAG,CAAhC;AAFT,MADJ,CADC;AAAA,GAFR,CALL,CADJ,CA1CJ,eA6DI,gCAAC,uBAAD;AAAM,IAAA,QAAQ,EAAE;AAAA,aAAMhD,QAAQ,CAACvC,SAAD,CAAd;AAAA;AAAhB,KAA+CsC,KAA/C,EA7DJ,CADJ;AAiEH,CA9SiB,CAAlB;AAgTA1B,SAAS,CAACyF,SAAV,GAAsB;AAClBtF,EAAAA,SAAS,EAAEuF,sBAAUC,IADH;AAElBvF,EAAAA,aAAa,EAAEsF,sBAAUE,MAFP;AAGlBvF,EAAAA,MAAM,EAAEqF,sBAAUG,MAHA;AAIlBvF,EAAAA,IAAI,EAAEoF,sBAAUG,MAJE;AAKlBtF,EAAAA,QAAQ,EAAEmF,sBAAUC,IALF;AAMlBnF,EAAAA,cAAc,EAAEkF,sBAAUC,IANR;AAOlBlF,EAAAA,gBAAgB,EAAEiF,sBAAUI,IAPV;AAQlBpF,EAAAA,QAAQ,EAAEgF,sBAAUG,MARF;AASlBlG,EAAAA,MAAM,EAAE+F,sBAAUG,MATA;AAUlBrG,EAAAA,WAAW,EAAEkG,sBAAUG,MAVL;AAWlBjG,EAAAA,YAAY,EAAE8F,sBAAUG,MAXN;AAYlBE,EAAAA,UAAU,EAAEL,sBAAUG,MAZJ;AAalBlF,EAAAA,SAAS,EAAE+E,sBAAUM,IAbH;AAclBpF,EAAAA,OAAO,EAAE8E,sBAAUM,IAdD;AAelBnF,EAAAA,QAAQ,EAAE6E,sBAAUM,IAfF;AAgBlB9B,EAAAA,SAAS,EAAEwB,sBAAUM,IAhBH;AAiBlBlF,EAAAA,WAAW,EAAE4E,sBAAUO,MAjBL;AAkBlBlF,EAAAA,YAAY,EAAE2E,sBAAUM,IAlBN;AAmBlBhF,EAAAA,MAAM,EAAE0E,sBAAUO,MAnBA;AAoBlB7E,EAAAA,QAAQ,EAAEsE,sBAAUQ,KApBF;AAqBlBjF,EAAAA,IAAI,EAAEyE,sBAAUO,MArBE;AAsBlB9E,EAAAA,YAAY,EAAEuE,sBAAUC;AAtBN,CAAtB;eAwBe3F,S","sourcesContent":["import React, { useState, useEffect, forwardRef } from 'react';\nimport useSetState from 'ahooks/es/useSetState';\nimport PropTypes from 'prop-types';\nimport Viewer from 'viewerjs';\nimport Upload from 'antd/es/upload';\nimport Button from 'antd/es/button';\nimport Icon from 'antd/es/icon';\nimport message from 'antd/es/message';\nimport downloadFile from '@vtx/utils/lib/downloadFile';\nimport Prev from './FilePreview';\nimport getUrlParam from '../_util/getUrlParam';\n\n//文件预览\nconst initVPrev = {\n type: '', //video or file\n name: '',\n url: '',\n downloadUrl: '',\n visible: false,\n};\n\nconst initUrl = {\n action: '/cloudFile/common/uploadFile',\n downloadUrl: '/cloudFile/common/downloadFile?id=',\n thumbnailUrl:\n '/vortex/rest/cloud/np/file/downloadFileThumbnail?outputQuality=0.5&scale=0.2&id=',\n //previewUrl: '/onlinePreview',\n};\n//禁止上传的文件类型\nconst rejectTypes = ['.asp', '.aspx', '.jsp', '.exe', '.cgi', '.asa', '.cer', '.cdx', '.hta'];\n\nconst Dragger = Upload.Dragger;\nconst VtxUpload = forwardRef((props, ref) => {\n const {\n isDragger = false, //是否拖拽模式\n draggerConfig = {}, //拖动配置\n accept, //接受上传的文件类型\n mode = 'multiple', //单文件模式or多文件模式\n viewMode, //是否查看模式(隐藏上传按钮)\n showUploadList, //是否展示文件列表\n customizedButton, //自定义上传文字描述\n listType = 'text', //上传列表的样式\n onSuccess, //上传成功\n onError, //上传失败\n onRemove, //删除\n maxFileSize = 5 * 1024 * 1024, //文件大小限制,默认最大5M\n beforeUpload, //上传前回调\n maxNum, //最多上传的文件数量\n flag, //同步数据标记\n ...rest\n } = props;\n // 是否使用缩略图\n const useThumbnail =\n props.useThumbnail && (listType == 'picture' || listType == 'picture-card');\n\n const [fileList, setFileList] = useState([]); //初始化文件列表\n const [imageViewer, setImageViewer] = useState(null); //图片预览\n const [imageCt, setImageCt] = useState(null);\n const [vPrev, setVPrev] = useSetState(initVPrev); //文件预览相关\n\n const url = {\n action: props.action || initUrl.action,\n downloadUrl: props.downloadUrl || initUrl.downloadUrl,\n thumbnailUrl: props.thumbnailUrl || initUrl.thumbnailUrl,\n //previewUrl: props.previewUrl || initUrl.previewUrl,\n };\n const { action, downloadUrl, thumbnailUrl } = url;\n\n useEffect(() => {\n setFileList(getSynFileList(props) || []);\n }, [flag]);\n\n useEffect(() => {\n if (imageCt) {\n setImageViewer(new Viewer(imageCt, {}));\n }\n }, [imageCt]);\n\n const getConfig = () => {\n let token = getUrlParam('token') || '';\n let config = {\n ...rest,\n accept,\n action,\n fileList: fileList,\n listType,\n showUploadList,\n headers: {\n Authorization: token ? `Bearer ${token}` : '',\n ...rest.headers,\n },\n onChange(info) {\n if (info.file.response && info.file.response.result === 1) {\n message.error(info.file.response.errMsg || '上传失败!');\n let flt = [...fileList];\n flt.pop();\n setFileList(flt);\n return;\n }\n // 此处根据后台返回的数据结构取得文件ID\n let vtxId =\n info.file.response &&\n Array.isArray(info.file.response.data) &&\n info.file.response.data.length > 0\n ? info.file.response.data[0].id\n : undefined;\n let newFileList = info.fileList;\n let newFile = vtxId\n ? {\n ...info.file,\n id: vtxId,\n url: downloadUrl + vtxId,\n thumbUrl: useThumbnail ? thumbnailUrl + vtxId : undefined,\n }\n : {\n ...info.file,\n };\n\n if (info.file.status === 'done' && vtxId) {\n newFileList = info.fileList.map(item => {\n if (item.uid == info.file.uid) {\n return {\n ...item,\n id: vtxId,\n url: downloadUrl + vtxId,\n thumbUrl: useThumbnail ? thumbnailUrl + vtxId : undefined,\n };\n }\n return item;\n });\n }\n\n // 更新组件状态\n if (mode == 'single' && info.file.status === 'done') {\n setFileList([newFile]);\n } else {\n setFileList(newFileList);\n }\n\n // 触发外部方法\n if (info.file.status === 'done') {\n if (typeof onSuccess == 'function') {\n onSuccess(newFile);\n }\n } else if (info.file.status === 'error') {\n if (typeof onError == 'function') {\n onError(info.file);\n }\n }\n },\n onRemove(file) {\n if (typeof onRemove == 'function') {\n return onRemove(file);\n }\n },\n beforeUpload(file) {\n //限制文件大小\n if (maxFileSize && typeof maxFileSize === 'number') {\n const limit = file.size < maxFileSize;\n if (!limit) {\n message.error(`请上传${maxFileSize / 1024 / 1024}M以内的文件`);\n return false;\n }\n }\n //限制不允许上传的文件类型(通过文件名后缀)\n let pointIndex = file.name ? file.name.lastIndexOf('.') : -1;\n if (pointIndex > -1) {\n let fileType = file.name.substring(pointIndex);\n if (rejectTypes.includes(fileType)) {\n message.error('不支持该文件类型');\n return false;\n }\n }\n\n if (typeof beforeUpload === 'function') {\n beforeUpload(file);\n }\n return true;\n },\n };\n\n if (props.onPreview && typeof props.onPreview === 'function') {\n config.onPreview = props.onPreview;\n } else {\n config.onPreview = file => {\n if (!file.type) {\n downloadFile(downloadUrl + file.id, { fileName: file.name }, 'blob');\n } else if (file.type.indexOf('image') > -1) {\n handlePreview(file);\n } else if (file.type.indexOf('video') > -1) {\n // 视频\n setVPrev({\n type: 'video',\n name: file.name || '视频预览',\n url: downloadUrl + file.id,\n downloadUrl: downloadUrl + file.id,\n visible: true,\n });\n } else {\n downloadFile(downloadUrl + file.id, { fileName: file.name }, 'blob');\n }\n\n // TODO 暂无好的文件预览服务,等后续完善,只提供下载\n // else if (\n // file.type == 'application/PDF' ||\n // file.type == 'application/vnd.ms-excel' ||\n // file.type ==\n // 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' ||\n // file.type == 'application/msword' ||\n // file.type ==\n // 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n // ) {\n // let url = '';\n // if (props.previewUrl) {\n // url = `${props.previewUrl}?id=${file.id}&fileName=${file.name}`;\n // } else {\n // url = `http://183.215.89.162:8012/onlinePreview?url=http://183.136.177.108:8003/cloudFile/common/downloadFile${encodeURIComponent(\n // '?id=' + file.id + '&fullfilename=' + file.name.replace(/\\s*/g, ''),\n // )}`;\n // }\n\n // setVPrev({\n // type: 'file',\n // name: file.name || '文件预览',\n // url: url,\n // downloadUrl: downloadUrl + file.id,\n // visible: true,\n // });\n // }\n };\n }\n\n // viewMode\n if (viewMode) {\n config.showUploadList = { showRemoveIcon: false };\n }\n\n return config;\n };\n\n const handlePreview = file => {\n const imageIndex = fileList.map(item => item.id).indexOf(file.id);\n if (imageIndex == -1) return;\n imageViewer.update();\n imageViewer.view(imageIndex);\n };\n\n const getSynFileList = props => {\n let processedFileList = props.fileList || [];\n // 单文件模式只取第一个\n if (props.mode == 'single' && processedFileList.length > 1) {\n processedFileList = [processedFileList[0]];\n }\n processedFileList = processedFileList.map((item, index) => {\n // 将外部传入的简易文件数组处理成为组件需要的数组结构\n if (item.name === undefined || item.id === undefined) {\n // eslint-disable-next-line no-console\n console.error('文件列表的name和id属性不能为空');\n }\n return {\n ...item,\n uid: -1 - index,\n status: 'done',\n url: item.url || downloadUrl + item.id,\n thumbUrl: useThumbnail ? item.thumbUrl || thumbnailUrl + item.id : undefined,\n };\n });\n return processedFileList;\n };\n return (\n <>\n {isDragger ? (\n <Dragger {...getConfig()} ref={ref}>\n {draggerConfig?.img ? (\n <img\n src={draggerConfig.img}\n alt=\"\"\n style={{\n maxWidth: 100,\n maxHeight: 100,\n marginTop: '3%',\n marginBottom: '5%',\n }}\n />\n ) : (\n <p className=\"ant-upload-drag-icon\">\n <Icon type=\"inbox\" />\n </p>\n )}\n <p className=\"ant-upload-text\">{draggerConfig?.mainText || '点击或拖拽上传'}</p>\n <p className=\"ant-upload-hint\">\n {draggerConfig?.subText || '支持上传word,excel,png...'}\n </p>\n </Dragger>\n ) : (\n <Upload {...getConfig()} ref={ref}>\n {viewMode || fileList.length >= maxNum\n ? null\n : customizedButton ||\n (listType == 'picture-card' ? (\n <div>\n <Icon type=\"plus\" style={{ fontSize: '28px', color: '#999' }} />\n <div className=\"ant-upload-text\">上传</div>\n </div>\n ) : (\n <Button>\n <Icon type=\"upload\" />\n 上传\n </Button>\n ))}\n </Upload>\n )}\n <div style={{ display: 'none' }}>\n <ul\n ref={ins => {\n if (ins) setImageCt(ins);\n }}\n >\n {fileList\n .filter(item => item.type && item.type.indexOf('image') > -1)\n .map((item, index) => (\n <li key={item.uid}>\n <img\n src={item.url || downloadUrl + item.id}\n alt={item.name || `picture-${index + 1}`}\n />\n </li>\n ))}\n </ul>\n </div>\n {/* 视频预览 */}\n <Prev onCancel={() => setVPrev(initVPrev)} {...vPrev} />\n </>\n );\n});\n\nVtxUpload.propTypes = {\n isDragger: PropTypes.bool,\n draggerConfig: PropTypes.object,\n accept: PropTypes.string,\n mode: PropTypes.string,\n viewMode: PropTypes.bool,\n showUploadList: PropTypes.bool,\n customizedButton: PropTypes.node,\n listType: PropTypes.string,\n action: PropTypes.string,\n downloadUrl: PropTypes.string,\n thumbnailUrl: PropTypes.string,\n previewUrl: PropTypes.string,\n onSuccess: PropTypes.func,\n onError: PropTypes.func,\n onRemove: PropTypes.func,\n onPreview: PropTypes.func,\n maxFileSize: PropTypes.number,\n beforeUpload: PropTypes.func,\n maxNum: PropTypes.number,\n fileList: PropTypes.array,\n flag: PropTypes.number,\n useThumbnail: PropTypes.bool,\n};\nexport default VtxUpload;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["vtx-upload/index.jsx"],"names":["debouncedMessage","msg","message","error","initVPrev","type","name","url","downloadUrl","visible","initUrl","action","thumbnailUrl","rejectTypes","Dragger","Upload","VtxUpload","props","ref","isDragger","draggerConfig","accept","mode","viewMode","showUploadList","customizedButton","listType","onSuccess","onError","onRemove","maxFileSize","beforeUpload","maxNum","flag","rest","useThumbnail","fileList","setFileList","imageViewer","setImageViewer","imageList","setImageList","imageCt","setImageCt","vPrev","setVPrev","getSynFileList","Array","isArray","imagelist","map","file","indexOf","push","Viewer","getConfig","token","config","headers","Authorization","onChange","info","response","result","errMsg","flt","pop","status","vtxId","data","length","id","undefined","newFileList","newFile","thumbUrl","filter","item","uid","afterFileList","limit","size","pointIndex","lastIndexOf","fileType","substring","includes","onPreview","fileName","handlePreview","showRemoveIcon","imageIndex","update","view","processedFileList","index","console","img","maxWidth","maxHeight","marginTop","marginBottom","mainText","subText","fontSize","color","display","ins","propTypes","PropTypes","bool","object","string","node","previewUrl","func","number","array"],"mappings":"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","sourcesContent":["import React, { useState, useEffect, forwardRef } from 'react';\nimport useSetState from 'ahooks/es/useSetState';\nimport PropTypes from 'prop-types';\nimport Viewer from 'viewerjs';\nimport Upload from 'antd/es/upload';\nimport Button from 'antd/es/button';\nimport InboxOutlined from '@ant-design/icons/InboxOutlined';\nimport PlusOutlined from '@ant-design/icons/PlusOutlined';\nimport UploadOutlined from '@ant-design/icons/UploadOutlined';\nimport message from 'antd/es/message';\nimport downloadFile from '@vtx/utils/lib/downloadFile';\nimport debounce from 'lodash.debounce';\nimport Prev from './FilePreview';\nimport getUrlParam from '../_util/getUrlParam';\n\nconst debouncedMessage = debounce(msg => {\n message.error(msg);\n}, 500);\n\n//文件预览\nconst initVPrev = {\n type: '', //video or file\n name: '',\n url: '',\n downloadUrl: '',\n visible: false,\n};\n\nconst initUrl = {\n action: '/cloudFile/common/uploadFile',\n downloadUrl: '/cloudFile/common/downloadFile?id=',\n thumbnailUrl:\n '/vortex/rest/cloud/np/file/downloadFileThumbnail?outputQuality=0.5&scale=0.2&id=',\n //previewUrl: '/onlinePreview',\n};\n//禁止上传的文件类型\nconst rejectTypes = ['.asp', '.aspx', '.jsp', '.exe', '.cgi', '.asa', '.cer', '.cdx', '.hta'];\n\nconst Dragger = Upload.Dragger;\nconst VtxUpload = forwardRef((props, ref) => {\n const {\n isDragger = false, //是否拖拽模式\n draggerConfig = {}, //拖动配置\n accept, //接受上传的文件类型\n mode = 'multiple', //单文件模式or多文件模式\n viewMode, //是否查看模式(隐藏上传按钮)\n showUploadList, //是否展示文件列表\n customizedButton, //自定义上传文字描述\n listType = 'text', //上传列表的样式\n onSuccess, //上传成功\n onError, //上传失败\n onRemove, //删除\n maxFileSize = 5 * 1024 * 1024, //文件大小限制,默认最大5M\n beforeUpload, //上传前回调\n maxNum, //最多上传的文件数量\n flag, //同步数据标记\n ...rest\n } = props;\n // 是否使用缩略图\n const useThumbnail =\n props.useThumbnail && (listType == 'picture' || listType == 'picture-card');\n\n const [fileList, setFileList] = useState([]); //初始化文件列表\n const [imageViewer, setImageViewer] = useState(null); //图片预览\n const [imageList, setImageList] = useState([]);\n const [imageCt, setImageCt] = useState(null);\n const [vPrev, setVPrev] = useSetState(initVPrev); //文件预览相关\n\n const url = {\n action: props.action || initUrl.action,\n downloadUrl: props.downloadUrl || initUrl.downloadUrl,\n thumbnailUrl: props.thumbnailUrl || initUrl.thumbnailUrl,\n //previewUrl: props.previewUrl || initUrl.previewUrl,\n };\n const { action, downloadUrl, thumbnailUrl } = url;\n\n useEffect(() => {\n setFileList(getSynFileList(props) || []);\n }, [flag]);\n\n useEffect(() => {\n if (Array.isArray(fileList)) {\n // 只有图片的才可以预览,这边需要判断是否是图片\n const imagelist = [];\n // 只能通过后缀来判断\n fileList.map(file => {\n if (file.type?.indexOf('image') > -1) {\n imagelist.push(file);\n }\n });\n setImageList(imagelist);\n }\n }, [fileList]);\n\n useEffect(() => {\n if (imageCt) {\n setImageViewer(new Viewer(imageCt, {}));\n }\n }, [imageCt]);\n\n const getConfig = () => {\n let token = getUrlParam('token') || '';\n let config = {\n ...rest,\n accept,\n action,\n fileList: fileList,\n listType,\n showUploadList,\n headers: {\n Authorization: token ? `Bearer ${token}` : '',\n ...rest.headers,\n },\n onChange(info) {\n setFileList(info.fileList);\n if (info.file.response && info.file.response.result === 1) {\n message.error(info.file.response.errMsg || '上传失败!');\n let flt = [...fileList];\n flt.pop();\n setFileList(flt);\n return;\n }\n // 此处根据后台返回的数据结构取得文件ID\n if (info.file.status !== 'uploading' && info.file.status !== 'removed') {\n let vtxId =\n info.file.response &&\n Array.isArray(info.file.response.data) &&\n info.file.response.data.length > 0\n ? info.file.response.data[0].id\n : undefined;\n let newFileList = info.fileList;\n let newFile = vtxId\n ? {\n ...info.file,\n id: vtxId,\n url: downloadUrl + vtxId,\n thumbUrl: useThumbnail ? thumbnailUrl + vtxId : undefined,\n }\n : {\n ...info.file,\n };\n newFileList = info.fileList\n .filter(item => {\n // 有vtxId代表上传成功,有item.id代表之前上传成功的\n if (vtxId || item.id) return true;\n return false;\n })\n .map(item => {\n if (item.uid == info.file.uid) {\n return {\n ...item,\n id: vtxId,\n url: downloadUrl + vtxId,\n thumbUrl: useThumbnail ? thumbnailUrl + vtxId : undefined,\n };\n }\n return item;\n });\n\n if (mode == 'single') {\n setFileList([newFile]);\n } else {\n setFileList(newFileList);\n }\n // 更新组件状态\n // if (mode == 'single' && info.file.status === 'done') {\n // setFileList([newFile]);\n // } else {\n // setFileList(newFileList);\n // }\n\n // 触发外部方法\n if (info.file.status === 'done') {\n if (typeof onSuccess == 'function') {\n onSuccess(newFile);\n }\n } else if (info.file.status === 'error') {\n if (typeof onError == 'function') {\n onError(info.file);\n }\n }\n }\n },\n onRemove(file) {\n if (typeof onRemove == 'function') {\n return onRemove(file);\n }\n },\n beforeUpload(file, afterFileList) {\n //限制文件大小\n if (maxFileSize && typeof maxFileSize === 'number') {\n const limit = file.size < maxFileSize;\n if (!limit) {\n message.error(`请上传${maxFileSize / 1024 / 1024}M以内的文件`);\n return false;\n }\n }\n //限制不允许上传的文件类型(通过文件名后缀)\n let pointIndex = file.name ? file.name.lastIndexOf('.') : -1;\n if (pointIndex > -1) {\n let fileType = file.name.substring(pointIndex);\n if (rejectTypes.includes(fileType)) {\n message.error('不支持该文件类型');\n return false;\n }\n }\n // 多选限制文件数量\n if (typeof maxNum === 'number' && afterFileList.length + fileList.length > maxNum) {\n // 减少提示错误次数, 思路,防抖 这边有个问题 就是防抖的这个方法 return fasle 不上传\n debouncedMessage(`最多上传${maxNum}个`);\n return false;\n }\n\n if (typeof beforeUpload === 'function') {\n beforeUpload(file, afterFileList);\n }\n return true;\n },\n };\n\n if (props.onPreview && typeof props.onPreview === 'function') {\n config.onPreview = props.onPreview;\n } else {\n config.onPreview = file => {\n if (!file.type) {\n downloadFile(downloadUrl + file.id, { fileName: file.name }, 'blob');\n } else if (file.type?.indexOf('image') > -1) {\n handlePreview(file);\n } else if (file.type?.indexOf('video') > -1) {\n // 视频\n setVPrev({\n type: 'video',\n name: file.name || '视频预览',\n url: downloadUrl + file.id,\n downloadUrl: downloadUrl + file.id,\n visible: true,\n });\n } else {\n downloadFile(downloadUrl + file.id, { fileName: file.name }, 'blob');\n }\n\n // TODO 暂无好的文件预览服务,等后续完善,只提供下载\n // else if (\n // file.type == 'application/PDF' ||\n // file.type == 'application/vnd.ms-excel' ||\n // file.type ==\n // 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' ||\n // file.type == 'application/msword' ||\n // file.type ==\n // 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n // ) {\n // let url = '';\n // if (props.previewUrl) {\n // url = `${props.previewUrl}?id=${file.id}&fileName=${file.name}`;\n // } else {\n // url = `http://183.215.89.162:8012/onlinePreview?url=http://183.136.177.108:8003/cloudFile/common/downloadFile${encodeURIComponent(\n // '?id=' + file.id + '&fullfilename=' + file.name.replace(/\\s*/g, ''),\n // )}`;\n // }\n\n // setVPrev({\n // type: 'file',\n // name: file.name || '文件预览',\n // url: url,\n // downloadUrl: downloadUrl + file.id,\n // visible: true,\n // });\n // }\n };\n }\n\n // viewMode\n if (viewMode) {\n config.showUploadList = { showRemoveIcon: false };\n }\n\n return config;\n };\n\n const handlePreview = file => {\n const imageIndex = imageList.map(item => item.id).indexOf(file.id);\n if (imageIndex == -1) return;\n imageViewer.update();\n imageViewer.view(imageIndex);\n };\n\n const getSynFileList = props => {\n let processedFileList = props.fileList || [];\n // 单文件模式只取第一个\n if (props.mode == 'single' && processedFileList.length > 1) {\n processedFileList = [processedFileList[0]];\n }\n processedFileList = processedFileList.map((item, index) => {\n // 将外部传入的简易文件数组处理成为组件需要的数组结构\n if (item.name === undefined || item.id === undefined) {\n // eslint-disable-next-line no-console\n console.error('文件列表的name和id属性不能为空');\n }\n return {\n ...item,\n uid: -1 - index,\n status: 'done',\n url: item.url || downloadUrl + item.id,\n thumbUrl: useThumbnail ? item.thumbUrl || thumbnailUrl + item.id : undefined,\n };\n });\n return processedFileList;\n };\n return (\n <>\n {isDragger ? (\n <Dragger {...getConfig()} ref={ref}>\n {draggerConfig?.img ? (\n <img\n src={draggerConfig.img}\n alt=\"\"\n style={{\n maxWidth: 100,\n maxHeight: 100,\n marginTop: '3%',\n marginBottom: '5%',\n }}\n />\n ) : (\n <p className=\"ant-upload-drag-icon\">\n <InboxOutlined />\n </p>\n )}\n <p className=\"ant-upload-text\">{draggerConfig?.mainText || '点击或拖拽上传'}</p>\n <p className=\"ant-upload-hint\">\n {draggerConfig?.subText || '支持上传word,excel,png...'}\n </p>\n </Dragger>\n ) : (\n <Upload {...getConfig()} ref={ref}>\n {viewMode || fileList.length >= maxNum\n ? null\n : customizedButton ||\n (listType == 'picture-card' ? (\n <div>\n <PlusOutlined style={{ fontSize: '28px', color: '#999' }} />\n <div className=\"ant-upload-text\">上传</div>\n </div>\n ) : (\n <Button>\n <UploadOutlined />\n 上传\n </Button>\n ))}\n </Upload>\n )}\n <div style={{ display: 'none' }}>\n <ul\n ref={ins => {\n if (ins) setImageCt(ins);\n }}\n >\n {imageList\n .filter(item => item.type && item.type?.indexOf('image') > -1)\n .map((item, index) => (\n <li key={item.uid}>\n <img\n src={item.url || downloadUrl + item.id}\n alt={item.name || `picture-${index + 1}`}\n />\n </li>\n ))}\n </ul>\n </div>\n {/* 视频预览 */}\n <Prev onCancel={() => setVPrev(initVPrev)} {...vPrev} />\n </>\n );\n});\n\nVtxUpload.propTypes = {\n isDragger: PropTypes.bool,\n draggerConfig: PropTypes.object,\n accept: PropTypes.string,\n mode: PropTypes.string,\n viewMode: PropTypes.bool,\n showUploadList: PropTypes.bool,\n customizedButton: PropTypes.node,\n listType: PropTypes.string,\n action: PropTypes.string,\n downloadUrl: PropTypes.string,\n thumbnailUrl: PropTypes.string,\n previewUrl: PropTypes.string,\n onSuccess: PropTypes.func,\n onError: PropTypes.func,\n onRemove: PropTypes.func,\n onPreview: PropTypes.func,\n maxFileSize: PropTypes.number,\n beforeUpload: PropTypes.func,\n maxNum: PropTypes.number,\n fileList: PropTypes.array,\n flag: PropTypes.number,\n useThumbnail: PropTypes.bool,\n};\nexport default VtxUpload;\n"],"file":"index.js"}
@@ -23,25 +23,25 @@ var _config = _interopRequireDefault(require("../config"));
23
23
 
24
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
25
 
26
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
26
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
27
 
28
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
28
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
29
 
30
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
30
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
31
31
 
32
32
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
33
33
 
34
34
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
35
35
 
36
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
36
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
37
37
 
38
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
38
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
39
39
 
40
40
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
41
41
 
42
42
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
43
43
 
44
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
44
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
45
45
 
46
46
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
47
47