auth-manage.js 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  1. //获取公司树
  2. getRoleTree()
  3. //获取公司树结构 ajax请求
  4. function getRoleTree() {
  5. ajaxRequest(USER_ROLE, "POST", {}, function(result) {
  6. let data = result.data;
  7. let items = '';
  8. let roleItems = '';
  9. data.forEach(function(item, key) {
  10. items += `<li>
  11. <span class="treeRole" data-id=${item.roleId}>
  12. <img src="images/login.png" alt="">
  13. ${item.roleName}
  14. </span>
  15. </li>`
  16. })
  17. $('#roleTree').html(items);
  18. }, function(errorMsg) {
  19. alert("请求数据失败!");
  20. })
  21. }
  22. //菜单列表
  23. getMenuListDataAjax();
  24. //获取菜单列表 ajax请求
  25. function getMenuListDataAjax(queryParam = {}) {
  26. let parentIdOption = "<option value='0'>顶级菜单</option>";
  27. ajaxRequest(MENU_LIST, "POST", queryParam, function(result) {
  28. let data = result.data;
  29. let items = '';
  30. let items2 = '';
  31. data.forEach(function(item, key) {
  32. let statusMenu = "";
  33. if (item.type == 0) {
  34. statusMenu = "目录"
  35. } else if (item.type == 1) {
  36. statusMenu = "菜单"
  37. } else {
  38. statusMenu = "按钮"
  39. }
  40. let parentedMenu = item.parented ? '是' : '否';
  41. let perms = item.perms;
  42. let permSave = JSON.stringify(perms)
  43. delete(item.perms)
  44. items += "<tr>" +
  45. "<td class='status' data-perm=" + permSave + " data-user='" + JSON.stringify(item) + "'></td>" +
  46. "<td>" + item.name + "</td>" +
  47. "<td>" + statusMenu + "</td>" +
  48. "<td>" + item.orderNum + "</td>" +
  49. "<td>" + parentedMenu + "</td>" +
  50. "</tr>"
  51. parentIdOption += `<option value=${item.menuId}>${item.name}</option>`
  52. })
  53. $('#menuList').html(items);
  54. $('#parentId').html(parentIdOption)
  55. $('#parentId2').html(parentIdOption)
  56. }, function(errorMsg) {
  57. alert("请求数据失败!");
  58. })
  59. }
  60. //部门树点击事件
  61. $(".treeRole").on('click', function() {
  62. $('.treeRole').removeClass('selected')
  63. $(this).addClass('selected');
  64. getMenuListDataAjax({ "roleId": $(this).data('id') });
  65. if ($("#roleTree li:first span").hasClass('selected')) {
  66. $('.edit').show()
  67. $('.add').show()
  68. $('.updateAuth').hide()
  69. } else {
  70. $('.edit').hide()
  71. $('.add').hide()
  72. $('.updateAuth').show()
  73. }
  74. })
  75. /*新增 修改 关闭 弹框*/
  76. var layer = layui.layer;
  77. var layerCreateIndex = '';
  78. var layerUpdateIndex = '';
  79. var layerUpdateAuthIndex = '';
  80. layui.use('layer', function() {
  81. //新增弹框
  82. $('.add').click(function() {
  83. layerCreateIndex = layer.open({
  84. type: 1,
  85. title: false,
  86. closeBtn: 0,
  87. shadeClose: true,
  88. skin: 'yourclass',
  89. area: ['400px', '450px'],
  90. content: $(".addMenuOut"),
  91. success: function() {
  92. $('.clsBtn,.cancel').click(function() {
  93. //alert(1)
  94. layer.close(layerCreateIndex);
  95. })
  96. }
  97. })
  98. }),
  99. //修改弹框信息
  100. $('.edit').click(function() {
  101. if (!$('.pure-table tr').has('.checked').length) {
  102. layer.msg('请选择一条需要修改的信息!', { icon: 5 });
  103. } else {
  104. //let dataId = $('.pure-table tr').find('.checked').data('id');
  105. let userInfo = $('.pure-table tr').find('.checked').data('user');
  106. let perm = $('.pure-table tr').find('.checked').data('perm');
  107. var reg = new RegExp('\r\n', 'g');
  108. $('.editMenuOut select[name=parented]').val(userInfo.parented)
  109. $('.editMenuOut select[name=parentId]').val(userInfo.parentId)
  110. $('.editMenuOut input[name=name]').val(userInfo.name)
  111. $('.editMenuOut input[name=url').val(userInfo.url)
  112. $('.editMenuOut textarea[name=perms').val(perm.replace(reg, '<br/>'))
  113. $('.editMenuOut select[name=type').val(userInfo.type)
  114. $('.editMenuOut input[name=icon').val(userInfo.icon)
  115. $('.editMenuOut input[name=orderNum').val(userInfo.orderNum)
  116. $('.editMenuOut input[name=menuId').val(userInfo.menuId)
  117. layerUpdateIndex = layer.open({
  118. type: 1,
  119. title: false,
  120. closeBtn: 0,
  121. shadeClose: true,
  122. skin: 'yourclass',
  123. area: ['410px', '500px'],
  124. content: $(".editMenuOut"),
  125. success: function() {
  126. $('.clsBtn,.cancel').click(function() {
  127. layer.close(layerUpdateIndex);
  128. })
  129. }
  130. });
  131. }
  132. })
  133. //新增权限弹框信息
  134. $('.updateAuth').click(function() {
  135. getMenuSelectAjax();
  136. //获取菜单列表 ajax请求
  137. function getMenuSelectAjax(queryParam = {}) {
  138. let parentIdOption = "<option value='0'>顶级菜单</option>";
  139. ajaxRequest(MENU_LIST, "POST", queryParam, function(result) {
  140. let data = result.data;
  141. data.forEach(function(item, key) {
  142. parentIdOption += `<option value=${item.menuId}>${item.name}</option>`
  143. })
  144. $('#menuIdList').html(parentIdOption)
  145. }, function(errorMsg) {
  146. alert("请求数据失败!");
  147. })
  148. }
  149. layerUpdateAuthIndex = layer.open({
  150. type: 1,
  151. title: false,
  152. closeBtn: 0,
  153. shadeClose: true,
  154. skin: 'yourclass',
  155. area: ['410px', '300px'],
  156. content: $(".addAuthOut"),
  157. success: function() {
  158. $('.clsBtn,.cancel').click(function() {
  159. layer.close(layerUpdateAuthIndex);
  160. })
  161. }
  162. });
  163. })
  164. })
  165. /* 新增发送请求 */
  166. $('#addMenu').click(function() {
  167. //获取表单的值 并转换成对象
  168. let allParam = serializeArrayToObj($("#addMenuForm").serializeArray());
  169. //验证数据是否为空
  170. let res = validParamIsEmpty(allParam, {
  171. "name": "请输入菜单名称",
  172. "parentId": "请选择父级菜单id",
  173. "perms": "请输入菜单配置",
  174. "type": "请选择菜单类型",
  175. });
  176. if (res.code == -1) {
  177. alert(res.msg);
  178. return;
  179. }
  180. //验证通过 请求ajax
  181. ajaxRequest(MENU_ADD, "POST", allParam, function(result) {
  182. if (result.flag) {
  183. let data = result.data;
  184. layer.close(layerCreateIndex);
  185. getMenuListDataAjax()
  186. } else {
  187. //服务端返回报错
  188. alert(result.msg);
  189. }
  190. }, function(errorMsg) {
  191. alert("异常错误!");
  192. })
  193. })
  194. /* 修改发送请求 */
  195. $('#dataUpdate').click(function() {
  196. //获取表单的值 并转换成对象
  197. let allParam = serializeArrayToObj($("#editMenuForm").serializeArray());
  198. //验证数据是否为空
  199. let res = validParamIsEmpty(allParam, {
  200. "name": "请输入菜单名称",
  201. "parentId": "请选择父级菜单id",
  202. "perms": "请输入菜单配置",
  203. "type": "请选择菜单类型",
  204. });
  205. if (res.code == -1) {
  206. alert(res.msg);
  207. return;
  208. }
  209. ajaxRequest(MENU_UPDATE, "POST", allParam, function(result) {
  210. layer.close(layerUpdateIndex);
  211. layer.msg('修改成功!', { icon: 6 });
  212. getMenuListDataAjax()
  213. }, function(errorMsg) {
  214. alert("数据修改失败!");
  215. })
  216. })
  217. /* 新增权限发送请求 */
  218. $('#addAuth').click(function() {
  219. //获取表单的值 并转换成对象
  220. let allParam = serializeArrayToObj($("#addAuthForm").serializeArray());
  221. allParam.roleId = $("#roleTree li span.selected").data('id')
  222. ajaxRequest(ROLE_AUTH_UPDATA, "POST", allParam, function(result) {
  223. if (result.flag) {
  224. let data = result.data;
  225. layer.close(layerUpdateAuthIndex);
  226. getMenuListDataAjax(allParam)
  227. } else {
  228. //服务端返回报错
  229. alert(result.msg);
  230. }
  231. }, function(errorMsg) {
  232. alert("异常错误!");
  233. })
  234. })