diff --git a/src/views/dashboard/configuration/widget/WidgetOptions.vue b/src/views/dashboard/configuration/widget/WidgetOptions.vue index 5372a649..5a77ff5e 100644 --- a/src/views/dashboard/configuration/widget/WidgetOptions.vue +++ b/src/views/dashboard/configuration/widget/WidgetOptions.vue @@ -41,7 +41,6 @@ import { useDashboardStore } from "@/store/modules/dashboard"; const { t } = useI18n(); const dashboardStore = useDashboardStore(); -const { selectedGrid } = dashboardStore; const widget = dashboardStore.selectedGrid.widget || {}; const title = ref(widget.title || ""); const tips = ref(widget.tips || ""); @@ -51,6 +50,7 @@ function updateWidgetConfig(param: { [key: string]: string }) { if (!key) { return; } + const { selectedGrid } = dashboardStore; const widget = { ...dashboardStore.selectedGrid.widget, [key]: decodeURIComponent(param[key]), diff --git a/src/views/dashboard/related/topology/components/Graph.vue b/src/views/dashboard/related/topology/components/Graph.vue index d057d35c..c075a5d0 100644 --- a/src/views/dashboard/related/topology/components/Graph.vue +++ b/src/views/dashboard/related/topology/components/Graph.vue @@ -277,6 +277,12 @@ function handleLinkClick(event: any, d: Call) { layer: dashboardStore.layerId, entity: `${e}Relation`, }); + if (!p) { + ElMessage.error( + `The dashboard named ${settings.value.linkDashboard} doesn't exist` + ); + return; + } dashboardStore.setEntity(p.entity); const path = `/dashboard/related/${p.layer}/${e}Relation/${d.source.id}/${d.target.id}/${p.name}`; const routeUrl = router.resolve({ path }); diff --git a/src/views/dashboard/related/topology/components/PodTopology.vue b/src/views/dashboard/related/topology/components/PodTopology.vue index d4340940..917dd233 100644 --- a/src/views/dashboard/related/topology/components/PodTopology.vue +++ b/src/views/dashboard/related/topology/components/PodTopology.vue @@ -178,6 +178,12 @@ function goDashboard() { layer: dashboardStore.layerId, entity, }); + if (!d) { + ElMessage.error( + `The dashboard named ${settings.value.nodeDashboard} doesn't exist` + ); + return; + } const path = `/dashboard/${d.layer}/${entity}/${topologyStore.node.serviceId}/${topologyStore.node.id}/${d.name}`; const routeUrl = router.resolve({ path }); window.open(routeUrl.href, "_blank"); @@ -216,6 +222,12 @@ function selectNodeLink(d: any) { layer: dashboardStore.layerId, entity, }); + if (!p) { + ElMessage.error( + `The dashboard named ${settings.value.linkDashboard} doesn't exist` + ); + return; + } const path = `/dashboard/${p.layer}/${entity}/${sourceObj.serviceId}/${sourceObj.id}/${targetObj.serviceId}/${targetObj.id}/${p.name}`; const routeUrl = router.resolve({ path }); window.open(routeUrl.href, "_blank");