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

    /*********layui引入参数**********/
    var $ = layui.jquery
        , layer = layui.layer //弹层
        , table = layui.table //表格
        , form = layui.form

    /**********列表参数设置**********/

    var type_id = $('#settype').val();//获取页面特定类别
    var tableIds = 'characterlist';  //表格节点ID
    var rowIds = 'characterfunc';  //列操作节点ID
    var url = '/listpushpc/nevlistdataget';//数据接口
    var where = {token: csrfToken, 'type_id': type_id};//参数


    /************表格实列************/
    table.render({
        elem: '#' + tableIds
        , url: url //数据接口
        , where: where
        , method: 'post'
        , page: true //开启分页
        , text: '数据加载中'
        , height: 580
        , id: 'tablerReload'
        , cols: [[ //表头
            {type: 'numbers', title: '序号', width: 50}
            , {field: 'name', title: '楼盘名称', align: 'center'}
            , {
                field: 'sort',
                title: '排序',
                width: 100,
                event: 'sortData',
                edit: 'text',
                align: 'center',
                sort: true,
                templet: "#sortBox"
            }
            , {field: 'state', title: '审核', align: 'center', templet: function (d) {
                    if (d.state == 2) {
                        return '<input type="checkbox"  value="' + d.id + '" res_state="1"  lay-skin="switch" lay-filter="switchTest3" lay-text="|">'
                    } else {
                        return '<input type="checkbox" checked  value="' + d.id + '" res_state="2"  lay-skin="switch" lay-filter="switchTest3" lay-text="|">'
                    }
                }}
            , {field: 'create_at', title: '添加时间', width: 200, align: 'center'}
            , {fixed: 'right', title: '操作', width: 180, align: 'center', toolbar: '#' + rowIds}

        ]]
    });

    /********************************************列操作begin***********************************************************/
    table.on('tool(' + tableIds + ')', function (obj) {
        var layEvent = obj.event,
            data = obj.data;
        if (layEvent === 'edit') {
            var index = layer.open({
                type: 2,
                title: '修改直播信息',
                area: ['50%', '30%'],
                content: '/listpushpc/nevlistcharacteredit?id=' + data.id,
                end: function () {
                    table.reload('tablerReload');        //重新加载
                }
            });
        } else if (layEvent === 'del') {
            var index = layer.confirm('您确定要删除吗?', {btn: ['确定', '取消']}, function () {
                setListHouse('del',data.id);
                layer.close(index);
            })
        } else if (layEvent === 'sortData') {       //修改排序
            table.on('edit(' + tableIds + ')', function (obj) {
                var data = obj.data;
                setListHouse('sort',data.id,data.sort);
            })
        }
    });
    /********************************************列操作end***********************************************************/
    /********************************************栏目操作gegin*******************************************************/
    var $ = layui.$, active = {
        addData: function () { //获取选中数据
            var index = layui.layer.open({
                type: 2,
                title: '添加直播信息',
                closeBtn: 1, //不显示关闭按钮
                area: ['50%', '30%'],
                content: '/listpushpc/nevlistcharacteradd?type_id=' + type_id//iframe的url,no代表不显示滚动条
                , success: function (layero, index) {
                },
                end: function () {
                    table.reload('tablerReload');
                }
            });
        },
        reload: function () {//搜索
            var form = pfgs_serialize($('form'));

            table.reload('tablerReload', {
                where: {
                    title: form.input_house_text,
                },
                page: {
                    curr: 1
                }
            })
        },
    };
    $('.demoTable .layui-btn').on('click', function () {
        var type = $(this).data('type');
        active[type] ? active[type].call(this) : '';
    });
    /********************************************栏目操作end*******************************************************/
    /********************************************提交操作begin*****************************************************/
    form.on('submit(adds)', function (data) {
        var formData = new FormData($('form')[0]);
        var index = layer.msg('数据提交中,请稍候', {icon: 16, time: false, shade: 0.8});      //数据提交提示
        $.ajax({
            cache: false,
            type: "post",
            url: "/listpushpc/nevlistcharacteraddform",
            data: formData,  // 你的formid
            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);
            }
        });
        return false;
    });
    form.on('submit(edits)', function (data) {
        var formData = new FormData($('form')[0]);
        var index = layer.msg('数据提交中,请稍候', {icon: 16, time: false, shade: 0.8});      //数据提交提示
        $.ajax({
            cache: false,
            type: "post",
            url: "/listpushpc/nevlistcharactereditform",
            data: formData,  // 你的formid
            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);
            }
        });
        return false;
    });
    /********************************************提交操作end*********************************************************/
    /********************************************其他操作begin*******************************************************/
    $('.The_house').focus(function () {
        indexOpen = parent.layui.layer.open({
            type: 2,
            title: '选择需要添加的楼盘',
            area: ['', '100%'],
            content: '/publicuse/housename',
            success: function (layero, index) {
            },
            end: function () {
            }
        });
        parent.layui.layer.full(indexOpen);
        //改变窗口大小时,重置弹窗的宽高,防止超出可视区域(如F12调出debug的操作)
        $(window).on("resize", function () {
            parent.layui.layer.full(indexOpen);
        })
    })

    //监听指定开关
    form.on('switch(switchTest3)', function (data) {
        let id = data.value;
        let val = $(this).attr('res_state');
        var index = layer.confirm('确定要修改此操作吗?', {btn: ['确定', '取消']}, function () {
            setListHouse('state',id,val)
            layer.close(index)
        }, function (aa) {
            renderTable();        //重新加载
        })
    });

    function setListHouse(code, id, val = null) {
        $.post('/listpushpc/nevlistcharacterset',{code:code,id:id,val:val},function(res){
            layer.msg(res.msg)
            table.reload('tablerReload');        //重新加载
        },'json')
    }
    /********************************************其他操作end*********************************************************/
})