diff --git a/src/components/Upload/react-resumable.js b/src/components/Upload/react-resumable.js
index 8848f1d..7103f1e 100644
--- a/src/components/Upload/react-resumable.js
+++ b/src/components/Upload/react-resumable.js
@@ -23,7 +23,7 @@ function isIE() {
}
}
-/**
+/**
* 大文件上传组件
*/
export default class ReactResumableJs extends React.Component {
@@ -129,7 +129,7 @@ export default class ReactResumableJs extends React.Component {
{
- isIE() ?
+ isIE() ?
推荐使用谷歌、火狐、360浏览器的极速模式下上传文件
: null
}
@@ -184,7 +184,7 @@ export default class ReactResumableJs extends React.Component {
/**
* 格式化计时器
- * @param {*} value
+ * @param {*} value
*/
__format(value) {
if (value < 10) {
@@ -221,14 +221,17 @@ export default class ReactResumableJs extends React.Component {
/**
* 添加文件时的监听
- *
- * @param {*} file
+ *
+ * @param {*} file
*/
__fileAddedListener(resumable) {
// 更新文件队列表单
let strIndex = resumable.fileName.lastIndexOf(".")
let fileSuffix = resumable.fileName.substring(strIndex + 1, resumable.fileName.length)
- if (this.props.fileAccept == ('.' + fileSuffix)) {
+ const allowedTypes = this.props.fileAccept.split(',').map(type => type.trim().toLowerCase());
+ // 判断文件后缀
+ // if (this.props.fileAccept == ('.' + fileSuffix)) {
+ if (allowedTypes.includes('.' + fileSuffix)) {
let _cache = this.state.fileList;
_cache.length = 0;
_cache.push({
@@ -261,7 +264,7 @@ export default class ReactResumableJs extends React.Component {
getTendererFileStatus(data).then((res) => { // 判断是否已投标
if (res.code == 200) {
if(res.data == false){
-
+
var fileReader = new FileReader();
if (fileReader.readAsBinaryString === undefined) {
FileReader.prototype.readAsBinaryString = function (fileData) { //解决ie11 大文件堆栈溢出的问题(for arrayBufferToString)
@@ -279,7 +282,7 @@ export default class ReactResumableJs extends React.Component {
}
reader.readAsArrayBuffer(fileData);
}
- }
+ }
fileReader.readAsBinaryString(resumable.file);
fileReader.onload = e => {
resumable.uniqueIdentifier = SparkMD5.hashBinary(e.target.result);
@@ -324,7 +327,7 @@ export default class ReactResumableJs extends React.Component {
/**
* 文件上传进度播报
- * @param {*} file
+ * @param {*} file
*/
__fileProgressListener(file) {
// 更新文件队列表单
@@ -341,7 +344,7 @@ export default class ReactResumableJs extends React.Component {
/**
* 文件上传完成
- * @param {*} file
+ * @param {*} file
*/
__fileSuccessListener(file) {
let _cache = this.state.fileList;
@@ -381,7 +384,7 @@ export default class ReactResumableJs extends React.Component {
/**
* 文件上传失败
- * @param {*} file
+ * @param {*} file
*/
__fileErrorListener(file) {
// 更新文件队列表单
@@ -401,7 +404,7 @@ export default class ReactResumableJs extends React.Component {
}
}
- /**
+ /**
* 移除上传列表中的文件
*/
__removeFile(filename) {
@@ -444,7 +447,7 @@ export default class ReactResumableJs extends React.Component {
this.setState({ fileList: _cache, timer: 0 });
}
- /**
+ /**
* 暂停上传
*/
__uploadPause(filename) {
@@ -468,7 +471,7 @@ export default class ReactResumableJs extends React.Component {
}
}
- /**
+ /**
* 恢复上传
*/
__uploadResum(filename) {
diff --git a/src/pages/Tender/UploadResponse/index.tsx b/src/pages/Tender/UploadResponse/index.tsx
index 6e452f5..3f04f53 100644
--- a/src/pages/Tender/UploadResponse/index.tsx
+++ b/src/pages/Tender/UploadResponse/index.tsx
@@ -273,7 +273,8 @@ const Index: React.FC<{}> = () => {
if (index == 'single') {
currentDate = val
setEndTime(new Date(val.endDate).getTime())
- filetype = '.file'
+ // filetype = '.file'
+ filetype = '.rar,.zip,.doc,.docx,.xls,.xlsx,.pdf'
object = JSON.stringify(val)
path = '/' + val.createYear + '/' + val.tpId + '/' + val.sectionId + '/' + val.tdocId + '/uploadFile/' + val.tendererId
} else {
@@ -312,10 +313,10 @@ const Index: React.FC<{}> = () => {
/**
* 大文件上传完成后的组件返回
- *
- * @param file
- * @param resumable
- * @param callback
+ *
+ * @param file
+ * @param resumable
+ * @param callback
*/
const onUploadSuccess = (file: any, cache: any, callback: any) => {
cache.push({
@@ -346,34 +347,42 @@ const Index: React.FC<{}> = () => {
clearInterval(task);
} else {
if (switchBtn) {
- getDecrypt(uuid).then((res) => {
- if (res.code == 200) {
- if (res.data.consumptionState == '2' || res.data.consumptionState == '4') {
- if (res.data.stateMessage) {
- message.error(res.data.stateMessage)
- callback(cache.length - 1, res.data.stateMessage, 2);
- } else {
- message.error('验证错误,请刷新页面后重新上传!')
- callback(cache.length - 1, "文件验证失败", 2);
- }
- switchBtn = false;
- clearInterval(task);
- return;
- } else if (res.data.consumptionState == '3') {
- message.success(res.data.stateMessage)
- setTimeout(() => {
- message.destroy()
- }, 3000)
- test = 100;
- callback(cache.length - 1, "文件验证成功", test);
- switchBtn = false;
- clearInterval(task);
- return;
- } else {
- callback(cache.length - 1, "文件验证中", test);
- }
- }
- })
+ setTimeout(() => {
+ message.destroy()
+ }, 3000)
+ test = 100;
+ callback(cache.length - 1, "文件验证成功", test);
+ switchBtn = false;
+ clearInterval(task);
+ return;
+ // getDecrypt(uuid).then((res) => {
+ // if (res.code == 200) {
+ // if (res.data.consumptionState == '2' || res.data.consumptionState == '4') {
+ // if (res.data.stateMessage) {
+ // message.error(res.data.stateMessage)
+ // callback(cache.length - 1, res.data.stateMessage, 2);
+ // } else {
+ // message.error('验证错误,请刷新页面后重新上传!')
+ // callback(cache.length - 1, "文件验证失败", 2);
+ // }
+ // switchBtn = false;
+ // clearInterval(task);
+ // return;
+ // } else if (res.data.consumptionState == '3') {
+ // message.success(res.data.stateMessage)
+ // setTimeout(() => {
+ // message.destroy()
+ // }, 3000)
+ // test = 100;
+ // callback(cache.length - 1, "文件验证成功", test);
+ // switchBtn = false;
+ // clearInterval(task);
+ // return;
+ // } else {
+ // callback(cache.length - 1, "文件验证中", test);
+ // }
+ // }
+ // })
}
}
}, 3000);
@@ -416,7 +425,10 @@ const Index: React.FC<{}> = () => {
} else {
let strIndex = resumable.fileName.lastIndexOf(".")
let fileSuffix = resumable.fileName.substring(strIndex + 1, resumable.fileName.length)
- if (('.' + fileSuffix) != fileT) {
+ // 判断文件类型
+ const fileTypes = fileT.split(',').map((type: string) => type.trim().toLowerCase());
+ // if (('.' + fileSuffix) != fileT) {
+ if (!fileTypes.includes('.' + fileSuffix)) {
message.error('请上传' + fileT + '类型的文件')
} else if (fileSuffix == 'file' && resumable.file.size > 200 * 1024 * 1024) {
message.error('文件最大为200MB')