var ExcelData, ExcelKind;

function ConfirmImport() {
    var index = layer.load(1, {
        shade: [0.5, '#000']
    });
    $.ajax({
        type: "POST",
        url: "/Admin/StoreHouse/Import?r=" + Math.random(1),
        data: "Kind=" + ExcelKind + "&ExcelData=" + encodeURIComponent(JSON.stringify(ExcelData)),
        dataType: "text",
        success: function (data) {
            layer.close(index);
            if (data.indexOf("success") == 0) {
                layer.msg("成功操作" + data.split('|')[1] + "部机具", {
                    time: 2000
                }, function () {
                    window.location.reload();
                });
            } else {
                layer.msg(data);
            }
        }
    });
}

function CheckImport(table, key, loadindex, index) {
    $.ajax({
        url: "/Admin/StoreHouse/CheckImportV2?r=" + Math.random(1),
        data: "key=" + key,
        dataType: "json",
        success: function (data) {
            if (data.status == 1) {
                layer.msg("成功操作" + data.data + "部机具", {
                    time: 2000
                }, function () {
                    layer.close(index); //关闭弹层
                    layer.close(loadindex);
                    table.reload('LAY-list-manage'); //数据刷新
                });
            } else if (data.status == 2) {
                layer.close(index); //关闭弹层
                layer.close(loadindex);
                var content = '';
                for (var i = 0; i < data.errList.length; i++) {
                    content += data.errList[i] + '<br/>'
                }
                layer.alert(content);
            } else {
                layer.msg(data.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/StoreHouse/Sort?r=" + Math.random(1),
                data: "Id=" + data.Id + "&Sort=" + value,
                dataType: "text",
                success: function (data) { }
            });
        }
    });

    //列表数据
    table.render({
        elem: '#LAY-list-manage'
        , url: '/Admin/SysTools/LoopData' //模拟接口
        , cols: [[
            { type: 'checkbox', fixed: 'left' }
            , { field: 'ApplyNo', width: 200, title: '申请订单号', sort: true }
            , { field: 'OrderNo', width: 200, title: '订单号', sort: true }
            , { field: 'ComeSn', width: 300, title: '来源机具SN', sort: true, templet: '#ComeSnLoop' }
            , { field: 'ComeSnMakerCode', width: 200, title: '来源机具大盟主编号', sort: true }
            , { field: 'ComeSnRealName', width: 200, title: '来源机具大盟主姓名', sort: true }
            , { field: 'SendSn', width: 300, title: '发货SN', sort: true, templet: '#SendSnLoop' }
            , { field: 'SendSnMakerCode', width: 200, title: '发货机具大盟主编号', sort: true }
            , { field: 'SendSnRealName', width: 200, title: '发货机具大盟主姓名', sort: true }
            , { field: 'MakerCode', width: 200, title: '创客编号', sort: true }
            , { field: 'RealName', width: 200, title: '创客姓名', sort: true }
            , { field: 'CreateDate', width: 200, title: '申请时间', sort: true }
            , { field: 'Status', width: 200, title: '申请状态', sort: true }
        ]]
        , where: {
            SwapSnExpand: SwapSnExpand,
            SnNos: SnNos
        }
        , page: true
        , limit: 30
        , height: 'full-' + String($('.layui-card-header').height() + 130)
        , text: '对不起，加载出现异常！'
        , done: function (res, curr, count) {
            $(".layui-none").text("无数据");
        }
    });

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

    //监听工具条
    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/StoreHouse/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 === 'sycn') {
            var index = layer.confirm('确定要同步该仓库的库存数据吗？', function (index) {
                layer.close(index);
                var loadindex = layer.load(1, {
                    shade: [0.5, '#000']
                });
                $.ajax({
                    type: "POST",
                    url: "/Admin/StoreHouse/SycnData?r=" + Math.random(1),
                    data: "Id=" + data.Id,
                    dataType: "text",
                    success: function (data) {
                        layer.close(loadindex);
                        if (data == "success") {
                            layer.msg('同步成功');
                            table.reload('LAY-list-manage');
                        } else {
                            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: ['800px', '650px'],
                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/StoreHouse/Edit?r=" + Math.random(1),
                            data: userdata,
                            dataType: "text",
                            success: function (data) {
                                if (data == "success") {
                                    layer.close(index); //关闭弹层
                                    table.reload('LAY-list-manage'); //数据刷新
                                } else {
                                    layer.msg(data);
                                }
                            }
                        });
                    });

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

                }
            });
        } else if (obj.event === 'edits') {
            var tr = $(obj.tr);
            var perContent = layer.open({
                type: 2,
                title: '一键新建仓库',
                content: 'Edits?Id=' + data.Id + '',
                maxmin: true,
                area: ['860px', '650px'],
                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/StoreHouse/Edits?r=" + Math.random(1),
                            data: userdata,
                            dataType: "text",
                            success: function (data) {
                                if (data == "success") {
                                    layer.close(index); //关闭弹层
                                    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/StoreHouse/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: ['950px', '650px'],
                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/StoreHouse/Add?r=" + Math.random(1),
                            data: userdata,
                            dataType: "text",
                            success: function (data) {
                                if (data == "success") {
                                    layer.close(index); //关闭弹层
                                    table.reload('LAY-list-manage'); //数据刷新
                                } else {
                                    layer.msg(data);
                                }
                            }
                        });
                    });

                    submit.trigger('click');
                }
            });
        },
        ImportMachine: function () {
            var perContent = layer.open({
                type: 2,
                title: '机具入库',
                content: 'Import?ExcelKind=1',
                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/StoreHouse/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');
                }
            });
        },
        ImportChange: function () {
            var perContent = layer.open({
                type: 2,
                title: '仓库调拨',
                content: 'Import?ExcelKind=2',
                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/StoreHouse/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');
                }
            });
        },
        ImportSend: function () {
            var perContent = layer.open({
                type: 2,
                title: '仓库发货至创客',
                content: 'Import?ExcelKind=3',
                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/StoreHouse/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');
                }
            });
        },
        ImportBack: function () {
            var perContent = layer.open({
                type: 2,
                title: '机具回仓库',
                content: 'Import?ExcelKind=4',
                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/StoreHouse/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/StoreHouse/ExportExcel?r=" + Math.random(1),
                data: userdata,
                dataType: "json",
                success: function (data) {
                    data.Obj.unshift(data.Fields);
                    excel.exportExcel(data.Obj, data.Info, 'xlsx');
                }
            });
        },
        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/StoreHouse/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/StoreHouse/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);
                            }
                        }
                    });
                });
            }
        },
        SycnData: function () {
            var index = layer.confirm('确定要同步所有仓库的库存数据吗？', function (index) {
                layer.close(index);
                var loadindex = layer.load(1, {
                    shade: [0.5, '#000']
                });
                $.ajax({
                    type: "POST",
                    url: "/Admin/StoreHouse/SycnData?r=" + Math.random(1),
                    data: "Id=0",
                    dataType: "text",
                    success: function (data) {
                        layer.close(loadindex);
                        if (data == "success") {
                            layer.msg('同步成功');
                            table.reload('LAY-list-manage');
                        } else {
                            layer.msg(data);
                        }
                    }
                });
            });
        },
    };

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