diff --git a/src/views/material-center/components/raw-material/components/add-raw-material-drawer/index.vue b/src/views/material-center/components/raw-material/components/add-raw-material-drawer/index.vue index 26a803c..5fd8aa5 100644 --- a/src/views/material-center/components/raw-material/components/add-raw-material-drawer/index.vue +++ b/src/views/material-center/components/raw-material/components/add-raw-material-drawer/index.vue @@ -259,23 +259,28 @@ export default defineComponent({ }; const onConfirm = async () => { - const hasUploading = uploadData.value.some((item) => item.uploadStatus === EnumUploadStatus.uploading); - if (hasUploading) { - modalRef.value = Modal.warning({ - title: '上传未完成', - content:

当前原料正在上传中,关闭弹窗将导致上传失败,请等待上传完成后再点击“确定”

, - okText: '我知道了', - centered: true, - }); - return; - } + try { + submitLoading.value = true; + const hasUploading = uploadData.value.some((item) => item.uploadStatus === EnumUploadStatus.uploading); + if (hasUploading) { + modalRef.value = Modal.warning({ + title: '上传未完成', + content:

当前原料正在上传中,关闭弹窗将导致上传失败,请等待上传完成后再点击“确定”

, + okText: '我知道了', + centered: true, + }); + return; + } - const raw_materials = uploadData.value.filter((item) => item.uploadStatus !== EnumUploadStatus.error); - const { code } = await postBatchRawMaterial({ raw_materials }); - if (code === 200) { - message.success('上传成功'); - emit('update'); - onClose(); + const raw_materials = uploadData.value.filter((item) => item.uploadStatus !== EnumUploadStatus.error); + const { code } = await postBatchRawMaterial({ raw_materials }); + if (code === 200) { + message.success('上传成功'); + emit('update'); + onClose(); + } + } finally { + submitLoading.value = false; } }; const openDeleteModal = (file) => { diff --git a/src/views/material-center/components/raw-material/components/table/delete-file-modal.vue b/src/views/material-center/components/raw-material/components/table/delete-file-modal.vue index dac48bc..0cd0b56 100644 --- a/src/views/material-center/components/raw-material/components/table/delete-file-modal.vue +++ b/src/views/material-center/components/raw-material/components/table/delete-file-modal.vue @@ -6,7 +6,7 @@ @@ -24,12 +24,14 @@ const emits = defineEmits(['update', 'batchUpdate']); const visible = ref(false); const fileId = ref(null); const fileName = ref(''); +const loading = ref(false); const isBatch = computed(() => Array.isArray(fileId.value)); function onClose() { visible.value = false; fileId.value = null; + loading.value = false; fileName.value = ''; } @@ -42,14 +44,19 @@ const open = (record) => { }; async function onDelete() { - const _fn = isBatch.value ? batchDeleteRawMaterials : deleteRawMaterial; - const _params = isBatch.value ? { ids: fileId.value } : fileId.value; - const { code } = await _fn(_params); - if (code === 200) { - message.success('删除成功'); - isBatch.value ? emits('batchUpdate') : emits('update'); + try { + loading.value = true; + const _fn = isBatch.value ? batchDeleteRawMaterials : deleteRawMaterial; + const _params = isBatch.value ? { ids: fileId.value } : fileId.value; + const { code } = await _fn(_params); + if (code === 200) { + message.success('删除成功'); + isBatch.value ? emits('batchUpdate') : emits('update'); - onClose(); + onClose(); + } + } finally { + loading.value = false; } }