layui.use([ 'laypage', 'layer', 'table',  'element','form','upload'], function(){

    var laypage = layui.laypage //分页
        ,$ = layui.jquery
        ,layer = layui.layer //弹层
        ,table = layui.table //表格
        ,element = layui.element //元素操作
        ,form = layui.form
        ,upload = layui.upload;


    var tableIds = 'brandlist';  //表格ID

    //第一个实例
    table.render({
        elem: '#'+tableIds
        ,url: '/brand/brandform' //数据接口
        ,where:{token:csrfToken}
        ,method:'post'
        ,page: true //开启分页
        ,height:600
        ,text:'数据加载中'
        ,id:'tablerReload'
        ,limit:20
        ,cols: [[ //表头
            {type:'numbers',title:'序号',width:50},
            {field: 'name', title: '品牌', align:'center'},
            {field: 'img', title: '品牌图片',width:300, align:'center',templet:function(d){
                    return '<img class="layui_magnify" src="'+d.img+'"/>'
                }},
            {field: 'create_at', title: '添加时间',width:150, align:'center'},
            {field: 'sort', title: '排序',width:100, event:'sortData',edit:'text', align:'center',sort: true,templet:"#sortBox"},
            {field: 'is_show', title: '审核',align:'center',width:100, templet:function (d) {
                if(d.is_show == 2){
                    return  '<input type="checkbox"  value="'+d.id+'" name="open"  lay-skin="switch" lay-filter="switchTest" lay-text="|">'
                } else {
                    return  '<input type="checkbox" checked  value="'+d.id+'" name="open"  lay-skin="switch" lay-filter="switchTest" lay-text="|">'
                }
            }},
            {fixed: 'right',title:'操作', width: 300, align:'center', toolbar: '#operate'}

        ]]
    });


    // 列表点击放大图片
    $('.layui-table-main').on('click','.layui_magnify', function(){
        var _src = $(this).attr('src');
        layui.layer.open({
            type: 1,
            title: false,           //是否显示标题
            area: ['95%', '55%'],
            shade: 0.6,           //透明度
            closeBtn: 1,         //按钮 1有,0无
            shadeClose: true,
            content: '<img style="width:100%;height:100%" src="'+_src+'">',
        });
    });


    //监听指定开关
    form.on('switch(switchTest)', function(data){
        layer.confirm('确定要修改此操作吗?',{btn: ['确定', '取消']},function () {
            $.post('/brand/brandoperation',{id:data.value,type:'show'},function (data) {
                layer.msg(data.msg);
                table.reload('tablerReload');

            })
        },function (aa) {
            table.reload('tablerReload');        //重新加载
        })
    });


    //列表操作
    table.on('tool('+tableIds+')', function(obj){
        var layEvent = obj.event,
            data = obj.data;

        if(layEvent === 'sortData'){       //修改排序

            table.on('edit('+tableIds+')', function(obj){
                var data = obj.data;

                $.post('/brand/brandoperation',{id:data.id,type:'sort',sort:data.sort},function (data) {
                    if(data.code == 200)
                    {
                        layer.msg(data.msg);
                    } else if(data.code == 300 ) {
                        layer.msg(data.msg);
                    }
                })
            })

        }else if(layEvent === 'del'){

            layer.confirm('您确定要删除该品牌以及所有相关楼盘吗?',{btn: ['确定', '取消']},function () {

                $.post('/brand/brandoperation',{id:data.id,type:'del'},function (data) {
                    layer.msg(data.msg);
                    table.reload('tablerReload');
                })
            })

        }else if(layEvent === 'edit'){

            var index = layer.open({
                type: 2,
                title: '编辑品牌',
                area:['700px','500px'],
                content: '/brand/brandedit?id='+data.id,
                end:function () {
                    table.reload('tablerReload');        //重新加载
                }
            });

        }else if(layEvent === 'relation'){

            var index =layui.layer.open({
                title :'<span style="color:red" >['+data.name+']</span>品牌相关楼盘',
                type : 2,
                area:['','100%'],
                maxmin: true,
                content : "/brand/house?bid="+data.id,
                end:function () {
                    table.reload('tablerReload');
                }
            })

            layui.layer.full(index);
            //改变窗口大小时,重置弹窗的宽高,防止超出可视区域(如F12调出debug的操作)
            $(window).on("resize",function(){
                layui.layer.full(index);
            })

        }else if(layEvent === 'set'){

            layer.confirm('是否将相关楼盘关联至该品牌下?',{btn: ['确定', '取消']},function () {

                $.post('/brand/brandoperation',{id:data.id,type:'set'},function (data) {
                    layer.msg(data.msg);
                    table.reload('tablerReload');
                })
            })
        }


    });

    //添加图片上传
    upload.render({
        elem: '#test1'
        ,url: '/house/createimg'
        ,data:{token:csrfToken}
        ,field:'img'
        ,size:400              //限制上传图片的大小,单位为KB
        ,exts: 'png|jpg|jpeg'     //只允许上传压缩文件
        ,auto:false
        ,bindAction:'#addcity'
        ,choose: function(obj){
            obj.preview(function(index, file, result){
                $('#breviary_img').attr('src', result); //图片链接(base64)
            });
        }
    });

    // 图片放大浏览
    $('.layui_magnify').click(function(){
        var _src = $(this).attr('src');
        layui.layer.open({
            type: 1,
            title: false,           //是否显示标题
            area: ['60%', '80%'],
            shade: 0.6,           //透明度
            closeBtn: 1,         //按钮 1有,0无
            shadeClose: true,
            content: '<img style="width:100%;height:100%" src="'+_src+'">',
        });
    })

    // 新增
    var $ = layui.$, active = {

        addData: function(){ //获取选中数据
            var index = layui.layer.open({
                type: 2,
                title: '新增品牌',
                closeBtn: 1, //不显示关闭按钮
                area: ['700px','500px'],
                content: '/brand/brandadd' //iframe的url,no代表不显示滚动条
                ,success:function (layero, index) {
                },
                end:function () {
                    table.reload('tablerReload');
                }
            });
        },

        reload:function(){//搜索
            var form = pfgs_serialize($('form'));
            var name = '';

            table.reload('tablerReload',{
                where:{
                    name:form.input_name_text,
                },
                page:{
                    curr:1
                }
            })
        },
    };

    $('.demoTable .layui-btn').on('click', function(){
        var type = $(this).data('type');
        active[type] ? active[type].call(this) : '';
    });



    //添加页面提交数据
    form.on('submit(add_brand)', function(data){
        var formData = new FormData($('form')[0]);

        layer.confirm('您确定添加该品牌吗?',{btn: ['确定', '取消']},function () {

            layer.msg('数据提交中,请稍候', {icon: 16, time: false, shade: 0.8});      //数据提交提示
            $.ajax({
                type: "post",
                url: "/brand/brandaddform",
                data: formData,
                contentType: false,   //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
                processData: false,   //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
                error: function (request) {
                    layer.close(index);
                    layer.msg("请联系管理员");
                },
                success: function (data) {
                    if (data.data != null) {
                        layer.msg(ReturnInfo(data.data), {icon: 5});
                        return;
                    }
                    layer.msg(data.msg);
                    parent.layer.close(oindex); //再执行关闭
                }
            });
        })
        return false;
    });


    form.on('submit(edit_brand)', function(data){
        var index = layer.msg('数据提交中,请稍候',{icon: 16,time:false,shade:0.8});      //数据提交提示
        var formData = new FormData($('form')[0]);
        $.ajax({
            type : "post",
            url : "/brand/brandeditform",
            data : formData,
            contentType: false,   //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
            processData: false,   //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
            error : function(request) {
                layer.close(index);
                layer.msg("请联系管理员");
            },
            success : function(data) {
                if(data.data != null){
                    layer.msg(ReturnInfo(data.data),{icon:5});
                    return ;
                }
                layer.msg(data.msg);
                parent.layer.close(oindex); //再执行关闭
            }
        });
        return false;
    });
})