42d182ba955a14984e138f63987ed1b0.php 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. <?php /*a:3:{s:63:"D:\phpstudy_pro\WWW\cxy\bts\php\view\admin\auth\admin_rule.html";i:1581911356;s:61:"D:\phpstudy_pro\WWW\cxy\bts\php\view\admin\common\header.html";i:1591579556;s:61:"D:\phpstudy_pro\WWW\cxy\bts\php\view\admin\common\footer.html";i:1591579556;}*/ ?>
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <meta charset="utf-8">
  6. <title><?php echo config('admin.sys_name'); ?>后台管理</title>
  7. <meta name="renderer" content="webkit">
  8. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  9. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  10. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  11. <meta name="apple-mobile-web-app-capable" content="yes">
  12. <meta name="format-detection" content="telephone=no">
  13. <link rel="stylesheet" href="/static/plugins/layui/css/layui.css" media="all" />
  14. <link rel="stylesheet" href="/static/admin/css/main.css?v=<?php echo time(); ?>" media="all">
  15. <link rel="stylesheet" href="/static/plugins/font-awesome-4.7.0/css/font-awesome.min.css" media="all">
  16. <style id="LM-bg-color">
  17. </style>
  18. </head>
  19. <div class="LM-container">
  20. <div class="LM-main">
  21. <div class="admin-main layui-anim layui-anim-upbit">
  22. <fieldset class="layui-elem-field layui-field-title">
  23. <legend>权限<?php echo lang('list'); ?></legend>
  24. </fieldset>
  25. <blockquote class="layui-elem-quote">
  26. <a href="<?php echo url('ruleAdd'); ?>" class="layui-btn layui-btn-sm LM-add"><?php echo lang('add'); ?>路由</a>
  27. <a class="layui-btn layui-btn-normal layui-btn-sm" onclick="openAll();">展开或折叠全部</a>
  28. </blockquote>
  29. <table class="layui-table" id="treeGrid" lay-filter="treeGrid"></table>
  30. </div>
  31. </div>
  32. </div>
  33. <script type="text/html" id="auth">
  34. <input type="checkbox" name="auth_open" value="{{d.id}}" lay-skin="switch" lay-text="是|否" lay-filter="auth_open" {{ d.auth_open == 0 ? 'checked' : '' }}>
  35. </script>
  36. <script type="text/html" id="status">
  37. <input type="checkbox" name="menu_status" value="{{d.id}}" lay-skin="switch" lay-text="显示|隐藏" lay-filter="menu_status" {{ d.menu_status == 1 ? 'checked' : '' }}>
  38. </script>
  39. <script type="text/html" id="order">
  40. <input name="{{d.id}}" data-id="{{d.id}}" class="list_order layui-input" value=" {{d.sort}}" size="10"/>
  41. </script>
  42. <script type="text/html" id="icon">
  43. <span class="icon {{d.icon}}"></span>
  44. </script>
  45. <script type="text/html" id="action">
  46. <a href="<?php echo url('ruleEdit'); ?>?id={{d.id}}" class="layui-btn layui-btn-xs"><?php echo lang('edit'); ?></a>
  47. <a class="layui-btn layui-btn-xs layui-btn-warm" lay-event="add"><?php echo lang('add'); ?><?php echo lang('child'); ?></a>
  48. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><?php echo lang('del'); ?></a>
  49. </script>
  50. <script type="text/html" id="topBtn">
  51. <a href="<?php echo url('ruleAdd'); ?>" class="layui-btn layui-btn-sm"><?php echo lang('add'); ?>权限</a>
  52. </script>
  53. <script src="/static/plugins/layui/layui.js" charset="utf-8"></script>
  54. <script src="/static/plugins/jquery-3.4.1/jquery-3.4.1.min.js"></script>
  55. <script>
  56. var editObj=null,ptable=null,treeGrid=null,tableId='treeGrid',layer=null;
  57. layui.config({
  58. base: '/static/plugins/layui/extend/'
  59. }).extend({
  60. treeGrid: 'treeGrid/treeGrid'
  61. }).use(['jquery','treeGrid','layer','form'], function(){
  62. var $=layui.jquery ,form = layui.form;
  63. treeGrid = layui.treeGrid;
  64. layer=layui.layer;
  65. ptable=treeGrid.render({
  66. id:tableId
  67. ,elem: '#'+tableId
  68. ,idField:'id'
  69. ,url:'<?php echo url("adminRule"); ?>'
  70. ,cellMinWidth: 100
  71. ,treeId:'id'//树形id字段名称
  72. ,treeUpId:'pid'//树形父id字段名称
  73. ,treeShowName:'title'//以树形式显示的字段
  74. ,height:'full-140'
  75. ,isFilter:false
  76. ,iconOpen:true//是否显示图标【默认显示】
  77. ,isOpenDefault:true//节点默认是展开还是折叠【默认展开】
  78. ,cols: [[
  79. {field: 'id', title: '<?php echo lang("id"); ?>', width: 70, fixed: true},
  80. {field: 'icon', align: 'center',title: '<?php echo lang("icon"); ?>', width: 60,templet: '#icon'},
  81. {field: 'title', title: '权限名称', width: 200},
  82. {field: 'href', title: '控制器/方法', width: 200},
  83. {field: 'auth_open',align: 'center', title: '是否验证权限', width: 150,toolbar: '#auth'},
  84. {field: 'menu_status',align: 'center',title: '菜单<?php echo lang("status"); ?>', width: 150,toolbar: '#status'},
  85. {field: 'sort',align: 'center', title: '<?php echo lang("order"); ?>', width: 80, templet: '#order'},
  86. {title:'操作',width:200, toolbar: '#action',align:"center"},
  87. ]]
  88. ,page:false
  89. });
  90. treeGrid.on('tool('+tableId+')',function (obj) {
  91. var data = obj.data;
  92. if(obj.event === 'del'){
  93. layer.confirm('<?php echo lang("Are you sure you want to delete it"); ?>', function(index){
  94. var loading = layer.load(1, {shade: [0.1, '#fff']});
  95. $.post("<?php echo url('ruleDel'); ?>",{id:data.id},function(res){
  96. layer.close(loading);
  97. if(res.code==1){
  98. layer.msg(res.msg,{time:1000,icon:1});
  99. obj.del();
  100. }else{
  101. layer.msg(res.msg,{time:1000,icon:2});
  102. }
  103. });
  104. layer.close(index);
  105. });
  106. }else if(obj.event === 'add'){
  107. var index = layer.open({
  108. type: 2,
  109. content: '<?php echo url("ruleAdd"); ?>'+'?rule_id='+data.id,
  110. area: ['800px', '600px'],
  111. maxmin: true
  112. });
  113. layer.full(index);
  114. }
  115. });
  116. form.on('switch(auth_open)', function(obj){
  117. loading =layer.load(1, {shade: [0.1,'#fff']});
  118. var id = this.value;
  119. var auth_open = obj.elem.checked===true?0:1;
  120. $.post('<?php echo url("ruleOpen"); ?>',{'id':id,'auth_open':auth_open},function (res) {
  121. layer.close(loading);
  122. if (res.code==1) {
  123. treeGrid.render;
  124. }else{
  125. layer.msg(res.msg,{time:1000,icon:2});
  126. treeGrid.render;
  127. return false;
  128. }
  129. })
  130. });
  131. form.on('switch(menu_status)', function(obj){
  132. loading =layer.load(1, {shade: [0.1,'#fff']});
  133. var id = this.value;
  134. var menu_status = obj.elem.checked===true?1:0;
  135. $.post('<?php echo url("ruleState"); ?>',{'id':id,'menu_status':menu_status},function (res) {
  136. layer.close(loading);
  137. if (res.code==1) {
  138. treeGrid.render;
  139. }else{
  140. layer.msg(res.msg,{time:1000,icon:2});
  141. treeGrid.render;
  142. return false;
  143. }
  144. })
  145. });
  146. $('body').on('blur','.list_order',function() {
  147. var id = $(this).attr('data-id');
  148. var sort = $(this).val();
  149. $.post('<?php echo url("ruleSort"); ?>',{id:id,sort:sort},function(res){
  150. if(res.code > 0){
  151. layer.msg(res.msg,{time:1000,icon:1},function(){
  152. location.href = res.url;
  153. });
  154. }else{
  155. layer.msg(res.msg,{time:1000,icon:2});
  156. treeGrid.render;
  157. }
  158. })
  159. })
  160. });
  161. function openAll() {
  162. var treedata=treeGrid.getDataTreeList(tableId);
  163. treeGrid.treeOpenAll(tableId,!treedata[0][treeGrid.config.cols.isOpen]);
  164. }
  165. </script>