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