diff --git a/src/components/FileUpload/index.vue b/src/components/FileUpload/index.vue index fc4f86f..117b7e1 100644 --- a/src/components/FileUpload/index.vue +++ b/src/components/FileUpload/index.vue @@ -10,12 +10,12 @@ :on-exceed="handleExceed" :on-success="handleUploadSuccess" :show-file-list="false" - :data="data" + :data="uploadData" :drag="drag" :headers="headers" :auto-upload="autoUpload" class="upload-file-uploader" - ref="upload"> + ref="fileUpload"> @@ -104,6 +104,7 @@ const uploadFileUrl = ref(baseUrl + import.meta.env.VITE_APP_UPLOAD_URL) // 上 const headers = ref({ Authorization: 'Bearer ' + getToken() }) const fileList = ref([]) const showTip = computed(() => props.isShowTip && (props.fileType || props.fileSize)) +const uploadData = computed(() => props.data) watch( () => props.modelValue, @@ -121,7 +122,6 @@ watch( item.uid = item.uid || new Date().getTime() + temp++ return item }) - // uploadList.value = fileList } else { fileList.value = [] return [] @@ -183,7 +183,7 @@ function handleUploadSuccess(response, uploadFile) { const { fileName, url, fileId } = response.data const tempFile = { name: fileName, url: url } uploadList.value.push(tempFile) - if (uploadList.value.length === number.value) { + if (number.value > 0 && uploadList.value.length === number.value) { fileList.value = fileList.value.filter((f) => f.url !== undefined).concat(uploadList.value) uploadList.value = [] number.value = 0 @@ -219,7 +219,7 @@ function listToString(list, separator) { } // 手动提交上传 function submitUpload() { - proxy.$refs.upload.submit() + proxy.$refs.fileUpload.submit() } defineExpose({ submitUpload diff --git a/src/views/tool/file/index.vue b/src/views/tool/file/index.vue index 7a96367..2cd6eee 100644 --- a/src/views/tool/file/index.vue +++ b/src/views/tool/file/index.vue @@ -48,7 +48,7 @@ {{ scope.row.fileName }} - + - + - + + - + --> + - + - {{ $t('btn.view') }} - - {{ $t('btn.copy') }} - - - {{ $t('btn.delete') }} - + + + @@ -102,8 +98,18 @@ - - + + + + + + + + + 文件目录 + + + @@ -187,7 +193,11 @@ - {{ formView.fileUrl }} + + + {{ formView.fileUrl }} + + @@ -270,7 +280,7 @@ const state = reactive({ }) const { queryParams, form, rules } = toRefs(state) const { proxy } = getCurrentInstance() -const uploadData = ref({}) +const uploadData = ref() // 查询数据 function getList() { proxy.addDateRange(queryParams.value, dateRangeAddTime.value, 'Create_time') @@ -362,13 +372,19 @@ function handleUploadSuccess(filelist) { function submitUpload() { proxy.$refs['formRef'].validate((valid) => { if (valid) { - uploadData.value = { - fileDir: form.value.storePath, - fileName: form.value.fileName, - storeType: form.value.storeType, - fileNameType: form.value.fileNameType - } - proxy.$refs.uploadRef.submitUpload() + var result = new Promise((resolve) => { + uploadData.value = { + fileDir: form.value.storePath, + fileName: form.value.fileName, + storeType: form.value.storeType, + fileNameType: form.value.fileNameType + } + resolve(true) + }) + //使用异步解决第一次上次获取不到表单的值 + result.then(() => { + proxy.$refs.uploadRef.submitUpload() + }) } }) }