文件上传
This commit is contained in:
parent
099d042536
commit
2256a3233c
|
|
@ -22,4 +22,28 @@ export function uploadLargeFileByOcr(data) {
|
||||||
},
|
},
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 上传小文件---5M以内
|
||||||
|
export function uploadSmallFile(data) {
|
||||||
|
return request({
|
||||||
|
url: '/smartBid/commonUpload/uploadSmallFile',
|
||||||
|
method: 'post',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'multipart/form-data'
|
||||||
|
},
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 上传大文件---5M以上
|
||||||
|
export function uploadLargeFile(data) {
|
||||||
|
return request({
|
||||||
|
url: '/smartBid/commonUpload/uploadLargeFile',
|
||||||
|
method: 'post',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'multipart/form-data'
|
||||||
|
},
|
||||||
|
data: data
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
@ -33,7 +33,7 @@
|
||||||
<div v-else class="upload-text">
|
<div v-else class="upload-text">
|
||||||
<div class="main-text"> + 点击或将文件拖拽到这里上传</div>
|
<div class="main-text"> + 点击或将文件拖拽到这里上传</div>
|
||||||
<div class="tip-text">
|
<div class="tip-text">
|
||||||
<div>文件大小上限 {{ maxFileTips }},</div>
|
<div>单份文件大小上限 {{ maxFileTips }},</div>
|
||||||
<div>支持文件类型:{{ uploadType }}</div>
|
<div>支持文件类型:{{ uploadType }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { uploadSmallFileByOcr, uploadLargeFileByOcr } from '@/api/common/uploadFile.js'
|
import { uploadSmallFileByOcr, uploadLargeFileByOcr, uploadSmallFile, uploadLargeFile } from '@/api/common/uploadFile.js'
|
||||||
export default {
|
export default {
|
||||||
name: 'UploadFile',
|
name: 'UploadFile',
|
||||||
props: {
|
props: {
|
||||||
|
|
@ -89,6 +89,7 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
beforeUpload(file) {
|
beforeUpload(file) {
|
||||||
|
alert(file.size);
|
||||||
// 如果正在上传中,阻止新的上传
|
// 如果正在上传中,阻止新的上传
|
||||||
if (this.isUploading) {
|
if (this.isUploading) {
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -103,7 +104,6 @@ export default {
|
||||||
|
|
||||||
// 验证文件大小
|
// 验证文件大小
|
||||||
const isLtMaxSize = file.size / 1024 / 1024 < this.maxSizeMB;
|
const isLtMaxSize = file.size / 1024 / 1024 < this.maxSizeMB;
|
||||||
|
|
||||||
if (!isAllowedType || !isAllowedMimeType) {
|
if (!isAllowedType || !isAllowedMimeType) {
|
||||||
this.$message.error(`只能上传 ${this.uploadType} 格式的文件!`);
|
this.$message.error(`只能上传 ${this.uploadType} 格式的文件!`);
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -142,6 +142,7 @@ export default {
|
||||||
|
|
||||||
// 如果启用自动上传且文件验证通过,触发上传
|
// 如果启用自动上传且文件验证通过,触发上传
|
||||||
if (this.autoUpload && file.status === 'ready' && !this.isUploading) {
|
if (this.autoUpload && file.status === 'ready' && !this.isUploading) {
|
||||||
|
alert(this.fileUploadRule.fields_json);
|
||||||
if (this.fileUploadRule.fields_json) {
|
if (this.fileUploadRule.fields_json) {
|
||||||
// 文件需要ocr识别
|
// 文件需要ocr识别
|
||||||
this.uploadFile(file, '识别中');
|
this.uploadFile(file, '识别中');
|
||||||
|
|
@ -199,7 +200,20 @@ export default {
|
||||||
this.updateFileStatus(file.uid, 'uploading', text, null, 0);
|
this.updateFileStatus(file.uid, 'uploading', text, null, 0);
|
||||||
try {
|
try {
|
||||||
this.$bus.$emit('startUpload', text);
|
this.$bus.$emit('startUpload', text);
|
||||||
const res = this.defaultFileSize < file.size ? await uploadLargeFileByOcr(formData) : await uploadSmallFileByOcr(formData);
|
let res = null;
|
||||||
|
if (this.defaultFileSize < file.size) {
|
||||||
|
if (this.fileUploadRule.fields_json) {
|
||||||
|
res = await uploadLargeFileByOcr(formData);
|
||||||
|
} else {
|
||||||
|
res = await uploadLargeFile(formData);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (this.fileUploadRule.fields_json) {
|
||||||
|
res = await uploadSmallFileByOcr(formData);
|
||||||
|
} else {
|
||||||
|
res = await uploadSmallFile(formData);
|
||||||
|
}
|
||||||
|
}
|
||||||
console.log('上传成功:', res);
|
console.log('上传成功:', res);
|
||||||
this.$bus.$emit('endUpload');
|
this.$bus.$emit('endUpload');
|
||||||
// 上传成功,更新文件状态,设置进度为 100
|
// 上传成功,更新文件状态,设置进度为 100
|
||||||
|
|
|
||||||
|
|
@ -9,24 +9,24 @@
|
||||||
<el-form-item label="文件上传" prop="fileList">
|
<el-form-item label="文件上传" prop="fileList">
|
||||||
<UploadFile :fileList="form.fileList" @file-change="handleFileChange" @del-file="handleDelFile"
|
<UploadFile :fileList="form.fileList" @file-change="handleFileChange" @del-file="handleDelFile"
|
||||||
type="business_license" :uploadType="uploadType" :maxFileTips="maxFileTips"
|
type="business_license" :uploadType="uploadType" :maxFileTips="maxFileTips"
|
||||||
:fileUploadRule="fileUploadRule" />
|
:fileUploadRule="fileUploadRule" :limitUploadNum="limitUploadNum" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// 技术方案
|
// 默认参数
|
||||||
const fileType = 'technical_solution';
|
const defaultParams = {
|
||||||
// 技术方案上传类型
|
fileType: 'technical_solution',
|
||||||
const uploadType = 'pdf、doc、docx';
|
uploadType: 'pdf、doc、docx',
|
||||||
// 技术方案上传文件大小限制
|
maxFileTips: '1MB',
|
||||||
const maxFileTips = '500MB';
|
fileUploadRule: {
|
||||||
// 技术方案上传文件上传规则
|
fileUploadType: 'technical_solution',
|
||||||
const fileUploadRule = {
|
fields_json: '',
|
||||||
fileUploadType: 'technical_solution',
|
suffix: 'technical_solution_database'
|
||||||
fields_json: '',
|
},
|
||||||
suffix: 'technical_solution_database'
|
limitUploadNum: 10
|
||||||
};
|
};
|
||||||
import UploadFile from '@/views/common/UploadFile.vue'
|
import UploadFile from '@/views/common/UploadFile.vue'
|
||||||
export default {
|
export default {
|
||||||
|
|
@ -42,10 +42,11 @@ export default {
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
fileType: fileType,
|
fileType: defaultParams.fileType,
|
||||||
uploadType: uploadType,
|
uploadType: defaultParams.uploadType,
|
||||||
maxFileTips: maxFileTips,
|
maxFileTips: defaultParams.maxFileTips,
|
||||||
fileUploadRule: fileUploadRule,
|
fileUploadRule: defaultParams.fileUploadRule,
|
||||||
|
limitUploadNum: defaultParams.limitUploadNum,
|
||||||
form: {
|
form: {
|
||||||
fileList: [],
|
fileList: [],
|
||||||
delFileList: []
|
delFileList: []
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue