From 1018584b79b302d7439bd646898816cc04ca155e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=8A=B2=E6=9D=BE?= Date: Wed, 16 Dec 2020 18:41:29 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E4=BF=AE=E5=A4=8Dmetric=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=B2=A1=E6=95=B0=E6=8D=AEbug=EF=BC=9B=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E4=BC=98=E5=8C=96=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nezha-fronted/src/assets/stylus/main.scss | 12 +- .../src/components/common/header.vue | 3 +- .../src/components/common/project/addLine.vue | 45 +++++++ .../src/components/common/project/addNode.vue | 127 ++++++++++++++++-- .../components/common/project/topology.vue | 2 +- .../components/common/rightBox/moduleBox.vue | 2 +- .../src/components/page/config/mibBrowser.vue | 4 +- .../src/components/page/config/system.vue | 12 +- 8 files changed, 179 insertions(+), 28 deletions(-) diff --git a/nezha-fronted/src/assets/stylus/main.scss b/nezha-fronted/src/assets/stylus/main.scss index 7c73e74ce..834265944 100644 --- a/nezha-fronted/src/assets/stylus/main.scss +++ b/nezha-fronted/src/assets/stylus/main.scss @@ -288,14 +288,12 @@ li{ .nz-btn.nz-btn-style-normal-new { /* 新版橙色按钮 */ background: $btn-normal-background-color-new; color: $btn-normal-txt-color-new; - //box-shadow: $btn-normal-shadow; - border: 0px; + border: 1px solid $btn-normal-background-color-new; } .nz-btn.nz-btn-style-error-new { /* 新版红色色按钮 */ background: $btn-error-background-color-new; color: $btn-error-txt-color-new; - //box-shadow: $btn-normal-shadow; - border: 0px; + border: 1px solid $btn-error-background-color-new; } .nz-btn.nz-btn-style-light-new { /* 新版浅色按钮 */ background: #fff; @@ -1271,16 +1269,16 @@ li{ margin-right: 15px } .dc-asset-state-in { - background-color: #90ee90; + background-color: $success-color; } .dc-asset-state-out { background-color: orange; } .dc-asset-state-suspended { - background-color: rgba(255, 0, 0, 0.6);; + background-color: $danger-color; } .dc-asset-state-P1 { - background-color: rgba(255, 0, 0, 0.6); + background-color: $danger-color; } .chart-box-dropdown { width: 519px; diff --git a/nezha-fronted/src/components/common/header.vue b/nezha-fronted/src/components/common/header.vue index 23ac88689..7c7ca221f 100644 --- a/nezha-fronted/src/components/common/header.vue +++ b/nezha-fronted/src/components/common/header.vue @@ -460,8 +460,9 @@ logout() { this.$get('logout').then(() => { this.logoutSuccess(); + document.location.href = "/"; }); - document.location.reload(); + //this.jumpTo('/login'); }, refreshLang() { diff --git a/nezha-fronted/src/components/common/project/addLine.vue b/nezha-fronted/src/components/common/project/addLine.vue index 577d12e04..97bf1eb48 100644 --- a/nezha-fronted/src/components/common/project/addLine.vue +++ b/nezha-fronted/src/components/common/project/addLine.vue @@ -311,6 +311,10 @@ }, data(){ return{ + metricList: [], // metric列表 + metricCascaderList:[],//metric级联列表 + metricAllData:new Map(),//存放所有的project-module-metric-labelValue,避免重复加载 + metricOptions: [], form:{ arrows:'0', label:'', @@ -354,6 +358,7 @@ }, mounted(){ // this.addExpression(); + this.queryMetrics(); if( this.lineData.expressions){ this.lineData.expressions.forEach((item,index)=>{ this.$refs['promql-'+(index)][0].metricChange(this.expressions[index]); @@ -361,6 +366,46 @@ } }, methods:{ + getMetricOptions() { + return this.metricOptions; + }, + queryMetrics() { + this.metricOptions = []; + this.$get('prom/api/v1/label/__name__/values').then(response=>{ + if(response.status == 'success'){ + let metrics=response.data.sort(); + let metricMap=new Map(); + metrics.forEach((item)=>{ + let key=''; + if(/^[a-zA-Z]+?_[a-zA-Z]*/.test(item)){ + key=item.split('_')[0]; + }else if(/^_\w*/.test(item)){ + key=' '; + }else{ + key=item; + } + if(metricMap.get(key)){ + let values=metricMap.get(key); + values.push({label:item,value:item}); + }else{ + let values=[{label:item,value:item}]; + metricMap.set(key,values); + } + //this.metricStore.push({label:item,value:item,insertText:item}) + }); + for(let key of metricMap.keys()){ + let option={ + label:key, + value:key, + }; + if(metricMap.get(key) && metricMap.get(key).length>1){ + option.children=metricMap.get(key); + } + this.metricOptions.push(option); + } + } + }) + }, onSubmit(){ this.$refs['form'].validate((valid) => { if (valid) { diff --git a/nezha-fronted/src/components/common/project/addNode.vue b/nezha-fronted/src/components/common/project/addNode.vue index f4e50d9bb..d1e1ff690 100644 --- a/nezha-fronted/src/components/common/project/addNode.vue +++ b/nezha-fronted/src/components/common/project/addNode.vue @@ -34,9 +34,9 @@ - +
- + {{selImage.imageName}}
- - + + - {{ item.imageName }} + {{ item.imageName }}
{{$t('alert.config.expr')}} - - - + + +