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 => {