whyclj
2018-12-29 ab7d139745ab0e1d447c1d7e9e74e8c590636922
Merge branch 'dev_lxw' of https://whyclj@gitlab.com/whyclxw1/gx_tieta.git into dev_lxw
2个文件已修改
349 ■■■■ 已修改文件
gx_tieta/WebRoot/batch-set-curr.jsp 221 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/iframe/setcurr.html 128 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/batch-set-curr.jsp
@@ -15,7 +15,7 @@
        <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>
        <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">
@@ -55,7 +55,7 @@
        <div class="layui-page-container">
            <!-- 条件筛选 -->
            <div class="layui-page-filter">
                <div class="page-filter-header layui-page-filter-fweight">批量设置信息</div>
                <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">
@@ -93,7 +93,7 @@
                                <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">
                                            <select name="county" id="county" lay-filter="county"  lay-search="">
                                                <option value="">请选择区/县</option>
                                            </select>
                                        </div>
@@ -159,7 +159,6 @@
                        <button class="layui-btn layui-btn-sm mrl8" id="batchAdd"><i class="fa fa-plus mrr8"></i>添加电池组</button>
                        <button class="layui-btn layui-btn-sm" id="batchSetCurr">批量设置放电参数</button>
                        <button class="layui-btn layui-btn-sm" id="startTest">批量启动测试</button>
                        <button class="layui-btn layui-btn-sm" id="lookSetCurr">查询放电参数</button>
                    </div>
                </div>
                <!-- 表格内容 -->
@@ -187,7 +186,7 @@
                                <td><input id="distime" type="text" value="600"><i class="fa fa-frown-o error-img" title="数据格式错误"></i></td>
                            </tr>
                            <tr>
                                <th><s:text name="Discharging"/><s:text name="Hourly_rate"/>(0~300%)<!-- 放电小时率 --></th>
                                <th>放电电流百分比(0~300%)<!-- 放电小时率 --></th>
                                <th>放电容量百分比(0~300%)</th>
                            </tr>
                            <tr>
@@ -241,13 +240,37 @@
        <!-- 存储set-curr.html的信息 -->
        <div id="setCurrIframe"></div>
        <div id="setCurrBtn"></div>
        <!-- 设备工作状态 -->
        <script type="text/html" id="devStatus">
            {{# if(d.devStatus) { }}
                {{d.devStatus}}
            {{# }else{ }}
                状态:???,告警:???,组端电压(V):???,电流(A):???,容量(AH):???
            {{# } }}
        </script>
        <!-- 已测时长 -->
        <script type="text/html" id="testTime">
            {{# if(d.testTime) { }}
                {{d.testTime}}
            {{# }else{ }}
                00:00:00
            {{# } }}
        </script>
        <!-- 通信计数signalNum -->
        <script type="text/html" id="signalNum">
            {{# if(d.signalNum) { }}
                {{d.signalNum}}
            {{# }else{ }}
                ???
            {{# } }}
        </script>
        <script type="text/html" id="setStatus">
            {{# if(d.setCurr == 1){ }}
                <button class="layui-btn layui-btn-sm">设置放电参数成功</button>
                <button class="layui-btn layui-btn-sm">设置成功</button>
            {{# }else if(d.setCurr == 2){ }}
                <button class="layui-btn layui-btn-sm layui-btn-danger">设置放电参数失败</button>
                <button class="layui-btn layui-btn-sm layui-btn-danger">设置失败</button>
            {{# }else { }}
                <button class="layui-btn layui-btn-sm layui-btn-normal">未设置放电参数</button>
                <button class="layui-btn layui-btn-sm layui-btn-normal">未设置</button>
            {{# } }}
        </script>
        <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
@@ -510,24 +533,22 @@
                    ,cellMinWidth: 80
                    ,cols: [[
                        {type:'checkbox',fixed: 'left'}
                        ,{field:'FBSDeviceId', title:'设备ID', align:'center', width: 160}
                        ,{field:'StationName', title:'机房名称', align:'center', width: 470}
                        ,{field:'FBSDeviceName', title:'FBS设备名称', align:'center', width: 160}
                        ,{field:'GroupIndexInFBSDevice', title:'FBS设备索引', align:'center', width: 160}
                        ,{field:'StationName9', title:'设备版本号', align:'center', width: 160}
                        ,{field:'BattGroupId', title:'电池组ID', align:'center', width: 160}
                        ,{field:'BattGroupName', title:'电池组名称', align:'center', width: 160}
                        ,{field:'devStatus', title:'设备状态', templet: '#devStatus', align:'center', width: 600}
                        ,{field:'testTime', title:'已测时长', templet: '#testTime', align:'center', width: 140}
                        ,{field:'signalNum', title:'通信计数', templet: '#signalNum', align:'center', width: 140}
                        ,{field:'StationName9', title:'设备版本号', align:'center', width: 160}
                        ,{field:'MonCount', title:'单体数量', align:'center', width: 100}
                        ,{field:'MonCapStd', title:'标称容量', align:'center', width: 100}
                        ,{field:'MonVolStd', title:'标称单体电压', align:'center', width: 140}
                        ,{field:'MonResStd', title:'标称单体内阻', align:'center', width: 140}
                        ,{field:'MonSerStd', title:'标称单体电导', align:'center', width: 140}
                        ,{field:'Load_curr', title:'负载电流', align:'center', width: 140}
                        ,{field:'DisCurrMax', title:'最大核容电流', align:'center', width: 140}
                        ,{field:'doThings', fixed: 'right', title: '设置状态', toolbar: '#setStatus', align: 'center', width: 160}
                    ]]
                    ,data:[]
                    ,limit: 20
                    ,page: true
                    ,limit: 10000
                    ,page: false
                    ,height: 'full-252'
                };
                
@@ -570,10 +591,11 @@
                            }else {
                                layer.msg('没有可设置的电池组!');
                            }
                            console.log(data);
                            tOptions.data = data;
                               // 生成表格数据
                            table.render(tOptions);
                            updateDevStatus();
                        }
                        ,complete:function() {
                            layer.close(load);
@@ -659,6 +681,7 @@
                
                // 请求设置参数
                function ajaxSetParam(param) {
                    console.log(param);
                    var load = layer.load(1);
                    // 请求后台
                    $.ajax({
@@ -668,7 +691,6 @@
                        ,data: 'json='+JSON.stringify(param)
                        ,dataType: 'json'
                        ,success: function(res) {
                            console.log(res);
                            var rs = JSON.parse(res.result);
                            if(rs.code == 1) {
                                layer.msg('设置完成!');
@@ -678,13 +700,20 @@
                                var rsList = [];
                                for(var i=0; i<data.length; i++) {
                                    var _data = data[i];
                                    rsList.push(_data);
                                }
                                var trIndex = getSetCurrIndex(data, tOptions.data);
                                // 被设置参数的机房
                                for(var i=0; i<trIndex.length; i++) {
                                    var _data = data[i];
                                    var _trIndex = trIndex[i];
                                    var _temp = {'doThings':''};
                                    if(_data.num==1) {
                                        _temp.setCurr = 1;
                                    }else {
                                        _temp.setCurr = 2;
                                    }
                                    rsList.push(_data);
                                    layuiTbl.updateTr(i, _temp);
                                }
                                
@@ -702,6 +731,7 @@
                
                // 构造批量设置放电参数的方法
                function getSetCurrParam(data, ratio) {
                    //console.log(data);
                    var rs = [];
                    for(var i=0; i<data.length; i++) {
                        var _data = data[i];
@@ -727,7 +757,8 @@
                            ,OnlineLowAction: ratio.OnlineVolLowAction    // 在线电压低处理
                            ,ChargeCurrSet: chargeCurr            // 充电电流
                            ,DCVolHighLimit: ratio.DCVolHighLimit // 升压上限
                            ,BattGroupNum: _data.MonCount        // 电池个数
                            ,BattGroupNum: _data.GroupIndexInFBSDevice+1        // 电池组的索引
                            ,StationName: _data.StationName                // 机房名称
                        }
                        
                        rs.push(temp);
@@ -835,24 +866,6 @@
                    setBTSPopupStatus($(this).attr('id'), $(this).val());
                });
                
                // 显示已经修改的参数
                $('#lookSetCurr').click(function() {
                    var rsList = $('#setCurrIframe').data('setCurr');
                    if(rsList.length == 0) {
                        layer.msg('暂无查看内容,请先设置放电参数!');
                        return;
                    }
                    // 显示面板
                    layer.open({
                        type: 2
                        ,area: ['1200px', '500px']
                        ,resize: false
                        ,content: 'iframe/setcurr.html'
                    });
                });
                // 启动测试
                $('#startTest').click(function() {
                    var rsList = $('#setCurrIframe').data('setCurr');
@@ -861,53 +874,17 @@
                        return;
                    }
                    
                    // 是否确定启动
                    layer.confirm('是否确定启动测试', {icon: 3, title: '系统提示'}, function(index) {
                        var param = getStartTestParam(rsList);
                        // 启动测试
                        ajaxStartTest(param);
                    // 显示面板
                    layer.open({
                        type: 2
                        ,area: ['1200px', '500px']
                        ,resize: false
                        ,maxmin: true
                        ,fixed: true
                        ,content: 'iframe/setcurr.html'
                    });
                    
                });
                // 构造启动测试的参数
                function getStartTestParam(param) {
                    for(var i=0; i<param.length; i++) {
                        param[i].op_cmd = startTest;
                        param[i].num = 0;
                    }
                    return param;
                }
                // 启动测试请求
                function ajaxStartTest(param) {
                    var load = layer.load(1)
                    // 请求后台
                    $.ajax({
                        type: 'post'
                        ,async: true
                        ,url: 'Fbs9100_setparamAction_action_updatePro_dis'
                        ,data: 'json='+JSON.stringify(param)
                        ,dataType: 'json'
                        ,success: function(res) {
                            var rs = JSON.parse(res.result);
                            if(rs.code == 1) {
                                var data = rs.data;
                                console.log(data)
                                layer.msg('启动成功');
                            }else {
                                layer.msg('启动失败');
                            }
                        }
                        ,complete: function() {
                            layer.close(load);
                        }
                    });
                }
                
                // 初始化设置参数的按钮
                var BTSBtn = {
@@ -965,6 +942,84 @@
                        BTSBtn.active();
                    }
                }
                // 获取设置放电参数的下标
                function getSetCurrIndex(setData, allData) {
                    var rs = [];
                    // 遍历setData
                    for(var i=0; i<setData.length; i++) {
                        var _setData = setData[i];
                        var setDevId = _setData.dev_id;
                        // 遍历allData
                        for(var k=0; k<allData.length; k++) {
                            var _allData = allData[i];
                            var allDevId = _allData.FBSDeviceId;
                            if(setDevId == allDevId) {
                                rs.push(k);
                            }
                        }
                    }
                    return rs;
                }
                //  更新设备状态
                var BTS9100 = GLOBAL.BTS9100;
                var workStates = BTS9100.workstates;
                var alarmStates = BTS9100.alarmstates;
                function updateDevStatus() {
                    var battlist = tOptions.data;
                    clearInterval(updateDevStatus.timer);
                    if(battlist.length > 0){
                        $.ajax({
                            type: "post",
                            url: "Fbs9100_setparamAction_action_serchByInfo",
                            async:true,
                            dataType:'text',
                            data:"json="+JSON.stringify(battlist),
                            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 obj = data[i];
                                        if(obj.fstate.num > 0){
                                            var str = '';
                                            var index = obj.fstate.dev_workstate;
                                            // 内阻测试(工作状态为0, 内阻测试不为0)
                                            if(obj.fstate.dev_workstate ==0 && obj.fstate.dev_res_test_state != 0) {
                                                index = 3;
                                            }
                                            // 设置文本值
                                            str = "状态:"    + workStates[index]+
                                                  ",告警:"+alarmStates[obj.fstate.dev_alarmstate]+
                                                  ",组端电压(V):"+obj.fstate.dev_captest_groupvol+
                                                  ",电流(A):"+obj.fstate.dev_captest_curr+
                                                  ",容量(AH):"+obj.fstate.dev_captest_cap;
                                             if(index == 3){
                                                 str = "状态:"+workStates[index]+
                                                       ",组号:"+obj.fstate.dev_testgroupnum+
                                                       ",当前单体编号:"+(obj.fstate.dev_restest_monindex+1)+
                                                       ",被测单体总数:"+obj.fstate.dev_restest_moncount;
                                             }
                                             var temp = {
                                                 devStatus: str            // 设备状态
                                                 ,testTime: formatSeconds(obj.fstate.dev_captest_timelong)        // 测试时长
                                                 ,signalNum: obj.fstate.dev_commcount
                                             }
                                            layuiTbl.updateTr(i, temp);
                                        }
                                    }
                                }
                                updateDevStatus.timer = setTimeout(updateDevStatus, 4000);
                            },
                        });
                    }
                }
            });
        </script>
    </body>
gx_tieta/WebRoot/iframe/setcurr.html
@@ -9,10 +9,37 @@
    <link rel="stylesheet" type="text/css" href="../pages/css/mylayui.css">
</head>
<body>
    <div class="layui-page-container">
        <!-- 页面主题内容 -->
        <div class="layui-page-content" style="position: relative;">
            <div class="layui-tbl-filter">
                <div class="layui-form layui-form-pane"  lay-filter="tblFilter">
                    <button class="layui-btn layui-btn-sm" id="startTest">批量启动测试</button>
                </div>
            </div>
    <table id="pageTbl" lay-filter="pageTbl"></table>
        </div>
    </div>
    <script type="text/html" id="OnlineLowActionText">
        {{# if(d.OnlineLowAction == 0){ }}
            停止测试
        {{# }else { }}
            继续测试
        {{# } }}
    </script>
    <script type="text/html" id="setStatus">
        {{# if(d.setCurr == 1){ }}
            <button class="layui-btn layui-btn-sm">设置成功</button>
        {{# }else if(d.setCurr == 2){ }}
                <button class="layui-btn layui-btn-sm layui-btn-danger">设置失败</button>
        {{# }else { }}
            <button class="layui-btn layui-btn-sm layui-btn-normal">未设置</button>
        {{# } }}
    </script>
    <script type="text/javascript" src="../js/jquery-1.8.3.js"></script>
    <script type="text/javascript" src="../js/base.js"></script>
    <script type="text/javascript" src="../src/layui.js"></script>
    <script type="text/javascript" src="../pages/js/common.js"></script>
    <script type="text/javascript" src="../pages/js/mylayui.js"></script>
    <script  type="text/javascript">
        layui.use(['form', 'laytpl', 'jquery', 'element', 'laydate', 'table'], function() {
@@ -29,34 +56,103 @@
            // 表格模块
            var tOptions = {
                elem: '#pageTbl'
                ,toolbar: false
                ,toolbar: true
                ,defaultToolbar: []
                ,cellMinWidth: 80
                ,cols: [[
                    {field:'dev_id', title:'设备ID', align:'center', width: 140}
                    ,{field:'BattGroupNum', title:'单体数量', align:'center', width: 140}
                    ,{field:'HourRate', title:'放电小时率', align:'center', width: 160}
                    ,{field:'DisCurr', title:'放电电流', align:'center', width: 160}
                    ,{field:'DisCap', title:'放电电容', align:'center', width: 160}
                    ,{field:'DisTime', title:'放电时长', align:'center', width: 160}
                    ,{field:'GroupVol_Low', title:'组端电压下限', align:'center', width: 220}
                    ,{field:'MonomerVol_Low', title:'单体电压下限', align:'center', width: 220}
                    {type:'checkbox',fixed: 'left'}
                    ,{field:'dev_id', title:'设备ID', align:'center', width: 140}
                    ,{field:'StationName', title:'机房名称', align:'center', width: 480}
                    ,{field:'BattGroupNum', title:'电池组索引', align:'center', width: 140}
                    ,{field:'DisCurr', title:'放电电流(A)', align:'center', width: 160}
                    ,{field:'DisCap', title:'放电容量(AH)', align:'center', width: 160}
                    ,{field:'DisTime', title:'放电时长(分钟)', align:'center', width: 160}
                    ,{field:'GroupVol_Low', title:'组端电压下限(V)', align:'center', width: 220}
                    ,{field:'MonomerVol_Low', title:'单体电压下限(V)', align:'center', width: 220}
                    ,{field:'MonomerLowCount', title:'单体数量下限', align:'center', width: 220}
                    ,{field:'MonomerTmp_High', title:'温度上限', align:'center', width: 140}
                    ,{field:'OnlineLowAction', title:'在线电压低处理', align:'center', width: 240}
                    ,{field:'ChargeCurrSet', title:'充电电流', align:'center', width: 140}
                    ,{field:'DCVolHighLimit', title:'升压上限', align:'center', width: 140}
                    ,{field:'MonomerTmp_High', title:'温度上限(℃)', align:'center', width: 140}
                    ,{field:'OnlineLowAction', title:'在线电压低处理', templet: '#OnlineLowActionText', align:'center', width: 240}
                    ,{field:'ChargeCurrSet', title:'充电电流(A)', align:'center', width: 140}
                    ,{field:'DCVolHighLimit', title:'升压上限(V)', align:'center', width: 140}
                    ,{field:'doThings', fixed: 'right', title: '设置状态', toolbar: '#setStatus', align: 'center', width: 140}
                ]]
                ,data: []
                ,limit: 20
                ,page: true
                ,limit: 10000
                ,page: false
                ,height: 'full-11'
            };
            for(var i=0; i<setCurr.length; i++) {
                tOptions.data.push(setCurr[i]);
                var _setCurr = setCurr[i];
                if(_setCurr.num==1) {
                    _setCurr.setCurr = 1;
                }else {
                    _setCurr.setCurr = 2;
                }
                tOptions.data.push(_setCurr);
            }
            // 渲染表格
            table.render(tOptions);
            var btsCmd = GLOBAL.CMD.BTS;        // 获取BTS的CMD
            var startTest = btsCmd.start;        // 获取BTS启动测试的CMD
            // 点击启动测试
            $('#startTest').click(function() {
                var checkStatus = table.checkStatus('pageTbl');
                var data = checkStatus.data;
                if(data.length == 0) {
                    layer.msg('请选择要启动的机房');
                    return;
                }
                // 是否确定启动
                layer.confirm('是否确定启动测试', {icon: 3, title: '系统提示'}, function(index) {
                    var param = getStartTestParam(data);
                    console.log(param);
                    return;
                    // 启动测试
                    ajaxStartTest(param);
                });
            });
            // 构造启动测试的参数
            function getStartTestParam(param) {
                for(var i=0; i<param.length; i++) {
                    param[i].op_cmd = startTest;
                    param[i].num = 0;
                }
                return param;
            }
            // 启动测试请求
            function ajaxStartTest(param) {
                var load = layer.load(1)
                // 请求后台
                $.ajax({
                    type: 'post'
                    ,async: true
                    ,url: 'Fbs9100_setparamAction_action_updatePro_dis'
                    ,data: 'json='+JSON.stringify(param)
                    ,dataType: 'json'
                    ,success: function(res) {
                        var rs = JSON.parse(res.result);
                        if(rs.code == 1) {
                            var data = rs.data;
                            layer.msg('启动成功');
                        }else {
                            layer.msg('启动失败');
                        }
                    }
                    ,complete: function() {
                        layer.close(load);
                    }
                });
            }
        });
    </script>
</body>