permissions.html 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>TODO supply a title</title>
  5. {include file="../application/manage/view/commons/headers.html" }
  6. <link href="/static/js/ztree/css/zTreeStyle/zTreeStyle.css" rel="stylesheet" type="text/css" />
  7. <script src="/static/js/ztree/js/jquery.ztree.all.min.js" type="text/javascript" ></script>
  8. <style type="text/css">
  9. .ztree li span.button.add {margin-left:2px; margin-right: -1px; background-position:-144px 0; vertical-align:top; *vertical-align:middle}
  10. </style>
  11. <script type="text/javascript">
  12. var permitArr={if empty($permitMenuIdArr) }[]{else}{$permitMenuIdArr}{/if};
  13. var permitReport="{$permitReport}";
  14. var curMenu = null, zTree_Menu = null;
  15. var setting = {
  16. view: {
  17. showLine: true, selectedMulti: false, dblClickExpand: false
  18. },
  19. data: { simpleData: { enable: true } },
  20. check: { enable: true , chkboxType: { "Y": "", "N": "" } },
  21. callback: {
  22. onNodeCreated: onNodeCreated,
  23. beforeClick: beforeClick
  24. },
  25. async: {
  26. enable: true,
  27. url:"/manage/frontmenu/menudata",
  28. autoParam:["id", "pId=pid", "name=n", "level=lv"],
  29. otherParam:{"otherParam":"zTreeAsyncTest"},
  30. dataFilter: filter
  31. }
  32. };
  33. function filter(treeId, parentNode, childNodes) {
  34. if (!childNodes) return null;
  35. for (var i=0, l=childNodes.length; i<l; i++) {
  36. childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');
  37. }
  38. return childNodes;
  39. };
  40. function onNodeCreated(event,treeId,treeNode){
  41. zTree_Menu = $.fn.zTree.getZTreeObj("menutree");
  42. curMenu = zTree_Menu.getNodes()[0].children[0].children[0];
  43. zTree_Menu.selectNode(curMenu);
  44. var a = $("#" + zTree_Menu.getNodes()[0].tId + "_a");
  45. a.addClass("cur");
  46. if(permitArr.indexOf(treeNode.id)>=0){
  47. zTree_Menu.checkNode(treeNode,true,true);
  48. }
  49. }
  50. // 保存菜单
  51. function saveMenuPermit(){
  52. var treeObj = $.fn.zTree.getZTreeObj("menutree");
  53. var nodes = treeObj.getCheckedNodes(true);
  54. if(nodes!=null && nodes.length>0 ){
  55. var ids="";
  56. for(var i=0;i<nodes.length;i++){
  57. var n=nodes[i];
  58. ids+=n.id+",";
  59. }
  60. $.ajax({
  61. url:"/manage/doctors/saveMenuPermit",
  62. data:"id={$id}&ids="+ids+"&t="+new Date(),
  63. success:function(rs){
  64. if(rs=="ok"){
  65. alert("菜单授权限保存成功!");
  66. document.location.reload();
  67. }else{
  68. alert("保存失败!");
  69. }
  70. }
  71. });
  72. }else{
  73. alert("您没有选择任何菜单!");
  74. }
  75. }
  76. // 保存菜单
  77. function saveReportPermit(){
  78. var reportPermit=$("input[name='permit_report']:checked").val();
  79. if(reportPermit!=null){
  80. $.ajax({
  81. url:"/manage/insdoctors/saveReportPermit",
  82. data:"id={$id}&report="+reportPermit+"&t="+new Date(),
  83. success:function(rs){
  84. if(rs=="ok"){
  85. alert("报告权限保存成功!");
  86. document.location.reload();
  87. }else{
  88. alert("保存失败!");
  89. }
  90. }
  91. });
  92. }
  93. }
  94. function beforeClick(treeId, node) {
  95. if (node.isParent) {
  96. if (node.level === 0) {
  97. var pNode = curMenu;
  98. while (pNode && pNode.level !==0) {
  99. pNode = pNode.getParentNode();
  100. }
  101. if (pNode !== node) {
  102. var a = $("#" + pNode.tId + "_a");
  103. a.removeClass("cur");
  104. zTree_Menu.expandNode(pNode, false);
  105. }
  106. a = $("#" + node.tId + "_a");
  107. a.addClass("cur");
  108. var isOpen = false;
  109. for (var i=0,l=node.children.length; i<l; i++) {
  110. if(node.children[i].open) {
  111. isOpen = true;
  112. break;
  113. }
  114. }
  115. if (isOpen) {
  116. zTree_Menu.expandNode(node, true);
  117. curMenu = node;
  118. } else {
  119. zTree_Menu.expandNode(node.children[0].isParent?node.children[0]:node, true);
  120. curMenu = node.children[0];
  121. }
  122. } else {
  123. zTree_Menu.expandNode(node);
  124. }
  125. }
  126. return !node.isParent;
  127. }
  128. $(document).ready(function(){
  129. $.fn.zTree.init($("#menutree"), setting);
  130. });
  131. </script>
  132. </head>
  133. <body class="easyui-layout" >
  134. <div id="menu" data-options="region:'west',title:'菜单权限',width:'100%',collapsible:false,split:true,tools:[{ iconCls:'icon-save', handler:function(){saveMenuPermit()} }]" >
  135. <ul id="menutree" class="ztree" style="height:100%;width: 100%;padding: 0px; margin: 0px;"></ul>
  136. </div>
  137. </body>
  138. </html>