hdw
2018-10-08 8b16e6d7c03512e5e11eaee1170aa4d830d9d811
gx_tieta/WebRoot/ele-match-group.jsp
@@ -66,7 +66,8 @@
         <input type="radio" data-max="80" data-min="70" id="cap70" name="perCap" lay-skin="primary" title="70%~80%" {{ d.cap70 }}>
         <input type="radio" data-max="70" data-min="60" id="cap60" name="perCap" lay-skin="primary" title="60%~70%" {{ d.cap60 }}>
         <input type="radio" data-max="60" data-min="0" id="cap0" name="perCap" lay-skin="primary" title="60%以下" {{ d.cap0 }}>
         <button class="layui-btn layui-btn-sm" lay-event="startMatchGroup">启动配组</button>
         <button class="layui-btn layui-btn-sm" lay-event="startMatchGroup">分组/排序</button>
         <button class="layui-btn layui-btn-sm" lay-event="matchRecord">配组记录</button>
        </div>
   </script>
   
@@ -130,7 +131,8 @@
            ,defaultToolbar: ['exports', 'filter']
            ,cellMinWidth: 80
            ,cols: [[
               {field:'stationname', title:'机房名称', align:'center', width: 380}
              {type: 'radio', fixed: 'left'}
               ,{field:'stationname', title:'机房名称', align:'center', width: 380}
               ,{field:'groupname', title:'电池组名称', align:'center'}
               ,{field:'monnum', title:'单体编号', align:'center'}
               ,{field:'brandname', title:'品牌名称', align:'center'}
@@ -295,9 +297,19 @@
         //头工具栏事件
           table.on('toolbar(groupTbl)', function(obj){
              var event = obj.event;
              var checkStatus = table.checkStatus(obj.config.id);
              // 根据事件名调用对应的函数
              switch(event){
                 case 'startMatchGroup':
                    startMatchGroup(obj.config);
                    if(allGroup.length !=0) {
                       startMatchGroup(obj.config);
                    }else {
                       layer.msg('没有要组合/排序的内容');
                    }
                 break;
                 case 'matchRecord':
                    console.info(checkStatus);
                 break;
              }
              
@@ -307,7 +319,7 @@
                 var data= getDataByRange(allGroup, toolBarStatus.range);
                 var fData = toolBarStatus.brandAgreement.length>0?formaterData(data):formaterData2(data);
                 var rsData = decodeObj(fData);
                 console.log(rsData);
                 // 设置表格的数据
               num = rsData.length;
               tOptions.data = rsData;
@@ -396,11 +408,12 @@
              // 解码对象
              function decodeObj(obj) {
                 var rs = [];
                 // 遍历当前对象的属性
                 Object.keys(obj).forEach(function(key){
                    decodeObjRec(rs, obj[key]);
                    decodeObjRec(rs, obj[key]);      // 获取排序后的结果集(利用数组的引用传递功能)
                 });
                 //console.log(rs);
                 return rs;
                 return rs;   // 返回结果集
              }
              
              // 解码递归函数
@@ -408,21 +421,25 @@
                 if(obj instanceof Array) {
                    var tmp = [];
                    for(var i=0; i<obj.length; i++) {
                       var cap = obj[i].relcap;
                       var cap = Number(obj[i].relcap);   // 将字符串转化为整数
                       var _index = tmp.length;
                       for(var k=0; k<tmp.length; k++) {
                          if(tmp[k].relcap<cap) {
                          var _cap = Number(tmp[k].relcap);   // 将字符串转化为整数
                          // 比较实际容量的值(对比时将字符串转化为整数型)
                          if(_cap<cap) {
                             _index = k;
                             break;
                          }
                       }
                       // 将当前数据插入到_index位置,实现排序功能
                       tmp.splice(_index, 0, obj[i]);
                    }
                    // 遍历被排序后的数组将值添加到结果集中
                    for(var i=0; i<tmp.length; i++) {
                       rs.push(tmp[i]);
                    }
                 }else {
                    // 递归函数
                    Object.keys(obj).forEach(function(key){
                       decodeObjRec(rs, obj[key]);
                    });