From a48201ce493b03f80b4b8ed4feae7b8b0707c2d5 Mon Sep 17 00:00:00 2001 From: hdw <496960745@qq.com> Date: 星期三, 05 十二月 2018 17:37:50 +0800 Subject: [PATCH] 重构电池信息配置页面 --- gx_tieta/WebRoot/ele-param1.jsp | 773 ++++++++++++++++++++++++ gx_tieta/WebRoot/iframe/batt-info-edit.html | 507 ++++++++++++++++ gx_tieta/WebRoot/iframe/batt-info-add.html | 558 ++++++++++++++++++ 3 files changed, 1,838 insertions(+), 0 deletions(-) diff --git a/gx_tieta/WebRoot/ele-param1.jsp b/gx_tieta/WebRoot/ele-param1.jsp new file mode 100644 index 0000000..c5523e4 --- /dev/null +++ b/gx_tieta/WebRoot/ele-param1.jsp @@ -0,0 +1,773 @@ +<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> +<% +String path = request.getContextPath(); +String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; +%> +<%@ taglib uri="/struts-tags" prefix="s" %> +<!DOCTYPE HTML> +<html> + <head> + <base href="<%=basePath%>"> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta http-equiv="pragma" content="no-cache"> + <meta http-equiv="cache-control" content="no-cache"> + <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> + <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"> + <style> + .dataTypeCont { + width: 160px; + text-align: center; + } + .dataTypeCont .layui-form-switch { + min-width: 70px; + margin-top: 4px; + } + </style> + </head> + <body> + <!--澶撮儴鍐呭寮�濮�--> + <jsp:include page="Top.jsp" flush="true"/> + <!--澶撮儴鍐呭缁撴潫--> + <!--瀵艰埅寮�濮�--> + <jsp:include page="nav.jsp" flush="true"/> + <!-- 涓讳綋鍐呭 --> + <div class="layui-page-container"> + <!-- 鏉′欢绛涢�� --> + <div class="layui-page-filter"> + <div class="page-filter-header layui-page-filter-fweight">鐢垫睜淇℃伅閰嶇疆</div> + <div class="page-filter-content"> + <table> + <tr class="layui-page-filter-tbl-header layui-page-filter-fweight"> + <td>鐪�</td> <!-- 鐪� --> + <td>甯�</td> <!-- 甯� --> + <td>鍖�/鍘�</td> <!-- 甯� --> + <td><s:text name="Computer_name"/></td> <!-- 鏈烘埧鍚嶇О --> + </tr> + <tr> + <td> + <div class="layui-form" lay-filter="provinceFilter"> + <div class="layui-form-item"> + <div class="layui-input-block"> + <select name="province" id="province" lay-filter="province"> + <option value="">璇烽�夋嫨鐪�</option> + </select> + </div> + </div> + </div> + </td> + <td> + <div class="layui-form" lay-filter="cityFilter"> + <div class="layui-form-item"> + <div class="layui-input-block"> + <select name="city" id="city" lay-filter="city"> + <option value="">璇烽�夋嫨甯�/鍖�</option> + </select> + </div> + </div> + </div> + </td> + + <td> + <div class="layui-form" lay-filter="countyFilter"> + <div class="layui-form-item"> + <div class="layui-input-block"> + <select name="county" id="county" lay-filter="county"> + <option value="">璇烽�夋嫨鍖�/鍘�</option> + </select> + </div> + </div> + </div> + </td> + + <td> + <div class="layui-form" lay-filter="homeFilter"> + <div class="layui-form-item"> + <div class="layui-input-block"> + <select name="home" id="home" lay-filter="home"> + <option value="">璇烽�夋嫨鏈烘埧</option> + </select> + </div> + </div> + </div> + </td> + </tr> + </table> + </div> + </div> + <!-- 椤甸潰涓婚鍐呭 --> + <div class="layui-page-content" style="position: relative;"> + <!-- 琛ㄦ牸鍐呭 --> + <table id="pageTbl" lay-filter="pageTbl"></table> + </div> + <div class="data-footer"> + <!-- 鍒嗛〉鍐呭 --> + <div id="paging"> + <a href="javascript:" class="search"><s:text name="Search"/></a> <!-- 鏌ヨ --> + <a href="javascript:" id="export_table"><s:text name="Export"/></a> <!-- 瀵煎嚭 --> + <span id="current">1/1</span> + <span><s:text name="Each_page"/><input type="text" id="number" value="10"/><s:text name="Item"/></span> + <s:text name="Total_data"/><!-- 鏁版嵁鎬婚噺 --><span id="total">0</span> + <a href="javascript:" id="page_home"><s:text name="HomePage"/></a> + <a href="javascript:" id="page_pre"><s:text name="Page_Up"/></a> + <a href="javascript:" id="page_next_p"><s:text name="Page_Down"/></a> + <a href="javascript:" id="page_last"><s:text name="End_Page"/></a> + <span id="cont"> + <s:text name="Goto"/><input type="text" id="page_num" value="1"/> + <a href="javascript:" id="page_go"><s:text name="Jump"/></a> + </span> + <a href="javascript:;" class="new-item"><s:text name="Newly_build"/><!-- 鏂板缓 --></a> + <a href="javascript:;" class="reflush"><s:text name="Refresh"/><!-- 鍒锋柊 --></a> + </div> + </div> + </div> + <!-- 瀛樺偍iframe --> + <div id="iframeEdit"></div> + <!-- 鍏抽棴椤甸潰涓璱frame寮瑰嚭灞� --> + <div id="iframeClose"></div> + <script type="text/html" id="battGrouptools"> + <a class="layui-btn layui-btn-xs" lay-event="edit">缂栬緫</a> + <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">鍒犻櫎</a> + </script> + <script type="text/html" id="produceTime"> + {{= d.BattProductDate.substr(0,10)}} + </script> + <script type="text/html" id="useTime"> + {{= d.BattInUseDate.substr(0,10)}} + </script> + <script type="text/html" id="isInstall"> + {{# if(d.Station_install) { }} + <button class="layui-btn layui-btn-normal layui-btn-xs">宸插畨瑁�</button> + {{# }else { }} + <button class="layui-btn layui-btn-disabled layui-btn-xs">鏈畨瑁�</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> + <script type="text/javascript" src="src/layui.js"></script> + <script type="text/javascript" src="pages/js/mylayui.js"></script> + <script type="text/javascript"> + layui.use(['form', 'table', 'layer', 'element'], function() { + var table = layui.table; // 鑾峰彇琛ㄦ牸妯″潡 + var form = layui.form; // 鑾峰彇琛ㄥ崟妯″潡 + var layer = layui.layer; // 鑾峰彇寮瑰嚭妗嗘ā鍧� + var element = layui.element; // 鑾峰彇鍏冪礌鎿嶄綔妯″潡 + + var iframePopup; // 椤甸潰涓璱frame鐨勫脊鍑哄眰 + $('#iframeClose').click(function() { + layer.close(iframePopup); + }); + + var Page = new TblPage(); + Page.set(1, 0, 20); // 璁剧疆鍒嗛〉鍒濆閰嶇疆椤� + setPageVal(Page); + + // 璁剧疆妫�娴嬫枃浠跺悕寮瑰嚭妗嗙殑content + var addGroupContent = '<div style="width:300px; height: 40px;"><div style="margin-top: 20px;margin-left: 8px; margin-right: 8px; text-algin: center;">'+ + '<span>鏂板缓 </span>'+ + '<select id="addGroupnum" style="width: 190px;height: 26px; border: 1px solid #ccc">'+ + '<option value="1">1</option>'+ + '<option value="2">2</option>'+ + '<option value="3">3</option>'+ + '<option value="4">4</option>'+ + '</select>涓數姹犵粍'+ + '<br><br>'+ + '</div></div>'; + + var isNewLoad = true; + var pre_province = getQueryString('province'); + // 鏌ヨ鐪佷笅鎷夋 + searchProvince(); + // 鏌ヨ鐪� + var filterLoad = layer.load(); + function searchProvince() { + // 璇锋眰鍚庡彴鏌ヨ + $.ajax({ + type:'post', + async:true, + url: 'User_battgroup_baojigroup_battgroupAction!serchStationName1InGroup', + data: null, + dataType: 'json', + success:function(result) { + var rs = JSON.parse(result.result); + var list = []; // option缁撴灉闆� + var ele = $('#province'); // 鐩爣select + if(rs.code == 1) { + var data = rs.data; + list.push(getLayuiSelect('璇烽�夋嫨鐪�/鐩磋緰甯�', '', {}, undefined)); + // 閬嶅巻鏌ヨ缁撴灉 + for(var i=0; i<data.length; i++) { + var _data = data[i]; + var _tmp = getLayuiSelect(_data, _data, {}, {}); + if(pre_province == _data && isNewLoad){ + _tmp = getLayuiSelect(_data, _data, {}, {},true); + } + list.push(_tmp); + } + }else { + list.push(getLayuiSelect('鏆傛棤鐪�/鐩磋緰甯�', '', {}, undefined)); + } + + // 鏍规嵁瀵硅薄鏁扮粍鐢熸垚涓嬫媺鍒楄〃 + createLayuiSelect(ele, list); + form.render('select', 'provinceFilter'); + + // 鏌ヨ甯� + searchCity(); + } + }); + } + + // 鍒囨崲鐪�-甯� + form.on('select(province)', function(data) { + // 鏌ヨ甯� + searchCity(true); + }); + + // 鏌ヨ甯� + function searchCity(isLoad) { + // 鏋勯�犳煡璇㈡潯浠� + var tmp = { + StationName1: $("#province").val() + }; + var pre_city = getQueryString('city'); + + // 鏄惁娣诲姞绛夊緟 + if(isLoad) { + filterLoad = layer.load(); + } + // 鏍规嵁鏋勯�犳潯浠舵煡璇㈠唴瀹� + $.ajax({ + type: 'post', + async: true, + url: 'BattInfAction!serchStationName2', + dataType: 'json', + data: "json = "+JSON.stringify(tmp), + success: function(result) { + var rs = JSON.parse(result.result); + var list = []; // option缁撴灉闆� + var ele = $('#city'); // 鐩爣select + if(rs.code == 1) { + var data = rs.data; + list.push(getLayuiSelect('璇烽�夋嫨甯�/鍖�', '', {}, undefined)); + // 閬嶅巻鏌ヨ缁撴灉 + for(var i=0; i<data.length; i++) { + var _data = data[i]; + var _tmp = getLayuiSelect(_data.StationName2, _data.StationName2, {}, _data); + if(pre_city == _data.StationName2 && isNewLoad){ + _tmp = getLayuiSelect(_data.StationName2, _data.StationName2, {}, _data,true); + } + list.push(_tmp); + } + }else { + list.push(getLayuiSelect('鏆傛棤甯�/鍖�', '', {}, undefined)); + } + + // 鏍规嵁瀵硅薄鏁扮粍鐢熸垚涓嬫媺鍒楄〃 + createLayuiSelect(ele, list); + form.render('select', 'cityFilter'); + + // 鏌ヨ鍖哄幙 + searchCounty(); + } + }); + } + + // 鍒囨崲甯�-鍖哄幙 + form.on('select(city)', function(data) { + // 鏌ヨ鍖哄幙 + searchCounty(true); + }); + + + // 鏌ヨ鍖�/鍘� + function searchCounty(isLoad) { + // 鏋勯�犳煡璇㈡潯浠� + var tmp = { + StationName1: $("#province").val(), + StationName2: $("#city").val() + }; + // 鏄惁娣诲姞绛夊緟 + if(isLoad) { + filterLoad = layer.load(); + } + var pre_county = getQueryString('county'); + // 鏍规嵁鏋勯�犳潯浠舵煡璇㈠唴瀹� + $.ajax({ + type: 'post', + async: true, + url: 'BattInfAction!serchStationName5', + dataType: 'json', + data: "json = "+JSON.stringify(tmp), + success: function(result) { + var rs = JSON.parse(result.result); + //console.info(rs); + var list = []; // option缁撴灉闆� + var ele = $('#county'); // 鐩爣select + if(rs.code == 1) { + var data = rs.data; + list.push(getLayuiSelect('璇烽�夋嫨鍖�/鍘�', '', {}, undefined)); + // 閬嶅巻鏌ヨ缁撴灉 + for(var i=0; i<data.length; i++) { + var _data = data[i]; + var _tmp = getLayuiSelect(_data.StationName5, _data.StationName5, {}, _data); + if(pre_county == _data.StationName5 && isNewLoad){ + _tmp = getLayuiSelect(_data.StationName5, _data.StationName5, {}, _data,true); + } + //console.info(_tmp); + list.push(_tmp); + } + }else { + list.push(getLayuiSelect('鏆傛棤鍖�/鍘�', '', {}, undefined)); + } + + // 鏍规嵁瀵硅薄鏁扮粍鐢熸垚涓嬫媺鍒楄〃 + createLayuiSelect(ele, list); + form.render('select', 'countyFilter'); + + // 鏌ヨ鏈烘埧 + searchHome(); + } + }); + } + + // 鍒囨崲甯�-鍖哄幙 + form.on('select(county)', function(data) { + // 鏌ヨ鍖哄幙 + searchHome(true); + }); + + // 鏌ヨ鏈烘埧 + function searchHome(isLoad) { + // 鏋勯�犳煡璇㈡潯浠� + var tmp = { + StationName1:$("#province").val(), + StationName2:$("#city").val(), + StationName5:$("#county").val(), + }; + var pre_home = getQueryString('home'); + var auto_seach = false; + // 鏄惁娣诲姞绛夊緟 + if(isLoad) { + filterLoad = layer.load(); + } + // 鏍规嵁鏋勯�犳潯浠舵煡璇㈠唴瀹� + $.ajax({ + type: 'post', + async: true, + url: 'BattInfAction!serchStationName3', + dataType: 'json', + data: "json = "+JSON.stringify(tmp), + success: function(result) { + var rs = JSON.parse(result.result); + var list = []; // option缁撴灉闆� + var ele = $('#home'); // 鐩爣select + if(rs.code == 1) { + var data = rs.data; + list.push(getLayuiSelect('璇烽�夋嫨鏈烘埧', '', {StationId: '', dev_id: ''}, undefined)); + // 閬嶅巻鏌ヨ缁撴灉 + for(var i=0; i<data.length; i++) { + var _data = data[i]; + var _attr = { + StationId: _data.StationId, + dev_id: _data.FBSDeviceId + }; + var _tmp = getLayuiSelect(_data.StationName, _data.StationName, _attr, _data); + if(pre_home == _data.StationName && isNewLoad){ + _tmp = getLayuiSelect(_data.StationName, _data.StationName, _attr, _data,true); + auto_seach = true; + } + list.push(_tmp); + } + }else { + list.push(getLayuiSelect('鏆傛棤鏈烘埧', '', {}, undefined)); + } + // 鏍规嵁瀵硅薄鏁扮粍鐢熸垚涓嬫媺鍒楄〃 + createLayuiSelect(ele, list); + form.render('select', 'homeFilter'); + isNewLoad = false; + layer.close(filterLoad); + + // 鍒濆鍖栧垎椤典俊鎭� + Page.setCurr(1); + + // 鏌ヨ鍚庡彴鏁版嵁 + search(createSearchParam(), true); + } + }); + } + + // 鍒囨崲鏈烘埧 + form.on('select(home)', function(data) { + // 鍒濆鍖栧垎椤典俊鎭� + Page.setCurr(1); + // 鏌ヨ鍚庡彴鏁版嵁 + search(createSearchParam(), true); + }); + + + // 琛ㄦ牸妯″潡 + var tOptions = { + elem: '#pageTbl' + ,toolbar: false + ,cellMinWidth: 80 + ,cols: [[ + {field:'StationId', title:'鏈烘埧缂栧彿', align:'center', width: 120} + ,{field:'StationName1', title:'鐪�', align:'center', width: 100} + ,{field:'StationName2', title:'甯�', align:'center', width: 100} + ,{field:'StationName5', title:'鍖哄幙', align:'center', width: 100} + ,{field:'StationName3', title:'鏈烘埧鍚嶇О', align:'center', width: 360} + ,{field:'StationName4', title:'璁惧鍚嶇О', align:'center', width: 150} + ,{field:'StationIp', title:'鏈烘埧ip', align:'center', width: 160} + ,{field: 'FBSDeviceId', title: 'FBS璁惧ID锛堥噸瑕侊級', align: 'center', width: 160} + ,{field:'FbsDeviceIp', title:'FBS璁惧IP锛堥噸瑕侊級', align:'center', width: 160} + ,{field:'FbsDeviceIp_YM', title:'瀛愮綉鎺╃爜', align:'center', width: 160} + ,{field:'FbsDeviceIp_WG', title:'缃戝叧', align:'center', width: 160} + ,{field:'FBSDeviceName', title:'FBS璁惧鍚嶇О', align:'center', width: 160} + ,{field:'GroupIndexInFBSDevice', title:'FBS璁惧绱㈠紩', align:'center', width: 160} + ,{field:'BattGroupId', title:'鐢垫睜缁処D', align:'center', width: 160} + ,{field:'BattGroupNum', title:'鏈烘埧鍐呯數姹犵粍缂栧彿', align:'center', width: 160} + ,{field:'BattGroupName', title:'鐢垫睜缁勫悕绉�', align:'center', width: 160} + ,{field:'FloatVolLevel', title:'娴厖鐢靛帇闃�鍊�', align:'center', width: 160} + ,{field:'OfflineVolLevel', title:'绂荤嚎鐢靛帇闃�鍊�', align:'center', width: 160} + ,{field:'BattFloatCurrent', title:'娴厖闃�鍊�', align:'center', width: 100} + ,{field:'MonCount', title:'鍗曚綋鏁伴噺', align:'center', width: 100} + ,{field:'MonCapStd', title:'鏍囩О瀹归噺', align:'center', width: 100} + ,{field:'MonVolStd', title:'鏍囩О鍗曚綋鐢靛帇', align:'center', width: 140} + ,{field:'MonResStd', title:'鏍囩О鍗曚綋鍐呴樆', align:'center', width: 140} + ,{field:'MonSerStd', title:'鏍囩О鍗曚綋鐢靛', align:'center', width: 140} + ,{field:'MonVolLowToAvg', title:'鍗曚綋鐢靛帇娆′綆鍋忕Щ閲�', align:'center', width: 140} + ,{field:'Load_curr', title:'璐熻浇鐢垫祦', align:'center', width: 140} + ,{field:'DisCurrMax', title:'鏈�澶ф牳瀹圭數娴�', align:'center', width: 140} + ,{field:'station_phone', title:'鍩虹珯鎵嬫満鍙风爜', align:'center', width: 140} + ,{field:'BattProducer', title:'鐢垫睜鍝佺墝', align:'center', width: 140} + ,{field:'BattModel', title:'鐢垫睜鍨嬪彿', align:'center', width: 260} + ,{field:'productDate', title:'鐢垫睜鐢熶骇鏃ユ湡', templet: '#produceTime', align:'center', width: 140} + ,{field:'useDate', title:'鎶曞叆浣跨敤鏃ユ湡', templet: '#useTime', align:'center', width: 140} + ,{field:'isInstall', title:'瀹夎鐘舵��', templet: '#isInstall', align:'center', width: 140} + ,{field:'install_user', title:'璁惧瀹夎浜哄憳', align:'center', width: 260} + ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#battGrouptools', width:150} + ]] + ,data:[] + ,limit: 10000 + ,page: false + ,height: 'full-290' + }; + + // 鐢熸垚琛ㄦ牸鏁版嵁 + table.render(tOptions); + + // 鐐瑰嚮琛ㄦ牸涓殑宸ュ叿鎸夐挳 + table.on('tool(pageTbl)', function(obj){ + //console.log(obj); + switch(obj.event) { + case 'edit': + editBattGroup(obj); + break; + case 'del': + delBattGroup(obj); + break; + default: + layer.msg('鍔熻兘寮�鍙戜腑...'); + break; + }; + }); + + // 缂栬緫鐢垫睜缁勪俊鎭� + function editBattGroup(obj) { + $('#iframeEdit').data('data', obj.data); + iframePopup = layer.open({ + type: 2 + ,area:['1200px', '520px'] + ,resize: false + ,content: 'iframe/batt-info-edit.html' + }); + } + + // 鍒犻櫎鐢垫睜缁� + function delBattGroup(obj) { + //console.log(obj); + var data = obj.data; + var content = '鏄惁纭鍒犻櫎<span style="font-weight: bold; color: #FF5722">'+data.StationName3+'</span>' + layer.confirm(content,{ + icon: 2 + ,title: '鎻愮ず' + }, function(index) { + // 鍏抽棴纭妗� + layer.close(index); + var province = data.StationName1; // 鐪� + var city = data.StationName2; // 甯� + var home = data.StationName3; // 鏈烘埧鍚嶇О + var bts = data.StationName4; // 璁惧鍚嶇О + data.StationName = province+'-'+city+'-'+home+'-'+bts; + var temp = [data]; + delBatt(temp); + }); + } + + //鍒犻櫎澶氫釜鐢垫睜缁� + function delBatt(temp){ + var load = layer.load(1); + $.ajax({ + type: "post", + url: "BattInfAction!delete", + async:true, + dataType:'text', + data:"json="+JSON.stringify(temp), + success: function(data){ + data = eval('('+data+')'); + var model = eval('('+data.result+')'); + //console.info(model); + if(model.code ==1){ + layer.msg('鍒犻櫎鎴愬姛锛�'); + $('#paging .search').click(); + }else{ + layer.msg('鍒犻櫎澶辫触锛�'); + } + }, + error:function(){ + layer.msg('鍒犻櫎澶辫触锛�'); + }, + complete: function() { + layer.close(load); + } + }); + } + + var defaultData = { + StationId: '4011100' + ,StationName1: '婀栧寳鐪�' + ,StationName2: '姝︽眽' + ,StationName5: '涓滆タ婀栧尯' + ,StationName3: '瀹為獙瀹ゆ満鎴�' + ,StationName4: 'BTS璁惧' + ,StationIp: '127.0.0.1' + ,FBSDeviceId: '960000001' + ,FbsDeviceIp: '127.0.0.1' + ,FbsDeviceIp_YM: '255.255.255.0' + ,FbsDeviceIp_WG: '127.0.0.1' + ,FBSDeviceName: '璁惧鍚嶇О' + ,GroupIndexInFBSDevice: 1 + ,BattGroupId: 1000005 + ,BattGroupNum: 2 + ,BattGroupName: '鐢垫睜缁�1' + ,FloatVolLevel: 54 + ,OfflineVolLevel: 42.9 + ,BattFloatCurrent: 10 + ,MonCount: 24 + ,MonCapStd: 300 + ,MonVolStd: 2 + ,MonResStd: 0.2 + ,MonSerStd: 5000 + ,MonVolLowToAvg: 0.05 + ,Load_curr: 15 + ,DisCurrMax: '0' + ,station_phone: 12345678912 + ,BattProducer: '' + ,BattModel: '' + ,productDate: '2018-09-18 00:00:00' + ,useDate: '2018-09-18 00:00:00' + ,install_user: '' + }; + + // 鐐瑰嚮鏂板缓鎸夐挳 + $('#paging .new-item').click(function() { + var len = tOptions.data.length; + var _rsData = defaultData; + if(len) { + _rsData = tOptions.data[len-1]; + } + + // 鎵撳紑闈㈡澘璁剧疆鏂板缓鐢垫睜缁勪釜鏁� + layer.open({ + type: 1 + ,title: '閫夋嫨鏂板缓鐢垫睜缁勪釜鏁�' + ,content: addGroupContent + ,fixed: true + ,resize: false + ,btn:['纭畾', '鍙栨秷'] + ,yes: function(index) { + var groupNum = $('#addGroupnum').val(); + layer.close(index); + // 鐢熸垚鏁扮粍 + var _arr = []; + for(var i=0; i<groupNum; i++) { + _arr.push(i+1); + } + + _rsData.addGroupNum = _arr; + $('#iframeEdit').data('data', _rsData); + + iframePopup = layer.open({ + type: 2 + ,area:['1200px', '520px'] + ,resize: false + ,content: 'iframe/batt-info-add.html' + }); + } + }); + }); + + + // 鏌ヨ鐢垫睜缁勪俊鎭� + function search(temp, newLoad) { + var load; + if(newLoad) { + load = layer.load(1) + } + //console.log(temp); + $.ajax({ + type: "post", + url: "BattInfAction!searchInform", + async:true, + dataType:'text', + data:"json="+JSON.stringify(temp), + success: function(res){ + var rs = eval('('+res+')'); + var model = eval('('+rs.result+')'); + if(model.code ==1){ + var data = model.data; + tOptions.data = data; + for(var i=0; i<data.length; i++) { + Page.setAll(data[i].num); + } + + // 鐢熸垚琛ㄦ牸鏁版嵁 + table.render(tOptions); + }else{ + layer.msg("鏈煡璇㈠埌鏁版嵁"); + Page.setAll(0); + Page.setCurr(1); + } + + // 璁剧疆鍒嗛〉淇℃伅 + setPageVal(Page); + }, + error:function(){ + layer.msg("鏌ヨ澶辫触"); + layer.close(load); + }, + complete: function() { + layer.close(load); + } + }); + } + + // 鏋勯�犳煡璇㈡潯浠� + function createSearchParam() { + var homename = $('#home').val()?$('#home').val(): ''; + var temp = { + binf:{ + StationName1:$('#province').val(), // 鐪� + StationName2:$('#city').val(), // 甯� + StationName5:$('#county').val(), // 鍖�/鍘� + StationName: homename // 鏈烘埧鍚嶇О + } + ,page: Page.getPage() + }; + + return temp; + + + } + + // 鐐瑰嚮鏌ヨ + $('#paging .search').click(function() { + search(createSearchParam(), true); + }); + + // 鐐瑰嚮鍒锋柊 + $('#paging .reflush').click(function() { + search(createSearchParam(), true); + }); + + + //棣栭〉 + $('#page_home').click(function(){ + alert(123); + if(Page != undefined){ + if(Page.curr != 1){ + Page.setCurr(1); + search(createSearchParam(), true); + } + } + }); + + //鐐瑰嚮涓婁竴椤� + $("#page_pre").click(function(){ + if(Page != undefined){ + if(Page.curr > 1){ + Page.setCurr(Page.curr-1); + search(createSearchParam(), true); + } + } + }); + + //鐐瑰嚮涓嬩竴椤� + $("#page_next_p").click(function(){ + if(Page != undefined){ + if(Page.num > Page.curr){ + Page.setCurr(Page.curr+1); + search(createSearchParam(), true); + } + } + }); + + //灏鹃〉 + $('#page_last').click(function(){ + if(Page != undefined){ + if(Page.pageCurr < Page.num){ + Page.setCurr(Page.num); + search(createSearchParam(), true); + } + } + }); + + //璁剧疆姣忛〉琛屾暟 + $('#number').blur(function(){ + var value=$('#number').val(); + //褰撹緭鍏ョ殑鏁板ぇ浜�0鏃� + if(value>0){ + if(value != Page.pageSize){ + Page.setSize(parseInt(value)); + Page.setCurr(1); + } + }else{ + //褰撹緭鍏ラ潪娉曟暟瀛楁椂 + alert("璇疯緭鍏ュ悎娉曠殑鏁板瓧"); /* 璇疯緭鍏ュ悎娉曠殑鏁存暟 */ + $('#number').val(Page.size); + } + }); + + //鐐瑰嚮璺宠浆 + $('#page_go').click(function(){ + var tarpage=$('#page_num').attr('value'); + if(tarpage > Page.num){ + Page.setCurr(Page.num); + search(createSearchParam(), true); + }else if(tarpage > 0 && tarpage!= Page.curr){ + Page.setCurr(parseInt(tarpage)); + search(createSearchParam(), true); + } + + }); + + // 璁剧疆椤甸潰Page + function setPageVal(page) { + $('#current').text(page.curr+'/'+page.num); + $('#total').text(page.all); + $('#number').val(page.size); + } + + }); + </script> + </body> +</html> \ No newline at end of file diff --git a/gx_tieta/WebRoot/iframe/batt-info-add.html b/gx_tieta/WebRoot/iframe/batt-info-add.html new file mode 100644 index 0000000..ac7051a --- /dev/null +++ b/gx_tieta/WebRoot/iframe/batt-info-add.html @@ -0,0 +1,558 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="ie=edge"> + <title>淇敼鐢垫睜淇℃伅</title> + <link rel="stylesheet" href="../src/css/layui.css"> + <style> + .layui-form-pane .layui-form-label { + width: 130px; + } + .layui-form-pane .layui-input-block { + margin-left: 130px; + } + .red { + font-size: 20px; + color: #FF5722; + } + </style> +</head> +<body> + <div class="layui-fluid"> + <div style="height: 8px;"></div> + <div class="layui-form layui-form-pane" lay-filter="battInfoFilter"> + <div class="layui-form-item"> + <div class="layui-row layui-col-space8" id="battInfo"></div> + <div style="height: 8px;"></div> + <div class="layui-row"> + <div class="layui-col-xs3 layui-col-xs-offset9 layui-col-sm3 layui-col-sm-offset9 layui-col-md2 layui-col-md-offset10 layui-col-lg2 layui-col-lg-offset10"> + <button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit="" lay-filter="enAdd">纭娣诲姞</button> + <button class="layui-btn layui-btn-sm layui-btn-normal" id="closePage">鍏抽棴闈㈡澘</button> + </div> + </div> + </div> + </div> + </div> + <script type="text/html" id="battInfoTpl"> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鏈烘埧缂栧彿</label> + <div class="layui-input-block"> + <input type="text" name="StationId" lay-verify="required|number" id="homenum" autocomplete="off" class="layui-input" value="{{= d.StationId }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鐪�</label> + <div class="layui-input-block"> + <input type="text" name="StationName1" lay-verify="required" id="province" autocomplete="off" class="layui-input" value="{{= d.StationName1 }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">甯�</label> + <div class="layui-input-block"> + <input type="text" name="StationName2" lay-verify="required" id="StationName2" autocomplete="off" class="layui-input" value="{{= d.StationName2 }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鍖�/鍘�</label> + <div class="layui-input-block"> + <input type="text" name="StationName5" lay-verify="required" id="county" autocomplete="off" class="layui-input" value="{{= d.StationName5 }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg6"> + <div class="layui-block"> + <label class="layui-form-label">鏈烘埧鍚嶇О</label> + <div class="layui-input-block"> + <input type="text" name="StationName3" lay-verify="required" id="homename" autocomplete="off" class="layui-input" value="{{= d.StationName3 }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">璁惧鍚嶇О</label> + <div class="layui-input-block"> + <input type="text" name="StationName4" lay-verify="required" id="homename" autocomplete="off" class="layui-input" value="{{= d.StationName4 }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鏈烘埧ip</label> + <div class="layui-input-block"> + <input type="text" name="StationIp" lay-verify="required" id="homeip" autocomplete="off" class="layui-input" value="{{= d.StationIp }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">璁惧ID<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="FBSDeviceId" lay-verify="devid" id="devid" autocomplete="off" class="layui-input" value="{{= d.FBSDeviceId }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">璁惧IP</label> + <div class="layui-input-block"> + <input type="text" name="FbsDeviceIp" disabled="" id="fbsip" autocomplete="off" class="layui-input layui-bg-gray" value="{{= d.FbsDeviceIp }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">瀛愮綉鎺╃爜</label> + <div class="layui-input-block"> + <input type="text" name="FbsDeviceIp_YM" id="ym" disabled="" autocomplete="off" class="layui-input layui-bg-gray" value="{{= d.FbsDeviceIp_YM }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">缃戝叧</label> + <div class="layui-input-block"> + <input type="text" name="FbsDeviceIp_WG" id="wg" disabled="" autocomplete="off" class="layui-input layui-bg-gray" value="{{= d.FbsDeviceIp_WG }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">璁惧鍚嶇О</label> + <div class="layui-input-block"> + <input type="text" name="FBSDeviceName" lay-verify="required" id="devname" autocomplete="off" class="layui-input" value="{{= d.FBSDeviceName }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鐢垫睜缁処D</label> + <div class="layui-input-block"> + <input type="text" name="BattGroupId" lay-verify="required|number" id="groupid" disabled="" autocomplete="off" class="layui-input layui-bg-gray" value="{{= d.BattGroupId }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鐢垫睜缁勭紪鍙�</label> + <div class="layui-input-block"> + <input type="text" name="BattGroupNum" lay-verify="required|number" id="groupnum" disabled="" autocomplete="off" class="layui-input layui-bg-gray" value="{{= d.BattGroupNum }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">娴厖鐢靛帇闃�鍊�</label> + <div class="layui-input-block"> + <input type="text" name="FloatVolLevel" lay-verify="required|number" id="floatVolLevel" autocomplete="off" class="layui-input" value="{{= d.FloatVolLevel }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">绂荤嚎鐢靛帇闃�鍊�</label> + <div class="layui-input-block"> + <input type="text" name="OfflineVolLevel" lay-verify="required|number" id="offlineVolLevel" autocomplete="off" class="layui-input" value="{{= d.OfflineVolLevel }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">娴厖鐢垫祦闃�鍊�</label> + <div class="layui-input-block"> + <input type="text" name="BattFloatCurrent" lay-verify="required|number" id="floatCurrLevel" autocomplete="off" class="layui-input" value="{{= d.BattFloatCurrent }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鍗曚綋鏁伴噺<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="MonCount" lay-verify="required|number" id="moncount" autocomplete="off" class="layui-input" value="{{= d.MonCount }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鏍囩О瀹归噺<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="MonCapStd" lay-verify="required|number" id="moncap" autocomplete="off" class="layui-input" value="{{= d.MonCapStd }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鍗曚綋鐢靛帇<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="MonVolStd" lay-verify="required|number" id="monvol" autocomplete="off" class="layui-input" value="{{= d.MonVolStd }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鍗曚綋鍐呴樆</label> + <div class="layui-input-block"> + <input type="text" name="MonResStd" lay-verify="required|number" id="monres" autocomplete="off" class="layui-input" value="{{= d.MonResStd }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鍗曚綋鐢靛</label> + <div class="layui-input-block"> + <input type="text" name="MonSerStd" lay-verify="required|number" id="monser" autocomplete="off" class="layui-input" value="{{= d.MonSerStd }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">娆′綆鍋忕Щ閲�</label> + <div class="layui-input-block"> + <input type="text" name="MonVolLowToAvg" lay-verify="required|number" id="monVolLowToAvg" autocomplete="off" class="layui-input" value="{{= d.MonVolLowToAvg }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">璐熻浇鐢垫祦<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="Load_curr" lay-verify="required|number" id="loadcurr" autocomplete="off" class="layui-input" value="{{= d.Load_curr }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鏍稿鐢垫祦</label> + <div class="layui-input-block"> + <input type="text" name="DisCurrMax" lay-verify="required|number" id="discurrmax" autocomplete="off" class="layui-input" value="{{ d.DisCurrMax }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鍩虹珯鎵嬫満鍙风爜<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="station_phone" lay-verify="required|phone" id="stationphone" autocomplete="off" class="layui-input" value="{{= d.station_phone }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鐢垫睜鍝佺墝<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="BattProducer" lay-verify="required" id="producer" autocomplete="off" class="layui-input" value="{{= d.BattProducer }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鐢垫睜鍨嬪彿<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="BattModel" lay-verify="required" id="battmodel" autocomplete="off" class="layui-input" value="{{= d.BattModel }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鐢熶骇鏃ユ湡</label> + <div class="layui-input-block"> + <input type="text" name="BattProductDate" id="productdate" autocomplete="off" class="layui-input" value="{{= d.BattProductDate }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">浣跨敤鏃ユ湡</label> + <div class="layui-input-block"> + <input type="text" name="BattInUseDate" id="usedate" autocomplete="off" class="layui-input" value="{{= d.BattInUseDate }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">瀹夎鐘舵��</label> + <div class="layui-input-block"> + <select name="Station_install" id="isInstall"> + {{# + var isInstall = function(value) { + var rs = '鏈畨瑁�'; + if(value) { + rs = '宸插畨瑁�'; + } + return rs; + }; + }} + {{# layui.each([0,1], function(index) { }} + {{# if(index == d.Station_install) { }} + <option value="{{ index }}" selected>{{= isInstall(index) }}</option> + {{# }else{ }} + <option value="{{ index }}">{{= isInstall(index) }}</option> + {{# } }} + {{# }); }} + </select> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">瀹夎浜哄憳<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="install_user" id="insperson" autocomplete="off" class="layui-input" value="{{= d.install_user }}"> + </div> + </div> + </div> + <div class="layui-row layui-col-space8"> + {{# layui.each(d.addGroupNum, function(index, item) { }} + <div class="layui-col-lg6"> + <div class="layui-card"> + <div class="layui-card-header layui-bg-gray">鐢垫睜缁剓{= item}}</div> + <div class="layui-card-body"> + <div class="layui-row layui-col-space8"> + <div class="layui-col-lg6"> + <div class="layui-block"> + <label class="layui-form-label">璁惧绱㈠紩<span class="red">*</span></label> + <div class="layui-input-block"> + <select name="group{{= item}}.index"> + {{# layui.each([0,1,2,3], function(k) { }} + {{# if(index == k) { }} + <option value="{{ k }}" selected>{{ k }}</option> + {{# }else{ }} + <option value="{{ k }}">{{ k }}</option> + {{# } }} + {{# }); }} + </select> + </div> + </div> + </div> + <div class="layui-col-lg6"> + <div class="layui-block"> + <label class="layui-form-label">鐢垫睜缁勫悕绉�</label> + <div class="layui-input-block"> + <input type="text" name="group{{= item}}.name" lay-verify="required" autocomplete="off" class="layui-input" value="鐢垫睜缁剓{= item}}"> + </div> + </div> + </div> + </div> + </div> + </div> + </div> + {{# }); }} + </div> + </script> + <script type="text/javascript" src="../src/layui.js"></script> + <script type="text/javascript"> + layui.use(['form', 'laytpl', 'jquery', 'element', 'laydate'], function() { + var form = layui.form; + var laytpl = layui.laytpl; + var $ = layui.jquery; + var element = layui.element; + var laydate = layui.laydate; + + var battInfoTpl = $('#battInfoTpl').html(); + var editInfo = parent.$('#iframeEdit').data('data'); + //console.log(editInfo); + var data = { + StationId: '4011100' + ,StationName1: '骞胯タ鐪�' + ,StationName2: '鐧借壊甯�' + ,StationName5: '涔愪笟鍘�' + ,StationName3: 'GX鐧捐壊涔愪笟鍘跨珛鏂板皬鍖篧F' + ,StationName4: 'BTS璁惧' + ,StationIp: '192.168.0.1' + ,FBSDeviceId: '960000111' + ,FbsDeviceIp: '127.0.0.1' + ,FbsDeviceIp_YM: '255.255.255.0' + ,FbsDeviceIp_WG: '127.0.0.1' + ,FBSDeviceName: '璁惧鍚嶇О' + ,GroupIndexInFBSDevice: 1 + ,BattGroupId: 1000005 + ,BattGroupNum: 2 + ,BattGroupName: '鐢垫睜缁�1' + ,FloatVolLevel: 54 + ,OfflineVolLevel: 42.9 + ,BattFloatCurrent: 10 + ,MonCount: 24 + ,MonCapStd: 300 + ,MonVolStd: 2 + ,MonResStd: 0.2 + ,MonSerStd: 5000 + ,MonVolLowToAvg: 0.05 + ,Load_curr: 15 + ,DisCurrMax: '0' + ,station_phone: 12345678912 + ,BattProducer: '鍗囬槼' + ,BattModel: '' + ,productDate: '2018-09-18 00:00:00' + ,useDate: '2018-09-18 00:00:00' + ,install_user: '鍛靛懙' + }; + + // 娓叉煋鍐呭 + laytpl(battInfoTpl).render(editInfo, function(html) { + $('#battInfo').html(html); + form.render(); + + // 鐢熶骇鏃ユ湡娓叉煋 + laydate.render({ + elem: '#productdate' + ,format: 'yyyy-MM-dd HH:mm:ss' + }); + + // 鎶曞叆浣跨敤鏃ユ湡娓叉煋 + laydate.render({ + elem: '#usedate' + ,format: 'yyyy-MM-dd HH:mm:ss' + }); + + + }); + + // 楠岃瘉淇℃伅 + form.verify({ + string: function(value) { + var _value = value.trim(); + if(_value.length == 0){ + return '涓嶈兘涓虹┖'; + } + } + ,ip: function(value) { + //var ptn = /^1$/; + } + ,devid: function(value) { + var ptn = /^91([0-9]{7})$/; + if(!ptn.test(value)) { + return '璁惧id鐨勬牸寮忎笉姝g‘!浠�91寮�澶寸殑11浣嶆暟瀛�'; + } + } + }); + + // 鏇存敼璁惧ID + $('#battInfo').on('input propertychange', '#devid', function() { + var val = $(this).val(); + + $('#fbsip').val(getDevIp(val)); + }); + + // 鎻愪氦鍐呭 + form.on('submit(enAdd)', function(data) { + // console.log(data); + layer.confirm('鏄惁纭娣诲姞', {icon: 3, title:'鎻愮ず'}, function(index){ + var _data = data.field; + var province = _data.StationName1; // 鐪� + var city = _data.StationName2; // 甯� + var home = _data.StationName3; // 鏈烘埧鍚嶇О + var bts = _data.StationName4; // 璁惧鍚嶇О + _data.StationName = province+'-'+city+'-'+home+'-'+bts; + //console.log(_data); + var temp = analysisData(editInfo.addGroupNum, _data); + //console.log(temp); + // 娣诲姞鐢垫睜淇℃伅 + addBatt(temp); + }); + return false; + }); + + // 鍏抽棴闈㈡澘 + $('#closePage').click(function() { + parent.$('#iframeClose').click(); + }); + // 鏍规嵁璁惧id璁$畻璁惧ip + function getDevIp(dev_id) { + var ptn = /^91([0-9]{7})$/; + var ip = ''; + if(ptn.test(dev_id)) { + var value = Number(RegExp.$1); + // console.log(value); + var intNum = prefixInteger(Math.floor(value/256), 3); + var resNum = prefixInteger(value%256, 3); + ip = '127.000.'+intNum+'.'+resNum; + }else { + ip = '璁惧ID鏍煎紡涓嶆纭�'; + } + + return ip; + } + + // 鑾峰彇001绫讳技鏁版嵁 + function prefixInteger(num, length) { + return (Array(length).join('0') + num).slice(-length); + } + + + // 瑙f瀽娣诲姞鐨勬暟鎹� + function analysisData(arr, data) { + //console.log(arr); + var rs = []; + for(var i=0; i<arr.length; i++) { + var temp = {}; + var _arr = arr[i]; + var _index = 'group'+_arr+'.index'; + var _name = 'group'+_arr+'.name'; + Object.keys(data).forEach(function(key) { + if(checkKeyNotVal(key)) { + if(key == _index) { + temp.GroupIndexInFBSDevice = data[key]; + }else if(key == _name){ + temp.BattGroupName = data[key]; + } + }else { + temp[key] = data[key]; + } + }); + + rs.push(temp); + } + + return rs; + } + //console.log(checkKeyNotVal('group1index')); + // 妫�娴嬪綋鍓嶅睘鎬ф槸鍚︿负搴熷睘鎬� + function checkKeyNotVal(key) { + var patt = /^group[0-9]{1}\./; + + return patt.test(key); + } + + //娣诲姞澶氫釜鐢垫睜缁� + function addBatt(temp){ + var load = layer.load(1); + $.ajax({ + type: "post", + url: "BattInfAction!add", + async:true, + dataType:'text', + data:"json="+JSON.stringify(temp), + success: function(data){ + data = eval('('+data+')'); + var model = eval('('+data.result+')'); + //console.info(model); + if(model.code ==1){ + layer.msg('娣诲姞鎴愬姛锛�3绉掑悗闈㈡澘鑷姩鍏抽棴'); + setTimeout(function() { + parent.$('#iframeClose').click(); + }, 3000); + }else{ + layer.msg('娣诲姞澶辫触锛�'); + } + loading.hideLoading($('#main')); + }, + error:function(){ + layer.msg('娣诲姞澶辫触锛�'); + }, + complete: function() { + layer.close(load); + } + }); + } + }); + </script> +</body> +</html> diff --git a/gx_tieta/WebRoot/iframe/batt-info-edit.html b/gx_tieta/WebRoot/iframe/batt-info-edit.html new file mode 100644 index 0000000..dfd887e --- /dev/null +++ b/gx_tieta/WebRoot/iframe/batt-info-edit.html @@ -0,0 +1,507 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta http-equiv="X-UA-Compatible" content="ie=edge"> + <title>淇敼鐢垫睜淇℃伅</title> + <link rel="stylesheet" href="../src/css/layui.css"> + <style> + .layui-form-pane .layui-form-label { + width: 130px; + } + .layui-form-pane .layui-input-block { + margin-left: 130px; + } + .red { + font-size: 20px; + color: #FF5722; + } + </style> +</head> +<body> + <div class="layui-fluid"> + <div style="height: 8px;"></div> + <div class="layui-form layui-form-pane" lay-filter="battInfoFilter"> + <div class="layui-form-item"> + <div class="layui-row layui-col-space8" id="battInfo"></div> + <div style="height: 8px;"></div> + <div class="layui-row"> + <div class="layui-col-xs3 layui-col-xs-offset9 layui-col-sm3 layui-col-sm-offset9 layui-col-md2 layui-col-md-offset10 layui-col-lg2 layui-col-lg-offset10"> + <button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit="" lay-filter="enEidt">纭缂栬緫</button> + <button class="layui-btn layui-btn-sm layui-btn-normal" id="closePage">鍏抽棴闈㈡澘</button> + </div> + </div> + </div> + </div> + </div> + <script type="text/html" id="battInfoTpl"> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鏈烘埧缂栧彿</label> + <div class="layui-input-block"> + <input type="text" name="StationId" lay-verify="required|number" id="homenum" autocomplete="off" class="layui-input" value="{{= d.StationId }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鐪�</label> + <div class="layui-input-block"> + <input type="text" name="StationName1" lay-verify="required" id="province" autocomplete="off" class="layui-input" value="{{= d.StationName1 }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">甯�</label> + <div class="layui-input-block"> + <input type="text" name="StationName2" lay-verify="required" id="StationName2" autocomplete="off" class="layui-input" value="{{= d.StationName2 }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鍖�/鍘�</label> + <div class="layui-input-block"> + <input type="text" name="StationName5" lay-verify="required" id="county" autocomplete="off" class="layui-input" value="{{= d.StationName5 }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg6"> + <div class="layui-block"> + <label class="layui-form-label">鏈烘埧鍚嶇О</label> + <div class="layui-input-block"> + <input type="text" name="StationName3" lay-verify="required" id="homename" autocomplete="off" class="layui-input" value="{{= d.StationName3 }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">璁惧鍚嶇О</label> + <div class="layui-input-block"> + <input type="text" name="StationName4" lay-verify="required" id="homename" autocomplete="off" class="layui-input" value="{{= d.StationName4 }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鏈烘埧ip</label> + <div class="layui-input-block"> + <input type="text" name="StationIp" lay-verify="required" id="homeip" autocomplete="off" class="layui-input" value="{{= d.StationIp }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">璁惧ID<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="FBSDeviceId" lay-verify="devid" id="devid" autocomplete="off" class="layui-input" value="{{= d.FBSDeviceId }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">璁惧IP</label> + <div class="layui-input-block"> + <input type="text" name="FbsDeviceIp" disabled="" id="fbsip" autocomplete="off" class="layui-input layui-bg-gray" value="{{= d.FbsDeviceIp }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">瀛愮綉鎺╃爜</label> + <div class="layui-input-block"> + <input type="text" name="FbsDeviceIp_YM" id="ym" disabled="" autocomplete="off" class="layui-input layui-bg-gray" value="{{= d.FbsDeviceIp_YM }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">缃戝叧</label> + <div class="layui-input-block"> + <input type="text" name="FbsDeviceIp_WG" id="wg" disabled="" autocomplete="off" class="layui-input layui-bg-gray" value="{{= d.FbsDeviceIp_WG }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">璁惧鍚嶇О</label> + <div class="layui-input-block"> + <input type="text" name="FBSDeviceName" lay-verify="required" id="devname" autocomplete="off" class="layui-input" value="{{= d.FBSDeviceName }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">璁惧绱㈠紩<span class="red">*</span></label> + <div class="layui-input-block"> + <select name="GroupIndexInFBSDevice" id="devindex"> + {{# layui.each([0,1,2,3], function(index) { }}; + {{# if(index == d.GroupIndexInFBSDevice) { }} + <option value="{{ index }}" selected>{{ index }}</option> + {{# }else{ }} + <option value="{{ index }}">{{ index }}</option> + {{# } }} + {{# }); }} + </select> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鐢垫睜缁処D</label> + <div class="layui-input-block"> + <input type="text" name="BattGroupId" lay-verify="required|number" id="groupid" disabled="" autocomplete="off" class="layui-input layui-bg-gray" value="{{= d.BattGroupId }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鐢垫睜缁勭紪鍙�</label> + <div class="layui-input-block"> + <input type="text" name="BattGroupNum" lay-verify="required|number" id="groupnum" disabled="" autocomplete="off" class="layui-input layui-bg-gray" value="{{= d.BattGroupNum }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鐢垫睜缁勫悕绉�</label> + <div class="layui-input-block"> + <input type="text" name="BattGroupName" lay-verify="required" id="groupname" autocomplete="off" class="layui-input" value="{{= d.BattGroupName }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">娴厖鐢靛帇闃�鍊�</label> + <div class="layui-input-block"> + <input type="text" name="FloatVolLevel" lay-verify="required|number" id="floatVolLevel" autocomplete="off" class="layui-input" value="{{= d.FloatVolLevel }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">绂荤嚎鐢靛帇闃�鍊�</label> + <div class="layui-input-block"> + <input type="text" name="OfflineVolLevel" lay-verify="required|number" id="offlineVolLevel" autocomplete="off" class="layui-input" value="{{= d.OfflineVolLevel }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">娴厖鐢垫祦闃�鍊�<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="BattFloatCurrent" lay-verify="required|number" id="floatCurrLevel" autocomplete="off" class="layui-input" value="{{= d.BattFloatCurrent }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鍗曚綋鏁伴噺<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="MonCount" lay-verify="required|number" id="moncount" autocomplete="off" class="layui-input" value="{{= d.MonCount }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鏍囩О瀹归噺<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="MonCapStd" lay-verify="required|number" id="moncap" autocomplete="off" class="layui-input" value="{{= d.MonCapStd }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鍗曚綋鐢靛帇<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="MonVolStd" lay-verify="required|number" id="monvol" autocomplete="off" class="layui-input" value="{{= d.MonVolStd }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鍗曚綋鍐呴樆</label> + <div class="layui-input-block"> + <input type="text" name="MonResStd" lay-verify="required|number" id="monres" autocomplete="off" class="layui-input" value="{{= d.MonResStd }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鍗曚綋鐢靛</label> + <div class="layui-input-block"> + <input type="text" name="MonSerStd" lay-verify="required|number" id="monser" autocomplete="off" class="layui-input" value="{{= d.MonSerStd }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">娆′綆鍋忕Щ閲�</label> + <div class="layui-input-block"> + <input type="text" name="MonVolLowToAvg" lay-verify="required|number" id="monVolLowToAvg" autocomplete="off" class="layui-input" value="{{= d.MonVolLowToAvg }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">璐熻浇鐢垫祦<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="Load_curr" lay-verify="required|number" id="loadcurr" autocomplete="off" class="layui-input" value="{{= d.Load_curr }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鏍稿鐢垫祦</label> + <div class="layui-input-block"> + <input type="text" name="DisCurrMax" lay-verify="required|number" id="discurrmax" autocomplete="off" class="layui-input" value="{{ d.DisCurrMax }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鍩虹珯鎵嬫満鍙风爜<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="station_phone" lay-verify="required|phone" id="stationphone" autocomplete="off" class="layui-input" value="{{= d.station_phone }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鐢垫睜鍝佺墝<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="BattProducer" lay-verify="required" id="producer" autocomplete="off" class="layui-input" value="{{= d.BattProducer }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鐢垫睜鍨嬪彿<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="BattModel" lay-verify="required" id="battmodel" autocomplete="off" class="layui-input" value="{{= d.BattModel }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">鐢熶骇鏃ユ湡</label> + <div class="layui-input-block"> + <input type="text" name="BattProductDate" id="productdate" autocomplete="off" class="layui-input" value="{{= d.BattProductDate }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">浣跨敤鏃ユ湡</label> + <div class="layui-input-block"> + <input type="text" name="BattInUseDate" id="usedate" autocomplete="off" class="layui-input" value="{{= d.BattInUseDate }}"> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">瀹夎鐘舵��</label> + <div class="layui-input-block"> + <select name="Station_install" id="isInstall"> + {{# + var isInstall = function(value) { + var rs = '鏈畨瑁�'; + if(value) { + rs = '宸插畨瑁�'; + } + return rs; + }; + }} + {{# layui.each([0,1], function(index) { }} + {{# if(index == d.Station_install) { }} + <option value="{{ index }}" selected>{{= isInstall(index) }}</option> + {{# }else{ }} + <option value="{{ index }}">{{= isInstall(index) }}</option> + {{# } }} + {{# }); }} + </select> + </div> + </div> + </div> + <div class="layui-col-xs6 layui-col-sm6 layui-col-md4 layui-col-lg3"> + <div class="layui-block"> + <label class="layui-form-label">瀹夎浜哄憳<span class="red">*</span></label> + <div class="layui-input-block"> + <input type="text" name="install_user" id="insperson" autocomplete="off" class="layui-input" value="{{= d.install_user }}"> + </div> + </div> + </div> + </script> + <script type="text/javascript" src="../src/layui.js"></script> + <script type="text/javascript"> + layui.use(['form', 'laytpl', 'jquery', 'element', 'laydate'], function() { + var form = layui.form; + var laytpl = layui.laytpl; + var $ = layui.jquery; + var element = layui.element; + var laydate = layui.laydate; + + var battInfoTpl = $('#battInfoTpl').html(); + var editInfo = parent.$('#iframeEdit').data('data'); + //console.log(editInfo); + var data = { + StationId: '4011100' + ,StationName1: '骞胯タ鐪�' + ,StationName2: '鐧借壊甯�' + ,StationName5: '涔愪笟鍘�' + ,StationName3: 'GX鐧捐壊涔愪笟鍘跨珛鏂板皬鍖篧F' + ,StationName4: 'BTS璁惧' + ,StationIp: '192.168.0.1' + ,FBSDeviceId: '960000111' + ,FbsDeviceIp: '127.0.0.1' + ,FbsDeviceIp_YM: '255.255.255.0' + ,FbsDeviceIp_WG: '127.0.0.1' + ,FBSDeviceName: '璁惧鍚嶇О' + ,GroupIndexInFBSDevice: 1 + ,BattGroupId: 1000005 + ,BattGroupNum: 2 + ,BattGroupName: '鐢垫睜缁�1' + ,FloatVolLevel: 54 + ,OfflineVolLevel: 42.9 + ,BattFloatCurrent: 10 + ,MonCount: 24 + ,MonCapStd: 300 + ,MonVolStd: 2 + ,MonResStd: 0.2 + ,MonSerStd: 5000 + ,MonVolLowToAvg: 0.05 + ,Load_curr: 15 + ,DisCurrMax: '0' + ,station_phone: 12345678912 + ,BattProducer: '鍗囬槼' + ,BattModel: '' + ,productDate: '2018-09-18 00:00:00' + ,useDate: '2018-09-18 00:00:00' + ,install_user: '鍛靛懙' + }; + + // 娓叉煋鍐呭 + laytpl(battInfoTpl).render(editInfo, function(html) { + $('#battInfo').html(html); + form.render(); + + // 鐢熶骇鏃ユ湡娓叉煋 + laydate.render({ + elem: '#productdate' + ,format: 'yyyy-MM-dd HH:mm:ss' + }); + + // 鎶曞叆浣跨敤鏃ユ湡娓叉煋 + laydate.render({ + elem: '#usedate' + ,format: 'yyyy-MM-dd HH:mm:ss' + }); + + + }); + + // 楠岃瘉淇℃伅 + form.verify({ + string: function(value) { + var _value = value.trim(); + if(_value.length == 0){ + return '涓嶈兘涓虹┖'; + } + } + ,ip: function(value) { + //var ptn = /^1$/; + } + ,devid: function(value) { + var ptn = /^91([0-9]{7})$/; + if(!ptn.test(value)) { + return '璁惧id鐨勬牸寮忎笉姝g‘!浠�91寮�澶寸殑11浣嶆暟瀛�'; + } + } + }); + + // 鏇存敼璁惧ID + $('#battInfo').on('input propertychange', '#devid', function() { + var val = $(this).val(); + + $('#fbsip').val(getDevIp(val)); + }); + + // 鎻愪氦鍐呭 + form.on('submit(enEidt)', function(data) { + layer.confirm('鏄惁纭淇敼', {icon: 3, title:'鎻愮ず'}, function(index){ + var _data = data.field; + var province = _data.StationName1; // 鐪� + var city = _data.StationName2; // 甯� + var home = _data.StationName3; // 鏈烘埧鍚嶇О + var bts = _data.StationName4; // 璁惧鍚嶇О + _data.StationName = province+'-'+city+'-'+home+'-'+bts; + var temp = [_data]; + //console.log(temp); + // 鏇存柊鏁版嵁 + updBatt(temp); + }); + return false; + }); + + // 鍏抽棴闈㈡澘 + $('#closePage').click(function() { + parent.$('#iframeClose').click(); + }); + // 鏍规嵁璁惧id璁$畻璁惧ip + function getDevIp(dev_id) { + var ptn = /^91([0-9]{7})$/; + var ip = ''; + if(ptn.test(dev_id)) { + var value = Number(RegExp.$1); + // console.log(value); + var intNum = prefixInteger(Math.floor(value/256), 3); + var resNum = prefixInteger(value%256, 3); + ip = '127.000.'+intNum+'.'+resNum; + }else { + ip = '璁惧ID鏍煎紡涓嶆纭�'; + } + + return ip; + } + + // 鑾峰彇001绫讳技鏁版嵁 + function prefixInteger(num, length) { + return (Array(length).join('0') + num).slice(-length); + } + + //淇敼鐢垫睜缁勪俊鎭� + function updBatt(temp){ + var load= layer.load(1); + $.ajax({ + type: "post", + url: "BattInfAction!update", + async:true, + dataType:'text', + data:"json="+JSON.stringify(temp), + success: function(data){ + data = eval('('+data+')'); + var model = eval('('+data.result+')'); + //console.info(model); + if(model.code ==1){ + layer.msg('淇敼鎴愬姛锛�3绉掑悗闈㈡澘鑷姩鍏抽棴'); + setTimeout(function() { + parent.$('#iframeClose').click(); + }, 3000); + }else{ + layer.msg('淇敼澶辫触锛�'); + } + }, + error:function(){ + + }, + complete: function() { + layer.close(load); + } + }); + } + }); + </script> +</body> +</html> -- Gitblit v1.9.1