1. 程式人生 > >springboot動態載入Echarts柱狀圖

springboot動態載入Echarts柱狀圖

第一次寫部落格,廢話不多說,直接上程式碼

後臺程式碼

@RequestMapping("/rcbchart")
    @ResponseBody
    private String dwcb(@RequestParam("scrq1") String scrq1,@RequestParam("scrq2") String scrq2,
                        @RequestParam("dwmc") String dwmc) throws ParseException {
        List category = new ArrayList();      //存放Echart柱狀圖的category
        List value = new ArrayList();         //存放Echart柱狀圖的data

        List<ViewNyDwrcb> list = rcbService.findSearchRcb(scrq1,scrq2,dwmc);
        for(ViewNyDwrcb item : list){
            category.add(item.getScrq());
            value.add(item.getRcb());
        }

        String categorydata = JSON.toJSONString(category);  //將list集合轉換為json陣列
        String valuedata = JSON.toJSONString(value);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("categorydata",categorydata);
        jsonObject.put("valuedata",valuedata);
        jsonObject.put("dwmc",dwmc);

        String result = JSON.toJSONString(jsonObject);

        return result;
    }

 前臺程式碼

<!-- 為ECharts準備一個具備大小(寬高)的Dom -->
<div id="main" style="width: 500px; height:400px;"></div>
<script>
    $("#mybtn").click(function(){
    // 基於準備好的dom,初始化echarts圖表
    var main = echarts.init(document.getElementById('main'));
    //顯示載入動畫
    main.showLoading();
    var scrq1 = document.getElementById('scrq1').value;
    var scrq2 = document.getElementById('scrq2').value;
    var dwmc = document.getElementById('dwmc').value;
    $.ajax({
        type:"POST",
        cache:false,
        url:"/rcbchart",
        data:{"scrq1": scrq1,"scrq2": scrq2,"dwmc": dwmc},
        dataType: "json",
        success:function (result) {
            var valuedata = JSON.parse(result.valuedata);
            var categorydata = JSON.parse(result.categorydata);
            main.hideLoading();
            main.setOption({
                tooltip: {
                    trigger: 'axis',
                    axisPointer: {
                        type: 'shadow'
                    }
                },

                grid: {
                    left: '3%',
                    right: '4%',
                    bottom: '3%',
                    containLabel: true
                },
                xAxis: {
                    type: 'value',
                    boundaryGap: [0, 0.01]
                },
                yAxis: {
                    type: 'category',
                    data: categorydata
                },
                series: [
                    {
                        name: result.dwmc,
                        type: 'bar',
                        data: valuedata
                    }
                ]
            })
        }
    })
    });
</script>

效果圖