From 535709f818914fcadade908675968425698ba6de Mon Sep 17 00:00:00 2001 From: hdw <hdw@192.168.7.127> Date: 星期二, 08 一月 2019 14:25:27 +0800 Subject: [PATCH] 电池参数批量设置 修改 --- gx_tieta/WebRoot/bat-set-test.jsp | 337 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 319 insertions(+), 18 deletions(-) diff --git a/gx_tieta/WebRoot/bat-set-test.jsp b/gx_tieta/WebRoot/bat-set-test.jsp index 9768896..526ae3c 100644 --- a/gx_tieta/WebRoot/bat-set-test.jsp +++ b/gx_tieta/WebRoot/bat-set-test.jsp @@ -68,7 +68,6 @@ <td>鍖�/鍘�</td> <!-- 甯� --> <td><s:text name="Computer_name"/></td> <!-- 鏈烘埧鍚嶇О --> <td>绯荤粺绫诲瀷</td> - </tr> <tr> <td> @@ -163,7 +162,7 @@ </div> <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> </div> </div> <!-- 琛ㄦ牸鍐呭 --> @@ -195,15 +194,6 @@ {{d.signalNum}} {{# }else{ }} 锛燂紵锛� - {{# } }} - </script> - <script type="text/html" id="setStatus"> - {{# if(d.setCurr == 1){ }} - <button class="layui-btn layui-btn-sm">璁剧疆鎴愬姛</button> - {{# }else if(d.setCurr == 2){ }} - <button class="layui-btn layui-btn-sm layui-btn-danger">璁剧疆澶辫触</button> - {{# }else { }} - <button class="layui-btn layui-btn-sm layui-btn-normal">鏈缃�</button> {{# } }} </script> <!-- STD_CAP --> @@ -286,7 +276,28 @@ <span style="color: #FF0000;">{{ d.OnlineVolLow }}</span> {{# } }} </script> - + <!-- 鎿嶄綔鏍� --> + <script type="text/html" id="doThings"> + <button class="layui-btn layui-btn-sm layui-btn-normal" lay-event="read">璇诲彇</button> + </script> + <!-- 璇诲彇鐘舵�� --> + <script type="text/html" id="readStatus"> + {{# if(d.readStatus == 1){ }} + <button class="layui-btn layui-btn-sm layui-btn-normal">璇诲彇鎴愬姛</button> + {{# }else { }} + <button class="layui-btn layui-btn-sm layui-btn-danger">璇诲彇澶辫触</button> + {{# } }} + </script> + <!-- 璁剧疆鐘舵�� --> + <script type="text/html" id="setStatus"> + {{# if(d.setStatus == 1){ }} + <button class="layui-btn layui-btn-sm layui-btn-normal">璁剧疆鎴愬姛</button> + {{# }else if(d.setStatus == 2) { }} + <button class="layui-btn layui-btn-sm layui-btn-danger">璁剧疆澶辫触</button> + {{# }else { }} + <button class="layui-btn layui-btn-sm layui-btn-disabled">鏈缃�</button> + {{# } }} + </script> <script type="text/javascript" src="js/jquery-1.8.3.js"></script> <script type="text/javascript" src="js/echarts.js"></script> <script type="text/javascript" src="jqueryui/jquery-ui.min.js"></script> @@ -549,20 +560,21 @@ {type:'checkbox',fixed: 'left'} ,{field:'dev_id', title:'璁惧ID', align:'center', width: 160} ,{field:'StationName', title:'鏈烘埧鍚嶇О', align:'center', width: 470} + ,{field:'readStatus', title:'璇诲彇鐘舵��', templet: '#readStatus', align:'center', width: 120} + ,{field:'setStatus', title:'璁剧疆鐘舵��', templet: '#setStatus', align:'center', width: 120} ,{field:'STD_CAP', title:'鐢垫睜鏍囩О瀹归噺锛圓H锛�<i class="fa fa-refresh" title="鍚屾鐢垫睜鏍囩О瀹归噺鍙傛暟"></i>', templet: '#STD_CAP', align:'center', width: 220} ,{field:'STD_RES', title:'鐢垫睜鏍囩О鍐呴樆锛坲惟锛�<i class="fa fa-refresh" title="鍚屾鐢垫睜鏍囩О鍐呴樆鍙傛暟"></i>', templet: '#STD_RES', align:'center', width: 220} ,{field:'BattGroupCount', title:'鐢垫睜缁勭粍鏁� <i class="fa fa-refresh" title="鍚屾鐢垫睜缁勭粍鏁板弬鏁�"></i>', templet: '#BattGroupCount', align:'center', width: 180} ,{field:'EachGroupBattCount', title:'姣忕粍鐢垫睜鍗曚綋鏁伴噺 <i class="fa fa-refresh" title="鍚屾姣忕粍鐢垫睜鍗曚綋鏁伴噺鍙傛暟"></i>', templet: '#EachGroupBattCount', align:'center', width: 220} ,{field:'MonomerVol', title:'鍗曚綋鏍囩О鐢靛帇锛圴锛� <i class="fa fa-refresh" title="鍚屾鍗曚綋鏍囩О鐢靛帇鍙傛暟"></i>', templet: '#MonomerVol', align:'center', width: 220} ,{field:'StationName9', title:'璁惧鐗堟湰鍙�', align:'center', width: 180} - ,{field:'GroupVol', title:'鐢垫睜缁勭鏍囩О鐢靛帇锛圴锛� <i class="fa fa-refresh" title="鍚屾鐢垫睜缁勭鏍囩О鐢靛帇鍙傛暟"></i>', templet: '#GroupVol', align:'center', width: 220} + ,{field:'GroupVol', title:'鐢垫睜缁勭鏍囩О鐢靛帇锛圴锛�', align:'center', width: 220} ,{field:'BattTemp', title:'鐢垫睜鏍囩О娓╁害锛堚剝锛� <i class="fa fa-refresh" title="鍚屾鐢垫睜鏍囩О娓╁害鍙傛暟"></i>', templet: '#BattTemp', align:'center', width: 220} ,{field:'FloatChargeVol', title:'鐢垫睜娴厖鐢靛帇闃�鍊硷紙V锛� <i class="fa fa-refresh" title="鍚屾鐢垫睜娴厖鐢靛帇闃�鍊煎弬鏁�"></i>', templet: '#FloatChargeVol', align:'center', width: 220} ,{field:'FloatChargeCurr', title:'鐢垫睜娴厖鐢垫祦闃�鍊硷紙A锛� <i class="fa fa-refresh" title="鍚屾鐢垫睜娴厖鐢垫祦闃�鍊煎弬鏁�"></i>', templet: '#FloatChargeCurr', align:'center', width: 220} ,{field:'OnlineVolLow', title:'鍦ㄧ嚎鐢靛帇浣庨榾鍊硷紙V锛� <i class="fa fa-refresh" title="鍚屾鍦ㄧ嚎鐢靛帇浣庨榾鍊煎弬鏁�"></i>', templet: '#OnlineVolLow', align:'center', width: 220} ,{field:'GroupConnType', title:'鐢垫睜缁勮繛鎺ョ被鍨�', templet: '#GroupConnType', align:'center', width: 220} - ,{field:'doThings', fixed: 'right', title: '璁剧疆鐘舵��', toolbar: '#setStatus', align: 'center', width: 160} - + ,{field:'doThings', fixed: 'right', title: '鎿嶄綔', toolbar: '#doThings', align: 'center', width: 120} ]] ,data:[] ,limit: 10000 @@ -619,6 +631,250 @@ } + // 琛ㄦ牸宸ュ叿鏍忔搷浣� + table.on('tool(pageTbl)', function(obj){ + var event = obj.event; + switch(event) { + case 'read': // 璇诲彇鍙傛暟 + readBattParams(obj); + break; + case 'del': // 鍒犻櫎 + delItem(obj); + break; + } + }); + + // 鐢垫睜鍙傛暟鐨勫懡鍚� + var battParam = GLOBAL.CMD.batt; + // 璇诲彇鍗曡鏀剧數鍙傛暟 + function readBattParams(obj) { + var data = getCheckedData([obj.data]); + var keyIds= getKeyId([obj.data]); + // 鏋勯�犳煡璇㈡潯浠� + var tmp = { + num: 0 // 榛樿涓�0 + ,dev_id: data[0].dev_id // 璁惧id + ,op_cmd: battParam.get // 鐢垫睜鍙傛暟鑾峰彇鍛戒护 + }; + + // 璇锋眰璇诲彇鍙傛暟 + ajaxReadBattParams([tmp], keyIds); + } + + // 鐐瑰嚮鎵归噺璇诲彇鎸夐挳 + $('#batchRead').click(function() { + var checkStatus = table.checkStatus('pageTbl'); //idTest 鍗充负鍩虹鍙傛暟 id 瀵瑰簲鐨勫�� + var cData = checkStatus.data; + if(cData.length == 0) { + layer.msg('璇烽�夋嫨瑕佽鍙栫殑鏈烘埧锛�'); + return; + } + + // 璇锋眰鍚庡彴 + batchReadBattParams(cData); + }); + + // 鎵归噺璇诲彇鍙傛暟 + function batchReadBattParams(cData) { + var data = getCheckedData(cData); + var keyIds= getKeyId(cData); + var tmps = []; + // 閬嶅巻data鐨勫�硷紝鏋勯�犳煡璇㈡潯浠� + for(var i=0; i<data.length; i++) { + var _data = data[i]; + var tmp = { + num: 0 // 榛樿涓�0 + ,dev_id: _data.dev_id // 璁惧id + ,op_cmd: battParam.get // 鐢垫睜鍙傛暟鑾峰彇鍛戒护 + }; + tmps.push(tmp); + } + + // 璇锋眰璇诲彇鍙傛暟 + ajaxReadBattParams(tmps, keyIds); + } + + // 鍚戝悗鍙板彂閫佽姹傝鍙栧弬鏁� + function ajaxReadBattParams(params, keys) { + var loading = layer.load(1); + // 璇锋眰鍚庡彴 + $.ajax({ + type: 'post' + ,async: true + ,url: 'Fbs9100_battparamAction_action_readPL' + ,data: 'json='+JSON.stringify(params) + ,dataType: 'json' + ,success: function(res) { + var rs = JSON.parse(res.result); + // 鍒ゆ柇鏄惁鏈夋暟鎹� + if(rs.code == 1) { + var data = rs.data; + formaterReadDatas(data, keys); + }else { + layer.msg('璇诲彇澶辫触锛佽閲嶆柊璇锋眰'); + } + } + ,error: function() { + layer.msg('璇诲彇澶辫触锛岃妫�鏌ョ綉缁滄槸鍚︽甯革紒') + } + ,complete: function() { + layer.close(loading); + } + }); + } + + // 澶勭悊璇诲彇缁撴灉闆嗗苟杩斿洖鎸囧畾缁撴灉闆� + function formaterReadDatas(data, keys) { + var rs = []; + // 閬嶅巻data鐨勫�� + for(var i=0; i<data.length; i++) { + var _data = data[i]; + var _key_id = keys[i].key_id; // 鑾峰彇鏍囪瘑浣� + var _tmp = {}; + _tmp.key_id = _key_id; // 娣诲姞鏍囪瘑浣� + + // 鑾峰彇瀵瑰簲鐨則r鐨勫�� + var layuiData = layuiTbl.getTr('key_id', _key_id); + + // 鍒ゆ柇鏄惁瀛樺湪瀵瑰簲鐨勮〃鏍兼暟鎹� + if(layuiData.code == 1) { + // 鍒ゆ柇鏄惁璇诲彇鎴愬姛 + if(_data.num==1) { + var obj = _data.obj[0]; + _tmp = contrastData(layuiData.data, _data.obj[0]); + _tmp.setStatus = 0; // 璁剧疆鍙傛暟鐘舵�佸垵濮嬪寲 + }else { + _tmp.num = 0; + _tmp.readStatus = 0; + _tmp.setStatus = 0; // 璁剧疆鍙傛暟鐘舵�佸垵濮嬪寲 + } + + }else { + console.log(layuiData.msg); // 杈撳嚭璇诲彇澶辫触鍘熷洜 + _tmp.num = 0; + _tmp.readStatus = 0; // 璇诲彇澶辫触 + _tmp.setStatus = 0; // 璁剧疆鍙傛暟鐘舵�佸垵濮嬪寲 + } + // 灏嗘暟鎹坊鍔犲埌缁撴灉闆嗕腑 + rs.push(_tmp); + } + // 鏇存柊琛ㄦ牸 + layuiTbl.update('key_id', rs); + } + + // 瀵规瘮琛ㄦ牸鏁版嵁鍜岃鍙栧埌鐨勬暟鎹� + function contrastData(tData, rData) { + var rs = {}; + // 閬嶅巻rData鐨勫�� + Object.keys(rData).forEach(function(key) { + // 鍒ゆ柇鏄惁涓簄um + var _data = rData[key]; + rs.key_id = tData.key_id; + if(key != 'num') { + rs[key] = _data; + // 鑾峰彇鍏朵粬杈呭姪鍊� + var bKey = key+'_b'; + var boolKey = key+'_bool'; + var bVal = tData[bKey]; + if(bVal != undefined && bVal != _data) { + rs[boolKey] = false; + } + } + }); + + return rs; + } + + // 鍒犻櫎琛ㄦ牸鐨勮 + function delItem(obj) { + // 寮瑰嚭鏄惁鍒犻櫎闈㈡澘 + layer.confirm('鏄惁鍒犻櫎褰撳墠琛�', {icon: 2, title: '鍒犻櫎鎻愮ず'}, function(index) { + layer.close(index); + layuiTbl.delTr(table.cache.pageTbl, obj); // 鍒犻櫎鎸囧畾鐨勮 + }); + } + + // 鎵归噺璁剧疆鐢垫睜鍙傛暟鐨勬寜閽� + $('#sysSet').click(function() { + var checkStatus = table.checkStatus('pageTbl'); //idTest 鍗充负鍩虹鍙傛暟 id 瀵瑰簲鐨勫�� + var cData = checkStatus.data; + if(cData.length == 0) { + layer.msg('璇烽�夋嫨瑕佹壒閲忚缃殑鏈烘埧锛�'); + 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); + } + + // 鎵归噺璁剧疆 + batchSetBattParams(rsData, keyIds); + }); + + // 鎵归噺璁剧疆鏀剧數鍙傛暟 + function batchSetBattParams(params, keys) { + // 鍒ゆ柇data鐨勫�兼槸鍚︿负绌� + if(params.length == 0) { + layer.msg('璇烽�夋嫨瑕佹壒閲忚缃殑鏈烘埧锛�'); + } + // 鍒ゆ柇鏄惁鎵归噺璁剧疆 + layer.confirm('鏄惁纭鎵归噺璁剧疆鐢垫睜鍙傛暟', {icon: 3, title: '鎵归噺璁剧疆鎻愰啋'}, function(index) { + layer.close(index); + var loading = layer.load(1); + // 璇锋眰鍚庡彴 + $.ajax({ + type: 'post' + ,async: true + ,url: 'Fbs9100_battparamAction_action_updatePro' + ,data: 'json='+JSON.stringify(params) + ,dataType: 'json' + ,success: function(res) { + var rs = JSON.parse(res.result); + var rsData= []; + if(rs.code == 1) { + var data = rs.data; + for(var i=0; i<data.length; i++) { + var _data = data[i]; + var _key = keys[i]; + var _tmp = { + key_id: _key.key_id + }; + + // 鍒ゆ柇鏄惁璁剧疆鎴愬姛 + if(_data.num == 1) { + _tmp.setStatus = 1; // 璁剧疆鎴愬姛 + }else { + _tmp.setStatus = 2; // 璁剧疆澶辫触 + } + + rsData.push(_tmp); + } + }else { + for(var i=0; i<keys.length; i++) { + var _key = keys[i]; + var _tmp = { + key_id: _key.key_id + ,setStatus: 2 + }; + rsData.push(_tmp); + } + } + + // 鏇存柊琛ㄦ牸 + layuiTbl.update('key_id', rsData); + } + ,complete: function() { + layer.close(loading); + } + }); + }); + } // 鐐瑰嚮娣诲姞鐢垫睜缁� @@ -647,7 +903,7 @@ ,dataType: 'json' ,success: function(res) { var rs = JSON.parse(res.result); - console.log(rs); + //console.log(rs); var data = []; if(rs.code == 1) { data = rs.data; @@ -656,9 +912,10 @@ layer.msg('娌℃湁鍙缃殑鐢垫睜缁�!'); } tOptions.data = data; - console.log(data); + //console.log(data); // 鐢熸垚琛ㄦ牸鏁版嵁 table.render(tOptions); + layuiTbl.setCache(table.cache.pageTbl); } ,complete:function() { layer.close(load); @@ -707,7 +964,6 @@ // 澶勭悊娣诲姞鏈烘埧淇℃伅鐨勭粨鏋� function formatSearchData(data) { - console.log(data); var rs = []; // 閬嶅巻data鐨� for(var i=0; i<data.length; i++) { @@ -716,12 +972,14 @@ var obj = _data.obj[0]; var tmp = {}; tmp.num = _data.num; // 鍒ゆ柇鏄惁璇诲彇鎴愬姛 + tmp.readStatus = _data.num; tmp.key_id = i; tmp.dev_id = obj.dev_id; // 璁惧ID tmp.dev_ip = obj.dev_ip; // 璁惧IP tmp.StationName = obj.StationName; // 鏈烘埧鍚嶇О tmp.GroupConnType = 0; // 鐢垫睜缁勮繛鎺ョ被鍨� tmp.StationName9 = _data.StationName9; // 璁惧鐗堟湰鍙� + tmp.GroupVol = obj.GroupVol; // 鐢垫睜缁勭鏍囩О鐢靛帇锛圴锛� tmp.STD_CAP = obj.STD_CAP; // 鐢垫睜鏍囩О瀹归噺(AH) @@ -770,6 +1028,49 @@ function isNumEqual(num1, num2) { return num1==num2; } + + // 鑾峰彇琚�変腑琛岀殑鏍囪瘑浣� + function getKeyId(data) { + var rs = []; + // 閬嶅巻data鐨勫�� + for(var i=0; i<data.length; i++) { + var _data = data[i]; + var tmp = {}; + tmp.key_id = _data.key_id; + rs.push(tmp); + } + return rs; + } + + + // 鑾峰彇琚�変腑鐨勮鐨勬暟鎹苟澶勭悊杩斿洖鎸囧畾鐨勫璞℃暟缁� + function getCheckedData(data) { + var rs = []; + // 澶勭悊鏁版嵁 + for(var i=0; i<data.length; i++) { + var _data = data[i]; + var tmp = {}; + tmp.num = _data.num; // 鍒ゆ柇鏄惁璇诲彇鎴愬姛 + tmp.dev_id = _data.dev_id; // 璁惧ID + tmp.dev_ip = _data.dev_ip; // 璁惧IP + tmp.StationName = _data.StationName; // 鏈烘埧鍚嶇О + tmp.GroupConnType = 0; // 鐢垫睜缁勮繛鎺ョ被鍨� + tmp.StationName9 = _data.StationName9; // 璁惧鐗堟湰鍙� + tmp.GroupVol = _data.GroupVol; // 鐢垫睜缁勭鏍囩О鐢靛帇锛圴锛� + tmp.STD_CAP = _data.STD_CAP; // 鐢垫睜鏍囩О瀹归噺(AH) + tmp.STD_RES = _data.STD_RES; // 鐢垫睜鏍囩О鍐呴樆(u惟) + tmp.BattGroupCount = _data.BattGroupCount; // 鐢垫睜缁勭粍鏁� + tmp.EachGroupBattCount = _data.EachGroupBattCount; // 姣忕粍鐢垫睜鍗曚綋鏁伴噺 + tmp.MonomerVol = _data.MonomerVol; // 鍗曚綋鏍囩О鐢靛帇锛圴锛� + tmp.BattTemp = _data.BattTemp; // 鐢垫睜鏍囩О娓╁害锛堚剝锛� + tmp.FloatChargeVol = _data.FloatChargeVol; // 鐢垫睜娴厖鐢靛帇闃�鍊硷紙V锛� + tmp.FloatChargeCurr = _data.FloatChargeCurr; // 鐢垫睜娴厖鐢垫祦闃�鍊硷紙A锛� + tmp.OnlineVolLow = _data.OnlineVolLow; // 鍦ㄧ嚎鐢靛帇浣庨榾鍊硷紙V锛� + // 灏嗘暟鎹斁鍒拌繑鍥炵殑缁撴灉闆嗕腑 + rs.push(tmp); + } + return rs; + } }); </script> </body> -- Gitblit v1.9.1