user.html 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>用户管理</title>
  6. <link rel="stylesheet" href="../../component/pear/css/pear.css" />
  7. </head>
  8. <body class="pear-container">
  9. <div class="layui-card">
  10. <div class="layui-card-body">
  11. <form class="layui-form" action="">
  12. <div class="layui-form-item">
  13. <div class="layui-form-item layui-inline">
  14. <label class="layui-form-label">用户名</label>
  15. <div class="layui-input-inline">
  16. <input type="text" name="realName" placeholder="" class="layui-input">
  17. </div>
  18. </div>
  19. <div class="layui-form-item layui-inline">
  20. <label class="layui-form-label">性别</label>
  21. <div class="layui-input-inline">
  22. <input type="text" name="realName" placeholder="" class="layui-input">
  23. </div>
  24. </div>
  25. <div class="layui-form-item layui-inline">
  26. <label class="layui-form-label">邮箱</label>
  27. <div class="layui-input-inline">
  28. <input type="text" name="realName" placeholder="" class="layui-input">
  29. </div>
  30. </div>
  31. <div class="layui-form-item layui-inline">
  32. <button class="pear-btn pear-btn-md pear-btn-primary" lay-submit lay-filter="user-query">
  33. <i class="layui-icon layui-icon-search"></i>
  34. 查询
  35. </button>
  36. <button type="reset" class="pear-btn pear-btn-md">
  37. <i class="layui-icon layui-icon-refresh"></i>
  38. 重置
  39. </button>
  40. </div>
  41. </div>
  42. </form>
  43. </div>
  44. </div>
  45. <div class="layui-card">
  46. <div class="layui-card-body">
  47. <table id="user-table" lay-filter="user-table"></table>
  48. </div>
  49. </div>
  50. <script type="text/html" id="user-toolbar">
  51. <button class="pear-btn pear-btn-primary pear-btn-md" lay-event="add">
  52. <i class="layui-icon layui-icon-add-1"></i>
  53. 新增
  54. </button>
  55. <button class="pear-btn pear-btn-danger pear-btn-md" lay-event="batchRemove">
  56. <i class="layui-icon layui-icon-delete"></i>
  57. 删除
  58. </button>
  59. </script>
  60. <script type="text/html" id="user-bar">
  61. <button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="edit"><i class="layui-icon layui-icon-edit"></i></button>
  62. <button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i class="layui-icon layui-icon-delete"></i></button>
  63. </script>
  64. <script type="text/html" id="user-enable">
  65. <input type="checkbox" name="enable" value="{{d.id}}" lay-skin="switch" lay-text="启用|禁用" lay-filter="user-enable" {{ d.enable== true ? 'checked' : '' }} />
  66. </script>
  67. <script type="text/html" id="user-sex">
  68. {{#if (d.sex == 1) { }}
  69. <span>男</span>
  70. {{# }else if(d.sex == 2){ }}
  71. <span>女</span>
  72. {{# } }}
  73. </script>
  74. <script type="text/html" id="user-login">
  75. {{#if (d.login == 0) { }}
  76. <span>在线</span>
  77. {{# }else if(d.sex == 1){ }}
  78. <span>离线</span>
  79. {{# } }}
  80. </script>
  81. <script type="text/html" id="user-createTime">
  82. {{layui.util.toDateString(d.createTime, 'yyyy-MM-dd')}}
  83. </script>
  84. <script src="../../component/layui/layui.js"></script>
  85. <script src="../../component/pear/pear.js"></script>
  86. <script>
  87. layui.use(['table', 'form', 'jquery','common'], function() {
  88. let table = layui.table;
  89. let form = layui.form;
  90. let $ = layui.jquery;
  91. let common = layui.common;
  92. let MODULE_PATH = "operate/";
  93. let cols = [
  94. [{
  95. type: 'checkbox'
  96. },
  97. {
  98. title: '账号',
  99. field: 'username',
  100. align: 'center',
  101. width: 100
  102. },
  103. {
  104. title: '姓名',
  105. field: 'realName',
  106. align: 'center'
  107. },
  108. {
  109. title: '性别',
  110. field: 'sex',
  111. align: 'center',
  112. width: 80,
  113. templet: '#user-sex'
  114. },
  115. {
  116. title: '电话',
  117. field: 'phone',
  118. align: 'center'
  119. },
  120. {
  121. title: '启用',
  122. field: 'enable',
  123. align: 'center',
  124. templet: '#user-enable'
  125. },
  126. {
  127. title: '登录',
  128. field: 'login',
  129. align: 'center',
  130. templet: '#user-login'
  131. },
  132. {
  133. title: '注册',
  134. field: 'createTime',
  135. align: 'center',
  136. templet: '#user-createTime'
  137. },
  138. {
  139. title: '操作',
  140. toolbar: '#user-bar',
  141. align: 'center',
  142. width: 130
  143. }
  144. ]
  145. ]
  146. table.render({
  147. elem: '#user-table',
  148. url: '../../demos/data/user.json',
  149. page: true,
  150. cols: cols,
  151. skin: 'line',
  152. toolbar: '#user-toolbar',
  153. defaultToolbar: [{
  154. title: '刷新',
  155. layEvent: 'refresh',
  156. icon: 'layui-icon-refresh',
  157. }, 'filter', 'print', 'exports']
  158. });
  159. table.on('tool(user-table)', function(obj) {
  160. if (obj.event === 'remove') {
  161. window.remove(obj);
  162. } else if (obj.event === 'edit') {
  163. window.edit(obj);
  164. }
  165. });
  166. table.on('toolbar(user-table)', function(obj) {
  167. if (obj.event === 'add') {
  168. window.add();
  169. } else if (obj.event === 'refresh') {
  170. window.refresh();
  171. } else if (obj.event === 'batchRemove') {
  172. window.batchRemove(obj);
  173. }
  174. });
  175. form.on('submit(user-query)', function(data) {
  176. table.reload('user-table', {
  177. where: data.field
  178. })
  179. return false;
  180. });
  181. form.on('switch(user-enable)', function(obj) {
  182. layer.tips(this.value + ' ' + this.name + ':' + obj.elem.checked, obj.othis);
  183. });
  184. window.add = function() {
  185. layer.open({
  186. type: 2,
  187. title: '新增',
  188. shade: 0.1,
  189. area: [common.isModile()?'100%':'500px', common.isModile()?'100%':'400px'],
  190. content: MODULE_PATH + 'add.html'
  191. });
  192. }
  193. window.edit = function(obj) {
  194. layer.open({
  195. type: 2,
  196. title: '修改',
  197. shade: 0.1,
  198. area: ['500px', '400px'],
  199. content: MODULE_PATH + 'edit.html'
  200. });
  201. }
  202. window.remove = function(obj) {
  203. layer.confirm('确定要删除该用户', {
  204. icon: 3,
  205. title: '提示'
  206. }, function(index) {
  207. layer.close(index);
  208. let loading = layer.load();
  209. $.ajax({
  210. url: MODULE_PATH + "remove/" + obj.data['userId'],
  211. dataType: 'json',
  212. type: 'delete',
  213. success: function(result) {
  214. layer.close(loading);
  215. if (result.success) {
  216. layer.msg(result.msg, {
  217. icon: 1,
  218. time: 1000
  219. }, function() {
  220. obj.del();
  221. });
  222. } else {
  223. layer.msg(result.msg, {
  224. icon: 2,
  225. time: 1000
  226. });
  227. }
  228. }
  229. })
  230. });
  231. }
  232. window.batchRemove = function(obj) {
  233. var checkIds = common.checkField(obj,'userId');
  234. if (checkIds === "") {
  235. layer.msg("未选中数据", {
  236. icon: 3,
  237. time: 1000
  238. });
  239. return false;
  240. }
  241. layer.confirm('确定要删除这些用户', {
  242. icon: 3,
  243. title: '提示'
  244. }, function(index) {
  245. layer.close(index);
  246. let loading = layer.load();
  247. $.ajax({
  248. url: MODULE_PATH + "batchRemove/" + ids,
  249. dataType: 'json',
  250. type: 'delete',
  251. success: function(result) {
  252. layer.close(loading);
  253. if (result.success) {
  254. layer.msg(result.msg, {
  255. icon: 1,
  256. time: 1000
  257. }, function() {
  258. table.reload('user-table');
  259. });
  260. } else {
  261. layer.msg(result.msg, {
  262. icon: 2,
  263. time: 1000
  264. });
  265. }
  266. }
  267. })
  268. });
  269. }
  270. window.refresh = function(param) {
  271. table.reload('user-table');
  272. }
  273. })
  274. </script>
  275. </body>
  276. </html>