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

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



    //第一个实例
    table.render({
        elem: '#menulist'
        ,url: '/othertel/homeform' //数据接口
        ,where:{token:csrfToken}
        ,method:'post'
        ,page: true //开启分页
        ,id:'tablerReload'
        ,limit:20
        ,text:'数据加载中'
        ,cols: [[ //表头
            {type:'numbers',title:'序号'}
            ,{field: 'name', title: '方案名称', align:'center',width:200}
            ,{field: 'tel', title: '内容', align:'left'}
            ,{fixed: 'right',title:'操作', width: 200, align:'center', toolbar: '#operate'}
        ]]
    });

    table.reload('tablerReload');        //重新加载

    if($('#citytellist').attr('lay-filter') == 'citytellist'){
        var renderTable = function (wheres = {}) {
            treetable.render({
                treeColIndex: 1,
                treeSpid:0,
                treeIdName: 'id',
                treePidName: 'pid',
                treeDefaultClose: true,
                treeLinkage: false,
                elem: '#citytellist',
                url: '/othertel/citytelhomeform',
                page: false,
                where:wheres,
                id:'tablerReload',
                cols: [[
                    {type:'numbers'}
                    // {field: 'id', title: 'ID', width:80, sort: true,align:'center'}
                    ,{field: 'city_name', title: '区域名称',align:'center'}
                    ,{field: 'name', title: '方案名称',align:'center'}
                    ,{fixed: 'right',title:'操作', width: 165, align:'center', toolbar: '#operate'}
                ]],
                done: function () {
                    layer.closeAll('loading');
                    $('.treeTable-icon').on('click',function(){
                        var tid = $(this).attr('lay-tid');
                        var ttype = $(this).attr('lay-ttype');
                        if(ttype == 'dir' && openid != tid){
                            openid = tid;
                        }else{
                            openid = null;
                        }
                    })
                    if(openid){
                        $('span[lay-tid='+openid+']').addClass('open');
                        $('span[lay-tpid='+openid+']').each(function(){
                            $(this).parents().parents().parents().attr('style','');
                        });
                        var ppid = $($('span[lay-tid='+openid+']')[0]).attr('lay-tpid');
                        optable(ppid);
                    }
                }
            });
        };

        renderTable();
    }

    //列表操作
    table.on('tool(menulist)', function(obj){
        var layEvent = obj.event,
            data = obj.data;
        if(layEvent === 'edit'){
            layer.open({
                type: 2,
                title: '修改方案',
                closeBtn: 1, //不显示关闭按钮
                shade: [0],
                area: ['600px', '500px'],
                anim: 2,
                content:'/othertel/edit?id='+data.id,
                end:function () {
                    table.reload('tablerReload');
                }
            });
        } else if(layEvent === 'del') {

            layer.confirm('您确定要删除吗?',{   btn: ['确定', '取消']},function () {
                $.post('/othertel/del',{'id':data.id},function (data) {
                    layer.msg(data.msg);
                    table.reload('tablerReload');
                })
            })

        }else if(layEvent === 'tel_city'){
            layer.open({
                type: 2,
                title: '添加区域',
                closeBtn: 1, //不显示关闭按钮
                shade: [0],
                area: ['600px', '500px'],
                anim: 2,
                content:'/othertel/cityascription?id='+data.id, //iframe的url,no代表不显示滚动条
            });
        }


    });


    table.on('tool(citytellist)', function(obj){
        var layEvent = obj.event,
            data = obj.data;
       if(layEvent === 'tel_city'){
            layer.open({
                type: 2,
                title: '加载方案',
                closeBtn: 1, //不显示关闭按钮
                shade: [0],
                area: ['600px', '500px'],
                anim: 2,
                content:'/othertel/cityascription?id='+data.id,
                end:function () {
                    renderTable();
                }
            });
        }
    });

    var $ = layui.$, active = {
        addData: function(){ //获取选中数据

            layer.open({
                type: 2,
                title: '添加电话',
                closeBtn: 1, //不显示关闭按钮
                shade: [0],
                area: ['600px', '500px'],
                anim: 2,
                content: '/othertel/add', //iframe的url,no代表不显示滚动条
                end: function(){ //此处用于演示
                    table.reload('tablerReload');
                }
            });
        },

        reloadb:function () {
            var form = pfgs_serialize($('form'));
            var city = '';
            var name = '';
            if(form.province != ''){
                city = form.province;
            }

            if(form.name != ''){
                name = form.name;
            }

            // if(form.city != ''){
            //     city = form.city;
            // }
            renderTable({id:city,name:name});
        }
    };

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

    form.on('submit(edittel)', function(data){
        $.post('/othertel/editform',{'data':data.field},function (data) {
            if(data.code == 200)
            {
                layer.msg(data.msg);
                parent.layui.table.reload('menulist');
            } else if(data.code == 300 ) {
                layer.msg(data.msg);
                layer.msg(ReturnInfo(data.data),{icon:5});
            }
        })
        return false;
    });

    form.on('submit(tijiao)', function(data){
        $.post('/othertel/addform',{'data':data.field},function (data) {
            if(data.code == 200)
            {
                layer.msg(data.msg);
                parent.layui.table.reload('menulist');
                // TableClose();
            } else if(data.code == 300 ) {
                layer.msg(data.msg);
                layer.msg(ReturnInfo(data.data),{icon:5});
            }
        })
        return false;
    });



    form.on('submit(unload_tel)', function(data){
        var index = top.layer.msg('数据提交中,请稍候',{icon: 16,time:false,shade:0.8});      //数据提交提示

        var formData = new FormData($('#cityForm')[0]);

        $.ajax({
            cache : true,
            type : "post",
            url : "/othertel/addcityascription",
            data : formData,  // 你的formid
            async : false,
            contentType: false,   //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
            processData: false,   //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
            error : function(request) {
                top.layer.close(index);         //关闭数据提交信息
                layer.alert("网络超时");
            },
            success : function(data) {
                top.layer.close(index);       //关闭数据提交信息
                if (data.code == 200) {
                    layer.msg(data.msg);
                    parent.layui.table.reload('menulist');
                    // TableClose();

                } else if(data.code == 300){
                    layer.msg(data.msg);
                    if(data.data.length > 0){
                        layer.msg(ReturnInfo(data.data),{icon:5});
                    }
                }
            }
        });
        return false;
    });

    form.on('select(province)',function (data) {
        var type= data.value;
        table.reload('tablerReload',{
            where:{token:csrfToken,city:type}
            ,method:'post'
        });
    });
    function optable(ppid){
        if(ppid != 0){
            $('span[lay-tid='+ppid+']').addClass('open');
            $('span[lay-tpid='+ppid+']').each(function(){
                $(this).parents().parents().parents().attr('style','');
            });
            var ppid = $($('span[lay-tid='+ppid+']')[0]).attr('lay-tpid');
            optable(ppid);
        }
    }
});