roleAuth.jsp 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <%@ page contentType="text/html;charset=UTF-8" %>
  2. <%@ include file="/webpage/include/taglib.jsp"%>
  3. <html>
  4. <head>
  5. <title>权限设置</title>
  6. <meta name="decorator" content="ani"/>
  7. <%@include file="/webpage/include/treeview.jsp" %>
  8. <script type="text/javascript">
  9. function save() {
  10. var isValidate = jp.validateForm('#inputForm');//校验表单
  11. if(!isValidate){
  12. return false;
  13. }else{
  14. //功能权限
  15. var ref = $('#menuTree').jstree(true);
  16. var ids = ref.get_selected();
  17. //取半选节点ID
  18. $("#menuTree li").has("i[class*='jstree-undetermined']").each(function(){
  19. ids+=","+$(this).attr("id");
  20. });
  21. $("#menuIds").val(ids);
  22. //数据权限
  23. var data_ref = $('#dataRuleTree').jstree(true);
  24. var nodes = data_ref.get_selected(true);
  25. var data_ids = new Array();
  26. for(var i=0; i<nodes.length; i++){
  27. if(nodes[i].type==='4'){
  28. data_ids.push(nodes[i].id);
  29. }
  30. }
  31. $("#dataRuleIds").val(data_ids.join(","));
  32. jp.loading();
  33. jp.post("${ctx}/sys/role/save",$('#inputForm').serialize(),function(data){
  34. if(data.success){
  35. // jp.getParent().refresh();
  36. var dialogIndex = parent.layer.getFrameIndex(window.name); // 获取窗口索引
  37. parent.layer.close(dialogIndex);
  38. jp.success(data.msg)
  39. }else{
  40. jp.error(data.msg);
  41. }
  42. })
  43. }
  44. }
  45. $(document).ready(function(){
  46. //功能权限
  47. $('#menuTree').jstree({
  48. 'core' : {
  49. "multiple" : true,
  50. "animation" : 0,
  51. "themes" : { "icons":true ,"stripes":false},
  52. 'data' : {
  53. "url" : "${ctx}/sys/menu/treeData?roleId=${role.id}",
  54. "dataType" : "json" // needed only if you do not supply JSON headers
  55. }
  56. },
  57. 'plugins' : [ "checkbox", 'types' , 'wholerow'],
  58. "types":{
  59. 'default' : {
  60. 'icon' : 'fa fa-folder'
  61. },
  62. 'html' : {
  63. 'icon' : 'fa fa-file-code-o'
  64. },
  65. 'btn':{'icon' : 'fa fa-square'}
  66. },
  67. 'checkbox' : {
  68. // 禁用级联选中
  69. 'three_state' : false,
  70. 'cascade' : 'undetermined|down|up' //有三个选项,up, down, undetermined; 使用前需要先禁用three_state
  71. },
  72. });
  73. //数据权限
  74. $('#dataRuleTree').jstree({
  75. 'core' : {
  76. "multiple" : true,
  77. "animation" : 0,
  78. "themes" : { "icons":true ,"stripes":false},
  79. 'data' : {
  80. "url" : "${ctx}/sys/dataRule/treeData?roleId=${role.id}",
  81. "dataType" : "json" // needed only if you do not supply JSON headers
  82. }
  83. },
  84. 'plugins' : [ "checkbox", 'types' , 'wholerow'],
  85. "types":{ 'default' : {
  86. 'icon' : 'fa fa-folder'
  87. },
  88. '4' : {//权限type
  89. 'icon' : ' fa fa-anchor'
  90. }
  91. },
  92. 'checkbox' : {
  93. // 禁用级联选中
  94. 'three_state' : false,
  95. 'cascade' : 'undetermined|down|up' //有三个选项,up, down, undetermined; 使用前需要先禁用three_state
  96. },
  97. });
  98. });
  99. </script>
  100. </head>
  101. <body>
  102. <ul class="nav nav-tabs">
  103. <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">功能权限:</a></li>
  104. <li class=""><a data-toggle="tab" href="#tab-2" aria-expanded="false">数据权限:</a></li>
  105. </ul>
  106. <div class="tab-content">
  107. <div id="tab-1" class="tab-pane fade in active">
  108. <div id="menuTree"></div>
  109. </div>
  110. <div id="tab-2" class="tab-pane fade in">
  111. <div id="dataRuleTree"></div>
  112. </div>
  113. </div>
  114. <form:form id="inputForm" modelAttribute="role" action="${ctx}/sys/role/save" method="post" class="form-horizontal">
  115. <form:hidden path="id"/>
  116. <input name="office.id" type="hidden" value="${role.office.id}">
  117. <input name="office.name" type="hidden" value="${role.office.name}">
  118. <input name="name" type="hidden" value="${role.name}">
  119. <input name="oldName" type="hidden" value="${role.name}">
  120. <input name="enname" type="hidden" value="${role.enname}">
  121. <input name="oldEnname" type="hidden" value="${role.enname}">
  122. <input name="roleType" type="hidden" value="${role.roleType}">
  123. <input name="sysData" type="hidden" value="${role.sysData}">
  124. <input name="useable" type="hidden" value="${role.useable}">
  125. <input name="remarks" type="hidden" value="${role.remarks}">
  126. <form:hidden path="menuIds"/>
  127. <form:hidden path="dataRuleIds"/>
  128. </form:form>
  129. </body>
  130. </html>