equipManage_jk.html 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  7. <link rel="stylesheet" href="../css/reset.css" />
  8. <link rel="stylesheet" href="../css/mescroll.min.css">
  9. <link rel="stylesheet" href="../css/mui.min.css" />
  10. <link rel="stylesheet" href="../css/common.css" />
  11. <link rel="stylesheet" type="text/css" href="../css/equipjk.css"/>
  12. <script src="../js/base.js" type="text/javascript" charset="utf-8"></script>
  13. <style type="text/css">
  14. .mescroll {
  15. position: fixed;
  16. top: 73px;
  17. bottom: 0;
  18. height: auto;
  19. /*如设置bottom:50px,则需height:auto才能生效*/
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <header class="mui-bar mui-bar-nav">
  25. <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
  26. <h1 class="mui-title">监控</h1>
  27. </header>
  28. <div class="mui-content">
  29. <div class="searchBox">
  30. <div class="searchControl">
  31. <div class="mui-input-row mui-search">
  32. <input type="search" id="searchInp" class="mui-input-clear" placeholder="请输入设备ID">
  33. </div>
  34. <button id="searchBtn" class="searchBtn">搜索</button>
  35. </div>
  36. </div>
  37. <div id="scrollPlace" class="mescroll">
  38. <!--id可以改,而"mescroll"的class不能删-->
  39. <ul id="dataList">
  40. <!--<li class="jkitem" data-id ="">
  41. <div class="jkmsg">
  42. <div class="jkmsgTop">
  43. <p>设备</p>
  44. <h4>59126446498</h4>
  45. </div>
  46. <div class="jkmsgBottom blue">
  47. <div class="">
  48. <img src="../images/jkListBj.png"/>
  49. </div>
  50. 监控
  51. </div>
  52. </div>
  53. <div class="circleBj">
  54. <div></div>
  55. <div></div>
  56. <div></div>
  57. <div></div>
  58. <div></div>
  59. <div></div>
  60. </div>
  61. </li>-->
  62. </ul>
  63. </div>
  64. <script src="../js/jquery-2.1.0.js"></script>
  65. <script src="../js/mescroll.min.js" charset="utf-8"></script>
  66. <script src="../js/mui.min.js"></script>
  67. <script type="text/javascript">
  68. mui.init()
  69. //创建MeScroll对象,内部已默认开启下拉刷新,自动执行up.callback,重置列表数据;
  70. var mescroll = new MeScroll("scrollPlace", {
  71. up: {
  72. callback: getListData, //上拉回调,此处可简写; 相当于 callback: function (page) { getListData(page); }
  73. isBounce: false, //此处禁止ios回弹,解析(务必认真阅读,特别是最后一点): http://www.mescroll.com/qa.html#q10
  74. clearEmptyId: "dataList", //1.下拉刷新时会自动先清空此列表,再加入数据; 2.无任何数据时会在此列表自动提示空
  75. toTop: { //配置回到顶部按钮
  76. src: "../images/totop.png", //默认滚动到1000px显示,可配置offset修改
  77. offset: 700
  78. },
  79. empty: {
  80. //列表第一页无任何数据时,显示的空提示布局; 需配置warpId才显示
  81. warpId: "dataList", //父布局的id (1.3.5版本支持传入dom元素)
  82. icon: "../images/listNull.png", //图标,默认null,支持网络图
  83. tip: "暂无相关数据~" //提示
  84. },
  85. htmlNodata: '<p class="upwarp-nodata">-- 没有更多内容了 --</p>',
  86. noMoreSize: 5, //如果列表已无数据,可设置列表的总数量要大于5才显示无更多数据;
  87. lazyLoad: {
  88. use: true // 是否开启懒加载,默认false
  89. }
  90. }
  91. });
  92. /*联网加载列表数据 page = {num:1, size:10}; num:当前页 从1开始, size:每页数据条数 */
  93. function getListData(page) {
  94. //联网加载数据
  95. getListDataFromNet(page.num, page.size, function(curPageData, totalSize) {
  96. //联网成功的回调,隐藏下拉刷新和上拉加载的状态;
  97. //mescroll会根据传的参数,自动判断列表如果无任何数据,则提示空;列表无下一页数据,则提示无更多数据;
  98. //方法二(推荐): 后台接口有返回列表的总数据量 totalSize
  99. mescroll.endBySize(curPageData.length, totalSize); //必传参数(当前页的数据个数, 总数据量)
  100. //设置列表数据,因为配置了emptyClearId,第一页会清空dataList的数据,所以setListData应该写在最后;
  101. setListData(curPageData);
  102. }, function() {
  103. //联网失败的回调,隐藏下拉刷新和上拉加载的状态;
  104. mescroll.endErr();
  105. mui.toast('数据请求失败');
  106. });
  107. }
  108. /*设置列表数据*/
  109. function setListData(curPageData) {
  110. var html = '';
  111. // var listDom=document.getElementById("dataList");
  112. var dat = curPageData;
  113. for(var i = 0; i < dat.length; i++) {
  114. var even;
  115. // if(i % 2 == 0){
  116. // even = 'blue';
  117. // }else{
  118. // even = 'pink';
  119. // }
  120. if(dat[i].is_online == 1){
  121. even = 'blue';
  122. }else if (dat[i].is_online == 0) {
  123. even = 'pink';
  124. }
  125. var equip_name = dat[i].name || dat[i].equip_id;
  126. html += '<li class="jkitem" data-id ="'+dat[i].equip_id+'"><div class="jkmsg">'+
  127. '<div class="jkmsgTop"><p>设备:'+equip_name+'</p><h4>'+dat[i].equip_id+'</h4></div>'+
  128. '<div class="jkmsgBottom '+even+'"><div class=""><img src="../images/jkListBj.png"/>'+
  129. '</div>监控</div></div><div class="circleBj"><div></div><div></div><div></div><div>'+
  130. '</div><div></div><div></div></div></li>';
  131. }
  132. $('#dataList').append(html);
  133. }
  134. /*联网加载列表数据*/
  135. function getListDataFromNet(pageNum, pageSize, successCallback, errorCallback) {
  136. $.ajax({
  137. type: 'POST',
  138. url: 'http://120.27.222.26/app_moni_page',
  139. timeout: 10000, //超时时间设置,单位毫秒
  140. data: {
  141. 'page': pageNum,
  142. 'f_id': mui('#searchInp')[0].value,
  143. },
  144. dataType: 'json',
  145. success: function(data) {
  146. successCallback(data.ids, data.nums);
  147. },
  148. error: function() {
  149. errorCallback();
  150. }
  151. });
  152. }
  153. var markingid = '' //用于记录点击的当前id 以便刷新
  154. window.addEventListener('refresh', function(event) { //如果详情页面更改数据 才页面刷新
  155. $('#dataList li').each(function() {
  156. if(markingid == $(this).data('id')) {
  157. $(this).find('.equipName').html(event.detail.markingEquipName);
  158. }
  159. })
  160. })
  161. //进入详情页面
  162. mui('#dataList').on('tap', 'li', function() {
  163. var imei = this.getAttribute('data-id');
  164. var equipName = $(this).find('.equipName').html();
  165. if(equipName == '无'){
  166. equipName = '设备'+imei;
  167. }
  168. // console.log(equipName)
  169. markingid = imei;
  170. mui.openWindow({
  171. url: 'equipManage_jk_detail.html',
  172. id: 'equipManage_jk_detail',
  173. extras: {
  174. 'equipId': imei,
  175. 'equipName':equipName
  176. },
  177. })
  178. })
  179. //搜索操作
  180. $("#searchInp").on('keypress', function(e) {
  181. var keycode = e.keyCode;
  182. if(keycode == '13') {
  183. e.preventDefault();
  184. //请求搜索接口
  185. if(mui('#searchInp')[0].value) {
  186. $('#dataList').html('');
  187. getListData({
  188. num: 1,
  189. size: 10
  190. })
  191. } else {
  192. mui.toast("请输入设备ID");
  193. }
  194. }
  195. })
  196. document.getElementById('searchBtn').addEventListener('tap', function() {
  197. if(mui('#searchInp')[0].value) {
  198. $('#dataList').html('');
  199. getListData({
  200. num: 1,
  201. size: 10
  202. })
  203. } else {
  204. mui.toast("请输入设备ID");
  205. }
  206. })
  207. </script>
  208. </body>
  209. </html>