table.html 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>layui</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  9. <link rel="stylesheet" href="../lib/layui-v2.6.3/css/layui.css" media="all">
  10. <link rel="stylesheet" href="../css/public.css" media="all">
  11. </head>
  12. <body>
  13. <div class="layuimini-container">
  14. <div class="layuimini-main">
  15. <fieldset class="table-search-fieldset">
  16. <legend>搜索信息</legend>
  17. <div style="margin: 10px 10px 10px 10px">
  18. <form class="layui-form layui-form-pane" action="">
  19. <div class="layui-form-item">
  20. <div class="layui-inline">
  21. <label class="layui-form-label">用户姓名</label>
  22. <div class="layui-input-inline">
  23. <input type="text" name="username" autocomplete="off" class="layui-input">
  24. </div>
  25. </div>
  26. <div class="layui-inline">
  27. <label class="layui-form-label">用户性别</label>
  28. <div class="layui-input-inline">
  29. <input type="text" name="sex" autocomplete="off" class="layui-input">
  30. </div>
  31. </div>
  32. <div class="layui-inline">
  33. <label class="layui-form-label">用户城市</label>
  34. <div class="layui-input-inline">
  35. <input type="text" name="city" autocomplete="off" class="layui-input">
  36. </div>
  37. </div>
  38. <div class="layui-inline">
  39. <label class="layui-form-label">用户职业</label>
  40. <div class="layui-input-inline">
  41. <input type="text" name="classify" autocomplete="off" class="layui-input">
  42. </div>
  43. </div>
  44. <div class="layui-inline">
  45. <button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
  46. </div>
  47. </div>
  48. </form>
  49. </div>
  50. </fieldset>
  51. <script type="text/html" id="toolbarDemo">
  52. <div class="layui-btn-container">
  53. <button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add"> 添加 </button>
  54. <button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="delete"> 删除 </button>
  55. </div>
  56. </script>
  57. <table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
  58. <script type="text/html" id="currentTableBar">
  59. <a class="layui-btn layui-btn-normal layui-btn-xs data-count-edit" lay-event="edit">编辑</a>
  60. <a class="layui-btn layui-btn-xs layui-btn-danger data-count-delete" lay-event="delete">删除</a>
  61. </script>
  62. </div>
  63. </div>
  64. <script src="../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
  65. <script>
  66. layui.use(['form', 'table'], function () {
  67. var $ = layui.jquery,
  68. form = layui.form,
  69. table = layui.table;
  70. table.render({
  71. elem: '#currentTableId',
  72. url: '../api/table.json',
  73. toolbar: '#toolbarDemo',
  74. defaultToolbar: ['filter', 'exports', 'print', {
  75. title: '提示',
  76. layEvent: 'LAYTABLE_TIPS',
  77. icon: 'layui-icon-tips'
  78. }],
  79. cols: [[
  80. {type: "checkbox", width: 50},
  81. {field: 'id', width: 80, title: 'ID', sort: true},
  82. {field: 'username', width: 80, title: '用户名'},
  83. {field: 'sex', width: 80, title: '性别', sort: true},
  84. {field: 'city', width: 80, title: '城市'},
  85. {field: 'sign', title: '签名', minWidth: 150},
  86. {field: 'experience', width: 80, title: '积分', sort: true},
  87. {field: 'score', width: 80, title: '评分', sort: true},
  88. {field: 'classify', width: 80, title: '职业'},
  89. {field: 'wealth', width: 135, title: '财富', sort: true},
  90. {title: '操作', minWidth: 150, toolbar: '#currentTableBar', align: "center"}
  91. ]],
  92. limits: [10, 15, 20, 25, 50, 100],
  93. limit: 15,
  94. page: true,
  95. skin: 'line'
  96. });
  97. // 监听搜索操作
  98. form.on('submit(data-search-btn)', function (data) {
  99. var result = JSON.stringify(data.field);
  100. layer.alert(result, {
  101. title: '最终的搜索信息'
  102. });
  103. //执行搜索重载
  104. table.reload('currentTableId', {
  105. page: {
  106. curr: 1
  107. }
  108. , where: {
  109. searchParams: result
  110. }
  111. }, 'data');
  112. return false;
  113. });
  114. /**
  115. * toolbar监听事件
  116. */
  117. table.on('toolbar(currentTableFilter)', function (obj) {
  118. if (obj.event === 'add') { // 监听添加操作
  119. var index = layer.open({
  120. title: '添加用户',
  121. type: 2,
  122. shade: 0.2,
  123. maxmin:true,
  124. shadeClose: true,
  125. area: ['100%', '100%'],
  126. content: '../page/table/add.html',
  127. });
  128. $(window).on("resize", function () {
  129. layer.full(index);
  130. });
  131. } else if (obj.event === 'delete') { // 监听删除操作
  132. var checkStatus = table.checkStatus('currentTableId')
  133. , data = checkStatus.data;
  134. layer.alert(JSON.stringify(data));
  135. }
  136. });
  137. //监听表格复选框选择
  138. table.on('checkbox(currentTableFilter)', function (obj) {
  139. console.log(obj)
  140. });
  141. table.on('tool(currentTableFilter)', function (obj) {
  142. var data = obj.data;
  143. if (obj.event === 'edit') {
  144. var index = layer.open({
  145. title: '编辑用户',
  146. type: 2,
  147. shade: 0.2,
  148. maxmin:true,
  149. shadeClose: true,
  150. area: ['100%', '100%'],
  151. content: '../page/table/edit.html',
  152. });
  153. $(window).on("resize", function () {
  154. layer.full(index);
  155. });
  156. return false;
  157. } else if (obj.event === 'delete') {
  158. layer.confirm('真的删除行么', function (index) {
  159. obj.del();
  160. layer.close(index);
  161. });
  162. }
  163. });
  164. });
  165. </script>
  166. </body>
  167. </html>