role.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. layui.use(['layer', 'form', 'table', 'admin', 'ax'], function () {
  2. var $ = layui.$;
  3. var layer = layui.layer;
  4. var form = layui.form;
  5. var table = layui.table;
  6. var $ax = layui.ax;
  7. var admin = layui.admin;
  8. /**
  9. * 系统管理--角色管理
  10. */
  11. var Role = {
  12. tableId: "roleTable", //表格id
  13. condition: {
  14. roleName: ""
  15. }
  16. };
  17. /**
  18. * 初始化表格的列
  19. */
  20. Role.initColumn = function () {
  21. return [[
  22. {type: 'checkbox'},
  23. {field: 'roleId', hide: true, sort: true, title: '角色id'},
  24. {field: 'name', sort: true, title: '名称'},
  25. {field: 'pName', sort: true, title: '上级角色'},
  26. {field: 'description', sort: true, title: '别名'},
  27. {align: 'center', toolbar: '#tableBar', title: '操作', minWidth: 200}
  28. ]];
  29. };
  30. /**
  31. * 点击查询按钮
  32. */
  33. Role.search = function () {
  34. var queryData = {};
  35. queryData['roleName'] = $("#roleName").val();
  36. table.reload(Role.tableId, {where: queryData});
  37. };
  38. /**
  39. * 弹出添加角色
  40. */
  41. Role.openAddRole = function () {
  42. admin.putTempData('formOk', false);
  43. top.layui.admin.open({
  44. type: 2,
  45. title: '添加角色',
  46. content: Feng.ctxPath + '/role/role_add',
  47. end: function () {
  48. admin.getTempData('formOk') && table.reload(Role.tableId);
  49. }
  50. });
  51. };
  52. /**
  53. * 导出excel按钮
  54. */
  55. Role.exportExcel = function () {
  56. var checkRows = table.checkStatus(Role.tableId);
  57. if (checkRows.data.length === 0) {
  58. Feng.error("请选择要导出的数据");
  59. } else {
  60. table.exportFile(tableResult.config.id, checkRows.data, 'xls');
  61. }
  62. };
  63. /**
  64. * 点击编辑角色
  65. *
  66. * @param data 点击按钮时候的行数据
  67. */
  68. Role.onEditRole = function (data) {
  69. admin.putTempData('formOk', false);
  70. top.layui.admin.open({
  71. type: 2,
  72. title: '修改角色',
  73. content: Feng.ctxPath + '/role/role_edit?roleId=' + data.roleId,
  74. end: function () {
  75. admin.getTempData('formOk') && table.reload(Role.tableId);
  76. }
  77. });
  78. };
  79. /**
  80. * 点击删除角色
  81. *
  82. * @param data 点击按钮时候的行数据
  83. */
  84. Role.onDeleteRole = function (data) {
  85. var operation = function () {
  86. var ajax = new $ax(Feng.ctxPath + "/role/remove", function () {
  87. Feng.success("删除成功!");
  88. table.reload(Role.tableId);
  89. }, function (data) {
  90. Feng.error("删除失败!" + data.responseJSON.message + "!");
  91. });
  92. ajax.set("roleId", data.roleId);
  93. ajax.start();
  94. };
  95. Feng.confirm("是否删除角色 " + data.name + "?", operation);
  96. };
  97. /**
  98. * 分配菜单
  99. *
  100. * @param data 点击按钮时候的行数据
  101. */
  102. Role.roleAssign = function (data) {
  103. layer.open({
  104. type: 2,
  105. title: '权限配置',
  106. area: ['300px', '450px'], //宽高
  107. fix: false,
  108. maxmin: true,
  109. content: Feng.ctxPath + '/role/role_assign/' + data.roleId,
  110. end: function () {
  111. table.reload(Role.tableId);
  112. }
  113. });
  114. };
  115. // 渲染表格
  116. var tableResult = table.render({
  117. elem: '#' + Role.tableId,
  118. url: Feng.ctxPath + '/role/list',
  119. page: true,
  120. height: "full-158",
  121. cellMinWidth: 100,
  122. cols: Role.initColumn()
  123. });
  124. // 搜索按钮点击事件
  125. $('#btnSearch').click(function () {
  126. Role.search();
  127. });
  128. // 添加按钮点击事件
  129. $('#btnAdd').click(function () {
  130. Role.openAddRole();
  131. });
  132. // 导出excel
  133. $('#btnExp').click(function () {
  134. Role.exportExcel();
  135. });
  136. // 工具条点击事件
  137. table.on('tool(' + Role.tableId + ')', function (obj) {
  138. var data = obj.data;
  139. var layEvent = obj.event;
  140. if (layEvent === 'edit') {
  141. Role.onEditRole(data);
  142. } else if (layEvent === 'delete') {
  143. Role.onDeleteRole(data);
  144. } else if (layEvent === 'roleAssign') {
  145. Role.roleAssign(data);
  146. }
  147. });
  148. });