var initCountVal = 0; 
 | 
var initAnfmeVal = "-"; 
 | 
var matCodeData = []; 
 | 
var currLocNo; 
 | 
var matCodeLayerIdx; 
 | 
function getCol() { 
 | 
    var cols = [ 
 | 
        {fixed: 'left', field: 'count', title: '实际重量', align: 'center', edit:'text', width: 120,  style:'color: blue;font-weight: bold'} 
 | 
        ,{field: 'anfme', align: 'center',title: '重量'} 
 | 
        ,{field: 'batch', align: 'center',title: '批号(编辑)', edit: true, style: 'font-weight:bold'} 
 | 
    ]; 
 | 
    arrRemove(detlCols, "field", "anfme"); 
 | 
    arrRemove(detlCols, "field", "batch"); 
 | 
    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 layDate = layui.laydate; 
 | 
    var form = layui.form; 
 | 
    var admin = layui.admin; 
 | 
  
 | 
    tableIns = table.render({ 
 | 
        elem: '#chooseData', 
 | 
        data: [], 
 | 
        even: true, 
 | 
        limit: 500, 
 | 
        cellMinWidth: 50, 
 | 
        toolbar: '#toolbar', 
 | 
        cols: [getCol()], 
 | 
        done: function (res, curr, count) { 
 | 
            limit(); 
 | 
        } 
 | 
    }); 
 | 
  
 | 
    // 页面修改 
 | 
    table.on('edit(chooseData)', function (obj) { 
 | 
        let index = obj.tr.attr("data-index"); 
 | 
        let data = matCodeData[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 (modify) { 
 | 
            data[obj.field] = obj.value; 
 | 
        } 
 | 
        tableIns.reload({data: matCodeData}); 
 | 
    }); 
 | 
  
 | 
    // 监听头工具栏事件 
 | 
    table.on('toolbar(chooseData)', function (obj) { 
 | 
        switch(obj.event) { 
 | 
            case 'adjust': 
 | 
                if (isEmpty(currLocNo)) { 
 | 
                    layer.msg("请先检索库位", {icon: 2}) 
 | 
                    inputTip($("#searchLocNo")); 
 | 
                    return; 
 | 
                } 
 | 
                if (matCodeData.length === 0) { 
 | 
                    layer.msg("请先添加明细", {icon: 2}); 
 | 
                    return; 
 | 
                } 
 | 
                for (var i=0;i<matCodeData.length;i++){ 
 | 
                    if (isNaN(matCodeData[i].count)) { 
 | 
                        layer.msg("请输入数字", {icon: 2}); 
 | 
                        return; 
 | 
                    } 
 | 
                    if (matCodeData[i].count < 0){ 
 | 
                        layer.msg("重量不能小于零", {icon: 2}); 
 | 
                        return; 
 | 
                    } 
 | 
                } 
 | 
                layer.confirm('确定调整'+currLocNo+'库位的明细吗?', {shadeClose: true}, function(){ 
 | 
                    $.ajax({ 
 | 
                        url: baseUrl+"/locDdetl/adjust/start", 
 | 
                        headers: {'token': localStorage.getItem('token')}, 
 | 
                        data: JSON.stringify({ 
 | 
                            locNo: currLocNo, 
 | 
                            list: matCodeData 
 | 
                        }), 
 | 
                        contentType:'application/json;charset=UTF-8', 
 | 
                        method: 'POST', 
 | 
                        async: false, 
 | 
                        success: function (res) { 
 | 
                            if (res.code === 200){ 
 | 
                                layer.msg(currLocNo + res.msg, {icon: 1}); 
 | 
                                init(currLocNo) 
 | 
                            } else if (res.code === 403){ 
 | 
                                top.location.href = baseUrl+"/"; 
 | 
                            }else { 
 | 
                                layer.msg(res.msg, {icon: 2}) 
 | 
                            } 
 | 
                        } 
 | 
                    }) 
 | 
                }); 
 | 
                break; 
 | 
        } 
 | 
    }); 
 | 
  
 | 
    // 监听行工具事件 
 | 
    table.on('tool(chooseData)', function(obj){ 
 | 
        var data = obj.data; 
 | 
        switch (obj.event) { 
 | 
            case 'remove': 
 | 
                let index = obj.tr.attr("data-index"); 
 | 
                matCodeData.splice(index, 1); 
 | 
                tableIns.reload({data: matCodeData}); 
 | 
                break; 
 | 
        } 
 | 
    }); 
 | 
  
 | 
    // 检索事件 
 | 
    form.on('submit(search)', function (data) { 
 | 
        let locNo = data.field.loc_no; 
 | 
        if (locNo === "") { 
 | 
            inputTip($("#searchLocNo")); 
 | 
            layer.msg("请输入库位号"); 
 | 
            return; 
 | 
        } 
 | 
        init(locNo); 
 | 
    }); 
 | 
  
 | 
    // 重置事件 
 | 
    form.on('submit(reset)', function (data) { 
 | 
        reset(); 
 | 
    }); 
 | 
  
 | 
    function init(locNo) { 
 | 
        http.post(baseUrl + "/locDetl/list/auth", {locNo: locNo,limit: 1000}, function (res) { 
 | 
            matCodeData = []; 
 | 
            matCodeData = res.data.records; 
 | 
            for (var i = 0; i<matCodeData.length; i++) { 
 | 
                matCodeData[i]["count"] = matCodeData[i]["anfme"]; 
 | 
            } 
 | 
            locTips(true, locNo); 
 | 
            tableReload(); 
 | 
        }) 
 | 
    } 
 | 
  
 | 
    function reset() { 
 | 
        clearFormVal($('#search-box')); 
 | 
        matCodeData = []; 
 | 
        tableReload(); 
 | 
        locTips(false); 
 | 
    } 
 | 
  
 | 
    // 重载表格 
 | 
    function tableReload() { 
 | 
        tableIns.reload({data: matCodeData}); 
 | 
    } 
 | 
  
 | 
    // 库位提示框 
 | 
    function locTips(retrieve, locNo) { 
 | 
        if (retrieve) { 
 | 
            http.post(baseUrl+"/locMast/"+locNo+"/auth", null, function (res) { 
 | 
                let data = res.data; 
 | 
                if (data != null) { 
 | 
                    $(".retrieve").show(); 
 | 
                    $("#locMsg").html(locNo + " ,库位状态:" + data.locSts$); 
 | 
                    $('.not-retrieve').hide(); 
 | 
                    currLocNo = locNo; 
 | 
                } else { 
 | 
                    layer.msg("请输入有效库位号", {icon: 2}); 
 | 
                    $('.not-retrieve').show(); 
 | 
                    $("#locMsg").html(""); 
 | 
                    $(".retrieve").hide(); 
 | 
                    currLocNo = null; 
 | 
                    inputTip($("#searchLocNo")); 
 | 
                } 
 | 
            }) 
 | 
        } else { 
 | 
            $('.not-retrieve').show(); 
 | 
            $("#locMsg").html(""); 
 | 
            $(".retrieve").hide(); 
 | 
            currLocNo = null; 
 | 
        } 
 | 
    } 
 | 
  
 | 
    $(document).on('click','#mat-query', function () { 
 | 
        if (isEmpty(currLocNo)) { 
 | 
            layer.msg("请先检索库位") 
 | 
            inputTip($("#searchLocNo")); 
 | 
            return; 
 | 
        } 
 | 
        let loadIndex = layer.msg('请求中...', {icon: 16, shade: 0.01, time: false}); 
 | 
        matCodeLayerIdx = admin.open({ 
 | 
            type: 2, 
 | 
            title: false, 
 | 
            closeBtn: false, 
 | 
            maxmin: false, 
 | 
            area: ['90%', '85%'], 
 | 
            shadeClose: true, 
 | 
            content: 'matQuery.html', 
 | 
            success: function(layero, index){ 
 | 
                layer.close(loadIndex); 
 | 
            } 
 | 
        }); 
 | 
    }) 
 | 
  
 | 
}) 
 | 
  
 | 
// 搜索框空值提示 
 | 
function inputTip(el) { 
 | 
    el.css("border-color", "red"); 
 | 
    setTimeout(function () { 
 | 
        el.css("border-color", "#b8b8b8"); 
 | 
    }, 1000); 
 | 
} 
 | 
  
 | 
// 添加表格数据 
 | 
function addTableData(data) { 
 | 
    for (let i=0;i<data.length;i++){ 
 | 
        for (let j=0;j<matCodeData.length;j++){ 
 | 
            if (data[i].matnr === matCodeData[j].matnr && data[i].batch === matCodeData[j].batch) { 
 | 
                data.splice(i, 1); 
 | 
                break; 
 | 
            } else { 
 | 
                data[i]['anfme'] = initAnfmeVal; 
 | 
                data[i]['count'] = initCountVal; 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
    matCodeData.push.apply(matCodeData, data); 
 | 
    tableIns.reload({data: matCodeData}); 
 | 
    layer.close(matCodeLayerIdx); 
 | 
} 
 |