平台管理首页显示图表,但是调整浏览器窗口大小时,图表不会随着窗口的变化而变化。
解决代码:
首先定义变量
data(){
return{
pieChart:null,
statusChart:null
}
}
在methods里面创建图表
methods:{
//请求数据
statusProportion(type){
_this.listFunctionData('efficient.gdzc_zctj_zhuangtaihuizong').then((res) => {
if(res.code == 200 && res.data.rows.length>0){
if(type == 'shuliang'){
createEcharts('status_charts','数量',res.data.rows);
}else if(type == 'jine'){
createEcharts('status_charts','金额',res.data.rows);
}
}
})
},
//创建饼图
createEcharts(selector,name,result){
let option = {
tooltip:{},
legend:{
orient: 'vertical',
left: 'right'
},
series:[{
name:name,
type:'pie',
data:result,
label:{
show:true,
formatter: '{b}\n{c}',
padding:[0,-55]
},
labelLine: {
length: 20,
length2:50
}
}]
};
//初始化实例
if(selector == 'fl_charts'){
this.pieChart = echarts.init(document.getElementById(selector));
this.pieChart.setOption(option);
}else if(selector == 'status_charts'){
this.statusChart = echarts.init(document.getElementById(selector));
this.statusChart.setOption(option);
}
}
}
在mounted里面
mounted(){
let _this = this;
//窗口变化
window.onresize =() =>{
return (()=>{
_this.pieChart.resize();
_this.statusChart.resize();
_this.barChart.resize();
})
};
}