role.html 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>角色管理</title>
  6. <link href="../../component/pear/css/pear.css" rel="stylesheet" />
  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="role-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="role-table" lay-filter="role-table"></table>
  48. </div>
  49. </div>
  50. <script type="text/html" id="role-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="role-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-warming pear-btn-sm" lay-event="power"><i class="layui-icon layui-icon-vercode"></i></button>
  63. <button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i class="layui-icon layui-icon-delete"></i></button>
  64. </script>
  65. <script type="text/html" id="role-enable">
  66. <input type="checkbox" name="enable" value="{{d.id}}" lay-skin="switch" lay-text="启用|禁用" lay-filter="role-enable" {{ d.enable== true ? 'checked' : '' }} />
  67. </script>
  68. <script src="../../component/layui/layui.js"></script>
  69. <script src="../../component/pear/pear.js"></script>
  70. <script>
  71. layui.use(['table','form','jquery'],function () {
  72. let table = layui.table;
  73. let form = layui.form;
  74. let $ = layui.jquery;
  75. let MODULE_PATH = "operate/";
  76. let cols = [
  77. [
  78. {type:'checkbox'},
  79. {title: '角色名', field: 'roleName', align:'center', width:100},
  80. {title: 'Key值', field: 'roleCode', align:'center'},
  81. {title: '描述', field: 'details', align:'center'},
  82. {title: '是否可用', field: 'enable', align:'center', templet:'#role-enable'},
  83. {title: '操作', toolbar: '#role-bar', align:'center', width:195}
  84. ]
  85. ]
  86. table.render({
  87. elem: '#role-table',
  88. url: '../../demos/data/role.json',
  89. page: true ,
  90. cols: cols ,
  91. skin: 'line',
  92. toolbar: '#role-toolbar',
  93. defaultToolbar: [{
  94. title: '刷新',
  95. layEvent: 'refresh',
  96. icon: 'layui-icon-refresh',
  97. }, 'filter', 'print', 'exports']
  98. });
  99. table.on('tool(role-table)', function(obj){
  100. if(obj.event === 'remove'){
  101. window.remove(obj);
  102. } else if(obj.event === 'edit'){
  103. window.edit(obj);
  104. } else if(obj.event === 'power'){
  105. window.power(obj);
  106. }
  107. });
  108. table.on('toolbar(role-table)', function(obj){
  109. if(obj.event === 'add'){
  110. window.add();
  111. } else if(obj.event === 'refresh'){
  112. window.refresh();
  113. } else if(obj.event === 'batchRemove'){
  114. window.batchRemove(obj);
  115. }
  116. });
  117. form.on('submit(role-query)', function(data){
  118. table.reload('role-table',{where:data.field})
  119. return false;
  120. });
  121. form.on('switch(role-enable)', function(obj){
  122. layer.tips(this.value + ' ' + this.name + ':'+ obj.elem.checked, obj.othis);
  123. });
  124. window.add = function(){
  125. layer.open({
  126. type: 2,
  127. title: '新增',
  128. shade: 0.1,
  129. area: ['500px', '400px'],
  130. content: MODULE_PATH + 'add.html'
  131. });
  132. }
  133. window.power = function(obj){
  134. layer.open({
  135. type: 2,
  136. title: '授权',
  137. shade: 0.1,
  138. area: ['320px', '400px'],
  139. content: MODULE_PATH + 'edit.html'
  140. });
  141. }
  142. window.edit = function(obj){
  143. layer.open({
  144. type: 2,
  145. title: '修改',
  146. shade: 0.1,
  147. area: ['500px', '400px'],
  148. content: MODULE_PATH + 'edit.html'
  149. });
  150. }
  151. window.remove = function(obj){
  152. layer.confirm('确定要删除该角色', {icon: 3, title:'提示'}, function(index){
  153. layer.close(index);
  154. let loading = layer.load();
  155. $.ajax({
  156. url: MODULE_PATH+"remove/"+obj.data['roleId'],
  157. dataType:'json',
  158. type:'delete',
  159. success:function(result){
  160. layer.close(loading);
  161. if(result.success){
  162. layer.msg(result.msg,{icon:1,time:1000},function(){
  163. obj.del();
  164. });
  165. }else{
  166. layer.msg(result.msg,{icon:2,time:1000});
  167. }
  168. }
  169. })
  170. });
  171. }
  172. window.batchRemove = function(obj){
  173. let data = table.checkStatus(obj.config.id).data;
  174. if(data.length === 0){
  175. layer.msg("未选中数据",{icon:3,time:1000});
  176. return false;
  177. }
  178. let ids = "";
  179. for(let i = 0;i<data.length;i++){
  180. ids += data[i].roleId+",";
  181. }
  182. ids = ids.substr(0,ids.length-1);
  183. layer.confirm('确定要删除这些用户', {icon: 3, title:'提示'}, function(index){
  184. layer.close(index);
  185. let loading = layer.load();
  186. $.ajax({
  187. url: MODULE_PATH+"batchRemove/"+ids,
  188. dataType:'json',
  189. type:'delete',
  190. success:function(result){
  191. layer.close(loading);
  192. if(result.success){
  193. layer.msg(result.msg,{icon:1,time:1000},function(){
  194. table.reload('role-table');
  195. });
  196. }else{
  197. layer.msg(result.msg,{icon:2,time:1000});
  198. }
  199. }
  200. })
  201. });
  202. }
  203. window.refresh = function(){
  204. table.reload('role-table');
  205. }
  206. })
  207. </script>
  208. </body>
  209. </html>