"use strict";
layui.extend({
    common    :   'js/common'
}).use(['jquery','layer','common','table'],function () {
    //  弹窗插件
    var layer = layui.layer;
    //  Jquery插件
    var $ = layui.jquery;
    //  引入公共模块
    var common = layui.common;

    //  角色Id
    var roleId = $('#role_id').val();
    //  1:重新接在，2：不重新加载
    var isReload = $('#is_reload');
    //  初始化表单
    var layuiTable = common.layuiTable.render(layui.table,{
        elem: '#data_entity_table'
        ,url: '/permissions/role/account/pagingQuery?roleId=' + roleId
        ,toolbar: '#table_head'
        , cols: [[
            {type: 'checkbox'}
            ,{ name:'user_name',templet:'#user_name', title: '用户姓名',align:'center' }
            ,{ name:'login_name',templet:'#login_name', title: '登陆名',align:'center' }
            ,{ name:'org_name',templet:'#org_name', title: '归属机构',align:'center' }
            , { title: '操作', align: 'center',  toolbar: '#table-useradmin-webuser' }
        ]]
    });

    //  解除绑定
    var untie = function(accountIds){
        if (accountIds){
            layer.confirm('确认解除绑定？', function(index){
                $.ajax({
                    url     :   '/permissions/role/account/untie',
                    data    :   {
                        roleId      :   roleId,
                        accountIds  :   accountIds
                    },
                    type    :   'POST',
                    success :   function(){
                        //  刷新表格
                        layuiTable.reload();
                        layer.msg("解除成功");
                        layer.close(index);
                    }
                })
            });
        }
    };

    //  头工具栏事件
    layui.table.on('toolbar(data_table_event)', function(obj){
        switch(obj.event){
            //  绑定用户
            case 'add':
                isReload.val('2');
                layer.open({
                    type    :   2,
                    area    :   ['700px', '450px'],
                    title   :   '绑定用户',
                    content :   '/permissions/role/account/bind/user/' + roleId,
                    //  关闭回调
                    cancel :   function(){
                        //  刷新表格
                        if (isReload.val() === '1'){
                            layuiTable.reload();
                        }
                    }
                });
                break;
            case 'untie':
                var checkStatus = layui.table.checkStatus(obj.config.id);
                //  获取选中的Id列表
                var accountIds = '';
                checkStatus.data.forEach(function(entity){
                    accountIds += entity.accountId + ','
                });
                untie(accountIds);
                break;
            default:
                break;
        }
    });

    //  监听行工具事件
    layui.table.on('tool(data_table_event)', function(obj){
        switch(obj.event){
            case 'untie':
                untie(obj.data.accountId);
                break;
            default:
                break;
        }
    });

});