From 51889b97a85b070cbb80a5bb2893149c80448d5d Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期二, 30 十二月 2025 16:31:15 +0800
Subject: [PATCH] #导出优化

---
 src/main/webapp/static/js/basArmMastExp/basArmMastExp.js |  132 ++++++++++++++++++++++++++-----------------
 1 files changed, 79 insertions(+), 53 deletions(-)

diff --git a/src/main/webapp/static/js/basArmMastExp/basArmMastExp.js b/src/main/webapp/static/js/basArmMastExp/basArmMastExp.js
index d7db239..6c4cab8 100644
--- a/src/main/webapp/static/js/basArmMastExp/basArmMastExp.js
+++ b/src/main/webapp/static/js/basArmMastExp/basArmMastExp.js
@@ -8,10 +8,9 @@
     var layDate = layui.laydate;
     var form = layui.form;
     var admin = layui.admin;
-
     // 鏁版嵁娓叉煋
     tableIns = table.render({
-        elem: '#basArmMast',
+        elem: '#basArmMastExp',
         headers: {token: localStorage.getItem('token')},
         url: baseUrl+'/basArmMast/list/auth',
         page: true,
@@ -21,42 +20,81 @@
         cellMinWidth: 50,
         height: 'full-120',
         cols: [[
-            {type: 'checkbox'}
-            ,
-            {field: 'id', align: 'center',title: 'ID',hide: true}
-            ,{field: 'armNo', align: 'center',title: '鏈烘鑷傜紪鍙�',hide: false}
-            ,{field: 'orderNo', align: 'center',title: '璁㈠崟鍙�',hide: false}
-            ,{field: 'armDirection', align: 'center',title: '鎿嶄綔鏂瑰悜',hide: true}
-            ,{field: 'staNo', align: 'center',title: '缁堢偣',hide: false}
-            ,{field: 'sortingLine', align: 'center',title: '璧风偣',hide: false}
-            ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栧彿',hide: false}
-            ,{field: 'sku', align: 'center',title: 'sku',hide: true}
-            // ,{field: 'po', align: 'center',title: 'po',hide: false}
-            // ,{field: 'upc', align: 'center',title: 'upc',hide: false}
-            // ,{field: 'status', align: 'center',title: '浣滀笟鐘舵��',hide: true}
-            // ,{field: 'status$', align: 'center',title: '浣滀笟鐘舵��',hide: false}
-            // ,{field: 'bindingTags', align: 'center',title: '鍒嗘嫞缁戝畾鏍囪',hide: false}
-            // ,{field: 'priority', align: 'center',title: '浼樺厛绾�',hide: true}
-            // ,{field: 'supplier', align: 'center',title: '璐ф簮',hide: false}
-            ,{field: 'ctns', align: 'center',title: '鎬荤鏁�',hide: true}
-            // ,{field: 'createTime', align: 'center',title: '鏃堕棿鎴�',hide: true}
-            // ,{field: 'barcode', align: 'center',title: '鎵樼洏鐮�',hide: false}
-            // ,{field: 'armError', align: 'center',title: '寮傚父浠g爜',hide: true}
-            // ,{field: 'armMsg', align: 'center',title: '寮傚父淇℃伅',hide: true}
-
-            ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
+            {type: 'checkbox'},
+            {field: 'armNo', align: 'center', title: '鏈烘鑷傜紪鍙�'},
+            {field: 'orderNo', align: 'center', title: '璁㈠崟鍙�'},
+            {field: 'matnr', align: 'center', title: '鍟嗗搧缂栧彿'},
+            {field: 'po', align: 'center', title: 'PO'},
+            {field: 'upc', align: 'center', title: 'UPC'},
+            {field: 'sortingLine', align: 'center', title: '璧风偣'},
+            {field: 'status', align: 'center', title: '浣滀笟鐘舵��', templet: function(d){
+                    return '2.鍗曠爜瀹屾垚绛夊緟鎵樼洏瀹屾垚';  // 鍥犱负鐜板湪鍙樉绀虹姸鎬�2锛屽浐瀹氭樉绀�
+                }},
+            {field: 'barcode', align: 'center', title: '鎵樼洏鐮�'},
+            {field: 'supplier', align: 'center', title: '璐ф簮'},
+            {field: 'quantity', align: 'center', title: '鏁伴噺', sort: true, style: 'background-color: #fffbe6; font-weight: bold;'},  // 楂樹寒鏄剧ず鏁伴噺
+            // {fixed: 'right', title: '鎿嶄綔', align: 'center', toolbar: '#operate', width: 120}
         ]],
         request: {
             pageName: 'curr',
             pageSize: 'limit'
         },
         parseData: function (res) {
-            return {
-                'code': res.code,
-                'msg': res.msg,
-                'count': res.data.total,
-                'data': res.data.records
+            if (res.code !== 200) {
+                return {
+                    'code': res.code,
+                    'msg': res.msg,
+                    'count': 0,
+                    'data': []
+                };
             }
+
+            var records = res.data.records || [];
+            var groupMap = new Map();  // 鐢ㄦ潵姹囨�荤姸鎬佷负2鐨勬暟鎹�
+
+            records.forEach(function(item) {
+                // 鍙鐞嗙姸鎬佷负2鐨勮褰曪紝鍏朵粬鐘舵�佺洿鎺ュ拷鐣ワ紙闅愯棌锛�
+                if (String(item.status) === '2') {
+                    // 鐢熸垚鍞竴鏍囪瘑锛�5涓瓧娈电粍鍚堬級
+                    var key = [
+                        item.armNo || '',
+                        item.sortingLine || '',
+                        item.barcode || '',
+                        item.matnr || '',
+                        item.orderNo || ''
+                    ].join('|||||');  // 鐢ㄥ涓獆鍒嗛殧锛岄伩鍏嶅瓧娈靛�煎啿绐�
+
+                    if (groupMap.has(key)) {
+                        // 宸插瓨鍦ㄧ浉鍚岀粍鍚堬紝鏁伴噺+1
+                        groupMap.get(key).quantity += 1;
+                    } else {
+                        // 鏂扮粍鍚堬紝鍒涘缓涓�鏉℃眹鎬昏褰�
+                        groupMap.set(key, {
+                            armNo: item.armNo,
+                            orderNo: item.orderNo,
+                            matnr: item.matnr,
+                            po: item.po || '',
+                            upc: item.upc || '',
+                            sortingLine: item.sortingLine,
+                            barcode: item.barcode,
+                            supplier: item.supplier || '',
+                            status: '2',           // 鍥哄畾鏄剧ず涓�2
+                            quantity: 1            // 鍒濆鏁伴噺1
+                        });
+                    }
+                }
+                // 鐘舵�佷笉涓�2鐨勮褰曠洿鎺ヨ烦杩囷紝涓嶅姞鍏ヤ换浣曟暟鎹�
+            });
+
+            // 杞崲涓烘暟缁�
+            var finalData = Array.from(groupMap.values());
+
+            return {
+                'code': 200,
+                'msg': res.msg,
+                'count': finalData.length,   // 鍒嗛〉鎬绘暟 = 鍚堝苟鍚庣殑琛屾暟
+                'data': finalData
+            };
         },
         response: {
             statusCode: 200
@@ -69,7 +107,6 @@
             limit();
         }
     });
-
     // 鐩戝惉鎺掑簭浜嬩欢
     table.on('sort(basArmMast)', function (obj) {
         var searchData = {};
@@ -83,7 +120,6 @@
             page: {curr: 1}
         });
     });
-
     // 鐩戝惉澶村伐鍏锋爮浜嬩欢
     table.on('toolbar(basArmMast)', function (obj) {
         var checkStatus = table.checkStatus(obj.config.id).data;
@@ -92,14 +128,14 @@
                 showEditModel();
                 break;
             case 'deleteData':
-               if (checkStatus.length === 0) {
-                   layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
-                   return;
-               }
-               del(checkStatus.map(function (d) {
-                   return d.id;
-               }));
-               break;
+                if (checkStatus.length === 0) {
+                    layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+                    return;
+                }
+                del(checkStatus.map(function (d) {
+                    return d.id;
+                }));
+                break;
             case 'exportData':
                 admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
                     var titles=[];
@@ -140,7 +176,6 @@
                 break;
         }
     });
-
     // 鐩戝惉琛屽伐鍏蜂簨浠�
     table.on('tool(basArmMast)', function(obj){
         var data = obj.data;
@@ -153,7 +188,6 @@
                 break;
         }
     });
-
     /* 寮圭獥 - 鏂板銆佷慨鏀� */
     function showEditModel(mData) {
         admin.open({
@@ -191,7 +225,6 @@
             }
         });
     }
-
     /* 鍒犻櫎 */
     function del(ids) {
         layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
@@ -219,20 +252,17 @@
             })
         });
     }
-
     // 鎼滅储
     form.on('submit(search)', function (data) {
         pageCurr = 1;
         tableReload(false);
     });
-
     // 閲嶇疆
     form.on('submit(reset)', function (data) {
         pageCurr = 1;
         clearFormVal($('#search-box'));
         tableReload(false);
     });
-
     // 鏃堕棿閫夋嫨鍣�
     function layDateRender(data) {
         setTimeout(function () {
@@ -241,18 +271,14 @@
                 ,type: 'datetime'
                 ,range: true
             });
-
         }, 300);
     }
     layDateRender();
-
 });
-
 // 鍏抽棴鍔ㄤ綔
 $(document).on('click','#data-detail-close', function () {
     parent.layer.closeAll();
 });
-
 function tableReload(child) {
     var searchData = {};
     $.each($('#search-box [name]').serializeArray(), function() {
@@ -261,5 +287,5 @@
     tableIns.reload({
         where: searchData,
         page: {curr: pageCurr}
-     });
-}
+    });
+}
\ No newline at end of file

--
Gitblit v1.9.1