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')}} - - - + + +