luxiaotao1123
2021-04-08 91f2cd5b0f832091f654cce926585d2f05cad114
src/main/webapp/static/js/locNormal/locNormalIn.js
New file
@@ -0,0 +1,248 @@
var initCountVal = 0;
var matCodeData = [];
var index = 0;
function getCol() {
    var cols = [
        // {type: 'checkbox', fixed: 'left'},
        {
            fixed: 'left',
            field: 'anfme',
            title: '数量(必填)',
            align: 'center',
            edit: 'text',
            width: 120,
            style: 'color: blue;font-weight: bold'
        }
    ];
    locNormalCols.map(function (item) {
        if (item.field === 'supplier') {
            item.edit = 'text';
        }
    })
    cols.push.apply(cols, locNormalCols);
    // cols.push({field: 'matStatus', title: '物料状态', align: 'center', width: 120, templet: '#matStatus'});
    cols.push({fixed: 'right', title: '操作', align: 'center', toolbar: '#operate', width: 80});
    return cols;
}
layui.use(['table', 'laydate', 'form'], function () {
    var table = layui.table;
    var $ = layui.jquery;
    var layer = layui.layer;
    var layDate = layui.laydate;
    var form = layui.form;
    tableIns = table.render({
        elem: '#chooseData',
        data: [],
        even: true,
        limit: 500,
        cellMinWidth: 50,
        toolbar: '#toolbar',
        cols: [getCol()],
        done: function (res, curr, count) {
            $('td[data-field=count] div').html(initCountVal);
            setMatCodeData(res.data);
            limit();
            getInBound();
        }
    });
    // 页面修改
    table.on('edit(chooseData)', function (obj) {
        if (obj.field === 'anfme') {
            updateMatCodeData(obj.data.matnr, Number(obj.value), obj.data.index);
        }
    });
    // 监听头工具栏事件
    table.on('toolbar(chooseData)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id);
        var data = checkStatus.data;
        switch (obj.event) {
            case 'comb':
                // 判断是否存在物料
                if (matCodeData.length === 0) {
                    layer.msg("请先添加物料");
                    return;
                }
                // 判断物料数量是否存在异常
                for (var i = 0; i < matCodeData.length; i++) {
                    if (isNaN(matCodeData[i].anfme)) {
                        layer.msg("请输入数字");
                        return;
                    }
                    if (matCodeData[i].anfme === 0) {
                        layer.msg("数量不能为零");
                        return;
                    }
                }
                // 判断库区是否为空
                var warehouse = $('#putSiteSelect').val();
                if (!warehouse || warehouse === '') {
                    layer.msg("请选择库区");
                    return;
                }
                // 入库数据赋值库区
                matCodeData.map(function (item) {
                    item.warehouse = warehouse;
                });
                // 请求接口进行平仓入库
                $.ajax({
                    url: baseUrl + "/locNormal/in",
                    headers: {'token': localStorage.getItem('token')},
                    data: JSON.stringify({
                        normalList: matCodeData,
                    }),
                    contentType: 'application/json;charset=UTF-8',
                    method: 'POST',
                    async: false,
                    success: function (res) {
                        if (res.code === 200) {
                            layer.msg("入库启动成功");
                            matCodeData = [];
                            tableIns.reload({
                                data: matCodeData, done: function (res) {
                                    limit();
                                    getInBound();
                                }
                            });
                        } else if (res.code === 403) {
                            top.location.href = baseUrl + "/";
                        } else {
                            layer.msg(res.msg)
                        }
                    }
                })
                break;
        }
    });
    // 监听行工具事件
    table.on('tool(chooseData)', function (obj) {
        var data = obj.data;
        switch (obj.event) {
            case 'remove':
                for (var i = matCodeData.length - 1; i >= 0; i--) {
                    if (matCodeData[i].matnr === data.matnr && matCodeData[i].index === data.index) {
                        matCodeData.splice(i, 1);
                    }
                }
                tableIns.reload({
                    data: matCodeData,
                });
                break;
        }
    });
    function setMatCodeData(data) {
        matCodeData = data;
        for (var i = 0; i < matCodeData.length; i++) {
            matCodeData[i]["count"] = initCountVal;
        }
    }
    function updateMatCodeData(matnr, count, index) {
        if (isNaN(count)) {
            layer.msg("请输入数字");
        } else {
            if (count > 0) {
                for (var i = 0; i < matCodeData.length; i++) {
                    if (matCodeData[i]["matnr"] === matnr && matCodeData[i]["index"] === index) {
                        matCodeData[i]["anfme"] = count;
                    }
                }
            } else {
                layer.msg("数量必须大于零");
            }
        }
        tableIns.reload({
            data: matCodeData,
        });
    }
    // 获取可用入库站点
    function getInBound() {
        // 获取仓库下拉
        $.ajax({
            url: baseUrl + "/locArea/queryAll/auth",
            headers: {'token': localStorage.getItem('token')},
            method: 'POST',
            success: function (res) {
                if (res.code === 200) {
                    var html = "";
                    if (res.data && res.data.length > 0) {
                        html += res.data.map(function (item) {
                            return "<Option value=" + item.uuid + ">" + item.name + "</Option>";
                        });
                    }
                    $('#putSiteSelect').append(html);
                    form.render('select');
                } else if (res.code === 403) {
                    top.location.href = baseUrl + "/";
                } else {
                    layer.msg(res.msg)
                }
            }
        })
    }
});
// 提取物料
var matCodeLayerIdx;
function getMat() {
    matCodeLayerIdx = layer.open({
        type: 2,
        title: '提取物料',
        maxmin: true,
        area: [top.detailWidth, top.detailHeight],
        shadeClose: true,
        content: '../pakStore/matQuery.html',
        success: function (layero, index) {
        }
    });
}
// 添加表格数据
function addTableData(data) {
    // 数据格式转换
    var newData = [];
    data.map(function (item) {
        newData.push({
            matnr: item.matNo,
            maktx: item.matName,
            lgnum: item.str3,
            type: item.str2,
            supplier: item.str6,
            warehouse: item.str7,
            brand: item.str8,
            altme: item.str1,
            state: 1, // 入库状态
            anfme: 0,
            index: index,
        });
    });
    index++;
    for (var i = 0; i < newData.length; i++) {
        let pass = false;
        for (var j = 0; j < matCodeData.length; j++) {
            if (newData[i].matnr === matCodeData[j].matNo) {
                pass = true;
                break;
            }
        }
        if (pass) {
            newData.splice(i--, 1);
        } else {
            newData[i]["count"] = initCountVal;
        }
    }
    matCodeData.push.apply(matCodeData, newData);
    tableIns.reload({data: matCodeData});
    layer.close(matCodeLayerIdx);
}