roleEdit.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. $(function() {
  2. var params = window.location.href.split("?");
  3. var roleId = -1;
  4. var roleName = -1;
  5. var remark = -1;
  6. if (params.length === 2) {
  7. values = params[1].split("&");
  8. if (values.length === 3) {
  9. roleId = values[0].replace("id=", "");
  10. roleName = decodeURI(values[1].replace("roleName=", ""));
  11. remark = decodeURI(values[2].replace("remark=", ""));
  12. }
  13. }
  14. $("#roleName").val(roleName);
  15. $("#remark").val(remark);
  16. layui.use(["form", "table", "layer"], function() {
  17. var form = layui.form;
  18. var table = layui.table;
  19. var layer = layui.layer;
  20. function loadUserList() {
  21. var tableOption = {
  22. elem: "#userList",
  23. height: 400,
  24. limit: 150,
  25. cols: [
  26. [
  27. { type: "checkbox" },
  28. { field: "id", title: "序号", align: "center" ,width:75},
  29. { field: "rightsName", title: "角色权限", align: "center" },
  30. { field: "isHave", title: "具备权限", templet: "#sw", align: "center",width:170}
  31. ]
  32. ]
  33. };
  34. fetchJSON("api/rights/listByRole?roleId=" + roleId, {}, "get", function(data) {
  35. if (data.status === 0) {
  36. tableOption.data = data.data;
  37. table.render(tableOption);
  38. } else {
  39. showMsg(data.msg, 2, 2000);
  40. }
  41. });
  42. }
  43. // 首次载入页面 载入默认用户列表
  44. loadUserList();
  45. $ = layui.jquery;
  46. //监听变化
  47. var p = 0;
  48. form.on("switch(sw)", function(data) {
  49. if (roleId === "0") {
  50. showMsg("请先保存角色后再进行权限修改!", 2, 2000);
  51. }
  52. var idt = data.elem.id;
  53. var hold = data.elem.checked;
  54. var addRights = [];
  55. var delRights = [];
  56. addRights.push(idt);
  57. delRights.push(idt);
  58. var arr = { ids: addRights, id: roleId };
  59. var arrdel = { ids: delRights, id: roleId };
  60. if (hold === true) {
  61. fetchJSON("api/role/addRights", arr, "post", function(data) {
  62. if (data.status === 0) {}
  63. });
  64. } else if (hold === false) {
  65. fetchJSON("api/role/deleteRights", arrdel, "post", function(data) {
  66. if (data.status === 0) {}
  67. });
  68. }
  69. });
  70. //批量打开
  71. $("#open").on("click", function(e) {
  72. e.preventDefault();
  73. var checkedData = table.checkStatus("userList").data;
  74. if (checkedData.length === 0) {
  75. showMsg("未选择需要开启的项目", 2, 2000);
  76. return;
  77. }
  78. var plArr = [];
  79. for (var i = 0; i < checkedData.length; i++) {
  80. plArr.push(checkedData[i].id);
  81. }
  82. var plopen = { ids: plArr, id: roleId };
  83. fetchJSON("api/role/addRights", plopen, "post", function(data) {
  84. if (data.status === 0) {
  85. showMsg("修改成功");
  86. loadUserList();
  87. } else {
  88. showMsg(data.msg, 2, 2000);
  89. }
  90. });
  91. });
  92. //批量关闭
  93. $("#close").on("click", function(e) {
  94. e.preventDefault();
  95. var checkedData = table.checkStatus("userList").data;
  96. if (checkedData.length === 0) {
  97. showMsg("未选择需要关闭的项目", 2, 2000);
  98. return;
  99. }
  100. var plArr = [];
  101. for (var i = 0; i < checkedData.length; i++) {
  102. plArr.push(checkedData[i].id);
  103. }
  104. var plopen = { ids: plArr, id: roleId };
  105. fetchJSON("api/role/deleteRights", plopen, "post", function(data) {
  106. if (data.status === 0) {
  107. showMsg("修改成功", 1, 2000);
  108. loadUserList();
  109. } else {
  110. showMsg(data.msg, 2, 2000);
  111. }
  112. });
  113. });
  114. $("#save").on("click", function(e) {
  115. let role = { id: roleId, roleName: $("#roleName").val(), remark: $("#remark").val() };
  116. fetchJSON("api/role/edit", role, "post", function(data) {
  117. if (data.status === 0) {
  118. layer.alert("修改成功!", { icon: 6 }, function() {
  119. var index = parent.layer.getFrameIndex(window.name);
  120. parent.layer.close(index);
  121. });
  122. } else {
  123. showMsg(data.msg, 2);
  124. }
  125. });
  126. });
  127. });
  128. });