diff --git a/core/core-frontend/src/views/common/DeAppApply.vue b/core/core-frontend/src/views/common/DeAppApply.vue index 90a8422707..82bc6e7951 100644 --- a/core/core-frontend/src/views/common/DeAppApply.vue +++ b/core/core-frontend/src/views/common/DeAppApply.vue @@ -192,7 +192,7 @@ import { } from 'element-plus-secondary' import { computed, PropType, reactive, ref, toRefs } from 'vue' import { useI18n } from '@/hooks/web/useI18n' -import { queryTreeApi } from '@/api/visualization/dataVisualization' +import { dvNameCheck, queryTreeApi } from '@/api/visualization/dataVisualization' import { BusiTreeNode, BusiTreeRequest } from '@/models/tree/TreeNode' import { getDatasetTree } from '@/api/dataset' import DatasetSelect from '@/views/chart/components/editor/dataset-select/DatasetSelect.vue' @@ -376,7 +376,7 @@ const saveApp = () => { ElMessage.error(t('visualization.app_no_datasource_tips')) return } - appSaveForm.value?.validate(valid => { + appSaveForm.value?.validate(async valid => { if (valid) { // 还原datasource appData.value['datasourceInfo'] = state.appData.datasourceInfo @@ -385,7 +385,15 @@ const saveApp = () => { dvInfo.value['datasetFolderPid'] = state.form.datasetFolderPid dvInfo.value['datasetFolderName'] = state.form.datasetFolderName dvInfo.value['dataState'] = 'ready' + await dvNameCheck({ + opt: 'newLeaf', + nodeType: 'leaf', + name: dvInfo.value['name'], + type: curCanvasType.value, + pid: dvInfo.value['pid'] + }) snapshotStore.recordSnapshotCache('renderChart') + emits('saveAppCanvas') } else { return false