auth-manage.js 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308
  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) + "' data-id='" + item.menuId + "'></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. let id = $('.pure-table tr').find('.checked').data('id');
  118. // alert(id)
  119. //获取详情信息
  120. getMenuDetailInfo({ 'id': id });
  121. //获取详情信息 ajax请求
  122. function getMenuDetailInfo(queryParam = {}) {
  123. ajaxRequest(MENU_DETAIL_INFO, "POST", queryParam, function(result) {
  124. var data = result.data[0]
  125. console.log(data.url)
  126. $('.editMenuOut textarea[name=perms').val(data.perms)
  127. }, function(errorMsg) {
  128. alert("请求数据失败!");
  129. })
  130. }
  131. layerUpdateIndex = layer.open({
  132. type: 1,
  133. title: false,
  134. closeBtn: 0,
  135. shadeClose: true,
  136. skin: 'yourclass',
  137. area: ['410px', '500px'],
  138. content: $(".editMenuOut"),
  139. success: function() {
  140. $('.clsBtn,.cancel').click(function() {
  141. layer.close(layerUpdateIndex);
  142. })
  143. }
  144. });
  145. }
  146. })
  147. //新增权限弹框信息
  148. $('.updateAuth').click(function() {
  149. getMenuSelectAjax();
  150. //获取菜单列表 ajax请求
  151. function getMenuSelectAjax(queryParam = {}) {
  152. let parentIdOption = "<option value='0'>顶级菜单</option>";
  153. ajaxRequest(MENU_LIST, "POST", queryParam, function(result) {
  154. let data = result.data;
  155. data.forEach(function(item, key) {
  156. parentIdOption += `<option value=${item.menuId}>${item.name}</option>`
  157. })
  158. $('#menuIdList').html(parentIdOption)
  159. }, function(errorMsg) {
  160. alert("请求数据失败!");
  161. })
  162. }
  163. layerUpdateAuthIndex = layer.open({
  164. type: 1,
  165. title: false,
  166. closeBtn: 0,
  167. shadeClose: true,
  168. skin: 'yourclass',
  169. area: ['410px', '300px'],
  170. content: $(".addAuthOut"),
  171. success: function() {
  172. $('.clsBtn,.cancel').click(function() {
  173. layer.close(layerUpdateAuthIndex);
  174. })
  175. }
  176. });
  177. })
  178. })
  179. /* 新增发送请求 */
  180. $('#addMenu').click(function() {
  181. //获取表单的值 并转换成对象
  182. let allParam = serializeArrayToObj($("#addMenuForm").serializeArray());
  183. //验证数据是否为空
  184. let res = validParamIsEmpty(allParam, {
  185. "name": "请输入菜单名称",
  186. "parentId": "请选择父级菜单id",
  187. "perms": "请输入菜单配置",
  188. "type": "请选择菜单类型",
  189. });
  190. if (res.code == -1) {
  191. alert(res.msg);
  192. return;
  193. }
  194. //验证通过 请求ajax
  195. ajaxRequest(MENU_ADD, "POST", allParam, function(result) {
  196. if (result.flag) {
  197. layer.close(layerCreateIndex);
  198. getMenuListDataAjax()
  199. $('#addMenuForm')[0].reset();
  200. } else {
  201. //服务端返回报错
  202. alert(result.msg);
  203. }
  204. }, function(errorMsg) {
  205. alert("异常错误!");
  206. })
  207. })
  208. /* 修改发送请求 */
  209. $('#dataUpdate').click(function() {
  210. //获取表单的值 并转换成对象
  211. let allParam = serializeArrayToObj($("#editMenuForm").serializeArray());
  212. //验证数据是否为空
  213. let res = validParamIsEmpty(allParam, {
  214. "name": "请输入菜单名称",
  215. "parentId": "请选择父级菜单id",
  216. "perms": "请输入菜单配置",
  217. "type": "请选择菜单类型",
  218. });
  219. if (res.code == -1) {
  220. alert(res.msg);
  221. return;
  222. }
  223. ajaxRequest(MENU_UPDATE, "POST", allParam, function(result) {
  224. layer.close(layerUpdateIndex);
  225. layer.msg('修改成功!', { icon: 6 });
  226. getMenuListDataAjax()
  227. }, function(errorMsg) {
  228. alert("数据修改失败!");
  229. })
  230. })
  231. /* 新增权限发送请求 */
  232. $('#addAuth').click(function() {
  233. //获取表单的值 并转换成对象
  234. let allParam = serializeArrayToObj($("#addAuthForm").serializeArray());
  235. allParam.roleId = $("#roleTree li span.selected").data('id')
  236. ajaxRequest(ROLE_AUTH_UPDATA, "POST", allParam, function(result) {
  237. if (result.flag) {
  238. let data = result.data;
  239. layer.close(layerUpdateAuthIndex);
  240. getMenuListDataAjax(allParam)
  241. } else {
  242. //服务端返回报错
  243. alert(result.msg);
  244. }
  245. }, function(errorMsg) {
  246. alert("异常错误!");
  247. })
  248. })