diff --git a/nezha-fronted/src/components/common/bottomBox/bottomBox.vue b/nezha-fronted/src/components/common/bottomBox/bottomBox.vue index 4e27fed75..5a872c6f0 100644 --- a/nezha-fronted/src/components/common/bottomBox/bottomBox.vue +++ b/nezha-fronted/src/components/common/bottomBox/bottomBox.vue @@ -17,30 +17,15 @@ - - - - - - - @@ -50,7 +35,6 @@ - - diff --git a/nezha-fronted/src/components/common/bottomBox/tabs/endpointQueryTab.vue b/nezha-fronted/src/components/common/bottomBox/tabs/endpointQueryTab.vue index 2000cf2c5..5b3131e66 100644 --- a/nezha-fronted/src/components/common/bottomBox/tabs/endpointQueryTab.vue +++ b/nezha-fronted/src/components/common/bottomBox/tabs/endpointQueryTab.vue @@ -238,70 +238,7 @@ if(response.status==="success"){ let results = response.data.result; this.queryData=JSON.parse(JSON.stringify(results)); - for(let result of results) { - let metricName = result.metric.__name__; - let temp = metricName; - let simpleTemp = metricName;//显示简略信息:隐藏same labels后的结果 - let metricColor = ""; - let bracketsColor = "#eb7b18";//#eb7b18 - let labelColor = "#65bbd1";//#66d9ef - let valueColor = "#61c261";//#74e680 - let colorTemp = `${metricName}`; - let colorSimpleTemp = `${metricName}`; - let metricTip = {}; - let queryInfos = (this.elementMetricDatas.filter((item)=> { - return item.metric === temp; - })); - if(queryInfos && queryInfos.length > 0) { - metricTip = queryInfos[0]; - } else { - metricTip.metric=temp; - } - delete result.metric.__name__; - temp += "{"; - simpleTemp += "{"; - colorTemp += `{`; - colorSimpleTemp += `{`; - let keys = Object.keys(result.metric); - for (let index in keys){ - let key = keys[index]; - temp += key + "='" + result.metric[key] + "',"; - colorTemp += `${key}='${result.metric[key]}',`; - if(!this.sameLabels.some((i)=> {return i == key})) { - simpleTemp += key + "='" + result.metric[key] + "',"; - colorSimpleTemp += `${key}='${result.metric[key]}',`; - } - } - if(temp.indexOf(',') != -1){ - temp = temp.substr(0,temp.length-1); - } - if(simpleTemp.indexOf(',') != -1){ - simpleTemp = simpleTemp.substr(0,simpleTemp.length-1); - } - if(colorTemp.indexOf(',') != -1){ - colorTemp = colorTemp.substr(0,colorTemp.length-1); - } - if(colorSimpleTemp.indexOf(',') != -1){ - colorSimpleTemp = colorSimpleTemp.substr(0,colorSimpleTemp.length-1); - } - - - temp += "}"; - simpleTemp += "}"; - colorTemp += `}`; - colorSimpleTemp += `}`; - if(!/.+\{.+\}/.test(simpleTemp)) { - simpleTemp = simpleTemp.substr(0,simpleTemp.length-2); - } - - if(!/.+\{<\/span>.+?\}/.test(colorSimpleTemp)){ - let metricReg=new RegExp(""+metricName+"<\/span>") - colorSimpleTemp=metricReg.exec(colorSimpleTemp)[0]; - } - - let edpQueryData={element:temp,simpleElement:simpleTemp,colorElement:colorTemp,colorSimpleElement:colorSimpleTemp, value:result.value[1],type:(result.metric.type?result.metric.type:'2'),metricTip:metricTip}; - this.tableData.push(edpQueryData); - } + this.tableData = this.handlerTableData(results); this.tableDataCopy = JSON.stringify(this.tableData); this.$nextTick(this.$refs.endpointQueryTable.doLayout()); } @@ -361,6 +298,75 @@ let current=year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second; return current; }, + handlerTableData(results) { + let tableData = []; + for(let result of results) { + let metricName = result.metric.__name__; + let temp = metricName; + let simpleTemp = metricName;//显示简略信息:隐藏same labels后的结果 + let metricColor = ""; + let bracketsColor = "#eb7b18";//#eb7b18 + let labelColor = "#65bbd1";//#66d9ef + let valueColor = "#61c261";//#74e680 + let colorTemp = `${metricName}`; + let colorSimpleTemp = `${metricName}`; + let metricTip = {}; + let queryInfos = (this.elementMetricDatas.filter((item)=> { + return item.metric === temp; + })); + if(queryInfos && queryInfos.length > 0) { + metricTip = queryInfos[0]; + } else { + metricTip.metric=temp; + } + delete result.metric.__name__; + temp += "{"; + simpleTemp += "{"; + colorTemp += `{`; + colorSimpleTemp += `{`; + let keys = Object.keys(result.metric); + for (let index in keys){ + let key = keys[index]; + temp += key + "='" + result.metric[key] + "',"; + colorTemp += `${key}='${result.metric[key]}',`; + if(!this.sameLabels.some((i)=> {return i == key})) { + simpleTemp += key + "='" + result.metric[key] + "',"; + colorSimpleTemp += `${key}='${result.metric[key]}',`; + } + } + if(temp.indexOf(',') != -1){ + temp = temp.substr(0,temp.length-1); + } + if(simpleTemp.indexOf(',') != -1){ + simpleTemp = simpleTemp.substr(0,simpleTemp.length-1); + } + if(colorTemp.indexOf(',') != -1){ + colorTemp = colorTemp.substr(0,colorTemp.length-1); + } + if(colorSimpleTemp.indexOf(',') != -1){ + colorSimpleTemp = colorSimpleTemp.substr(0,colorSimpleTemp.length-1); + } + + + temp += "}"; + simpleTemp += "}"; + colorTemp += `}`; + colorSimpleTemp += `}`; + if(!/.+\{.+\}/.test(simpleTemp)) { + simpleTemp = simpleTemp.substr(0,simpleTemp.length-2); + } + + if(!/.+\{<\/span>.+?\}/.test(colorSimpleTemp)){ + let metricReg=new RegExp(""+metricName+"<\/span>") + colorSimpleTemp=metricReg.exec(colorSimpleTemp)[0]; + } + + let edpQueryData={element:temp,simpleElement:simpleTemp,colorElement:colorTemp,colorSimpleElement:colorSimpleTemp, value:result.value[1],type:(result.metric.type?result.metric.type:'2'),metricTip:metricTip}; + //this.tableData.push(edpQueryData); + tableData.push(edpQueryData); + } + return tableData; + }, selectChange:function(selection){//selection 选中的row的数组 this.selectedEndpoints=selection; },