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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "adtec-core-package",
3
- "version": "2.8.2",
3
+ "version": "2.8.4",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "scripts": {
@@ -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
- ElMessage.success('上传成功')
260
- emit('success', { files: props.uploadFilesList, deleteFiles: deleteFiles.value })
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
- ref_upload.value?.submit()
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)