@vtx/components 2.5.3 → 2.5.4
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.
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
## [2.5.4](https://git.cloudhw.cn:3443/front-end/react-components/compare/2.5.3...2.5.4) (2021-12-20)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### ✨ Features
|
|
5
|
+
|
|
6
|
+
* 上传超过限制数提示信息添加防抖 ([01e4bf0](https://git.cloudhw.cn:3443/front-end/react-components/commit/01e4bf0)) by: **gongjinhua**
|
|
7
|
+
* 查询布局展开设置悬浮pointer样式 ([0d9fb91](https://git.cloudhw.cn:3443/front-end/react-components/commit/0d9fb91)) by: **gongjinhua**
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### 🐛 Bug Fixes
|
|
11
|
+
|
|
12
|
+
* 修复多选,上传文件多余限制数量问题,预览图片仅限图片类型 ([766d537](https://git.cloudhw.cn:3443/front-end/react-components/commit/766d537)) by: **xuzhengyun**
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### 📝 Documentation
|
|
16
|
+
|
|
17
|
+
* 报表容器VtxRpsFrame修改参数data_param类型为object|array ([64ecec4](https://git.cloudhw.cn:3443/front-end/react-components/commit/64ecec4)) by: **gongjinhua**
|
|
18
|
+
* 颜色选择器添加placement说明 ([25a957b](https://git.cloudhw.cn:3443/front-end/react-components/commit/25a957b)) by: **gongjinhua**
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
1
22
|
## [2.5.3](https://git.cloudhw.cn:3443/front-end/react-components/compare/2.5.2...2.5.3) (2021-12-04)
|
|
2
23
|
|
|
3
24
|
|
|
@@ -7,6 +28,11 @@
|
|
|
7
28
|
* 模态框VtxModal内容区域背景色默认为#ffffff ([bb328c6](https://git.cloudhw.cn:3443/front-end/react-components/commit/bb328c6)) by: **gongjinhua**
|
|
8
29
|
|
|
9
30
|
|
|
31
|
+
### 🎫 Chores
|
|
32
|
+
|
|
33
|
+
* release v2.5.3 ([792f871](https://git.cloudhw.cn:3443/front-end/react-components/commit/792f871)) by: **gongjinhua**
|
|
34
|
+
|
|
35
|
+
|
|
10
36
|
### 📝 Documentation
|
|
11
37
|
|
|
12
38
|
* 去除无效代码 ([b54db82](https://git.cloudhw.cn:3443/front-end/react-components/commit/b54db82)) by: **gongjinhua**
|
package/lib/vtx-upload/index.js
CHANGED
|
@@ -25,6 +25,8 @@ var _message = _interopRequireDefault(require("antd/es/message"));
|
|
|
25
25
|
|
|
26
26
|
var _downloadFile = _interopRequireDefault(require("@vtx/utils/lib/downloadFile"));
|
|
27
27
|
|
|
28
|
+
var _lodash = _interopRequireDefault(require("lodash.debounce"));
|
|
29
|
+
|
|
28
30
|
var _FilePreview = _interopRequireDefault(require("./FilePreview"));
|
|
29
31
|
|
|
30
32
|
var _getUrlParam = _interopRequireDefault(require("../_util/getUrlParam"));
|
|
@@ -67,7 +69,10 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
67
69
|
|
|
68
70
|
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
71
|
|
|
70
|
-
|
|
72
|
+
var debouncedMessage = (0, _lodash["default"])(function (msg) {
|
|
73
|
+
_message["default"].error(msg);
|
|
74
|
+
}, 500); //文件预览
|
|
75
|
+
|
|
71
76
|
var initVPrev = {
|
|
72
77
|
type: '',
|
|
73
78
|
//video or file
|
|
@@ -123,10 +128,15 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
123
128
|
setImageViewer = _useState4[1]; //图片预览
|
|
124
129
|
|
|
125
130
|
|
|
126
|
-
var _useState5 = (0, _react.useState)(
|
|
131
|
+
var _useState5 = (0, _react.useState)([]),
|
|
127
132
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
128
|
-
|
|
129
|
-
|
|
133
|
+
imageList = _useState6[0],
|
|
134
|
+
setImageList = _useState6[1];
|
|
135
|
+
|
|
136
|
+
var _useState7 = (0, _react.useState)(null),
|
|
137
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
138
|
+
imageCt = _useState8[0],
|
|
139
|
+
setImageCt = _useState8[1];
|
|
130
140
|
|
|
131
141
|
var _useSetState = (0, _useSetState3["default"])(initVPrev),
|
|
132
142
|
_useSetState2 = _slicedToArray(_useSetState, 2),
|
|
@@ -146,6 +156,19 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
146
156
|
(0, _react.useEffect)(function () {
|
|
147
157
|
setFileList(getSynFileList(props) || []);
|
|
148
158
|
}, [flag]);
|
|
159
|
+
(0, _react.useEffect)(function () {
|
|
160
|
+
if (Array.isArray(fileList)) {
|
|
161
|
+
// 只有图片的才可以预览,这边需要判断是否是图片
|
|
162
|
+
var imagelist = []; // 只能通过后缀来判断
|
|
163
|
+
|
|
164
|
+
fileList.map(function (file) {
|
|
165
|
+
if (file.type.indexOf('image') > -1) {
|
|
166
|
+
imagelist.push(file);
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
setImageList(imagelist);
|
|
170
|
+
}
|
|
171
|
+
}, [fileList]);
|
|
149
172
|
(0, _react.useEffect)(function () {
|
|
150
173
|
if (imageCt) {
|
|
151
174
|
setImageViewer(new _viewerjs["default"](imageCt, {}));
|
|
@@ -165,6 +188,8 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
165
188
|
Authorization: token ? "Bearer ".concat(token) : ''
|
|
166
189
|
}, rest.headers),
|
|
167
190
|
onChange: function onChange(info) {
|
|
191
|
+
setFileList(info.fileList);
|
|
192
|
+
|
|
168
193
|
if (info.file.response && info.file.response.result === 1) {
|
|
169
194
|
_message["default"].error(info.file.response.errMsg || '上传失败!');
|
|
170
195
|
|
|
@@ -176,16 +201,19 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
176
201
|
} // 此处根据后台返回的数据结构取得文件ID
|
|
177
202
|
|
|
178
203
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
204
|
+
if (info.file.status !== 'uploading') {
|
|
205
|
+
var vtxId = info.file.response && Array.isArray(info.file.response.data) && info.file.response.data.length > 0 ? info.file.response.data[0].id : undefined;
|
|
206
|
+
var newFileList = info.fileList;
|
|
207
|
+
var newFile = vtxId ? _objectSpread(_objectSpread({}, info.file), {}, {
|
|
208
|
+
id: vtxId,
|
|
209
|
+
url: downloadUrl + vtxId,
|
|
210
|
+
thumbUrl: useThumbnail ? thumbnailUrl + vtxId : undefined
|
|
211
|
+
}) : _objectSpread({}, info.file);
|
|
212
|
+
newFileList = info.fileList.filter(function (item) {
|
|
213
|
+
// 有vtxId代表上传成功,有item.id代表之前上传成功的
|
|
214
|
+
if (vtxId || item.id) return true;
|
|
215
|
+
return false;
|
|
216
|
+
}).map(function (item) {
|
|
189
217
|
if (item.uid == info.file.uid) {
|
|
190
218
|
return _objectSpread(_objectSpread({}, item), {}, {
|
|
191
219
|
id: vtxId,
|
|
@@ -196,23 +224,28 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
196
224
|
|
|
197
225
|
return item;
|
|
198
226
|
});
|
|
199
|
-
} // 更新组件状态
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
if (mode == 'single' && info.file.status === 'done') {
|
|
203
|
-
setFileList([newFile]);
|
|
204
|
-
} else {
|
|
205
|
-
setFileList(newFileList);
|
|
206
|
-
} // 触发外部方法
|
|
207
|
-
|
|
208
227
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
if (
|
|
215
|
-
|
|
228
|
+
if (mode == 'single') {
|
|
229
|
+
setFileList([newFile]);
|
|
230
|
+
} else {
|
|
231
|
+
setFileList(newFileList);
|
|
232
|
+
} // 更新组件状态
|
|
233
|
+
// if (mode == 'single' && info.file.status === 'done') {
|
|
234
|
+
// setFileList([newFile]);
|
|
235
|
+
// } else {
|
|
236
|
+
// setFileList(newFileList);
|
|
237
|
+
// }
|
|
238
|
+
// 触发外部方法
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
if (info.file.status === 'done') {
|
|
242
|
+
if (typeof onSuccess == 'function') {
|
|
243
|
+
onSuccess(newFile);
|
|
244
|
+
}
|
|
245
|
+
} else if (info.file.status === 'error') {
|
|
246
|
+
if (typeof onError == 'function') {
|
|
247
|
+
onError(info.file);
|
|
248
|
+
}
|
|
216
249
|
}
|
|
217
250
|
}
|
|
218
251
|
},
|
|
@@ -221,7 +254,7 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
221
254
|
return _onRemove(file);
|
|
222
255
|
}
|
|
223
256
|
},
|
|
224
|
-
beforeUpload: function beforeUpload(file) {
|
|
257
|
+
beforeUpload: function beforeUpload(file, afterFileList) {
|
|
225
258
|
//限制文件大小
|
|
226
259
|
if (maxFileSize && typeof maxFileSize === 'number') {
|
|
227
260
|
var limit = file.size < maxFileSize;
|
|
@@ -244,10 +277,17 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
244
277
|
|
|
245
278
|
return false;
|
|
246
279
|
}
|
|
280
|
+
} // 多选限制文件数量
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
if (typeof maxNum === 'number' && afterFileList.length + fileList.length > maxNum) {
|
|
284
|
+
// 减少提示错误次数, 思路,防抖 这边有个问题 就是防抖的这个方法 return fasle 不上传
|
|
285
|
+
debouncedMessage("\u6700\u591A\u4E0A\u4F20".concat(maxNum, "\u4E2A"));
|
|
286
|
+
return false;
|
|
247
287
|
}
|
|
248
288
|
|
|
249
289
|
if (typeof _beforeUpload === 'function') {
|
|
250
|
-
_beforeUpload(file);
|
|
290
|
+
_beforeUpload(file, afterFileList);
|
|
251
291
|
}
|
|
252
292
|
|
|
253
293
|
return true;
|
|
@@ -318,7 +358,7 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
318
358
|
};
|
|
319
359
|
|
|
320
360
|
var handlePreview = function handlePreview(file) {
|
|
321
|
-
var imageIndex =
|
|
361
|
+
var imageIndex = imageList.map(function (item) {
|
|
322
362
|
return item.id;
|
|
323
363
|
}).indexOf(file.id);
|
|
324
364
|
if (imageIndex == -1) return;
|
|
@@ -389,7 +429,7 @@ var VtxUpload = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
389
429
|
ref: function ref(ins) {
|
|
390
430
|
if (ins) setImageCt(ins);
|
|
391
431
|
}
|
|
392
|
-
},
|
|
432
|
+
}, imageList.filter(function (item) {
|
|
393
433
|
return item.type && item.type.indexOf('image') > -1;
|
|
394
434
|
}).map(function (item, index) {
|
|
395
435
|
return /*#__PURE__*/_react["default"].createElement("li", {
|
|
@@ -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":"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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 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 Icon from 'antd/es/icon';\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') {\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 <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 {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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vtx/components",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.4",
|
|
4
4
|
"description": "React components for Vortex",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"authorName": true
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@vtx/map": "
|
|
54
|
+
"@vtx/map": "latest",
|
|
55
55
|
"@vtx/utils": "latest",
|
|
56
56
|
"ahooks": "^2.9.6",
|
|
57
57
|
"antd": "3.26.19",
|