perf: echarts性能优化
This commit is contained in:
@@ -389,7 +389,7 @@
|
|||||||
show:true,
|
show:true,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
console.info(labels);
|
//console.info(labels);
|
||||||
return labels;
|
return labels;
|
||||||
},
|
},
|
||||||
replaceSplit(key){
|
replaceSplit(key){
|
||||||
|
|||||||
@@ -1119,14 +1119,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
computeDistance:function(str){
|
computeDistance:function(str){
|
||||||
var width = 0;
|
let span = document.querySelector(".temp-dom");
|
||||||
var html = document.createElement('span');
|
span.textContent = str;
|
||||||
html.innerText = str;
|
let txtWidth = parseFloat(window.getComputedStyle(span).width);
|
||||||
html.className = 'getTextWidth';
|
return Number('-'+(txtWidth+5));
|
||||||
document.querySelector('body').appendChild(html);
|
|
||||||
width = document.querySelector('.getTextWidth').offsetWidth;
|
|
||||||
document.querySelector('.getTextWidth').remove();
|
|
||||||
return Number('-'+(width+5));
|
|
||||||
},
|
},
|
||||||
modelStaticData(chartInfo, filterType) {
|
modelStaticData(chartInfo, filterType) {
|
||||||
let series = [];
|
let series = [];
|
||||||
|
|||||||
@@ -649,9 +649,9 @@ export default {
|
|||||||
while(value<1){
|
while(value<1){
|
||||||
pow++;
|
pow++;
|
||||||
value=value*10;
|
value=value*10;
|
||||||
console.log(value);
|
//console.log(value);
|
||||||
}
|
}
|
||||||
console.log( Math.floor(value+1)/Math.pow(10,pow));
|
//console.log( Math.floor(value+1)/Math.pow(10,pow));
|
||||||
return Math.floor(value+1)/Math.pow(10,pow);
|
return Math.floor(value+1)/Math.pow(10,pow);
|
||||||
}
|
}
|
||||||
if(type ==='Time'){
|
if(type ==='Time'){
|
||||||
|
|||||||
@@ -433,22 +433,6 @@
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
//计算宽度
|
//计算宽度
|
||||||
/*var span = document.createElement("span");
|
|
||||||
var result = {};
|
|
||||||
result.width = span.offsetWidth;
|
|
||||||
result.height = span.offsetHeight;
|
|
||||||
span.style.visibility = "hidden";
|
|
||||||
span.style.fontSize = 14;
|
|
||||||
span.style.fontFamily = "Arial";
|
|
||||||
span.style.display = "inline-block";
|
|
||||||
document.body.appendChild(span);
|
|
||||||
if(typeof span.textContent != "undefined"){
|
|
||||||
span.textContent = name;
|
|
||||||
}else{
|
|
||||||
span.innerText = name;
|
|
||||||
}
|
|
||||||
var txtWidth = parseFloat(window.getComputedStyle(span).width) - result.width;
|
|
||||||
document.body.removeChild(span);*/
|
|
||||||
let span = document.querySelector(".temp-dom");
|
let span = document.querySelector(".temp-dom");
|
||||||
span.textContent = name;
|
span.textContent = name;
|
||||||
let txtWidth = parseFloat(window.getComputedStyle(span).width) - this.tempDom.width;
|
let txtWidth = parseFloat(window.getComputedStyle(span).width) - this.tempDom.width;
|
||||||
@@ -618,9 +602,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
formatter:function(params){
|
formatter:function(params){
|
||||||
//display:inline-block;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;
|
|
||||||
let str = `<div>`;
|
let str = `<div>`;
|
||||||
//let str = `<div style='white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;min-width:150px;max-width:600px;display:inline-block;line-height: 18px;font-size:12px;font-family: Roboto,Helvetica Neue,Arial,sans-serif;'>`;
|
|
||||||
let sum = 0;
|
let sum = 0;
|
||||||
params.forEach((item, i) => {
|
params.forEach((item, i) => {
|
||||||
let tip=legend[item.seriesIndex];
|
let tip=legend[item.seriesIndex];
|
||||||
@@ -1031,23 +1013,9 @@
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
//计算宽度
|
//计算宽度
|
||||||
var span = document.createElement("span");
|
let span = document.querySelector(".temp-dom");
|
||||||
var result = {};
|
span.textContent = name;
|
||||||
result.width = span.offsetWidth;
|
let txtWidth = parseFloat(window.getComputedStyle(span).width) - this.tempDom.width;
|
||||||
result.height = span.offsetHeight;
|
|
||||||
span.style.visibility = "hidden";
|
|
||||||
span.style.fontSize = 14;
|
|
||||||
span.style.fontFamily = "Arial";
|
|
||||||
span.style.display = "inline-block";
|
|
||||||
document.body.appendChild(span);
|
|
||||||
if(typeof span.textContent != "undefined"){
|
|
||||||
span.textContent = str;
|
|
||||||
}else{
|
|
||||||
span.innerText = str;
|
|
||||||
}
|
|
||||||
var txtWidth = parseFloat(window.getComputedStyle(span).width) - result.width;
|
|
||||||
document.body.removeChild(span);
|
|
||||||
|
|
||||||
if(txtWidth < chartWidth){
|
if(txtWidth < chartWidth){
|
||||||
return str;
|
return str;
|
||||||
}else {
|
}else {
|
||||||
@@ -1418,14 +1386,10 @@
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
computeDistance:function(str){
|
computeDistance:function(str){
|
||||||
var width = 0;
|
let span = document.querySelector(".temp-dom");
|
||||||
var html = document.createElement('span');
|
span.textContent = str;
|
||||||
html.innerText = str;
|
let txtWidth = parseFloat(window.getComputedStyle(span).width);
|
||||||
html.className = 'getTextWidth';
|
return Number('-'+(txtWidth+5));
|
||||||
document.querySelector('body').appendChild(html);
|
|
||||||
width = document.querySelector('.getTextWidth').offsetWidth;
|
|
||||||
document.querySelector('.getTextWidth').remove();
|
|
||||||
return Number('-'+(width+5));
|
|
||||||
},
|
},
|
||||||
showLoad(chartItem) {
|
showLoad(chartItem) {
|
||||||
//设置高度
|
//设置高度
|
||||||
@@ -1482,8 +1446,8 @@
|
|||||||
loadMore(){
|
loadMore(){
|
||||||
this.seriesItemArr=this.seriesItem;
|
this.seriesItemArr=this.seriesItem;
|
||||||
this.legendListMore=this.legendList;
|
this.legendListMore=this.legendList;
|
||||||
console.log(this.seriesItem,'irate(mysql_global_status_commands_total[5m])>0');
|
//console.log(this.seriesItem,'irate(mysql_global_status_commands_total[5m])>0');
|
||||||
console.log(this.data);
|
//console.log(this.data);
|
||||||
let chartInfo=this.data;
|
let chartInfo=this.data;
|
||||||
let dataArg=this.seriesItem;
|
let dataArg=this.seriesItem;
|
||||||
let maxValueCopies = this.getMaxValue(dataArg,chartInfo);
|
let maxValueCopies = this.getMaxValue(dataArg,chartInfo);
|
||||||
|
|||||||
@@ -103,13 +103,13 @@ export const scrollBar = {
|
|||||||
const { arg } = binding;
|
const { arg } = binding;
|
||||||
if (arg === "el-table") {
|
if (arg === "el-table") {
|
||||||
el = el.querySelector(".el-table__body-wrapper");
|
el = el.querySelector(".el-table__body-wrapper");
|
||||||
!el && console.warn("未发现className为el-table__body-wrapper的dom");
|
//!el && console.warn("未发现className为el-table__body-wrapper的dom");
|
||||||
} else if (arg === "el-dropdown") {
|
} else if (arg === "el-dropdown") {
|
||||||
el = document.querySelector(".el-dropdown-menu");
|
el = document.querySelector(".el-dropdown-menu");
|
||||||
!el && console.warn("未发现className为el-dropdown-menu的dom");
|
//!el && console.warn("未发现className为el-dropdown-menu的dom");
|
||||||
} else if (arg == "legend") {
|
} else if (arg == "legend") {
|
||||||
el = el.querySelector(".legend-container");
|
el = el.querySelector(".legend-container");
|
||||||
!el && console.warn("未发现className为legend-container的dom");
|
//!el && console.warn("未发现className为legend-container的dom");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 启用x轴后不让原生滚动条出来作乱
|
// 启用x轴后不让原生滚动条出来作乱
|
||||||
@@ -117,11 +117,11 @@ export const scrollBar = {
|
|||||||
vnode.context.$nextTick(() => {
|
vnode.context.$nextTick(() => {
|
||||||
if (arg === "xterm") {
|
if (arg === "xterm") {
|
||||||
el = el.querySelector(".xterm-viewport");
|
el = el.querySelector(".xterm-viewport");
|
||||||
!el && console.warn("未发现className为xterm-viewport的dom");
|
//!el && console.warn("未发现className为xterm-viewport的dom");
|
||||||
}
|
}
|
||||||
if(arg==="metric-label-cascader"){
|
if(arg==="metric-label-cascader"){
|
||||||
el = el.querySelector(".el-cascader__tags");
|
el = el.querySelector(".el-cascader__tags");
|
||||||
!el && console.warn("未发现className为el-cascader__tags的dom");
|
//!el && console.warn("未发现className为el-cascader__tags的dom");
|
||||||
}
|
}
|
||||||
el.classList.add("ps");
|
el.classList.add("ps");
|
||||||
el.addEventListener("ps-scroll-y", () => {
|
el.addEventListener("ps-scroll-y", () => {
|
||||||
@@ -134,30 +134,30 @@ export const scrollBar = {
|
|||||||
el_scrollBar(el);
|
el_scrollBar(el);
|
||||||
});
|
});
|
||||||
|
|
||||||
const rules = ["fixed", "absolute", "relative"];
|
/*const rules = ["fixed", "absolute", "relative"];
|
||||||
if (!rules.includes(window.getComputedStyle(el, null).position)) {
|
if (!rules.includes(window.getComputedStyle(el, null).position)) {
|
||||||
console.error(
|
console.error(
|
||||||
`perfect-scrollbar所在的容器的position属性必须是以下之一:${rules.join(
|
`perfect-scrollbar所在的容器的position属性必须是以下之一:${rules.join(
|
||||||
"、"
|
"、"
|
||||||
)}`
|
)}`
|
||||||
);
|
);
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
componentUpdated(el, binding, vnode, oldVnode) {
|
componentUpdated(el, binding, vnode, oldVnode) {
|
||||||
const { arg, value } = binding;
|
const { arg, value } = binding;
|
||||||
if (arg === "el-table") {
|
if (arg === "el-table") {
|
||||||
el = el.querySelector(".el-table__body-wrapper");
|
el = el.querySelector(".el-table__body-wrapper");
|
||||||
!el && console.warn("未发现className为el-table__body-wrapper的dom");
|
//!el && console.warn("未发现className为el-table__body-wrapper的dom");
|
||||||
} else if (arg === "el-dropdown") {
|
} else if (arg === "el-dropdown") {
|
||||||
el = document.querySelector(".el-dropdown-menu");
|
el = document.querySelector(".el-dropdown-menu");
|
||||||
!el && console.warn("未发现className为el-dropdown-menu的dom");
|
//!el && console.warn("未发现className为el-dropdown-menu的dom");
|
||||||
}else if (arg === "xterm") {
|
}else if (arg === "xterm") {
|
||||||
el = el.querySelector(".xterm-viewport");
|
el = el.querySelector(".xterm-viewport");
|
||||||
!el && console.warn("未发现className为xterm-viewport的dom");
|
//!el && console.warn("未发现className为xterm-viewport的dom");
|
||||||
}else if(arg==="metric-label-cascader"){
|
}else if(arg==="metric-label-cascader"){
|
||||||
el = el.querySelector(".el-cascader__tags");
|
el = el.querySelector(".el-cascader__tags");
|
||||||
!el && console.warn("未发现className为el-cascader__tags的dom");
|
//!el && console.warn("未发现className为el-cascader__tags的dom");
|
||||||
}
|
}
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
el.classList.add("ps");
|
el.classList.add("ps");
|
||||||
@@ -201,8 +201,7 @@ export const bottomBoxWindow = {
|
|||||||
let subInitialHeight = subListDom.offsetHeight+resizeBarHeight;
|
let subInitialHeight = subListDom.offsetHeight+resizeBarHeight;
|
||||||
|
|
||||||
mainModalDom.style.display = "block";
|
mainModalDom.style.display = "block";
|
||||||
resizeModalDom.style.height = `${subInitialHeight}px`;
|
resizeModalDom.style.cssText = `height: ${subInitialHeight}px; display: block;`;
|
||||||
resizeModalDom.style.display = "block";
|
|
||||||
resizeBarDom.style.display = "none";
|
resizeBarDom.style.display = "none";
|
||||||
let resizeModalEndHeight;
|
let resizeModalEndHeight;
|
||||||
//点击时鼠标的Y轴位置
|
//点击时鼠标的Y轴位置
|
||||||
@@ -292,7 +291,6 @@ export const bottomBoxWindow = {
|
|||||||
},
|
},
|
||||||
showSubListWatch(vm, n) {
|
showSubListWatch(vm, n) {
|
||||||
vm.bottomBox.inTransform = n;
|
vm.bottomBox.inTransform = n;
|
||||||
console.info(vm.bottomBox.inTransform)
|
|
||||||
if (!n) {
|
if (!n) {
|
||||||
vm.mainTableHeight = vm.$tableHeight.normal; //重置table的高度
|
vm.mainTableHeight = vm.$tableHeight.normal; //重置table的高度
|
||||||
vm.tools.toTopBtnTop = vm.$tableHeight.toTopBtnTop;
|
vm.tools.toTopBtnTop = vm.$tableHeight.toTopBtnTop;
|
||||||
|
|||||||
Reference in New Issue
Block a user