From 8a2733f19643f6c2b60d653df62b4910daec48cd Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期二, 30 十二月 2025 14:32:53 +0800
Subject: [PATCH] #快速查看码垛数量页面优化

---
 src/main/webapp/static/js/basArmMastExp/basArmMastExp.js |  132 +++++++++++++++----------
 src/main/webapp/views/basArmMastExp/basArmMastExp.html   |  168 +++++----------------------------
 2 files changed, 104 insertions(+), 196 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
diff --git a/src/main/webapp/views/basArmMastExp/basArmMastExp.html b/src/main/webapp/views/basArmMastExp/basArmMastExp.html
index cbf4533..e94bb38 100644
--- a/src/main/webapp/views/basArmMastExp/basArmMastExp.html
+++ b/src/main/webapp/views/basArmMastExp/basArmMastExp.html
@@ -11,17 +11,11 @@
     <link rel="stylesheet" href="../../static/css/cool.css" media="all">
 </head>
 <body>
-
 <div class="layui-fluid">
     <div class="layui-card">
         <div class="layui-card-body">
             <div class="layui-form toolbar" id="search-box">
                 <div class="layui-form-item">
-<!--                    <div class="layui-inline">-->
-<!--                        <div class="layui-input-inline">-->
-<!--                            <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">-->
-<!--                        </div>-->
-<!--                    </div>-->
                     <div class="layui-inline">
                         <div class="layui-input-inline">
                             <input class="layui-input" type="text" name="arm_no" placeholder="鏈烘鑷傜紪鍙�" autocomplete="off">
@@ -34,7 +28,17 @@
                     </div>
                     <div class="layui-inline">
                         <div class="layui-input-inline">
-                            <input class="layui-input" type="text" name="sta_no" placeholder="缁堢偣銆佺爜鍨涗綅" autocomplete="off">
+                            <input class="layui-input" type="text" name="matnr" placeholder="鍟嗗搧缂栧彿" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="po" placeholder="po" autocomplete="off">
+                        </div>
+                    </div>
+                    <div class="layui-inline">
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="upc" placeholder="upc" autocomplete="off">
                         </div>
                     </div>
                     <div class="layui-inline">
@@ -45,7 +49,6 @@
                     <div class="layui-inline">
                         <div class="layui-input-inline">
                             <select name="status" id="status" class="layui-input" type="text" placeholder="浣滀笟鐘舵��" autocomplete="off">
-<!--                                <option style="display: none"></option>-->
                                 <option value="">浣滀笟鐘舵��</option>
                                 <option value="0">0.绛夊緟涓嬪彂鑷虫満姊拌噦</option>
                                 <option value="1">1.鏈烘鑷備綔涓氫腑</option>
@@ -59,39 +62,14 @@
                     </div>
                     <div class="layui-inline">
                         <div class="layui-input-inline">
-                            <input class="layui-input" type="text" name="sku" placeholder="sku" autocomplete="off">
-                        </div>
-                    </div>
-                    <div class="layui-inline">
-                        <div class="layui-input-inline">
-                            <input class="layui-input" type="text" name="po" placeholder="po" autocomplete="off">
-                        </div>
-                    </div>
-                    <div class="layui-inline">
-                        <div class="layui-input-inline">
-                            <input class="layui-input" type="text" name="upc" placeholder="upc" autocomplete="off">
-                        </div>
-                    </div>
-<!--                     <div class="layui-inline" style="width: 300px">-->
-<!--                        <div class="layui-input-inline">-->
-<!--                            <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">-->
-<!--                        </div>-->
-<!--                    </div>-->
-                    <div class="layui-inline">
-                        <div class="layui-input-inline">
-                            <input class="layui-input" type="text" name="binding_tags" placeholder="鍒嗘嫞缁戝畾鏍囪" autocomplete="off">
-                        </div>
-                    </div>
-                    <div class="layui-inline">
-                        <div class="layui-input-inline">
                             <input class="layui-input" type="text" name="barcode" placeholder="鎵樼洏鐮�" autocomplete="off">
                         </div>
                     </div>
-<!--                    <div class="layui-inline">-->
-<!--                        <div class="layui-input-inline">-->
-<!--                            <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">-->
-<!--                        </div>-->
-<!--                    </div>-->
+                    <div class="layui-inline">
+                        <div class="layui-input-inline">
+                            <input class="layui-input" type="text" name="supplier" placeholder="璐ф簮" autocomplete="off">
+                        </div>
+                    </div>
                     <div class="layui-inline">&emsp;
                         <button class="layui-btn icon-btn" lay-filter="search" lay-submit>
                             <i class="layui-icon">&#xe615;</i>鎼滅储
@@ -102,29 +80,26 @@
                     </div>
                 </div>
             </div>
-            <table class="layui-hide" id="basArmMast" lay-filter="basArmMast"></table>
+            <table class="layui-hide" id="basArmMastExp" lay-filter="basArmMastExp"></table>
         </div>
     </div>
 </div>
-
 <script type="text/html" id="toolbar">
     <div class="layui-btn-container">
-        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
-        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
-        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button>
+<!--        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>-->
+<!--        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>-->
+<!--        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button>-->
     </div>
 </script>
-
 <script type="text/html" id="operate">
-    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
-    <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>
+<!--    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>-->
+<!--    <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>-->
 </script>
-
 <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
 <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
-<script type="text/javascript" src="../../static/js/basArmMast/basArmMast.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/basArmMastExp/basArmMastExp.js" charset="utf-8"></script>
 </body>
 <!-- 琛ㄥ崟寮圭獥 -->
 <script type="text/html" id="editDialog">
@@ -132,49 +107,6 @@
         <input name="id" type="hidden">
         <div class="layui-row">
             <div class="layui-col-md12">
-<!--                <div class="layui-form-item">-->
-<!--                    <label class="layui-form-label layui-form-required">鏈烘鑷傜紪鍙�: </label>-->
-<!--                    <div class="layui-input-block">-->
-<!--                        <input class="layui-input" name="armNo" placeholder="璇疯緭鍏ユ満姊拌噦缂栧彿" lay-vertype="tips" lay-verify="required">-->
-<!--                    </div>-->
-<!--                </div>-->
-<!--                <div class="layui-form-item">-->
-<!--                    <label class="layui-form-label layui-form-required">鎿嶄綔鏂瑰悜: </label>-->
-<!--                    <div class="layui-input-block">-->
-<!--                        <input class="layui-input" name="armDirection" placeholder="璇疯緭鍏ユ搷浣滄柟鍚�" lay-vertype="tips" lay-verify="required">-->
-<!--                    </div>-->
-<!--                </div>-->
-<!--                <div class="layui-form-item">-->
-<!--                    <label class="layui-form-label layui-form-required">缁堢偣: </label>-->
-<!--                    <div class="layui-input-block">-->
-<!--                        <input class="layui-input" name="staNo" placeholder="璇疯緭鍏ョ粓鐐�" lay-vertype="tips" lay-verify="required">-->
-<!--                    </div>-->
-<!--                </div>-->
-<!--                <div class="layui-form-item">-->
-<!--                    <label class="layui-form-label layui-form-required">璧风偣: </label>-->
-<!--                    <div class="layui-input-block">-->
-<!--                        <input class="layui-input" name="sortingLine" placeholder="璇疯緭鍏ヨ捣鐐�" lay-vertype="tips" lay-verify="required">-->
-<!--                    </div>-->
-<!--                </div>-->
-<!--                <div class="layui-form-item">-->
-<!--                    <label class="layui-form-label layui-form-required">鍒嗘嫞缁戝畾鏍囪: </label>-->
-<!--                    <div class="layui-input-block">-->
-<!--                        <input class="layui-input" name="bindingTags" placeholder="璇疯緭鍏ュ垎鎷g粦瀹氭爣璁�" lay-vertype="tips" lay-verify="required">-->
-<!--                    </div>-->
-<!--                </div>-->
-<!--                <div class="layui-form-item">-->
-<!--                    <label class="layui-form-label layui-form-required">浼樺厛绾�: </label>-->
-<!--                    <div class="layui-input-block">-->
-<!--                        <input class="layui-input" name="priority" placeholder="璇疯緭鍏ヤ紭鍏堢骇" lay-vertype="tips" lay-verify="required">-->
-<!--                    </div>-->
-<!--                </div>-->
-<!--                <div class="layui-form-item">-->
-<!--                    <label class="layui-form-label layui-form-required">鐘舵��: </label>-->
-<!--                    <div class="layui-input-block">-->
-<!--                        <input class="layui-input" name="status" placeholder="璇疯緭鍏ョ姸鎬�" lay-vertype="tips" lay-verify="required">-->
-<!--                    </div>-->
-<!--                </div>-->
-
                 <!-- 宸ヤ綔鐘舵�� -->
                 <div class="layui-form-item">
                     <label class="layui-form-label layui-form-required">鐘舵�侊細</label>
@@ -190,54 +122,6 @@
                         </select>
                     </div>
                 </div>
-<!--                <div class="layui-form-item">-->
-<!--                    <label class="layui-form-label layui-form-required">: </label>-->
-<!--                    <div class="layui-input-block">-->
-<!--                        <input class="layui-input" name="matnr" placeholder="璇疯緭鍏�" lay-vertype="tips" lay-verify="required">-->
-<!--                    </div>-->
-<!--                </div>-->
-<!--                <div class="layui-form-item">-->
-<!--                    <label class="layui-form-label layui-form-required">: </label>-->
-<!--                    <div class="layui-input-block">-->
-<!--                        <input class="layui-input" name="sku" placeholder="璇疯緭鍏�" lay-vertype="tips" lay-verify="required">-->
-<!--                    </div>-->
-<!--                </div>-->
-<!--                <div class="layui-form-item">-->
-<!--                    <label class="layui-form-label layui-form-required">: </label>-->
-<!--                    <div class="layui-input-block">-->
-<!--                        <input class="layui-input" name="po" placeholder="璇疯緭鍏�" lay-vertype="tips" lay-verify="required">-->
-<!--                    </div>-->
-<!--                </div>-->
-<!--                <div class="layui-form-item">-->
-<!--                    <label class="layui-form-label layui-form-required">: </label>-->
-<!--                    <div class="layui-input-block">-->
-<!--                        <input class="layui-input" name="upc" placeholder="璇疯緭鍏�" lay-vertype="tips" lay-verify="required">-->
-<!--                    </div>-->
-<!--                </div>-->
-<!--                <div class="layui-form-item">-->
-<!--                    <label class="layui-form-label layui-form-required">璐ф簮: </label>-->
-<!--                    <div class="layui-input-block">-->
-<!--                        <input class="layui-input" name="supplier" placeholder="璇疯緭鍏ヨ揣婧�" lay-vertype="tips" lay-verify="required">-->
-<!--                    </div>-->
-<!--                </div>-->
-<!--                <div class="layui-form-item">-->
-<!--                    <label class="layui-form-label layui-form-required">: </label>-->
-<!--                    <div class="layui-input-block">-->
-<!--                        <input class="layui-input" name="orderNo" placeholder="璇疯緭鍏�" lay-vertype="tips" lay-verify="required">-->
-<!--                    </div>-->
-<!--                </div>-->
-<!--                <div class="layui-form-item">-->
-<!--                    <label class="layui-form-label layui-form-required">绠辨暟: </label>-->
-<!--                    <div class="layui-input-block">-->
-<!--                        <input class="layui-input" name="ctns" placeholder="璇疯緭鍏ョ鏁�" lay-vertype="tips" lay-verify="required">-->
-<!--                    </div>-->
-<!--                </div>-->
-<!--                <div class="layui-form-item">-->
-<!--                    <label class="layui-form-label layui-form-required">鏃堕棿鎴�: </label>-->
-<!--                    <div class="layui-input-block">-->
-<!--                        <input class="layui-input" name="createTime" placeholder="璇疯緭鍏ユ椂闂存埑" lay-vertype="tips" lay-verify="required">-->
-<!--                    </div>-->
-<!--                </div>-->
                 <div class="layui-form-item">
                     <label class="layui-form-label layui-form-required">鎵樼洏鐮�: </label>
                     <div class="layui-input-block">
@@ -256,8 +140,7 @@
                         <input class="layui-input" name="armMsg" placeholder="璇疯緭鍏ュ紓甯镐俊鎭�">
                     </div>
                 </div>
-
-             </div>
+            </div>
         </div>
         <hr class="layui-bg-gray">
         <div class="layui-form-item text-right">
@@ -266,5 +149,4 @@
         </div>
     </form>
 </script>
-</html>
-
+</html>
\ No newline at end of file

--
Gitblit v1.9.1