layui.use(['form', 'table', 'laydate'], function() {
    var form = layui.form;
    var table = layui.table;
    var laydate = layui.laydate;

    //转换静态表格
    table.init('bomView', {
        limit:10
        ,url: '/ajax/bom/BomView?bom_id='+bom_id //数据接口
        ,toolbar: '#toolbarDemo' //开启头部工具栏,并为其绑定左侧模板
        ,defaultToolbar:[]

        ,method:'post'
        ,cellMinWidth: 80 //全局定义常规单元格的最小宽度
        ,page: true //开启分页
    });


    function renderTable(){
        table.init('bomView', {
            limit:10
            ,url: '/ajax/bom/BomView?bom_id='+bom_id //数据接口
            ,toolbar: '#toolbarDemo' //开启头部工具栏,并为其绑定左侧模板
            ,defaultToolbar:[]

            ,method:'post'
            ,cellMinWidth: 80 //全局定义常规单元格的最小宽度
            ,page: true //开启分页
        });
    }


    form.on('checkbox(checkall)', function (data) {
        var child = $(data.elem).parents('.layui-tab-item').find('input[type="checkbox"]');
        child.each(function (index, item) {
            item.checked = data.elem.checked;
        });
        form.render('checkbox');
    });


    //监听单元格编辑
    table.on('edit(bomView)', function(obj){
        var value = obj.value //得到修改后的值
            ,data = obj.data //得到所在行所有键值
            ,field = obj.field; //得到字段
        if(field != "match_goods_id"){
            obj.data.match_goods_id = 0;
            obj.update(data) //修改当前行数据
        }
    });


    function save_form_ajax(datax){
        layer.open({
            title: "保存bom单",
            content: "你确定保存吗?",
            btn: ['确认?', '取消'],
            yes: function(index) {
                layer.close(index);
                $.ajax({
                    url : "/ajax/bom/saveBomInfo",
                    type: 'post',
                    data: datax,
                    success: function(resp) {
                        if (resp.errcode == 0) {
                            layer.msg(resp.errmsg);
                            renderTable(); // 重新加载table

                        }else{
                            layer.alert(resp.errmsg);
                        }

                    },
                    error: function(err) {
                        console.log(err)
                    }
                })
                layer.msg('请耐心等待....', {icon: 16, time: 5000, shade: 0.3})
                return false;
            },
            cancel: function(index) {
                layer.close(index);
            }
        })
    }

    function create_order_ajax(datax){
        layer.open({
            title: "创建bom订单",
            content: "你确定下单吗?",
            btn: ['确认?', '取消'],
            yes: function(index) {
                layer.close(index);
                $.ajax({
                    url : "/ajax/bom/createBomOrder",
                    type: 'post',
                    data: datax,
                    success: function(resp) {
                        if (resp.errcode == 0) {
                            layer.alert(resp.errmsg);
                            //return
                            renderTable(); // 重新加载table

                        }else{
                            layer.alert(resp.errmsg);
                        }

                    },
                    error: function(err) {
                        console.log(err)
                    }
                })
                layer.msg('请耐心等待....', {icon: 16, time: 10000, shade: 0.3})
                return false;
            },
            cancel: function(index) {
                layer.close(index);
            }
        })
    }

    //头工具栏事件
    table.on('toolbar(bomView)', function(obj){
        var checkStatus = table.checkStatus("layui_table_bomView");
        var data = checkStatus.data;
        if(checkStatus.data.length  <= 0){
            layer.msg('请先选择需要保存的数据行', {icon: 16, time: 3000, shade: 0.3})
            return
        }
        var datax = {}
        datax.data = data

        switch(obj.event){
            case 'create_order':
                create_order_ajax(datax);
                break;
            case 'save_form':
                save_form_ajax(datax)
                break;
        };
    });




})