group.html 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. <style type="text/css">
  2. .xm-label-block {
  3. background-color: #287bd2
  4. }
  5. </style>
  6. <!-- 正文开始 -->
  7. <div class="layui-fluid">
  8. <div class="layui-card">
  9. <div class="layui-card-body">
  10. <div class="layui-form toolbar" id="tbToolBar">
  11. <div class="layui-form-item">
  12. <div class="layui-inline">
  13. <label class="layui-form-label w-auto">用户组名:</label>
  14. <div class="layui-input-inline mr0">
  15. <input name="name" class="layui-input" type="text" placeholder="用户组名"/>
  16. </div>
  17. </div>
  18. <!-- <div class="layui-inline">-->
  19. <!-- <label class="layui-form-label">状 态:</label>-->
  20. <!-- <div class="layui-input-inline mr0">-->
  21. <!-- <select name="status">-->
  22. <!-- <option value="">所有</option>-->
  23. <!-- <option value="0">锁定</option>-->
  24. <!-- <option value="1">正常</option>-->
  25. <!-- </select>-->
  26. <!-- </div>-->
  27. <!-- </div>-->
  28. <div class="layui-inline" style="padding-right: 110px;">
  29. <button class="layui-btn icon-btn" lay-filter="formSubSearchUser" lay-submit>
  30. <i class="layui-icon">&#xe615;</i>查询
  31. </button>
  32. </div>
  33. </div>
  34. </div>
  35. <div class="layui-tab layui-tab-brief">
  36. <table id="dataTable" lay-filter="dataTable"></table>
  37. </div>
  38. </div>
  39. </div>
  40. </div>
  41. <!-- 表格操作列 -->
  42. <script type="text/html" id="tableBarUser">
  43. {{# if(d.deleted_at !== 0){ }}
  44. <a class="layui-btn layui-btn-xs layui-btn-warm" lay-event="restore">恢复</a>
  45. {{# }else if(d.id == 1){ }}
  46. <a class="layui-btn layui-btn-disabled layui-btn-xs" lay-tips="禁止操作">修改</a>
  47. <a class="layui-btn layui-btn-disabled layui-btn-xs" lay-tips="禁止操作">删除</a>
  48. {{# }else{ }}
  49. <a class="layui-btn layui-btn-xs" lay-event="edit">修改</a>
  50. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
  51. {{# } }}
  52. </script>
  53. <!-- 表格状态列 -->
  54. <script type="text/html" id="tableStateUser">
  55. {{# if(d.deleted_at !== 0){ }}
  56. <span class="layui-badge layui-badge-red">已删除</span>
  57. {{# }else if(d.id == 1){ }}
  58. <span class="layui-badge layui-bg-black">系统默认</span>
  59. {{# }else{ }}
  60. <input type="checkbox" value="{{ d.status }}" switch-data="{'url':'users/{{ d.id }}','action':'put'}" lay-skin="switch" lay-filter="ckDataTableState"
  61. lay-text="正常|锁定" {{d.status==1?'checked':''}}/>
  62. {{# } }}
  63. </script>
  64. <!-- 表单弹窗 -->
  65. <script type="text/html" id="modelUser">
  66. <form id="modelUserForm" lay-filter="modelUserForm" class="layui-form model-form">
  67. <input name="id" type="hidden"/>
  68. <div class="layui-form-item">
  69. <label class="layui-form-label layui-form-required">用户组</label>
  70. <div class="layui-input-block">
  71. <input name="name" placeholder="请输入用户组名" type="text" class="layui-input" maxlength="20"
  72. lay-verType="tips" lay-verify="required" required/>
  73. </div>
  74. </div>
  75. <div class="layui-form-item">
  76. <label class="layui-form-label">备注</label>
  77. <div class="layui-input-block">
  78. <textarea name="introduce" placeholder="请输入内容" class="layui-textarea" maxlength="200"></textarea>
  79. </div>
  80. </div>
  81. <div class="layui-form-item text-right">
  82. <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
  83. <button class="layui-btn" lay-filter="modelSubmitUser" lay-submit>保存</button>
  84. </div>
  85. </form>
  86. </script>
  87. <!-- js部分 -->
  88. <script>
  89. layui.use(['layer', 'form', 'table', 'util', 'notice','md5', 'admin', 'setter', 'xmSelect'], function () {
  90. var $ = layui.jquery;
  91. var layer = layui.layer;
  92. var form = layui.form;
  93. var table = layui.table;
  94. var util = layui.util;
  95. var admin = layui.admin;
  96. var notice = layui.notice;
  97. var setter = layui.setter;
  98. var md5 = layui.md5;
  99. var xmSelect = layui.xmSelect;
  100. form.render('select');
  101. // 渲染表格
  102. var insTb = table.render({
  103. elem: '#dataTable',
  104. url: setter.baseServer + 'users/group',
  105. page: true,
  106. // toolbar: true,
  107. cellMinWidth: 100,
  108. cols: [[
  109. {type: 'numbers'},
  110. {field: 'name', title: '用户组'},
  111. {field: 'introduce', title: '备注', width: 200},
  112. {
  113. field: 'created_at', sort: true, templet: function (d) {
  114. return util.toDateString(d.created_at * 1e3);
  115. }, title: '创建时间', width: 180
  116. },
  117. {field: 'status', templet: '#tableStateUser', title: '状态', width: 120},
  118. {fixed:'right', align: 'center', toolbar: '#tableBarUser', title: '操作', minWidth: 200}
  119. ]],
  120. done:function () {
  121. admin.renderPerm()
  122. }
  123. });
  124. // 添加
  125. $(document).on('click','.user-add-btn', function () {
  126. showEditModel();
  127. });
  128. // 搜索
  129. form.on('submit(formSubSearchUser)', function (data) {
  130. insTb.reload({where: data.field}, 'data');
  131. });
  132. // 工具条点击事件
  133. table.on('tool(dataTable)', function (obj) {
  134. var data = obj.data;
  135. var layEvent = obj.event;
  136. if (layEvent === 'edit') { // 修改
  137. showEditModel(data);
  138. } else if (layEvent === 'del') { // 删除
  139. layer.confirm('确定要删除“' + data.name + '”吗?', {
  140. skin: 'layui-layer-admin',
  141. shade: .1
  142. }, function (i) {
  143. layer.close(i);
  144. layer.load(2);
  145. admin.req('users/group/' + data.id, function (r) {
  146. layer.closeAll('loading');
  147. if (r.code === 10000) {
  148. notice.msg(r.message, {icon: 1});
  149. insTb.reload({}, 'data');
  150. } else {
  151. notice.msg(r.message, {icon: 2});
  152. }
  153. }, 'DELETE');
  154. });
  155. } else if (layEvent === 'restore') { // 恢复
  156. layer.confirm('确定要恢复“' + data.name + '”吗?', {
  157. skin: 'layui-layer-admin',
  158. shade: .1
  159. }, function (i) {
  160. layer.close(i);
  161. layer.load(2);
  162. admin.req('users/group/' + data.id + '/restore',function (r) {
  163. layer.closeAll('loading');
  164. if (r.code === 10000) {
  165. notice.msg(r.message, {icon: 1});
  166. insTb.reload({}, 'data');
  167. } else {
  168. notice.msg(r.message, {icon: 2});
  169. }
  170. }, 'POST');
  171. });
  172. }
  173. });
  174. // 显示表单弹窗
  175. function showEditModel(data) {
  176. admin.open({
  177. type: 1,
  178. area: ['420px'], //宽高
  179. title: (data ? '修改' : '添加') + '用户组',
  180. content: $('#modelUser').html(),
  181. success: function (layero, dIndex) {
  182. $(layero).children('.layui-layer-content').css('overflow', 'visible');
  183. // 回显数据
  184. form.val('modelUserForm', data);
  185. // 表单提交事件
  186. form.on('submit(modelSubmitUser)', function (form) {
  187. layer.load(2);
  188. admin.req('users/group' + (data ? '/' + form.field.id : ''), form.field, function (res) {
  189. layer.closeAll('loading');
  190. if (res.code === 10000) {
  191. // 更新菜单权限
  192. setter.updateUser();
  193. layer.close(dIndex);
  194. notice.msg(res.message, {icon: 1});
  195. insTb.reload({}, 'data');
  196. } else {
  197. notice.msg(res.message, {icon: 2});
  198. }
  199. }, data ? 'PUT' : 'POST');
  200. return false;
  201. });
  202. }
  203. });
  204. }
  205. });
  206. </script>