adtec-core-package 2.8.3 → 2.8.5

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.3",
3
+ "version": "2.8.5",
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 上传文件数量
@@ -268,6 +270,11 @@ const success = (response: any, uploadFile: UploadFile, uploadFiles: UploadFiles
268
270
  }
269
271
  const loading = defineModel<boolean>('loading')
270
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
+ })
271
278
  // watch(
272
279
  // loadingFiles,
273
280
  // (val) => {
@@ -325,6 +332,9 @@ const fileClick = async (file: UploadFile & ISysUploadFiles) => {
325
332
  preview(file)
326
333
  }
327
334
  }
335
+ const handleFileChange = (file, newFileList) => {
336
+ fileList.value = newFileList
337
+ }
328
338
  // 处理覆盖逻辑
329
339
  const exceed = async (files: File[], uploadFiles: UploadUserFile[]) => {
330
340
  if (props.limit === 1 && props.overwrite && props.uploadFilesList.length >= 1) {
@@ -408,16 +418,15 @@ const confirm = async (autoDelete: boolean=true) => {
408
418
  loading.value = true
409
419
  if (props.isConfirmDelete && deleteFiles.value.length > 0 && autoDelete) {
410
420
  await documentApi.delSysUploadFiles(deleteFiles.value.map(item => item.id))
411
- if (!loadingFiles.value?.length) {
421
+ }
422
+ if (!props.autoUpload) {
423
+ //此处判断是否存在需要上传的文件
424
+ if (hasPendingFiles.value) {
425
+ ref_upload.value?.submit()
426
+ } else {
412
427
  props.showOptMessage && ElMessage.success('操作成功')
413
428
  emit('success', { files: props.uploadFilesList, deleteFiles: deleteFiles.value })
414
429
  }
415
- } else if (!loadingFiles.value?.length) {
416
- props.showOptMessage && ElMessage.success('操作成功')
417
- emit('success', { files: props.uploadFilesList, deleteFiles: deleteFiles.value })
418
- }
419
- if (!props.autoUpload) {
420
- ref_upload.value?.submit()
421
430
  }
422
431
  } catch (err: any) {
423
432
  frameworkUtils.messageError(err)
@@ -287,6 +287,14 @@ const reloadTask = async () => {
287
287
  }
288
288
  }
289
289
  }
290
+ const reload=()=>{
291
+ reloadTask()
292
+ }
293
+ defineExpose<{
294
+ reload: () => void
295
+ }>({
296
+ reload,
297
+ })
290
298
  watch(() => $props.taskId, reloadTask)
291
299
  // watchEffect(() => {
292
300
  // //需要指定实际处理人
@@ -153,5 +153,13 @@ watch(
153
153
  },
154
154
  { immediate: true }, // 若不需要在组件挂载时立即触发,可以设置为 false
155
155
  )
156
+ const reload=()=>{
157
+ open()
158
+ }
159
+ defineExpose<{
160
+ reload: () => void
161
+ }>({
162
+ reload,
163
+ })
156
164
  </script>
157
165
  <style scoped lang="scss"></style>