index.html 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>人员管理</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.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  9. <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
  10. <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
  11. <link rel="stylesheet" type="text/css" href="../../layuiadmin/style/formSelects-v4.css"/>
  12. <style type="text/css">
  13. #department_selecter dl{max-height: 250px;}
  14. </style>
  15. </head>
  16. <body>
  17. <div class="layui-fluid">
  18. <div class="layui-card">
  19. <div class="layui-card-body" pad15>
  20. <div class="layui-row layui-col-space15">
  21. <div class="layui-col-md12">
  22. <div class="LAY-btns" style="margin-bottom: 10px;">
  23. <button class="layui-btn layui-btn-sm" id="btn_add"><i class="layui-icon layui-icon-add-circle"></i>添加</button>
  24. <button class="layui-btn layui-btn-sm" id="btn_query"><i class="layui-icon layui-icon-search"></i>查询</button>
  25. </div>
  26. <table class="layui-hide" id="datagrid" lay-filter="datagrid-operate"></table>
  27. <script type="text/html" id="datagrid-operate-bar">
  28. <div class="layui-btn-group">
  29. <a class="layui-btn layui-btn-xs" lay-event="edit">修改</a>
  30. </div>
  31. <div class="layui-btn-group">
  32. <a class="layui-btn layui-btn-xs" lay-event="user_delete">删除</a>
  33. </div>
  34. </script>
  35. </div>
  36. </div>
  37. </div>
  38. </div>
  39. </div>
  40. <div id="dlg_query" style="display: none">
  41. <div class="layui-card-body" pad15>
  42. <form class="layui-form" lay-filter="query-form-element">
  43. <div class="layui-row layui-col-space10 layui-form-item">
  44. <div class="layui-col-xs12 layui-col-sm12">
  45. <label class="layui-form-label">在职:</label>
  46. <div class="layui-input-block">
  47. <select name="is_active">
  48. <option value="" selected></option>
  49. <option value="1">是</option>
  50. <option value="0">否</option>
  51. </select>
  52. </div>
  53. </div>
  54. <div class="layui-col-xs12 layui-col-sm12">
  55. <label class="layui-form-label">在线:</label>
  56. <div class="layui-input-block">
  57. <select name="online">
  58. <option value="" selected></option>
  59. <option value="1">是</option>
  60. <option value="0">否</option>
  61. </select>
  62. </div>
  63. </div>
  64. <div class="layui-col-xs12 layui-col-sm12">
  65. <label class="layui-form-label">类型:</label>
  66. <div class="layui-input-block">
  67. <select name="type">
  68. <option value="" selected></option>
  69. <option value="1">管理员</option>
  70. <option value="2">员工</option>
  71. </select>
  72. </div>
  73. </div>
  74. <div class="layui-col-xs12 layui-col-sm12">
  75. <label class="layui-form-label">部门:</label>
  76. <div class="layui-input-block" id="department_selecter">
  77. <select name="department" xm-select="selectDepartment" xm-select-radio></select>
  78. </div>
  79. </div>
  80. <div class="layui-col-xs12 layui-col-sm12">
  81. <label class="layui-form-label">用户名:</label>
  82. <div class="layui-input-block">
  83. <input type="text" name="username" autocomplete="off" class="layui-input">
  84. </div>
  85. </div>
  86. <div class="layui-col-xs12 layui-col-sm12">
  87. <label class="layui-form-label">姓名:</label>
  88. <div class="layui-input-block">
  89. <input type="text" name="name" autocomplete="off" class="layui-input">
  90. </div>
  91. </div>
  92. </div>
  93. <div class="layui-form-item" style="display: none">
  94. <button id="query_search" class="layui-btn" lay-submit lay-filter="query-form-element">查询</button>
  95. </div>
  96. </form>
  97. </div>
  98. </div>
  99. <script src="../../layuiadmin/layui/layui.js?t=1"></script>
  100. <script>
  101. var _params = '';
  102. layui.config({
  103. base: '../../../layuiadmin/' //静态资源所在路径
  104. }).extend({
  105. index: 'lib/index' //主入口模块
  106. ,formSelects: 'formSelects-v4'
  107. }).use(['index', 'table', 'formSelects'], function(){
  108. var $ = layui.$
  109. ,form = layui.form;
  110. var table = layui.table;
  111. var admin = layui.admin;
  112. var dep_formSelects = layui.formSelects;
  113. table.render({
  114. elem: '#datagrid'
  115. ,url: '/admin/user/'
  116. ,cols: [[
  117. {field:'name', title:'姓名',width: 100}
  118. ,{field:'username', title:'用户名',width: 200}
  119. ,{field:'department_text', title:'所属部门', width:300}
  120. ,{field:'type_text', title:'类型', width:90}
  121. ,{field:'status_text', title:'启用', width:90}
  122. ,{field:'online_text', title:'在线', width:90}
  123. ,{width:120, align:'left',title: '操作', fixed: 'right', toolbar: '#datagrid-operate-bar'}
  124. ]]
  125. ,page: true
  126. ,height: 'full-104'
  127. ,done: function () {
  128. //layui.index.removeNoPermButtons();
  129. layer.closeAll('loading');
  130. }
  131. });
  132. //监听工具条
  133. table.on('tool(datagrid-operate)', function(obj){
  134. var data = obj.data;
  135. if(obj.event === 'edit'){
  136. table.editdata = data;
  137. layer.open({
  138. type: 2,
  139. title: '修改',
  140. shadeClose: false,
  141. area: ['550px', '85%'],
  142. btn: ['保存', '取消'],
  143. yes: function(index, dom){
  144. layui.onSubmitChild = function (data) {
  145. layer.close(index);
  146. table.reload('datagrid',{});
  147. };
  148. layui.submitChild();
  149. },
  150. btn2: function(index, layero){
  151. layer.close(index);//关闭当前按钮
  152. },
  153. content: 'edit.html?id='+data.id
  154. });
  155. }else if (obj.event === 'user_delete') {
  156. layer.confirm('确定要删除该用户吗?', function (index) {
  157. layer.close(index);
  158. admin.req({
  159. url: '/admin/user/' + data.id + '/'
  160. , type: 'delete'
  161. , done: function (res) {
  162. table.reload('datagrid', {});
  163. }
  164. });
  165. });
  166. }
  167. });
  168. $('#btn_add').on('click', function(){
  169. layer.open({
  170. type: 2,
  171. title: '添加',
  172. shadeClose: false,
  173. area: ['550px', '85%'],
  174. btn: ['保存', '取消'],
  175. yes: function(index, dom){
  176. layui.onSubmitChild = function (data) {
  177. layer.close(index);
  178. table.reload('datagrid',{});
  179. };
  180. layui.submitChild();
  181. },
  182. btn2: function(index, layero){
  183. layer.close(index);//关闭当前按钮
  184. },
  185. content: 'edit.html'
  186. });
  187. });
  188. $('#btn_query').on('click', function(){
  189. layer.open({
  190. type: 1,
  191. shadeClose: true,
  192. area: ['500px', '370px'],
  193. title: '查询',
  194. btn: ['查询'],
  195. yes: function(index, dom){
  196. $('#query_search').click();
  197. },
  198. content: $('#dlg_query')
  199. });
  200. });
  201. form.on('submit(query-form-element)', function(data){
  202. //layer.msg(JSON.stringify(data.field));
  203. _params = data.field;
  204. table.reload('datagrid', {
  205. where: data.field,
  206. page:{curr:1}
  207. });
  208. layer.closeAll();
  209. return false;
  210. });
  211. dep_formSelects.value('selectDepartment', []);
  212. admin.req({
  213. url: '/admin/department/tree/'
  214. ,done: function(res){
  215. dep_formSelects.data('selectDepartment', 'local', {
  216. arr: res.data,
  217. tree: {
  218. //在点击节点的时候, 如果没有子级数据, 会触发此事件
  219. nextClick: function(id, item, callback){
  220. return false;
  221. },
  222. }
  223. });
  224. dep_formSelects.value('selectDepartment', [department]);
  225. }
  226. });
  227. });
  228. </script>
  229. </body>
  230. </html>