adtec-core-package 2.8.2 → 2.8.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/package.json
CHANGED
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
@remove="remove"
|
|
39
39
|
@preview="preview"
|
|
40
40
|
:auto-upload="autoUpload"
|
|
41
|
+
@change="handleFileChange"
|
|
41
42
|
@error="error"
|
|
42
43
|
v-loading="loading"
|
|
43
44
|
@exceed="exceed"
|
|
@@ -112,6 +113,7 @@ const userInfo = userInfoStore()
|
|
|
112
113
|
const ref_upload = ref()
|
|
113
114
|
const deleteFiles = ref<ISysUploadFiles[]>([])
|
|
114
115
|
const hoverfileName = ref('')
|
|
116
|
+
const fileList = ref<UploadFiles>([])
|
|
115
117
|
const props = defineProps({
|
|
116
118
|
/**
|
|
117
119
|
* @description 上传文件数量
|
|
@@ -199,6 +201,10 @@ const props = defineProps({
|
|
|
199
201
|
autoUpload: {
|
|
200
202
|
type: Boolean,
|
|
201
203
|
default: true
|
|
204
|
+
},
|
|
205
|
+
showOptMessage: {
|
|
206
|
+
type:Boolean,
|
|
207
|
+
default:true
|
|
202
208
|
}
|
|
203
209
|
})
|
|
204
210
|
const mousemove = (fileName: string) => {
|
|
@@ -256,12 +262,19 @@ const success = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles
|
|
|
256
262
|
loadingFiles.value.splice(i, 1)
|
|
257
263
|
}
|
|
258
264
|
}
|
|
259
|
-
|
|
260
|
-
|
|
265
|
+
if (response.code === '0') {
|
|
266
|
+
props.showOptMessage && ElMessage.success('上传成功')
|
|
267
|
+
emit('success', { files: props.uploadFilesList, deleteFiles: deleteFiles.value })
|
|
268
|
+
}
|
|
261
269
|
loading.value = false
|
|
262
270
|
}
|
|
263
271
|
const loading = defineModel<boolean>('loading')
|
|
264
272
|
const loadingFiles = ref<string[]>([])
|
|
273
|
+
const hasPendingFiles = computed(() => {
|
|
274
|
+
return fileList.value.some(file => {
|
|
275
|
+
return file.status !== 'success' && file.status !== 'error'
|
|
276
|
+
})
|
|
277
|
+
})
|
|
265
278
|
// watch(
|
|
266
279
|
// loadingFiles,
|
|
267
280
|
// (val) => {
|
|
@@ -319,6 +332,9 @@ const fileClick = async (file: UploadFile & ISysUploadFiles) => {
|
|
|
319
332
|
preview(file)
|
|
320
333
|
}
|
|
321
334
|
}
|
|
335
|
+
const handleFileChange = (file, newFileList) => {
|
|
336
|
+
fileList.value = newFileList
|
|
337
|
+
}
|
|
322
338
|
// 处理覆盖逻辑
|
|
323
339
|
const exceed = async (files: File[], uploadFiles: UploadUserFile[]) => {
|
|
324
340
|
if (props.limit === 1 && props.overwrite && props.uploadFilesList.length >= 1) {
|
|
@@ -397,18 +413,20 @@ const remove = async (file: UploadFile, isConfirm: boolean = true) => {
|
|
|
397
413
|
const progress = (event: { percent: number }, file: UploadFile) => {
|
|
398
414
|
loading.value = true
|
|
399
415
|
}
|
|
400
|
-
const confirm = async () => {
|
|
416
|
+
const confirm = async (autoDelete: boolean=true) => {
|
|
401
417
|
try {
|
|
402
418
|
loading.value = true
|
|
403
|
-
if (props.isConfirmDelete && deleteFiles.value.length > 0) {
|
|
419
|
+
if (props.isConfirmDelete && deleteFiles.value.length > 0 && autoDelete) {
|
|
404
420
|
await documentApi.delSysUploadFiles(deleteFiles.value.map(item => item.id))
|
|
405
|
-
if (!loadingFiles.value?.length) {
|
|
406
|
-
ElMessage.success('操作成功')
|
|
407
|
-
emit('success', { files: props.uploadFilesList, deleteFiles: deleteFiles.value })
|
|
408
|
-
}
|
|
409
421
|
}
|
|
410
422
|
if (!props.autoUpload) {
|
|
411
|
-
|
|
423
|
+
//此处判断是否存在需要上传的文件
|
|
424
|
+
if (hasPendingFiles.value) {
|
|
425
|
+
ref_upload.value?.submit()
|
|
426
|
+
} else {
|
|
427
|
+
props.showOptMessage && ElMessage.success('操作成功')
|
|
428
|
+
emit('success', { files: props.uploadFilesList, deleteFiles: deleteFiles.value })
|
|
429
|
+
}
|
|
412
430
|
}
|
|
413
431
|
} catch (err: any) {
|
|
414
432
|
frameworkUtils.messageError(err)
|