role.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. $(function() {
  2. var defaultPage = 0;
  3. var defaultSize = 10;
  4. var currentPage = defaultPage;
  5. var currentSize = defaultSize;
  6. var tableFirstLoad = true;
  7. layui.use(["form", "table", "laypage", "layer"], function() {
  8. var table = layui.table;
  9. var laypage = layui.laypage;
  10. var layer = layui.layer;
  11. function loadRoleList(page, size) {
  12. if (page === null || page === undefined) page = defaultPage;
  13. if (size === null || size === undefined) size = defaultSize;
  14. var tableOption = {
  15. elem: "#userList",
  16. height: "full-81",
  17. limit: size,
  18. cols: [
  19. [{
  20. type: "checkbox"
  21. },
  22. {
  23. field: "roleName",
  24. title: "角色名",
  25. align: "center"
  26. },
  27. // {
  28. // field: "rights",
  29. // title: "权限",
  30. // align: "center",
  31. // },
  32. {
  33. field: "remark",
  34. title: "描述",
  35. align: "center",
  36. },
  37. {
  38. fixed: "right",
  39. title: "操作",
  40. toolbar: "#operationToolbar",
  41. width: 330,
  42. align: "center"
  43. }
  44. ]
  45. ]
  46. };
  47. var url = "api/role/listpage?page=" + (page + 1) + "&size=" + size;
  48. fetchJSON(url, {}, "get", function(data) {
  49. if (data.status === 0) {
  50. if (tableFirstLoad) {
  51. tableFirstLoad = false;
  52. laypage.render({
  53. curr: page + 1,
  54. elem: "pagination",
  55. count: data.data.total,
  56. layout: ["count", "prev", "page", "next", "limit", "refresh", "skip"],
  57. jump: function(obj, first) {
  58. if (first) return;
  59. currentPage = obj.curr - 1;
  60. currentSize = obj.limit;
  61. loadRoleList(currentPage, currentSize);
  62. }
  63. });
  64. }
  65. tableOption.data = data.data.list;
  66. table.render(tableOption);
  67. } else {
  68. showMsg(data.msg, 2, 2000);
  69. }
  70. });
  71. }
  72. loadRoleList();
  73. // 监听表内工具条
  74. table.on("tool(userList)", function(obj) {
  75. var data = obj.data;
  76. // if (data.id === 1) {
  77. // showMsg("默认角色不可操作!", 1, 2000);
  78. // return;
  79. // }
  80. if (obj.event === "edit") {
  81. // 打开编辑框 进行详细编辑
  82. x_admin_show(
  83. "角色权限管理",
  84. encodeURI(
  85. "../admin/role-edit.html?id=" + data.id + "&roleName=" + data.roleName + "&remark=" + data.remark
  86. ),
  87. 900,
  88. 700,
  89. function() {
  90. loadRoleList(currentPage, currentSize);
  91. }
  92. );
  93. } else if (obj.event === "delete") {
  94. // 删除
  95. // if (data.id === 2) {
  96. // showMsg("默认角色不可删除!", 1, 2000);
  97. // return;
  98. // }
  99. var ids = [];
  100. ids.push(data.id);
  101. layer.confirm("确认要删除吗?", function() {
  102. fetchJSON("api/role/delete", {
  103. ids: ids
  104. }, "post", function(data) {
  105. if (data.status === 0) {
  106. showMsg("已删除!");
  107. tableFirstLoad = true;
  108. loadRoleList(currentPage, currentSize);
  109. } else {
  110. showMsg(data.msg, 2, 2000);
  111. }
  112. });
  113. });
  114. }
  115. });
  116. // 新建用户
  117. $("#addUser").on("click", function(e) {
  118. e.preventDefault();
  119. tableFirstLoad = true;
  120. x_admin_show("新建角色", "../admin/role-add.html?id=0&roleName=&remark=&rightsIds=&rights=&remark=", 480, 300, function() {
  121. loadRoleList(currentPage, currentSize);
  122. });
  123. });
  124. // 批量删除
  125. $("#batchDelete").on("click", function(e) {
  126. e.preventDefault();
  127. var checkedData = table.checkStatus("userList").data;
  128. if (checkedData.length === 0) {
  129. showMsg("未选择需要删除的角色", 2, 2000);
  130. return;
  131. }
  132. layer.confirm("确认要删除吗?", function() {
  133. var ids = [];
  134. for (var i = 0; i < checkedData.length; i++) {
  135. if (checkedData[i].id === 1 || checkedData[i].id === 2) {
  136. showMsg("默认角色不可操作!", 1, 2000);
  137. continue;
  138. }
  139. ids.push(checkedData[i].id);
  140. }
  141. if (ids.length < 1) return;
  142. fetchJSON("api/role/delete", {
  143. ids: ids
  144. }, "post", function(data) {
  145. if (data.status === 0) {
  146. showMsg("已删除!");
  147. tableFirstLoad = true;
  148. loadRoleList(currentPage, currentSize);
  149. } else {
  150. showMsg(data.msg, 2, 2000);
  151. }
  152. });
  153. });
  154. });
  155. });
  156. });