From d267f8ae4851cec9e610c11d0001bbecbf701a83 Mon Sep 17 00:00:00 2001 From: Fine Date: Tue, 2 May 2023 22:51:30 +0800 Subject: [PATCH] fix: set dest endpoint and instance --- src/views/dashboard/panel/Tool.vue | 32 ++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/src/views/dashboard/panel/Tool.vue b/src/views/dashboard/panel/Tool.vue index 72f8d2e0..9fcbef11 100644 --- a/src/views/dashboard/panel/Tool.vue +++ b/src/views/dashboard/panel/Tool.vue @@ -520,23 +520,23 @@ limitations under the License. --> resp = await selectorStore.getServiceInstances({ serviceId }); break; case EntityType[6].value: + if (setPod) { + await updateCurrentDestPod(EntityType[6].value); + } resp = await selectorStore.getEndpoints({ serviceId, isRelation: true, ...param, }); - if (setPod) { - updateCurrentDestPod(); - } break; case EntityType[5].value: + if (setPod) { + await updateCurrentDestPod(EntityType[5].value); + } resp = await selectorStore.getServiceInstances({ serviceId, isRelation: true, }); - if (setPod) { - updateCurrentDestPod(); - } break; case EntityType[7].value: await fetchPods(EntityType[5].value, serviceId, setPod, param); @@ -587,13 +587,29 @@ limitations under the License. --> return resp; } - function updateCurrentDestPod() { + async function updateCurrentDestPod(type: string) { + if (params.destPodId) { + let resp; + if (type === EntityType[6].value) { + resp = await selectorStore.getEndpoint(params.destPodId, true); + } else { + resp = await selectorStore.getInstance(params.destPodId, true); + } + + if (resp.errors) { + return ElMessage.error(resp.errors); + } + const pod = resp.data.endpoint || resp.data.instance || {}; + selectorStore.setCurrentDestPod(pod); + states.currentDestPod = pod.label; + return; + } if (!(selectorStore.destPods.length && selectorStore.destPods[0])) { selectorStore.setCurrentDestPod(null); states.currentDestPod = ""; return; } - const destPod = params.destPodId || selectorStore.destPods[0].id; + const destPod = selectorStore.destPods[0].id; const currentDestPod = selectorStore.destPods.find((d: { id: string }) => d.id === destPod); if (!currentDestPod) { states.currentDestPod = "";