272 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			HTML
		
	
	
		
		
			
		
	
	
			272 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			HTML
		
	
	
|  | {layout name="layout1" /} | |||
|  | <style> | |||
|  |     .layui-table-cell { | |||
|  |         height: auto; | |||
|  |     } | |||
|  | </style> | |||
|  | 
 | |||
|  | <div class="wrapper"> | |||
|  |     <div class="layui-card"> | |||
|  |         <div class="layui-card-body"> | |||
|  | 
 | |||
|  |             <div class="layui-form layui-card-header layuiadmin-card-header-auto"> | |||
|  |                 <div class="layui-form-item"> | |||
|  |                     <div class="layui-btn-container" style="display: inline-block;"> | |||
|  |                         <div class="layui-btn-group"> | |||
|  |                             <button class="layui-btn  {$view_theme_color}" id="add"> | |||
|  |                                 添加 | |||
|  |                             </button> | |||
|  |                             <button class="layui-btn  {$view_theme_color}" id="expand-all">全部展开 | |||
|  |                             </button> | |||
|  |                             <button class="layui-btn   {$view_theme_color}" id="fold-all">全部折叠 | |||
|  |                             </button> | |||
|  |                         </div> | |||
|  |                     </div> | |||
|  |                 </div> | |||
|  |             </div> | |||
|  | 
 | |||
|  |             <table id="menu-lists" class="layui-table" lay-filter="menu-lists"></table> | |||
|  |             <script type="text/html" id="icon"> | |||
|  |                 <i class="layui-icon {{d.icon}}"></i> | |||
|  |             </script> | |||
|  |             <script type="text/html" id="operation"> | |||
|  |                 {{#  if(d.system == 0){ }} | |||
|  |                 <a class="edit layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i | |||
|  |                         class="layui-icon layui-icon-edit"></i>修改 | |||
|  |                 </a> | |||
|  |                 <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i | |||
|  |                         class="layui-icon layui-icon-delete"></i>删除 | |||
|  |                 </a> | |||
|  |                 {{#  } }} | |||
|  |                 {{#  if(d.system == 1){ }} | |||
|  |                 <a class="edit layui-btn layui-btn-disabled layui-btn-xs" lay-event=""><i | |||
|  |                         class="layui-icon layui-icon-edit"></i>修改 | |||
|  |                 </a> | |||
|  |                 <a class="layui-btn layui-btn-disabled layui-btn-xs" lay-event=""><i | |||
|  |                         class="layui-icon layui-icon-delete"></i>删除 | |||
|  |                 </a> | |||
|  |                 {{#  } }} | |||
|  |             </script> | |||
|  | 
 | |||
|  |             <!-- 表格状态列 --> | |||
|  |             <script type="text/html" id="disable"> | |||
|  |                 {{#  if(d.system == 0 && d.type == 1){ }} | |||
|  |                 <input type="checkbox" lay-filter="switch-disable" data-id={{d.id}} lay-skin="switch" | |||
|  |                        lay-text="菜单显示|菜单隐藏" {{# if(d.disable==0){ }} checked {{# } }}/> | |||
|  |                 {{#  } }} | |||
|  |                 {{#  if(d.system == 1 && d.type == 1){ }} | |||
|  |                 <input type="checkbox" lay-filter="switch-disable" data-id={{d.id}} lay-skin="switch" | |||
|  |                        lay-text="权限显示|权限隐藏" disabled checked /> | |||
|  |                 {{#  } }} | |||
|  |                 {{#  if(d.system == 0 && d.type == 2){ }} | |||
|  |                 <input type="checkbox" lay-filter="switch-disable" data-id={{d.id}} lay-skin="switch" | |||
|  |                        lay-text="权限启用|权限禁用" {{# if(d.disable==0){ }} checked {{# } }}/> | |||
|  |                 {{#  } }} | |||
|  |                 {{#  if(d.system == 1 && d.type == 2){ }} | |||
|  |                 <input type="checkbox" lay-filter="switch-disable" data-id={{d.id}} lay-skin="switch" | |||
|  |                        lay-text="权限启用|权限禁用" disabled checked /> | |||
|  |                 {{#  } }} | |||
|  |             </script> | |||
|  | 
 | |||
|  |             <div class="page-loading"> | |||
|  |                 <div class="ball-loader sm"> | |||
|  |                     <span></span> | |||
|  |                     <span></span> | |||
|  |                     <span></span> | |||
|  |                     <span></span> | |||
|  |                 </div> | |||
|  |             </div> | |||
|  | 
 | |||
|  |         </div> | |||
|  |     </div> | |||
|  | </div> | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  | <script> | |||
|  | 
 | |||
|  |     layui.config({ | |||
|  |         version:"{$front_version}", | |||
|  |         base: '/static/lib/' | |||
|  |     }).extend({ | |||
|  |         treeTable: 'treetable/treeTable' | |||
|  |     }).use(['form', 'table', 'treeTable'], function () { | |||
|  |         var form = layui.form | |||
|  |         ,treeTable = layui.treeTable; | |||
|  | 
 | |||
|  |         // 渲染表格 | |||
|  |         var insTb = treeTable.render({ | |||
|  |             elem: '#menu-lists', | |||
|  |             tree: { | |||
|  |                 iconIndex:0, | |||
|  |                 childName:'sub', | |||
|  |                 treeColIndex:3, | |||
|  |                 getIcon: function (d) { | |||
|  |                     return '<i class="ew-tree-icon layui-icon layui-icon-spread-left "></i>'; | |||
|  |                 } | |||
|  |             }, | |||
|  |             cols: [ | |||
|  |                 {field: 'name', title: '名称',width: 280}, | |||
|  |                 {field: 'type_str', title: '类型',width: 70}, | |||
|  |                 {field: '#icon', title: '图标', width: 80,toolbar: '#icon'}, | |||
|  |                 {field: 'uri', title: '规则',width: 200}, | |||
|  |                 {field: 'sort', title: '排序', width: 80,event: 'tips',edit:'number'}, | |||
|  |                 {templet: '#disable', title: '控制', width: 120}, | |||
|  |                 {align: 'center', toolbar: '#operation', title: '操作', width: 200}, | |||
|  |                 {field: '', title: '',width: ''}, | |||
|  |             ], | |||
|  |             reqData: function(data, callback) { | |||
|  |                 // 在这里写ajax请求,通过callback方法回调数据 | |||
|  |                 like.ajax({ | |||
|  |                     url:'{:url("auth/lists")}', | |||
|  |                     type:'get', | |||
|  |                     success:function (res) { | |||
|  |                         jsonObj = JSON.parse(res.data); | |||
|  |                         if(res.code==0) { | |||
|  |                             callback(jsonObj); | |||
|  |                         } else { | |||
|  |                             callback(res.msg); | |||
|  |                         } | |||
|  |                     } | |||
|  |                 }) | |||
|  |             }, | |||
|  |             style: 'margin-top:0;' | |||
|  |         }); | |||
|  | 
 | |||
|  | 
 | |||
|  |         treeTable.on('tool(menu-lists)', function(obj) { | |||
|  |             var menu_id = obj.data.id; | |||
|  | 
 | |||
|  |             if(obj.event === 'del'){ | |||
|  |                 layer.confirm('确定删除此菜单及其子菜单?', function(index){ | |||
|  |                     like.ajax({ | |||
|  |                         url:'{:url("auth/del")}', | |||
|  |                         data: {ids:[menu_id]}, | |||
|  |                         type:"post", | |||
|  |                         success:function(res) | |||
|  |                         { | |||
|  |                             if(res.code == 1) { | |||
|  |                                 layer.close(index); | |||
|  |                                 layui.layer.msg(res.msg, { | |||
|  |                                     offset: '15px' | |||
|  |                                     , icon: 1 | |||
|  |                                     , time: 1000 | |||
|  |                                 },function(){ | |||
|  |                                     location.reload(); | |||
|  |                                 }); | |||
|  |                             } | |||
|  |                         } | |||
|  |                     }); | |||
|  |                 }); | |||
|  |             } | |||
|  | 
 | |||
|  |             if(obj.event === 'edit'){ | |||
|  |                 layer.open({ | |||
|  |                     type: 2 | |||
|  |                     ,title: '编辑菜单' | |||
|  |                     ,content: '{:url("auth/edit")}?id='+menu_id | |||
|  |                     ,area: ['90%', '90%'] | |||
|  |                     ,btn: ['确定', '取消'] | |||
|  |                     ,yes: function(index, layero){ | |||
|  |                         var iframeWindow = window['layui-layer-iframe'+ index] | |||
|  |                             ,submit = layero.find('iframe').contents().find('#menu-submit'); | |||
|  |                         iframeWindow.layui.form.on('submit(menu-submit)', function(data){ | |||
|  |                             var field = data.field; | |||
|  |                             like.ajax({ | |||
|  |                                 url:'{:url("auth/edit")}', | |||
|  |                                 data:field, | |||
|  |                                 type:"post", | |||
|  |                                 success:function(res) | |||
|  |                                 { | |||
|  |                                     if(res.code == 1) { | |||
|  |                                         layer.close(index); | |||
|  |                                         layui.layer.msg(res.msg, { | |||
|  |                                             offset: '15px' | |||
|  |                                             , icon: 1 | |||
|  |                                             , time: 1000 | |||
|  |                                         },function(){ | |||
|  |                                             location.reload(); | |||
|  |                                         }); | |||
|  |                                     } | |||
|  |                                 } | |||
|  |                             }); | |||
|  |                         }); | |||
|  |                         submit.trigger('click'); | |||
|  |                     } | |||
|  |                 }); | |||
|  |             } | |||
|  |         }); | |||
|  | 
 | |||
|  |         form.on('switch(switch-disable)',function (obj) { | |||
|  |             var menu_id = obj.elem.attributes['data-id'].nodeValue; | |||
|  |             var disable = 1; | |||
|  |             if(obj.elem.checked){ | |||
|  |                 disable = 0; | |||
|  |             } | |||
|  |             var data ={disable:disable,id:menu_id}; | |||
|  |             like.ajax({ | |||
|  |                 url:'{:url("auth/status")}', | |||
|  |                 data:data, | |||
|  |                 type:"post", | |||
|  |                 success:function (res) { | |||
|  |                     if(res.code == 1) { | |||
|  |                         layui.layer.msg(res.msg, { | |||
|  |                             offset: '15px' | |||
|  |                             , icon: 1 | |||
|  |                             , time: 1000 | |||
|  |                         },function(){ | |||
|  |                             location.reload(); | |||
|  |                         }); | |||
|  |                     } | |||
|  |                 } | |||
|  |             }); | |||
|  |         }); | |||
|  | 
 | |||
|  |         $('#add').click(function(){ | |||
|  |             layer.open({ | |||
|  |                 type: 2 | |||
|  |                 ,title: '添加菜单' | |||
|  |                 ,content: '{:url("auth/add")}' | |||
|  |                 ,area: ['90%', '90%'] | |||
|  |                 ,btn: ['确定', '取消'] | |||
|  |                 ,yes: function(index, layero) { | |||
|  |                     var iframeWindow = window['layui-layer-iframe'+ index] | |||
|  |                         ,submit = layero.find('iframe').contents().find('#menu-submit'); | |||
|  |                     iframeWindow.layui.form.on('submit(menu-submit)', function(data) { | |||
|  |                         var field = data.field; | |||
|  |                         like.ajax({ | |||
|  |                             url:'{:url("auth/add")}', | |||
|  |                             data:field, | |||
|  |                             type:"post", | |||
|  |                             success:function(res) | |||
|  |                             { | |||
|  |                                 if(res.code == 1) { | |||
|  |                                     layer.close(index); | |||
|  |                                     layui.layer.msg(res.msg, { | |||
|  |                                         offset: '15px' | |||
|  |                                         , icon: 1 | |||
|  |                                         , time: 1000 | |||
|  |                                     },function(){ | |||
|  |                                         location.reload(); | |||
|  |                                     }); | |||
|  |                                 } | |||
|  |                             } | |||
|  |                         }); | |||
|  |                     }); | |||
|  |                     submit.trigger('click'); | |||
|  |                 } | |||
|  |             }); | |||
|  |         }); | |||
|  | 
 | |||
|  |         // 全部展开 | |||
|  |         $('#expand-all').click(function () { | |||
|  |             insTb.expandAll(); | |||
|  |         }); | |||
|  | 
 | |||
|  |         // 全部折叠 | |||
|  |         $('#fold-all').click(function () { | |||
|  |             insTb.foldAll(); | |||
|  |         }); | |||
|  |     }); | |||
|  | </script> |