D:/workspace/chenjingjing/git/gx_tieta/gx_tieta/.gitignore
2019-01-14 920004ebb4f6305d0be692db20a5a15839985394
gx_tieta/WebRoot/bat-set-test.jsp
@@ -163,6 +163,8 @@
                  <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="sysSet">批量设置电池参数</button>
                     <button class="layui-btn layui-btn-sm" id="batchRead">批量读取电池参数</button>
                     <span class="mrl8">选中个数/总数:</span>
                     <button class="layui-btn layui-btn-sm" id="qNumber">0/0</button>
                  </div>
               </div>
               <!-- 表格内容 -->
@@ -172,6 +174,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) { }}
@@ -588,6 +591,16 @@
              // 更新表格的对象
              var layuiTbl = new LayuiTbl(tOptions, layui, laytpl, table.cache.pageTbl);
              
              // 统计已选中个数和添加到表格中数据的个数
              var quantNum = new QuantNumber($('#qNumber'));
              // 表格复选框点击监测
              table.on('checkbox(pageTbl)', function(obj){
                 var checkStatus = table.checkStatus('pageTbl'); //idTest 即为基础参数 id 对应的值
                 var checkData = checkStatus.data;      // 被选中的数据
                 quantNum.setMol(checkData.length);
              });
              // 点击表格中同步的按钮
              $('.layui-page-content').on('click', '.layui-table-header .fa', function() {
                 var title = $(this).attr('title');
@@ -804,30 +817,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);
                    // 请求后台
@@ -879,7 +916,6 @@
                 });
              }
              
              // 点击添加电池组
              $('#setCurrIframe').data('setCurr', []);
              $('#batchAdd').click(function() {
@@ -925,6 +961,8 @@
                       }
                       
                       tOptions.data = data;
                       // 统计添加到表格中的个数
                       quantNum.set(0, data.length);
                       //console.log(data);
                         // 生成表格数据
                     table.render(tOptions);
@@ -977,6 +1015,7 @@
            
            // 处理添加机房信息的结果
            function formatSearchData(data) {
               console.log(data);
               var rs = [];
               // 遍历data的
               for(var i=0; i<data.length; i++) {
@@ -989,7 +1028,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 +1118,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 +1133,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>