From cffbaec750882dd7f4d112d7c735d247e2a961a7 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期五, 10 十一月 2023 13:32:50 +0800
Subject: [PATCH] #

---
 src/main/webapp/static/js/order/order.js |  252 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 238 insertions(+), 14 deletions(-)

diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index bc87226..abe7000 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -1,4 +1,5 @@
 var insTbCount = 0;
+var printMatCodeNos = [];
 layui.config({
     base: baseUrl + "/static/layui/lay/modules/"
 }).use(['layer', 'form', 'table', 'util', 'admin', 'xmSelect', 'laydate'], function () {
@@ -10,6 +11,27 @@
     var 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({
@@ -26,7 +48,8 @@
             {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', width: 180}
+            {field: 'createBy$', align: 'center', title: '鎿嶄綔鍛�',  minWidth: 160, width: 160},
+            {align: 'center', title: '鎿嶄綔', toolbar: '#operate', width: 260}
         ]],
         request: {
             pageName: 'curr',
@@ -61,17 +84,87 @@
     $("#orderAddBtn").click(function () {
         showEditModel();
     });
+    function btnPrint(id, orderNo, number) {
+        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;
+                        } else {
+                            res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2&param="+res.data[i].orderNo+
+                                ";"+res.data[i].matnr+";"+res.data[i].batch;
+                        }
+                    }
+                    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 addPakOut(expTpe) {
+        $.ajax({
+            url: baseUrl+"/pakout/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揣鍗曞け璐ワ細鏈煡寮傚父");
+                }
+
+            }
+        })
+    }
+
 
     // 宸ュ叿鏉$偣鍑讳簨浠�
     table.on('tool(order)', function (obj) {
         var data = obj.data;
         var layEvent = obj.event;
+
+
+
         if (layEvent === 'edit') {
             showEditModel(data);
         } else if (layEvent === 'del') {
             doDel(data.id);
+        }else if (layEvent === 'btnPrint') {
+            //btnPrint(data.id, data.orderNo, 4);
+            btnPrint2(data.id, data.orderNo, 4);
         } else if (layEvent === 'complete') {
-            doModify(data.id, 4);
+            doModify(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();
@@ -98,12 +191,15 @@
                         cellMinWidth: 100,
                         cols: [[
                             {type: 'numbers'},
-                            {field: 'matnr', title: '鍟嗗搧缂栫爜'},
+                            {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
                             {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 160},
-                            {field: 'batch', title: '鎵瑰彿'},
+                            {field: 'owner$', title: '璐т富', width: 160},
+                            {field: 'payment$', title: '璐х墿鐗瑰緛', width: 160},
+                            // {field: 'batch', title: '鎵瑰彿'},
                             {field: 'anfme', title: '鏁伴噺'},
-                            {field: 'qty', title: '浣滀笟鏁伴噺', style: 'font-weight: bold'},
-                            {field: 'unit', title: '鍗曚綅'},
+                            {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);
@@ -111,7 +207,8 @@
                             // },
                             // {field: 'inQty', title: '宸插叆搴撻噺'},
                             // {field: 'color', title: '棰滆壊'},
-                            {field: 'specs', title: '瑙勬牸'}
+                            // {field: 'specs', title: '瑙勬牸'},
+                             {field: 'weight', title: '閲嶉噺'}
                         ]],
                         request: {
                             pageName: 'curr',
@@ -135,6 +232,9 @@
                     });
                 }
             });
+        }
+        else if (layEvent === 'printExcel'){
+            printExcel(data);
         }
     });
 
@@ -161,9 +261,20 @@
                         return false;
                     }
                     let nList = admin.util.deepClone(xxDataList);
+                    console.log(nList);
                     for (let xi = 0; xi < nList.length; xi++) {
                         if (nList[xi].anfme <= 0){
                             layer.msg('鏄庣粏淇敼鏁伴噺涓嶅悎娉�', {icon: 2});
+                            return false;
+                        }
+                        if (nList[xi].anfme < nList[xi].workQty){
+                            layer.msg('鏁伴噺涓嶈兘灏忎簬宸蹭綔涓氭暟閲�', {icon: 2});
+                            return false;
+                        }
+                    }
+                    for (let xi = 0; xi < nList.length; xi++) {
+                        if (nList[xi].owner <= 0){
+                            layer.msg('璐т富缂栧彿璇锋煡鐪嬭揣涓绘。妗�', {icon: 2});
                             return false;
                         }
                     }
@@ -207,19 +318,44 @@
                         {type: 'numbers', title: '#'},
                         {field: 'matnr', title: '鍟嗗搧缂栫爜', width: 160},
                         {field: 'maktx', title: '鍟嗗搧鍚嶇О', width: 200},
-                        {field: 'batch', title: '鎵瑰彿', edit: true},
                         {field: 'specs', title: '瑙勬牸'},
+                        {field: 'weight', title: '閲嶉噺', edit: true},
                         {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: 'owner', title: '璐т富缂栧彿', style: 'color: blue;font-weight: bold', edit: true, minWidth: 110, width: 110},
+                        {field: 'payment', title: '璐х墿鐘舵��', style: 'color: blue;font-weight: bold', templet: '#payment'},
+                        // {field: 'payment', title: '璐х墿鐘舵��',align: 'center', templet: '#payment'},
+                        {field: 'qty', 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) {
+                    done: function (res, curr, count) {
                         $(layero).find('.layui-table-view').css('margin', '0');
+                        var options = this;
+
+                        // 鑾峰彇褰撳墠琛屾暟鎹�
+                        table.getRowData = function(elem){
+                            var index = $(elem).closest('tr').data('index');
+                            return table.cache[options.id][index] || {};
+                        };
+
+                        $('.select-primary').on('change', function(){
+                            var value = this.value; // 鑾峰彇閫変腑椤� value
+                            var data = table.getRowData(this);
+                            console.log(value);
+                            xxDataList.forEach(res => {
+                                if (data.id === res.id){
+                                    console.log(res)
+                                    res.payment = value;
+                                }
+                            })
+
+
+                        });
                     },
                     size: ''
                 };
+
                 if (!isExpAdd) {
                     $.ajax({
                         url: baseUrl+"/order/detl/all/auth?orderId=" + expTpe.id,
@@ -246,6 +382,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'
@@ -273,12 +413,20 @@
                         } else {
                             if (vle <= 0) {
                                 layer.msg("鏁伴噺蹇呴』澶т簬闆�", {icon: 2});
+                                // data[obj.field] = 0;
+                                // insTbSSXM.reload({data: xxDataList});
+                                return false;
+                            }
+                            if(obj.value < data.qty){
+                                layer.msg("杈撳叆鏁伴噺涓嶈兘灏忎簬浣滀笟涓暟閲�", {icon: 2});
+                                // data[obj.field] = 0;
+                                // insTbSSXM.reload({data: xxDataList});
                                 return false;
                             }
                         }
                     }
                     data[obj.field] = obj.value;
-                    insTbSSXM.reload({data: xxDataList});
+                   insTbSSXM.reloadData({data: xxDataList,scrollPos: true});
                 });
 
                 $('#matAddBtnComment').click(function () {
@@ -294,7 +442,6 @@
                         title: (exp ? '淇敼' : '娣诲姞') + '鏄庣粏',
                         content: $('#matEditDialog').html(),
                         success: function (layero, dIndex) {
-                            $(layero).children('.layui-layer-content').css('overflow', 'visible');
                             // 鍥炴樉鏁版嵁
                             form.val('matEditForm', exp);
                             // 琛ㄥ崟鎻愪氦浜嬩欢
@@ -361,7 +508,11 @@
 
             }
         });
+
+
     }
+
+
 
     // 鍒犻櫎鍗曟嵁
     function doDel(orderId) {
@@ -398,7 +549,7 @@
     }
 
     // 淇敼璁㈠崟鐘舵��
-    function doModify(orderId, settle) {
+    function doModify(orderId, orderNo, settle) {
         layer.confirm('纭畾瑕佹墜鍔ㄥ畬缁撳悧锛�', {
             shade: .1,
             skin: 'layui-layer-admin'
@@ -412,6 +563,7 @@
                 headers: {'token': localStorage.getItem('token')},
                 data: {
                     id: orderId,
+                    orderNo: orderNo,
                     settle: settle
                 },
                 method: 'POST',
@@ -439,4 +591,76 @@
         ,type: 'datetime'
         ,range: true
     });
+
+    function printExcel(data){
+        layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+            layer.closeAll();
+            layer.load(1, {shade: [0.1,'#fff']});
+            // location.href = "http://192.168.4.121:8082/stwms/orderCheck/printExport/auth?orderNo="+data.orderNo;
+            location.href = baseUrl+"/order/printExport/auth?orderNo="+data.orderNo;
+            layer.closeAll('loading');
+        });
+    }
+
+
+    function btnPrint2(orderId, orderNo, settle) {
+        console.log(orderId);
+        console.log(orderNo);
+        console.log(settle);
+        printMatCodeNos.push(orderNo)
+        var templateNo = 4;
+        $.ajax({
+            url: baseUrl + "/order/print2/auth",
+            headers: {'token': localStorage.getItem('token')},
+            data: {param: printMatCodeNos},
+            method: 'POST',
+            async: false,
+            success: function (res) {
+                if (res.code === 200) {
+                    layer.closeAll();
+                    var json = res;
+
+                    json.docNum = orderNo;
+                    console.log("json"+json);
+                    var sum = new Decimal("0");
+
+
+                    for (let i = 0; i < res.data.length; i++){
+                        sum = sum.plus(res.data[i].anfme);
+
+                    }
+                    json.anfmeSum = sum;
+                    var barcodeUrl = baseUrl + "/order/code/auth?type=1&param=" + res.data[0].docNum;
+                    console.log("barcodeUrl:"+barcodeUrl);
+                    json.barcodeUrl = barcodeUrl;
+                    console.log(json.data);
+                    for (let i = 0; i < json.data.length; i++) {
+                        var templateDom = $("#templatePreview" + templateNo);
+                        var className = templateDom.attr("class");
+
+                        if (className === 'template-barcode') {
+                            json.data[i]["barcodeUrl"] = baseUrl + "/order/code/auth?type=2&param=" + (json.data[i].orderNo+";"+json.data[i].matnr+";");
+                        } else {
+                            json.data[i]["barcodeUrl"] = baseUrl + "/order/code/auth?type=2&param=" + (json.data[i].orderNo+";"+json.data[i].matnr+";");
+                        }
+                    }
+                    var tpl = templateDom.html();
+                    var template = Handlebars.compile(tpl);
+                    var html = template(json);
+                    var box = $("#box");
+                    box.html(html);
+                    box.show();
+                    box.print({mediaPrint: true});
+                    box.hide();
+                } else if (json.code === 403) {
+                    top.location.href = baseUrl + "/";
+                } else {
+                    layer.msg(json.msg)
+                }
+            }
+        })
+    }
+
+
+
 });

--
Gitblit v1.9.1