|
|
|
@ -186,7 +186,7 @@
|
|
|
|
|
<el-upload ref="matUploadRef" :file-list="matUploadFiles" multiple :limit="10" :action="uploadUrl" :headers="{
|
|
|
|
|
Authorization: 'Bearer ' + getAccessToken(),
|
|
|
|
|
'tenant-id': getTenantId()
|
|
|
|
|
}" 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">
|
|
|
|
|
}" name="files" :show-file-list="false" :auto-upload="false" :data="matUploadData" :on-change="matUploadChange" :on-error="handleError" :on-success="handleSuccess" :before-upload="before" class="upload-file-uploader">
|
|
|
|
|
<el-button type="primary" v-bind:disabled="ctrView || ctrSave">
|
|
|
|
|
<Icon icon="ep:upload-filled" />上传
|
|
|
|
|
</el-button>
|
|
|
|
@ -372,7 +372,7 @@ const handleStatus = async (num) => {
|
|
|
|
|
|
|
|
|
|
query.id = formData.value.id
|
|
|
|
|
query.type = 'update'
|
|
|
|
|
// reload()
|
|
|
|
|
reload()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 根据入库类型显示上游单号
|
|
|
|
@ -394,17 +394,20 @@ const matUploadData = ref({
|
|
|
|
|
businessId: formData.value.id,
|
|
|
|
|
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)
|
|
|
|
|
console.log('上传成功数量', successfulUploadsCount.value)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 处理单个文件上传失败的情况
|
|
|
|
@ -415,20 +418,14 @@ const handleError = (error: Error, file: UploadUserFile) => {
|
|
|
|
|
// 将失败的附件添加到failedAttachments.value数组中
|
|
|
|
|
failedAttachments.value.push(file)
|
|
|
|
|
failedAttachmentsName.value = failedAttachments.value.map((value) => value.name)
|
|
|
|
|
console.log(failedAttachmentsName.value)
|
|
|
|
|
}
|
|
|
|
|
console.log('failedUploadsCount.value', failedUploadsCount.value)
|
|
|
|
|
console.log('上传失败数量', failedUploadsCount.value)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 文件上传前的钩子
|
|
|
|
|
const before = (rawFile) => {
|
|
|
|
|
sumbefore.value++
|
|
|
|
|
}
|
|
|
|
|
// 当文件列表发生变化时,更新待上传文件数量 添加文件、上传成功和上传失败时都会被调用
|
|
|
|
|
const matUploadChange = (file: any, files: UploadUserFile[]) => {
|
|
|
|
|
matUploadFiles.value = files
|
|
|
|
|
refreshAttachments(files, 'MATERIAL')
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const failedAttachments = ref<UploadUserFile[]>([])
|
|
|
|
|
const failedAttachmentsName = ref()
|
|
|
|
@ -451,23 +448,24 @@ const refreshAttachments = (files, type) => {
|
|
|
|
|
// 排序
|
|
|
|
|
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('上传总数', sum)
|
|
|
|
|
console.log('要上传文件数量', sumbefore.value)
|
|
|
|
|
if (sum == sumbefore.value && sumbefore.value > 0 && sum > 0) {
|
|
|
|
|
console.log('刷新页面')
|
|
|
|
|
console.log('要上传文件数量等于上传总数 刷新页面并给出提示')
|
|
|
|
|
if (failedUploadsCount.value > 0) {
|
|
|
|
|
ElMessageBox.alert(
|
|
|
|
|
// 使用错误信息作为提示内容
|
|
|
|
|
`文件名为:${failedAttachmentsName.value.join(' / ')}上传失败`,
|
|
|
|
|
`文件格式不正确或网络问题 请您稍后再试`,
|
|
|
|
|
{
|
|
|
|
|
dangerouslyUseHTMLString: false, // 由于我们不是使用HTML字符串,所以这里设置为false
|
|
|
|
|
confirmButtonText: '知道了',
|
|
|
|
|
center: true
|
|
|
|
|
}
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
reload()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -530,14 +528,11 @@ const saveFormData = async () => {
|
|
|
|
|
await initStatus(formData.value.status)
|
|
|
|
|
//formData.value = await StorageApi.getStorage(formData.value.id)
|
|
|
|
|
|
|
|
|
|
// message.success(t(commonResult))
|
|
|
|
|
message.success(t(commonResult))
|
|
|
|
|
} finally {
|
|
|
|
|
formLoading.value = false
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 当前正在上传的文件数量
|
|
|
|
|
let currentUploadingFiles = 0
|
|
|
|
|
const submitForm = async () => {
|
|
|
|
|
// 校验表单
|
|
|
|
|
await formRef.value.validate()
|
|
|
|
@ -562,7 +557,7 @@ const submitForm = async () => {
|
|
|
|
|
query.id = formData.value.id
|
|
|
|
|
query.type = 'update'
|
|
|
|
|
//页面重新加载
|
|
|
|
|
// reload()
|
|
|
|
|
reload()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var matCount = 1
|
|
|
|
|