From 48a031b40b23d7225899e3de0c6fb6df9bc2ee26 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 13 九月 2024 17:48:32 +0800
Subject: [PATCH] #

---
 src/main/webapp/static/js/order/order.js |  342 +++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 259 insertions(+), 83 deletions(-)

diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index a8b8197..62ab391 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -1,3 +1,7 @@
+var insTbCount = 0;
+var admin;
+var insTb
+var printMatCodeNos = [];
 layui.config({
     base: baseUrl + "/static/layui/lay/modules/"
 }).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', 'laydate'], function () {
@@ -6,9 +10,30 @@
     var form = layui.form;
     var table = layui.table;
     var util = layui.util;
-    var admin = layui.admin;
+    admin = layui.admin;
     var xmSelect = layui.xmSelect;
     var layDate = layui.laydate;
+
+    // 娓叉煋鎼滅储妯℃澘
+    $.ajax({
+        url: baseUrl+"/docType/list/auth",
+        headers: {'token': localStorage.getItem('token')},
+        data: {
+            limit: 9999
+        },
+        method: 'POST',
+        success: function (res) {
+            if (res.code === 200){
+                let template = Handlebars.compile($('#docTypeTpl').html());
+                $('#docType-query').html(template(res.data));
+                layui.form.render('select');
+            } else if (res.code === 403){
+                top.location.href = baseUrl+"/";
+            } else {
+                layer.msg(res.msg, {icon: 2})
+            }
+        }
+    })
 
     // 娓叉煋琛ㄦ牸
     var insTb = table.render({
@@ -19,13 +44,14 @@
         cellMinWidth: 100,
         cols: [[
             {type: 'numbers'},
-            {field: 'orderNo', title: '鍗曟嵁缂栧彿', sort: true},
+            // {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: 'memo', align: 'center',title: '澶囨敞', hide: true},
-            {align: 'center', title: '鎿嶄綔', toolbar: '#operate', minWidth: 130, width: 130}
+            {align: 'center', title: '鎿嶄綔', toolbar: '#operate'}
         ]],
         request: {
             pageName: 'curr',
@@ -43,9 +69,11 @@
             statusCode: 200
         },
         done: function (res, curr, count) {
+            limit();
             if (res.code === 403) {
                 top.location.href = baseUrl+"/";
             }
+            insTbCount = count;
         }
     });
 
@@ -59,6 +87,11 @@
         showEditModel();
     });
 
+    // 瀵煎叆閿�鍞崟
+    $("#importOrder").click(function () {
+        $("#importExcel").trigger("click");
+    });
+
     // 宸ュ叿鏉$偣鍑讳簨浠�
     table.on('tool(order)', function (obj) {
         var data = obj.data;
@@ -67,6 +100,12 @@
             showEditModel(data);
         } else if (layEvent === 'del') {
             doDel(data.id);
+        } else if (layEvent === 'complete') {
+            doModify(data.id, data.orderNo, 4);
+        } else if (layEvent === 'btnPrint') {
+            btnPrint(data.id, data.orderNo, 4);
+        } else if (layEvent === 'manPrint') {
+            addPakOut(data.orderNo);
         } else if (layEvent === 'look') {
             var $a = $(obj.tr).find('a[lay-event="look"]');
             var offset = $a.offset();
@@ -75,7 +114,7 @@
             layer.open({
                 type: 1,
                 title: false,
-                area: '750px',
+                area: '820px',
                 offset: [top + 'px', (left - 530 + $a.outerWidth()) + 'px'],
                 shade: .01,
                 shadeClose: true,
@@ -93,11 +132,21 @@
                         cellMinWidth: 100,
                         cols: [[
                             {type: 'numbers'},
-                            {field: 'matnr', title: '鍟嗗搧缂栫爜'},
+                            {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
                             {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
                             {field: 'batch', title: '鎵瑰彿'},
                             {field: 'anfme', title: '鏁伴噺'},
-                            {field: 'unit', 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: '鍗曚綅'},
                             // {
                             //     field: 'createTime$', title: '鍒涘缓鏃堕棿', sort: true, templet: function (d) {
                             //         return util.toDateString(d.createTime);
@@ -129,13 +178,17 @@
                     });
                 }
             });
+        }else if (layEvent === 'wrkTrace'){
+            showWrkTrace(data.id);
         }
     });
 
+    function showWrkTrace(orderId) {
+        console.log(orderId);
+    }
+
     // 鏄剧ず琛ㄥ崟寮圭獥
     function showEditModel(expTpe) {
-        var mlist=null
-        var inQtys=[]
         admin.open({
             type: 1,
             title: (expTpe ? '淇敼' : '娣诲姞') + '鍗曟嵁',
@@ -158,29 +211,12 @@
                     }
                     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 (nList[xi].anfme < nList[xi].workQty){
+                            layer.msg('鏁伴噺涓嶈兘灏忎簬宸蹭綔涓氭暟閲�', {icon: 2});
                             return false;
                         }
                     }
@@ -189,6 +225,7 @@
                         url: baseUrl+"/order/form/" + (isExpAdd?"add":"modify") + "/auth",
                         headers: {'token': localStorage.getItem('token')},
                         data: JSON.stringify({
+                            orderId: Number(data.field.id),
                             docType: Number(data.field.docType),
                             orderNo: data.field.orderNo,
                             orderDetlList: nList
@@ -199,7 +236,7 @@
                             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+"/";
@@ -223,20 +260,15 @@
                         {type: 'numbers', title: '#'},
                         {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
                         {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200},
-                        {field: 'batch', title: '鎵瑰彿'},
+                        {field: 'batch', title: '鎵瑰彿', edit: true},
                         {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: 'workQty', 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) {
-                        mlist= res.data
-                        for (let i = 0; i < mlist.length; i++) {
-                            var waitIn=mlist[i]
-                            inQtys.push(waitIn.qty)
-                        }
                         $(layero).find('.layui-table-view').css('margin', '0');
                     },
                     size: ''
@@ -267,6 +299,10 @@
                     if (layEvent === 'edit') {
                         showEditModel2(data);
                     } else if (layEvent === 'del') {
+                        if(data.workQty > 0){
+                            layer.msg("宸插瓨鍦ㄤ綔涓氭暟閲忥紝涓嶈兘鍒犻櫎", {icon: 2});
+                            return;
+                        }
                         layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', {
                             shade: .1,
                             skin: 'layui-layer-admin'
@@ -284,35 +320,32 @@
                 });
                 // 鏄庣粏鏁版嵁淇敼
                 table.on('edit(formSSXMTable)', function (obj) {
-                    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==='anfme'){
+                    let index = obj.tr.attr("data-index");
+                    let data = xxDataList[index];
+                    if (obj.field === 'anfme'){
                         let vle = Number(obj.value);
                         if (isNaN(vle)) {
                             layer.msg("璇疯緭鍏ユ暟瀛�", {icon: 2});
                             return false;
                         } else {
-                            if (vle > 0) {
-                                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 {
+                            if (vle <= 0) {
                                 layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2});
+                                // data[obj.field] = 0;
+                                // insTbSSXM.reload({data: xxDataList});
+                                return false;
+                            }
+                            if(obj.value < data.workQty){
+                                layer.msg("杈撳叆鏁伴噺涓嶈兘灏忎簬浣滀笟涓暟閲�", {icon: 2});
+                                // data[obj.field] = 0;
+                                // insTbSSXM.reload({data: xxDataList});
                                 return false;
                             }
                         }
                     }
+                    data[obj.field] = obj.value;
                     insTbSSXM.reload({data: xxDataList});
                 });
-                //
+
                 $('#matAddBtnComment').click(function () {
                     showEditModel2();
                 });
@@ -322,41 +355,34 @@
                     admin.open({
                         type: 1,
                         offset: '150px',
-                        area: '480px',
+                        area: '680px',
                         title: (exp ? '淇敼' : '娣诲姞') + '鏄庣粏',
                         content: $('#matEditDialog').html(),
                         success: function (layero, dIndex) {
-                            $(layero).children('.layui-layer-content').css('overflow', 'visible');
                             // 鍥炴樉鏁版嵁
                             form.val('matEditForm', exp);
                             // 琛ㄥ崟鎻愪氦浜嬩欢
                             form.on('submit(matEditSubmit)', function (data) {
-                                var existMats = [];
-                                xxDataList.forEach(function(elem) {
-                                    existMats.push(elem.matNo);
-                                });
-                                var selectList = matXmSelect.getValue();
-                                for (var i = 0; i<selectList.length; i++) {
-                                    var item = selectList[i];
-                                    if (existMats.indexOf(item.value) === -1) {
-                                        // 鏌ヨ鐗╂枡璇︽儏
-                                        $.ajax({
-                                            url: baseUrl+"/matCode/covert/"+item.value+"/auth",
-                                            headers: {'token': localStorage.getItem('token')},
-                                            method: 'GET',
-                                            async: false,
-                                            success: function (res) {
-                                                if (res.code === 200){
-                                                    xxDataList.push(res.data);
-                                                    insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
-                                                } else if (res.code === 403){
-                                                    top.location.href = baseUrl+"/";
-                                                }else {
-                                                    layer.msg(res.msg, {icon: 2})
-                                                }
+                                let selectList = matXmSelect.getValue();
+                                for (let i = 0; i<selectList.length; i++) {
+                                    let item = selectList[i];
+                                    // 鏌ヨ鐗╂枡璇︽儏
+                                    $.ajax({
+                                        url: baseUrl+"/mat/covert/"+item.value+"/auth",
+                                        headers: {'token': localStorage.getItem('token')},
+                                        method: 'GET',
+                                        async: false,
+                                        success: function (res) {
+                                            if (res.code === 200){
+                                                xxDataList.push(res.data);
+                                                insTbSSXM.reload({data: xxDataList, page: {curr: 1}});
+                                            } else if (res.code === 403){
+                                                top.location.href = baseUrl+"/";
+                                            }else {
+                                                layer.msg(res.msg, {icon: 2})
                                             }
-                                        })
-                                    }
+                                        }
+                                    })
                                 }
                                 layer.close(dIndex);
                                 return false;
@@ -419,7 +445,49 @@
                 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+"/";
+                    }else {
+                        layer.msg(res.msg, {icon: 2});
+                    }
+                }
+            })
+        });
+    }
+
+    // 淇敼璁㈠崟鐘舵��
+    function doModify(orderId, orderNo, settle) {
+        layer.confirm('纭畾瑕佹墜鍔ㄥ畬缁撳悧锛�', {
+            shade: .1,
+            skin: 'layui-layer-admin'
+        }, function (i) {
+            layer.close(i);
+            layer.load(2);
+            console.log(orderId);
+            console.log(settle);
+            $.ajax({
+                url: baseUrl+"/order/update/auth",
+                headers: {'token': localStorage.getItem('token')},
+                data: {
+                    id: orderId,
+                    orderNo: orderNo,
+                    settle: settle
+                },
+                method: 'POST',
+                success: function (res) {
+                    layer.closeAll('loading');
+                    if (res.code === 200){
+                        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+"/";
@@ -436,4 +504,112 @@
         ,type: 'datetime'
         ,range: true
     });
+    // 鐢熸垚鎷h揣鍗�
+    function addPakOut(expTpe) {
+        $.ajax({
+            url: baseUrl+"/ManPakOut/add/auth",
+            headers: {'token': localStorage.getItem('token')},
+            data: JSON.stringify({
+                docType: Number(20),
+                orderNo: expTpe,
+            }),
+            contentType:'application/json;charset=UTF-8',
+            method: 'POST',
+            success: function (res) {
+                if (res.code === 200){
+                    layer.msg("鐢熸垚鎷h揣鍗曪細ok");
+                } else if (res.code === 403){
+                    layer.msg("鐢熸垚鎷h揣鍗曞け璐ワ細403");
+                }else {
+                    layer.msg("鐢熸垚鎷h揣鍗曞け璐ワ細鏈煡寮傚父");
+                }
+
+            }
+        })
+    }
+    // 鎵撳嵃
+    function btnPrint(orderId, orderNo, settle) {
+        console.log(orderId);
+        console.log(orderNo);
+        console.log(settle);
+        printMatCodeNos.push(orderNo)
+        var templateNo = 3;
+        $.ajax({
+            url: baseUrl+"/order/print/auth",
+            headers: {'token': localStorage.getItem('token')},
+            data: {param: printMatCodeNos},
+            method: 'POST',
+            async: false,
+            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].anfme;
+                        } 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();
+                    var template = Handlebars.compile(tpl);
+                    var html = template(res);
+                    var box = $("#box");
+                    box.html(html);box.show();
+                    box.print({mediaPrint:true});
+                    box.hide();
+                } else if (res.code === 403){
+                    top.location.href = baseUrl+"/";
+                }else {
+                    layer.msg(res.msg)
+                }
+            }
+        })
+    }
 });
+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 + "/order/excel/import/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) {
+        layer.msg(res.msg, {icon: 1});
+        insTb.reload({page: {curr: 1}});
+    } else {
+        alert(res.msg);
+        // layer.msg(res.msg, {icon: 2});
+    }
+}
+function uploadFailed(evt) {
+    let res = JSON.parse(evt.target.responseText);
+    alert(res.msg);
+    // layer.msg(res.msg, {icon: 2});
+}

--
Gitblit v1.9.1