Aeratedmachinerunningstate.jsp 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <%@ page import="com.runzhixing.bean.CityPlace" %>
  3. <%@ page import="com.runzhixing.bean.CountryPlace" %>
  4. <%@ page import="com.runzhixing.bean.Station" %>
  5. <%@ page import="com.runzhixing.bean.AuthorityRegionPlace" %>
  6. <%@ page import="com.runzhixing.bean.User" %>
  7. <%@ page import="com.runzhixing.constant.Constant" %>
  8. <%@ page import="com.runzhixing.tool.Util" %>
  9. <%
  10. String path = request.getContextPath();
  11. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  12. User user = (User)session.getAttribute(Constant.userMark);
  13. List<AuthorityRegionPlace> arplist = user.getPrivilegePlaces1();
  14. List<CityPlace> cplist = new ArrayList<CityPlace>();
  15. List<CountryPlace> cyplist = new ArrayList<CountryPlace>();
  16. List<Station> slist = new ArrayList<Station>();
  17. %>
  18. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  19. <html>
  20. <head>
  21. <base href="<%=basePath%>">
  22. <title>加气机运行状态</title>
  23. <meta http-equiv="pragma" content="no-cache">
  24. <meta http-equiv="cache-control" content="no-cache">
  25. <meta http-equiv="expires" content="0">
  26. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  27. <meta http-equiv="description" content="This is my page">
  28. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  29. <meta http-equiv="X-UA-Compatible" content="IE=10"/>
  30. <link rel="stylesheet" type="text/css" href="css/easyui/themes/default/easyui.css">
  31. <link rel="stylesheet" type="text/css" href="css/easyui/themes/icon.css">
  32. <link rel="stylesheet" type="text/css" href="css/easyui/demo/demo.css">
  33. <script type="text/javascript" src="css/easyui/jquery.min.js"></script>
  34. <script type="text/javascript" src="css/easyui/jquery.easyui.min.js" charset="utf-8"></script>
  35. <script type="text/javascript" src="css/easyui/locale/easyui-lang-zh_CN.js" charset="utf-8"></script>
  36. <link rel="stylesheet" type="text/css" href="css/common/hzbstyle.css">
  37. <script type="text/javascript">
  38. var i = 1;//第几页
  39. var sum;//总条数
  40. var totalpage;//总页数
  41. $(document).ready(function(){
  42. fLoadTable();
  43. selectCountry();
  44. });
  45. //点击查询按钮
  46. $('#btninfosearch').click(function(){
  47. fLoadData(1,100);
  48. });
  49. var sortFlag = false;
  50. function fLoadTable(){
  51. $('#tt').datagrid({
  52. fit: true,//自动大小
  53. title: '加气机运行状态',
  54. width: '100%',
  55. height: 'auto',
  56. toolbar: '#toolbar',
  57. fitColumns: true,
  58. singleSelect:false,
  59. loadMsg:'正在加载, 请稍等 …',
  60. nowrap : true,//设置为true,当数据长度超出列宽时将会自动截取
  61. striped : true,//设置为true将交替显示行背景
  62. collapsible : true,//显示可折叠按钮
  63. singleSelect:true,//为true时只能选择单行
  64. fitColumns:true,//允许表格自动缩放,以适应父容器
  65. rownumbers:true,
  66. fitColumns:true,
  67. singleSelect:true,
  68. remoteSort: false,
  69. pagination:true,//分页控件
  70. pageSize: 100,//每页显示的记录条数,默认为10
  71. pageList: [20,50,100,150,200],//可以设置每页记录条数的列表
  72. columns:[[
  73. {field:'provinceName',align:'center',title:'省份',width:'100px'},
  74. {field:'cityName',align:'center',title:'市州',width:'100px'},
  75. {field:'countryName',align:'center',title:'区县',width:'200px'},
  76. {field:'stationName',align:'center',title:'加气站',width:'160px'},
  77. {field:'netState',title:'网络状态',width:'80px',height:'auto',align:'center',formatter: function(value, row, index){
  78. if(value=="断开"){
  79. return '<img title="断开" src="images/rzx/disconnect.png">';
  80. }else if(value=="连接"){
  81. return '<img title="连接" src="images/rzx/connect.png">';
  82. }else{
  83. return '<font style="color:red;font-weight: bold;">'+"未知状态"+'</font>';
  84. }
  85. }},
  86. {field:'machineName',align:'center',title:'加气机',width:'150px'},
  87. {field:'gun1State',align:'center',title:'1号枪状态',width:'100px',formatter: function(value, row, index){
  88. if (value == "0") {
  89. return '<font style="color:green;font-weight: bold;">'+"正常"+'</font>';
  90. }
  91. else if(value == "1") {
  92. return '<font style="color:red;font-weight: bold;">'+"停用"+'</font>';
  93. }else if(value == "2") {
  94. return '<font style="color:red;font-weight: bold;">'+"未知状态"+'</font>';
  95. }
  96. }},
  97. {field:'gun2State',align:'center',title:'2号枪状态',width:'100px',formatter: function(value, row, index){
  98. if (value == "0") {
  99. return '<font style="color:green;font-weight: bold;">'+"正常"+'</font>';
  100. }
  101. else if(value == "1") {
  102. return '<font style="color:red;font-weight: bold;">'+"停用"+'</font>';
  103. } else if(value == "2") {
  104. return '<font style="color:red;font-weight: bold;">'+"未知状态"+'</font>';
  105. }
  106. }}
  107. ]],
  108. onSortColumn:function(sort, order){
  109. sortFlag = true;
  110. if("provinceName"==sort){
  111. $(this).datagrid("autoMergeCells",[sort]);
  112. }else{
  113. $(this).datagrid("autoMergeCells");
  114. }
  115. },
  116. onLoadSuccess: function(data){
  117. if(!sortFlag) $(this).datagrid("autoMergeCells");
  118. }
  119. });
  120. }
  121. function show(message) {
  122. $.messager.show({
  123. title: '提示信息',
  124. msg: message,
  125. timeout: 2000,
  126. showType: 'slide'
  127. });
  128. }
  129. function fLoadData(page,rows){
  130. $.messager.progress({
  131. title: '请等待',
  132. msg: '正在加载数据...',
  133. text: '查询中.......'
  134. });
  135. $.ajax({
  136. type:"POST",
  137. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  138. data:$('#aeratedmachinerunningstateform').serialize(),
  139. url:"ajax/aeratedmachinerunningstate?page="+page+"&psize="+rows,
  140. success:function (data){
  141. $.messager.progress('close');
  142. var vData = $.parseJSON(data);
  143. sum = vData.total;
  144. if(sum==0){
  145. show("没有查询到相关信息!!!");
  146. }
  147. totalpage = Math.ceil(sum/rows);
  148. $('#tt').datagrid('loadData', vData); //将数据绑定到datagrid
  149. var p = $('#tt').datagrid('getPager');
  150. $(p).pagination({
  151. pageList: [20,50,100,150,200],//可以设置每页记录条数的列表
  152. beforePageText: '第',//页数文本框前显示的汉字
  153. afterPageText: '页 共 {pages} 页',
  154. displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录',
  155. onSelectPage: function (pageNumber, pageSize) {
  156. fLoadData(pageNumber, pageSize);
  157. }
  158. });
  159. }
  160. });
  161. }
  162. function selectCountry1(){
  163. selectCountry();
  164. //fLoadData(1,10);
  165. }
  166. function selectCountry(){
  167. var id=document.getElementById("city").value;
  168. //document.getElementById("hiddenCity").value=id;
  169. var select = document.getElementById("country");
  170. for(var i=select.options.length-1;i>=0;i--) {
  171. select.options.remove(i);
  172. }
  173. $.ajax({
  174. type:"POST",
  175. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  176. url:"ajax/hiddenCity?cityId="+id,
  177. success:function (data){
  178. var obj=eval("(" + data + ")");
  179. $.each(obj.rows, function(i,item){
  180. select.options.add(new Option(item.name, item.id));
  181. });
  182. }
  183. });
  184. }
  185. function selectStation(){
  186. var id=document.getElementById("city").value;
  187. var id1=document.getElementById("country").value;
  188. //document.getElementById("hiddenCity").value=id;
  189. var select = document.getElementById("station");
  190. for(var i=select.options.length-1;i>=0;i--) {
  191. select.options.remove(i);
  192. }
  193. $.ajax({
  194. type:"POST",
  195. contentType: "application/x-www-form-urlencoded; charset=UTF-8",
  196. url:"ajax/hiddenCountry?countryId="+id1+"&cityId="+id,
  197. success:function (data){
  198. var obj=eval("(" + data + ")");
  199. $.each(obj.rows, function(i,item){
  200. select.options.add(new Option(item.name, item.id));
  201. });
  202. }
  203. });
  204. }
  205. $.extend($.fn.datagrid.methods, {
  206. autoMergeCells : function (jq, fields) {
  207. return jq.each(function () {
  208. var target = $(this);
  209. if (!fields) {
  210. fields = target.datagrid("getColumnFields");
  211. }
  212. var rows = target.datagrid("getRows");
  213. var i = 0,
  214. j = 0,
  215. temp = {};
  216. for (i; i < rows.length; i++) {
  217. var row = rows[i];
  218. j = 0;
  219. //for (j; j < fields.length; j++) {
  220. for (j; j < 5; j++) {
  221. var field = fields[j];
  222. var tf = temp[field];
  223. if (!tf) {
  224. tf = temp[field] = {};
  225. tf[row[field]] = [i];
  226. } else {
  227. var tfv = tf[row[field]];
  228. if (tfv) {
  229. tfv.push(i);
  230. } else {
  231. tfv = tf[row[field]] = [i];
  232. }
  233. }
  234. }
  235. }
  236. $.each(temp, function (field, colunm) {
  237. $.each(colunm, function () {
  238. var group = this;
  239. if (group.length > 1) {
  240. var before,
  241. after,
  242. megerIndex = group[0];
  243. for (var i = 0; i < group.length; i++) {
  244. before = group[i];
  245. after = group[i + 1];
  246. if (after && (after - before) == 1) {
  247. continue;
  248. }
  249. var rowspan = before - megerIndex + 1;
  250. if (rowspan > 1) {
  251. target.datagrid('mergeCells', {
  252. index : megerIndex,
  253. field : field,
  254. rowspan : rowspan
  255. });
  256. }
  257. if (after && (after - before) != 1) {
  258. megerIndex = after;
  259. }
  260. }
  261. }
  262. });
  263. });
  264. });
  265. }
  266. });
  267. </script>
  268. </head>
  269. <body>
  270. <!-- 查询结果:数据表格 -->
  271. <table id="tt" cellspacing="0" cellpadding="0" >
  272. </table>
  273. <div id="toolbar" style="padding-top: 0px;height: auto;">
  274. <form id="aeratedmachinerunningstateform" action="ajax/aeratedmachinerunningstate" method="post">
  275. <span class="easyui-linkbutton" style="cursor: default;margin-bottom: 5px;"><span class="hzbspan" style="color: #f08300;font-size: 16px;" >省:</span></span>&nbsp;&nbsp;
  276. <select name="province" style="width: auto;height: 24px;min-width: 100px;" class="hzbspan">
  277. <%for(AuthorityRegionPlace arp:arplist){
  278. cplist = arp.getCityPlace();
  279. %>
  280. <option value="<%=arp.getId() %>">
  281. <%=arp.getName() %>
  282. </option>
  283. <%} %>
  284. </select>&nbsp;&nbsp;
  285. <span class="easyui-linkbutton" style="cursor: default;margin-bottom: 5px;"><span class="hzbspan" style="color: #f08300;font-size: 16px;" >市:</span></span>&nbsp;&nbsp;
  286. <select name="city" id="city" style="width: auto;height: 24px;min-width: 100px;" class="hzbspan" onchange="selectCountry1()">
  287. <%
  288. for(CityPlace cp:cplist){
  289. cyplist = cp.getSubPlaceList();
  290. %>
  291. <option value="<%=cp.getId() %>">
  292. <%=cp.getName() %>
  293. </option>
  294. <%} %>
  295. </select>&nbsp;&nbsp;
  296. <span class="easyui-linkbutton" style="cursor: default;margin-bottom: 5px;"><span class="hzbspan" style="color: #f08300;font-size: 16px;" >县:</span></span>&nbsp;&nbsp;
  297. <select name="country" id = "country" style="width: auto;height: 24px;min-width: 100px;" class="hzbspan" >
  298. </select>&nbsp;&nbsp;
  299. <a id="btninfosearch" onclick="fLoadData(1,100);" class="easyui-linkbutton" icon="icon-search" href="javascript:void(0)" style="margin-bottom: 5px;" ><span class="hzbspan" style="color: #f08300;font-size: 16px;">查&nbsp;&nbsp;询&nbsp;&nbsp;</span></a>
  300. </form>
  301. </div>
  302. <form action="hiddenCity" name="hiddenCityform">
  303. <input type="text" id="hiddenCity" />
  304. </form>
  305. </body>
  306. </html>