自动化立体仓库 - WMS系统
luxiaotao1123
2022-03-25 ecbb38cc99fc0cd69295f91b7b3c19fe4da486a2
src/main/webapp/static/js/order/order.js
@@ -1,3 +1,4 @@
var insTbCount = 0;
layui.config({
    base: baseUrl + "/static/layui/lay/modules/"
}).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', 'laydate'], function () {
@@ -46,6 +47,7 @@
            if (res.code === 403) {
                top.location.href = baseUrl+"/";
            }
            insTbCount = count;
        }
    });
@@ -66,7 +68,7 @@
        if (layEvent === 'edit') {
            showEditModel(data);
        } else if (layEvent === 'del') {
            doDel(data.billNo);
            doDel(data.id);
        } else if (layEvent === 'look') {
            var $a = $(obj.tr).find('a[lay-event="look"]');
            var offset = $a.offset();
@@ -85,24 +87,27 @@
                    table.render({
                        elem: '#lookSSXMTable',
                        headers: {token: localStorage.getItem('token')},
                        url: baseUrl+'/waitMatin/list/auth',
                        url: baseUrl+'/orderDetl/list/auth',
                        where: {
                            bill_no: data.billNo
                            order_id: data.id
                        },
                        page: true,
                        cellMinWidth: 100,
                        cols: [[
                            {type: 'numbers'},
                            {field: 'matNo', title: '物料编码'},
                            {field: 'matName', title: '物料名称', width: 160},
                            {field: 'qty', title: '数量'},
                            {
                                field: 'createTime$', title: '创建时间', sort: true, templet: function (d) {
                                    return util.toDateString(d.createTime);
                                },  width: 180
                            },
                            {field: 'inQty', title: '已入库量'},
                            {field: 'color', title: '颜色'},
                            {field: 'matnr', title: '商品编码'},
                            {field: 'maktx', title: '商品名称', width: 160},
                            {field: 'batch', title: '批号'},
                            {field: 'anfme', title: '数量'},
                            {field: 'qty', title: '作业数量', style: 'font-weight: bold'},
                            {field: 'unit', title: '单位'},
                            // {
                            //     field: 'createTime$', title: '创建时间', sort: true, templet: function (d) {
                            //         return util.toDateString(d.createTime);
                            //     },  width: 180
                            // },
                            // {field: 'inQty', title: '已入库量'},
                            // {field: 'color', title: '颜色'},
                            {field: 'specs', title: '规格'}
                        ]],
                        request: {
@@ -145,59 +150,60 @@
                // 回显数据
                form.val('editForm', expTpe);
                if (expTpe) {
                    $('#billNo').attr("disabled", "disabled");
                    $('#orderNo').attr("disabled", "disabled");
                }
                // 表单提交事件
                form.on('submit(waitMatinEditSubmit)', function (data) {
                form.on('submit(orderEditSubmit)', function (data) {
                    // 组装数据
                    if (xxDataList.length <= 0) {
                        layer.tips('请添加单据明细', '#matAddBtnComment', {tips: [1, '#ff4c4c']});
                        return false;
                    }
                    var param = [];
                    var nList = admin.util.deepClone(xxDataList);
                    for (var xi = 0; xi < nList.length; xi++) {
                        // console.log('已入库:'+nList[xi].inQty)
                        // console.log('旧数量:'+inQtys[xi])
                        // console.log('数量:'+nList[xi].qty)
                        if (nList[xi].inQty > 0 && inQtys[xi]!=nList[xi].qty) {
                            layer.msg("已入库无法修改", {icon: 2})
                            return false;
                        } else  if (nList[xi].qty > 0) {
                            param.push({
                                billNo: data.field.billNo,
                                billType: data.field.billType,
                                matNo: nList[xi].matNo,
                                matName: nList[xi].matName,
                                color: nList[xi].color,
                                size: nList[xi].size,
                                specs: nList[xi].specs,
                                memo: nList[xi].memo,
                                unit: nList[xi].unit,
                                qty: nList[xi].qty,
                                inQty: nList[xi].inQty,
                            })
                        }else if (nList[xi].qty == 0){
                    let nList = admin.util.deepClone(xxDataList);
                    for (let xi = 0; xi < nList.length; xi++) {
                        // if (nList[xi].inQty > 0 && inQtys[xi] !== nList[xi].anfme) {
                        //     layer.msg("已入库无法修改", {icon: 2})
                        //     return false;
                        // } else if (nList[xi].anfme > 0) {
                        //     param.push({
                        //         billNo: data.field.billNo,
                        //         billType: data.field.billType,
                        //         matNo: nList[xi].matNo,
                        //         matName: nList[xi].matName,
                        //         color: nList[xi].color,
                        //         size: nList[xi].size,
                        //         specs: nList[xi].specs,
                        //         memo: nList[xi].memo,
                        //         unit: nList[xi].unit,
                        //         qty: nList[xi].qty,
                        //         inQty: nList[xi].inQty,
                        //     })
                        // } else if (nList[xi].anfme <= 0){
                        //     layer.msg('明细修改数量不合法', {icon: 2});
                        //     return false;
                        // }
                        if (nList[xi].anfme <= 0){
                            layer.msg('明细修改数量不合法', {icon: 2});
                            return false;
                        }
                    }
                    if (param.length === 0) {
                        layer.msg('单据明细数量不合法', {icon: 2});
                        return false;
                    }
                    layer.load(2);
                    $.ajax({
                        url: baseUrl+"/waitMatin/" + (isExpAdd?"add":"modify") + "/auth",
                        url: baseUrl+"/order/form/" + (isExpAdd?"add":"modify") + "/auth",
                        headers: {'token': localStorage.getItem('token')},
                        data: JSON.stringify(param),
                        data: JSON.stringify({
                            orderId: Number(data.field.id),
                            docType: Number(data.field.docType),
                            orderNo: data.field.orderNo,
                            orderDetlList: nList
                        }),
                        contentType:'application/json;charset=UTF-8',
                        method: 'POST',
                        success: function (res) {
                            layer.closeAll('loading');
                            if (res.code === 200){
                                layer.close(dIndex);
                                insTb.reload({page: {curr: 1}});
                                $(".layui-laypage-btn")[0].click();
                                layer.msg(res.msg, {icon: 1});
                            } else if (res.code === 403){
                                top.location.href = baseUrl+"/";
@@ -218,16 +224,15 @@
                    height: '350px;',
                    cellMinWidth: 100,
                    cols: [[
                        {type: 'numbers'},
                        {field: 'matNo', title: '物料编码'},
                        {field: 'matName', title: '物料名称', width: 160},
                        {field: 'specs', title: '规格', width: 160},
                        {field: 'color', title: '颜色', width: 160},
                        {field: 'size', title: '尺寸', width: 160},
                        {field: 'qty', title: '修改数量', style: 'color: blue;font-weight: bold', edit: true, minWidth: 100, width: 100},
                        {field: 'inQty', title: '已入库量',  minWidth: 100, width: 100},
                        {field: 'unit', title: '单位', width: 160},
                        {field: 'memo', title: '备注' , edit: true, width: 160},
                        {type: 'numbers', title: '#'},
                        {field: 'matnr', title: '商品编码', width: 160},
                        {field: 'maktx', title: '商品名称', width: 200},
                        {field: 'batch', title: '批号'},
                        {field: 'specs', title: '规格'},
                        {field: 'anfme', title: '数量(修改)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
                        // {field: 'inQty', title: '已入库量',  minWidth: 100, width: 100},
                        {field: 'unit', title: '单位', width: 80},
                        {field: 'memo', title: '备注' , edit: true},
                        {align: 'center', title: '操作', toolbar: '#formSSXMTableBar', minWidth: 80, width: 80, fixed: 'right'}
                    ]],
                    done: function (res) {
@@ -242,7 +247,7 @@
                };
                if (!isExpAdd) {
                    $.ajax({
                        url: baseUrl+"/waitMatin/detl/list/auth?billNo=" + expTpe.billNo,
                        url: baseUrl+"/order/detl/all/auth?orderId=" + expTpe.id,
                        headers: {'token': localStorage.getItem('token')},
                        method: 'GET',
                        async: false,
@@ -272,7 +277,7 @@
                        }, function (i) {
                            layer.close(i);
                            for (var j = 0; j < xxDataList.length; j++) {
                                if (xxDataList[j].matNo === data.matNo) {
                                if (xxDataList[j].matnr === data.matnr && xxDataList[j].batch === data.batch) {
                                    xxDataList.splice(j, 1);
                                    break;
                                }
@@ -281,30 +286,31 @@
                        });
                    }
                });
                // 数量修改
                // 明细数据修改
                table.on('edit(formSSXMTable)', function (obj) {
                    if (obj.field=='memo'){
                    let vle = obj.value;
                        for (var i=0;i<xxDataList.length;i++) {
                            if (xxDataList[i]["matNo"] === obj.data.matNo) {
                                xxDataList[i]["memo"] = vle;
                    if (obj.field === 'memo'){
                        for (let i=0;i<xxDataList.length;i++) {
                            if (xxDataList[i]["matnr"] === obj.data.matnr && xxDataList[i]["batch"] === obj.data.batch) {
                                xxDataList[i]["memo"] = obj.value;
                                break;
                            }
                        }
                    }else if (obj.field=='qty'){
                    } else if (obj.field==='anfme'){
                        let vle = Number(obj.value);
                        if (isNaN(vle)) {
                            layer.msg("请输入数字");
                            layer.msg("请输入数字", {icon: 2});
                            return false;
                        } else {
                            if (vle > 0) {
                                for (var i=0;i<xxDataList.length;i++) {
                                    if (xxDataList[i]["matNo"] === obj.data.matNo) {
                                        xxDataList[i]["qty"] = vle;
                                for (let i=0;i<xxDataList.length;i++) {
                                    if (xxDataList[i]["matnr"] === obj.data.matnr && xxDataList[i]["batch"] === obj.data.batch) {
                                        xxDataList[i]["anfme"] = vle;
                                        break;
                                    }
                                }
                            } else {
                                layer.msg("数量必须大于零");
                                layer.msg("数量必须大于零", {icon: 2});
                                return false;
                            }
                        }
                    }
@@ -339,23 +345,13 @@
                                    if (existMats.indexOf(item.value) === -1) {
                                        // 查询物料详情
                                        $.ajax({
                                            url: baseUrl+"/matCode/"+item.value+"/auth",
                                            url: baseUrl+"/matCode/covert/"+item.value+"/auth",
                                            headers: {'token': localStorage.getItem('token')},
                                            method: 'GET',
                                            async: false,
                                            success: function (res) {
                                                if (res.code === 200){
                                                    var mat = res.data;
                                                    xxDataList.push({
                                                        matNo: mat.matNo,
                                                        matName: mat.matName,
                                                        color:mat.color,
                                                        size:mat.size,
                                                        specs:mat.specs,
                                                        memo: mat.memo,
                                                        unit: mat.unit,
                                                        qty: 0.0
                                                    });
                                                    xxDataList.push(res.data);
                                                    insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
                                                } else if (res.code === 403){
                                                    top.location.href = baseUrl+"/";
@@ -410,26 +406,28 @@
    }
    // 删除单据
    function doDel(billNo) {
    function doDel(orderId) {
        layer.confirm('确定要删除吗?', {
            shade: .1,
            skin: 'layui-layer-admin'
        }, function (i) {
            layer.close(i);
            layer.load(2);
            $.ajax({
                url: baseUrl+"/waitMatin/delete/auth",
                url: baseUrl+"/order/delete/auth",
                headers: {'token': localStorage.getItem('token')},
                data: {
                    billNo: billNo
                    orderId: orderId
                },
                // contentType:'application/json;charset=UTF-8',
                method: 'POST',
                success: function (res) {
                    layer.closeAll('loading');
                    if (res.code === 200){
                        insTb.reload({page: {curr: 1}});
                        if (insTbCount === 0) {
                            insTb.reload({page: {curr: 1}});
                        } else {
                            $(".layui-laypage-btn")[0].click();
                        }
                        layer.msg(res.msg, {icon: 1});
                    } else if (res.code === 403){
                        top.location.href = baseUrl+"/";