var delFiles = []; //用于删除图片
var filesContainer = {};  //存储最终要上传的图片
var files;     //存储选择图片的数量

var fContainer = {}; //用于传父级传变量,格式 parent.fContainer
var depositImg = [];//用于存放弹窗图片
var hideImg = [];   //用于存放从正文图片路径
layui.use(['form', 'layer', 'laydate', 'table', 'laytpl', 'layedit', 'upload'], function () {
    var form = layui.form,
        // layer = parent.layer === undefined ? layui.layer : top.layer,
        layer = layui.layer,
        $ = layui.jquery,
        laydate = layui.laydate,
        laytpl = layui.laytpl,
        table = layui.table,
        layedit = layui.layedit
        , upload = layui.upload;


    var tableIds = 'newsList';
    //楼盘列表
    var tableIns = table.render({
        elem: '#' + tableIds,
        url: '/news/newsform',
        cellMinWidth: 95,
        method: 'post',
        page: true,
        height: 600,
        limit: 20,
        id: 'tablerReload',
        cols: [[
            {type: "checkbox", width: 50},
            {type: 'numbers'},
            {field: 'id', title: 'ID', width: 80, align: "center", sort: true},
            {
                field: 'subject', title: '标题', align: 'center', templet: function (d) {
                    return '<a href="http://www.pinfanghw.com/news/details/' + d.id + '" target="_blank">' + d.subject + '</a>'
                }
            },
            {field: 'city_name', title: '区域', width: 100, align: 'center'},
            {field: 'news_name', title: '栏目', width: 120, align: 'center'},
            // {field: 'house_name', title: '楼盘', width: 170, align: 'center'},
            // {
            //     field: 'hstate',
            //     title: '推送楼盘',
            //     width: 100,
            //     event: 'housesNews',
            //     align: 'center',
            //     templet: function (d) {
            //         if (d.hstate == 2) {
            //             return '<input type="checkbox" value="' + d.id + '" name="open"  lay-skin="switch" lay-filter="switchHid" lay-text="|">'
            //         } else {
            //             return '<input type="checkbox" checked value="' + d.id + '" name="open"  lay-skin="switch" lay-filter="switchHid" lay-text="|">'
            //         }
            //     }
            // },
            {
                field: 'clicks',
                title: '点击数',
                width: 100,
                edit: 'text',
                align: 'center',
                clicks: true,
                templet: "#clicksBox"
            },
            {field: 'true_click', title: '真实点击数', width: 120, align: 'center', sort: true},
            {field: 'sort', title: '排序', width: 100, edit: 'text', align: 'center', sort: true, templet: "#sortBox"},
            {
                field: 'top', title: '置顶', width: 75, event: 'housesNews', align: 'center', templet: function (d) {
                    if (d.top == 2) {
                        return '<input type="checkbox" checked value="' + d.id + '" name="open"  lay-skin="switch" lay-filter="switchTop" lay-text="|">'
                    } else {
                        return '<input type="checkbox"  value="' + d.id + '" name="open"  lay-skin="switch" lay-filter="switchTop" lay-text="|">'
                    }
                }
            },
            {field: 'create_at', title: '添加时间', width: 120, event: 'sortData', align: 'center', sort: true},
            {
                field: 'state', title: '审核', width: 75, event: 'housesNews', align: 'center', templet: function (d) {
                    if (d.state === 'N') {
                        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="|">'
                    }
                }
            },

            {title: '操作', width: 100, templet: '#housesListBar', fixed: "right", align: "center"}

        ]]
    });

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

    // 日期
    laydate.render({
        elem: '#EventDate'
    });
    laydate.render({
        elem: '#ModificationDate'
    });


    //表格头部操作菜单
    var $ = layui.$, active = {
        addData: function () { //获取选中数据
            var index = layui.layer.open({
                title: "添加资讯",
                type: 2,
                area: ['80%', '100%'],
                maxmin: true,
                content: "/news/add",
            })
            layui.layer.full(index);
            //改变窗口大小时,重置弹窗的宽高,防止超出可视区域(如F12调出debug的操作)
            $(window).on("resize", function () {
                layui.layer.full(index);
            })
        },
        reload: function () {
            var form = pfgs_serialize($('form'));
            var name = '';
            var id = '';
            if (form.input_house == 'name') {
                name = form.input_house_text;
            } else if (form.input_house == 'id') {
                id = form.input_house_text;
            }
            table.reload('tablerReload', {
                where: {
                    sort: form.input_sort,
                    id: id,
                    name: name,
                    news: form.input_news,
                    city: form.input_city
                }
            })
        }, batch_sync: function () {
            var checkStatus = table.checkStatus('tablerReload');
            if (typeof  checkStatus.data[0] == 'object') {
                var nid = '';
                $.each(checkStatus.data, function (key, val) {
                    nid += val.id + ',';
                })
                var index = layui.layer.open({
                    title: "批量操作",
                    type: 2,
                    area: ['50%', '100%'],
                    maxmin: true,
                    content: "/news/batchsync?nid=" + nid,
                })
                return false;
            }
            layer.msg('请选择需要同步的资讯');

        }
    };


    //监听指定开关
    form.on('switch(switchTest)', function (data) {
        layer.confirm('确定要修改此操作吗?', {btn: ['确定', '取消']}, function () {
            $.post('/house/housesortedit', {id: data.value, examineid: 1}, function (data) {
                if (data.code == 200) {
                    layer.msg(data.msg);
                    table.reload('tablerReload');
                } else if (data.code == 300) {
                    layer.msg(data.msg);
                }
            })
        }, function (aa) {
            table.reload('tablerReload');        //重新加载
        })
    });


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


    /* 列表操作  edit  修改后执行  2018.7.24*/
    table.on('edit(' + tableIds + ')', function (obj) {
        var data = obj.data;
        if (obj.field === 'clicks') {
            $.post('/news/editclicks', {id: data.id, type: 'clicks', clicks: data.clicks}, function (data) {
                if (data.code == 200) {
                    layer.msg(data.msg);
                    // obj.update({
                    //     sort: data.sort
                    // });
                    // TableClose();
                } else if (data.code == 300) {
                    layer.msg(data.msg);
                }
            })
        } else if (obj.field === 'sort') {
            $.post('/news/editclicks', {id: data.id, type: 'sort', sort: data.sort}, function (data) {
                if (data.code == 200) {
                    layer.msg(data.msg);
                    // obj.update({
                    //     sort: data.sort
                    // });
                    // TableClose();
                } else if (data.code == 300) {
                    layer.msg(data.msg);
                }
            })
        }

    })

    // if(obj.event  === 'clicksData'){
    //       layer.prompt({
    //            formType: 2
    //            ,title: '点击数'
    //            ,value: data.clicks
    //        }, function(value, index){

    //            $.post('/news/editclicks',{id:data.id,type:'clicks',clicks:value},function (data) {
    //                layer.msg(data.msg);
    //                layer.close(index);
    //                table.reload('tablerReload');
    //            })
    //        });
    //    } else


    //表格右边操作栏目
    table.on('tool(' + tableIds + ')', function (obj) {
        var data = obj.data;
        if (obj.event === 'del') {    //删除操作
            layer.confirm('确定要删除吗?', {btn: ['确定', '取消']}, function () {
                $.post('/news/newsdel', {id: data.id}, function (data) {
                    if (data.code == 200) {
                        layer.msg(data.msg);
                        table.reload('tablerReload');
                    } else if (data.code == 300) {
                        layer.msg(data.msg);
                    }
                })
            })

        } else if (obj.event === 'edit') {  //编辑操作
            var index = layui.layer.open({
                title: "编辑资讯",
                type: 2,
                area: ['', '100%'],
                maxmin: true,
                content: '/news/newsedit?id=' + data.id + '&house_name=' + data.house_name,
            })

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

        } else if (obj.event === 'sortData') {       //修改排序
            layer.prompt({
                formType: 2
                , title: '修改'
                , value: data.sort
            }, function (value, index) {
                $.post('/house/housesortedit', {id: data.id, sort: value}, function (data) {
                    if (data.code == 200) {
                        layer.msg(data.msg);
                        layer.close(index);
                        obj.update({
                            sort: value
                        });
                        // TableClose();
                    } else if (data.code == 300) {
                        layer.msg(data.msg);
                    }
                })


            });
        }
    });

    //监听指定开关
    form.on('switch(switchTest)', function (data) {
        layer.confirm('确定要修改此操作吗?', {btn: ['确定', '取消']}, function () {
            $.post('/news/newsviewcontrol', {id: data.value}, function (data) {
                if (data.code == 200) {
                    layer.msg(data.msg);
                    table.reload('tablerReload');
                } else if (data.code == 300) {
                    layer.msg(data.msg);
                }
            })
        }, function (aa) {
            table.reload('tablerReload');
        })
    });
    //监听指定开关
    form.on('switch(switchTop)', function (data) {
        layer.confirm('确定要修改此操作吗?', {btn: ['确定', '取消']}, function () {
            $.post('/news/topnews', {id: data.value}, function (data) {
                if (data.code == 200) {
                    layer.msg(data.msg);
                    table.reload('tablerReload');
                } else if (data.code == 300) {
                    layer.msg(data.msg);
                }
            })
        }, function (aa) {
            table.reload('tablerReload');
        })
    });

    //监听指定开关
    form.on('switch(switchHid)', function (data) {
        layer.confirm('确定要修改此操作吗?', {btn: ['确定', '取消']}, function () {
            $.post('/news/newhouse', {id: data.value}, function (data) {
                if (data.code == 200) {
                    layer.msg(data.msg);
                    table.reload('tablerReload');
                } else if (data.code == 300) {
                    layer.msg(data.msg);
                }
            })
        }, function (aa) {
            table.reload('tablerReload');
        })
    });

    //添加and修改图片
    upload.render({
        elem: '#upload_edit',
        url: '/news/newseditform'
        , data: {token: csrfToken}
        , multiple: true
        , number: 3
        , auto: false
        , size: 1000              //限制上传图片的大小,单位为KB
        , exts: 'png|jpg|jpeg'     //只允许上传压缩文件
        , bindAction: '#addcity'
        , choose: function (obj) {
            //将每次选择的文件追加到文件队列
            files = obj.pushFile();
            //预读本地文件,如果是多文件,则会遍历。(不支持ie8/9)
            obj.preview(function (index, file, result) {
                depositImg.push({src: result, data: file});
                filesContainer[index] = file;
                $('#popup_1_imgBox').append('<div class="layui-upload-img"><div class="delete-list" id="delimg"><i class="layui-icon fa-trash-o" >&#xe640;</i></div><img delIdentification="' + index + '" src="' + result + '" alt="' + file.name + '"></div>');
            });

        }
    });
    layer.photos({
        photos: '#demo2'
        , anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
    });

    $('.The_house').focus(function () {
        // $('form').append('<input type="hidden" name="aa" value="aaa">');
        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);
        })
    })

    // 正文上传事件
    $('#popup_2').on('click', '.layui-upload-img', function () {
        // 处理选中与取消
        $(this).find('.layui_w_triangle').toggle('30', function () {
            $(this).parent().attr('data-id', 'pitch')
            if ($(this).is(":hidden")) {
                $(this).parent().removeAttr('data-id');
                var _fsrc = $(this).parents('.layui-upload-img').find('img.pitch_img').attr('src');
                var _furl = "pc/" + _fsrc.split("//")[2]
                for (i in depositImg) {
                    if (depositImg[i] == _fsrc) {
                        depositImg.splice(i, 1);        //取消选择时,从数组中删除
                    }
                    if (hideImg[i] == _furl) {
                        parent.hideImg.splice(i, 1);
                    }
                }
            } else {
                $(this).parent().attr('data-id', 'pitch')
                var _fsrc = $(this).parents('.layui-upload-img').find('img.pitch_img').attr('src');
                var _furl = "pc/" + _fsrc.split("//")[2]
                depositImg.push(_fsrc);     //选中的图片,把src地址存入数组
                parent.hideImg.push(_furl);     //选中的图片,把src地址存入数组

            }
        });
    })


    // 封面图功能
    $('.upload_box').on('click', function () {
        var txtData = UE.getEditor('editor_content').getContent();
        var imgReg = /<img.*?(?:>|\/>)/gi;          //匹配图片(g表示匹配所有结果i表示区分大小写)
        var srcReg = /src=[\'\"]?([^\'\"]*)[\'\"]?/i;        //匹配src属性 
        var txtImg = txtData.match(imgReg);
        var index = layer.open({
            type: 2,
            title: '选择封面',
            skin: 'layui-layer-rim', //加上边框
            area: ['650px', '500px'], //宽高
            content: "/news/popup",
            success: function (layero, index) {
                var poupBody = layer.getChildFrame('body', index);       //获取当前弹窗的doc
                for (i in txtImg) {
                    var _src = txtImg[i].match(srcReg)[0];
                    poupBody.find('#popup_2').append('<div class="layui-upload-img"><div class="layui_w_triangle"><img src="/static/images/triangle.png" alt="" /></div><img class="pitch_img" ' + _src + '/></div>');
                }
            }
        })

    })
    $('#layui_confirm').on('click', function () {
        var doc = $('#demo2', window.parent.document);        //JQ获取弹窗父层doc
        var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
        if (depositImg.length > 3) {
            layer.msg('封面图只能选择3张!!', {time: 1000, shade: 0.5})
            return false;
        }
        var _leng = doc.find('.layui-upload-img').length;
        if (_leng < 3) {
            for (i in depositImg) {
                if (typeof depositImg[i] == "object") {
                    doc.append('<div class="layui-upload-img"><div class="delete-list" id="delimg"><i class="layui-icon fa-trash-o" >&#xe640;</i></div><img  src="' + depositImg[i].src + '" ></div>');
                    parent.fContainer[i] = depositImg[i].data
                } else {
                    doc.append('<div class="layui-upload-img"><div class="delete-list" id="delimg"><i class="layui-icon fa-trash-o" >&#xe640;</i></div><img src="' + depositImg[i] + '" ></div>')
                    parent.fContainer[i] = depositImg[i];
                }
            }

        } else if (_leng > 3) {
            layer.msg('封面图只能选择3张!!', {time: 1000, shade: 0.5})
        }
        parent.layer.close(index);  //关闭iframe页面

    })

    delImg("popup_1_imgBox", "delimg");     // 删除图片


    layer.photos({
        photos: '#demo2'
        , closeBtn: 1
        , anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
    });

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

        var formData = new FormData($("#signupForm")[0]);
        for (i in fContainer) {
            formData.append('img[]', fContainer[i]);
        }

        //从正文上传文件图片
        if (hideImg.length > 0) {
            $.each(hideImg, function (k, v) {
                formData.append('mainImg[]', v);
            })
        }

        $.ajax({
            cache: true,
            type: "post",
            url: "/news/addform",
            data: formData,  // 你的formid
            // async : false,          //async 默认为true异步,修改为false为同步,
            contentType: false,   //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
            processData: false,   //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
            error: function (request) {
                layer.close(index);
                layer.alert("网络超时");
            },
            success: function (data) {
                if (data.code == 200) {
                    layer.msg(data.msg);
                    parent.layui.table.reload('tablerReload');
                    TableClose();
                } else if (data.code == 300) {
                    layer.msg(data.msg)
                    layer.msg(ReturnInfo(data.data), {icon: 5});
                }
            }
        });
        return false;
    })

    //修改
    form.on('submit(edit)', function (data) {
        var index = layer.msg('数据提交中,请稍候', {icon: 16, time: false, shade: 0.8});      //数据提交提示
        var formData = new FormData($("#signupForm")[0]);
        // $.each(filesContainer,function (k,v) {
        //     if(v != null){
        //         formData.append('img[]',v);
        //     }
        // })

        for (i in fContainer) {
            formData.append('img[]', fContainer[i]);
        }

        //需要删除的图片
        if (delFiles.length > 0) {
            $.each(delFiles, function (k, v) {
                formData.append('delimg[]', v);
            })
        }

        //从正文上传文件图片
        if (hideImg.length > 0) {
            $.each(hideImg, function (k, v) {
                formData.append('mainImg[]', v);
            })
        }


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

                    parent.layui.table.reload('tablerReload');
                    TableClose();
                } else {
                    layer.msg(data.msg)
                    layer.msg(ReturnInfo(data.data), {icon: 5});
                }
            }
        });
        return false;
    })
//检测关键词
    form.on('submit(check_words)', function (data) {
        var index = layer.msg('数据提交中,请稍候', {icon: 16, time: false, shade: 0.8});      //数据提交提示
        var content = UE.getEditor('editor_content').getContentTxt();
        var centhtml = UE.getEditor('editor_content').getContent();
        $.ajax({
            //cache : false,
            type: "post",
            url: "/sensitivewords/checkword",
            data: {content: content},  // 你的formid
            //contentType: false,   //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
            //processData: false,   //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
            error: function (request) {
                layer.close(index);
                layer.alert("网络超时");
            },
            success: function (data) {
                if (data.data != null) {
                    var index = layer.open({
                        type: 1,
                        // skin: 'layui-layer-rim', //加上边框
                        title: '违禁词信息',
                        area: ['420px', '240px'], //宽高
                        content: '<div style="color:red;">' + data.data + '</div>'
                    });
                    for (var i = 0; i < data.data.length; i++) {
                        centhtml = centhtml.replace(data.data[i], "<span style='color: rgb(255, 0, 0);'>" + data.data[i] + "</span>");
                    }
                    UE.getEditor('editor_content').setContent(centhtml);
                    layer.msg(data.msg)
                } else {
                    layer.msg(data.msg)
                }
            }
        });
        return false;
    })
    //批量删除
    form.on('submit(del_alls_news)', function (data) {
        var checkStatus = table.checkStatus('tablerReload');
        if (typeof  checkStatus.data[0] == 'object') {
            layer.confirm('您确定要删除吗?', {btn: ['确认', '取消']}, function () {
                var index = layer.msg('数据提交中,请稍候', {icon: 16, time: false, shade: 0.8});      //数据提交提示
                var formdat = new FormData();
                $.each(checkStatus.data, function (key, val) {
                    formdat.append('id[]', val.id);
                })
                $.ajax({
                    cache: true,
                    type: "post",
                    url: "/news/newsdel",
                    data: formdat,  // 你的formid
                    contentType: false,   //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
                    processData: false,   //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
                    error: function (request) {
                        layer.close(index);         //关闭数据提交信息
                        layer.alert("网络超时");
                    },
                    success: function (data) {
                        if (data.code == 200) {
                            layer.msg(data.msg);
                            table.reload('tablerReload')
                        } else {
                            layer.msg(data.msg);
                        }
                    }
                });

            })
            return false;
        }
        layer.msg('请选择需要删除的资讯', {icon: 5});
        return false;
    })

    //
    // //同步资料
    // form.on('submit(batch_sync_submit)', function (data) {
    //     var index = layer.msg('数据提交中,请稍候', {icon: 16, time: false, shade: 0.8});      //数据提交提示
    //     $.ajax({
    //         cache: true,
    //         type: "post",
    //         url: "/news/confirmsync",
    //         data: data.field,  // 你的formid
    //         success: function (data) {
    //             if (data.code == 200) {
    //                 layer.msg(data.msg);
    //                 parent.layui.table.reload('tablerReload');
    //                 TableClose();
    //             } else if (data.code == 300) {
    //                 layer.msg(data.msg)
    //             }
    //         }
    //     });
    //     return false;
    // })

});

//删除图片
$('#demo2').on("click", "#delimg", function () {
    var name = $(this).next().attr("imgname");
    var delIdentification = $(this).next().attr("delIdentification");
    if (typeof(delIdentification) != 'undefined') {
        delete filesContainer[delIdentification];
        delete files[delIdentification];
    }
    if (typeof(name) != 'undefined') {
        delFiles.push(name);
    }
    $(this).parent().remove();
})

function RestrictImgNum() {
    var imgNum = $('.layui-w-img').children('img').length;
    if (imgNum > 3 || imgNum == 3) {
        return false;
    }
}

$(function () {
    // 动态添加批量删除按钮
    var _btn = '<div class="layui-inline " style="float:left;position:relative;left:10px;bottom:35px">'
        + '<a class="layui-btn layui-btn-danger search_btn layui_w_btn" style="height:30px;line-height:30px;font-size:14px;" lay-submit="" lay-filter="del_alls_news">批量删除</a>'
        + '</div>'
    $('.layui-form').append(_btn)

})
//判断是否需要编辑,需要才加载
var verdict = $('#editor_content').html();
if (typeof verdict == "string") {
    var ue = UE.getEditor('editor_content');  //编辑器

    // 2018
    ue.addListener("keyup", function () {
        var arr = (UE.getEditor('editor_content').getContentTxt());
        console.log(arr)

    })

}


// 选择封面图弹窗选择项卡
$('.layui-tab-title .site-demo-active').on('click', function () {
    $(this).addClass('layui-this').siblings().removeClass('layui-this');
    var lay_id = $(this).attr('lay-id');
    $('.layui-tab-item').removeClass('layui-show')
    $('.layui-tab-content #' + lay_id).addClass('layui-show')
});


// 弹窗本地选择图片删除功能
function delImg(oid, delId) {
    $('#' + oid).on("click", "#" + delId, function () {

        var name = $(this).next().attr("imgname");
        var delIdentification = $(this).next().attr("delIdentification");
        if (typeof(delIdentification) != 'undefined') {
            delete filesContainer[delIdentification];
            delete files[delIdentification];
        }
        if (typeof(name) != 'undefined') {
            delFiles.push(name);
        }
        var _ksrc = $(this).parents('.layui-upload-img').find('img').attr('src');
        for (i in depositImg) {
            if (typeof depositImg[i] == "object") {
                if (depositImg[i].src == _ksrc) {
                    depositImg.splice(i, 1);        //取消选择时,从数组中删除
                }
            } else if (depositImg[i] == _ksrc) {
                depositImg.splice(i, 1);        //取消选择时,从数组中删除
            }

        }
        $(this).parent().remove();
    })


    // 监听短标题输入的字符数
    $('.w-slug').on('input', function () {
        var count = $(this).val().length;
        $('.w-count').html(count)
    });

}