equip_list.html 8.0 KB

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