diff --git a/core/core-frontend/src/custom-component/v-query/ConditionDefaultConfiguration.vue b/core/core-frontend/src/custom-component/v-query/ConditionDefaultConfiguration.vue index 57a0bfb6da..da6f318544 100644 --- a/core/core-frontend/src/custom-component/v-query/ConditionDefaultConfiguration.vue +++ b/core/core-frontend/src/custom-component/v-query/ConditionDefaultConfiguration.vue @@ -459,7 +459,12 @@ defineExpose({ class="setting-input" :class="curComponent.timeGranularity === 'datetime' && 'with-date'" > - + { const request = JSON.parse(JSON.stringify(form.value)) request.configuration = Base64.encode(JSON.stringify(request.configuration)) loading.value = true - getSchema(request).then(res => { - loading.value = false - schemas.value = res.data - ElMessage.success(t('commons.success')) - }) + getSchema(request) + .then(res => { + schemas.value = res.data + ElMessage.success(t('commons.success')) + }) + .finally(() => { + loading.value = false + }) } }) } diff --git a/core/core-frontend/src/views/visualized/data/datasource/form/index.vue b/core/core-frontend/src/views/visualized/data/datasource/form/index.vue index a2669595a4..a444747c0d 100644 --- a/core/core-frontend/src/views/visualized/data/datasource/form/index.vue +++ b/core/core-frontend/src/views/visualized/data/datasource/form/index.vue @@ -362,30 +362,33 @@ const validateDS = () => { const doValidateDs = request => { dsLoading.value = true - validate(request).then(res => { - dsLoading.value = false - if (res.data.type === 'API') { - let error = 0 - const status = JSON.parse(res.data.status) as Array<{ status: string; name: string }> - for (let i = 0; i < status.length; i++) { - if (status[i].status === 'Error') { - error++ - } - for (let j = 0; j < form.apiConfiguration.length; j++) { - if (status[i].name === form.apiConfiguration[j].name) { - form.apiConfiguration[j].status = status[i].status + validate(request) + .then(res => { + if (res.data.type === 'API') { + let error = 0 + const status = JSON.parse(res.data.status) as Array<{ status: string; name: string }> + for (let i = 0; i < status.length; i++) { + if (status[i].status === 'Error') { + error++ + } + for (let j = 0; j < form.apiConfiguration.length; j++) { + if (status[i].name === form.apiConfiguration[j].name) { + form.apiConfiguration[j].status = status[i].status + } } } - } - if (error === 0) { - ElMessage.success(t('datasource.validate_success')) + if (error === 0) { + ElMessage.success(t('datasource.validate_success')) + } else { + ElMessage.error('校验失败') + } } else { - ElMessage.error('校验失败') + ElMessage.success(t('datasource.validate_success')) } - } else { - ElMessage.success(t('datasource.validate_success')) - } - }) + }) + .finally(() => { + dsLoading.value = false + }) } const typeTitle = computed(() => {