layui.extend({
    common    :   'js/common'
}).use(['jquery','table','layer','form','common','util'], function () {
    var $ = layui.jquery;
    var table = layui.table;
    //  弹窗插件
    var layer = layui.layer;
    var common = layui.common;
    //  引入表单
    var form = layui.form;


    //选中id集合
    var ids = [];

    //清空选中集合
    var clearCheckbox = function(){
        ids=[];
    }

    //tableId集合
    var table_data = [];

    //表格对象
    var layuiTable = common.layuiTable.render(table,{
        elem: '#table-id'    //页面table的id
        ,url: '/ad/type/showAdTypeList' //后台接口
        ,method: 'post'
        , cellMinWidth: 80 //全局定义常规单元格的最小宽度，
        , cols: [[
            { type: 'checkbox'}
            , { field: 'name', title: '类别名称', align: 'center'}
            , { field: 'createDate', title: '创建时间' , align: 'center',sort:true}
            , { field: 'createAccountName', title: '创建人', align: 'center' }
            , { field: 'edit',title: '操作', toolbar: '#table-operate-id' , align: 'center',width:180}
        ]]
        //  开启分页功能
        , page: true
        ,done:function(res,curr,count){
            // 设置换页勾选之前的
            table_data = res.data;
            for(var i=0;i<res.data.length;i++){
                for(var j=0;j<ids.length;j++){
                    if(res.data[i].id==ids[j]){
                        //这里才是真正的有效勾选
                        res.data[i]["LAY_CHECKED"]='true';
                        //找到对应数据改变勾选样式，呈现出选中效果
                        var index= res.data[i]['LAY_TABLE_INDEX'];
                        $('.layui-table tr[data-index=' + index + '] input[type="checkbox"]').prop('checked', true);
                        $('.layui-table tr[data-index=' + index + '] input[type="checkbox"]').next().addClass('layui-form-checked');
                    }
                }
            }
            //设置全选checkbox的选中状态，只有改变LAY_CHECKED的值， table.checkStatus才能抓取到选中的状态
            var checkStatus = table.checkStatus('table-id');
            if(checkStatus.isAll){
                $(' .layui-table-header th[data-field="0"] input[type="checkbox"]').prop('checked', true);
                $('.layui-table-header th[data-field="0"] input[type="checkbox"]').next().addClass('layui-form-checked');
            }
        }
    });

    //排序
    layui.table.on('sort(table-id)',function (obj) {
        reloadTable(obj);
    });

    //复选框选中监听,将选中的id 设置到缓存数组,或者删除缓存数组
    table.on('checkbox(table-id)', function (obj) {
        if(obj.checked==true){
            if(obj.type=='one'){
                ids.push(obj.data.id)
            }else{
                for(var i=0;i<table_data.length;i++){
                    ids.push(table_data[i].id);
                }
            }
        }else{
            if(obj.type=='one'){
                for(var i=0;i<ids.length;i++){
                    if(ids[i]==obj.data.id){
                        ids.splice(i,1);
                        return;
                    }
                }
            }else{
                for(var i=0;i<ids.length;i++){
                    for(var j=0;j<table_data.length;j++){
                        if(ids[i]==table_data[j].id){
                            ids.splice(i,1);
                            i--;
                            break;
                        }
                    }
                }
            }
        }
    });
    //重新加载表格
    var reloadTable = function(obj){
        layuiTable.reload({
            where:{
                name    :   $('#selectedName').val(),
                //排序
                sortField   :   obj?obj.field:'',
                sortOrder   :   obj?obj.type:'',
            }
            //重新从第1页开始
            ,page: {
                curr: 1
            },
            initSort:obj
        });
    }

    //监听行工具事件  lay-filter="table-id"
    table.on('tool(table-id)', function(obj){
        var data = obj.data;
        if(obj.event === 'del'){
            layer.confirm('是否确认删除？',{icon: 7, title:'提示'}, function(index){
                //obj.del();删除选中的数据
               //console.info(data.id);
                common.sendAsyncRequest("/ad/type/deleteAdType/"+data.id,'GET',"",function (result){
                    //刷新表格
                    layuiTable.reload();
                    layer.msg("删除成功");
                    layer.close(index);//关闭弹窗提示
                });
            });
        } else if(obj.event === 'edit'){ //编辑
            layer.open({
                type: 2
                ,title: '添加广告类别'
                ,content: '/ad/type/ad-type-edit'
                ,area: ['500px','330px']
                ,success: function (layero,index) {
                    //获取子页面body
                    var body = layer.getChildFrame('body',index);
                    body.contents().find("#id").val(data.id);
                    body.contents().find("#name").val(data.name);
                    body.contents().find("#remark").val(data.remark);
                }
            })
        }
    });

    //监听查询
    form.on('submit(query)', function(){
        reloadTable();
    });

    //监听重置
    form.on('submit(reset)', function(){
        $('#selectedName').val('');
        reloadTable();
    });

    //监听类别添加
    form.on('submit(add)', function(){
        layer.open({
            type: 2
            ,title: '添加广告类别'
            ,content: '/ad/type/ad-type-edit'
            ,area: ['500px','330px']
        });
    });

    //监听批量删除
    form.on('submit(batchdel)', function(){
        if(ids.length == 0 ){
            layer.msg("请选择要删除的数据。");
            return;
        }
        layer.confirm('是否确认删除？',{icon: 7, title:'提示'}, function(index){


        });
    });

});

