roleTree.jsp 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@include file="/context/mytags.jsp"%>
  3. <script type="text/javascript">
  4. $(function() {
  5. // 获取并构建角色Tree:展示角色树并选中当前所属部门所拥有的角色;
  6. $('#orgRoleTree').tree({
  7. checkbox : true,
  8. url : 'roleController.do?getRoleTree&orgId=${orgId}',
  9. onLoadSuccess : function(node) {
  10. expandAll();
  11. }
  12. });
  13. $("#functionListPanel").panel(
  14. {
  15. title :'<t:mutiLang langKey="common.role.list"/>',
  16. tools:[{iconCls:'icon-save',handler:function(){mysubmit();}}]
  17. }
  18. );
  19. });
  20. function mysubmit() { // 提交
  21. var orgId = $("#orgId").val();
  22. var ids = GetNode();
  23. doSubmit("roleController.do?updateOrgRole&roleIds=" + ids + "&orgId=" + orgId);
  24. }
  25. /**
  26. * 获取 选中的节点 并返回
  27. * @returns {string} 节点id,多个id已逗号分割
  28. * @constructor
  29. */
  30. function GetNode() {
  31. var node = $('#orgRoleTree').tree('getChecked');
  32. var cnodes = '';
  33. var pnodes = '';
  34. var pnode = null; //保存上一步所选父节点
  35. for ( var i = 0; i < node.length; i++) {
  36. if ($('#orgRoleTree').tree('isLeaf', node[i].target)) {
  37. cnodes += node[i].id + ',';
  38. pnode = $('#orgRoleTree').tree('getParent', node[i].target); //获取当前节点的父节点
  39. while (pnode!=null) {//添加全部父节点
  40. pnodes += pnode.id + ',';
  41. pnode = $('#orgRoleTree').tree('getParent', pnode.target);
  42. }
  43. }
  44. }
  45. cnodes = cnodes.substring(0, cnodes.length - 1);
  46. pnodes = pnodes.substring(0, pnodes.length - 1);
  47. return cnodes + "," + pnodes;
  48. }
  49. /**
  50. * 展开所有节点
  51. */
  52. function expandAll() {
  53. var node = $('#orgRoleTree').tree('getSelected');
  54. if (node) {
  55. $('#orgRoleTree').tree('expandAll', node.target);
  56. } else {
  57. $('#orgRoleTree').tree('expandAll');
  58. }
  59. }
  60. /**
  61. * 选择所有节点
  62. */
  63. function selecrAll() {
  64. var node = $('#orgRoleTree').tree('getRoots');
  65. for ( var i = 0; i < node.length; i++) {
  66. $('#orgRoleTree').tree("check",node[i].target);
  67. }
  68. }
  69. /**
  70. * 重置树
  71. */
  72. function reset() {
  73. $('#orgRoleTree').tree('reload');
  74. }
  75. $('#selecrAllBtn').linkbutton({
  76. });
  77. $('#resetBtn').linkbutton({
  78. });
  79. </script>
  80. <div class="easyui-layout" fit="true">
  81. <div region="center" style="padding:0px;border:0px">
  82. <div class="easyui-panel" style="padding:0px;border:0px" fit="true" border="false" id="functionListPanel">
  83. <input type="hidden" name="orgId" value="${orgId}" id="orgId">
  84. &nbsp;&nbsp;&nbsp;
  85. <a id="selecrAllBtn" onclick="selecrAll();"><t:mutiLang langKey="select.all"/></a>
  86. <a id="resetBtn" onclick="reset();"><t:mutiLang langKey="common.reset"/></a>
  87. <ul id="orgRoleTree"></ul>
  88. </div>
  89. </div>
  90. </div>