index.html 9.2 KB

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