fix:多次无用加载修复

This commit is contained in:
wangwenrui
2020-05-28 18:29:15 +08:00
parent 950eba43ee
commit 764eb82bd7

View File

@@ -576,60 +576,62 @@ export default {
} }
let axiosArr=[]; let axiosArr=[];
let paramStr = JSON.stringify(this.promQueryParamConvert(this.currentMsg)); let paramStr = JSON.stringify(this.promQueryParamConvert(this.currentMsg));
axiosArr.push(axios.get("/prom/api/v1/query_range?query="+paramStr.substring(1, paramStr.length-1).replace(/\+/g, "%2B").replace(/ /g, "%20").replace(/\\/g, "")+"&start="+this.$stringTimeParseToUnix(start)+"&end="+this.$stringTimeParseToUnix(end)+"&step="+step)); if(paramStr&&paramStr.trim()!='""'){
this.legend = []; axiosArr.push(axios.get("/prom/api/v1/query_range?query="+paramStr.substring(1, paramStr.length-1).replace(/\+/g, "%2B").replace(/ /g, "%20").replace(/\\/g, "")+"&start="+this.$stringTimeParseToUnix(start)+"&end="+this.$stringTimeParseToUnix(end)+"&step="+step));
this.chartDatas = []; this.legend = [];
axios.all(axiosArr).then(res =>{ this.chartDatas = [];
try { axios.all(axiosArr).then(res =>{
res.forEach((response, promIndex) => { try {
if (response.status == 200) { res.forEach((response, promIndex) => {
if (response.data.status == 'success') { if (response.status == 200) {
let queryData = response.data.data.result[0]; if (response.data.status == 'success') {
if (queryData) { let queryData = response.data.data.result[0];
let chartData = { if (queryData) {
type: "line", let chartData = {
symbol: 'none', //去掉点 type: "line",
smooth: 0.2, //曲线变平滑 symbol: 'none', //去掉点
name: '' smooth: 0.2, //曲线变平滑
}; name: ''
chartData.name += "{"; };
alias += "{"; chartData.name += "{";
Object.keys(queryData.metric).forEach((item, index) => { alias += "{";
let label = item; Object.keys(queryData.metric).forEach((item, index) => {
let value = queryData.metric[label]; let label = item;
chartData.name += label + "='" + value + "',"; let value = queryData.metric[label];
}); chartData.name += label + "='" + value + "',";
chartData.name = chartData.name.charAt(chartData.name.length - 1) == "," ? chartData.name.substr(0, chartData.name.length - 1) : chartData.name; });
chartData.name += "}"; chartData.name = chartData.name.charAt(chartData.name.length - 1) == "," ? chartData.name.substr(0, chartData.name.length - 1) : chartData.name;
let alias = chartData.name; chartData.name += "}";
let legend = { let alias = chartData.name;
name: chartData.name, let legend = {
alias: alias, name: chartData.name,
isGray: false alias: alias,
isGray: false
}
this.legend.push(legend);
chartData.data = queryData.values.map((dpsItem, dpsIndex) => {
return [bus.computeTimezone(dpsItem[0]) * 1000, parseFloat(dpsItem[1]).toFixed(2)];
});
this.chartDatas.push(chartData);
} }
this.legend.push(legend); } else {
chartData.data = queryData.values.map((dpsItem, dpsIndex) => { this.$message.error(response.data.error)
return [bus.computeTimezone(dpsItem[0]) * 1000, parseFloat(dpsItem[1]).toFixed(2)]; console.error(response.data)
});
this.chartDatas.push(chartData);
} }
} else {
this.$message.error(response.data.error)
console.error(response.data)
} }
} });
}); this.$nextTick(() => {
this.$nextTick(() => { this.$refs.messageChart.setRandomColors(this.chartDatas.length);
this.$refs.messageChart.setRandomColors(this.chartDatas.length); this.$refs.messageChart.setLegend(this.legend);
this.$refs.messageChart.setLegend(this.legend); this.$refs.messageChart.setSeries(this.chartDatas);
this.$refs.messageChart.setSeries(this.chartDatas); this.$refs.messageChart.endLoading();
});
} catch(err) {
this.$message.error(err);
this.$refs.messageChart.endLoading(); this.$refs.messageChart.endLoading();
}); }
} catch(err) { })
this.$message.error(err); }
this.$refs.messageChart.endLoading();
}
})
}, },
getAlertList: function (filterType) { getAlertList: function (filterType) {
let queryParam={ let queryParam={
@@ -669,7 +671,7 @@ export default {
this.storedTableData.forEach((item) => { this.storedTableData.forEach((item) => {
item.labels = JSON.parse(item.labels); item.labels = JSON.parse(item.labels);
let paramStr = JSON.stringify(this.promQueryParamConvert(item)); let paramStr = JSON.stringify(this.promQueryParamConvert(item));
if(paramStr&& paramStr !=''){ if(paramStr&& paramStr !='""'){
this.$get('/prom/api/v1/query?query=' + paramStr.substring(1, paramStr.length-1).replace(/\+/g, "%2B").replace(/ /g, "%20").replace(/\\/g, "")).then(response2 => { this.$get('/prom/api/v1/query?query=' + paramStr.substring(1, paramStr.length-1).replace(/\+/g, "%2B").replace(/ /g, "%20").replace(/\\/g, "")).then(response2 => {
let current = []; let current = [];
if (response2.data && response2.data.result && response2.data.result.length > 0) { if (response2.data && response2.data.result && response2.data.result.length > 0) {