Echarts报表动态加载

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" xmlns:layout=""
    layout:decorator="layout_new">
<head>
<meta charset="UTF-8" />
<!-- 引入 ECharts 文件 -->
<script th:src="@{/js/jquery.min.js}"></script>
<script th:src="@{/date/laydate.js}"></script>
<script th:src="@{/echarts/jQuery-jcDate.js}"></script>
<script th:src="@{/echarts/echarts.js}" charset="utf-8"></script>
<script th:src="@{/echarts/theme/infographic.js}" charset="utf-8"></script>

</head>
<body>
    <div class="row J_mainContent" id="content-main"
        layout:fragment="content">

        <div class="wrapper wrapper-content  ">

            <div class="row">
                <div class="col-sm-12">
                    <div class="ibox float-e-margins">
                        <div class="ibox-title">
                            <h5>
                                <i class="fa fa-tasks"></i> <a th:text="${menuName}">统计图表</a>
                            </h5>
                            <p class="pull-right">
                                <button type="button" class="btn btn-primary btn-xs"
                                    onclick="javascript:window.location.href=window.location.href;">
                                    <i class="fa fa-refresh"></i> 刷新
                                </button>
                                &nbsp;
                            </p>
                        </div>


                    </div>
                    <div class="ibox float-e-margins">
                        <div class="ibox-content">
                            <form class="form-horizontal clearfix" id="searchForm"
                                method="get" th:action="@{/Echarts/}">
                                <div class="form-group col-xs-12 col-sm-6 col-md-3">
                                    <label class="col-sm-4 control-label">旧版本名称</label>
                                    <div class="col-sm-8">
                                        <select id="previous_version_name" name="previous_version_name"
                                            class="form-control">
                                            <option value="">请选择</option>
                                            <option value="JJ01">JJ01</option>
                                            <option value="JJ02">JJ012</option>
                                            <option value="JJ03">JJ03</option>
                                            <option value="JJ05">JJ05</option>
                                            <option value="JJ07">JJ07</option>
                                        </select>
                                    </div>
                                </div>

                                <div class="form-group col-xs-12 col-sm-6 col-md-3">
                                    <label class="col-sm-4 control-label">新版本名称</label>
                                    <div class="col-sm-8">
                                        <select id="new_version_name" name="new_version_name"
                                            class="form-control">
                                            <option value="">请选择</option>
                                            <option value="J1-otaA-all-00502001">J1-otaA-all-00502001</option>
                                            <option value="J1-ota-all-00502001">J1-ota-all-00502001</option>

                                        </select>

                                    </div>
                                </div>

                                <div class="form-group col-xs-12 col-sm-6 col-md-3">
                                    <label class="col-sm-4 control-label tr">起始时间</label>

                                    <div class="col-sm-8">
                                        <input class="inline laydate-icon" placeholder="开始日期"
                                            id="start" name="start" /> <input
                                            class="inline laydate-icon" placeholder="结束日期" id="end"
                                            name="end" />
                                    </div>
                                </div>


                                <div class="form-group col-xs-12 col-sm-6 col-md-3">
                                    <div class="col-sm-12 col-sm-offset-2">
                                        <button class="btn btn-primary" type="button"
                                            onclick="search()">查询</button>
                                    </div>
                                </div>
                            </form>
                            <hr />
                        </div>
                    </div>
                </div>
            </div>


            <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
            <div id="main" style="width: auto; height: 400px;"></div>
            <script type="text/javascript">
                // 基于准备好的dom,初始化echarts实例

                search();
                function search() {
                    var start = $("#start").val();
                    var end = $("#end").val();
                    var previous_version_name = $("#previous_version_name").val();
                    var new_version_name = $("#new_version_name").val();
                    var myChart = echarts.init(document.getElementById('main'),
                            'infographic');
                    myChart.setOption({
                        title : {
                            text : '升级情况'
                        },
                        tooltip : {
                            trigger : 'axis'
                        },
                        legend : {
                            data : [ '升级成功', '升级失败' ]
                        },
                        grid : {
                            left : '3%',
                            right : '4%',
                            bottom : '3%',
                            containLabel : true
                        },
                        toolbox : {
                            show : true,
                            feature : {
                                dataZoom : {
                                    yAxisIndex : 'none'
                                },
                                dataView : {
                                    readOnly : false
                                },
                                magicType : {
                                    type : [ 'line', 'bar' ]
                                },
                                restore : {},
                                saveAsImage : {}
                            }
                        },
                        xAxis : {
                            type : 'category',
                            boundaryGap : false,
                            data : []
                        },
                        yAxis : {
                            type : 'value'
                        },
                        series : []
                    });

                    var date = []; //类别数组(实际用来盛放X轴坐标值)
                    var success_nums = []; //销量数组(实际用来盛放Y坐标值)
                    var errnum = []; //升级失败
                    $.ajax({
                        type : "post",
                        async : true, //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
                        url : "/Echarts/echarts", //请求发送到TestServlet处
                        data : {
                            start : start,
                            end : end,
                            new_version_name : new_version_name,
                            previous_version_name : previous_version_name
                        },
                        dataType : "json", //返回数据形式为json
                        success : function(result) {
                            //请求成功时执行该函数内容,result即为服务器返回的json对象
                            if (result == "") {
                                swal("提示!", "暂无数据", "warning");
                                return;
                            }
                            if (result) {
                                for ( var i in result) {
                                    date.push(result[i].in_date);
                                }
                                for ( var j in result) {
                                    success_nums.push(result[j].count);
                                }
                                for ( var y in result) {
                                    errnum.push(result[y].errnum);
                                }
                                myChart.setOption({ //加载数据图表
                                    xAxis : {
                                        data : date
                                    },
                                    series : [ {
                                        name : '升级成功',
                                        type : 'line',
                                        data : success_nums
                                    }, {
                                        name : '升级失败',
                                        type : 'line',
                                        data : errnum
                                    }, ]
                                });
                            }
                        },
                        error : function(errorMsg) {
                            //请求失败时执行该函数
                            swal("错误!", "图表请求数据失败!", "error");
                            myChart.hideLoading();
                        }
                    })
                }
                !function() {
                    laydate.skin('molv');//切换皮肤,库
                    laydate({
                        elem : '#demo'
                    });//绑定元素
                }();

                //日期范围限制
                var start = {
                    elem : '#start',
                    format : 'YYYY-MM-DD hh:mm:ss',
                    //min: laydate.now(), //设定最小日期为当前日期
                    max : laydate.now(), //最大日期
                    istime : true,
                    istoday : false,
                    choose : function(datas) {
                        end.min = datas; //开始日选好后,重置结束日的最小日期
                        end.start = datas //将结束日的初始值设定为开始日
                    }
                };

                var end = {
                    elem : '#end',
                    format : 'YYYY-MM-DD hh:mm:ss',
                    //min: laydate.now(),
                    max : laydate.now(), //设定最大日期为当前日期
                    //max: '2099-06-16',
                    istime : true,
                    istoday : false,
                    choose : function(datas) {
                        start.max = datas; //结束日选好后,充值开始日的最大日期
                    }
                };
                laydate(start);
                laydate(end);
            </script>
        </div>

    </div>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值