D:/workspace/chenjingjing/git/gx_tieta/gx_tieta/.gitignore
2019-01-18 2fe250ece8de95b3f70172fe5b45793ab6a3084a
gx_tieta/WebRoot/batt-station-update1.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>BTS设备升级</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">
@@ -151,6 +151,27 @@
              var form = layui.form;         // 获取表单模块
              var layer = layui.layer;      // 获取弹出框模块
              var element = layui.element;   // 获取元素操作模块
              // 设置检测文件名弹出框的content
              var cFilenameContent = '<div style="width:300px; height: 110px;"><div style="margin-top: 20px;margin-left: 8px; margin-right: 8px; text-algin: center;">'+
                              '<span>选择文件名:</span>'+
                              '<select id="equipeTypeSel" style="width: 200px;height: 26px; border: 1px solid #ccc">'+
                                 '<option value="avr_dfu.uc3">avr_dfu.uc3</option>'+
                                 '<option value="E51_DFU.SM5">E51_DFU.SM5</option>'+
                              '</select><br><br>'+
                              '<span>系&nbsp;统&nbsp;类&nbsp;型:</span>'+
                              '<select id="sysType" style="width: 200px;height: 26px; border: 1px solid #ccc">'+
                                 '<option value="12">1U</option>'+
                                 '<option value="2">2U</option>'+
                              '</select><br><br>'+
                              '<span>输入版本号:</span>'+
                              '<input type="text" id="newestVer" style="width: 200px;height: 24px; border: 1px solid #ccc">'+
                           '</div></div>';
            var cVerContent = '<div style="width:300px; height: 50px;"><div style="margin-top: 20px;margin-left: 8px; margin-right: 8px; text-algin: center;">'+
                              '<span>输入版本号:</span>'+
                              '<input type="text" id="newestVer" style="width: 200px;height: 24px; border: 1px solid #ccc">'+
                           '</div></div>';
              
            var isNewLoad = true;
            var pre_province = getQueryString('province');
@@ -414,8 +435,26 @@
                  updateList.push(data[i].fbsid);
               }
               
               // 打开面板设置升级设别的类型
               layer.open({
                  type: 1
                  ,title: '升级文件名/版本号'
                  ,content: cFilenameContent
                  ,fixed: true
                  ,resize: false
                  ,btn:['设置', '取消']
                  ,yes: function(index) {
                     var filename = $('#equipeTypeSel').val();
                     var newestVer = $('#newestVer').val();
                     var sysType = $('#sysType').val();
                     // 校验要更新的设备
                     checkStationState(updateList, data, filename, newestVer, sysType);
                     layer.close(index);
                  }
               });
               // 校验要更新的设备
               checkStationState(updateList, data);
               // checkStationState(updateList, data);
            });
            
            // 点击表格的toolbar
@@ -438,8 +477,24 @@
               var updateList = [data.fbsid];
               var allData = [data];
               
               // 校验要更新的设备
               checkStationState(updateList, allData);
               // 打开面板设置升级设别的类型
               layer.open({
                  type: 1
                  ,title: '升级文件名/版本号'
                  ,content: cFilenameContent
                  ,fixed: true
                  ,resize: false
                  ,btn:['设置', '取消']
                  ,yes: function(index) {
                     var newestVer = $('#newestVer').val();
                     var sysType = $('#sysType').val();
                     // 校验要更新的设备
                     checkStationState(updateList, allData, data.filename, newestVer, sysType);
                     layer.close(index);
                  }
               });
            }
            
            // 点击添加生成表格
@@ -625,7 +680,7 @@
                          status: [],
                          datapackage: []
                       };
                       console.log(rs);
                       //console.log(rs);
                       if(rs.code == 1 && rs.data.length>0){
                          var tblData = tOptions.data;
                          for(var i=0; i<rs.data.length; i++) {
@@ -704,7 +759,7 @@
            
            
            // 验证设备是否允许设备进行远程升级
            function checkStationState(temp, all){
            function checkStationState(temp, all, filename, newestVer, sysType){
               $.ajax({    
                    type: "post",             
                    url: "Fbs9100s_dfu_stateAction_action_judgeStation",            
@@ -716,11 +771,11 @@
                       //console.log(rs);
                       if(rs.code == 1) {
                          var data = rs.data;
                          var updateData = checkUpdating(data, all);
                          var updateData = checkUpdating(data, all, filename, newestVer, sysType);
                          $('#updateIframeData').data('update', updateData.good);            // 可更新的设备信息
                          $('#updateIframeData').data('errorUpdate', updateData.bad);   // 无法更新的设备信息 
                          
                          console.log(updateData);
                          //console.log(updateData);
                          // 判断是否有升级的设备
                          if(updateData.good.length == 0) {
                             if(temp.length == 1) {
@@ -736,7 +791,7 @@
                        layer.open({
                           type: 2,
                           title: '更新设备',
                           area: ['700px', '524px'],
                           area: ['960px', '524px'],
                           fixed: false, //不固定
                           maxmin: true,
                           content: 'iframe/batt-station-update.html',
@@ -760,9 +815,10 @@
                                 
                              }
                              //console.log(updateList);
                              //return;
                              // 关闭弹出面板
                              layer.close(index);
                              // console.log(updateList);
                              // 升级设备
                              updateBTSDevice(updateList);
                              //console.log(updateList);
@@ -785,7 +841,7 @@
            }
            
            // 格式话升级的设备
            function checkUpdating(rsData, all) {
            function checkUpdating(rsData, all, filename, newestVer, sysType) {
               var rs = {
                  good: []
                  ,bad: []
@@ -799,8 +855,13 @@
                     
                     // 判断当前设备是否正在升级
                     if(_all.updatestatusnum != 1) {
                        if(_all.fbsid == _rsData.FBSDeviceId) {
                           isError = false;
                        if(_all.fbsid == _rsData.FBSDeviceId && _all.filename == filename) {
                           // 检测当前版本号是否为最新
                           var isNewstVer = checkNewestVer(newestVer, _all.version);
                           var isSysType = checkSysType(sysType, _all.version);
                           if(!isNewstVer && isSysType) {
                              isError = false;
                           }
                        }
                     }
                  }
@@ -914,7 +975,7 @@
               return rs;
            }
            //console.log(getFnameByVer('D:8,V2.53.40'));
            // 更具版本号获取文件的名称
            // 根据版本号获取文件的名称
            function getFnameByVer(version) {
               var fileList = [
                  {
@@ -938,6 +999,35 @@
               
               return filename;
            }
            //console.log(checkNewestVer('42', 'D:8,V2.53.44'));
            // 验证版本
            function checkNewestVer(ver ,version) {
               var pattern = '^.*\\.[0-9]*\\.([0-9]*)$';
               var reg = new RegExp(pattern);
               reg.test(version);
               // 判断当前版本是否为最新版本
               var isNewest = false;
               if(ver == RegExp.$1) {
                  isNewest = true;
               }
               return isNewest;
            }
            //checkSysType('12', 'D:8,V12.53.44');
            // 验证当前版本2v/12v
            function checkSysType(sys ,version) {
               var pattern = '^.*V([0-9]*)\\.[0-9]*\\.[0-9]*$';
               var reg = new RegExp(pattern);
               reg.test(version);
               //console.log(RegExp.$1);
               var rs = false;
               if(sys == RegExp.$1) {
                  rs = true;
               }
               // console.log(rs);
               return rs;
            }
           });
        </script>
    </body>