var locDetlLayerIdx; 
 | 
var locDetlData = []; 
 | 
var admin; 
 | 
function getCol() { 
 | 
    var cols = [ 
 | 
        // {field: 'count', align: 'center',title: '出库数量', edit:'text', width: 130,  style:'color: blue;font-weight: bold'}, 
 | 
        {field: 'anfme', align: 'center',title: '数量'} 
 | 
        ,{field: 'locNo$', align: 'center',title: '库位号'} 
 | 
    ]; 
 | 
    arrRemove(detlCols,  'field', 'anfme'); 
 | 
    cols.push.apply(cols, detlCols); 
 | 
    cols.push({fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width: 80}) 
 | 
    return cols; 
 | 
} 
 | 
  
 | 
layui.config({ 
 | 
    base: baseUrl + "/static/layui/lay/modules/" 
 | 
}).use(['table','laydate', 'form', 'admin'], function() { 
 | 
    var table = layui.table; 
 | 
    var $ = layui.jquery; 
 | 
    var layer = layui.layer; 
 | 
    var form = layui.form; 
 | 
    admin = layui.admin; 
 | 
  
 | 
    tableIns = table.render({ 
 | 
        elem: '#chooseData', 
 | 
        headers: {token: localStorage.getItem('token')}, 
 | 
        data: [], 
 | 
        even: true, 
 | 
        toolbar: '#toolbar', 
 | 
        cellMinWidth: 50, 
 | 
        limit: 500, 
 | 
        cols: [getCol()], 
 | 
        done: function(res, curr, count) { 
 | 
            limit(); 
 | 
            getOutBound(); 
 | 
        } 
 | 
    }); 
 | 
  
 | 
    // 页面修改 
 | 
    table.on('edit(chooseData)', function (obj) { 
 | 
        let index = obj.tr.attr("data-index"); 
 | 
        let data = locDetlData[index]; 
 | 
        let modify = true; 
 | 
        // if (obj.field === 'count'){ 
 | 
        //     let vle = Number(obj.value); 
 | 
        //     if (isNaN(vle)) { 
 | 
        //         layer.msg("请输入数字", {icon: 2}); 
 | 
        //         modify = false; 
 | 
        //     } else { 
 | 
        //         if (vle <= 0) { 
 | 
        //             layer.msg("数量必须大于零", {icon: 2}); 
 | 
        //             modify = false; 
 | 
        //         } 
 | 
        //         if (vle > Number(data.anfme)) { 
 | 
        //             layer.msg("出库数量不得大于库存数量", {icon: 2}); 
 | 
        //             modify = false; 
 | 
        //         } 
 | 
        //     } 
 | 
        // } 
 | 
        if (modify) { 
 | 
            data[obj.field] = obj.value; 
 | 
        } 
 | 
        tableIns.reload({data: locDetlData}); 
 | 
    }); 
 | 
  
 | 
    // 监听头工具栏事件 
 | 
    table.on('toolbar(chooseData)', function (obj) { 
 | 
        switch (obj.event) { 
 | 
            case 'outbound': 
 | 
                if (locDetlData.length === 0){ 
 | 
                    layer.msg('请先提取商品库存', {icon: 2}); 
 | 
                } else { 
 | 
                    // var staNo = $("#staNoSelect").val(); 
 | 
                    // if (staNo === "" || staNo === null){ 
 | 
                    //     layer.msg("请选择出库口", {icon: 2}); 
 | 
                    //     return; 
 | 
                    // } 
 | 
                    var orderNo = $("#orderNo").val(); 
 | 
                    if (orderNo === "" || orderNo === null){ 
 | 
                        layer.msg("请输入出库单号", {icon: 2}); 
 | 
                        return; 
 | 
                    } 
 | 
                    for (var i=0;i<locDetlData.length;i++){ 
 | 
                        locDetlData[i]["orderNo"]=orderNo 
 | 
                    } 
 | 
                    console.log(locDetlData) 
 | 
                    console.log(locDetlData[0]) 
 | 
                    let param = { 
 | 
                        orderNo: orderNo, 
 | 
                        locDetls: locDetlData 
 | 
                    } 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl+"/plate/order/out/start", 
 | 
                        headers: {'token': localStorage.getItem('token')}, 
 | 
                        data: JSON.stringify(param), 
 | 
                        contentType:'application/json;charset=UTF-8', 
 | 
                        method: 'POST', 
 | 
                        success: function (res) { 
 | 
                            if (res.code === 200){ 
 | 
                                locDetlData = []; 
 | 
                                tableIns.reload({data: locDetlData,done:function (res) {limit();getOutBound();}}); 
 | 
                                layer.msg(res.msg, {icon: 1}); 
 | 
                            } else if (res.code === 403){ 
 | 
                                top.location.href = baseUrl+"/"; 
 | 
                            } else { 
 | 
                                layer.msg(res.msg, {icon: 2}) 
 | 
                            } 
 | 
                        } 
 | 
                    }); 
 | 
                } 
 | 
                break; 
 | 
        } 
 | 
    }); 
 | 
  
 | 
    // 监听行工具事件 
 | 
    table.on('tool(chooseData)', function(obj){ 
 | 
        switch (obj.event) { 
 | 
            case 'remove': 
 | 
                let index = obj.tr.attr("data-index"); 
 | 
                locDetlData.splice(index, 1); 
 | 
                tableIns.reload({data: locDetlData}); 
 | 
                break; 
 | 
        } 
 | 
    }); 
 | 
  
 | 
    // 获取出库口 
 | 
    function getOutBound(){ 
 | 
        $.ajax({ 
 | 
            url: baseUrl+"/available/take/site", 
 | 
            headers: {'token': localStorage.getItem('token')}, 
 | 
            method: 'POST', 
 | 
            async: false, 
 | 
            success: function (res) { 
 | 
                if (res.code === 200){ 
 | 
                    var tpl = $("#takeSiteSelectTemplate").html(); 
 | 
                    var template = Handlebars.compile(tpl); 
 | 
                    var html = template(res); 
 | 
                    $('#staNoSelect').append(html); 
 | 
                    form.render('select'); 
 | 
                } else if (res.code === 403){ 
 | 
                    top.location.href = baseUrl+"/"; 
 | 
                }else { 
 | 
                    layer.msg(res.msg) 
 | 
                } 
 | 
            } 
 | 
        }) 
 | 
    } 
 | 
  
 | 
  
 | 
    $(document).on('click','#mat-query', function () { 
 | 
        let loadIndex = layer.msg('请求中...', {icon: 16, shade: 0.01, time: false}); 
 | 
        locDetlLayerIdx = layer.open({ 
 | 
            type: 2, 
 | 
            title: false, 
 | 
            closeBtn: false, 
 | 
            maxmin: false, 
 | 
            area: ['90%', '85%'], 
 | 
            shadeClose: true, 
 | 
            content: 'locDetlQuery.html', 
 | 
            success: function(layero, index){ 
 | 
                layer.close(loadIndex); 
 | 
            } 
 | 
        }); 
 | 
    }) 
 | 
  
 | 
}) 
 | 
  
 | 
// 添加表格数据 
 | 
function addTableData(data) { 
 | 
    for (var i=0;i<data.length;i++){ 
 | 
        let pass = false; 
 | 
        for (var j=0;j<locDetlData.length;j++){ 
 | 
            if (data[i].matnr === locDetlData[j].matnr && data[i].batch === locDetlData[j].batch && data[i].locNo$ === locDetlData[j].locNo$) { 
 | 
                pass = true; 
 | 
                break; 
 | 
            } 
 | 
        } 
 | 
        if (pass) { 
 | 
            data.splice(i--, 1); 
 | 
        } else { 
 | 
            data[i]["count"] = data[i]["anfme"]; 
 | 
        } 
 | 
    } 
 | 
    locDetlData.push.apply(locDetlData, data); 
 | 
    tableIns.reload({data: locDetlData}); 
 | 
    layer.close(locDetlLayerIdx); 
 | 
} 
 | 
  
 | 
  
 | 
// excel导入模板下载 
 | 
function excelMouldDownload(){ 
 | 
    layer.load(1, {shade: [0.1,'#fff']}); 
 | 
    location.href = baseUrl + "/out/loc/box/excel/import/out/mould"; 
 | 
    layer.closeAll('loading'); 
 | 
} 
 | 
  
 | 
// excel导入 
 | 
function importExcel() { 
 | 
    $("#importExcel").trigger("click"); 
 | 
} 
 | 
function upload(obj){ 
 | 
    if(!obj.files) { 
 | 
        return; 
 | 
    } 
 | 
    var file = obj.files[0]; 
 | 
    admin.confirm('确认同步 [' + file.name +'] 文件吗?', function (index) { 
 | 
        layer.load(1, {shade: [0.1,'#fff']}); 
 | 
        var url = baseUrl + "/out/loc/box/excel/import/out/auth"; 
 | 
        var form = new FormData(); 
 | 
        form.append("file", file); 
 | 
        xhr = new XMLHttpRequest(); 
 | 
        xhr.open("post", url, true); //post方式,url为服务器请求地址,true 该参数规定请求是否异步处理。 
 | 
        xhr.setRequestHeader('token', localStorage.getItem('token')); 
 | 
        xhr.onload = uploadComplete; //请求完成 
 | 
        xhr.onerror =  uploadFailed; //请求失败 
 | 
        xhr.onloadend = function () { // // 上传完成重置文件流 
 | 
            layer.closeAll('loading'); 
 | 
            $("#importExcel").val(""); 
 | 
        }; 
 | 
        // xhr.upload.onprogress = progressFunction;//【上传进度调用方法实现】 
 | 
        xhr.upload.onloadstart = function(){//上传开始执行方法 
 | 
            ot = new Date().getTime();   //设置上传开始时间 
 | 
            oloaded = 0;//设置上传开始时,以上传的文件大小为0 
 | 
        }; 
 | 
        xhr.send(form); 
 | 
    }, function(index){ 
 | 
        $("#importExcel").val(""); 
 | 
    }); 
 | 
} 
 | 
function uploadComplete(evt) { 
 | 
    var res = JSON.parse(evt.target.responseText); 
 | 
    if(res.code === 200) { 
 | 
        layer.msg(res.msg, {icon: 1}); 
 | 
        loadTree(""); 
 | 
    } else { 
 | 
        layer.msg(res.msg, {icon: 2}); 
 | 
    } 
 | 
} 
 | 
function uploadFailed(evt) { 
 | 
    var res = JSON.parse(evt.target.responseText); 
 | 
    layer.msg(res.msg, {icon: 2}); 
 | 
} 
 |