diff --git a/nezha-fronted/src/components/charts/line-chart-block.vue b/nezha-fronted/src/components/charts/line-chart-block.vue index 6ebe45894..1cc0b51b1 100644 --- a/nezha-fronted/src/components/charts/line-chart-block.vue +++ b/nezha-fronted/src/components/charts/line-chart-block.vue @@ -731,7 +731,7 @@ show:false }, minInterval: chartDataFormat.Interval(maxValue,copies,unit.type,'min'), - maxInterval: chartDataFormat.Interval(maxValue,copies,unit.type,'max'), + maxInterval: chartDataFormat.Interval(maxValue,copies,unit.type,'max')*Math.ceil(dataArg.length/5), axisTick: { show: false, }, @@ -1477,7 +1477,7 @@ series:this.seriesItem, yAxis:{ minInterval: chartDataFormat.Interval(maxValue,copies,unit.type,'min'), - maxInterval: chartDataFormat.Interval(maxValue,copies,unit.type,'max'), + maxInterval: chartDataFormat.Interval(maxValue,copies,unit.type,'max')*Math.ceil(dataArg.length/5), } }); if(this.hasLegendOptions){ @@ -1510,7 +1510,7 @@ series:this.seriesItemScreen, yAxis:{ minInterval: chartDataFormat.Interval(maxValue,copies,unit.type,'min'), - maxInterval: chartDataFormat.Interval(maxValue,copies,unit.type,'max'), + maxInterval: chartDataFormat.Interval(maxValue,copies,unit.type,'max')*Math.ceil(dataArg.length/5), } }); if(this.hasLegendOptions){ @@ -1648,19 +1648,22 @@ let maxValue=0; let minValue=0; if(chartInfo.unit &&dataArg.length>0){ - maxValue=dataArg[0].data[0][1]; - minValue=dataArg[0].data[0][1]; + maxValue=0; + minValue=0; for(let j = 0; j < dataArg.length ; j++){ for (let i = 0; i < dataArg[j].data.length - 1; i++) { - maxValue = (maxValue < Number(dataArg[j].data[i+1][1]) ? Number(dataArg[j].data[i+1][1]) : maxValue); - minValue = (minValue > Number(dataArg[j].data[i+1][1]) ? Number(dataArg[j].data[i+1][1]) : minValue); + if(dataArg[j].data[i+1][1]!=='NaN'){ + maxValue = (maxValue < Number(dataArg[j].data[i+1][1]) ? Number(dataArg[j].data[i+1][1]) : maxValue); + minValue = (minValue > Number(dataArg[j].data[i+1][1]) ? Number(dataArg[j].data[i+1][1]) : minValue); + } } } } let chartUnit=chartInfo.unit?chartInfo.unit:2; let unit=chartDataFormat.getUnit(chartUnit); + minValue=minValue>0?0:minValue; + maxValue=maxValue-minValue; maxValue=chartDataFormat.formatDatas(maxValue,unit.type,'ceil',unit.ascii); - minValue=chartDataFormat.formatDatas(minValue,unit.type,'floor',unit.ascii); let oldValue=maxValue; let dot=0; if(maxValue==1){ diff --git a/nezha-fronted/src/components/common/alert/alertMessageTable.vue b/nezha-fronted/src/components/common/alert/alertMessageTable.vue index 431c64bec..4e33472cf 100644 --- a/nezha-fronted/src/components/common/alert/alertMessageTable.vue +++ b/nezha-fronted/src/components/common/alert/alertMessageTable.vue @@ -381,6 +381,7 @@ methods: { labelsSort:function(obj){ let buildIn=['asset','endpoint','module','project','datacenter'] + if(typeof obj == "string") obj=JSON.parse(obj) let labels=JSON.parse(JSON.stringify(obj)); let result=[]; for(let key of buildIn){ @@ -938,21 +939,21 @@ cursor: pointer; } .severity .high{ - background: #F2866E; + background: #F5846A; border-radius: 2px; font-size: 12px; color: #FFFFFF; padding: 2px 6px; } .severity .medium{ - background: #F89984; + background: #F7A54A; border-radius: 2px; font-size: 12px; color: #FFFFFF; padding: 2px 6px; } .severity .low{ - background: #F7BA78; + background: #F1C13D; border-radius: 2px; font-size: 12px; color: #FFFFFF; diff --git a/nezha-fronted/src/components/common/header.vue b/nezha-fronted/src/components/common/header.vue index 43a7d3a7b..b739be00e 100644 --- a/nezha-fronted/src/components/common/header.vue +++ b/nezha-fronted/src/components/common/header.vue @@ -325,7 +325,7 @@ this.rightBox.module.show = true; this.editModule = { name: '', - project: this.$store.state.currentProject, + project: {}, port: 9100, path: '', param: '', diff --git a/nezha-fronted/src/components/common/leftMenu.vue b/nezha-fronted/src/components/common/leftMenu.vue index e49c4f23c..d1fbc33fc 100644 --- a/nezha-fronted/src/components/common/leftMenu.vue +++ b/nezha-fronted/src/components/common/leftMenu.vue @@ -166,7 +166,7 @@ currentProjectTitle: '', currentProject: {id: '', name: '', remark: ''}, //endpoint弹框、module列表用来回显project module: {}, //编辑的module - blankModule: {id: '', type: '', name: '', project: {}, port: '', path: '', param: '', paramObj: [], snmpParam: ''}, //空白module + blankModule: {name: '', project: {}, port: 9100, path: '', param: '', type: 'http', paramObj: [], snmpParam: '', walk: [], version: 2, max_repetitions: 25, retries: 3, timeout: 10, community: 'public', username: '', security_level: 'noAuthNoPriv', password: '', auth_protocol: 'MD5', priv_protocol: 'DES', priv_password: '', context_name: ''}, //空白module currentModule: {id: '', type: '', name: '', project: {}, port: '', path: '', param: '', paramObj: [], snmpParam: ''}, //用来回显的module ready: false, rightBox: {module: {show: false}}, @@ -340,7 +340,9 @@ }); }, newModule() { - return JSON.parse(JSON.stringify(this.blankModule)); + let module=JSON.parse(JSON.stringify(this.blankModule)); + module.project = this.$store.state.currentProject + return module }, //弹出module编辑页 editModule(module) { diff --git a/nezha-fronted/src/components/common/project/popData/alertTable.vue b/nezha-fronted/src/components/common/project/popData/alertTable.vue index d132a141f..12c0f33d5 100644 --- a/nezha-fronted/src/components/common/project/popData/alertTable.vue +++ b/nezha-fronted/src/components/common/project/popData/alertTable.vue @@ -515,21 +515,21 @@ border-radius: 4px; } .severity .high{ - background: #F2866E; + background: #F5846A; border-radius: 2px; font-size: 12px; color: #FFFFFF; padding: 2px 6px; } .severity .medium{ - background: #F89984; + background: #F7A54A; border-radius: 2px; font-size: 12px; color: #FFFFFF; padding: 2px 6px; } .severity .low{ - background: #F7BA78; + background: #F1C13D; border-radius: 2px; font-size: 12px; color: #FFFFFF; diff --git a/nezha-fronted/src/components/common/project/popData/lineChart.vue b/nezha-fronted/src/components/common/project/popData/lineChart.vue index bdee3a7a0..c6056a549 100644 --- a/nezha-fronted/src/components/common/project/popData/lineChart.vue +++ b/nezha-fronted/src/components/common/project/popData/lineChart.vue @@ -736,7 +736,7 @@ show:false }, minInterval: chartDataFormat.Interval(maxValue,copies,unit.type,'min'), - maxInterval: chartDataFormat.Interval(maxValue,copies,unit.type,'max'), + // maxInterval: chartDataFormat.Interval(maxValue,copies,unit.type,'max'), axisTick: { show: false, }, @@ -760,6 +760,7 @@ if (chartSite === 'local') { // 本地显示 if(legend){ this.legendList = []; + this.isGrey=[]; legend.forEach((item, i) => { const legend = { name:item.name, @@ -873,6 +874,7 @@ // eslint-disable-next-line if(legend){ this.screenLegendList = []; + this.isGreyScreen=[] legend.forEach((item, i) => { const legend = { name:item.name, @@ -1514,19 +1516,22 @@ let maxValue=0; let minValue=0; if(chartInfo.unit &&dataArg.length>0){ - maxValue=dataArg[0].data[0][1]; - minValue=dataArg[0].data[0][1]; + maxValue=0; + minValue=0; for(let j = 0; j < dataArg.length ; j++){ for (let i = 0; i < dataArg[j].data.length - 1; i++) { - maxValue = (maxValue < Number(dataArg[j].data[i+1][1]) ? Number(dataArg[j].data[i+1][1]) : maxValue); - minValue = (minValue > Number(dataArg[j].data[i+1][1]) ? Number(dataArg[j].data[i+1][1]) : minValue); + if(dataArg[j].data[i+1][1]!=='NaN'){ + maxValue = (maxValue < Number(dataArg[j].data[i+1][1]) ? Number(dataArg[j].data[i+1][1]) : maxValue); + minValue = (minValue > Number(dataArg[j].data[i+1][1]) ? Number(dataArg[j].data[i+1][1]) : minValue); + } } } } let chartUnit=chartInfo.unit?chartInfo.unit:2; let unit=chartDataFormat.getUnit(chartUnit); + minValue=minValue>0?0:minValue; + maxValue=maxValue-minValue; maxValue=chartDataFormat.formatDatas(maxValue,unit.type,'ceil',unit.ascii); - minValue=chartDataFormat.formatDatas(minValue,unit.type,'floor',unit.ascii); let oldValue=maxValue; let dot=0; if(maxValue==1){ diff --git a/nezha-fronted/src/components/page/alert/list.vue b/nezha-fronted/src/components/page/alert/list.vue index 5a63c74ad..1441ba29f 100644 --- a/nezha-fronted/src/components/page/alert/list.vue +++ b/nezha-fronted/src/components/page/alert/list.vue @@ -315,6 +315,7 @@ methods: { labelsSort:function(obj){ let buildIn=['asset','endpoint','module','project','datacenter'] + console.log(obj) let labels=JSON.parse(JSON.stringify(obj)); let result=[]; for(let key of buildIn){ diff --git a/nezha-fronted/src/components/page/dashboard/explore/editor.vue b/nezha-fronted/src/components/page/dashboard/explore/editor.vue index fa0f64422..1ac5824bf 100644 --- a/nezha-fronted/src/components/page/dashboard/explore/editor.vue +++ b/nezha-fronted/src/components/page/dashboard/explore/editor.vue @@ -3,7 +3,7 @@
-
+
@@ -153,7 +153,6 @@ this.packageTypeInfo(); }else if(type == 'range'){ this.noStyleSuggestions={range:suggestions.getRateRange()} - this.showSuggestions=this.deepClone(this.noStyleSuggestions) } }, packageTypeInfo:function(){ @@ -267,7 +266,6 @@ this.$set(this.noStyleSuggestions,'metrics',this.tempStoreMetric) // this.$set(this.noStyleSuggestions,'operators',suggestions.getOperators()) this.$set(this.noStyleSuggestions,'functions',suggestions.getFunctions()) - this.showSuggestions=this.deepClone(this.noStyleSuggestions) }, queryValues:function(){ let labelValuesReg=/\{((\w*?(=|!=|=~|!~).*?,{0,1})+?)\}/ @@ -298,7 +296,6 @@ let values=this.labelValues.get(label); this.noStyleSuggestions={values:values} - this.showSuggestions=this.deepClone(this.noStyleSuggestions) } } }, @@ -362,11 +359,9 @@ }) this.noStyleSuggestions={labels:labels} - this.showSuggestions=this.deepClone(this.noStyleSuggestions); //console.log('change labels',this.showSuggestions) }else{ this.noStyleSuggestions={}; - this.showSuggestions=this.deepClone(this.noStyleSuggestions) } }) }, @@ -532,12 +527,12 @@ filterItems:function(input){ //过滤下拉选显示 let suggestions=this.deepClone(this.noStyleSuggestions) - let hasResolve=false; new Promise((resolve => { - let counter = 0; + let start = new Date().getTime(); + let result={}; this.orders.forEach(key=>{ let typeValues=suggestions[key]; - this.showSuggestions[key]=[]; + result[key]=[]; typeValues&&typeValues.forEach(item=>{ let index=item.insertText.toLowerCase().indexOf(input.toLowerCase()); //console.log('index',index,'input',input) @@ -549,20 +544,17 @@ let middle=label.substring(index,index+input.length) let suf=label.substring(index+input.length,label.length) item.label=`${pre}${middle}${suf}` - this.showSuggestions[key].push(item); - if(++counter > 20){ - hasResolve=true; - resolve(); - } + result[key].push(item); } }); - if(this.showSuggestions[key].length<1){ - delete this.showSuggestions[key] + if(result[key].length<1){ + delete result[key] } }) - if(!hasResolve){ - resolve(); - } + this.showSuggestions=result; + let end = new Date().getTime(); + console.log("filter time:",(end - start),'ms') + resolve(); })).then(()=>{ if(Object.keys(this.showSuggestions).length>0){ this.showType=true; diff --git a/nezha-fronted/src/components/page/dashboard/overview/chart.vue b/nezha-fronted/src/components/page/dashboard/overview/chart.vue index da7ae54d1..1e7440fc4 100644 --- a/nezha-fronted/src/components/page/dashboard/overview/chart.vue +++ b/nezha-fronted/src/components/page/dashboard/overview/chart.vue @@ -412,19 +412,22 @@ let maxValue=0; let minValue=0; if(chartInfo.unit &&dataArg.length>0){ - maxValue=dataArg[0].data[0][1]; - minValue=dataArg[0].data[0][1]; + maxValue=0; + minValue=0; for(let j = 0; j < dataArg.length ; j++){ for (let i = 0; i < dataArg[j].data.length - 1; i++) { - maxValue = (maxValue < Number(dataArg[j].data[i+1][1]) ? Number(dataArg[j].data[i+1][1]) : maxValue); - minValue = (minValue > Number(dataArg[j].data[i+1][1]) ? Number(dataArg[j].data[i+1][1]) : minValue); + if(dataArg[j].data[i+1][1]!=='NaN'){ + maxValue = (maxValue < Number(dataArg[j].data[i+1][1]) ? Number(dataArg[j].data[i+1][1]) : maxValue); + minValue = (minValue > Number(dataArg[j].data[i+1][1]) ? Number(dataArg[j].data[i+1][1]) : minValue); + } } } } let chartUnit=chartInfo.unit?chartInfo.unit:2; let unit=chartDataFormat.getUnit(chartUnit); + minValue=minValue>0?0:minValue; + maxValue=maxValue-minValue; maxValue=chartDataFormat.formatDatas(maxValue,unit.type,'ceil',unit.ascii); - minValue=chartDataFormat.formatDatas(minValue,unit.type,'floor',unit.ascii); let oldValue=maxValue; let dot=0; if(maxValue==1){ @@ -443,7 +446,6 @@ dot++; } let copies=chartDataFormat.copies(oldValue,unit.type); - // console.log(oldValue,copies,maxValue); let oldDot=2; if(maxValue<=1){ oldDot=dot>6?6:dot; @@ -456,7 +458,7 @@ unit, oldDot } - } + }, }, mounted() { this.chartInit(); diff --git a/nezha-fronted/src/components/page/dashboard/panel.vue b/nezha-fronted/src/components/page/dashboard/panel.vue index 320d74766..c7e7c0989 100644 --- a/nezha-fronted/src/components/page/dashboard/panel.vue +++ b/nezha-fronted/src/components/page/dashboard/panel.vue @@ -322,11 +322,28 @@ message: this.$t("tip.deleteSuccess") }); let chartList=this.$refs.chartList.dataList; + let nextChart=null,prevChart=null for (let i =0;i< chartList.length;i++){ if(chartList[i].id === data.id){ chartList.splice(i,1); - break; } + if(data.next != -1){ + if(chartList[i].id === data.next){ + nextChart = chartList[i] + } + } + if(data.prev != 0){ + if(chartList[i].id === data.prev){ + prevChart = chartList[i] + } + } + } + if(nextChart&&prevChart){ //删除图表为中间位置 + prevChart.next = nextChart.id; + nextChart.prev = prevChart.id; + }else{ + if(!nextChart) prevChart.next = -1; + if(!prevChart) nextChart.prev = 0; } // this.getTableData(); //删除相关图表后,刷新面板数据 } else { @@ -356,6 +373,7 @@ if(this.$refs.chartList){ this.$refs.chartList.initData(params); } + this.panelReloadOnlyPanel(); }, /*图表相关操作--end*/ diff --git a/nezha-fronted/static/template/en/asset-template.xlsx b/nezha-fronted/static/template/en/asset-template.xlsx deleted file mode 100644 index 26275ce29..000000000 Binary files a/nezha-fronted/static/template/en/asset-template.xlsx and /dev/null differ diff --git a/nezha-fronted/static/template/en/endpoint-template.xlsx b/nezha-fronted/static/template/en/endpoint-template.xlsx deleted file mode 100644 index d141ac4c1..000000000 Binary files a/nezha-fronted/static/template/en/endpoint-template.xlsx and /dev/null differ