入库附件bug优化

pull/4/head
qiuhongwu 8 months ago
parent 359036a915
commit bb6036aa2d

@ -186,7 +186,7 @@
<el-upload ref="matUploadRef" :file-list="matUploadFiles" multiple :limit="10" :action="uploadUrl" :headers="{ <el-upload ref="matUploadRef" :file-list="matUploadFiles" multiple :limit="10" :action="uploadUrl" :headers="{
Authorization: 'Bearer ' + getAccessToken(), Authorization: 'Bearer ' + getAccessToken(),
'tenant-id': getTenantId() 'tenant-id': getTenantId()
}" name="files" :show-file-list="false" :auto-upload="false" :data="matUploadData" :on-change="matUploadChange" :on-error="UpError" class="upload-file-uploader"> }" name="files" :show-file-list="false" :auto-upload="false" :data="matUploadData" :on-change="matUploadChange" @success="handleSuccess" @error="handleError" :before-upload="before" class="upload-file-uploader">
<el-button type="primary" v-bind:disabled="ctrView || ctrSave"> <el-button type="primary" v-bind:disabled="ctrView || ctrSave">
<Icon icon="ep:upload-filled" />上传 <Icon icon="ep:upload-filled" />上传
</el-button> </el-button>
@ -290,7 +290,7 @@ import { deleteFile, downloadFile, getFilePage } from '@/api/infra/file'
import download from '@/utils/download' import download from '@/utils/download'
import * as UserApi from '@/api/system/user' import * as UserApi from '@/api/system/user'
const reload = inject('reload') const reload: any = inject('reload')
const { t } = useI18n() // const { t } = useI18n() //
const message = useMessage() // const message = useMessage() //
@ -372,9 +372,7 @@ const handleStatus = async (num) => {
query.id = formData.value.id query.id = formData.value.id
query.type = 'update' query.type = 'update'
openerror() // reload()
reload()
} }
// //
@ -396,42 +394,45 @@ const matUploadData = ref({
businessId: formData.value.id, businessId: formData.value.id,
businessFileType: 'MATERIAL' businessFileType: 'MATERIAL'
}) })
const matUploadChange = (file, files) => {
matUploadFiles.value = files //
refreshAttachments(files, 'MATERIAL') const sumbefore = ref(0)
const successfulUploadsCount = ref(0)
const failedUploadsCount = ref(0)
//
const handleSuccess = (response: any, file: UploadUserFile) => {
successfulUploadsCount.value++
// ...
console.log('successfulUploadsCount.value', successfulUploadsCount.value)
} }
const failedAttachments = ref<UploadUserFile[]>([]) //
const failedAttachmentsName = ref() const handleError = (error: Error, file: UploadUserFile) => {
const UpError = (err, file, fileList) => { failedUploadsCount.value++
if (failedUploadsCount.value > 0) {
// //
if (err) {
// failedAttachments.value // failedAttachments.value
failedAttachments.value.push(file) failedAttachments.value.push(file)
failedAttachmentsName.value = failedAttachments.value.map((value) => value.name) failedAttachmentsName.value = failedAttachments.value.map((value) => value.name)
console.log(failedAttachmentsName.value)
} }
console.log('failedUploadsCount.value', failedUploadsCount.value)
} }
const openerror = () => { //
const before = (rawFile) => {
sumbefore.value++
setTimeout(() => {
if(failedAttachmentsName.value.length>0){
//
ElMessageBox.alert(
// 使
`文件名为:${failedAttachmentsName.value.join(' / ')}上传失败`,
`文件格式不正确或网络问题 请您稍后再试`,
{
dangerouslyUseHTMLString: false, // 使HTMLfalse
confirmButtonText: '知道了',
center: true
}
)
} }
}, 1000) //
const matUploadChange = (file: any, files: UploadUserFile[]) => {
matUploadFiles.value = files
refreshAttachments(files, 'MATERIAL')
} }
const failedAttachments = ref<UploadUserFile[]>([])
const failedAttachmentsName = ref()
const refreshAttachments = (files, type) => { const refreshAttachments = (files, type) => {
formData.value.attachments = formData.value.attachments.filter((value) => value.id) formData.value.attachments = formData.value.attachments.filter((value) => value.id)
@ -449,6 +450,26 @@ const refreshAttachments = (files, type) => {
// //
formData.value.attachments.sort((v1, v2) => v1.createTime - v2.createTime) formData.value.attachments.sort((v1, v2) => v1.createTime - v2.createTime)
//
ElMessageBox.alert(
// 使
`文件名为:${failedAttachmentsName.value.join(' / ')}上传失败`,
`文件格式不正确或网络问题 请您稍后再试`,
{
dangerouslyUseHTMLString: false,
confirmButtonText: '知道了',
center: true
}
)
//
const sum = successfulUploadsCount.value + failedUploadsCount.value
console.log('sum', sum)
console.log('要上传文件数量', sumbefore.value)
if (sum == sumbefore.value && sumbefore.value > 0 && sum > 0) {
console.log('刷新页面')
reload()
}
} }
// //
@ -509,11 +530,14 @@ const saveFormData = async () => {
await initStatus(formData.value.status) await initStatus(formData.value.status)
//formData.value = await StorageApi.getStorage(formData.value.id) //formData.value = await StorageApi.getStorage(formData.value.id)
message.success(t(commonResult)) // message.success(t(commonResult))
} finally { } finally {
formLoading.value = false formLoading.value = false
} }
} }
//
let currentUploadingFiles = 0
const submitForm = async () => { const submitForm = async () => {
// //
await formRef.value.validate() await formRef.value.validate()
@ -538,8 +562,7 @@ const submitForm = async () => {
query.id = formData.value.id query.id = formData.value.id
query.type = 'update' query.type = 'update'
// //
openerror() // reload()
reload()
} }
var matCount = 1 var matCount = 1

Loading…
Cancel
Save