霍东伟
2019-03-05 c0100c3b31c7c28da3222f042844d62055a9a9b4
内容提交
4个文件已修改
439 ■■■■ 已修改文件
gx_tieta/WebRoot/batt-life-manage.jsp 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/endure.jsp 403 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/js/base.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/mobil/mobilJs/base.js 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/batt-life-manage.jsp
@@ -230,7 +230,7 @@
        var tblStatus = new Array();    // 表格状态数组
        var tblOptsHd = new Array();    // 表格选项头部
        var tblOptsBd = new Array();  // 表格选项数组
        arrTh = ['设备ID', '机房名称', '实际容量(AH)', '电池组标称容量(AH)','负载电流(53)(A)', '负载电流(45)(A)','预估续航时间(min)', '续航大于3小时'];
        arrTh = ['设备ID', '机房名称', '实际容量(AH)', '电池组标称容量(AH)','负载电流(53)(A)', '负载电流(45)(A)','预估续航时间(min)', '核容开始时间','续航大于3小时'];
        //arrTh = ['设备ID', '机房名称', '实际容量', '标称容量','负载电流', '最小实际续航时间(min)','平均实际续航时间(min)', '最大实际续航时间(min)', '理论续航时间(min)', '是否掉站'];
        //arrTh = ['<s:text name="Maintenance_area"/>', '<s:text name="Computer_name"/>',  '<s:text name="Nominal_capacity"/>(AH)', '<s:text name="Actual_capacity"/>(AH)','<s:text name="Residual_capacity"/>(AH)', '<s:text name="real_time"/><s:text name="Current"/>(A)', '<s:text name="Power_cut"/><s:text name="Endurance"/><s:text name="Time"/>'];
        //tblOptsHd = ['编号', '选项', '是否选择'];
@@ -675,6 +675,7 @@
                            arrTd[index++]=data[i].batts_moncapstd;    // 电池组标称容量
                            arrTd[index++]=data[i].real_curr;        // 实际电流(53)
                            arrTd[index++]=getLoadCurr45(data[i].real_curr);    // 实际电流(45)
                            arrTd[index++]=data[i].batts_teststarttime;    // 核容开始时间
                            arrTd[index++]=data[i].endurance_theory_timelong;    // 预估续航时间
                            // 续航大于3小时
                            if(data[i].is_out_stand==0){  //未掉站(绿色)
gx_tieta/WebRoot/endure.jsp
@@ -20,6 +20,7 @@
    <link rel="stylesheet" href="css/BrdwMaint.css">
    <link rel="stylesheet" type="text/css" href="css/loading.css">
    <link href="src/css/layui.css" type="text/css" rel="stylesheet">
    <link rel="stylesheet" type="text/css" href="pages/css/mylayui.css">
    <style type="text/css">
        body {
            overflow-x: hidden !important;
@@ -162,10 +163,7 @@
                    </form>
                </div>
            </div>
            <!-- 表格固定的头部 -->
            <div id="tbHead"></div>
            <!-- 表格滚动的部分 -->
            <div id="tbBrdw"></div>
            <table id="pageTbl" lay-filter="pageTbl"></table>
            
            <form id="export_excel" action="ExportTable.servlet" method="post">
                <input type="hidden" name="PageName" value="endure.jsp"/>
@@ -173,23 +171,24 @@
                <input type="hidden" id="table_td_arr" name="table_td_arr"/>
            </form>
            
            <!-- 分页内容 -->
            <div id="paging">
                <a href="javascript:" class="search"><s:text name="Search"/><!-- 查询 --></a>
                <a href="javascript:" id="export_table"><s:text name="Export"/><!-- 导出 --></a>
                <a href="javascript:" class="card-opt"><s:text name="Table_options"/><!-- 表格选项 --></a>
                 <s:text name="At_present"/><!--  当前 --><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"/><!-- 数据总量 -->&nbsp;&nbsp;<span id="total">10</span>
                <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 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>
        <!-- 表格选项内容 -->
        <div id="cardOption">
@@ -203,6 +202,38 @@
        </div>
        <!-- 整体灰色遮罩层 -->
        <div id="allShade"></div>
        <script type="text/html" id="real_curr45">
            {{ (d.real_curr*53/45).toFixed(1) }}
        </script>
        <script type="text/html" id="batts_realcapstd">
            {{#
                var getRealCap = function(num, d) {
                    var rs = "";
                    var g1=d.real_cap_group1, g2=d.real_cap_group2, g3=d.real_cap_group3, g4=d.real_cap_group4;
                    g1=g1?g1.toFixed(1):0;
                    g2=g2?g2.toFixed(1):0;
                    g3=g3?g3.toFixed(1):0;
                    g4=g4?g4.toFixed(1):0;
                    switch(num) {
                        case 1:
                            rs = g1;
                            break;
                        case 2:
                            rs = g1+"/"+g2;
                            break;
                        case 3:
                            rs = g1+"/"+g2+"/"+g3;
                            break;
                        case 4:
                            rs = g1+"/"+g2+"/"+g3+"/"+g4;
                            break;
                    }
                    return rs;
                }
            }}
            {{ getRealCap(d.groupcount, d) }}
        </script>
        <script type="text/javascript" src="js/loading.js"></script>
        <script type="text/javascript" src="js/createTab.js"></script>
        <script type="text/javascript" src="src/layui.all.js"></script>
@@ -214,127 +245,137 @@
            pageAll:1,
        };
        var form  = layui.form;        // 获取form模块
        var arrTh = new Array();    // 表格的头部
        var arrTd = new Array();    // 表格的表体
        var tblStatus = new Array();    // 表格状态数组
        var tblOptsHd = new Array();    // 表格选项头部
        var tblOptsBd = new Array();  // 表格选项数组
        var table = layui.table;    // 获取table模块
        /* 分页信息模块 */
        var hisPage = new TblPage();    // 实例化TblPage对象--验收的的审核信息
        hisPage.set(1, 0, 20);            // 初始化值
        // 页面dom对象
           var pagePageHis = new PagePage({
               search: $('#paging .search')        // 查询
               ,home: $('#page_home')                // 首页
               ,pre: $('#page_pre')
               ,next: $('#page_next_p')
               ,last: $('#page_last')
               ,num: $('#page_num')
               ,go: $('#page_go')
               ,total: $('#total')
               ,size: $('#number')
               ,current: $('#current')
           });
           pagePageHis.init(hisPage, searchHis);
        //arrTh = ['维护区', '机房名称', '电池组名称', '标称容量', '实际容量','剩余容量','实时电流', '续航时间'];
        arrTh = ['<s:text name="Maintenance_area"/>', '<s:text name="Computer_name"/>', '<s:text name="Nominal_capacity"/>(AH)', '<s:text name="Actual_capacity"/>(AH)', '<s:text name="real_time"/><s:text name="Current"/>(53)(A)', '<s:text name="real_time"/><s:text name="Current"/>(45)(A)', '<s:text name="Power_cut"/><s:text name="Endurance"/><s:text name="Time"/>'];
        //tblOptsHd = ['编号', '选项', '是否选择'];
        tblOptsHd = ['<s:text name="Number"/>', '<s:text name="Options"/>', '<s:text name="IsChecked"/>'];
        var tblHd = $('#tbHead');
        var tblBd = $('#tbBrdw');
        // 根据表格的头部生成表格选项和表格的状态数组
        $(function() {
            centerDiv($('#cardOption'));
            // 遍历表格头部生成状态数组
            for(var i = 0; i < arrTh.length; i++) {
                tblStatus.push(1);
                var temp = new Array();
                temp.push(i+1);
                temp.push(arrTh[i]);
                temp.push('<input type="checkbox" checked="checked"/>');
                tblOptsBd.push(temp);
            }
            var cardHd = $('#cardOption .tbHead');
            var cardBd = $('#cardOption .con_table');
            createCard(cardHd, tblOptsHd, tblOptsBd);
            createCard(cardBd, tblOptsHd, tblOptsBd);
        });
        // 生成表格
        $(function() {
            createAllTbl(tblHd, tblBd, arrTh, arrTd, tblStatus);
            $('#paging .search').click(function() {
                searchBattLife();
               /*  loading.showLoading();
                arrTd = [
                    '维护区1', '机房名称1', '电池组名称1', '标称容量1', '实际容量1', '实时电流1', '续航时间1'
                ];
                createAllTbl(tblHd, tblBd, arrTh, arrTd, tblStatus);
                setTimeout(function() {
                    loading.hideLoading();
                }, 2000); */
            });
            // 点击表格选项显示表格选项弹出框
            $('#paging .card-opt').click(function() {
                var checkboxList = $('#cardOption .con_table table tbody').find('input[type="checkbox"]');
                // 根据状态数组修改表格选项复选框的状态
                for(var i = 0; i < tblStatus.length; i++) {
                    if(tblStatus[i] == 1) {
                        checkboxList.eq(i).prop('checked', true);
                    }else{
                        checkboxList.eq(i).prop('checked', false);
                    }
                }
                $('#cardOption').show();
                $('#allShade').show();
            });
            // 点击取消和确定隐藏表格选项窗口和遮罩层
            $('#cardOption .en-card-opts').click(function() {
                // 根据表格选项的复选框设置状态数组
                var checkboxList = $('#cardOption .con_table table tbody').find('input[type="checkbox"]');
                checkboxList.each(function(i) {
                    if($(this).is(':checked')) {
                       tblStatus[i] = 1;
                    }else{
                        tblStatus[i] = 0;
                    }
                });
                createAllTbl(tblHd, tblBd, arrTh, arrTd, tblStatus);
                $('#cardOption').hide();
                $('#allShade').hide();
            });
            $('#cardOption .out-card-opts').click(function() {
                $('#cardOption').hide();
                $('#allShade').hide();
            });
        });
           // 表格模块
        var tOptions = {
            elem: '#pageTbl'
            ,toolbar: false
            ,defaultToolbar: []
            ,cellMinWidth: 80
            ,cols: [[
                {field:'stationName', title:'机房名称', align:'center',minWidth: 500}
                ,{field:'batts_moncapstd', title:'电池组标称容量(AH)', align:'center', width: 210}
                ,{field:'batts_realcapstd', title:'电池组实际容量(AH)', templet: '#batts_realcapstd', align:'center', width: 210}
                ,{field: 'real_curr', title: '实时电流(53)(A)', align: 'center', width: 200}
                ,{field:'real_curr45', title:'实时电流(45)(A)', templet: '#real_curr45',align:'center', width: 200}
                ,{field:'batts_teststarttime', title:'核容开始时间', align:'center', width: 300}
                ,{field:'endur_time_long', title:'停电续航时间(min)', align:'center', minWidth: 210}
            ]]
            ,data:[]
            ,limit: 10000
            ,page: false
            ,height: 'full-290'
        };
        // 生成表格数据
        table.render(tOptions);
        // 根据表格的的头部生成
        $(function() {
            $('#endtime').val(new Date().format('yyyy-MM-dd'));
        });
        // 初始化页面高度
        $(function() {
            pageInit();
            $(window).resize(function() {
                pageInit();
            });
        });
        // 初始化页面内容
        function pageInit() {
            var winHt = $(window).height();
            var bodyHt = $('body').height();
            var tblHt = $('#tbBrdw').height();
            var shiftHt = winHt - bodyHt - 32;
            if(shiftHt > 0) {
                $('#tbBrdw').height(shiftHt + tblHt);
            }
        }
        // 生成表格的头部和表体
        function createAllTbl (header, body, arrTh, arrTd, status) {
            //console.info(status);
            var newArrTh = new Array();
            var newArrTd = new Array();
            newArrTh = getArrTh(status, arrTh);
            newArrTd = getArrTd(status, arrTd);
            createTablenew(header, newArrTh, newArrTd);
            createTablenew(body, newArrTh, newArrTd);
            // 定义表格的头部和表体宽度一致
            var bdWidth = body.find('table').width();
            header.find('table').width(bdWidth);
        }
        // 查询历史信息
        function searchHis() {
            var temp = createSearchParamHis();
            var load = layer.load(1, '数据加载中...');
            // 初始化表格选项
            tOptions.data = [];
            // 请求后台
            $.ajax({
                type: "post",
                async: true,
                url: "Batttestdata_infAction!serchBattLife",
                data: "json="+JSON.stringify(temp),
                dataType: "json",
                success: function(res) {
                    var rs = JSON.parse(res.result);
                    if(rs.code == 1) {
                        var data = rs.data;
                        console.log(data);
                        for(var i=0; i<data.length; i++) {
                            var _data = data[i];
                            _data.endur_time_long = getEndurTimeLong(_data);
                            if(_data.page.pageAll) {
                                hisPage.setAll(_data.page.pageAll);
                            }
                        }
                        tOptions.data =data;
                    }else {
                        Page.setAll(0);
                    }
                    pagePageHis.setVal();
                    // 生成表格数据
                    table.render(tOptions);
                },
                complete: function() {
                    layer.close(load);
                }
            });
        }
        // 构造查询条件
        function createSearchParamHis() {
            var temp = {
                stationName1:$('#station_name1').val(),                    // 省
                stationName5:$('#county').val(),                        // 区/县
                stationName2:$('#city').val(),                            // 市
                stationName:$('#station_name').val(),                    // 机房名
                monvolstd: $('#monvolstd').val(),                         // 系统类型
                page: hisPage.getPage()
            };
            return temp;
        }
        // 获取停电续航时间
        function getEndurTimeLong(data) {
            var endurTimeLongs = "";
            var battsMoncapstd = data.batts_moncapstd.split("/");
            var real_curr53 = data.real_curr;
            // 遍历电池组标称容量
            for(var i=0; i<battsMoncapstd.length; i++) {
                var moncapstd = Number(battsMoncapstd[i]);
                var realCapStr = "real_cap_group"+(i+1);
                //console.log(realCapStr);
                realcap = data[realCapStr];
                var endurTimeLong = getGruopEndurTimeLong(moncapstd, realcap, real_curr53);
                endurTimeLong = (endurTimeLong*60).toFixed(0);
                if(i==0) {
                    endurTimeLongs += endurTimeLong;
                }else {
                    endurTimeLongs += "/"+endurTimeLong;
                }
            }
            return endurTimeLongs;
        }
        //对于弹出串口进行定位(position:fixed)
        function centerDiv(ele){
            //获取屏幕的高度对弹出窗口进行定位
@@ -786,98 +827,6 @@
            min_num = value;
            return day_num+"天"+hour_num+"小时"+min_num+"分";
        }
        //首页
        $('#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();
        });
        
        $('#export_table').click(function(){
            //console.info($('#tbHead .tbFixed thead th').length);
gx_tieta/WebRoot/js/base.js
@@ -253,6 +253,22 @@
        return ((tmp_cap + SumAH * N_TO_10H(HourRate))*100 / STDAH);
}
/* 获取电池组续航时间
 * 续航时长=实际容量/(放电小时率*实际电流(45))
 * @param int moncapstd 电池组标称容量
 * @param int realcap 电池组实际容量
 * @param int curr53 实时电流(53)
 *
*/
function getGruopEndurTimeLong(moncapstd, realcap, curr53) {
    var endurTimeLong = 0;
    var real_curr45 = curr53*53/45;
    var hourRate = N_TO_10H(GetHourRate(moncapstd, real_curr45));
    endurTimeLong = moncapstd/(hourRate*real_curr45);
    return endurTimeLong;
}
//获取后备时间
function GetRestTimeSecond(restcap,curr)
{
gx_tieta/WebRoot/mobil/mobilJs/base.js
@@ -152,6 +152,23 @@
        return ((tmp_cap + SumAH * N_TO_10H(HourRate))*100 / STDAH);
}
/* 获取电池组续航时间
 * 续航时长=实际容量/(放电小时率*实际电流(45))
 * @param int moncapstd 电池组标称容量
 * @param int realcap 电池组实际容量
 * @param int curr53 实时电流(53)
 *
*/
function getGruopEndurTimeLong(moncapstd, realcap, curr53) {
    var endurTimeLong = 0;
    var real_curr45 = curr53*53/45;
    var hourRate = N_TO_10H(GetHourRate(moncapstd, real_curr45));
    endurTimeLong = moncapstd/(hourRate*real_curr45);
    return endurTimeLong;
}
//获取后备时间
function GetRestTimeSecond(restcap,curr)
{