自动化立体仓库 - WMS系统
#
whycq
2025-01-08 d3cb0e841e6585aa84a45f18bb30965db8d1a6aa
src/main/webapp/static/js/order/order.js
@@ -45,11 +45,12 @@
        cols: [[
            {type: 'numbers'},
            // {field: 'orderNo', title: '单据编号', templet: '#orderNoTpl'},
            {field: 'orderNo', title: '单据编号',  minWidth: 160, width: 300},
            {field: 'docType$', align: 'center', title: '类型',  minWidth: 160, width: 160},
            {align: 'center', title: '明细', toolbar: '#tbLook', minWidth: 160, width: 160},
            {field: 'createTime$', title: '创建时间', minWidth: 200, width: 200},
            {field: 'settle$', align: 'center', title: '状态', templet: '#settleTpl',  minWidth: 160, width: 160},
            {field: 'orderNo', title: '单据编号',  minWidth: 160, },
            {field: 'docType$', align: 'center', title: '类型',  minWidth: 160, },
            {field: 'threeCode', title: '销售单号',  minWidth: 160, },
            {align: 'center', title: '明细', toolbar: '#tbLook', minWidth: 160, },
            {field: 'createTime$', title: '创建时间', minWidth: 200, },
            {field: 'settle$', align: 'center', title: '状态', templet: '#settleTpl',  minWidth: 160, },
            {field: 'memo', align: 'center',title: '备注', hide: true},
            {align: 'center', title: '操作', toolbar: '#operate'}
        ]],
@@ -90,6 +91,10 @@
    // 导入销售单
    $("#importOrder").click(function () {
        $("#importExcel").trigger("click");
    });
    // 导入销售单
    $("#importOrder2").click(function () {
        $("#importExcel2").trigger("click");
    });
    // 工具条点击事件
@@ -134,8 +139,18 @@
                            {type: 'numbers'},
                            {field: 'matnr', title: '商品编码', width: 160},
                            {field: 'maktx', title: '商品名称', width: 160},
                            {field: 'bomCode', title: 'Bom号'},
                            {field: 'threeCode', title: '销售单号'},
                            {field: 'batch', title: '批号'},
                            {field: 'anfme', title: '数量'},
                            {field: 'supp', title: '立库库存', templet: function (item){
                                    if(item.supp >= item.anfme)   return `<span style="color: #00FF00">${item.supp}</span>`;
                                    else return `<span style="color: red">${item.supp}</span>`;
                                }},
                            {field: 'suppCode', title: '平库库存' , templet: function (item){
                                if(item.suppCode >= item.anfme)   return `<span style="color: #00FF00">${item.suppCode}</span>`;
                                else return `<span style="color: red">${item.suppCode}</span>`;
                                }},
                            {field: 'workQty', title: '作业数量'},
                            {field: 'qty', title: '完成数量', style: 'font-weight: bold'},
                            // {field: 'unit', title: '单位'},
@@ -252,7 +267,9 @@
                        {type: 'numbers', title: '#'},
                        {field: 'matnr', title: '商品编码', width: 160},
                        {field: 'maktx', title: '商品名称', width: 200},
                        {field: 'bomCode', title: 'Bom号', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
                        {field: 'batch', title: '批号', edit: true},
                        {field: 'threeCode', title: '销售单号', edit: true},
                        {field: 'specs', title: '规格'},
                        {field: 'anfme', title: '数量(修改)', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
                        // {field: 'workQty', title: '作业数量',  minWidth: 100, width: 100},
@@ -521,9 +538,6 @@
    }
    // 打印
    function btnPrint(orderId, orderNo, settle) {
        console.log(orderId);
        console.log(orderNo);
        console.log(settle);
        printMatCodeNos.push(orderNo)
        var templateNo = 3;
        $.ajax({
@@ -535,16 +549,21 @@
            success: function (res) {
                if (res.code === 200){
                    layer.closeAll();
                    console.log(res);
                    for (let i=0;i<res.data.length;i++){
                        var templateDom = $("#templatePreview"+templateNo);
                        var className = templateDom.attr("class");
                        if (className === 'template-barcode') {
                            res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=1&param="+res.data[i].orderNo+
                                ";"+res.data[i].matnr+";"+res.data[i].batch;
                                ";"+res.data[i].matnr+";"+res.data[i].batch+";"+res.data[i].anfme+";"+res.data[i].bomCode;
                        } else {
                            res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2&param="+res.data[i].orderNo+
                                ";"+res.data[i].matnr+";"+res.data[i].batch;
                            if (res.data[i].bomCode) {
                                res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2&param="+res.data[i].orderNo+
                                    ";"+res.data[i].matnr+";"+res.data[i].batch+";"+res.data[i].anfme+";"+res.data[i].bomCode;
                            } else {
                                res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2&param="+res.data[i].orderNo+
                                    ";"+res.data[i].matnr+";"+res.data[i].batch+";"+res.data[i].anfme;
                            }
                        }
                    }
                    var tpl = templateDom.html();
@@ -590,6 +609,35 @@
    }, function(index){
    });
}
function upload2(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 + "/order/excel/import2/auth";
        var form = new FormData();
        form.append("file", file);
        let xhr = new XMLHttpRequest();
        xhr.open("post", url, true);
        xhr.setRequestHeader('token', localStorage.getItem('token'));
        xhr.onload = uploadComplete;
        xhr.onerror =  uploadFailed;
        xhr.onloadend = function () {
            layer.closeAll('loading');
        };
        // xhr.upload.onprogress = progressFunction;
        xhr.upload.onloadstart = function(){
            ot = new Date().getTime();
            oloaded = 0;
        };
        xhr.send(form);
    }, function(index){
    });
}
function uploadComplete(evt) {
    let res = JSON.parse(evt.target.responseText);
    if(res.code === 200) {