diff --git a/src/assets/css/components/views/entityExplorer/entityList/row.scss b/src/assets/css/components/views/entityExplorer/entityList/row.scss index 176a7159..91c63829 100644 --- a/src/assets/css/components/views/entityExplorer/entityList/row.scss +++ b/src/assets/css/components/views/entityExplorer/entityList/row.scss @@ -79,11 +79,22 @@ .cn-entity__header-title { margin-right: 10px; } - .cn-entity__header-tag { - + .entity-related-entity { + font-size: 12px; + color: #717171; + cursor: pointer; + margin-right: 6px; } } + .entity-row-tag { + display: flex; + margin-left: 6px; + margin-top: 1px; + flex-wrap: wrap; + margin-bottom: -10px; + } + .cn-entity__body { display: flex; flex-direction: column; diff --git a/src/assets/css/font/iconfont.css b/src/assets/css/font/iconfont.css index 17742340..682c2a25 100644 --- a/src/assets/css/font/iconfont.css +++ b/src/assets/css/font/iconfont.css @@ -1,8 +1,8 @@ @font-face { font-family: "cn-icon"; /* Project id 2614877 */ - src: url('iconfont.woff2?t=1698229141457') format('woff2'), - url('iconfont.woff?t=1698229141457') format('woff'), - url('iconfont.ttf?t=1698229141457') format('truetype'); + src: url('iconfont.woff2?t=1699411209748') format('woff2'), + url('iconfont.woff?t=1699411209748') format('woff'), + url('iconfont.ttf?t=1699411209748') format('truetype'); } .cn-icon { @@ -13,6 +13,10 @@ -moz-osx-font-smoothing: grayscale; } +.cn-icon-related:before { + content: "\e640"; +} + .cn-icon-indicator-match:before { content: "\e80c"; } diff --git a/src/assets/css/font/iconfont.js b/src/assets/css/font/iconfont.js index e0524adf..7c9e69cc 100644 --- a/src/assets/css/font/iconfont.js +++ b/src/assets/css/font/iconfont.js @@ -1 +1 @@ -window._iconfont_svg_string_2614877='',function(l){var a=(a=document.getElementsByTagName("script"))[a.length-1],c=a.getAttribute("data-injectcss"),a=a.getAttribute("data-disable-injectsvg");if(!a){var h,o,i,v,m,z=function(a,c){c.parentNode.insertBefore(a,c)};if(c&&!l.__iconfont__svg__cssinject__){l.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}h=function(){var a,c=document.createElement("div");c.innerHTML=l._iconfont_svg_string_2614877,(c=c.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",c=c,(a=document.body).firstChild?z(c,a.firstChild):a.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(o=function(){document.removeEventListener("DOMContentLoaded",o,!1),h()},document.addEventListener("DOMContentLoaded",o,!1)):document.attachEvent&&(i=h,v=l.document,m=!1,s(),v.onreadystatechange=function(){"complete"==v.readyState&&(v.onreadystatechange=null,t())})}function t(){m||(m=!0,i())}function s(){try{v.documentElement.doScroll("left")}catch(a){return void setTimeout(s,50)}t()}}(window); \ No newline at end of file +window._iconfont_svg_string_2614877='',function(l){var a=(a=document.getElementsByTagName("script"))[a.length-1],c=a.getAttribute("data-injectcss"),a=a.getAttribute("data-disable-injectsvg");if(!a){var h,o,i,v,m,z=function(a,c){c.parentNode.insertBefore(a,c)};if(c&&!l.__iconfont__svg__cssinject__){l.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}h=function(){var a,c=document.createElement("div");c.innerHTML=l._iconfont_svg_string_2614877,(c=c.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",c=c,(a=document.body).firstChild?z(c,a.firstChild):a.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(o=function(){document.removeEventListener("DOMContentLoaded",o,!1),h()},document.addEventListener("DOMContentLoaded",o,!1)):document.attachEvent&&(i=h,v=l.document,m=!1,s(),v.onreadystatechange=function(){"complete"==v.readyState&&(v.onreadystatechange=null,t())})}function t(){m||(m=!0,i())}function s(){try{v.documentElement.doScroll("left")}catch(a){return void setTimeout(s,50)}t()}}(window); diff --git a/src/assets/css/font/iconfont.ttf b/src/assets/css/font/iconfont.ttf index 712c2692..68ea333f 100644 Binary files a/src/assets/css/font/iconfont.ttf and b/src/assets/css/font/iconfont.ttf differ diff --git a/src/assets/css/font/iconfont.woff b/src/assets/css/font/iconfont.woff index 6735e7d7..9f1a90d0 100644 Binary files a/src/assets/css/font/iconfont.woff and b/src/assets/css/font/iconfont.woff differ diff --git a/src/assets/css/font/iconfont.woff2 b/src/assets/css/font/iconfont.woff2 index 6987e38a..c72340fe 100644 Binary files a/src/assets/css/font/iconfont.woff2 and b/src/assets/css/font/iconfont.woff2 differ diff --git a/src/views/entityExplorer/EntityExplorer.vue b/src/views/entityExplorer/EntityExplorer.vue index 18ad233b..48e1ee76 100644 --- a/src/views/entityExplorer/EntityExplorer.vue +++ b/src/views/entityExplorer/EntityExplorer.vue @@ -48,6 +48,15 @@ {{ summaryCount.ipCount }},{{$t('overall.domain')}} {{ summaryCount.domainCount }},APP {{ summaryCount.appCount }} + + + + { if (response.status === 200) { @@ -580,7 +590,8 @@ export default { const queryParams = { startTime: getSecond(params.startTime), endTime: getSecond(params.endTime), - resource: params.q || '' + resource: params.q || '', + hideRelated: this.isHideRelatedEntities } axios.get(api.entity.entityList.summaryCount, { params: queryParams }).then(response => { if (response.status === 200) { @@ -778,6 +789,12 @@ export default { str = str.substring(0, str.length - 1) } return str + }, + hideRelatedEntities (e) { + this.isHideRelatedEntities = e + this.reloadUrl({ hideRelated: e }) + this.queryList({ q: this.q, ...this.pageObj, ...this.timeFilter }) + this.queryCount({ q: this.q, ...this.pageObj, ...this.timeFilter }) } }, mounted () { @@ -841,9 +858,11 @@ export default { pageSize: query.pageSize ? parseInt(query.pageSize) : defaultPageSize, total: 0 }) + const isHideRelatedEntities = ref(query.hideRelated ? JSON.parse(query.hideRelated) : false) // 隐藏相关实体,默认false不隐藏 return { timeFilter, - pageObj + pageObj, + isHideRelatedEntities } }, beforeUnmount () { diff --git a/src/views/entityExplorer/entityList/Row.vue b/src/views/entityExplorer/entityList/Row.vue index 53c46208..47c60a87 100644 --- a/src/views/entityExplorer/entityList/Row.vue +++ b/src/views/entityExplorer/entityList/Row.vue @@ -12,7 +12,19 @@
{{ entityData.entityValue || 'Unknown' }} - + + + + + +