index.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. layui.config({
  2. base: "../../js/layuiPlugins/"
  3. }).use(['form', 'layer', 'jquery', 'laypage', 'element', 'laytpl', 'table'], function() {
  4. var form = layui.form,
  5. layer = layui.layer,
  6. laypage = layui.laypage,
  7. laytpl = layui.laytpl,
  8. $ = layui.jquery,
  9. table = layui.table,
  10. element = layui.element;
  11. form.verify({
  12. namelength: [
  13. /^.{0,12}$/,
  14. "长度限制在0-12个字符噢"
  15. ],
  16. nameVerify: [
  17. /^[a-zA-Z][a-zA-Z0-9_]*$/,
  18. '以英文字母开头,只能包含英文字母、数字、下划线'
  19. ]
  20. });
  21. //工具条处理
  22. function toolOperating(name, obj) {
  23. var data = obj.data;
  24. if (obj.event === 'list_li') {
  25. } else if (obj.event === 'del') {
  26. layer.confirm('真的删除吗?', function(index) {
  27. layer.close(index);
  28. var index1 = layer.msg('删除中,请稍候', {
  29. icon: 16,
  30. time: false,
  31. shade: 0.8
  32. });
  33. $.ajax({
  34. type: "DELETE",
  35. url: "delete_newAddUser?userId=" + obj.data.userId,
  36. success: function(res) {
  37. layer.close(index1);
  38. if (!(res.code - 0)) {
  39. obj.del();
  40. table.reload(name);
  41. }
  42. }
  43. });
  44. });
  45. } else if (obj.event === 'edit') { //修改
  46. layer.open({
  47. type: 2,
  48. title: "编辑",
  49. area: ['800px', '550px'],
  50. maxmin: true,
  51. content: 'add_change.html?id=' + data.userId,
  52. btn: ['确定', '取消'],
  53. yes: function(index, layero) {
  54. var submit = layero.find('iframe').contents().find("#formSubmit");
  55. submit.click();
  56. },
  57. });
  58. } else if (obj.event === 'reset') {
  59. layer.confirm('确定要把' + data.name + '的密码重置为123456吗?', function(index) {
  60. layer.close(index);
  61. var index1 = layer.msg('正在重置中,请稍候', {
  62. icon: 16,
  63. time: false,
  64. shade: 0.8
  65. });
  66. data.password = 123456;
  67. $.ajax({
  68. type: 'POST',
  69. url: 'userAddNew',
  70. contentType: 'application/json',
  71. data: JSON.stringify(data),
  72. success: function(res) {
  73. if (!(res.code - 0)) {
  74. layer.close(index1);
  75. layer.msg(res.msg, {
  76. icon: 1
  77. });
  78. } else {
  79. layer.msg(res.msg, {
  80. icon: 2
  81. });
  82. }
  83. }
  84. });
  85. });
  86. }
  87. }
  88. //用户列表
  89. let tableId = 'userDataTable';
  90. var userDataList = {
  91. id: 'userDataTable',
  92. elem: '#userDataTable',
  93. url: 'userList',
  94. page: true,
  95. loading: true,
  96. cellMinWidth: 80,
  97. toolbar: '#toolbar',
  98. defaultToolbar: ['filter'],
  99. cols: [
  100. [ //标题栏
  101. {
  102. field: 'name',
  103. title: '账号',
  104. align: 'center',
  105. event: 'list_li',
  106. sort: true //排序
  107. }, {
  108. field: 'realName',
  109. title: '姓名',
  110. align: 'center',
  111. event: 'list_li',
  112. sort: true //排序
  113. }, {
  114. field: 'roleName',
  115. title: '角色',
  116. align: 'center',
  117. width: 250,
  118. sort: true //排序
  119. }, {
  120. field: 'sex',
  121. title: '性别',
  122. width: 60,
  123. //templet: '<div>{{# return !(d.sex-0)?"男":"女"}}</div>',
  124. align: 'center'
  125. }, {
  126. field: 'phone',
  127. title: '电话号码',
  128. width: 120,
  129. align: 'center'
  130. }, {
  131. field: 'loginTime',
  132. title: '最后登录时间',
  133. width: 180,
  134. align: 'center'
  135. }, {
  136. field: 'status',
  137. title: '是否可用',
  138. width: 110,
  139. templet: '#checkboxTpl',
  140. unresize: true,
  141. align: 'center'
  142. }, {
  143. field: 'operating',
  144. title: '操作',
  145. toolbar: '#operatingTool',
  146. align: 'center',
  147. fixed: 'right',
  148. width: 120
  149. }
  150. ]
  151. ] //设置表头
  152. ,
  153. done: function() {
  154. if (!layui.data('auth').data.add) {
  155. $('.add-btn').hide();
  156. }
  157. }
  158. };
  159. //执行默认渲染表格
  160. table.render(userDataList);
  161. //监听产品工具事件条
  162. table.on('tool(userDataTable)', function(obj) {
  163. toolOperating(tableId, obj);
  164. });
  165. //搜索响应函数
  166. var infoSearch = function(obj) {
  167. table.reload(tableId, { //执行重载
  168. where: obj.field
  169. });
  170. return false;
  171. };
  172. //监听搜索表单事件
  173. form.on("submit(userDataSearch)", infoSearch);
  174. //监听可用操作
  175. form.on('checkbox(statusDemo)', function(obj) {
  176. console.log(obj)
  177. let ids = {
  178. userId: obj.elem.id,
  179. status: obj.value
  180. }
  181. $.ajax({
  182. url: 'forbidUser',
  183. type: 'post',
  184. data: JSON.stringify(ids),
  185. contentType: 'application/json',
  186. success: function(res) {
  187. if (!(res.code - 0)) {
  188. parent.layer.msg(res.msg, {
  189. icon: 1
  190. });
  191. table.reload(tableId);
  192. } else {
  193. layer.msg(res.msg, {
  194. icon: 2
  195. });
  196. obj.elem.checked = !obj.elem.checked;
  197. form.render();
  198. }
  199. }
  200. });
  201. });
  202. //监听头部工具栏
  203. table.on('toolbar(' + tableId + ')', function(obj) {
  204. switch (obj.event) {
  205. case 'add':
  206. layer.open({
  207. type: 2,
  208. title: "添加",
  209. area: ['800px', '550px'],
  210. maxmin: true,
  211. content: 'add_change.html',
  212. btn: ['确定', '取消'],
  213. yes: function(index, layero) {
  214. var submit = layero.find('iframe').contents().find("#formSubmit");
  215. submit.click();
  216. },
  217. });
  218. break;
  219. };
  220. });
  221. });