From 39ddd87db8c3dc398557120b096b350b7d32efe4 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期五, 21 十一月 2025 16:34:12 +0800
Subject: [PATCH] 1.自动勾选

---
 src/main/webapp/views/order/outLocDetlQuery.html |  130 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 120 insertions(+), 10 deletions(-)

diff --git a/src/main/webapp/views/order/outLocDetlQuery.html b/src/main/webapp/views/order/outLocDetlQuery.html
index 7c212f6..75bbbfc 100644
--- a/src/main/webapp/views/order/outLocDetlQuery.html
+++ b/src/main/webapp/views/order/outLocDetlQuery.html
@@ -75,6 +75,11 @@
         .over-limit #selectedTotal {
             color: #FF5722 !important; /* 绾㈣壊璀﹀憡 */
         }
+
+        /* 璁㈠崟瀹屾垚鐘舵�� */
+        .order-completed {
+            background: #5FB878 !important;
+        }
     </style>
 </head>
 <body>
@@ -126,14 +131,9 @@
                 <input class="layui-input" type="text" name="batch" placeholder="鎵瑰彿" autocomplete="off">
             </div>
         </div>
-        <div class="layui-inline">
-            <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="brand" placeholder="鐢熶骇绾�" autocomplete="off">
-            </div>
-        </div>
-        <div class="layui-inline">
-            <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="sku" placeholder="绛夌骇" autocomplete="off">
+        <div class="layui-input-inline" style="margin-right: 100px;">
+            <div id="condition" name="condition">
+
             </div>
         </div>
         <!-- 鏃ユ湡鑼冨洿 -->
@@ -154,6 +154,7 @@
 
 <script type="text/html" id="toolbar">
     <div class="layui-btn-container">
+        <button class="layui-btn" id="btn-auto-select" lay-event="autoSelect">鑷姩鍕鹃��</button>
         <button class="layui-btn" id="btn-confirm" lay-event="confirm" style="">鎻愬彇</button>
     </div>
 </script>
@@ -200,9 +201,11 @@
 </script>
 
 <script>
+    var conditionXmSelect;
+    var
     function getCol() {
         var cols = [
-            {type: 'checkbox', merge: ['locNo']}
+            {type: 'checkbox'}
             , {field: 'locNo', align: 'center', title: '搴撲綅鍙�', merge: true, style: 'font-weight: bold'}
             // ,{field: 'locNo$', align: 'center',title: '搴撲綅鍙�'}
         ];
@@ -217,7 +220,7 @@
     }).extend({
         notice: 'notice/notice',
     })
-        .use(['table', 'notice', 'laydate', 'form', 'admin', 'tableMerge'], function () {
+        .use(['table', 'notice', 'laydate', 'form', 'admin', 'tableMerge','xmSelect'], function () {
             var table = layui.table;
             var $ = layui.jquery;
             var layer = layui.layer;
@@ -226,6 +229,7 @@
             var admin = layui.admin;
             var tableMerge = layui.tableMerge;
             var notice = layui.notice;
+            var xmSelect = layui.xmSelect;
 
             $('#matnr').val(parent.matnR);
             $('#anfme').val(parent.anfme);
@@ -338,6 +342,10 @@
                 var checkStatus = table.checkStatus(obj.config.id);
                 var data = checkStatus.data;
                 switch (obj.event) {
+                    case 'autoSelect':
+                        // 鑷姩鍕鹃�夊姛鑳�
+                        autoSelectItems();
+                        break;
                     case 'confirm':
                         if (data.length === 0) {
                             layer.msg("璇烽�夋嫨鏁版嵁");
@@ -359,6 +367,108 @@
                 }
             });
 
+            // 鑷姩鍕鹃�夊嚱鏁� - 淇鐗堟湰锛氬嬀閫夊簱瀛樻槑缁嗭紝鏁伴噺绱姞涓嶈秴杩囪鍗曟暟閲�
+            function autoSelectItems() {
+                // 鑾峰彇褰撳墠椤垫墍鏈夋暟鎹�
+                var allData = table.cache.stockOut;
+                if (!allData || allData.length === 0) {
+                    layer.msg("娌℃湁鍙嬀閫夌殑鏁版嵁", {icon: 2});
+                    return;
+                }
+
+                // 濡傛灉璁㈠崟鏁伴噺涓�0锛屼笉闇�瑕佸嬀閫�
+                if (orderTotal <= 0) {
+                    layer.msg("璁㈠崟鏁伴噺涓�0锛屾棤闇�鍕鹃��", {icon: 2});
+                    return;
+                }
+
+                // 鍏堝彇娑堟墍鏈夊凡閫変腑鐨勯」
+                for (var i = 0; i < allData.length; i++) {
+                    allData[i].LAY_CHECKED = false;
+                }
+
+                // 閲嶇疆閫変腑鏁伴噺
+                selectedTotal = 0;
+
+                // 鎸夐『搴忓嬀閫夊簱瀛樻槑缁嗭紝鐩村埌绱鏁伴噺杈惧埌璁㈠崟鏁伴噺
+                var remaining = orderTotal;
+                var selectedCount = 0;
+
+                for (var i = 0; i < allData.length; i++) {
+                    var itemQuantity = parseFloat(allData[i].anfme || 0);
+
+                    // 璺宠繃鏁伴噺涓�0鎴栨棤鏁堢殑椤�
+                    if (itemQuantity <= 0) continue;
+
+                    // 濡傛灉鍓╀綑闇�姹備负0锛屽仠姝㈠嬀閫�
+                    if (remaining <= 0) break;
+
+                    // 鍕鹃�夎椤�
+                    allData[i].LAY_CHECKED = true;
+                    selectedTotal += itemQuantity;
+                    selectedCount++;
+
+                    // 鏇存柊鍓╀綑闇�姹�
+                    remaining = orderTotal - selectedTotal;
+
+                    // 濡傛灉鍕鹃�夊悗瓒呰繃璁㈠崟鏁伴噺锛岀粰鍑烘彁绀哄苟鍋滄鍕鹃��
+                    if (selectedTotal > orderTotal) {
+                        layer.msg('璀﹀憡锛氳嚜鍔ㄥ嬀閫夊悗鏁伴噺瓒呰繃璁㈠崟鏁伴噺锛屽凡鍋滄鍕鹃��', {icon: 2, time: 3000});
+                        break;
+                    }
+                }
+
+                // 鏇存柊琛ㄦ牸鏄剧ず - 鍙皟鐢ㄤ竴娆�
+                table.reload('stockOut', {
+                    data: allData,
+                    done: function() {
+                        // 鍦ㄨ〃鏍奸噸杞藉畬鎴愬悗锛屾墜鍔ㄦ洿鏂板閫夋鐨凞OM鐘舵��
+                        setTimeout(function() {
+                            for (var i = 0; i < allData.length; i++) {
+                                if (allData[i].LAY_CHECKED) {
+                                    var trElem = $('tr[data-index="' + i + '"]');
+                                    if (trElem.length > 0) {
+                                        // 鎿嶄綔澶嶉�夋
+                                        trElem.find('input[type="checkbox"]').prop('checked', true);
+                                        trElem.find('.layui-form-checkbox').addClass('layui-form-checked');
+                                    }
+                                }
+                            }
+                            // 閲嶆柊娓叉煋琛ㄥ崟
+                            form.render('checkbox');
+
+                            // 鏇存柊鏄剧ず
+                            updateSelectedTotal();
+
+                            if (selectedCount > 0) {
+                                layer.msg('宸茶嚜鍔ㄥ嬀閫� ' + selectedCount + ' 涓簱瀛樻槑缁嗭紝鏁伴噺: ' + selectedTotal, {icon: 1, time: 2000});
+                            } else {
+                                layer.msg('娌℃湁鍙嬀閫夌殑搴撳瓨鏄庣粏', {icon: 2});
+                            }
+                        }, 100);
+                    }
+                });
+            }
+            conditionXmSelect = xmSelect.render({
+                el: '#condition',
+                style: {
+                    width: '200px',
+                },
+                autoRow: true,
+                toolbar: {show: true},
+                filterable: true,
+                data: [
+                    {
+                        name: '鎴愬搧鏅鸿兘绔嬪簱',
+                        value: '鎴愬搧鏅鸿兘绔嬪簱'
+                    },
+                    {
+                        name: '鐗归噰鏅鸿兘绔嬪簱',
+                        value: '鐗归噰鏅鸿兘绔嬪簱'
+                    }
+                ]
+            })
+
             // 鎼滅储鏍忔悳绱簨浠�
             form.on('submit(search)', function (data) {
                 tableReload();

--
Gitblit v1.9.1