请选择 进入手机版 | 继续访问电脑版

学JAVA网

 找回密码
 立即注册

FastQ思考系列之EasyUI页面按钮权限控制

[复制链接]
发表于 2018-10-10 16:08:35 |显示全部楼层
333
  1. <script type="text/javascript">
  2. 2     $(function() {
  3. 3         $('#admin_yhgl_datagrid').datagrid({
  4. 4             url : '${pageContext.request.contextPath}/userAction!datagrid.action',
  5. 5             fit : true,
  6. 6             fitColumns : true,
  7. 7             border : false,
  8. 8             pagination : true,
  9. 9             idField : 'id',
  10. 10             pageSize : 10,
  11. 11             pageList : [ 10, 20, 30, 40, 50 ],
  12. 12             sortName : 'name',
  13. 13             sortOrder : 'asc',
  14. 14             /*pagePosition : 'both',*/
  15. 15             checkOnSelect : false,
  16. 16             selectOnCheck : false,
  17. 17             frozenColumns : [ [ {
  18. 18                 field : 'id',
  19. 19                 title : '编号',
  20. 20                 width : 150,
  21. 21                 checkbox : true
  22. 22             }, {
  23. 23                 field : 'name',
  24. 24                 title : '登录名称',
  25. 25                 width : 150,
  26. 26                 sortable : true
  27. 27             } ] ],
  28. 28             columns : [ [ {
  29. 29                 field : 'pwd',
  30. 30                 title : '密码',
  31. 31                 width : 150,
  32. 32                 formatter : function(value, row, index) {
  33. 33                     return '******';
  34. 34                 }
  35. 35             }, {
  36. 36                 field : 'createdatetime',
  37. 37                 title : '创建时间',
  38. 38                 width : 150,
  39. 39                 sortable : true
  40. 40             }, {
  41. 41                 field : 'modifydatetime',
  42. 42                 title : '最后修改时间',
  43. 43                 width : 150,
  44. 44                 sortable : true
  45. 45             } ] ],
  46. 46             toolbar : [ {
  47. 47                 id:'1',
  48. 48                 text : '增加',
  49. 49                 iconCls : 'icon-add',
  50. 50                 handler : function() {
  51. 51                     append();
  52. 52                 }
  53. 53             }, '-', {
  54. 54                 id:'2',
  55. 55                 text : '删除',
  56. 56                 iconCls : 'icon-remove',
  57. 57                 handler : function() {
  58. 58                     remove();
  59. 59                 }
  60. 60             }, '-', {
  61. 61                 id:'3',
  62. 62                 text : '修改',
  63. 63                 iconCls : 'icon-edit',
  64. 64                 handler : function() {
  65. 65                 }
  66. 66             }, '-' ]
  67. 67         });
  68. 68     });
  69. 69     //权限控制
  70. 70     $('#admin_yhgl_datagrid').datagrid("initMenuRole");
  71. 71 </script><table id="admin_yhgl_datagrid"></table
复制代码
44
  1.   1 $
  2.   2         .extend(
  3.   3                 $.fn.datagrid.methods,
  4.   4                 {
  5.   5                     addToolbarItem : function(jq, items) {
  6.   6                         return jq
  7.   7                                 .each(function() {
  8.   8                                     var toolbar = $(this).parent().prev(
  9.   9                                             "div.datagrid-toolbar");
  10. 10                                     for ( var i = 0; i < items.length; i++) {
  11. 11                                         var item = items[i];
  12. 12                                         if (item === "-") {
  13. 13                                             toolbar
  14. 14                                                     .append('<div class="datagrid-btn-separator"></div>');
  15. 15                                         } else {
  16. 16                                             var btn = $("<a href=\"javascript:void(0)\"></a>");
  17. 17                                             btn[0].onclick = eval(item.handler
  18. 18                                                     || function() {
  19. 19                                                     });
  20. 20                                             btn.css("float", "left").appendTo(
  21. 21                                                     toolbar).linkbutton(
  22. 22                                                     $.extend({}, item, {
  23. 23                                                         plain : true
  24. 24                                                     }));
  25. 25                                         }
  26. 26                                     }
  27. 27                                     toolbar = null;
  28. 28                                 });
  29. 29                     },
  30. 30                     removeToolbarItem : function(jq, param) {
  31. 31                         return jq
  32. 32                                 .each(function() {
  33. 33                                     var btns = $(this).parent().prev(
  34. 34                                             "div.datagrid-toolbar").children(
  35. 35                                             "a");
  36. 36                                     var cbtn = null;
  37. 37                                     if (typeof param == "number") {
  38. 38                                         cbtn = btns.eq(param);
  39. 39                                     } else if (typeof param == "string") {
  40. 40                                         var text = null;
  41. 41                                         btns
  42. 42                                                 .each(function() {
  43. 43                                                     text = $(this).data().linkbutton.options.text;
  44. 44                                                     if (text == param) {
  45. 45                                                         cbtn = $(this);
  46. 46                                                         text = null;
  47. 47                                                         return;
  48. 48                                                     }
  49. 49                                                 });
  50. 50                                     }
  51. 51                                     if (cbtn) {
  52. 52                                         var prev = cbtn.prev()[0];
  53. 53                                         var next = cbtn.next()[0];
  54. 54                                         if (prev
  55. 55                                                 && next
  56. 56                                                 && prev.nodeName == "DIV"
  57. 57                                                 && prev.nodeName == next.nodeName) {
  58. 58                                             $(prev).remove();
  59. 59                                         } else if (next
  60. 60                                                 && next.nodeName == "DIV") {
  61. 61                                             $(next).remove();
  62. 62                                         } else if (prev
  63. 63                                                 && prev.nodeName == "DIV") {
  64. 64                                             $(prev).remove();
  65. 65                                         }
  66. 66                                         cbtn.remove();
  67. 67                                         cbtn = null;
  68. 68                                     }
  69. 69                                 });
  70. 70                     },
  71. 71                     
  72. 72                     //权限控制
  73. 73                     initMenuRole : function(jq) {
  74. 74                         //遍历jq对象
  75. 75                         return jq.each(function() {        
  76. 76                             //获取所有的btn对象
  77. 77                             var btns = $(this).parent().prev("div.datagrid-toolbar").children("a");
  78. 78                             var cbtn = null;
  79. 79                             //Ajax动态从后台获取角色拥有的功能集,后期从session中读取
  80. 80                             var menuroleids="2,3";
  81. 81                             var id = null;
  82. 82                             //依次判断该控件是否满足权限
  83. 83                             btns.each(function() {   
  84. 84                                 cbtn=null;
  85. 85                                 //获取btnid
  86. 86                                 id = $(this).data().linkbutton.options.id;
  87. 87                                 if (menuroleids.indexOf(id)==-1) {
  88. 88                                     //没权限
  89. 89                                     cbtn = $(this);
  90. 90                                 }
  91. 91                                 //移除没权限按钮
  92. 92                                 if (cbtn) {
  93. 93                                     var prev = cbtn.prev()[0];
  94. 94                                     var next = cbtn.next()[0];
  95. 95                                     if (prev && next && prev.nodeName == "DIV"
  96. 96                                             && prev.nodeName == next.nodeName) {
  97. 97                                         $(prev).remove();
  98. 98                                     } else if (next && next.nodeName == "DIV") {
  99. 99                                         $(next).remove();
  100. 100                                     } else if (prev && prev.nodeName == "DIV") {
  101. 101                                         $(prev).remove();
  102. 102                                     }
  103. 103                                     cbtn.remove();
  104. 104                                 }
  105. 105                             });        
  106. 106                         });
  107. 107                     }
  108. 108                 });

  109. ---------------------

复制代码
55








55
55

原文:https://blog.csdn.net/xiaohan282 ... 171?utm_source=copy

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|学JAVA网

GMT+8, 2018-11-13 02:00 , Processed in 0.157951 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Copyright © 2015-2018 xuejava网 / 鲁ICP备17054568号-1
回顶部