diff --git a/nezha-fronted/src/assets/css/common.scss b/nezha-fronted/src/assets/css/common.scss
index b631510aa..a2e9b390f 100644
--- a/nezha-fronted/src/assets/css/common.scss
+++ b/nezha-fronted/src/assets/css/common.scss
@@ -162,3 +162,10 @@
padding-bottom: 10px;
}
}
+.icon {
+ width: 1em;
+ height: 1em;
+ vertical-align: -0.15em;
+ fill: currentColor;
+ overflow: hidden;
+}
diff --git a/nezha-fronted/src/assets/css/font/iconfont.js b/nezha-fronted/src/assets/css/font/iconfont.js
new file mode 100644
index 000000000..d32c0cbe7
--- /dev/null
+++ b/nezha-fronted/src/assets/css/font/iconfont.js
@@ -0,0 +1 @@
+!function(a){var c,h,l,z,o,i='',v=(v=document.getElementsByTagName("script"))[v.length-1].getAttribute("data-injectcss"),t=function(a,c){c.parentNode.insertBefore(a,c)};if(v&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}function m(){o||(o=!0,l())}function p(){try{z.documentElement.doScroll("left")}catch(a){return void setTimeout(p,50)}m()}c=function(){var a,c;(c=document.createElement("div")).innerHTML=i,i=null,(a=c.getElementsByTagName("svg")[0])&&(a.setAttribute("aria-hidden","true"),a.style.position="absolute",a.style.width=0,a.style.height=0,a.style.overflow="hidden",c=a,(a=document.body).firstChild?t(c,a.firstChild):a.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(c,0):(h=function(){document.removeEventListener("DOMContentLoaded",h,!1),c()},document.addEventListener("DOMContentLoaded",h,!1)):document.attachEvent&&(l=c,z=a.document,o=!1,p(),z.onreadystatechange=function(){"complete"==z.readyState&&(z.onreadystatechange=null,m())})}(window);
\ No newline at end of file
diff --git a/nezha-fronted/src/components/common/project/topology.scss b/nezha-fronted/src/components/common/project/topology.scss
index 8b61412f2..c8660b557 100644
--- a/nezha-fronted/src/components/common/project/topology.scss
+++ b/nezha-fronted/src/components/common/project/topology.scss
@@ -545,3 +545,11 @@
.selpop {
cursor: pointer;
}
+.topo-noData /deep/ .icon{
+ width: 5rem;
+ height: 5rem;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%,-50%);
+}
diff --git a/nezha-fronted/src/components/common/project/topologyL5.vue b/nezha-fronted/src/components/common/project/topologyL5.vue
index 29114dd1e..2988ca6f4 100644
--- a/nezha-fronted/src/components/common/project/topologyL5.vue
+++ b/nezha-fronted/src/components/common/project/topologyL5.vue
@@ -228,6 +228,14 @@
>