role.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. /**
  2. * 角色管理的单例
  3. */
  4. var Role = {
  5. id: "roleTable", //表格id
  6. seItem: null, //选中的条目
  7. table: null,
  8. layerIndex: -1
  9. };
  10. /**
  11. * 初始化表格的列
  12. */
  13. Role.initColumn = function () {
  14. var columns = [
  15. {field: 'selectItem', radio: true},
  16. {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'},
  17. {title: '名称', field: 'name', align: 'center', valign: 'middle', sortable: true},
  18. {title: '上级角色', field: 'pName', align: 'center', valign: 'middle', sortable: true},
  19. {title: '所在部门', field: 'deptName', align: 'center', valign: 'middle', sortable: true},
  20. {title: '别名', field: 'tips', align: 'center', valign: 'middle', sortable: true}]
  21. return columns;
  22. };
  23. /**
  24. * 检查是否选中
  25. */
  26. Role.check = function () {
  27. var selected = $('#' + this.id).bootstrapTable('getSelections');
  28. if (selected.length == 0) {
  29. Feng.info("请先选中表格中的某一记录!");
  30. return false;
  31. } else {
  32. Role.seItem = selected[0];
  33. return true;
  34. }
  35. };
  36. /**
  37. * 点击添加管理员
  38. */
  39. Role.openAddRole = function () {
  40. var index = layer.open({
  41. type: 2,
  42. title: '添加角色',
  43. area: ['800px', '450px'], //宽高
  44. fix: false, //不固定
  45. maxmin: true,
  46. content: '/admin/role/add'
  47. });
  48. this.layerIndex = index;
  49. };
  50. /**
  51. * 点击修改按钮时
  52. */
  53. Role.openChangeRole = function () {
  54. if (this.check()) {
  55. var index = layer.open({
  56. type: 2,
  57. title: '修改角色',
  58. area: ['800px', '450px'], //宽高
  59. fix: false, //不固定
  60. maxmin: true,
  61. content: '/admin/role/edit/id/' + this.seItem.id
  62. });
  63. this.layerIndex = index;
  64. }
  65. };
  66. /**
  67. * 删除角色
  68. */
  69. Role.delRole = function () {
  70. if (this.check()) {
  71. var operation = function(){
  72. var ajax = new $ax("/admin/role/delete", function () {
  73. Feng.success("删除成功!");
  74. Role.table.refresh();
  75. }, function (data) {
  76. Feng.error("删除失败!" + data.responseJSON.message + "!");
  77. });
  78. ajax.set("roleId", Role.seItem.id);
  79. ajax.start();
  80. };
  81. Feng.confirm("是否删除角色 " + Role.seItem.name + "?",operation);
  82. }
  83. };
  84. /**
  85. * 权限配置
  86. */
  87. Role.assign = function () {
  88. if (this.check()) {
  89. var index = layer.open({
  90. type: 2,
  91. title: '权限配置',
  92. area: ['300px', '450px'], //宽高
  93. fix: false, //不固定
  94. maxmin: true,
  95. content: '/admin/role/assign/id/' + this.seItem.id
  96. });
  97. this.layerIndex = index;
  98. }
  99. };
  100. /**
  101. * 搜索角色
  102. */
  103. Role.search = function () {
  104. var queryData = {};
  105. queryData['roleName'] = $("#roleName").val();
  106. Role.table.refresh({query: queryData});
  107. }
  108. $(function () {
  109. var defaultColunms = Role.initColumn();
  110. var table = new BSTable(Role.id, "/admin/role/list", defaultColunms);
  111. table.setPaginationType("client");
  112. table.init();
  113. Role.table = table;
  114. });