echarts饼图钻取方案

1.渲染函数里增加参数URL,指定钻取使用的网址。

renderPie({ec:ec,id:'KD',text:'幼儿园设备分布',data:['无设备','DVR','NVR','DVR+NVR'],value:eval('${KDNum}'),unit:'所',url:"${ctx}/system/statistics/userpie/KD.do"});

2.渲染函数里,检查是否有URL参数,有则实现点击事件,为了区分点的部位,我们使用参数param里的name变量做URL的参数。

function renderPie(indexs){

 // 基于准备好的dom,初始化echarts图表

    var myChart = indexs.ec.init(document.getElementById(indexs.id)); 

    var option = getOption({text:indexs.text,data:indexs.data,value:indexs.value,unit:indexs.unit});

    // 为echarts对象加载数据 

    myChart.setOption(option); 

    if(indexs.url!=null && indexs.url!=''){

        var ecConfig = require('echarts/config');

        myChart.on(ecConfig.EVENT.CLICK, function(param){

        var url=indexs.url+"?name="+param.name;

        art.dialog.open(url,{title: param.name, width: 900, height: 450,lock:true});

        });

    }

}

3.服务器端根据name参数进行查询,得到不同的数据并在网页显示。

                String name = request.getParameter("name");

Page page = getPage(request);

 

String NVR="=",DVR="=";

if(name!=null){

if(name.contains("NVR")) NVR=">";

if(name.contains("DVR")) DVR=">";

}

 

Map index = new HashMap();

index.put("NVR", NVR);

index.put("DVR", DVR);

index.put("page", page);

List<Map> kindergartens = statisticsService.getKD(index);

page.setList(kindergartens);

model.addAttribute("page", page);

model.addAttribute("name", name);

 

return "system/statistics/userpie/KD";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值