From b1912df862c00a6a1618c3c984135d8980dcf345 Mon Sep 17 00:00:00 2001
From: wangjiahao <1522128093@qq.com>
Date: Fri, 8 May 2026 15:10:11 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E6=A8=A1=E6=9D=BF=E5=AF=BC=E5=85=A5?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0loading=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../template/component/DeTemplateImport.vue | 120 ++++++++++++------
1 file changed, 79 insertions(+), 41 deletions(-)
diff --git a/core/core-frontend/src/views/template/component/DeTemplateImport.vue b/core/core-frontend/src/views/template/component/DeTemplateImport.vue
index 80232c26e7..20e11fbeb3 100644
--- a/core/core-frontend/src/views/template/component/DeTemplateImport.vue
+++ b/core/core-frontend/src/views/template/component/DeTemplateImport.vue
@@ -65,8 +65,12 @@
- {{ t('commons.cancel') }}
- {{ t('commons.confirm') }}
+ {{
+ t('commons.cancel')
+ }}
+ {{
+ t('commons.confirm')
+ }}
@@ -80,6 +84,7 @@ import { useI18n } from '@/hooks/web/useI18n'
const emits = defineEmits(['closeEditTemplateDialog', 'refresh', 'addCategoryInfo'])
const { t } = useI18n()
const filesRef = ref(null)
+const loading = ref(false)
const maxImageSize = 35000000
const props = defineProps({
pid: {
@@ -180,6 +185,9 @@ const saveTemplate = () => {
return false
}
+ if (loading.value) return false
+ loading.value = true
+
if (props.optType === 'insert') {
importTemplate()
} else {
@@ -196,17 +204,26 @@ const editTemplate = () => {
optType: props.optType
}
// 全局名称校验
- nameCheck(nameCheckRequest).then(response => {
- if (response.data.indexOf('exist') > -1) {
- ElMessage.warning(t('template_manage.exists_name_hint'))
- } else {
- save(state.templateInfo).then(response => {
- ElMessage.success(t('template_manage.edit_success'))
- emits('refresh', getRefreshPInfo())
- emits('closeEditTemplateDialog')
- })
- }
- })
+ nameCheck(nameCheckRequest)
+ .then(response => {
+ if (response.data.indexOf('exist') > -1) {
+ ElMessage.warning(t('template_manage.exists_name_hint'))
+ loading.value = false
+ } else {
+ save(state.templateInfo)
+ .then(() => {
+ ElMessage.success(t('template_manage.edit_success'))
+ emits('refresh', getRefreshPInfo())
+ emits('closeEditTemplateDialog')
+ })
+ .finally(() => {
+ loading.value = false
+ })
+ }
+ })
+ .catch(() => {
+ loading.value = false
+ })
}
const getRefreshPInfo = () => {
@@ -231,36 +248,57 @@ const importTemplate = () => {
categories: state.templateInfo.categories,
optType: props.optType
}
- categoryTemplateNameCheck(nameCheckRequest).then(response => {
- if (response.data.indexOf('exist') > -1) {
- ElMessageBox.confirm(t('template_manage.hint'), {
- tip: t('template_manage.cover_exists_hint'),
- confirmButtonType: 'danger',
- type: 'warning',
- autofocus: false,
- showClose: false
- }).then(() => {
- save(state.templateInfo).then(() => {
- ElMessage.success(t('template_manage.cover_success'))
- emits('refresh', getRefreshPInfo())
- emits('closeEditTemplateDialog')
+ categoryTemplateNameCheck(nameCheckRequest)
+ .then(response => {
+ if (response.data.indexOf('exist') > -1) {
+ ElMessageBox.confirm(t('template_manage.hint'), {
+ tip: t('template_manage.cover_exists_hint'),
+ confirmButtonType: 'danger',
+ type: 'warning',
+ autofocus: false,
+ showClose: false
})
- })
- } else {
- // 全局名称校验
- nameCheck(nameCheckRequest).then(response => {
- if (response.data.indexOf('exist') > -1) {
- ElMessage.warning(t('template_manage.exists_name_hint'))
- } else {
- save(state.templateInfo).then(rsp => {
- ElMessage.success(t('template_manage.import_success'))
- emits('refresh', getRefreshPInfo())
- emits('closeEditTemplateDialog')
+ .then(() => {
+ save(state.templateInfo)
+ .then(() => {
+ ElMessage.success(t('template_manage.cover_success'))
+ emits('refresh', getRefreshPInfo())
+ emits('closeEditTemplateDialog')
+ })
+ .finally(() => {
+ loading.value = false
+ })
})
- }
- })
- }
- })
+ .catch(() => {
+ loading.value = false
+ })
+ } else {
+ // 全局名称校验
+ nameCheck(nameCheckRequest)
+ .then(response => {
+ if (response.data.indexOf('exist') > -1) {
+ ElMessage.warning(t('template_manage.exists_name_hint'))
+ loading.value = false
+ } else {
+ save(state.templateInfo)
+ .then(() => {
+ ElMessage.success(t('template_manage.import_success'))
+ emits('refresh', getRefreshPInfo())
+ emits('closeEditTemplateDialog')
+ })
+ .finally(() => {
+ loading.value = false
+ })
+ }
+ })
+ .catch(() => {
+ loading.value = false
+ })
+ }
+ })
+ .catch(() => {
+ loading.value = false
+ })
}
const handleFileChange = e => {