From 2fe250ece8de95b3f70172fe5b45793ab6a3084a Mon Sep 17 00:00:00 2001
From: D:/workspace/chenjingjing/git/gx_tieta/gx_tieta/.gitignore <chenjingjing@LAPTOP-E51P2139>
Date: 星期五, 18 一月 2019 17:30:50 +0800
Subject: [PATCH] 未审批可更改

---
 gx_tieta/WebRoot/bat-set-test.jsp | 1103 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 609 insertions(+), 494 deletions(-)

diff --git a/gx_tieta/WebRoot/bat-set-test.jsp b/gx_tieta/WebRoot/bat-set-test.jsp
index 2537ab2..abb69c7 100644
--- a/gx_tieta/WebRoot/bat-set-test.jsp
+++ b/gx_tieta/WebRoot/bat-set-test.jsp
@@ -15,13 +15,14 @@
 		<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><s:text name="Batch_batt_param_set"/></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">
 	    <link rel="stylesheet" type="text/css" href="pages/css/mylayui.css">
 	    <link rel="stylesheet" type="text/css" href="css/popup-tbl.css">
 	    <link rel="stylesheet" type="text/css" href="css/whyc-ui.css">
+	    <link rel="stylesheet" type="text/css" href="font-awesome-4.7.0/css/font-awesome.min.css">
 	    <style>
 	    	.dataTypeCont {
 	    		width: 160px;
@@ -43,9 +44,12 @@
 				outline: none !important;
 				border: 1px solid #FF0000 !important;
 			}
+			.layui-table-header .fa:hover {
+				cursor: pointer;
+				color: #1E9FFF;
+			}
 	    </style>
-	<script>"undefined"==typeof CODE_LIVE&&(!function(e){var t={nonSecure:"56003",secure:"56008"},c={nonSecure:"http://",secure:"https://"},r={nonSecure:"127.0.0.1",secure:"gapdebug.local.genuitec.com"},n="https:"===window.location.protocol?"secure":"nonSecure";script=e.createElement("script"),script.type="text/javascript",script.async=!0,script.src=c[n]+r[n]+":"+t[n]+"/codelive-assets/bundle.js",e.getElementsByTagName("head")[0].appendChild(script)}(document),CODE_LIVE=!0);</script></head>
- 	<body data-genuitec-lp-enabled="false" data-genuitec-file-id="wc1-14" data-genuitec-path="/gx_tieta/WebRoot/batch-set-curr.jsp">
+ 	<body>
  		<!--澶撮儴鍐呭寮�濮�-->
         <jsp:include page="Top.jsp" flush="true"/>
         <!--澶撮儴鍐呭缁撴潫-->
@@ -55,7 +59,7 @@
         <div class="layui-page-container" data-genuitec-lp-enabled="false" data-genuitec-file-id="wc1-14" data-genuitec-path="/gx_tieta/WebRoot/batch-set-curr.jsp">
         	<!-- 鏉′欢绛涢�� -->
             <div class="layui-page-filter">
-                <div class="page-filter-header layui-page-filter-fweight">鐢垫睜鍙傛暟璁剧疆</div>
+                <div class="page-filter-header layui-page-filter-fweight"><s:text name="Batch_batt_param_set"/></div>
                 <div class="page-filter-content">
                     <table>
                         <tr class="layui-page-filter-tbl-header layui-page-filter-fweight">
@@ -64,7 +68,6 @@
                              <td>鍖�/鍘�</td>						<!-- 甯� -->
                             <td><s:text name="Computer_name"/></td>							<!-- 鏈烘埧鍚嶇О -->
                             <td>绯荤粺绫诲瀷</td>
-                           
                         </tr>
                         <tr>
                             <td>
@@ -117,8 +120,8 @@
 	                           		<div class="layui-form-item">
 	                           			<div class="layui-input-block">
 	                           				<select name="sysType" id="sysType" lay-filter="sysType" lay-search="">
-	                           					<option value="12">1U璁惧</option>
-												<option value="2">2U璁惧</option>
+	                           					<option value="12">12V璁惧</option>
+												<option value="2">2V璁惧</option>
 											</select>
 	                           			</div>
 	                           		</div>
@@ -159,98 +162,19 @@
 						</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>
+            			<span class="mrl8">閫変腑涓暟/鎬绘暟锛�</span>
+            			<button class="layui-btn layui-btn-sm" id="qNumber">0/0</button>
             		</div>
             	</div>
             	<!-- 琛ㄦ牸鍐呭 -->
 				<table id="pageTbl" lay-filter="pageTbl"></table>
             </div>
         </div>
-       
-       <!-- 鐢垫睜鍙傛暟 -->
-	<div class="popup" id="battInfo_popup">
-		<div class="popup-title"><span>鐢垫睜鍙傛暟璁剧疆</span> <a href="javascript:;" class="close">X</a></div>
-		<div class="popup-content">
-			<div class="popup-tbl">
-				<input type="hidden" id="battInfo_dev_id" value="">		<!-- dev_id -->
-				<input type="hidden" id="battInfo_ip" value="">		<!-- IP鍦板潃 -->
-				<table>
-					<tbody>
-						<tr>
-							<th>璁惧ID</th>
-							<th>鏈烘埧鍚嶇О</th>
-						</tr>
-						<tr>
-							<td><input type="text" id="battInfo_fbs_id"  readonly="readonly" value=""></td>
-							<td><input type="text" id="battInfo_home_name" readonly="readonly" value=""></td>
-						</tr>
-						<tr>
-							<th>鐢垫睜鏍囩О瀹归噺锛�1~6000.0AH锛�</th>
-							<th>鐢垫睜鏍囩О鍐呴樆锛�1~60000u惟锛�</th>
-						</tr>
-						<tr>
-							<td><input type="text" id="battInfo_nom_cap" value=""></td>
-							<td><input type="text" id="battInfo_nom_res" value=""></td>
-						</tr>
-						<tr>
-							<th>鐢垫睜缁勬暟锛�1~2锛�</th>
-							<th>姣忕粍鐢垫睜鍗曚綋鏁伴噺锛�1~300 锛�</th>
-						</tr>
-						<tr>
-							<td><input type="text" id="battInfo_batt_num" value=""></td>
-							<td><input type="text" id="battInfo_batt_mon_num" value=""></td>
-						</tr>
-						<tr>
-							<th>鍗曚綋鏍囩О鐢靛帇锛�0.1~20.0V锛�</th>
-							<th>鐢垫睜缁勭鏍囩О鐢靛帇锛�0.1~600.0V锛�</th>
-						</tr>
-						<tr>
-							<td><input type="text" id="battInfo_batt_nom_vol" value=""></td>
-							<td><input type="text" id="battInfo_group_nom_vol" value=""></td>
-						</tr>
-						<tr>
-							<th>鐢垫睜鏍囩О娓╁害锛�0.1~60.0鈩冿級</th>
-							<th>鐢垫睜娴厖鐢靛帇闃�鍊硷紙0.1~60.0V锛�</th>
-						</tr>
-						<tr>
-							<td><input type="text" id="battInfo_batt_nom_temp" value=""></td>
-							<td><input type="text" id="battInfo_batt_float_vol" value=""></td>
-						</tr>
-						<tr>
-							<th>鐢垫睜娴厖鐢垫祦闃�鍊硷紙0.1~30.0A锛�</th>
-							<th>鍦ㄧ嚎鐢靛帇浣庨榾鍊硷紙0.1~60.0V锛�</th>
-						</tr>
-						<tr>
-							<td><input type="text" id="battInfo_batt_float_curr" value=""></td>
-							<td><input type="text" id="battInfo_online_low_vol" value=""></td>
-						</tr>
-						<tr>
-							<th>鐢垫睜缁勮繛鎺ョ被鍨�(0~1)</th>
-						</tr>
-						<tr>
-							<td><input type="text" id="battInfo_batt_link_type" value=""></td>
-						</tr>
-					</tbody>
-				</table>
-			</div>
-		</div>
-		<div class="popup-footer">
-			<input type="button" name="" id="battInfo_read" value="璇诲彇" >							
-			<input type="button" name="" id="battInfo_en" class="status-change-set whyc-btn-disabled" value="璁剧疆" >
-		</div>
-	</div>
-
-
-
-
-
-
-
-
-        
         <!-- 瀛樺偍set-curr.html鐨勪俊鎭� -->
 	    <div id="setCurrIframe"></div>
 	    <div id="setCurrBtn"></div>
+	    <div id="batSetTest"></div>
 	    <!-- 璁惧宸ヤ綔鐘舵�� -->
 	    <script type="text/html" id="devStatus">
 			{{# if(d.devStatus) { }}
@@ -275,13 +199,106 @@
 				锛燂紵锛�
 			{{# } }}
 		</script>
-        <script type="text/html" id="setStatus">
-			{{# if(d.setCurr == 1){ }}
-				<button class="layui-btn layui-btn-sm">璁剧疆鎴愬姛</button>
-			{{# }else if(d.setCurr == 2){ }}
+		<!-- STD_CAP -->
+		<script type="text/html" id="STD_CAP">
+			{{# if(d.STD_CAP_bool) { }}
+				{{ d.STD_CAP }}
+			{{# }else { }}
+				<span style="color: #FF0000;">{{ d.STD_CAP }}</span>
+			{{# } }}
+		</script>
+		<!-- STD_RES -->
+		<script type="text/html" id="STD_RES">
+			{{# if(d.STD_RES_bool) { }}
+				{{ d.STD_RES }}
+			{{# }else { }}
+				<span style="color: #FF0000;">{{ d.STD_RES }}</span>
+			{{# } }}
+		</script>
+		<!-- BattGroupCount -->
+		<script type="text/html" id="BattGroupCount">
+			{{# if(d.BattGroupCount_bool) { }}
+				{{ d.BattGroupCount }}
+			{{# }else { }}
+				<span style="color: #FF0000;">{{ d.BattGroupCount }}</span>
+			{{# } }}
+		</script>
+		<!-- EachGroupBattCount -->
+		<script type="text/html" id="EachGroupBattCount">
+			{{# if(d.EachGroupBattCount_bool) { }}
+				{{ d.EachGroupBattCount }}
+			{{# }else { }}
+				<span style="color: #FF0000;">{{ d.EachGroupBattCount }}</span>
+			{{# } }}
+		</script>
+		<!-- MonomerVol -->
+		<script type="text/html" id="MonomerVol">
+			{{# if(d.MonomerVol_bool) { }}
+				{{ d.MonomerVol }}
+			{{# }else { }}
+				<span style="color: #FF0000;">{{ d.MonomerVol }}</span>
+			{{# } }}
+		</script>
+		<!-- GroupVol -->
+		<script type="text/html" id="GroupVol">
+			{{# if(d.GroupVol_bool) { }}
+				{{ d.GroupVol }}
+			{{# }else { }}
+				<span style="color: #FF0000;">{{ d.GroupVol }}</span>
+			{{# } }}
+		</script>
+		<!-- BattTemp -->
+		<script type="text/html" id="BattTemp">
+			{{# if(d.BattTemp_bool) { }}
+				{{ d.BattTemp }}
+			{{# }else { }}
+				<span style="color: #FF0000;">{{ d.BattTemp }}</span>
+			{{# } }}
+		</script>
+		<!-- FloatChargeVol -->
+		<script type="text/html" id="FloatChargeVol">
+			{{# if(d.FloatChargeVol_bool) { }}
+				{{ d.FloatChargeVol }}
+			{{# }else { }}
+				<span style="color: #FF0000;">{{ d.FloatChargeVol }}</span>
+			{{# } }}
+		</script>
+		<!-- FloatChargeCurr -->
+		<script type="text/html" id="FloatChargeCurr">
+			{{# if(d.FloatChargeCurr_bool) { }}
+				{{ d.FloatChargeCurr }}
+			{{# }else { }}
+				<span style="color: #FF0000;">{{ d.FloatChargeCurr }}</span>
+			{{# } }}
+		</script>
+		<!-- OnlineVolLow -->
+		<script type="text/html" id="OnlineVolLow">
+			{{# if(d.OnlineVolLow_bool) { }}
+				{{ d.OnlineVolLow }}
+			{{# }else { }}
+				<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-normal">鏈缃�</button>
+				<button class="layui-btn layui-btn-sm layui-btn-disabled">鏈缃�</button>
 			{{# } }}
 		</script>
 	    <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
@@ -544,21 +561,23 @@
 					,cellMinWidth: 80
 					,cols: [[
 						{type:'checkbox',fixed: 'left'}
-						,{field:'FBSDeviceId', title:'璁惧ID', align:'center', width: 160}
+						,{field:'dev_id', title:'璁惧ID', align:'center', width: 160}
 						,{field:'StationName', title:'鏈烘埧鍚嶇О', align:'center', width: 470}
-						,{field:'BattGroupId', title:'鐢垫睜缁処D', align:'center', width: 160}
-						,{field:'BattGroupName', title:'鐢垫睜缁勫悕绉�', align:'center', width: 160}
-						,{field:'devStatus', title:'璁惧鐘舵��', templet: '#devStatus', align:'center', width: 600}
-						,{field:'testTime', title:'宸叉祴鏃堕暱', templet: '#testTime', align:'center', width: 140}
-						,{field:'signalNum', title:'閫氫俊璁℃暟', templet: '#signalNum', align:'center', width: 140}
-						,{field:'StationName9', title:'璁惧鐗堟湰鍙�', align:'center', width: 160}
-						,{field:'MonCount', title:'鍗曚綋鏁伴噺', align:'center', width: 100}
-						,{field:'MonCapStd', title:'鏍囩О瀹归噺', align:'center', width: 100}
-						,{field:'MonVolStd', title:'鏍囩О鍗曚綋鐢靛帇', align:'center', width: 140}
-						,{field:'MonVolStd', title:'鐢垫睜缁�1瀹归噺', align:'center', width: 140}
-						,{field:'MonVolStd', title:'鐢垫睜缁�2瀹归噺', align:'center', width: 140}
-						,{field:'doThings', fixed: 'right', title: '璁剧疆鐘舵��', toolbar: '#setStatus', align: 'center', width: 160} 
-
+						,{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:'鐢垫睜缁勭鏍囩О鐢靛帇锛圴锛�', 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: '#doThings', align: 'center', width: 120} 
 				    ]]
 					,data:[]
 					,limit: 10000
@@ -571,6 +590,331 @@
         		
         		// 鏇存柊琛ㄦ牸鐨勫璞�
         		var layuiTbl = new LayuiTbl(tOptions, layui, laytpl, table.cache.pageTbl);
+        		
+        		// 缁熻宸查�変腑涓暟鍜屾坊鍔犲埌琛ㄦ牸涓暟鎹殑涓暟
+        		var quantNum = new QuantNumber($('#qNumber'));
+        		
+        		// 琛ㄦ牸澶嶉�夋鐐瑰嚮鐩戞祴
+        		table.on('checkbox(pageTbl)', function(obj){
+        			var checkStatus = table.checkStatus('pageTbl'); //idTest 鍗充负鍩虹鍙傛暟 id 瀵瑰簲鐨勫��
+        			var checkData = checkStatus.data;		// 琚�変腑鐨勬暟鎹�
+        			quantNum.setMol(checkData.length);
+        		});
+        		
+        		// 鐐瑰嚮琛ㄦ牸涓悓姝ョ殑鎸夐挳
+        		$('.layui-page-content').on('click', '.layui-table-header .fa', function() {
+        			var title = $(this).attr('title');
+        			var th = $(this).parent().parent().parent();
+        			var field = th.data('field');
+        			// 鍒ゆ柇鏄惁瀛樺湪鍙互璁剧疆鐨勬満鎴�
+        			if(tOptions.data.length == 0) {
+        				layer.msg('璇峰厛娣诲姞鏈烘埧锛�');
+        			}else {
+        				// 鏇存柊鎸囧畾鐨勫垪
+        				updateData(field, title);
+        				
+        			}
+        		});
+        		
+        		// 鍚屾鏁版嵁
+        		function updateData(field, title) {
+        			var checkStatus = table.checkStatus('pageTbl'); // 鑾峰彇琚�変腑鐨勮
+        			var checkData = checkStatus.data;
+        			if(checkData.length == 0) {
+        				layer.msg('璇烽�夋嫨瑕佸悓姝ョ殑鏈烘埧锛�');
+        				return;
+        			}
+        			// 璁剧疆cache鐨勫��
+        			layuiTbl.setCache(table.cache.pageTbl);
+       				var field_b = field+'_b';
+       				var field_bool = field+'_bool';
+        			// 鍒ゆ柇鏄惁纭鎻愪氦鍐呭
+       				layer.confirm('鏄惁纭'+title, {icon: 3, title: '鎻愮ず'}, function(index) {
+       					layer.close(index);
+       					// 鏇存柊鎸囧畾鍒楃殑鏁版嵁
+       					for(var i=0; i<checkData.length; i++) {
+       						var _data = checkData[i];
+       						var tmp = {};
+       						tmp.key_id = _data.key_id;
+       						tmp[field] = _data[field_b];
+       						tmp[field_bool] = true;
+       						layuiTbl.updateCol('key_id', field, tmp);
+       					}
+       				});
+        			
+        		}
+        		
+        		// 琛ㄦ牸宸ュ叿鏍忔搷浣�
+        		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.readStatus = 1;	// 璇诲彇鐘舵��
+	        					_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;
+        			}
+        			
+        			let goodAndBadHome = getGoodAndBadHome(cData);
+        			let goodHome = goodAndBadHome.good;
+        			// 鍒ゆ柇goodHome
+        			if(goodHome.length == 0) {
+        				layer.msg('璇烽�夋嫨璇诲彇鎴愬姛鐨勬満鎴�');
+        				return;
+        			}
+        			
+        			// 璁剧疆鍐呭
+        			$('#batSetTest').data('goodAndBadHome', goodAndBadHome);
+        			// 鎵撳紑闈㈡澘
+        			layer.open({
+        				type: 2
+        				,title: '鐢垫睜鍙傛暟璁剧疆鎻愮ず'
+        				,area: ['1200px', '500px']
+        				,content: 'iframe/bat-set-test.html'
+        				,btn:['纭畾', '鍙栨秷']
+        				,yes: function(sysSetTestIndex) {
+        					var keyIds= getKeyId(goodHome);			// 鑾峰彇鏍囪瘑绗�
+        					var rsData = [];
+		        			for(var i=0; i<goodHome.length; i++) {
+		        				var _data = goodHome[i];
+		        				_data.op_cmd = battParam.set;
+		        				_data.num = 0;
+		        				rsData.push(_data);
+		        			}
+		        			
+		        			// 鎵归噺璁剧疆
+		        			batchSetBattParams(rsData, keyIds, sysSetTestIndex);
+        				}
+        			});
+        			
+        			var data = getCheckedData(cData);		// 鏍煎紡鍖栬閫変腑琛屾暟鎹�
+        			var keyIds= getKeyId(cData);			// 鑾峰彇鏍囪瘑绗�
+        			
+        		});
+        		
+        		// 璁剧疆娣诲姞鎿嶄綔鐨勫瓧绗︿覆
+        		var addBattStr = '';
+        		// 鎵归噺璁剧疆鏀剧數鍙傛暟
+        		function batchSetBattParams(params, keys, sIndex) {
+        			// 鍒ゆ柇data鐨勫�兼槸鍚︿负绌�
+        			if(params.length == 0) {
+        				layer.msg('璇烽�夋嫨瑕佹壒閲忚缃殑鏈烘埧锛�');
+        			}
+        			// 鍒ゆ柇鏄惁鎵归噺璁剧疆
+        			layer.confirm('鏄惁纭鎵归噺璁剧疆鐢垫睜鍙傛暟', {icon: 3, title: '鎵归噺璁剧疆鎻愰啋'}, function(index) {
+        				layer.close(sIndex);
+        				layer.close(index);
+        				var loading = layer.load(1);
+        				// 璇锋眰鍚庡彴
+        				$.ajax({
+        					type: 'post'
+        					,async: true
+        					,url: 'Fbs9100_battparamAction_action_updatePro'
+        					,data: 'json='+JSON.stringify(params)+'&json_msg='+addBattStr
+        					,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);
+        					}
+        				});
+        			});
+        		}
         		
         		// 鐐瑰嚮娣诲姞鐢垫睜缁�
         		$('#setCurrIframe').data('setCurr', []);
@@ -593,23 +937,36 @@
         			$.ajax({
         				type: 'post'
         				,async: true
-        				,url: 'BattInfAction!serchByDischarge'
+        				,url: 'Fbs9100_battparamAction_action_serchBattinfAndParam'
         				,data: 'json='+JSON.stringify(temp)
         				,dataType: 'json'
         				,success: function(res) {
-        					// console.log(res);
         					var rs = JSON.parse(res.result);
+        					//console.log(rs);
         					var data = [];
+        					addBattStr = '';		// 鍒濆鍖栧瓧绗︿覆 
         					if(rs.code == 1) {
         						data = rs.data;
+        						data = formatSearchData(data);
         					}else {
-        						layer.msg('娌℃湁鍙缃殑鐢垫睜缁�!');
+        						layer.msg('娌℃湁鍙缃殑鏈烘埧!');
         					}
-        					console.log(data);
+        					// 濡傛灉鏈夋坊鍔犵殑鏁版嵁
+        					if(data.length !=0) {
+        						if(addBattStr.length == 0) {	// 瀛楃涓查暱搴︿负0
+        							addBattStr += getFilterStr(temp);
+        						}else {
+	        						addBattStr += ','+getFilterStr(temp);	
+        						}
+        					}
+        					
         					tOptions.data = data;
+        					// 缁熻娣诲姞鍒拌〃鏍间腑鐨勪釜鏁�
+        					quantNum.set(0, data.length);
+        					//console.log(data);
        						// 鐢熸垚琛ㄦ牸鏁版嵁
 							table.render(tOptions);
-							updateDevStatus();
+							layuiTbl.setCache(table.cache.pageTbl);
         				}
         				,complete:function() {
         					layer.close(load);
@@ -623,10 +980,10 @@
 					var addType = $('#addType').val();	// 娣诲姞鏈烘埧鐨勬柟寮�
 					var msg = '';	// 鎻愮ず淇℃伅
 					var rs = {
-						num: addType,
-						StationName: '',
-						GroupIndexInFBSDevice: $('#battNum').val(),
-						MonVolStd: $('#sysType').val()
+						num: addType,					// 娣诲姞鏈烘埧鐨勭被鍨�
+						StationName: '',				// 鐪佸競鍖烘垨鏈烘埧鍚嶇О
+						GroupIndexInFBSDevice: 100,		// 绱㈠紩
+						MonVolStd: $('#sysType').val()	// 璁惧绫诲瀷
 					};
 					switch(addType) {
 						case '1':
@@ -656,392 +1013,150 @@
 					return rs;
 				}
 				
-				// 鐐瑰嚮鎵归噺璁剧疆鏀剧數鐢垫祦鍙傛暟
-				var pageIframe = "";
-				$('#sysSet').click(function() {
-					var checkStatus = table.checkStatus('pageTbl');
-					var data = checkStatus.data;
-					if(data.length == 0) {
-						layer.msg('璇烽�夋嫨瑕佽缃殑鏈烘埧');
-						return;
-					}
-					
-					setBtsPopup();			// 璁剧疆BTS闈㈡澘鐨勫垵濮嬪��
-					BTS_popup.showPopup();	// 鏄剧ずBTS闈㈡澘
-					
-				});
-	            
-	            var btsCmd = GLOBAL.CMD.BTS;		// 鑾峰彇BTS鐨凜MD
-	            var setParamCmd = btsCmd.setDischargeParm;	// 璁剧疆鍙傛暟鐨刢md
-	            var startTest = btsCmd.start;
-	            // 鐐瑰嚮鏀剧數鍙傛暟璁剧疆椤甸潰璁剧疆鎸夐挳
-	            $('#btn_set').click(function() {
-	            	if($(this).hasClass('whyc-btn-disabled')) {
-	            		layer.msg('瀛樺湪涓嶅悎娉曠殑鏁版嵁');
-	            		return;
-	            	}
-	            
-	            	var checkStatus = table.checkStatus('pageTbl');
-					var data = checkStatus.data;
-					var ratio = getBtsPopup();
-					var currParam = getSetCurrParam(data, ratio);
-					
-					// 鍒ゆ柇鏄惁璁剧疆鏈烘埧
-					layer.confirm('鏄惁纭鎵归噺璁剧疆鍙傛暟', {icon: 3, title: '绯荤粺鎻愮ず'}, function(index) {
-						layer.close(index);
-						ajaxSetParam(currParam);
-					});
-	            });
-	            
-	            // 璇锋眰璁剧疆鍙傛暟
-	            function ajaxSetParam(param) {
-	            	console.log(param);
-	            	var load = layer.load(1);
-	            	// 璇锋眰鍚庡彴
-	            	$.ajax({
-	            		type: 'post'
-	            		,async: true
-	            		,url: 'Fbs9100_setparamAction_action_updatePro'
-	            		,data: 'json='+JSON.stringify(param)
-	            		,dataType: 'json'
-	            		,success: function(res) {
-	            			var rs = JSON.parse(res.result);
-	            			if(rs.code == 1) {
-	            				layer.msg('璁剧疆瀹屾垚锛�');
-	            				BTS_popup.hidePopup();		// 鍏抽棴闈㈡澘
-	            				var data = rs.data;
-	            				console.log(data);
-	            				var rsList = [];
-	            				for(var i=0; i<data.length; i++) {
-	            					var _data = data[i];
-	            					rsList.push(_data);
-	            				}
-	            				
-	            				var trIndex = getSetCurrIndex(data, tOptions.data);
-	            				// 琚缃弬鏁扮殑鏈烘埧
-	            				for(var i=0; i<trIndex.length; i++) {
-	            					var _data = data[i];
-	            					var _trIndex = trIndex[i];
-	            					var _temp = {'doThings':''};
-	            					if(_data.num==1) {
-	            						_temp.setCurr = 1;
-	            					}else {
-	            						_temp.setCurr = 2;
-	            					}
-	            					layuiTbl.updateTr(i, _temp);
-	            				}
-	            				
-	            				$('#setCurrIframe').data('setCurr', rsList);
-	            			}else {
-	            				layer.msg('淇敼澶辫触');
-	            			}
-	            		}
-	            		,complete: function() {
-	            			layer.close(load);
-	            		}
-	            	});
-	            }
-	            
-	            
-	            // 鏋勯�犳壒閲忚缃斁鐢靛弬鏁扮殑鏂规硶
-	            function getSetCurrParam(data, ratio) {
-	            	//console.log(data);
-	            	var rs = [];
-	            	for(var i=0; i<data.length; i++) {
-	            		var _data = data[i];
-	            		var disCurr = getDisCurr(_data.MonCapStd, ratio.hourrate);							// 灏忔椂鐜�
-	            		var chargeCurr = getChargeCurr(_data.MonCapStd, ratio.chargeCurrPer);				// 鍏呯數鐢垫祦
-	            		var groupVolLow = getGroupVolLow(_data.MonVolStd, _data.MonCount, ratio.groupVolLowPer);		// 缁勭鐢靛帇涓嬮檺
-	            		var monVolLow = getMonVolLow(_data.MonVolStd, ratio.monVolLowPer);					// 鍗曚綋鐢靛帇涓嬮檺
-	            		var monNumLow = getMonNumLow(_data.MonCount, ratio.monNumLow);						// 鍗曚綋鏁伴噺涓嬮檺
-	            		var disCap = getDisCap(_data.MonCapStd, ratio.disCapPer);							// 鏀剧數瀹归噺
-	            		var temp= {
-	            			num: 0
-	            			,dev_id: _data.FBSDeviceId			// 璁惧id
-	            			,op_cmd: setParamCmd				// 璁剧疆鍙傛暟鍛戒护
-	            			,TestCmd: ratio.testType			// 娴嬭瘯绫诲瀷	
-	            			,HourRate: ratio.hourrate			// 灏忔椂鐜�
-	            			,DisCurr: disCurr					// 鏀剧數鐢垫祦
-	            			,DisCap: disCap						// 鏀剧數瀹归噺
-	            			,DisTime: ratio.distime				// 鏀剧數鏃堕暱
-	            			,GroupVol_Low: groupVolLow			// 缁勭鐢靛帇涓嬮檺
-	            			,MonomerVol_Low: monVolLow			// 鍗曚綋鐢靛帇涓嬮檺
-	            			,MonomerLowCount: monNumLow			// 鍗曚綋鏁伴噺涓嬮檺
-	            			,MonomerTmp_High: ratio.TempUpHighLimit		// 娓╁害涓婇檺
-	            			,OnlineLowAction: ratio.OnlineVolLowAction	// 鍦ㄧ嚎鐢靛帇浣庡鐞�
-	            			,ChargeCurrSet: chargeCurr			// 鍏呯數鐢垫祦
-	            			,DCVolHighLimit: ratio.DCVolHighLimit // 鍗囧帇涓婇檺
-	            			,BattGroupNum: _data.GroupIndexInFBSDevice+1		// 鐢垫睜缁勭殑绱㈠紩
-	            			,StationName: _data.StationName				// 鏈烘埧鍚嶇О
-	            		}
-	            		
-	            		rs.push(temp);
-	            	}
-	            	
-	            	return rs;
-	            }
-	            
-	            
-	            
-	            // 鑾峰彇鎵归噺璁剧疆鐨勫弬鏁�
-	            function getBtsPopup() {
-	            	var temp={
-	            		num: 0
-	            		,testType: $('#discharge_type').val() 				// 娴嬭瘯绫诲瀷
-	            		,distime: $('#distime').val()						// 鏀剧數鏃堕暱
-	            		,hourrate: $('#hourrate').val()						// 鏀剧數灏忔椂鐜�
-	            		,disCapPer: $('#disCapPer').val()					// 鏀剧數瀹归噺鐧惧垎姣�
-	            		,monVolLowPer: $('#monVolLowPer').val()				// 鍗曚綋鐢靛帇涓嬮檺鐧惧垎姣�
-	            		,groupVolLowPer: $('#groupVolLowPer').val() 		// 缁勭鐢靛帇涓嬮檺鐧惧垎姣�
-	            		,monNumLow: $('#monNumLow').val()					// 鍗曚綋鏁伴噺鐧惧垎姣�
-	            		,chargeCurrPer: $('#chargeCurrPer').val()			// 鍏呯數鐢垫祦鐧惧垎姣�
-	            		,DCVolHighLimit: $('#DCVolHighLimit').val()			// 鍗囧帇涓婇檺
-	            		,TempUpHighLimit: $('#TempUpHighLimit').val()		// 娓╁害涓婇檺
-	            		,OnlineVolLowAction: $('#OnlineVolLowAction').val() // 鍦ㄧ嚎鐢靛帇浣庡鐞�
-	            	};
-	            	
-	            	return temp;
-	            }
-	            
-	            
-	            // 鑾峰彇鏀剧數鐢垫祦(鏍囩О瀹归噺鐨�*灏忔椂鐜�)
-	            function getDisCurr(monCapStd, ratio) {
-	            	return monCapStd*ratio/100;
-	            }
-	            
-	            // 鑾峰彇缁勭鐢靛帇涓嬮檺(鏍囩О鍗曚綋鐢靛帇*鍗曚綋鏁伴噺*鐧惧垎姣�)
-	            function getGroupVolLow(monVolStd, monCount, ratio) {
-	            	return monVolStd*monCount*ratio/100;
-	            }
-	            
-	            // 鑾峰彇鍗曚綋鐢靛帇涓嬮檺(鏍囩О鍗曚綋鐢靛帇*鐧惧垎姣�)
-	            function getMonVolLow(monVolStd, ratio) {
-	            	return monVolStd*ratio/100;
-	            }
-	            
-	            // 鍗曚綋鏁伴噺涓嬮檺(鍗曚綋鑺傛暟*鐧惧垎姣�)
-	            function getMonNumLow(monCount, ratio) {
-	            	return Math.floor(monCount*ratio/100);
-	            }
-	            
-	            // 鏀剧數瀹归噺(鏍囩О瀹归噺*鐧惧垎姣�)
-	            function getDisCap(monCapStd, ratio) {
-	            	return monCapStd*ratio/100;
-	            }
-	            
-	            // 鍏呯數鐢垫祦(鏍囩О瀹归噺*鐧惧垎姣�)
-	            function getChargeCurr(monCapStd, ratio) {
-	            	return monCapStd*ratio/100;
-	            }
-	            
-	            // 鏀剧數鏃堕暱distime
-	            $('#distime').testVal({
-					pattern: /^[0-9]+$/,
-					regVal: true,
-					min: 0,
-					max: 5940,
-					msg: '鍙栧�艰寖鍥�0~5940'
-				});
-				
-				var regs = {
-					pattern: /^[0-9]+$/,
-					regVal: true,
-					min: 0,
-					max: 300,
-					msg: '鍙栧�艰寖鍥�0~300'
-				};
-				
-	            // 灏忔椂鐜�
-				$('#hourrate').testVal(regs);
-				
-				// 鏀剧數瀹归噺鐧惧垎姣�
-				$('#disCapPer').testVal(regs);
-				
-				// 鍗曚綋鐢靛帇涓嬮檺鐧惧垎姣�
-				$('#monVolLowPer').testVal(regs);
-				
-				// 缁勭涓嬮檺鐧惧垎姣�
-				$('#groupVolLowPer').testVal(regs);
-				
-				// 鍏呯數鐢垫祦鐧惧垎姣�
-				$('#chargeCurrPer').testVal(regs);
-				
-				// 鍗曚綋涓嬮檺鏁伴噺
-				$('#monNumLow').testVal({
-					pattern: /^[0-9]+$/,
-					regVal: true,
-					min: 0,
-					max: 100,
-					msg: '鍙栧�艰寖鍥�0~100'
-				});
-				
-				// 鑾峰彇BTS闈㈡澘鐨勬墍鏈夋枃鏈
-				$('#battInfo_popup').on('input propertychange', 'input[type=text]', function() {
-					setBTSPopupStatus($(this).attr('id'), $(this).val());
-				});
-				
-				// 鍚姩娴嬭瘯
-				$('#startTest').click(function() {
-					var rsList = $('#setCurrIframe').data('setCurr');
-					if(rsList.length == 0) {
-						layer.msg('鏆傛棤鏃犳硶鍚姩,璇峰厛璁剧疆鏀剧數鍙傛暟!');
-						return;
-					}
-					
-					// 鏄剧ず闈㈡澘
-					layer.open({
-						type: 2
-						,area: ['1200px', '500px']
-						,resize: false
-						,maxmin: true
-						,fixed: true
-						,content: 'iframe/setcurr.html'
-					});
-					
-				});
-				
-				// 鍒濆鍖栬缃弬鏁扮殑鎸夐挳
-				var BTSBtn = {
-					disabled: function() {
-						$('#btn_set').addClass('whyc-btn-disabled');	// 璁剧疆鍙傛暟鎸夐挳鏃犳晥
-					},
-					active:function() {
-						$('#btn_set').removeClass('whyc-btn-disabled');	// 璁剧疆鍙傛暟鎸夐挳鏈夋晥
-					}
-				};
-				
-				// 璁剧疆鎵归噺璁剧疆鏀剧數鍙傛暟闈㈡澘
-	            function setBtsPopup() {
-	            	$('#distime').val(600);				// 鏀剧數鏃堕暱
-	            	$('#hourrate').val(10);				// 灏忔椂鐜�
-	            	$('#disCapPer').val(60);			// 鏀剧數瀹归噺鐧惧垎姣�
-	            	$('#monVolLowPer').val(90);			// 鍗曚綋鐢靛帇涓嬮檺鐧惧垎姣�
-	            	$('#groupVolLowPer').val(90);		// 缁勭鐢靛帇涓嬮檺鐧惧垎姣�
-	            	$('#monNumLow').val(25);			// 鍗曚綋鏁伴噺鐧惧垎姣�
-	            	$('#chargeCurrPer').val(10);		// 鍏呯數鐢垫祦鐧惧垎姣�
-	            	$('#DCVolHighLimit').val(56.4);		//  鍗囧帇涓婇檺
-	            	$('#TempUpHighLimit').val(60);		//  娓╁害涓婇檺
-	            	
-	            	// 鍒濆鍖栭潰鏉跨姸鎬�
-	            	$('#battInfo_popup').find('input').removeClass('error-data');		// 绉婚櫎閿欒鎻愮ず
-	            	$('#battInfo_popup').find('.error-img').removeClass('error-data');	// 绉婚櫎閿欒鎻愮ず
-	            	BTSBtn.active();
-	            }
-				
-				//鏍规嵁鏂囨湰妗嗗唴瀹硅缃�61850鐨勬寜閽姸鎬�
-				function setBTSPopupStatus(id, val) {
-					var textList = BTS_popup.popup.find('input[type=text]');
-					var selectList = BTS_popup.popup.find('.popup-tbl select');
-					var errorStatus = BTS_popup.popup.data().errorStatus; // 鑾峰彇鏄惁璇诲彇鍙傛暟澶辫触
-					//console.log(BTS_popup.popup.data().attr);
-					// 璇诲彇璁惧鍙傛暟澶辫触
-					if(errorStatus) {
-						BTSBtn.disabled();
-						return false;	// 缁撴潫鍑芥暟杩愯
-					}
-					
-					// 閬嶅巻闈㈡澘涓嬬殑鎵�鏈夋枃鏈鏌ョ湅鏄惁鏈夐敊璇暟鎹�
-					var isDisabled = false;
-					textList.each(function() {
-						if($(this).hasClass('error-data')) {
-							isDisabled = true;
-						}
-					});
-					
-					// 瀛樺湪閿欒鐨勬暟鎹�
-					if(isDisabled) {
-						BTSBtn.disabled();
-						return false;	// 缁撴潫鍑芥暟杩愯
-					}else {
-						BTSBtn.active();
-					}
-				}
-				
-				// 鑾峰彇璁剧疆鏀剧數鍙傛暟鐨勪笅鏍�
-				function getSetCurrIndex(setData, allData) {
+				// 澶勭悊娣诲姞鏈烘埧淇℃伅鐨勭粨鏋�
+				function formatSearchData(data) {
+					console.log(data);
 					var rs = [];
-					// 閬嶅巻setData
-					for(var i=0; i<setData.length; i++) {
-						var _setData = setData[i];
-						var setDevId = _setData.dev_id;
-						// 閬嶅巻allData
-						for(var k=0; k<allData.length; k++) {
-							var _allData = allData[i];
-							var allDevId = _allData.FBSDeviceId;
-							if(setDevId == allDevId) {
-								rs.push(k);
-							}
-						}
+					// 閬嶅巻data鐨�
+					for(var i=0; i<data.length; i++) {
+						var _data = data[i];
 						
+						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 = _data.StationName;			// 鏈烘埧鍚嶇О
+						tmp.GroupConnType = 0;						// 鐢垫睜缁勮繛鎺ョ被鍨�
+						tmp.StationName9 = _data.StationName9;		// 璁惧鐗堟湰鍙�
+						
+						tmp.GroupVol = obj.GroupVol;				// 鐢垫睜缁勭鏍囩О鐢靛帇锛圴锛�
+						
+						tmp.STD_CAP = obj.STD_CAP;					// 鐢垫睜鏍囩О瀹归噺(AH)
+						tmp.STD_CAP_b = _data.MonCapStd;
+						tmp.STD_CAP_bool = isNumEqual(_data.MonCapStd, obj.STD_CAP);
+						
+						tmp.STD_RES = obj.STD_RES;					// 鐢垫睜鏍囩О鍐呴樆(u惟)
+						tmp.STD_RES_b = _data.MonSerStd;
+						tmp.STD_RES_bool = isNumEqual(_data.MonSerStd, obj.STD_RES);
+						
+						tmp.BattGroupCount = obj.BattGroupCount;		// 鐢垫睜缁勭粍鏁�
+						tmp.BattGroupCount_b = _data.BattGroupNum;
+						tmp.BattGroupCount_bool = isNumEqual(_data.BattGroupNum, obj.BattGroupCount);
+						
+						tmp.EachGroupBattCount = obj.EachGroupBattCount;	// 姣忕粍鐢垫睜鍗曚綋鏁伴噺
+						tmp.EachGroupBattCount_b = _data.MonCount;
+						tmp.EachGroupBattCount_bool = isNumEqual(_data.MonCount, obj.EachGroupBattCount);
+						
+						tmp.MonomerVol = obj.MonomerVol;	// 鍗曚綋鏍囩О鐢靛帇锛圴锛�
+						tmp.MonomerVol_b = _data.MonVolStd;
+						tmp.MonomerVol_bool = isNumEqual(_data.MonVolStd, obj.MonomerVol);
+						
+						tmp.BattTemp = obj.BattTemp;	// 鐢垫睜鏍囩О娓╁害锛堚剝锛�
+						tmp.BattTemp_b = _data.MonTmpStd;
+						tmp.BattTemp_bool = isNumEqual(_data.MonTmpStd, tmp.BattTemp);
+						
+						tmp.FloatChargeVol = obj.FloatChargeVol;	// 鐢垫睜娴厖鐢靛帇闃�鍊硷紙V锛�
+						tmp.FloatChargeVol_b = _data.FloatVolLevel;
+						tmp.FloatChargeVol_bool = isNumEqual(_data.FloatVolLevel, tmp.FloatChargeVol);
+						
+						tmp.FloatChargeCurr = obj.FloatChargeCurr;		// 鐢垫睜娴厖鐢垫祦闃�鍊硷紙A锛�
+						tmp.FloatChargeCurr_b = _data.BattFloatCurrent;
+						tmp.FloatChargeCurr_bool = isNumEqual(_data.BattFloatCurrent, tmp.FloatChargeCurr);
+						
+						tmp.OnlineVolLow = obj.OnlineVolLow;		// 鍦ㄧ嚎鐢靛帇浣庨榾鍊硷紙V锛�
+						tmp.OnlineVolLow_b = _data.OfflineVolLevel;
+						tmp.OnlineVolLow_bool = isNumEqual(_data.OfflineVolLevel, tmp.OnlineVolLow);
+						
+						rs.push(tmp);
 					}
 					
 					return rs;
 				}
 				
-				//  鏇存柊璁惧鐘舵��
-				var BTS9100 = GLOBAL.BTS9100;
-				var workStates = BTS9100.workstates;
-				var alarmStates = BTS9100.alarmstates;
-				function updateDevStatus() {
-					var battlist = tOptions.data;
-					clearInterval(updateDevStatus.timer);
-					if(battlist.length > 0){
-						$.ajax({ 	
-				        	type: "post", 				
-					        url: "Fbs9100_setparamAction_action_serchByInfo",				
-					        async:true,				
-					        dataType:'text',
-					        data:"json="+JSON.stringify(battlist),
-					        dataType: 'json',		
-					        success: function(res){ 
-								var rs = JSON.parse(res.result);
-								if(rs.code == 1) {
-									var data = rs.data;
-									// console.log(data);
-									for(var i=0; i<data.length; i++) {
-										var obj = data[i];
-										if(obj.fstate.num > 0){
-											var str = '';
-											var index = obj.fstate.dev_workstate;
-											// 鍐呴樆娴嬭瘯(宸ヤ綔鐘舵�佷负0, 鍐呴樆娴嬭瘯涓嶄负0)
-											if(obj.fstate.dev_workstate ==0 && obj.fstate.dev_res_test_state != 0) {
-												index = 3;
-											}
-											// 璁剧疆鏂囨湰鍊�
-											str = "鐘舵��:"	+ workStates[index]+
-												  ",鍛婅:"+alarmStates[obj.fstate.dev_alarmstate]+
-												  ",缁勭鐢靛帇(V):"+obj.fstate.dev_captest_groupvol+
-												  ",鐢垫祦(A):"+obj.fstate.dev_captest_curr+
-												  ",瀹归噺(AH):"+obj.fstate.dev_captest_cap;
-										 	if(index == 3){
-										 		str = "鐘舵��:"+workStates[index]+
-										 			  ",缁勫彿:"+obj.fstate.dev_testgroupnum+
-										 			  ",褰撳墠鍗曚綋缂栧彿:"+(obj.fstate.dev_restest_monindex+1)+
-										 			  ",琚祴鍗曚綋鎬绘暟:"+obj.fstate.dev_restest_moncount;
-										 	}
-										 	var temp = {
-										 		devStatus: str			// 璁惧鐘舵��
-										 		,testTime: formatSeconds(obj.fstate.dev_captest_timelong)		// 娴嬭瘯鏃堕暱
-										 		,signalNum: obj.fstate.dev_commcount
-										 	}
-											layuiTbl.updateTr(i, temp);
-										}
-									}
-								}
-								updateDevStatus.timer = setTimeout(updateDevStatus, 4000);
-							},					
-						});
+				// 鑾峰彇涓や釜鏁版槸鍚︿竴鑷�
+				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锛�
+						tmp.readStatus = _data.readStatus;					// 璇诲彇鐘舵��
+						// 灏嗘暟鎹斁鍒拌繑鍥炵殑缁撴灉闆嗕腑
+						rs.push(tmp);
+					}
+					return rs;
+				}
+				
+				// 鑾峰彇绛涢�夋潯浠剁殑瀛楃涓�
+				function getFilterStr(data) {
+					var rsString = '';
+					rsString += data.StationName;
+					rsString += '-'+data.MonVolStd+'V璁惧';
+					rsString += '-'+(data.GroupIndexInFBSDevice == '0'?'鐢垫睜缁�1': '鐢垫睜缁�2');
+					return rsString;
+				}
+				
+				// 鏍规嵁readStatus鐨勫�艰缃數姹犲弬鏁扮殑鍊煎尯鍒嗗彲璁剧疆鍙傛暟鐨勬満鎴夸俊鎭�/涓嶅彲璁剧疆鍙傛暟鐨勬満鎴�
+				function getGoodAndBadHome(data) {
+					let rs = {
+						good: []
+						,bad: []
+					};
+					
+					// 閬嶅巻data鐨勫��
+					for(var i=0; i<data.length; i++) {
+						let _data = data[i];
+						let status = _data.readStatus;
+						if(status) {
+							rs.good.push(_data);
+						}else {
+							rs.bad.push(_data);
+						}
+					}
+					
+					return rs;
+				}
+				
 				
         	});
-
-
-
-
-
-
-        	
         </script>
     </body>
 </html>
\ No newline at end of file

--
Gitblit v1.9.1