From e712a61efb5da2e048f4f5fd5463476df281d091 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 30 Oct 2024 16:26:21 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E3=80=90=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=E3=80=91=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE=E6=BA=90=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E7=BB=93=E6=9E=9C=E4=BC=9A=E5=9C=A8=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E5=BD=B1=E5=93=8D=E5=88=B0=E5=85=B6=E4=BB=96=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../visualized/data/datasource/index.vue | 39 ++++++++++++------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/core/core-frontend/src/views/visualized/data/datasource/index.vue b/core/core-frontend/src/views/visualized/data/datasource/index.vue index 4f8ca19e56..7f8405fbfd 100644 --- a/core/core-frontend/src/views/visualized/data/datasource/index.vue +++ b/core/core-frontend/src/views/visualized/data/datasource/index.vue @@ -139,7 +139,6 @@ const dsTableDetail = reactive({ name: '' }) const rootManage = ref(false) -const nodeData = ref({}) const nickName = ref('') const dsName = ref('') const userDrawer = ref(false) @@ -276,31 +275,31 @@ const validateDS = () => { .then(res => { if (res.data.type === 'API') { let error = 0 - const status = JSON.parse(res.data.status) - for (let i = 0; i < status.length; i++) { - if (status[i].status === 'Error') { + const dsStatus = JSON.parse(res.data.status) + for (let i = 0; i < dsStatus.length; i++) { + if (dsStatus[i].status === 'Error') { error++ } for (let i = 0; i < nodeInfo.apiConfiguration.length; i++) { - if (nodeInfo.apiConfiguration[i].name === status[i].name) { - nodeInfo.apiConfiguration[i].status = status[i].status + if (nodeInfo.apiConfiguration[i].name === dsStatus[i].name) { + nodeInfo.apiConfiguration[i].status = dsStatus[i].status } } } if (error === 0) { - nodeData.value.extraFlag = Math.abs(nodeData.value.extraFlag) + changeDsStatus(state.datasourceTree, nodeInfo.id, Math.abs(nodeInfo.extraFlag)) ElMessage.success(t('data_source.verification_successful')) } else { - nodeData.value.extraFlag = -Math.abs(nodeData.value.extraFlag) + changeDsStatus(state.datasourceTree, nodeInfo.id, -Math.abs(nodeInfo.extraFlag)) ElMessage.error(t('data_source.verification_failed')) } } else { - nodeData.value.extraFlag = Math.abs(nodeData.value.extraFlag) + changeDsStatus(state.datasourceTree, nodeInfo.id, Math.abs(nodeInfo.extraFlag)) ElMessage.success(t('data_source.verification_successful')) } }) .catch(() => { - nodeData.value.extraFlag = -Math.abs(nodeData.value.extraFlag) + changeDsStatus(state.datasourceTree, nodeInfo.id, -Math.abs(nodeInfo.extraFlag)) }) } @@ -412,7 +411,8 @@ const defaultInfo = { syncSetting: null, apiConfiguration: [], weight: 0, - enableDataFill: false + enableDataFill: false, + extraFlag: 0 } const nodeInfo = reactive(cloneDeep(defaultInfo)) const infoList = computed(() => { @@ -490,6 +490,19 @@ const listDs = () => { }) } +const changeDsStatus = (ds, id, extraFlag) => { + ds.some(ele => { + if (ele.id === id) { + ele.extraFlag = extraFlag + return true + } + if (!!ele.children?.length) { + changeDsStatus(ele.children, id, extraFlag) + } + return false + }) +} + const dfsDatasourceTree = (ds, id) => { ds.some(ele => { if (ele.id === id) { @@ -530,7 +543,6 @@ const sortTypeTip = computed(() => { const tableData = shallowRef([]) const tabData = shallowRef([]) const handleNodeClick = data => { - nodeData.value = data if (!data.leaf) { dsListTree.value.setCurrentKey(null) return @@ -580,7 +592,8 @@ const handleNodeClick = data => { paramsConfiguration: paramsStr, weight: data.weight, lastSyncTime, - enableDataFill + enableDataFill, + extraFlag: data.extraFlag }) activeTab.value = '' activeName.value = 'config'