hdw
2018-12-04 28dc7fc1a014617c6db614a8801c91e97290cd08
添加分页信息对象 用于计算分页数据
1个文件已添加
2个文件已修改
563 ■■■■■ 已修改文件
gx_tieta/WebRoot/bts-comm-task.jsp 505 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/index.jsp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/pages/js/mylayui.js 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/bts-comm-task.jsp
New file
@@ -0,0 +1,505 @@
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML>
<html>
    <head>
        <base href="<%=basePath%>">
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <title>设备连接信息</title>
        <link rel="stylesheet" type="text/css" href="pages/css/base.css">
        <link rel="stylesheet" type="text/css" href="jqueryui/jquery-ui.css">
        <link rel="stylesheet" type="text/css" href="src/css/layui.css">
        <link rel="stylesheet" type="text/css" href="pages/css/mylayui.css">
        <style>
            .dataTypeCont {
                width: 160px;
                text-align: center;
            }
            .dataTypeCont .layui-form-switch {
                min-width: 70px;
                margin-top: 4px;
            }
        </style>
    </head>
     <body>
         <!--头部内容开始-->
        <jsp:include page="Top.jsp" flush="true"/>
        <!--头部内容结束-->
        <!--导航开始-->
        <jsp:include page="nav.jsp" flush="true"/>
        <!-- 主体内容 -->
        <div class="layui-page-container">
            <!-- 条件筛选 -->
            <div class="layui-page-filter">
                <div class="page-filter-header layui-page-filter-fweight">机房站点升级功能</div>
                <div class="page-filter-content">
                    <table>
                        <tr class="layui-page-filter-tbl-header layui-page-filter-fweight">
                            <td>省</td>                        <!-- 省 -->
                            <td>市</td>                        <!-- 市 -->
                             <td>区/县</td>                        <!-- 市 -->
                            <td><s:text name="Computer_name"/></td>                            <!-- 机房名称 -->
                        </tr>
                        <tr>
                            <td>
                                <div class="layui-form" lay-filter="provinceFilter">
                                    <div class="layui-form-item">
                                        <div class="layui-input-block">
                                            <select name="province" id="province" lay-filter="province">
                                                <option value="">请选择省</option>
                                            </select>
                                        </div>
                                    </div>
                                </div>
                            </td>
                            <td>
                                <div class="layui-form" lay-filter="cityFilter">
                                    <div class="layui-form-item">
                                        <div class="layui-input-block">
                                            <select name="city" id="city" lay-filter="city">
                                                <option value="">请选择市/区</option>
                                            </select>
                                        </div>
                                    </div>
                                </div>
                            </td>
                             <td>
                                <div class="layui-form" lay-filter="countyFilter">
                                    <div class="layui-form-item">
                                        <div class="layui-input-block">
                                            <select name="county" id="county" lay-filter="county">
                                                <option value="">请选择区/县</option>
                                            </select>
                                        </div>
                                    </div>
                                </div>
                            </td>
                            <td>
                                <div class="layui-form" lay-filter="homeFilter">
                                    <div class="layui-form-item">
                                        <div class="layui-input-block">
                                            <select name="home" id="home" lay-filter="home">
                                                <option value="">请选择机房</option>
                                            </select>
                                        </div>
                                    </div>
                                </div>
                            </td>
                        </tr>
                    </table>
                </div>
            </div>
            <!-- 页面主题内容 -->
            <div class="layui-page-content" style="position: relative;">
                <!-- 表格内容 -->
                <table id="pageTbl" lay-filter="pageTbl"></table>
            </div>
            <div class="data-footer">
                <!-- 分页内容 -->
                <div id="paging">
                    <a href="javascript:" class="search"><s:text name="Search"/></a>        <!-- 查询 -->
                    <a href="javascript:" id="export_table"><s:text name="Export"/></a>        <!-- 导出 -->
                    <span id="current">1/1</span>
                    <span><s:text name="Each_page"/><input type="text" id="number" value="10"/><s:text name="Item"/></span>
                    <s:text name="Total_data"/><!-- 数据总量 --><span id="total">0</span>&nbsp;
                    <a href="javascript:" id="page_home"><s:text name="HomePage"/></a>
                    <a href="javascript:" id="page_pre"><s:text name="Page_Up"/></a>
                    <a href="javascript:" id="page_next_p"><s:text name="Page_Down"/></a>
                    <a href="javascript:" id="page_last"><s:text name="End_Page"/></a>
                    <span id="cont">
                        <s:text name="Goto"/><input type="text" id="page_num" value="1"/>
                        <a href="javascript:" id="page_go"><s:text name="Jump"/></a>
                    </span>
                </div>
            </div>
        </div>
        <script type="text/html" id="breakTypeTpl">
            {{# if(d.break_type == 0){ }}
                <span style="color: #01AAED">成功连接</span>
            {{# }else if(d.break_type == 1) { }}
                <span style="color: #FF5722">找不到对应设备ID</span>
            {{# }else if(d.break_type == 2) { }}
                <span style="color: #FF5722">通信异常断开</span>
            {{# }else { }}
                <span style="color: #FFB800">未知类型</span>
            {{# } }}
        </script>
        <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
        <script type="text/javascript" src="js/echarts.js"></script>
        <script type="text/javascript" src="jqueryui/jquery-ui.min.js"></script>
        <script type="text/javascript" src="src/layui.js"></script>
        <script type="text/javascript" src="pages/js/mylayui.js"></script>
        <script type="text/javascript">
            layui.use(['form', 'table', 'layer', 'element'], function() {
                var table = layui.table;        // 获取表格模块
                var form = layui.form;            // 获取表单模块
                var layer = layui.layer;        // 获取弹出框模块
                var element = layui.element;    // 获取元素操作模块
                var isNewLoad = true;
                var pre_province = getQueryString('province');
                // 查询省下拉框
                searchProvince();
                // 查询省
                var filterLoad = layer.load();
                function searchProvince() {
                    // 请求后台查询
                    $.ajax({
                        type:'post',
                        async:true,
                        url: 'User_battgroup_baojigroup_battgroupAction!serchStationName1InGroup',
                        data: null,
                        dataType: 'json',
                        success:function(result) {
                            var rs = JSON.parse(result.result);
                            var list = [];                // option结果集
                            var ele = $('#province');    // 目标select
                            if(rs.code == 1) {
                                var data = rs.data;
                                list.push(getLayuiSelect('请选择省/直辖市', '', {}, undefined));
                                // 遍历查询结果
                                for(var i=0; i<data.length; i++) {
                                    var _data = data[i];
                                    var _tmp = getLayuiSelect(_data, _data, {}, {});
                                    if(pre_province == _data && isNewLoad){
                                        _tmp = getLayuiSelect(_data, _data, {}, {},true);
                                    }
                                    list.push(_tmp);
                                }
                            }else {
                                list.push(getLayuiSelect('暂无省/直辖市', '', {}, undefined));
                            }
                            // 根据对象数组生成下拉列表
                            createLayuiSelect(ele, list);
                            form.render('select', 'provinceFilter');
                            // 查询市
                            searchCity();
                        }
                    });
                }
                // 切换省-市
                form.on('select(province)', function(data) {
                    // 查询市
                    searchCity(true);
                });
                // 查询市
                function searchCity(isLoad) {
                    // 构造查询条件
                    var tmp = {
                        StationName1: $("#province").val()
                    };
                    var pre_city = getQueryString('city');
                    // 是否添加等待
                    if(isLoad) {
                        filterLoad = layer.load();
                    }
                    // 根据构造条件查询内容
                    $.ajax({
                        type: 'post',
                        async: true,
                        url: 'BattInfAction!serchStationName2',
                        dataType: 'json',
                        data: "json = "+JSON.stringify(tmp),
                        success: function(result) {
                            var rs = JSON.parse(result.result);
                            var list = [];                // option结果集
                            var ele = $('#city');    // 目标select
                            if(rs.code == 1) {
                                var data = rs.data;
                                list.push(getLayuiSelect('请选择市/区', '', {}, undefined));
                                // 遍历查询结果
                                for(var i=0; i<data.length; i++) {
                                    var _data = data[i];
                                    var _tmp = getLayuiSelect(_data.StationName2, _data.StationName2, {}, _data);
                                    if(pre_city == _data.StationName2 && isNewLoad){
                                        _tmp = getLayuiSelect(_data.StationName2, _data.StationName2, {}, _data,true);
                                    }
                                    list.push(_tmp);
                                }
                            }else {
                                list.push(getLayuiSelect('暂无市/区', '', {}, undefined));
                            }
                            // 根据对象数组生成下拉列表
                            createLayuiSelect(ele, list);
                            form.render('select', 'cityFilter');
                            // 查询区县
                            searchCounty();
                        }
                    });
                }
                // 切换市-区县
                form.on('select(city)', function(data) {
                    // 查询区县
                    searchCounty(true);
                });
                // 查询区/县
                function searchCounty(isLoad) {
                    // 构造查询条件
                    var tmp = {
                        StationName1: $("#province").val(),
                        StationName2: $("#city").val()
                    };
                    // 是否添加等待
                    if(isLoad) {
                        filterLoad = layer.load();
                    }
                    var pre_county = getQueryString('county');
                    // 根据构造条件查询内容
                    $.ajax({
                        type: 'post',
                        async: true,
                        url: 'BattInfAction!serchStationName5',
                        dataType: 'json',
                        data: "json = "+JSON.stringify(tmp),
                        success: function(result) {
                            var rs = JSON.parse(result.result);
                            //console.info(rs);
                            var list = [];                // option结果集
                            var ele = $('#county');    // 目标select
                            if(rs.code == 1) {
                                var data = rs.data;
                                list.push(getLayuiSelect('请选择区/县', '', {}, undefined));
                                // 遍历查询结果
                                for(var i=0; i<data.length; i++) {
                                    var _data = data[i];
                                    var _tmp = getLayuiSelect(_data.StationName5, _data.StationName5, {}, _data);
                                    if(pre_county ==  _data.StationName5 && isNewLoad){
                                        _tmp = getLayuiSelect(_data.StationName5, _data.StationName5, {}, _data,true);
                                    }
                                    //console.info(_tmp);
                                    list.push(_tmp);
                                }
                            }else {
                                list.push(getLayuiSelect('暂无区/县', '', {}, undefined));
                            }
                            // 根据对象数组生成下拉列表
                            createLayuiSelect(ele, list);
                            form.render('select', 'countyFilter');
                            // 查询机房
                            searchHome();
                        }
                    });
                }
                // 切换市-区县
                form.on('select(county)', function(data) {
                    // 查询区县
                    searchHome(true);
                });
                // 查询机房
                function searchHome(isLoad) {
                    // 构造查询条件
                    var tmp = {
                        StationName1:$("#province").val(),
                        StationName2:$("#city").val(),
                        StationName5:$("#county").val(),
                    };
                    var pre_home = getQueryString('home');
                    var auto_seach = false;
                    // 是否添加等待
                    if(isLoad) {
                        filterLoad = layer.load();
                    }
                    // 根据构造条件查询内容
                    $.ajax({
                        type: 'post',
                        async: true,
                        url: 'BattInfAction!serchStationName3',
                        dataType: 'json',
                        data: "json = "+JSON.stringify(tmp),
                        success: function(result) {
                            var rs = JSON.parse(result.result);
                            var list = [];                // option结果集
                            var ele = $('#home');    // 目标select
                            if(rs.code == 1) {
                                var data = rs.data;
                                list.push(getLayuiSelect('请选择机房', '', {StationId: '', dev_id: ''}, undefined));
                                // 遍历查询结果
                                for(var i=0; i<data.length; i++) {
                                    var _data = data[i];
                                    var _attr = {
                                        StationId: _data.StationId,
                                        dev_id: _data.FBSDeviceId
                                    };
                                    var _tmp = getLayuiSelect(_data.StationName, _data.StationName3, _attr, _data);
                                    if(pre_home == _data.StationName && isNewLoad){
                                        _tmp = getLayuiSelect(_data.StationName, _data.StationName3, _attr, _data,true);
                                        auto_seach = true;
                                    }
                                    list.push(_tmp);
                                }
                            }else {
                                list.push(getLayuiSelect('暂无机房', '', {}, undefined));
                            }
                            // 根据对象数组生成下拉列表
                            createLayuiSelect(ele, list);
                            form.render('select', 'homeFilter');
                            isNewLoad = false;
                            layer.close(filterLoad);
                        }
                    });
                }
                // 表格模块
                var tOptions = {
                    elem: '#pageTbl'
                    ,toolbar: false
                    ,cellMinWidth: 80
                    ,cols: [[
                        {fileld: 'Staionanme', title: '机房名称', align: 'center', width: 380}
                        ,{field:'dev_id', title:'设备id', align:'center', width: 150}
                        ,{field:'battgroup_id1', title:'电池组1', align:'center', width: 150}
                        ,{field:'battgroup_id2', title:'电池组2', align:'center', width: 150}
                        ,{field:'battgroup_id3', title:'电池组3', align:'center', width: 150}
                        ,{field:'battgroup_id4', title:'电池组4', align:'center', width: 150}
                        ,{field:'connet_time', title:'设备连接时间', align:'center'}
                        ,{field: 'dev_comm_runtime', title: '设备运行时长', align: 'center'}
                        ,{field:'break_type_txt', title:'连接状态', align:'center', templet: '#breakTypeTpl', width: 150}
                    ]]
                    ,data:[
                        {'break_type': 1}
                    ]
                    ,limit: 1000
                    ,page: false
                    ,height: 'full-290'
                };
                // 生成表格数据
                table.render(tOptions);
                var Page = new TblPage();
                Page.set(1, 100, 10);
                //console.log(Page);
                // 查询后台数据
                search(createSearchParam(), true);
                function search(temp, newLoad) {
                    var load;
                    if(newLoad) {
                        load = layer.load(1)
                    }
                    console.log(temp);
                    setTimeout(function() {
                        setPageVal(Page);
                        layer.close(load);
                    }, 1000);
                }
                // 构造查询条件
                function createSearchParam() {
                    var sid = $('#home').attr('stationid')?$('#home').attr('stationid'): 0;
                    var temp = {
                        StationId: sid
                        ,page: Page.getPage()
                    };
                    return temp;
                }
                //首页
                $('#page_home').click(function(){
                    alert(123);
                    if(Page != undefined){
                        if(Page.curr != 1){
                            Page.setCurr(1);
                            search(createSearchParam(), true);
                        }
                    }
                });
                //点击上一页
                $("#page_pre").click(function(){
                    if(Page != undefined){
                        if(Page.curr > 1){
                            Page.setCurr(Page.curr-1);
                            search(createSearchParam(), true);
                        }
                    }
                });
                //点击下一页
                $("#page_next_p").click(function(){
                    if(Page != undefined){
                        if(Page.num > Page.curr){
                            Page.setCurr(Page.curr+1);
                            search(createSearchParam(), true);
                        }
                    }
                });
                //尾页
                $('#page_last').click(function(){
                    if(Page != undefined){
                        if(Page.pageCurr < Page.num){
                            Page.setCurr(Page.num);
                            search(createSearchParam(), true);
                        }
                    }
                });
                //设置每页行数
                $('#number').blur(function(){
                    var value=$('#number').val();
                    //当输入的数大于0时
                    if(value>0){
                        if(value != Page.pageSize){
                            Page.setSize(parseInt(value));
                            Page.setCurr(1);
                        }
                    }else{
                        //当输入非法数字时
                        alert("请输入合法的数字");                        /* 请输入合法的整数 */
                        $('#number').val(Page.size);
                    }
                });
                //点击跳转
                $('#page_go').click(function(){
                    var tarpage=$('#page_num').attr('value');
                    if(tarpage > Page.num){
                        Page.setCurr(Page.num);
                        search(createSearchParam(), true);
                    }else if(tarpage > 0 && tarpage!= Page.curr){
                        Page.setCurr(parseInt(tarpage));
                        search(createSearchParam(), true);
                    }
                });
                // 设置页面Page
                function setPageVal(page) {
                    $('#current').text(page.curr+'/'+page.num);
                    $('#total').text(page.all);
                }
            });
        </script>
    </body>
</html>
gx_tieta/WebRoot/index.jsp
@@ -2637,7 +2637,7 @@
                        bmap.updateDots(_list);
                    }
                }
                console.log(updateStationData);
                //console.log(updateStationData);
                updateMapDotIcon(map, updateStationData, true);
                // 更新分页信息
                mapPages.pageCurr++;
gx_tieta/WebRoot/pages/js/mylayui.js
@@ -58,4 +58,58 @@
    RegExp.$1.length==1? o[k] :
    ("00"+ o[k]).substr((""+ o[k]).length));
    return format;
};
};
// 页面中分页信息对象
var TblPage = function() {
    this.size = 10;
    this.curr = 1;
    this.all = 0;
    this.num = 1;
};
// 初始化分页信息对象
TblPage.prototype.init = function() {
    this.size = 10;
    this.curr = 1;
    this.all = 0;
    this._setNum();
};
// 设置分页信息对象
TblPage.prototype.set = function(curr, all, size) {
    this.size = size;
    this.curr = curr;
    this.all = all;
    this._setNum();
};
TblPage.prototype.getPage = function() {
    var temp = {
        pageSize: this.size
        ,pageCurr: this.curr
        ,pageAll: this.all
    };
    return temp;
};
// 设置分页信息的当前页
TblPage.prototype.setCurr = function(curr) {
    this.curr = curr;
};
//设置分页信息的每页显示的条数
TblPage.prototype.setSize = function(size) {
    this.size = size;
    this._setNum();
};
//设置分页信息的总条数
TblPage.prototype.setAll = function(all) {
    this.all = all;
    this._setNum();
};
// 设置共有多少页
TblPage.prototype._setNum = function() {
    this.num = Math.ceil(this.all/this.size);
}