{extend name="public:base" /}

{block name="body"}
  <div class="layui-fluid">   
    <div class="layui-card">
   <div class="layui-card-header">权限菜单</div>
      
      <div class="layui-card-body">
        <div style="padding-bottom: 10px;">
          <button class="layui-btn layuiadmin-btn-admin" data-type="add">添加</button>
        </div>
        <table id="LAY-user-auth-rule" lay-filter="LAY-user-auth-rule"></table>  
		<script type="text/html" id="rules-sort">
		<div class="layui-input-inline" style="width: 30px; high: 30">
		{if condition="checkRuleButton('admin/AuthRule/sort')"}
			<input type="text" name="sort"  autocomplete="off" placeholder="排序" dataid="{{d.id}}" lay-filter="sort" class="layui-input" value="{{d.sort}}">
		{else /}<input type="text" placeholder="排序"  class="layui-input" value="{{d.sort}}">{/if}
		</div>
        </script>
		<script type="text/html" id="rules-title">
		<span >{{# if(d.level !==1){ }}|{{#  } }} {{d.title}}</span>
        </script>
		<script type="text/html" id="buttonAuth">
		{if condition="checkRuleButton('admin/authrule/check')"}<input type="checkbox" name="status" lay-skin="switch" lay-filter="authcheck" lay-text="开启|关闭" {{#  if(d.status == 1){ }} checked {{#  } }} id="{{d.id}}" >
		{else /}<button class="layui-btn layui-btn-xs layui-btn-radius layui-btn-disabled">无权限</button>{/if}
        </script>
		<script type="text/html" id="menu">
		 {{#  if(d.id == '1' | d.id == '2' | d.id == '9' | d.id == '10' ){ }}
			<input type="checkbox" name="ishidden" lay-skin="primary"  checked disabled >
		 {{#  } else { }}
			{if condition="checkRuleButton('admin/authrule/menushow')"}<input type="checkbox" name="ishidden" lay-skin="primary" lay-filter="menu-show" {{# if(d.ishidden ==1){ }}checked value="0"{{#  } else { }}value="1"{{#  } }} id="{{d.id}}" >
			{else /}<input type="checkbox" title="禁用" disabled> {/if}
		 {{#  } }}
        </script>
        <script type="text/html" id="table-authrule-edit">
		{if condition="checkRuleButton('admin/authrule/edit')"}
          <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
		{else /}<a class="layui-btn layui-btn-normal layui-btn-xs layui-btn-disabled"><i class="layui-icon layui-icon-edit"></i>编辑</a>{/if}
          {{#  if(d.id == '1' | d.id == '2' | d.id == '9' | d.id == '10' ){ }}
            <a class="layui-btn layui-btn-disabled layui-btn-xs"><i class="layui-icon layui-icon-delete"></i>删除</a>
          {{#  } else { }}
		  {if condition="checkRuleButton('admin/authrule/delete')"}
            <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
          {else /}<a class="layui-btn layui-btn-danger layui-btn-xs layui-btn-disabled"><i class="layui-icon layui-icon-delete"></i>删除</a>{/if}
		  {{#  } }}
        </script>
      </div>
    </div>
  </div>

{/block}
{block name="js"}
<script>
    var userList = "{:url('User/list')}";
    var userDelete = "{:url('User/delete')}";
    var userEdit = "{:url('User/userEdit')}";
    var adminIndex = "{:url('Admin/index')}";
    var adminDelete = "{:url('Admin/delete')}";
    var adminEdit = "{:url('Admin/edit')}";
    var authGroupList = "{:url('AuthGroup/list')}";
    var authGroupRoledel = "{:url('AuthGroup/roleDel')}";
    var authGroupRoleEdit = "{:url('AuthGroup/roleEdit')}";
    var authAccessIndex = "{:url('AuthAccess/index')}";
    var authAccessDelete = "{:url('AuthAccess/delete')}";
    var authAccessEdit = "{:url('AuthAccess/edit')}";
    var authRuleIndex = "{:url('AuthRule/index')}";
    var authRuleDelete = "{:url('AuthRule/delete')}";
    var authRuleEdit = "{:url('AuthRule/edit')}";

	//排序change方法
	$(function(){
		$('body').on('change','.layui-input',function(){
		var id = $(this).attr('dataid'),
			sort = $(this).val();
			$.ajax({
				type:'post',
				url:"{:url('admin/AuthRule/sort')}",
				data:{id:id,sort:sort},
				dataType:'json',
				success:function(data){
					if(data.code == 0){
						layer.msg(data.msg,{
							icon:6,
							time:2000
						}
						,function(){location.reload();}
						);
					} else {
						layer.open({
							title:'排序失败',
							content:data.msg,
							icon:5,
							adim:6
						})
					}
				}
			});
		});
		return false;
	});
</script>
  <script>
  layui.config({
    base: '/static/admin/' //静态资源所在路径
  }).extend({
    index: 'lib/index' //主入口模块
  }).use(['index', 'useradmin', 'table', 'form'], function(){
    var $ = layui.$
    ,form = layui.form
    ,table = layui.table;
    
    //监听搜索
    form.on('submit(LAY-user-back-search)', function(data){
      var field = data.field;
      
      //执行重载
      table.reload('LAY-user-auth-rule', {
        where: field
      });
    });

	//菜单控制
	form.on('checkbox(menu-show)', function(data){
	var data = data.elem;
	if(data.checked == true){
			data.value = 1;
		}else{
			data.value = 0;
		}
	$.ajax({
			type:'post',
			url:"{:url('admin/AuthRule/menushow')}",
			data:{"id":data.id,"ishidden":data.value,},
			dataType:'json',
			success:function(data){
				if(data.code == 0){
					layer.msg(data.msg,{
						icon:6,
						time:2000
					}
					//,function(){location.reload();}
					);
				} else {
					layer.open({
						title:'修改失败',
						content:data.msg,
						icon:5,
						adim:6
					})
				}
			}
		});
	return false;
	});

	//权限开关
	form.on('switch(authcheck)', function(data){
	var data= data.elem;
	if(data.checked == true){
		data.value = 1;
	}else{
		data.value = 0;
	}
		$.ajax({
			type:'post',
			url:"{:url('admin/AuthRule/check')}",
			data:{id:data.id,status:data.value,},
			dataType:'json',
			success:function(data){
				if(data.code == 0){
					layer.msg(data.msg,{
						icon:6,
						time:2000
					}
					//,function(){location.reload();}
					);
				} else {
					layer.open({
						title:'审核失败',
						content:data.msg,
						icon:5,
						adim:6
					})
				}
			}
		});
	return false;
	}); 
	
	
    //事件
    var active = {
      batchdel: function(){
        var checkStatus = table.checkStatus('LAY-user-auth-rule')
        ,checkData = checkStatus.data; //得到选中的数据

        if(checkData.length === 0){
          return layer.msg('请选择数据');
        }
        
        layer.prompt({
          formType: 1
          ,title: '敏感操作，请验证口令'
        }, function(value, index){
          layer.close(index);
          
          layer.confirm('确定删除吗？', function(index) {
            
            //执行 Ajax 后重载
            /*
            admin.req({
              url: 'xxx'
              //,……
            });
            */
            table.reload('LAY-user-auth-rule');
            layer.msg('已删除');
          });
        }); 
      }
      ,add: function(){
        layer.open({
          type: 2
          ,title: '添加权限'
          ,content: 'add.html'
          ,area: ['420px', '420px']
          ,btn: ['确定', '取消']
          ,yes: function(index, layero){
            var iframeWindow = window['layui-layer-iframe'+ index]
            ,submitID = 'LAY-user-rule-submit'
            ,submit = layero.find('iframe').contents().find('#'+ submitID);

            //监听提交
            iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
              var field = data.field; //获取提交的字段
              
              //提交 Ajax 成功后，静态更新表格中的数据
			  $.ajax({
				type:"post",
				url:"{:url('admin/AuthRule/add')}",
				data:{"pid":field.pid,"title":field.title,"name":field.name,"icon":field.icon,"sort":field.sort,"ishidden":field.ishidden},
				daType:"json",
				success:function (data){
					if (data.code == 0) {
						layer.msg(data.msg,{
							icon:6,
							time:2000
						}, function(){
							location.reload();
						});
					} else {
						layer.open({
							tiele:'添加失败',
							content:data.msg,
							icon:5,
							anim:6
						});
					}
				}
			}); 
              table.reload('LAY-user-front-submit'); //数据刷新
              layer.close(index); //关闭弹层
            });  
            
            submit.trigger('click');
          }
        }); 
      }
    }  
    $('.layui-btn.layuiadmin-btn-admin').on('click', function(){
      var type = $(this).data('type');
      active[type] ? active[type].call(this) : '';
    });
	
  });
  </script>
{/block}
