hdw
2018-10-19 93b5c564dc708050f7f8586ae2b5888d8502f0a1
添加面板
1个文件已添加
2个文件已修改
828 ■■■■■ 已修改文件
gx_tieta/WebRoot/batt-state-statistical.jsp 560 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/iframe/batt-state-statistical-details.html 245 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/pages/js/common.js 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/batt-state-statistical.jsp
@@ -17,6 +17,8 @@
    <link rel="stylesheet" type="text/css" href="css/basic-layout.css"/>
    <link rel="stylesheet" href="css/sidebar.css" />
    <link rel="stylesheet" href="css/confirm.css" />
    <link rel="stylesheet" href="src/css/layui.css" />
    <link rel="stylesheet" href="pages/css/mylayui.css">
    <style type="text/css">
        .b8cfe5 {
            background-color: #b8cfe5 !important;
@@ -33,102 +35,91 @@
    <!--头部内容结束-->
    <!--导航开始-->
    <jsp:include page="nav.jsp" flush="true"/>
    <div class="page-content">
        <div class="content-item data-show">
            <div class="data-container">
                <!-- 筛选条件 -->
                <div class="filter-container">
                    <div class="filter-title"><a href="javascript:changeFilterStats();">基站状态统计查询--&gt;<s:text name="Show/hide_the_query_conditions"/></a></div>
                    <div class="filter-content">
                        <table>
                            <tbody>
                                <tr>
                                    <th>省</th>                                                        <!-- 省 -->
                                    <th>市</th>                                                        <!-- 市 -->
                                    <th><s:text name="Computer_site"/></th>                                                            <!-- 机房站点 -->
                                    <th colspan="2" style="width: 30%;">时间</th>        <!-- 开始告警日期 -->
                                    <th>统计方式</th>
                                </tr>
                                <tr>
                                    <td>
                                        <select name="" id="station_name1">
                                        </select>
                                    </td>
                                    <td>
                                        <select name="" id="city">
                                        </select>
                                    </td>
                                    <td>
                                        <select name="" id="station_name3">
                                        </select>
                                    </td>
                                    <td><input type="text" id="startalm" readonly="readonly" name="bmd.adata.alm_start_time" value="2000-1-1" /></td>
                                    <td><input type="text" id="endTalm" readonly="readonly" name="bmd.adata.alm_start_time1" /></td>
                                    <td>
                                        <select id="statistics">
                                              <option value=3>按年统计</option>
                                              <option value=1>按月统计</option>
                                        </select>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                        <table class="condi-opt">
                            <tr>
    <div class="filter-container">
        <div class="filter-title"><a href="javascript:;">基站状态统计查询--&gt;<s:text name="Show/hide_the_query_conditions"/></a></div>
        <div class="filter-content">
            <table>
                <tbody>
                    <tr>
                        <th>省</th>                                                        <!-- 省 -->
                        <th>市</th>                                                        <!-- 市 -->
                        <th><s:text name="Computer_site"/></th>                                                            <!-- 机房站点 -->
                        <th colspan="2" style="width: 30%;">时间</th>        <!-- 开始告警日期 -->
                        <th>统计方式</th>
                    </tr>
                    <tr>
                        <td>
                            <select name="" id="station_name1">
                                
                            </select>
                        </td>
                        <td>
                            <select name="" id="city">
                                
                                    <input type="hidden" id="ALM_TYPE_BTS9100S_POFF_ComError" name=""  value="" class="" />        <!-- 停电 -->
                            </select>
                        </td>
                        <td>
                            <select name="" id="station_name3">
                                
                                    <input type="hidden" id="ALM_TYPE_BTS9100S_FADIAN_ComError" name=""  value="" class="" />        <!-- 发电 -->
                                    <input type="hidden" id="ALM_TYPE_BTS9100S_DIAOZHAN_ComError" name=""  value="" class="">            <!-- 掉站 -->
                                <input type="hidden" id="ALM_TYPE_BTS9100S_DOOROPEN_ComError"    name="" value="" class="" >                                                <!-- 开门,开关电源异常 -->
                                <input type="hidden" id="ALM_TYPE_BTS9100S_TEMPUP_ComError" name=""     value="" class="">
                                <input type="hidden" id="ALM_TYPE_BTS9100S_TEMPLOW_ComError" name=""     value="" class="">                                                <!-- 温度异常 -->
                                <input type="hidden" id="ALM_TYPE_BTS9100S_DAMPUP_ComError" name=""  value="" class="">
                                <input type="hidden" id="ALM_TYPE_BTS9100S_DAMPLOW_ComError" name=""  value="" class="">                                                <!-- 湿度异常 -->
                            </tr>
                        </table>
                    </div>
                </div>
                <!-- 导出表格数据的表单 -->
                <form id="export_excel" action="ExportTable.servlet" method="post">
                    <input type="hidden" name="PageName" value="eleHistoryWarn.jsp"/>
                    <input type="hidden" id="table_th_arr" name="table_th_arr"/>
                    <input type="hidden" id="table_td_arr" name="table_td_arr"/>
                </form>
                <!-- 数据表格显示 -->
                <div class="tbl-header"></div>
                <div class="tbl-body"></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;&nbsp;
                        <a href="javascript:" id="home"><s:text name="HomePage"/><!-- 首页 --></a>
                        <a href="javascript:" id="pre"><s:text name="Page_Up"/><!-- 上一页 --></a>
                        <a href="javascript:" id="next_p"><s:text name="Page_Down"/><!-- 下一页 --></a>
                        <a href="javascript:" id="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="go"><s:text name="Jump"/><!-- 跳转 --></a>
                        </span>
                    </div>
                </div>
            </div>
                            </select>
                        </td>
                        <td><input type="text" id="startalm" readonly="readonly" name="bmd.adata.alm_start_time" value="2000-1-1" /></td>
                        <td><input type="text" id="endTalm" readonly="readonly" name="bmd.adata.alm_start_time1" /></td>
                        <td>
                            <select id="statistics">
                                  <option value=3>按年统计</option>
                                  <option value=1>按月统计</option>
                            </select>
                        </td>
                    </tr>
                </tbody>
            </table>
            <table class="condi-opt">
                <tr>
                    <input type="hidden" id="ALM_TYPE_BTS9100S_POFF_ComError" name=""  value="" class="" />        <!-- 停电 -->
                    <input type="hidden" id="ALM_TYPE_BTS9100S_FADIAN_ComError" name=""  value="" class="" />        <!-- 发电 -->
                    <input type="hidden" id="ALM_TYPE_BTS9100S_DIAOZHAN_ComError" name=""  value="" class="">            <!-- 掉站 -->
                    <input type="hidden" id="ALM_TYPE_BTS9100S_DOOROPEN_ComError"    name="" value="" class="" >                                                <!-- 开门,开关电源异常 -->
                    <input type="hidden" id="ALM_TYPE_BTS9100S_TEMPUP_ComError" name=""     value="" class="">
                    <input type="hidden" id="ALM_TYPE_BTS9100S_TEMPLOW_ComError" name=""     value="" class="">                                                <!-- 温度异常 -->
                    <input type="hidden" id="ALM_TYPE_BTS9100S_DAMPUP_ComError" name=""  value="" class="">
                    <input type="hidden" id="ALM_TYPE_BTS9100S_DAMPLOW_ComError" name=""  value="" class="">                                                <!-- 湿度异常 -->
                </tr>
            </table>
        </div>
    </div>
    <!-- 导出表格数据的表单 -->
    <form id="export_excel" action="ExportTable.servlet" method="post">
        <input type="hidden" name="PageName" value="eleHistoryWarn.jsp"/>
        <input type="hidden" id="table_th_arr" name="table_th_arr"/>
        <input type="hidden" id="table_td_arr" name="table_td_arr"/>
    </form>
    <div style="width: 100%;overflow:hidden;">
        <table id="eleInfoTbl" lay-filter="eleInfoTbl"></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;&nbsp;
            <a href="javascript:" id="home"><s:text name="HomePage"/><!-- 首页 --></a>
            <a href="javascript:" id="pre"><s:text name="Page_Up"/><!-- 上一页 --></a>
            <a href="javascript:" id="next_p"><s:text name="Page_Down"/><!-- 下一页 --></a>
            <a href="javascript:" id="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="go"><s:text name="Jump"/><!-- 跳转 --></a>
            </span>
        </div>
    </div>
    <div id="details"></div>
    <div id="detailsOpts"></div>
    <script type="text/javascript" src="jqueryui/jquery-ui.min.js"></script>
    <script type="text/javascript" src="js/equip-stats-change.jquery.ui.js"></script>
    <script type="text/javascript" src="js/eleHistWarn1-jquery.ui.js"></script>
@@ -138,6 +129,10 @@
    <script type="text/javascript" src="js/myConfirm.js"></script>    
    <script type="text/javascript" src="js/myinterval.js"></script>
    <script type="text/javascript" src="js/pageUtil.js"></script>
    <script type="text/javascript" src="src/layui.js"></script>
    <script type="text/html" id="toolBar">
        <a class="layui-btn layui-btn-xs" lay-event="details">详情</a>
    </script>
    <script type="text/javascript">
        var permits;
        <%    Object obj=session.getAttribute("permits");
@@ -146,179 +141,147 @@
                permits=<%=permits%>;
                //console.info(json);
        <%    }    %>
        var Page = {
            pageCurr:1,
            pageSize:10,
            pageAll:0
        };
        var ArrWarnTh;     //表头数据
        var ArrWarnTb;     //表格数据
        $(function () {
            // 初始化页面的数据
            //自定义数组变量,数组的值为电池告警表格的表头    编号                机房名称                            电池组名称                                告警名称                            单体编号                                告警值                            告警等级                            告警确认                                告警确认时间                                告警开始时间                            告警截止时间
            ArrWarnTh = ['告警时间段','机房名称','停电次数','发电次数','掉站次数','开门异常次数','温度上限告警','温度下限告警','湿度上限告警','湿度下限告警','详情'];
            ArrWarnTb = new Array(); // 用于存放表格数据
            createFullTbl($('.tbl-header'), $('.tbl-body'), ArrWarnTh, ArrWarnTb);
            // 点击表格的右键显示右键菜单
            var $tblBody = $('.tbl-body');
            var tblBody = $tblBody.get(0);
            tblBody.oncontextmenu = function() {
                return false;
        // 应用layui框架
        layui.use(['layer', 'table', 'form', 'laytpl', 'element'],function() {
            var layer = layui.layer     // 获取layer模块
                ,table = layui.table     // 获取table模块
                ,form = layui.form;
            // 表格数据配置项
            var tOptions = {
                elem: '#eleInfoTbl'
                ,toolbar: false
                ,defaultToolbar: ['exports', 'filter']
                ,cellMinWidth: 80
                ,cols: [[
                {field:'note', title:'告警时间段', align:'center'}
                ,{field:'stationName', title:'机房名称', align:'center'}
                ,{field:'station_event_type_poff', title:'停电次数', align:'center'}
                ,{field:'station_event_type_fadian', title:'发电次数', align:'center'}
                ,{field:'station_event_type_diaozhan', title:'掉站次数', align:'center'}
                ,{field:'station_event_type_dooropen', title:'开门异常次数', align:'center'}
                ,{field:'station_event_type_tempup', title:'温度上限告警', align:'center'}
                ,{field:'station_event_type_templow', title:'温度下限告警', align:'center'}
                ,{field:'station_event_type_dampup', title:'湿度上限告警', align:'center'}
                ,{field:'station_event_type_damplow', title:'温度下限告警', align:'center'}
                ,{fixed: 'right', title:'详情', toolbar: '#toolBar', width: 70}
                ]]
                ,data:[]
                ,page: false
                ,height: 'full-280'
            };
            
            $('.tbl-body').on('click', 'table tbody tr', function() {
                $('.tbl-body table tbody tr').removeClass('b8cfe5');
                $(this).addClass('b8cfe5');
            });
            // 生成表格数据
            table.render(tOptions);
            
            var menuItems = [
                {cla:'all-pitch', txt:'全部选中'},
                {cla:'del', txt:'删除'}
            ];
            $('.tbl-body').on('mousedown', 'table tbody tr', function(e) {
                //利用jquery的方式获取当前点击的是否是右键
                if(e.which==3) {
                    if(!$(this).hasClass('b8cfe5')) {
                        $('.tbl-body table tbody tr').removeClass('b8cfe5');
                        $(this).addClass('b8cfe5');
                    }
                    //alert($(this).attr('class'));
                    var disX=(e||event).clientX+10;    //获取鼠标点击的横坐标
                    var disY=(e||event).clientY+10;    // 获取鼠标点击的纵坐标
                    var scrollY=$(document).scrollTop();
                    rightMenu.showMenu(menuItems,disX, disY);
            // 点击表格工具栏详情
            table.on('tool(eleInfoTbl)', function(obj) {
                //details
                var event = obj.event;
                switch(event) {
                    case 'details':
                        var param = getSearchOpts(obj.data);
                        searchStationHistRecord(param);
                        //console.log(obj.data);
                    break;
                }
            });
        });
        // 点击全部选中触发条件
        $('body').on('click', '#rightMenu .all-pitch', function() {
            $('.tbl-body table tbody tr').addClass('b8cfe5');
            
        });
        //导出表格
        $('#export_table').click(function(){
            exprotTable($('.tbl-body table thead th'),$('.tbl-body table tbody td'),$('#export_excel'),$('#table_th_arr'),$('#table_td_arr'));
        });
        //导出表格数据的方法
        function exprotTable(eleTh,eleTd,eleform,eleTh_Text,eleTd_Text){
            //alert("导出");
            var ArrTh=new Array();
            for(var i=0;i<eleTh.length;i++)
            {
                 ArrTh[i]=eleTh.eq(i).text();
            }
            var ArrTd=new Array();
            for(var i=0;i<eleTd.length;i++)
            {
                if(eleTd.eq(i).find('input').length!=0){
                    //alert(12);
                    if(eleTd.eq(i).find('input').is(':checked')){
                        ArrTd[i]='是';
                    }else{
                        ArrTd[i]='否';
            //查询基站详情
            function searchStationHistRecord(param){
                // 将param添加到#detailsOpts
                $('#detailsOpts').data('data', param);
                // 请求获取当前省下的市
                $.ajax({
                    type: "post",
                    url: "Bts_station_eventAction!serchByInfo",
                    async:true,
                    dataType:'json',
                    data:"json = "+JSON.stringify(param),
                    success: function(data){
                        var rs = JSON.parse(data.result);
                        //console.info(rs);
                        if(rs.code == 1) {
                            $('#details').data('data', rs.data);
                            var txt = param.stationname;
                            // 显示面板
                            layer.open({
                                type: 2,
                                title: txt+'<span style="font-weight:bold">>>详情</span>',
                                area: ['1200px', '500px'],
                                fixed: false, //不固定
                                maxmin: true,
                                content: 'iframe/batt-state-statistical-details.html'
                            });
                        }else {
                            layer.msg(rs.msg);
                        }
                    }
                }else{
                     ArrTd[i]=eleTd.eq(i).text();
                }
                });
            }
            eleTh_Text.attr('value',ArrTh);
            eleTd_Text.attr('value',ArrTd);
            //console.info(ArrTh);
            //console.info(ArrTd);
            eleform.submit();
        }
        $(function(){
            // 构造查询详情条件
            function getSearchOpts(data) {
                var timearr = data.note.split('~');
                var param = {
                    stationname: data.stationName,
                    dev_id:data.dev_id,
                    record_datetime:timearr[0],
                    record_datetime_end:timearr[1],
                    station_event_type:0,                                //1:基站停电        2:基站续航    3:基站发电        4:基站开门    5:基站掉站    6:基站温度上限   7:基站温度下限    8:基站湿度上限    9:基站湿度下限
                    page:{
                        pageSize:10,             //每页的行数
                        pageCurr:1                //当前页码数
                    }
                };
                return param;
            }
            // 查询内容
            function serachBattStatistical(){
                var temp = createSearchForm();
                var json = JSON.stringify(temp);
                $.ajax({
                    type:"post",
                    url:"Bts_station_eventAction!serchByCondition",
                    async:true,
                    dataType:'json',
                    data:"json="+json,
                    success:function(data){
                        var data=JSON.parse(data.result);
                        if(data.code==1&&data!=null){
                            tOptions.data = data.data;
                         }
                         table.render(tOptions);
                    }
                })
            }
            // 构造查询条件
            function createSearchForm(){
                var stationid = $('#station_name3').find("option:selected").attr('Stationid');
                var temp={
                        StationName1:$('#station_name1').val(),                                                    // 省
                        StationName2:$('#city').val(),                                                            // 市
                        StationName3:$('#station_name3').val(),                                                    //机房名称
                        StationId: stationid?stationid:0,
                        BattInUseDate:$('#startalm').val()+" 00:00:00",
                        BattInUseDate1:$('#endTalm').val()+" 23:59:59",
                        BattGroupNum:$('#statistics').val()
                };
                //console.info(temp);
                return temp;
            }
            //点击查询按钮
            $('#paging .search').click(function(){
                //var check = $("#ALM_TYPE_BTS9100S_FADIAN_ComError").attr("checked");
                //console.info(check);
                serachBattStatistical();
            });
        });
        var formjson;
        function serachBattStatistical(){
            var temp = createSearchForm();
            var json = JSON.stringify(temp);
            ArrWarnTb = new Array();
            $.ajax({
                type:"post",
                url:"Batt_devalarm_data_historyAction!serchStateBydev_id",
                async:true,
                dataType:'json',
                data:"json="+json,
                success:function(data){
                    var data=JSON.parse(data.result);
                    var index=0;
                    //console.info(data);
                    if(data.code==1&&data!=null){
                        data=data.data;
                        Page.pageAll = data.length;
                        var pageNum=Math.ceil(Page.pageAll/Page.pageSize);
                        $('#total').text(Page.pageAll);
                        $('#current').text(Page.pageCurr+"/"+pageNum);
                        var currentStartdata=Math.ceil((Page.pageCurr-1)*Page.pageSize);
                        var currenEnddata = 0;
                        if(Page.pageAll-(Page.pageCurr-1)*Page.pageSize<Page.pageSize){
                            currenEnddata =(Page.pageAll-(Page.pageCurr-1)*Page.pageSize)+(Page.pageCurr-1)*Page.pageSize;
                        }else{
                            currenEnddata = (Page.pageCurr)*Page.pageSize;
                        }
                        //console.info(currenEnddata);
                        for(i=currentStartdata;i<currenEnddata;i++){
                        //console.info(data);
                            ArrWarnTb[index++]=data[i].dev_ip;        //告警时间段
                            ArrWarnTb[index++]=data[i].stationName;   //机房名称
                            ArrWarnTb[index++]=data[i].num;                //停电
                            ArrWarnTb[index++]=data[i].record_id;        //发电次数
                            ArrWarnTb[index++]=data[i].alm_type;        //掉站次数
                            ArrWarnTb[index++]=data[i].alm_level;        //开门异常
                            ArrWarnTb[index++]=data[i].alm_is_confirmed;//温度上限
                            ArrWarnTb[index++]=data[i].alm_cleared_type;//温度下限
                            ArrWarnTb[index++]=data[i].usr_id;            //湿度上限
                            ArrWarnTb[index++]=data[i].note;            //湿度下限
                            ArrWarnTb[index++]="<a href="" >详情</a>";    //详情
                        }
                        createFullTbl($('.tbl-header'), $('.tbl-body'), ArrWarnTh, ArrWarnTb);
                     }
                }
            })
        }
        //构造查询条件对象
    //    function creatArrTb(var arr,int){
    //    var arr = new Array();
            
    //        return arr;
    //    }
        function createSearchForm(){
            var stationid = $('#station_name3').find("option:selected").attr('Stationid');
            var temp={
                    StationName1:$('#station_name1').val(),                                                    // 省
                    StationName2:$('#city').val(),                                                            // 市
                    StationName3:$('#station_name3').val(),                                                    //机房名称
                    StationId: stationid?stationid:0,
                    BattInUseDate:$('#startalm').val(),
                    BattInUseDate1:$('#endTalm').val(),
                    BattGroupNum:$('#statistics').val()
            };
            //console.info(temp);
            return temp;
        }
        });
         // 省-市-机房-电池组
        $(document).ready(function(){
@@ -420,101 +383,6 @@
                }
            });
        }
        //首页
        $('#home').click(function(){
            if(Page!=undefined){
                var pageNum = Math.ceil(Page.pageAll/Page.pageSize);
                if(Page.pageCurr != 1){
                    Page.pageCurr=1;
                    $('#paging .search').click();
                }
            }
        });
        //点击上一页
        $("#pre").click(function(){
            if(Page!=undefined){
                if(Page.pageCurr > 1){
                    Page.pageCurr = Page.pageCurr-1;
                    $('#paging .search').click();
                }
            }
        });
        //点击下一页
        $("#next_p").click(function(){
            if(Page!=undefined){
                var pageNum=Math.ceil(Page.pageAll/Page.pageSize);
                if(Page.pageCurr < pageNum){
                    Page.pageCurr = Page.pageCurr+1;
                    //console.info(Page);
                    $('#paging .search').click();
                }
            }
        });
        //尾页
        $('#last').click(function(){
            if(Page !=undefined){
                var pageNum=Math.ceil(Page.pageAll/Page.pageSize);
                if(Page.pageCurr<pageNum){
                    Page.pageCurr = pageNum;
                    $('#paging .search').click();
                }
            }
        });
        //设置每页行数
        $('#number').blur(function(){
            var value=$('#number').attr("value");
            //当输入的数大于0时
            if(value>0){
                value=parseInt(value);
                if(Page.pageSize != value){
                    Page.pageSize = value;
                    Page.pageCurr = 1;
                }
            }else{
            //当输入非法数字时
                alert("<s:text name='Please_enter_the_legitimate_number!'/>");            /* 请输入合法的整数 */
                $('#number').attr('value',Page.pageSize);
            }
        });
        //填写完跳转到指定页
        $('#page_num').blur(function(){
            var tarpage=$('#page_num').attr('value');
            if(tarpage>0){
            }else{
                alert("<s:text name='Please_enter_the_legitimate_number!'/>");            /* 请输入合法的数字 */
                $('#page_num').attr('value',Page.pageCurr);
            }
        });
        //点击跳转
        $('#go').click(function(){
            var tarpage=$('#page_num').attr('value');
            tarpage=parseInt(tarpage);
            if(Page!=undefined && Page.pageAll != 0){
                var pageNum=Math.ceil(Page.pageAll/Page.pageSize);
                if(tarpage > pageNum){
                    tarpage=pageNum;
                    $('#page_num').attr('value',pageNum);
                }
                Page.pageCurr= tarpage;
            }else{
                Page.pageCurr= tarpage;
            }
            $('#paging .search').click();
        });
        
    </script>
  </body>
gx_tieta/WebRoot/iframe/batt-state-statistical-details.html
New file
@@ -0,0 +1,245 @@
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>配组管理</title>
    <link rel="stylesheet" href="../jqueryui/jquery-ui.min.css">
    <link rel="stylesheet" href="../src/css/layui.css">
    <link rel="stylesheet" href="../font-awesome-4.7.0/css/font-awesome.min.css">
    <link rel="stylesheet" href="../pages/css/mylayui.css">
    <link rel="stylesheet" href="../pages/css/common.css">
    <style type="text/css">
        html, body {
            height: 100%;
        }
        .layui-table-view {
            margin: 0;
        }
    </style>
</head>
<body>
    <div class="whyc-page-layui-main abs-top0 abs-bottom0">    <!-- 最外层控制位置 -->
        <div class="whyc-page-layui-content-container">
            <!-- <div class="whyc-page-layui-siderbar w360"></div> -->
            <div class="whyc-page-layui-content" style="background-color: pink">
                <div class="tbl-container">
                    <div class="tbl-filter" lay-filter="tblFilter">
                        <div class="layui-form layui-form-pane"  lay-filter="tblFilter">
                            <div class="layui-inline"> <!-- 注意:这一层元素并不是必须的 -->
                                <label>开始时间</label>
                                <div class="layui-input-inline">
                                    <input type="text" class="layui-input" id="startTime">
                                </div>
                            </div>
                            <div class="layui-inline"> <!-- 注意:这一层元素并不是必须的 -->
                                <label>结束时间</label>
                                <div class="layui-input-inline">
                                    <input type="text" class="layui-input" id="endTime">
                                </div>
                            </div>
                            <div class="layui-input-inline">
                                <div class="layui-form" lay-filter="warnTypeFilter">
                                    <select name="warnType" id="warnType" lay-search="warnType">
                                        <option value="0">全部(异常)</option>
                                        <option value="1">基站停电</option>
                                        <option value="2">基站续航</option>
                                        <option value="3">基站发电</option>
                                        <option value="4">基站开门</option>
                                        <option value="5">基站掉站</option>
                                        <option value="6">基站温度上限</option>
                                        <option value="7">基站温度下限</option>
                                        <option value="8">基站湿度上限</option>
                                        <option value="9">基站湿度下限</option>
                                    </select>
                                </div>
                            </div>
                            <button class="layui-btn layui-btn-sm layui-btn-normal" id="search"><i class="fa fa-search"></i> 查询</button>
                        </div>
                    </div>
                    <!-- 表格内容 -->
                    <table id="groupTbl" lay-filter="groupTbl"></table>
                </div>
            </div>
        </div>
    </div>
    <script type="text/javascript" src="../js/jquery-1.8.3.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="../src/layui.js"></script>
    <script type="text/javascript" src="../pages/js/mylayui.js"></script>
    <script type="text/javascript" src="../js/base.js"></script>
    <script type="text/javascript" src="../pages/js/common.js"></script>
    <script type="text/javascript">
        layui.use(['layer', 'table', 'form', 'laytpl', 'element', 'laydate'],function() {
            var layer = layui.layer     // 获取layer模块
                ,table = layui.table     // 获取table模块
                ,form = layui.form
                ,laydate = layui.laydate;
            var parentData = parent.$('#details').data('data');        // 父容器存储的值
            var detailsOpts = parent.$('#detailsOpts').data('data');    // 查询当前时间段的详情
            //console.log(detailsOpts);
            var getAbnormalTxt = GLOBAL.BaseStation.getAbnormalTxt;    // 获取机房异常类型的文本
            var abnormal = GLOBAL.BaseStation.Abnormal;        // 基站异常类型
            var warnTypeList = [];
            // 遍历基站异常类型
            for(var i=0; i<abnormal.length; i++) {
                var _abnormal = abnormal[i];
                var items= getLayuiSelect(_abnormal, i, {}, {});
                warnTypeList.push(items);
            }
            // 生成基站异常下拉并重新渲染
            createLayuiSelect($('#warnType'), warnTypeList);
            form.render('select', 'warnTypeFilter');
            // 开始-结束时间
            laydate.render({
                elem: '#startTime' //指定元素
                ,value: detailsOpts.record_datetime    // 初始值
                ,format: 'yyyy-MM-dd HH:mm:ss'
                ,type: 'datetime'
                ,btns: ['confirm']
            });
            laydate.render({
                elem: '#endTime' //指定元素
                ,value: detailsOpts.record_datetime_end    // 初始值
                ,format: 'yyyy-MM-dd HH:mm:ss'
                ,type: 'datetime'
                ,btns: ['confirm']
            });
            var rsData = handleRsData(parentData);
            // 表格数据配置项
            var tOptions = {
                elem: '#groupTbl'
                ,toolbar: true
                ,defaultToolbar: ['exports', 'filter']
                ,cellMinWidth: 80
                ,cols: [[
                    {field:'stationname', title:'机房名称', align:'center', width: 380}
                    ,{field:'warntype', title:'异常类型', align:'center'}
                    ,{field:'warnstarttime', title:'异常开始时间', align:'center'}
                    ,{field:'warnendtime', title:'异常结束时间', align:'center'}
                    ,{field:'warntimelen', title:'异常时长(秒)', align:'center'}
                ]]
                ,data: rsData
                ,page: {
                    layout:['count', 'prev', 'page', 'next']
                }
                ,height: 'full-0'
            };
            // 生成表格数据
            table.render(tOptions);
            $('#search').click(function() {
                // 根据条件查询内容
                searchData(detailsOpts);
            });
            // 处理查询结果数据
            function handleRsData(data) {
                var rsData = [];
                //
                var temp = {};
                for(var i=0;i<data.length;i++){
                    var _data = data[i];
                    if(_data.station_event_trig == 1){
                        temp = {
                            stationname:_data.stationName,
                            warntype:abnormal[_data.station_event_type],
                            warntypenum:_data.station_event_type,
                            warnstarttime:_data.record_datetime,
                            warnendtime:'-',
                            warntimelen:'-',
                        }
                        rsData.push(temp);
                    }else if(_data.station_event_trig == 2){
                        if(temp.warntypenum == _data.station_event_type){
                            temp.warnendtime = _data.record_datetime;
                            var timelong = (new Date(temp.warnendtime).getTime()- new Date(temp.warnstarttime).getTime())/1000;
                            temp.warntimelen = timelong;
                        }
                    }
                }
                return rsData;
            }
            // 查询电池组下所有的单体
            function searchData(obj) {
                // 添加等待框
                var loading = layer.load(0, {shade: [0.1,'#fff']}); //0代表加载的风格,支持0-2
                var structData = structSearchData(obj);
                $.ajax({
                    type: 'post',
                    async: true,
                    url:'Bts_station_eventAction!serchByInfo',
                    data: 'json='+JSON.stringify(structData),
                    dataType: 'json',
                    success: function(result) {
                        layer.close(loading);    // 关闭等待框
                        var rs = JSON.parse(result.result);
                        if(rs.code == 1) {
                            var data = rs.data;
                            //console.log(data);
                            var num = 0;
                            var rsData = handleRsData(data);
                            num = rsData.length;
                            tOptions.data = rsData;
                            // 设置分页信息
                            tOptions.page.layout = ['count', 'prev', 'page', 'next'];  //自定义分页布局
                        }else {
                            tOptions.data = [];
                        }
                        // 重新绘制表格内容
                        table.reload('groupTbl', tOptions);
                    }
                });
            }
            // 构造查询对象
            function structSearchData(data) {
                var obj = data;
                obj.record_datetime = $('#startTime').val();        // 开始时间
                obj.record_datetime_end = $('#endTime').val();    // 结束时间时间
                obj.station_event_type = $('#warnType').val();
                return obj;
            }
            // 构造生成表格数据的方法
            function formaterTblData(data) {
                //console.log(data);
                var rs = [];    // 结果集
                // 遍历查询的结果根据查询结果生成指定的格式
                for(var i=0; i<data.length; i++) {
                    var _data = data[i];
                    var obj = {};
                    obj.stationname = _data.StationName;            // 机房名称
                    obj.groupname = _data.BattGroupName;            // 电池组名称
                    obj.monvol = _data.MonVolStd;                    // 标称电压
                    obj.nominalcap = Number(_data.MonCapStd);        // 标称容量
                    obj.monnum = '#'+_data.MonNum;                    // 单体编号
                    obj.brandname = _data.BattProducer;                // 品牌
                    // 不显示内容
                    obj.num = _data.MonNum;                            // 单体编号不加#
                    obj.battgroupid = _data.BattGroupId;            // 电池组id
                    obj.stationid = _data.StationId;                // 机房id
                    // 判断当前位置的单体是否为空白()
                    if(_data.num || _data.num == undefined) {
                        rs.push(obj);
                    }
                }
                return rs;    // 返回结果集
            }
        });
    </script>
</body>
</html>
gx_tieta/WebRoot/pages/js/common.js
@@ -310,6 +310,29 @@
                          , '应急供电单体下限到', '市电恢复停止应急供电', '停止自动应急供电', '无法启动核容测试', '模块故障', '电池开路故障'];
})(jQuery, window, document, GLOBAL);
// 基站信息
;(function($, window, document, gl, undefined) {
    // 基站异常类型
    gl.namespace('BaseStation.Abnormal');
    //1:基站停电        2:基站续航    3:基站发电        4:基站开门    5:基站掉站    6:基站温度上限   7:基站温度下限    8:基站湿度上限    9:基站湿度下限
    var abnormal = ['全部(异常)', '基站停电', '基站续航', '基站发电', '基站开门', '基站掉站', '基站温度上限', '基站温度下限', '基站湿度上限', '基站湿度下限'];
    gl.BaseStation.Abnormal = abnormal;
    // 根据下标获取基站异常类型的文本值
    function getAbnormalTxt(num) {
        var rs = abnormal[num];
        if(rs == undefined) {
            alert('基站异常类型'+num+'不存在');
            rs = abnormal[0];
        }
        return rs;
    }
    // 将函数绑定到GLOBAL.BaseStation
    gl.BaseStation.getAbnormalTxt = getAbnormalTxt;
})(jQuery, window, document, GLOBAL);
//页面中计时器的使用
;(function($, gl) {
    gl.namespace('Timer');