From 70b86bb70e6941127888979dbde37dda3b1db0b6 Mon Sep 17 00:00:00 2001
From: cp <513960435@qq.com>
Date: 星期二, 19 十一月 2024 09:14:43 +0800
Subject: [PATCH] 完善下架功能

---
 zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js |  312 +++++++++++++++++++++++++++++++--------------------
 1 files changed, 189 insertions(+), 123 deletions(-)

diff --git a/zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js b/zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js
index f0a85c9..8c8aeeb 100644
--- a/zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js
+++ b/zy-asrs-wms/src/main/webapp/static/js/locDetl/locDetl.js
@@ -1,53 +1,66 @@
 var pageCurr;
+
 function getCol() {
     var cols = [
-        {field: 'locNo', align: 'center',title: '搴撲綅鍙�'},
-        {field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿', sort:true}
-        ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', sort:true}
-        ,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', hide: false}
-        ,{field: 'batch', align: 'center',title: '搴忓垪鐮�', width: 300, sort:true}
-        ,{field: 'anfme', align: 'center',title: '鏁伴噺', width: 100}
-        ,{field: 'zpallet', align: 'center',title: '鎵樼洏鏉$爜'}
-        ,{field: 'memo', align: 'center',title: '缈诲寘'}
-        ,{field: 'owner$', align: 'center',title: '鎷ユ湁鑰�'}
+        {field: 'locNo', align: 'center', title: '搴撲綅鍙�'},
+        {field: 'matnr', align: 'center', title: '鍝佸彿', sort: true}
+        , {field: 'maktx', align: 'center', title: '鍚嶇О', sort: true}
+        , {field: 'orderNo', align: 'center', title: '鍗曟嵁缂栧彿', hide: false}
+        , {field: 'orderType', align: 'center', title: '鍗曟嵁绫诲瀷', hide: false}
+        , {field: 'batch', align: 'center', title: '鎵瑰彿', width: 80, sort: true}
+        , {field: 'anfme', align: 'center', title: '鏁伴噺', width: 100}
+        , {field: 'zpallet', align: 'center', title: '鎵樼洏鐮�', sort: true}
+        , {
+            field: 'templet', align: 'center', title: '鏈哄瀷', templet: function (row) {
+                return row.mat$.model
+            }
+        }
+        , {
+            field: 'templet', align: 'center', title: '鍒朵护', templet: function (row) {
+                return row.mat$.decrees
+            }
+        }
+        , {field: 'owner', align: 'center', title: '璐т富'}
+        , {field: 'memo', align: 'center', title: '澶囨敞'}
+        // ,{field: 'owner$', align: 'center',title: '鎷ユ湁鑰�'}
 
-        ,{field: 'specs', align: 'center',title: '閰嶇疆'}
-        ,{field: 'model', align: 'center',title: '浠g爜', hide: true}
-        ,{field: 'color', align: 'center',title: '棰滆壊', hide: true}
-        ,{field: 'brand', align: 'center',title: '鍝佺墝', hide: true}
-        ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true}
-        ,{field: 'price', align: 'center',title: '鍗曚环', hide: true}
-        ,{field: 'sku', align: 'center',title: 'sku', hide: true}
-        ,{field: 'units', align: 'center',title: '鍗曚綅閲�', hide: true}
-        ,{field: 'barcode', align: 'center',title: '鏉$爜', hide: true}
-        ,{field: 'origin', align: 'center',title: '浠撳簱鍙�', hide: false}
-        ,{field: 'manu', align: 'center',title: '鍘傚', hide: true}
-        ,{field: 'manuDate', align: 'center',title: '鐢熶骇鏃ユ湡', hide: true}
-        ,{field: 'itemNum', align: 'center',title: '鍝侀」鏁�', hide: true}
-        ,{field: 'safeQty', align: 'center',title: '瀹夊叏搴撳瓨閲�', hide: true}
-        ,{field: 'weight', align: 'center',title: '鍗曠鍑�閲�', hide: true}
-        ,{field: 'length', align: 'center',title: '鍗曠姣涢噸', hide: true}
-        ,{field: 'volume', align: 'center',title: '鍗曠浣撶Н', hide: true}
-        ,{field: 'threeCode', align: 'center',title: '绠卞瓙灏哄', hide: true}
-        ,{field: 'supp', align: 'center',title: '渚涘簲鍟�', hide: true}
-        ,{field: 'suppCode', align: 'center',title: '渚涘簲鍟嗙紪鐮�', hide: true}
-        ,{field: 'beBatch$', align: 'center',title: '鏄惁鎵规', hide: true}
-        ,{field: 'deadTime', align: 'center',title: '淇濊川鏈�', hide: true}
-        ,{field: 'deadWarn', align: 'center',title: '棰勮澶╂暟', hide: true}
-        ,{field: 'source$', align: 'center',title: '鍒惰喘', hide: true}
-        ,{field: 'check$', align: 'center',title: '瑕佹眰妫�楠�', hide: true}
-        ,{field: 'danger$', align: 'center',title: '鍗遍櫓鍝�', hide: true}
+        , {field: 'specs', align: 'center', title: '瑙勬牸'}
+        , {field: 'model', align: 'center', title: '浠g爜', hide: true}
+        , {field: 'color', align: 'center', title: '棰滆壊', hide: true}
+        , {field: 'brand', align: 'center', title: '鍝佺墝', hide: true}
+        , {field: 'unit', align: 'center', title: '鍗曚綅', hide: true}
+        , {field: 'price', align: 'center', title: '鍗曚环', hide: true}
+        , {field: 'sku', align: 'center', title: 'sku', hide: true}
+        , {field: 'units', align: 'center', title: '鍗曚綅閲�', hide: true}
+        , {field: 'barcode', align: 'center', title: '鏉$爜', hide: true}
+        , {field: 'origin', align: 'center', title: '浠撳簱鍙�', hide: false}
+        , {field: 'manu', align: 'center', title: '鍘傚', hide: true}
+        , {field: 'manuDate', align: 'center', title: '鐢熶骇鏃ユ湡', hide: true}
+        , {field: 'itemNum', align: 'center', title: '鍝侀」鏁�', hide: true}
+        , {field: 'safeQty', align: 'center', title: '瀹夊叏搴撳瓨閲�', hide: true}
+        , {field: 'weight', align: 'center', title: '鍗曠鍑�閲�', hide: true}
+        , {field: 'length', align: 'center', title: '鍗曠姣涢噸', hide: true}
+        , {field: 'volume', align: 'center', title: '鍗曠浣撶Н', hide: true}
+        , {field: 'threeCode', align: 'center', title: '绠卞瓙灏哄', hide: true}
+        , {field: 'supp', align: 'center', title: '渚涘簲鍟�', hide: true}
+        , {field: 'suppCode', align: 'center', title: '渚涘簲鍟嗙紪鐮�', hide: true}
+        , {field: 'beBatch$', align: 'center', title: '鏄惁鎵规', hide: true}
+        , {field: 'deadTime', align: 'center', title: '淇濊川鏈�', hide: true}
+        , {field: 'deadWarn', align: 'center', title: '棰勮澶╂暟', hide: true}
+        , {field: 'source$', align: 'center', title: '鍒惰喘', hide: true}
+        , {field: 'check$', align: 'center', title: '瑕佹眰妫�楠�', hide: true}
+        , {field: 'danger$', align: 'center', title: '鍗遍櫓鍝�', hide: true}
 
     ];
 
     // cols.push.apply(cols, detlCols);
-    cols.push({field: 'modiUser$', align: 'center',title: '淇敼浜哄憳',hide: true}
-        ,{field: 'modiTime$', align: 'center',title: '淇敼鏃堕棿'}
+    cols.push({field: 'modiUser$', align: 'center', title: '淇敼浜哄憳', hide: true}
+        , {field: 'modiTime$', align: 'center', title: '淇敼鏃堕棿'}
     )
     return cols;
 }
 
-layui.use(['table','laydate', 'form'], function(){
+layui.use(['table', 'laydate', 'form'], function () {
     var table = layui.table;
     var $ = layui.jquery;
     var layer = layui.layer;
@@ -58,10 +71,10 @@
     tableIns = table.render({
         elem: '#locDetl',
         headers: {token: localStorage.getItem('token')},
-        url: baseUrl+'/locDetl/page/auth',
+        url: baseUrl + '/locDetl/page/auth',
         page: true,
         limit: 20,
-        where:{
+        where: {
             unreason: false
         },
         limits: [20, 30, 50, 100, 200, 500],
@@ -84,17 +97,17 @@
         response: {
             statusCode: 200
         },
-        done: function(res, curr, count) {
+        done: function (res, curr, count) {
             if (res.code === 403) {
-                top.location.href = baseUrl+"/";
+                top.location.href = baseUrl + "/";
             }
-            pageCurr=curr;
+            pageCurr = curr;
             limit();
             form.on('checkbox(tableCheckbox)', function (data) {
-                var _index = $(data.elem).attr('table-index')||0;
-                if(data.elem.checked){
+                var _index = $(data.elem).attr('table-index') || 0;
+                if (data.elem.checked) {
                     res.data[_index][data.value] = 'Y';
-                }else{
+                } else {
                     res.data[_index][data.value] = 'N';
                 }
             });
@@ -104,7 +117,7 @@
     // 鐩戝惉鎺掑簭浜嬩欢
     table.on('sort(locDetl)', function (obj) {
         var searchData = {};
-        $.each($('#search-box [name]').serializeArray(), function() {
+        $.each($('#search-box [name]').serializeArray(), function () {
             searchData[this.name] = this.value;
         });
         searchData['orderByField'] = obj.field;
@@ -116,9 +129,9 @@
             },
             done: function (res, curr, count) {
                 if (res.code === 403) {
-                    top.location.href = baseUrl+"/";
+                    top.location.href = baseUrl + "/";
                 }
-                pageCurr=curr;
+                pageCurr = curr;
                 limit();
             }
         });
@@ -127,7 +140,7 @@
     // 鐩戝惉澶村伐鍏锋爮浜嬩欢
     table.on('toolbar(locDetl)', function (obj) {
         var checkStatus = table.checkStatus(obj.config.id);
-        switch(obj.event) {
+        switch (obj.event) {
             case 'addData':
                 layer.open({
                     type: 2,
@@ -136,10 +149,11 @@
                     area: [top.detailWidth, top.detailHeight],
                     shadeClose: false,
                     content: 'locDetl_detail.html',
-                    success: function(layero, index){
+                    success: function (layero, index) {
                         layer.getChildFrame('#data-detail-submit-edit', index).hide();
                         clearFormVal(layer.getChildFrame('#detail', index));
-                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
+                        layer.iframeAuto(index);
+                        layer.style(index, {top: (($(window).height() - layer.getChildFrame('#data-detail', index).height()) / 3) + "px"});
                     }
                 });
                 break;
@@ -153,22 +167,22 @@
                 break;
             case 'deleteData':
                 var data = checkStatus.data;
-                if (data.length === 0){
+                if (data.length === 0) {
                     layer.msg('璇烽�夋嫨鏁版嵁');
                 } else {
-                    layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){
+                    layer.confirm('纭畾鍒犻櫎' + (data.length === 1 ? '姝�' : data.length) + '鏉℃暟鎹悧', function () {
                         $.ajax({
-                            url: baseUrl+"/locDetl/delete/auth",
+                            url: baseUrl + "/locDetl/delete/auth",
                             headers: {'token': localStorage.getItem('token')},
                             data: {param: JSON.stringify(data)},
                             method: 'POST',
-                            traditional:true,
+                            traditional: true,
                             success: function (res) {
-                                if (res.code === 200){
+                                if (res.code === 200) {
                                     layer.closeAll();
                                     tableReload(false);
-                                } else if (res.code === 403){
-                                    top.location.href = baseUrl+"/";
+                                } else if (res.code === 403) {
+                                    top.location.href = baseUrl + "/";
                                 } else {
                                     layer.msg(res.msg)
                                 }
@@ -178,9 +192,9 @@
                 }
                 break;
             case 'exportData':
-                layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
-                    var titles=[];
-                    var fields=[];
+                layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function () {
+                    var titles = [];
+                    var fields = [];
                     obj.config.cols[0].map(function (col) {
                         if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
                             titles.push(col.title);
@@ -188,58 +202,108 @@
                         }
                     });
                     var exportData = {};
-                    $.each($('#search-box [name]').serializeArray(), function() {
+                    $.each($('#search-box [name]').serializeArray(), function () {
                         exportData[this.name] = this.value;
                     });
                     var param = {
-                        'wrkDetlLog': exportData,
+                        'locDetl': exportData,
                         'fields': fields
                     };
-
-                    layer.load('Loading...', {
-                        shade: [0.1,'#fff']
-                    });
+                    var loadIndex = layer.msg('姝e湪瀵煎嚭...', {icon: 16, shade: 0.01, time: false});
                     $.ajax({
                         url: baseUrl + "/locDetl/export/auth",
                         headers: {'token': localStorage.getItem('token')},
                         data: JSON.stringify(param),
-                        contentType:'application/json;charset=UTF-8',
+                        dataType: 'json',
+                        contentType: 'application/json;charset=UTF-8',
                         method: 'POST',
-                        xhrFields: {
-                            responseType: "blob" // 璁剧疆鍝嶅簲绫诲瀷涓轰簩杩涘埗鏁版嵁
-                        },
                         success: function (res) {
-                            // 鍒涘缓涓�涓复鏃剁殑涓嬭浇閾炬帴
-                            const url = window.URL.createObjectURL(res);
-                            // 鍒涘缓涓�涓殣钘忕殑 <a> 鍏冪礌骞惰缃笅杞介摼鎺�
-                            const a = document.createElement("a");
-                            a.style.display = "none";
-                            a.href = url;
-                            a.download = "export.xlsx"; // 鎸囧畾涓嬭浇鐨勬枃浠跺悕
-                            document.body.appendChild(a);
-
-                            // 瑙﹀彂鐐瑰嚮浜嬩欢浠ュ紑濮嬩笅杞�
-                            a.click();
-
-                            // 娓呯悊涓存椂璧勬簮
-                            setTimeout(function () {
-                                window.URL.revokeObjectURL(url);
-                                document.body.removeChild(a);
-                                layer.closeAll();
-                            }, 100);
-                        },
-                        fail: function (){
-                            layer.msg('瀵煎嚭澶辫触', {icon: 2})
+                            layer.close(loadIndex);
                             layer.closeAll();
+                            if (res.code === 200) {
+                                res.data.forEach((item, index) => {
+                                    if (item[0] != null) {
+                                        item[0] = "'" + item[0];
+                                    }
+                                    if (item[1] != null) {
+                                        item[1] = "'" + item[1];
+                                    }
+                                    if (item[2] != null) {
+                                        item[2] = "'" + item[2];
+                                    }
+                                })
+                                table.exportFile(titles, res.data, 'xls');
+                            } else if (res.code === 403) {
+                                top.location.href = baseUrl + "/";
+                            } else {
+                                layer.msg(res.msg)
+                            }
                         }
                     });
                 });
+                // debugger;
+                // layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+                //     var titles=[];
+                //     var fields=[];
+                //     obj.config.cols[0].map(function (col) {
+                //         if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+                //             titles.push(col.title);
+                //             fields.push(col.field);
+                //         }
+                //     });
+                //     var exportData = {};
+                //     $.each($('#search-box [name]').serializeArray(), function() {
+                //         exportData[this.name] = this.value;
+                //     });
+                //     var param = {
+                //         'wrkDetlLog': exportData,
+                //         'fields': fields
+                //     };
+                //
+                //     layer.load('Loading...', {
+                //         shade: [0.1,'#fff']
+                //     });
+                //     $.ajax({
+                //         url: baseUrl + "/locDetl/export/auth",
+                //         headers: {'token': localStorage.getItem('token')},
+                //         data: JSON.stringify(param),
+                //         contentType:'application/json;charset=UTF-8',
+                //         method: 'POST',
+                //         xhrFields: {
+                //             responseType: "blob" // 璁剧疆鍝嶅簲绫诲瀷涓轰簩杩涘埗鏁版嵁
+                //         },
+                //         success: function (res) {
+                //             // 鍒涘缓涓�涓复鏃剁殑涓嬭浇閾炬帴
+                //             const url = window.URL.createObjectURL(res);
+                //             // 鍒涘缓涓�涓殣钘忕殑 <a> 鍏冪礌骞惰缃笅杞介摼鎺�
+                //             const a = document.createElement("a");
+                //             a.style.display = "none";
+                //             a.href = url;
+                //             a.download = "export.xlsx"; // 鎸囧畾涓嬭浇鐨勬枃浠跺悕
+                //             document.body.appendChild(a);
+                //
+                //             // 瑙﹀彂鐐瑰嚮浜嬩欢浠ュ紑濮嬩笅杞�
+                //             a.click();
+                //
+                //             // 娓呯悊涓存椂璧勬簮
+                //             setTimeout(function () {
+                //                 window.URL.revokeObjectURL(url);
+                //                 document.body.removeChild(a);
+                //                 layer.closeAll();
+                //             }, 100);
+                //         },
+                //         fail: function (){
+                //             layer.msg('瀵煎嚭澶辫触', {icon: 2})
+                //             layer.closeAll();
+                //         }
+                //     });
+                // });
                 break;
         }
     });
 
     // 鐩戝惉琛屽伐鍏蜂簨浠�
-    table.on('tool(locDetl)', function(obj){
+    table.on('tool(locDetl)', function (obj) {
         var data = obj.data;
         switch (obj.event) {
             // 璇︽儏
@@ -251,11 +315,12 @@
                     area: [top.detailWidth, top.detailHeight],
                     shadeClose: false,
                     content: 'locDetl_detail.html',
-                    success: function(layero, index){
+                    success: function (layero, index) {
                         setFormVal(layer.getChildFrame('#detail', index), data, true);
                         top.convertDisabled(layer.getChildFrame('#data-detail :input', index), true);
                         layer.getChildFrame('#data-detail-submit-save,#data-detail-submit-edit,#prompt', index).hide();
-                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
+                        layer.iframeAuto(index);
+                        layer.style(index, {top: (($(window).height() - layer.getChildFrame('#data-detail', index).height()) / 3) + "px"});
                         layero.find('iframe')[0].contentWindow.layui.form.render('select');
                         layero.find('iframe')[0].contentWindow.layui.form.render('checkbox');
                     }
@@ -270,12 +335,13 @@
                     area: [top.detailWidth, top.detailHeight],
                     shadeClose: false,
                     content: 'locDetl_detail.html',
-                    success: function(layero, index){
+                    success: function (layero, index) {
                         layer.getChildFrame('#data-detail-submit-save', index).hide();
                         setFormVal(layer.getChildFrame('#detail', index), data, false);
                         top.convertDisabled(layer.getChildFrame('#data-detail :input', index), false);
                         top.convertDisabled(layer.getChildFrame('#locNo,#matnr', index), true);
-                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
+                        layer.iframeAuto(index);
+                        layer.style(index, {top: (($(window).height() - layer.getChildFrame('#data-detail', index).height()) / 3) + "px"});
                         layero.find('iframe')[0].contentWindow.layui.form.render('select');
                         layero.find('iframe')[0].contentWindow.layui.form.render('checkbox');
                     }
@@ -287,7 +353,7 @@
 
     // 鏁版嵁淇濆瓨鍔ㄤ綔
     form.on('submit(save)', function () {
-        if (banMsg != null){
+        if (banMsg != null) {
             layer.msg(banMsg);
             return;
         }
@@ -299,9 +365,9 @@
         method("update")
     });
 
-    function method(name){
+    function method(name) {
         var index = layer.load(1, {
-            shade: [0.5,'#000'] //0.1閫忔槑搴︾殑鑳屾櫙
+            shade: [0.5, '#000'] //0.1閫忔槑搴︾殑鑳屾櫙
         });
         var data = {
 //            id: $('#id').val(),
@@ -325,20 +391,20 @@
 
         };
         $.ajax({
-            url: baseUrl+"/locDetl/"+name+"/auth",
+            url: baseUrl + "/locDetl/" + name + "/auth",
             headers: {'token': localStorage.getItem('token')},
             data: top.reObject(data),
             method: 'POST',
             success: function (res) {
-                if (res.code === 200){
+                if (res.code === 200) {
                     parent.layer.closeAll();
                     parent.$(".layui-laypage-btn")[0].click();
                     $("#data-detail :input").each(function () {
                         $(this).val("");
                     });
-                } else if (res.code === 403){
-                    top.location.href = baseUrl+"/";
-                }else {
+                } else if (res.code === 403) {
+                    top.location.href = baseUrl + "/";
+                } else {
                     layer.msg(res.msg)
                 }
                 layer.close(index);
@@ -384,9 +450,9 @@
             done: function (res, curr, count) {
 
                 if (res.code === 403) {
-                    top.location.href = baseUrl+"/";
+                    top.location.href = baseUrl + "/";
                 }
-                pageCurr=curr;
+                pageCurr = curr;
 
                 limit();
             }
@@ -407,7 +473,7 @@
 });
 
 // 鍏抽棴鍔ㄤ綔
-$(document).on('click','#data-detail-close', function () {
+$(document).on('click', '#data-detail-close', function () {
     parent.layer.closeAll();
 });
 
@@ -415,7 +481,7 @@
     var searchData = {
         unreason: false
     };
-    $.each($('#search-box [name]').serializeArray(), function() {
+    $.each($('#search-box [name]').serializeArray(), function () {
         searchData[this.name] = this.value;
     });
     (child ? parent.tableIns : tableIns).reload({
@@ -425,14 +491,14 @@
         },
         done: function (res, curr, count) {
             if (res.code === 403) {
-                top.location.href = baseUrl+"/";
+                top.location.href = baseUrl + "/";
             }
-            pageCurr=curr;
+            pageCurr = curr;
             if (res.data.length === 0 && count !== 0) {
                 tableIns.reload({
                     where: searchData,
                     page: {
-                        curr: pageCurr-1
+                        curr: pageCurr - 1
                     }
                 });
                 pageCurr -= 1;
@@ -445,10 +511,10 @@
 function setFormVal(el, data, showImg) {
     for (var val in data) {
         var find = el.find(":input[id='" + val + "']");
-        if (find[0]!=null){
-            if (find[0].type === 'checkbox'){
-                if (data[val]==='Y'){
-                    find.attr("checked","checked");
+        if (find[0] != null) {
+            if (find[0].type === 'checkbox') {
+                if (data[val] === 'Y') {
+                    find.attr("checked", "checked");
                     find.val('Y');
                 } else {
                     find.remove("checked");
@@ -458,9 +524,9 @@
             }
         }
         find.val(data[val]);
-        if (showImg){
+        if (showImg) {
             var next = find.next();
-            if (next.get(0)){
+            if (next.get(0)) {
                 if (next.get(0).localName === "img") {
                     find.hide();
                     next.attr("src", data[val]);
@@ -480,13 +546,13 @@
 
 function detailScreen(index) {
     var detail = layer.getChildFrame('#data-detail', index);
-    var height = detail.height()+60;
-    if (height > ($(window).height()*0.9)) {
-        height = ($(window).height()*0.8);
+    var height = detail.height() + 60;
+    if (height > ($(window).height() * 0.9)) {
+        height = ($(window).height() * 0.8);
     }
     layer.style(index, {
 //        top: (($(window).height()-height)/3)+"px",
-        height: height+'px'
+        height: height + 'px'
     });
 }
 

--
Gitblit v1.9.1