From 02ce7118d66a2a3a890f71e13e7b4c63b045ec06 Mon Sep 17 00:00:00 2001 From: CJJ <Administrator@192.168.10.25> Date: 星期五, 30 十一月 2018 17:10:17 +0800 Subject: [PATCH] 22222 --- gx_tieta/WebRoot/batt-station-update1.jsp | 156 ++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 110 insertions(+), 46 deletions(-) diff --git a/gx_tieta/WebRoot/batt-station-update1.jsp b/gx_tieta/WebRoot/batt-station-update1.jsp index da68f44..22d818d 100644 --- a/gx_tieta/WebRoot/batt-station-update1.jsp +++ b/gx_tieta/WebRoot/batt-station-update1.jsp @@ -130,7 +130,14 @@ <!-- 鏁翠綋鐏拌壊閬僵灞� --> <div id="allShade"></div> <script type="text/html" id="barDemo"> - <a class="layui-btn layui-btn-xs" lay-event="update">鍗囩骇</a> + {{# if(d.updatestatusnum != 1){ }} + <a class="layui-btn layui-btn-xs" lay-event="update">鍗囩骇</a> + {{# } }} + </script> + <script type="text/html" id="upProgress"> + <div class="layui-progress layui-progress-big" lay-showpercent="true" lay-filter="upload{{d.fbsid}}" style="margin-top:6px"> + <div class="layui-progress-bar" lay-percent="0%"></div> + </div> </script> <script type="text/javascript" src="js/jquery-1.8.3.js"></script> <script type="text/javascript" src="js/echarts.js"></script> @@ -143,6 +150,7 @@ var table = layui.table; // 鑾峰彇琛ㄦ牸妯″潡 var form = layui.form; // 鑾峰彇琛ㄥ崟妯″潡 var layer = layui.layer; // 鑾峰彇寮瑰嚭妗嗘ā鍧� + var element = layui.element; // 鑾峰彇鍏冪礌鎿嶄綔妯″潡 var isNewLoad = true; var pre_province = getQueryString('province'); @@ -372,9 +380,11 @@ ,{field:'stationid', title:'鏈烘埧ID', align:'center'} ,{field:'stationname', title:'鏈烘埧鍚嶇О', align:'center', width: 400} ,{field:'fbsid', title:'璁惧ID', align:'center'} - ,{field:'fbsname', title:'璁惧鍚嶇О', align:'center'} ,{field:'updatestatus', title:'鍗囩骇鐘舵��', align:'center'} + ,{field: 'version', title: '鐗堟湰鍙�', align: 'center'} + ,{field:'filename', title:'鍗囩骇鏂囦欢鍚�', align:'center'} ,{field:'status', title:'璇诲啓鐘舵��', align:'center'} + ,{field:'progress', title:'璇�/鍐欒繘搴�', align: 'center', templet:'#upProgress'} ,{field:'datapackage', title:'褰撳墠鏁版嵁鍖�', align:'center'} ,{fixed: 'right', title:'鎿嶄綔', align:'center', toolbar: '#barDemo', width:100} ]] @@ -486,17 +496,19 @@ var formaterData = formaterAddData(rs.data, allData); //瑙f瀽鏁版嵁 if(formaterData.length) { // 閬嶅巻formaterData + //console.log(formaterData); for(var i=0; i<formaterData.length; i++) { var _formaterData = formaterData[i]; var tmp = {}; tmp.stationid = _formaterData.StationId; // 鏈烘埧id tmp.stationname = _formaterData.StationName; // 鏈烘埧鍚嶇О tmp.fbsid = _formaterData.FBSDeviceId; // 璁惧id - tmp.fbsname = _formaterData.FBSDeviceName; // 璁惧鍚嶇О + tmp.filename = getFnameByVer(_formaterData.StationIp); // 鍗囩骇鏂囦欢鍚嶇О tmp.updatestatusnum = 0; // 0 绛夊緟鍗囩骇 tmp.updatestatus = '绛夊緟鍗囩骇'; // 鍗囩骇鐘舵�� tmp.status = '鍐�'; // 璇诲啓鐘舵�� tmp.datapackage = 1; // 褰撳墠鏁版嵁鍖� + tmp.version = _formaterData.StationIp; // 鐗堟湰鍙� tmp.isNewAdd = true; //console.log(tmp); allData.push(tmp); @@ -504,6 +516,7 @@ // 鐢熸垚琛ㄦ牸鏁版嵁 table.render(tOptions); + renderTblPorgess(allData); }else { layer.msg('娌℃湁瑕佹坊鍔犵殑鍐呭锛�'); } @@ -612,20 +625,23 @@ 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++) { var _data = rs.data[i]; var num = -1; - // 閬嶅巻鐜版湁鐨則blData + // 璁$畻杩涘害 + var currentPer = getStrPercent(_data.dfu_data_blocknum, _data.dfu_data_blocklen, _data.dfu_file_len, _data.dfu_wr_stat); + updateTblPorgress(_data.dev_id, currentPer); + //console.log(currentPer); + // 閬嶅巻鐜版湁鐨則blData/鏍规嵁琛ㄦ牸鐨勮鍒玦d瀵硅幏鍙栧埌鍊艰繘琛屾帓搴忎互渚垮搴旇〃鏍煎唴瀹� for(var k=0; k<tblData.length;k++) { var _tblData = tblData[k]; if(_tblData.fbsid == _data.dev_id) { num = k; break; } - } if(num == -1) { @@ -650,7 +666,7 @@ tmp.datapackage[num] = dfuData; } var pageTbl = $('#pageTbl'); - + //console.log(tmp); // 鏇存柊琛ㄦ牸鍐呭 Object.keys(tmp).forEach(function(key) { updateLayuiTblCol(pageTbl, key, tmp[key]); @@ -687,7 +703,7 @@ } - //楠岃瘉璁惧鏄惁鍏佽璁惧杩涜杩滅▼鍗囩骇 + // 楠岃瘉璁惧鏄惁鍏佽璁惧杩涜杩滅▼鍗囩骇 function checkStationState(temp, all){ $.ajax({ type: "post", @@ -701,12 +717,12 @@ if(rs.code == 1) { var data = rs.data; var updateData = checkUpdating(data, all); - var errorUpdate = checkErrorUpdate(data, all); - $('#updateIframeData').data('update', updateData); // 鍙洿鏂扮殑璁惧淇℃伅 - $('#updateIframeData').data('errorUpdate', errorUpdate); // 鏃犳硶鏇存柊鐨勮澶囦俊鎭� + $('#updateIframeData').data('update', updateData.good); // 鍙洿鏂扮殑璁惧淇℃伅 + $('#updateIframeData').data('errorUpdate', updateData.bad); // 鏃犳硶鏇存柊鐨勮澶囦俊鎭� + console.log(updateData); // 鍒ゆ柇鏄惁鏈夊崌绾х殑璁惧 - if(updateData.length == 0) { + if(updateData.good.length == 0) { if(temp.length == 1) { layer.msg('褰撳墠璁惧鏃犳硶鍗囩骇锛�'); }else { @@ -726,18 +742,24 @@ content: 'iframe/batt-station-update.html', btn: ['纭鍗囩骇', '鍙栨秷'], yes: function(index, layero) { - var updateData = $('#updateIframeData').data('update'); // 鑾峰彇鍙崌绾ц澶囩殑淇℃伅 + var goodUpdateData = $('#updateIframeData').data('update'); // 鑾峰彇鍙崌绾ц澶囩殑淇℃伅 // 鏍规嵁鍙崌绾ц澶囩殑淇℃伅鏋勯�犳煡璇㈡潯浠� var updateList = []; - for(var i=0; i<updateData.length; i++) { + for(var i=0; i<goodUpdateData.length; i++) { + var _data = goodUpdateData[i]; + //var filename = getFnameByVer(_data.version); var _tmp = { - dev_id: updateData[i].fbsid + dev_id: _data.fbsid + ,dfu_file: _data.filename }; - + console.log(_data); // 娣诲姞鍒拌澶囧崌绾у垪琛ㄤ腑 - updateList.push(_tmp); + if(_data.filename && _data.filename.length != 0) { + updateList.push(_tmp); + } + } - + //console.log(updateList); // 鍏抽棴寮瑰嚭闈㈡澘 layer.close(index); @@ -762,34 +784,12 @@ } - // 浠庤繑鍥炵殑鍙崌绾х殑璁惧涓墧闄ゆ鍦ㄥ崌绾х殑璁惧 + // 鏍煎紡璇濆崌绾х殑璁惧 function checkUpdating(rsData, all) { - var rs = []; - // 閬嶅巻all - for(var i=0; i<all.length; i++) { - var _all = all[i]; - var isError = true; - for(var k=0; k<rsData.length; k++) { - var _rsData = rsData[k]; - - // 鍒ゆ柇褰撳墠璁惧鏄惁姝e湪鍗囩骇 - if(_all.updatestatusnum == 1) { - isError = false; - } - } - - // 鏍规嵁isError鍒よ鏄惁鏄笉鍙坊鍔犵殑鏈烘埧 - if(isError) { - rs.push(_all); - } - } - - return rs; - } - - // 鑾峰彇鏃犳硶鍗囩骇鐨勮澶� - function checkErrorUpdate(rsData, all) { - var rs = []; + var rs = { + good: [] + ,bad: [] + }; // 閬嶅巻all for(var i=0; i<all.length; i++) { var _all = all[i]; @@ -807,7 +807,9 @@ // 鏍规嵁isError鍒よ鏄惁鏄笉鍙坊鍔犵殑鏈烘埧 if(isError) { - rs.push(_all); + rs.bad.push(_all); + }else { + rs.good.push(_all); } } @@ -859,6 +861,8 @@ tmp.fbsid = _data.dev_id; // 璁惧id tmp.fbsname = _data.fBSDeviceName; // 璁惧鍚嶇О tmp.updatestatusnum = 1; // 0 绛夊緟鍗囩骇 1姝e湪鍗囩骇 + tmp.version = _data.note; // 鐗堟湰鍙� + tmp.filename = _data.dfu_file; // 鍗囩骇鏂囦欢鍚嶇О tmp.updatestatus = '鍗囩骇涓�'; // 鍗囩骇鐘舵�� tmp.status = _data.dfu_wr_stat == 1?'鍐�':_data.dfu_wr_stat == 2?'璇�':_data.dfu_wr_stat == 3?'瀹屾垚':''; // 璇诲啓鐘舵�� tmp.datapackage = _data.dfu_data_blocknum; // 褰撳墠鏁版嵁鍖� @@ -869,11 +873,71 @@ // 鏇存柊琛ㄦ牸 table.render(tOptions); + renderTblPorgess(allData); } } }); } + // 娓叉煋杩涘害鏉� + function renderTblPorgess(tblData) { + // 閬嶅巻tblData鏍规嵁fbsid娓叉煋杩涘害鏉� + for(var i=0; i<tblData.length; i++) { + var fbsid = tblData[i].fbsid; + + // 娓叉煋杩涘害鏉� + element.render('progress', 'upload'+fbsid); + } + + } + + // 鏇存柊杩涘害鏉� + function updateTblPorgress(fbsid, percent) { + + // 鏇存柊杩涘害鏉� + element.progress('upload'+fbsid, percent); + } + + // 璁$畻杩涘害 + function getStrPercent(current, blocklen, all, status) { + var rs = '0%'; + if(all != 0) { + var num = Math.ceil(current*blocklen*100/all); + if(num>=100) { + num = status == 1?'鍐欏畬鎴�':'鍗囩骇瀹屾垚'; + + } + + rs = num+'%'; + } + + return rs; + } + //console.log(getFnameByVer('D:8,V2.53.40')); + // 鏇村叿鐗堟湰鍙疯幏鍙栨枃浠剁殑鍚嶇О + function getFnameByVer(version) { + var fileList = [ + { + filename: 'avr_dfu.uc3' + ,pattern: /^.*\.24\.[0-9]*$/ + } + ,{ + filename: 'E51_DFU.SM5' + ,pattern: /^.*\.53\.[0-9]*$/ + } + ]; + + // 閬嶅巻骞惰幏鍙杅ilename + var filename = undefined; + for(var i=0; i<fileList.length; i++) { + var _fileList = fileList[i]; + if(_fileList.pattern.test(version)) { + filename = _fileList.filename; + } + } + + return filename; + } }); </script> </body> -- Gitblit v1.9.1