From 1c6c2939c18a0dc3968ea04e398f6fb0ef3396f4 Mon Sep 17 00:00:00 2001 From: hdw <496960745@qq.com> Date: 星期四, 29 十一月 2018 11:41:04 +0800 Subject: [PATCH] 设备更新 --- gx_tieta/WebRoot/batt-station-update1.jsp | 131 +++++++++++++++++++++++++++++-------------- 1 files changed, 87 insertions(+), 44 deletions(-) diff --git a/gx_tieta/WebRoot/batt-station-update1.jsp b/gx_tieta/WebRoot/batt-station-update1.jsp index db93004..22d818d 100644 --- a/gx_tieta/WebRoot/batt-station-update1.jsp +++ b/gx_tieta/WebRoot/batt-station-update1.jsp @@ -380,10 +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:'progress', title:'璇�/鍐欒繘搴�', align: 'center', templet:'#upProgress'} ,{field:'datapackage', title:'褰撳墠鏁版嵁鍖�', align:'center'} ,{fixed: 'right', title:'鎿嶄綔', align:'center', toolbar: '#barDemo', width:100} ]] @@ -495,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); @@ -622,12 +625,16 @@ 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; + // 璁$畻杩涘害 + 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]; @@ -696,7 +703,7 @@ } - //楠岃瘉璁惧鏄惁鍏佽璁惧杩涜杩滅▼鍗囩骇 + // 楠岃瘉璁惧鏄惁鍏佽璁惧杩涜杩滅▼鍗囩骇 function checkStationState(temp, all){ $.ajax({ type: "post", @@ -710,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 { @@ -735,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); @@ -771,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]; @@ -816,7 +807,9 @@ // 鏍规嵁isError鍒よ鏄惁鏄笉鍙坊鍔犵殑鏈烘埧 if(isError) { - rs.push(_all); + rs.bad.push(_all); + }else { + rs.good.push(_all); } } @@ -868,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; // 褰撳墠鏁版嵁鍖� @@ -878,11 +873,11 @@ // 鏇存柊琛ㄦ牸 table.render(tOptions); + renderTblPorgess(allData); } } }); } - // 娓叉煋杩涘害鏉� function renderTblPorgess(tblData) { @@ -895,6 +890,54 @@ } } + + // 鏇存柊杩涘害鏉� + 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