var ExcelData;

function ConfirmImport() {
    $.ajax({
        type: "POST",
        url: "/Admin/UserCashRecord/Import?r=" + Math.random(1),
        data: "ExcelData=" + encodeURIComponent(JSON.stringify(ExcelData)),
        dataType: "text",
        success: function (data) {
            if (data == "success") {
                layer.msg("导入成功", {
                    time: 2000
                }, function () {
                    window.location.reload();
                });
            } else {
                layer.msg(data);
            }
        }
    });
}

function CheckImport(table, key, loadindex, index) { 
    $.ajax({
        url: "/Admin/UserCashRecord/CheckImport?r=" + Math.random(1),
        data: "key=" + key,
        dataType: "text",
        success: function (data) {
            if (data.indexOf('success') == 0) {
                layer.msg("成功操作" + data.split('|')[1] + "笔提现申请", { time: 2000 }, function () {
                    layer.close(index); //关闭弹层
                    layer.close(loadindex);
                    table.reload('LAY-list-manage'); //数据刷新
                });
            } else {
                layer.msg(data, { time: 1000 }, function () {
                    CheckImport(table, key, loadindex, index);
                });
            }
        }
    });
}

var excel;
layui.config({
    base: '/layuiadmin/' //静态资源所在路径
}).extend({
    myexcel: 'layui/lay/modules/excel',
    index: 'lib/index' //主入口模块
}).use(['index', 'table', 'excel', 'laydate'], function () {
    var $ = layui.$,
        form = layui.form,
        table = layui.table;

    //- 筛选条件-日期
    var laydate = layui.laydate;
    var layCreateDate = laydate.render({
        elem: '#CreateDate',
        type: 'date',
        range: true,
        trigger: 'click',
        change: function (value, date, endDate) {
            var op = true;
            if (date.year == endDate.year && endDate.month - date.month <= 1) {
                if (endDate.month - date.month == 1 && endDate.date > date.date) {
                    op = false;
                    layCreateDate.hint('日期范围请不要超过1个月');
                    setTimeout(function () {
                        $(".laydate-btns-confirm").addClass("laydate-disabled");
                    }, 1);
                }
            } else {
                op = false;
                layCreateDate.hint('日期范围请不要超过1个月');
                setTimeout(function () {
                    $(".laydate-btns-confirm").addClass("laydate-disabled");
                }, 1);
            }
            if (op) {
                $('#CreateDate').val(value);
            }
        }
    });


    //excel导入
    excel = layui.excel;
    $('#ExcelFile').change(function (e) {
        var files = e.target.files;
        excel.importExcel(files, {}, function (data) {
            ExcelData = data[0].sheet1;
        });
    });

    //监听单元格编辑
    table.on('edit(LAY-list-manage)', function (obj) {
        var value = obj.value //得到修改后的值
            ,
            data = obj.data //得到所在行所有键值
            ,
            field = obj.field; //得到字段
        if (field == "Sort") {
            $.ajax({
                type: "POST",
                url: "/Admin/UserCashRecord/Sort?r=" + Math.random(1),
                data: "Id=" + data.Id + "&Sort=" + value,
                dataType: "text",
                success: function (data) {}
            });
        }
    });

    //列表数据
    table.render({
        elem: '#LAY-list-manage',
        url: '/Admin/UserCashRecord/IndexData' //模拟接口
            ,
        cols: [
            [{
                    type: 'checkbox',
                    fixed: 'left'
                }, {
                    field: 'CashOrderNo',
                    width: 200,
                    title: '提现单号',
                    sort: true
                }, {
                    field: 'MakerCode',
                    width: 200,
                    title: '创客编码',
                    sort: true
                }, {
                    field: 'RealName',
                    width: 200,
                    title: '创客名称',
                    sort: true
                }, {
                    field: 'IdCardNo',
                    width: 200,
                    title: '身份证号',
                    sort: true
                }, {
                    field: 'SettleBankCardNo',
                    width: 200,
                    title: '提现卡号',
                    sort: true
                }, {
                    field: 'SettleBankName',
                    width: 200,
                    title: '银行名称',
                    sort: true
                }, {
                    field: 'TradeType',
                    width: 200,
                    title: '交易类型',
                    sort: true
                }, {
                    field: 'TradeAmount',
                    width: 200,
                    title: '提现金额(元)',
                    sort: true
                }, {
                    field: 'ActualTradeAmount',
                    width: 200,
                    title: '发佣金额(元)',
                    sort: true
                }, {
                    field: 'ManageFee',
                    width: 200,
                    title: '交易扣税(元)',
                    sort: true
                }, {
                    field: 'TradeFee',
                    width: 200,
                    title: '交易手续费(元)',
                    sort: true
                }, {
                    field: 'StatusName',
                    width: 200,
                    title: '订单状态',
                    templet: '#StatusTpl',
                    sort: true
                }, {
                    field: 'LockName',
                    width: 200,
                    title: '提现标记',
                    sort: true
                }, {
                    field: 'ReturnCode',
                    width: 200,
                    title: '提现服务返回编码',
                    sort: true
                }, {
                    field: 'ReturnMsg',
                    width: 200,
                    title: '提现服务返回信息',
                    sort: true
                }, {
                    field: 'SeoKeyword',
                    width: 200,
                    title: '备注',
                    sort: true
                }, {
                    field: 'Remark',
                    width: 200,
                    title: '代付返回信息',
                    sort: true
                }, {
                    field: 'CreateDate',
                    width: 200,
                    title: '创建时间',
                    sort: true
                }, { title: '操作', align: 'center', width: 300, fixed: 'right', toolbar: '#table-list-tools' }

            ]
        ],
        where: {

        },
        page: true,
        limit: 30,
        height: 'full-' + String($('.layui-card-header').height() + 130),
        text: '对不起，加载出现异常！',
        done: function (res, curr, count) {
            $("#SuccessAmount").text(res.other.SuccessAmount);
            $("#FailAmount").text(res.other.FailAmount);
            $("#WaitAmount").text(res.other.WaitAmount);            
            $("#WaitTaxAmount").text(res.other.WaitTaxAmount);            
            $("#SuccessTaxAmount").text(res.other.SuccessTaxAmount);            
            $("#FailTaxAmount").text(res.other.FailTaxAmount);            
            $(".layui-none").text("无数据");
        }
    });

    //监听工具条
    table.on('tool(LAY-list-manage)', function (obj) {
        var data = obj.data;
        if (obj.event === 'del') {
            var index = layer.confirm('确定要删除吗？删除后不能恢复！', function (index) {
                $.ajax({
                    type: "POST",
                    url: "/Admin/UserCashRecord/Delete?r=" + Math.random(1),
                    data: "Id=" + data.Id,
                    dataType: "text",
                    success: function (data) {
                        if (data == "success") {
                            obj.del();
                            layer.close(index);
                        } else {
                            parent.layer.msg(data);
                        }
                    }
                });
            });
        } else if (obj.event === 'cancel') {
            var index = layer.confirm('确定要解除吗？操作后不能恢复！', function (index) {
                $.ajax({
                    type: "POST",
                    url: "/Admin/UserCashRecord/Cancel?r=" + Math.random(1),
                    data: "Id=" + data.Id,
                    dataType: "text",
                    success: function (data) {
                        layer.close(index);
                        if (data == "success") {
                            parent.layer.msg('已解除');
                            table.reload('LAY-list-manage'); //数据刷新
                        } else {
                            parent.layer.msg(data);
                        }
                    }
                });
            });
        } else if (obj.event === 'refund') {
            var index = layer.confirm('确定要退汇吗？操作后不能恢复！', function (index) {
                $.ajax({
                    type: "POST",
                    url: "/Admin/UserCashRecord/Refund?r=" + Math.random(1),
                    data: "Id=" + data.Id,
                    dataType: "text",
                    success: function (data) {
                        layer.close(index);
                        if (data == "success") {
                            parent.layer.msg('已退汇');
                            table.reload('LAY-list-manage'); //数据刷新
                        } else {
                            parent.layer.msg(data);
                        }
                    }
                });
            });
        } else if (obj.event === 'edit') {
            var tr = $(obj.tr);
            var perContent = layer.open({
                type: 2,
                title: '提现记录-编辑',
                content: 'Edit?Id=' + data.Id + '',
                maxmin: true,
                area: ['500px', '450px'],
                btn: ['确定', '取消'],
                yes: function (index, layero) {
                    var iframeWindow = window['layui-layer-iframe' + index],
                        submitID = 'LAY-list-front-submit',
                        submit = layero.find('iframe').contents().find('#' + submitID);

                    setTimeout(function () {
                        layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
                            var errObj = $(this).find('.layui-form-danger');
                            if (errObj.length > 0) {
                                iframeWindow.element.tabChange('mytabbar', String(i + 1));
                                submit.click();
                            }
                        });
                    }, 300);






                    //监听提交
                    iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
                        var field = data.field; //获取提交的字段
                        var userdata = "";
                        for (var prop in field) {
                            userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
                        }
                        //提交 Ajax 成功后，静态更新表格中的数据
                        //$.ajax({});

                        $.ajax({
                            type: "POST",
                            url: "/Admin/UserCashRecord/Edit?r=" + Math.random(1),
                            data: userdata,
                            dataType: "text",
                            success: function (data) {
                                layer.close(index); //关闭弹层
                                if (data == "success") {
                                    table.reload('LAY-list-manage'); //数据刷新
                                } else {
                                    layer.msg(data);
                                }
                            }
                        });
                    });

                    submit.trigger('click');
                },
                success: function (layero, index) {

                }
            });
            layer.full(perContent);
        } else if (obj.event === 'reduce') {
            var tr = $(obj.tr);
            var perContent = layer.open({
                type: 2,
                title: '拒绝处理',
                content: 'Reduce?Id=' + data.Id + '',
                maxmin: true,
                area: ['500px', '450px'],
                btn: ['确定', '取消'],
                yes: function (index, layero) {
                    var iframeWindow = window['layui-layer-iframe' + index],
                        submitID = 'LAY-list-front-submit',
                        submit = layero.find('iframe').contents().find('#' + submitID);

                    setTimeout(function () {
                        layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
                            var errObj = $(this).find('.layui-form-danger');
                            if (errObj.length > 0) {
                                iframeWindow.element.tabChange('mytabbar', String(i + 1));
                                submit.click();
                            }
                        });
                    }, 300);






                    //监听提交
                    iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
                        var field = data.field; //获取提交的字段
                        var userdata = "";
                        for (var prop in field) {
                            userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
                        }
                        //提交 Ajax 成功后，静态更新表格中的数据
                        //$.ajax({});

                        $.ajax({
                            type: "POST",
                            url: "/Admin/UserCashRecord/ReduceDo?r=" + Math.random(1),
                            data: userdata,
                            dataType: "text",
                            success: function (data) {
                                layer.close(index); //关闭弹层
                                if (data == "success") {
                                    table.reload('LAY-list-manage'); //数据刷新
                                } else {
                                    layer.msg(data);
                                }
                            }
                        });
                    });

                    submit.trigger('click');
                },
                success: function (layero, index) {

                }
            });
        }
    });


    //监听搜索
    form.on('submit(LAY-list-front-search)', function (data) {
        var field = data.field;

        //执行重载
        table.reload('LAY-list-manage', {
            where: field,
            page: {
                curr: 1
            }
        });
    });
    form.on('submit(LAY-list-front-searchall)', function (data) {
        table.reload('LAY-list-manage', {
            where: null,
            page: {
                curr: 1
            }
        });
    });

    //事件
    var active = {
        batchdel: function () {
            var checkStatus = table.checkStatus('LAY-list-manage'),
                data = checkStatus.data; //得到选中的数据
            if (data.length < 1) {
                parent.layer.msg("请选择要删除的项");
            } else {
                var ids = "";
                $.each(data, function (index, value) {
                    ids += data[index].Id + ",";
                });
                ids = ids.substring(0, ids.length - 1);
                var index = layer.confirm('确定要删除吗？删除后不能恢复！', function (index) {
                    $.ajax({
                        type: "POST",
                        url: "/Admin/UserCashRecord/Delete?r=" + Math.random(1),
                        data: "Id=" + ids,
                        dataType: "text",
                        success: function (data) {
                            layer.close(index);
                            if (data == "success") {
                                table.reload('LAY-list-manage');
                            } else {
                                layer.msg(data);
                            }
                        }
                    });
                });
            }
        },
        add: function () {
            var perContent = layer.open({
                type: 2,
                title: '提现记录-添加',
                content: 'Add',
                maxmin: true,
                area: ['500px', '450px'],
                btn: ['确定', '取消'],
                yes: function (index, layero) {
                    var iframeWindow = window['layui-layer-iframe' + index],
                        submitID = 'LAY-list-front-submit',
                        submit = layero.find('iframe').contents().find('#' + submitID);

                    setTimeout(function () {
                        layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
                            var errObj = $(this).find('.layui-form-danger');
                            if (errObj.length > 0) {
                                iframeWindow.element.tabChange('mytabbar', String(i + 1));
                                submit.click();
                            }
                        });
                    }, 300);






                    //监听提交
                    iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
                        var field = data.field; //获取提交的字段
                        var userdata = "";
                        for (var prop in field) {
                            userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
                        }
                        //提交 Ajax 成功后，静态更新表格中的数据
                        //$.ajax({});

                        $.ajax({
                            type: "POST",
                            url: "/Admin/UserCashRecord/Add?r=" + Math.random(1),
                            data: userdata,
                            dataType: "text",
                            success: function (data) {
                                layer.close(index); //关闭弹层
                                if (data == "success") {
                                    table.reload('LAY-list-manage'); //数据刷新
                                } else {
                                    layer.msg(data);
                                }
                            }
                        });
                    });

                    submit.trigger('click');
                }
            });
            layer.full(perContent);
        },
        ImportData: function () {
            var perContent = layer.open({
                type: 2
                , title: '提现结果导入'
                , content: 'Import'
                , maxmin: true
                , area: ['650px', '350px']
                , btn: ['确定', '取消']
                , yes: function (index, layero) {
                    var iframeWindow = window['layui-layer-iframe' + index]
                        , submitID = 'LAY-list-front-submit'
                        , submit = layero.find('iframe').contents().find('#' + submitID);

                    
                    //监听提交
                    iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
                        var field = data.field; //获取提交的字段
                        var userdata = "";
                        for (var prop in field) {
                            userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
                        }
                        //提交 Ajax 成功后，静态更新表格中的数据
                        //$.ajax({});
                        var loadindex = layer.load(1, {
                            shade: [0.5, '#000']
                        });
                        $.ajax({
                            type: "POST",
                            url: "/Admin/UserCashRecord/ImportPost?r=" + Math.random(1),
                            data: userdata,
                            dataType: "text",
                            success: function (data) {
                                if (data.indexOf("success") == 0) {
                                    var datalist = data.split('|');
                                    var key = datalist[1];
                                    CheckImport(table, key, loadindex, index);
                                } else {
                                    layer.msg(data);
                                }
                            }
                        });
                    });

                    submit.trigger('click');
                }
            });
        },
        ExportExcel: function () {
            var userdata = '';
            $(".layuiadmin-card-header-auto input").each(function (i) {
                userdata += $(this).attr('name') + '=' + encodeURIComponent($(this).val()) + '&';
            });
            $(".layuiadmin-card-header-auto select").each(function (i) {
                userdata += $(this).attr('name') + '=' + encodeURIComponent($(this).val()) + '&';
            });
            // $.ajax({
            //     type: "GET",
            //     url: "/Admin/UserCashRecord/ExportExcel?r=" + Math.random(1),
            //     data: userdata,
            //     dataType: "json",
            //     success: function (data) {
            //         data.Obj.unshift(data.Fields);
            //         excel.exportExcel(data.Obj, data.Info, 'xlsx');
            //     }
            // });
            var index = layer.confirm('确定导出吗？', function (index) {
                var indexs = layer.load(1, {
                    shade: [0.5, '#000']
                });
                $.ajax({
                    type: "POST",
                    url: "/Admin/UserCashRecord/UserQuickExportExcelDo?r=" + Math.random(1),
                    data: userdata,
                    dataType: "text",
                    success: function (data) {
                        layer.close(index); //关闭弹层
                        if (data == "success") {
                            layer.close(indexs); //关闭弹层
                            layer.msg('导出成功，请到我的下载中点击下载文件', {
                                time: 1000
                            }, function () {
                                window.location.reload();
                            });
                        } else {
                            layer.close(indexs); //关闭弹层
                            layer.msg(data);
                        }
                    }
                });
            });
        },
        BatchSetting: function () {
            var checkStatus = table.checkStatus('LAY-list-manage'),
                data = checkStatus.data; //得到选中的数据
            if (data.length < 1) {
                parent.layer.msg("请选择要设置的项");
            } else {
                var ids = "";
                $.each(data, function (index, value) {
                    ids += data[index].Id + ",";
                });
                ids = ids.substring(0, ids.length - 1);
                var index = layer.confirm('确定要设为成功状态吗？', function (index) {
                    $.ajax({
                        type: "POST",
                        url: "/Admin/UserCashRecord/BatchSetting?r=" + Math.random(1),
                        data: "Id=" + ids,
                        dataType: "text",
                        success: function (data) {
                            layer.close(index);
                            if (data == "success") {
                                table.reload('LAY-list-manage');
                            } else {
                                layer.msg(data);
                            }
                        }
                    });
                });
            }
        },
        Open: function () {
            var checkStatus = table.checkStatus('LAY-list-manage'),
                data = checkStatus.data; //得到选中的数据
            if (data.length < 1) {
                parent.layer.msg("请选择要开启的项");
            } else {
                var ids = "";
                $.each(data, function (index, value) {
                    ids += data[index].Id + ",";
                });
                ids = ids.substring(0, ids.length - 1);
                var index = layer.confirm('确定要开启吗？', function (index) {
                    $.ajax({
                        type: "POST",
                        url: "/Admin/UserCashRecord/Open?r=" + Math.random(1),
                        data: "Id=" + ids,
                        dataType: "text",
                        success: function (data) {
                            layer.close(index);
                            if (data == "success") {
                                table.reload('LAY-list-manage');
                            } else {
                                layer.msg(data);
                            }
                        }
                    });
                });
            }
        },
        Close: function () {
            var checkStatus = table.checkStatus('LAY-list-manage'),
                data = checkStatus.data; //得到选中的数据
            if (data.length < 1) {
                parent.layer.msg("请选择要关闭的项");
            } else {
                var ids = "";
                $.each(data, function (index, value) {
                    ids += data[index].Id + ",";
                });
                ids = ids.substring(0, ids.length - 1);
                var index = layer.confirm('确定要关闭吗？', function (index) {
                    $.ajax({
                        type: "POST",
                        url: "/Admin/UserCashRecord/Close?r=" + Math.random(1),
                        data: "Id=" + ids,
                        dataType: "text",
                        success: function (data) {
                            layer.close(index);
                            if (data == "success") {
                                table.reload('LAY-list-manage');
                            } else {
                                layer.msg(data);
                            }
                        }
                    });
                });
            }
        },
        Cash: function () {
            var checkStatus = table.checkStatus('LAY-list-manage'),
                data = checkStatus.data; //得到选中的数据
            if (data.length < 1) {
                parent.layer.msg("请选择要提交代付的项");
            } else {
                var ids = "";
                $.each(data, function (index, value) {
                    ids += data[index].Id + ",";
                });
                ids = ids.substring(0, ids.length - 1);

                var index = layer.confirm('确定要提交到代付平台申请出款吗？', function (confirmindex) {
                    layer.close(confirmindex);
                    var perContent = layer.open({
                        type: 2,
                        title: '提交到代付',
                        content: 'Cash',
                        maxmin: true,
                        area: ['500px', '350px'],
                        btn: ['确定', '取消'],
                        yes: function (index, layero) {
                            var iframeWindow = window['layui-layer-iframe' + index],
                                submitID = 'LAY-list-front-submit',
                                submit = layero.find('iframe').contents().find('#' + submitID);
        
                            setTimeout(function () {
                                layero.find('iframe').contents().find('.layui-tab-item').each(function (i) {
                                    var errObj = $(this).find('.layui-form-danger');
                                    if (errObj.length > 0) {
                                        iframeWindow.element.tabChange('mytabbar', String(i + 1));
                                        submit.click();
                                    }
                                });
                            }, 300);
        
                            //监听提交
                            iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
                                var field = data.field; //获取提交的字段
                                var userdata = "";
                                for (var prop in field) {
                                    userdata += prop + "=" + encodeURIComponent(field[prop]) + "&";
                                }
                                //提交 Ajax 成功后，静态更新表格中的数据
                                //$.ajax({});
        
                                $.ajax({
                                    type: "POST",
                                    url: "/Admin/UserCashRecord/Cash?r=" + Math.random(1),
                                    data: userdata + "Id=" + ids,
                                    dataType: "text",
                                    success: function (data) {
                                        layer.close(index); //关闭弹层
                                        if (data == "success") {
                                            layer.msg('提交成功，请等待代付平台处理');
                                            table.reload('LAY-list-manage'); //数据刷新
                                        } else {
                                            layer.msg(data);
                                        }
                                    }
                                });
                            });
        
                            submit.trigger('click');
                        }
                    });                    
                });
            }
        },
    };

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