equip_allot_list.html 7.3 KB

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