hdw
2019-01-11 010e1bb8410ce794c62fe2696134d2c6f6eefbb3
批量电池参数设置读取失败过滤添加
1个文件已添加
1个文件已修改
226 ■■■■■ 已修改文件
gx_tieta/WebRoot/bat-set-test.jsp 75 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/iframe/bat-set-test.html 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/bat-set-test.jsp
@@ -172,6 +172,7 @@
        <!-- 存储set-curr.html的信息 -->
        <div id="setCurrIframe"></div>
        <div id="setCurrBtn"></div>
        <div id="batSetTest"></div>
        <!-- 设备工作状态 -->
        <script type="text/html" id="devStatus">
            {{# if(d.devStatus) { }}
@@ -804,30 +805,54 @@
                        return;
                    }
                    
                    var data = getCheckedData(cData);        // 格式化被选中行数据
                    var keyIds= getKeyId(cData);            // 获取标识符
                    var rsData = [];
                    for(var i=0; i<data.length; i++) {
                        var _data = data[i];
                        _data.op_cmd = battParam.set;
                        _data.num = 0;
                        rsData.push(_data);
                    let goodAndBadHome = getGoodAndBadHome(cData);
                    let goodHome = goodAndBadHome.good;
                    // 判断goodHome
                    if(goodHome.length == 0) {
                        layer.msg('请选择读取成功的机房');
                        return;
                    }
                    
                    // 批量设置
                    batchSetBattParams(rsData, keyIds);
                    // 设置内容
                    $('#batSetTest').data('goodAndBadHome', goodAndBadHome);
                    // 打开面板
                    layer.open({
                        type: 2
                        ,title: '电池参数设置提示'
                        ,area: ['1200px', '500px']
                        ,content: 'iframe/bat-set-test.html'
                        ,btn:['确定', '取消']
                        ,yes: function(sysSetTestIndex) {
                            var keyIds= getKeyId(goodHome);            // 获取标识符
                            var rsData = [];
                            for(var i=0; i<goodHome.length; i++) {
                                var _data = goodHome[i];
                                _data.op_cmd = battParam.set;
                                _data.num = 0;
                                rsData.push(_data);
                            }
                            // 批量设置
                            batchSetBattParams(rsData, keyIds, sysSetTestIndex);
                        }
                    });
                    var data = getCheckedData(cData);        // 格式化被选中行数据
                    var keyIds= getKeyId(cData);            // 获取标识符
                });
                
                // 设置添加操作的字符串
                var addBattStr = '';
                // 批量设置放电参数
                function batchSetBattParams(params, keys) {
                function batchSetBattParams(params, keys, sIndex) {
                    // 判断data的值是否为空
                    if(params.length == 0) {
                        layer.msg('请选择要批量设置的机房!');
                    }
                    // 判断是否批量设置
                    layer.confirm('是否确认批量设置电池参数', {icon: 3, title: '批量设置提醒'}, function(index) {
                        layer.close(sIndex);
                        layer.close(index);
                        var loading = layer.load(1);
                        // 请求后台
@@ -878,7 +903,6 @@
                        });
                    });
                }
                
                // 点击添加电池组
                $('#setCurrIframe').data('setCurr', []);
@@ -977,6 +1001,7 @@
                
                // 处理添加机房信息的结果
                function formatSearchData(data) {
                    console.log(data);
                    var rs = [];
                    // 遍历data的
                    for(var i=0; i<data.length; i++) {
@@ -989,7 +1014,7 @@
                        tmp.key_id = i;
                        tmp.dev_id = obj.dev_id;                    // 设备ID
                        tmp.dev_ip = obj.dev_ip;                    // 设备IP
                        tmp.StationName = obj.StationName;            // 机房名称
                        tmp.StationName = _data.StationName;            // 机房名称
                        tmp.GroupConnType = 0;                        // 电池组连接类型
                        tmp.StationName9 = _data.StationName9;        // 设备版本号
                        
@@ -1079,6 +1104,7 @@
                        tmp.FloatChargeVol = _data.FloatChargeVol;            // 电池浮充电压阀值(V)
                        tmp.FloatChargeCurr = _data.FloatChargeCurr;        // 电池浮充电流阀值(A)
                        tmp.OnlineVolLow = _data.OnlineVolLow;                // 在线电压低阀值(V)
                        tmp.readStatus = _data.readStatus;                    // 读取状态
                        // 将数据放到返回的结果集中
                        rs.push(tmp);
                    }
@@ -1093,6 +1119,29 @@
                    rsString += '-'+(data.GroupIndexInFBSDevice == '0'?'电池组1': '电池组2');
                    return rsString;
                }
                // 根据readStatus的值设置电池参数的值区分可设置参数的机房信息/不可设置参数的机房
                function getGoodAndBadHome(data) {
                    let rs = {
                        good: []
                        ,bad: []
                    };
                    // 遍历data的值
                    for(var i=0; i<data.length; i++) {
                        let _data = data[i];
                        let status = _data.readStatus;
                        if(status) {
                            rs.good.push(_data);
                        }else {
                            rs.bad.push(_data);
                        }
                    }
                    return rs;
                }
            });
        </script>
    </body>
gx_tieta/WebRoot/iframe/bat-set-test.html
New file
@@ -0,0 +1,151 @@
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>电池参数设置</title>
       <link rel="stylesheet" href="../src/css/layui.css">
       <link rel="stylesheet" href="../pages/css/mylayui.css">
       <style>
           html,body{
               min-width: 400px;
           }
        body.homeinfo-tab .layui-tab {
            margin: 0;
        }
        body.homeinfo-tab .layui-tab-card{
            border: none;
        }
        body.homeinfo-tab .layui-tab-content {
            padding: 0;
        }
    </style>
</head>
<body class="homeinfo-tab">
    <div class="layui-tab layui-tab-card" lay-filter="homeInfo">
        <ul class="layui-tab-title">
            <li class="layui-this">可设置机房<span class="layui-badge" id="goodHomeNum">0</span></li>
            <li>不可设置机房<span class="layui-badge" id="badHomeNum">0</span></li>
        </ul>
        <div class="layui-tab-content">
               <div class="layui-tab-item layui-show">
                   <table id="pageTblGood" lay-filter="pageTblGood"></table>
               </div>
               <div class="layui-tab-item">
                   <table id="pageTblBad" lay-filter="pageTblBad"></table>
               </div>
           </div>
    </div>
    <!-- 读取状态 -->
    <script type="text/html" id="readStatus">
        {{# if(d.readStatus == 1){ }}
            <button class="layui-btn layui-btn-sm layui-btn-normal">读取成功</button>
        {{# }else { }}
            <button class="layui-btn layui-btn-sm layui-btn-danger">读取失败</button>
        {{# } }}
    </script>
    <script type="text/javascript" src="../js/jquery-1.8.3.js"></script>
    <script type="text/javascript" src="../src/layui.js"></script>
    <script type="text/javascript">
        layui.use(['table', 'element'], function() {
            let table = layui.table;        // 获取table模块
            let element = layui.element;    // 获取element模块
            // 切换选择卡
            element.on('tab(homeInfo)', function(elem){
                $(window).resize();
            });
            // 可设置机房表格的配置项
            let goodTblOpts = {
                elem: '#pageTblGood'
                ,toolbar: false
                ,defaultToolbar: []
                ,cellMinWidth: 80
                ,cols: [[
                   {field:'dev_id', title:'设备ID', align:'center', width: 160}
                    ,{field:'StationName', title:'机房名称', align:'center', width: 470}
                    ,{field:'STD_CAP', title:'电池标称容量(AH)', templet: '#STD_CAP', align:'center', width: 220}
                    ,{field:'STD_RES', title:'电池标称内阻(uΩ)', templet: '#STD_RES', align:'center', width: 220}
                    ,{field:'BattGroupCount', title:'电池组组数', templet: '#BattGroupCount', align:'center', width: 180}
                    ,{field:'EachGroupBattCount', title:'每组电池单体数量', templet: '#EachGroupBattCount', align:'center', width: 220}
                    ,{field:'MonomerVol', title:'单体标称电压(V)', templet: '#MonomerVol', align:'center', width: 220}
                    ,{field:'StationName9', title:'设备版本号', align:'center', width: 180}
                    ,{field:'GroupVol', title:'电池组端标称电压(V)', align:'center', width: 220}
                    ,{field:'BattTemp', title:'电池标称温度(℃) ', templet: '#BattTemp', align:'center', width: 220}
                    ,{field:'FloatChargeVol', title:'电池浮充电压阀值(V) ', templet: '#FloatChargeVol', align:'center', width: 220}
                    ,{field:'FloatChargeCurr', title:'电池浮充电流阀值(A) ', templet: '#FloatChargeCurr', align:'center', width: 220}
                    ,{field:'OnlineVolLow', title:'在线电压低阀值(V) ', templet: '#OnlineVolLow', align:'center', width: 220}
                    ,{field:'GroupConnType', title:'电池组连接类型', templet: '#GroupConnType', align:'center', width: 220}
                    ,{field:'readStatus', fixed:'right', title:'读取状态', templet: '#readStatus', align:'center', width: 120}
                ]]
                ,data:[]
                ,limit: 10000
                ,page: false
                ,height: 'full-45'
            };
            let badTblOpts = {
                elem: '#pageTblBad'
                ,toolbar: false
                ,defaultToolbar: []
                ,cellMinWidth: 80
                ,cols: [[
                    {field:'dev_id', title:'设备ID', align:'center', width: 160}
                    ,{field:'StationName', title:'机房名称', align:'center', width: 470}
                    ,{field:'STD_CAP', title:'电池标称容量(AH)', templet: '#STD_CAP', align:'center', width: 220}
                    ,{field:'STD_RES', title:'电池标称内阻(uΩ)', templet: '#STD_RES', align:'center', width: 220}
                    ,{field:'BattGroupCount', title:'电池组组数', templet: '#BattGroupCount', align:'center', width: 180}
                    ,{field:'EachGroupBattCount', title:'每组电池单体数量', templet: '#EachGroupBattCount', align:'center', width: 220}
                    ,{field:'MonomerVol', title:'单体标称电压(V)', templet: '#MonomerVol', align:'center', width: 220}
                    ,{field:'StationName9', title:'设备版本号', align:'center', width: 180}
                    ,{field:'GroupVol', title:'电池组端标称电压(V)', align:'center', width: 220}
                    ,{field:'BattTemp', title:'电池标称温度(℃) ', templet: '#BattTemp', align:'center', width: 220}
                    ,{field:'FloatChargeVol', title:'电池浮充电压阀值(V) ', templet: '#FloatChargeVol', align:'center', width: 220}
                    ,{field:'FloatChargeCurr', title:'电池浮充电流阀值(A) ', templet: '#FloatChargeCurr', align:'center', width: 220}
                    ,{field:'OnlineVolLow', title:'在线电压低阀值(V) ', templet: '#OnlineVolLow', align:'center', width: 220}
                    ,{field:'GroupConnType', title:'电池组连接类型', templet: '#GroupConnType', align:'center', width: 220}
                    ,{field:'readStatus', fixed:'right', title:'读取状态', templet: '#readStatus', align:'center', width: 120}
                ]]
                ,data:[]
                ,limit: 10000
                ,page: false
                ,height: 'full-45'
            };
            // 渲染表格可设置机房的表格
            table.render(goodTblOpts);
            // 渲染不可设置机房的表格
            table.render(badTblOpts);
            let goodAndBadHome = parent.$('#batSetTest').data('goodAndBadHome');
            goodAndBadHome = goodAndBadHome?goodAndBadHome:{good:[], bad:[]};
            //console.log(goodAndBadHome);
            // 设置good的值
            for(let i=0, len=goodAndBadHome.good.length; i<len; i++) {
                let _good = goodAndBadHome.good[i];
                goodTblOpts.data.push(_good);
            }
            // 设置不可以设置机房的个数
            $('#goodHomeNum').text(goodTblOpts.data.length);
            // 渲染表格可设置机房的表格
            table.render(goodTblOpts);
            // 设置bad的值
            for(let i=0, len=goodAndBadHome.bad.length; i<len; i++) {
                let _bad = goodAndBadHome.bad[i];
                badTblOpts.data.push(_bad);
            }
            // 设置不可以设置机房的个数
            $('#badHomeNum').text(badTblOpts.data.length);
            // 渲染不可设置机房的表格
            table.render(badTblOpts);
        });
    </script>
</body>
</html>