From b53e4ba7d0b3ea9006b7af20362f78c14bcc1c03 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期四, 05 二月 2026 09:47:20 +0800
Subject: [PATCH] 修复订单出库选择出库站点后报错

---
 src/main/webapp/views/order/outLocDetlQuery.html |  367 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 330 insertions(+), 37 deletions(-)

diff --git a/src/main/webapp/views/order/outLocDetlQuery.html b/src/main/webapp/views/order/outLocDetlQuery.html
index 7c212f6..fc648ce 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>
@@ -185,14 +186,38 @@
     </div>
 </script>
 
+<!-- 鎵归噺閫夋嫨鍑哄簱绔欏脊绐楁ā鏉� -->
+<script type="text/html" id="staBatchSelectDialog">
+    <div style="padding: 20px;">
+        <form class="layui-form" id="batchSelectStaBox">
+            <!-- 涓嬫媺妗嗗皢閫氳繃Handlebars妯℃澘鍔ㄦ�佹覆鏌� -->
+        </form>
+        <div style="text-align: center; margin-top: 20px;">
+            <button class="layui-btn layui-btn-sm" lay-submit lay-filter="staBatchSelectConfirm">纭</button>
+        </div>
+    </div>
+</script>
+
+<!-- 鎵归噺閫夋嫨鍑哄簱绔欎笅鎷夋妯℃澘 -->
+<script type="text/html" id="batchStaSelectTpl">
+    <div class="layui-form-item">
+        <label class="layui-form-label">鍑哄簱绔�</label>
+        <div class="layui-input-block">
+            <select name="batchSta" lay-filter="batchSta" lay-search>
+                {{#each list}}
+                <option value="{{this}}">{{this}}</option>
+                {{/each}}
+            </select>
+        </div>
+    </div>
+</script>
+
 <script type="text/html" id="tbBasicTbStaNos">
     <div class="ew-select-fixed">
         <select class="order-sta-select" lay-filter="tbBasicTbStaNos">
             {{#if (d.staNos!=null) {}}
-            {{# for(let i=0; i
-            <d.staNos.length
-                    ; i++) { }}
-            <option value="{{d.staNos[i]}}">{{d.staNos[i]}}</option>
+            {{# for(let i=0; i < d.staNos.length; i++) { }}
+            <option value="{{d.staNos[i]}}" {{d.staNos[i] == d.staNo ? 'selected' : ''}}>{{d.staNos[i]}}</option>
             {{# } }}
             {{# } }}
         </select>
@@ -200,9 +225,10 @@
 </script>
 
 <script>
+    var conditionXmSelect;
     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 +243,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 +252,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);
@@ -264,7 +291,7 @@
                 url: baseUrl + '/stock/out/list/auth',
                 where: {matnr: parent.matnR[0]},
                 page: true,
-                limits: [16, 30, 50, 100, 200, 500],
+                limits: [50, 100, 200, 500],
                 limit: 16,
                 even: true,
                 toolbar: '#toolbar',
@@ -293,6 +320,14 @@
                     // 鍒濆鍖栭�変腑鏁伴噺
                     selectedTotal = 0;
                     updateSelectedTotal();
+
+                    // 浠庡悗绔幏鍙栨暟鎹悗锛岄粯璁よ嚜鍔ㄥ嬀閫夋暟鎹紝鍕鹃�夊埌鍜岃鍗曟暟閲忎竴鑷�
+                    if (res.data.length > 0 && orderTotal > 0) {
+                        // 寤惰繜鎵ц锛岀‘淇濊〃鏍兼覆鏌撳畬鎴�
+                        setTimeout(function() {
+                            autoSelectItems();
+                        }, 100);
+                    }
                 }
             });
 
@@ -301,7 +336,7 @@
                 var data = obj.data;
                 var checked = obj.checked;
                 var type = obj.type;
-
+                console.log("data"+data.batch)
                 if (type === 'one') {
                     // 鍗曚釜閫夋嫨
                     if (checked) {
@@ -336,13 +371,20 @@
             // 鐩戝惉澶村伐鍏锋爮浜嬩欢
             table.on('toolbar(stockOut)', function (obj) {
                 var checkStatus = table.checkStatus(obj.config.id);
-                var data = checkStatus.data;
+                var data = checkStatus.data; // 杩欓噷鍙幏鍙栧疄闄呭嬀閫夌殑鏁版嵁
                 switch (obj.event) {
+                    case 'autoSelect':
+                        // 鑷姩鍕鹃�夊姛鑳�
+                        autoSelectItems();
+                        break;
                     case 'confirm':
+                        // 鍙娇鐢ㄧ晫闈笂瀹為檯鍕鹃�夌殑鏁版嵁锛屼笉鍐嶉澶栨暣鍚坵indow.autoSelectedData
+                        // 妫�鏌ユ槸鍚︽湁鏁版嵁鍙彁鍙�
                         if (data.length === 0) {
                             layer.msg("璇烽�夋嫨鏁版嵁");
                             return;
                         }
+
                         // 妫�鏌ラ�変腑鐨勬暟閲忔槸鍚﹁秴杩囪鍗曟暟閲�
                         if (selectedTotal > orderTotal) {
                             layer.confirm('閫変腑鐨勬暟閲忓凡瓒呰繃璁㈠崟鏁伴噺锛屾槸鍚︾户缁紵', {
@@ -358,6 +400,161 @@
                         break;
                 }
             });
+
+            // 鑷姩鍕鹃�夊嚱鏁� - 鍕鹃�夊簱瀛樻槑缁嗭紝鏁伴噺绱姞涓嶈秴杩囪鍗曟暟閲�
+            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;
+                // 鍒濆鍖栬嚜鍔ㄩ�変腑鏁版嵁
+                window.autoSelectedData = [];
+
+                // 鎸夐『搴忓嬀閫夊簱瀛樻槑缁嗭紝鐩村埌绱鏁伴噺杈惧埌璁㈠崟鏁伴噺
+                var remaining = orderTotal;
+                var selectedCount = 0;
+
+                // 浣跨敤鍘熷椤哄簭鐨勫壇鏈紝浠庣涓�椤电涓�涓紑濮嬪嬀閫�
+                var sortedData = allData.slice();
+
+                // 閫夋嫨闆嗗悎锛堜娇鐢ㄥ敮涓�閿伩鍏嶇储寮曢敊涔憋級
+                var selectionKeys = {};
+                for (var i = 0; i < sortedData.length; i++) {
+                    var item = sortedData[i];
+                    var itemAnfme = parseFloat(item.anfme || 0);
+                    if (itemAnfme <= 0) continue;
+                    var key = (item.locNo || '') + '|' + (item.batch || '') + '|' + (item.matnr || '') + '|' + (item.anfme || 0);
+                    if (remaining >= itemAnfme) {
+                        selectionKeys[key] = true;
+                        remaining -= itemAnfme;
+                        selectedCount++;
+                        window.autoSelectedData.push(item);
+                    } else if (remaining > 0) {
+                        selectionKeys[key] = true;
+                        remaining = 0;
+                        selectedCount++;
+                        window.autoSelectedData.push(item);
+                        break;
+                    } else {
+                        break;
+                    }
+                }
+
+                // 鏍规嵁閫夋嫨闆嗗悎鍚屾鍘熷鏁版嵁鐨勫嬀閫夋爣璁帮紝骞堕噸鏂拌绠楅�変腑鏁伴噺
+                selectedTotal = 0;
+                for (var i = 0; i < allData.length; i++) {
+                    var k = (allData[i].locNo || '') + '|' + (allData[i].batch || '') + '|' + (allData[i].matnr || '') + '|' + (allData[i].anfme || 0);
+                    allData[i].LAY_CHECKED = !!selectionKeys[k];
+                    if (allData[i].LAY_CHECKED) {
+                        selectedTotal += parseFloat(allData[i].anfme || 0);
+                    }
+                }
+
+                // 涓嶉噸鏂板姞杞借〃鏍硷紝鐩存帴鏇存柊琛ㄦ牸鐨勫嬀閫夌姸鎬�
+                var checkStatus = table.checkStatus('stockOut');
+                // 閬嶅巻琛ㄦ牸琛屽苟璁剧疆鍕鹃�夌姸鎬�
+                $('.layui-table-box tr').each(function(index, tr) {
+                    var rowIndex = $(tr).data('index');
+                    if (rowIndex !== undefined && allData[rowIndex]) {
+                        var checkbox = $(tr).find('input[type="checkbox"]');
+                        checkbox.prop('checked', allData[rowIndex].LAY_CHECKED);
+                        // 鍚屾layui鐨勫嬀閫夌姸鎬佹牱寮�
+                        if (allData[rowIndex].LAY_CHECKED) {
+                            $(tr).addClass('layui-table-click');
+                            checkbox.next().addClass('layui-form-checked');
+                        } else {
+                            $(tr).removeClass('layui-table-click');
+                            checkbox.next().removeClass('layui-form-checked');
+                        }
+                    }
+                });
+                // 鍚屾鍏ㄩ�夋鐘舵��
+                var headerCheckbox = $('.layui-table-header input[type="checkbox"]');
+                var allChecked = allData.length > 0;
+                for (var i = 0; i < allData.length; i++) {
+                    if (!allData[i].LAY_CHECKED) {
+                        allChecked = false;
+                        break;
+                    }
+                }
+                headerCheckbox.prop('checked', allChecked);
+                if (allChecked) {
+                    headerCheckbox.next().addClass('layui-form-checked');
+                } else {
+                    headerCheckbox.next().removeClass('layui-form-checked');
+                }
+
+                // 鏇存柊鏄剧ず閫変腑鐨勬暟閲�
+                updateSelectedTotal();
+
+                // 濡傛灉娌℃湁鍕鹃�夎冻澶熺殑鏁版嵁锛岀粰鍑烘彁绀�
+                if (selectedTotal < orderTotal && selectedCount > 0) {
+                    layer.msg('宸查�夋嫨鍏ㄩ儴鍙敤搴撳瓨锛屼絾浠嶆湭婊¤冻璁㈠崟鏁伴噺锛�', {icon: 2, time: 3000});
+                } else if (selectedCount === 0) {
+                    layer.msg('娌℃湁鍙嬀閫夌殑鏁版嵁锛岃妫�鏌ュ簱瀛橈紒', {icon: 2, time: 3000});
+                } else {
+                    layer.msg('鑷姩鍕鹃�夊畬鎴愶紝宸插嬀閫� ' + selectedCount + ' 鏉¤褰曪紒', {icon: 1, time: 2000});
+                }
+            }
+            conditionXmSelect = xmSelect.render({
+                el: '#condition',
+                style: {
+                    width: '200px',
+                },
+                autoRow: true,
+                toolbar: {show: true},
+                filterable: true,
+                data: [
+                    {
+                        name: '鎴愬搧鏅鸿兘绔嬪簱',
+                        value: '鎴愬搧鏅鸿兘绔嬪簱'
+                    },
+                    {
+                        name: '鐗归噰鏅鸿兘绔嬪簱',
+                        value: '鐗归噰鏅鸿兘绔嬪簱'
+                    },
+                    {
+                        name: '鍗楅�氬欢閿嬬壒閲囩珛搴�',
+                        value: '鍗楅�氬欢閿嬬壒閲囩珛搴�'
+                    },
+                    {
+                        name: '鏄嗗北鍢夐┉鐗归噰绔嬪簱',
+                        value: '鏄嗗北鍢夐┉鐗归噰绔嬪簱'
+                    },
+                    {
+                        name: '瀹夊窘楦跨憺杈剧壒閲囩珛搴�',
+                        value: '瀹夊窘楦跨憺杈剧壒閲囩珛搴�'
+                    },
+                    {
+                        name: '涓婃捣閲戞櫤杈剧壒閲囩珛搴�',
+                        value: '涓婃捣閲戞櫤杈剧壒閲囩珛搴�'
+                    },
+                    {
+                        name: '娌堥槼缁у嘲鐗归噰绔嬪簱',
+                        value: '娌堥槼缁у嘲鐗归噰绔嬪簱'
+                    },
+                    {
+                        name: '娌堥槼寤跺嘲鐗归噰绔嬪簱',
+                        value: '娌堥槼寤跺嘲鐗归噰绔嬪簱'
+                    }
+                ]
+            })
 
             // 鎼滅储鏍忔悳绱簨浠�
             form.on('submit(search)', function (data) {
@@ -384,11 +581,20 @@
             }
 
             function pakoutPreview(id, data) {
+                // 纭繚浼犲叆鐨勬暟鎹湁鏁�
+                if (!data || data.length === 0) {
+                    layer.msg("璇烽�夋嫨鏁版嵁");
+                    return;
+                }
+
+                // 瀛樺偍瀹為檯鍕鹃�夌殑鏁版嵁鍒板叏灞�鍙橀噺锛岀敤浜庡嚭搴撴搷浣�
+                window.selectedDataForPakout = data;
+
                 console.log("id=" + id)
                 let loadIndex = layer.load(2);
                 var da = {
                     "id": JSON.stringify(id),
-                    "list": data
+                    "list": data // 鍙娇鐢ㄥ疄闄呭嬀閫夌殑鏁版嵁
                 }
                 $.ajax({
                     url: baseUrl + "/out/pakout/preview/auth1",
@@ -413,9 +619,6 @@
                                 , moveType: 1 //鎷栨嫿妯″紡锛�0鎴栬��1
                                 , content: $('#pakoutPreviewBox').html()
                                 , success: function (layero, index) {
-                                    res.data.forEach((item, index) => {
-                                        console.log(`椤� ${index + 1}:`, item);
-                                    });
                                     stoPreTabIdx = table.render({
                                         elem: '#stoPreTab1',
                                         data: res.data,
@@ -423,8 +626,10 @@
                                         page: false,
                                         limit: Number.MAX_VALUE,
                                         cellMinWidth: 100,
+                                        // cols蹇呴』浣跨敤浜岀淮鏁扮粍鏍煎紡锛岃繖鏄痩ayui table鐨勬爣鍑嗛厤缃�
                                         cols: [[
-                                            // {type: 'checkbox', merge: ['orderNo']},
+                                            // 灏嗗閫夋鍒楁斁鍦ㄧ涓�鍒楋紝渚夸簬鐢ㄦ埛鎿嶄綔鍜宼ableMerge澶勭悊
+
                                             {field: 'orderNo', title: '鍗曟嵁缂栧彿', merge: true, align: 'center'},
                                             {field: 'title', title: '鍟嗗搧', merge: true, align: 'center', width: 350},
                                             {field: 'batch', title: '鎵瑰彿', align: 'center'},
@@ -440,6 +645,7 @@
                                                 title: '璐т綅',
                                                 align: 'center',
                                                 width: 100,
+                                                merge: ['locNo'],
                                                 templet: '#locNoTpl'
                                             },
                                             {
@@ -449,7 +655,7 @@
                                                 merge: ['locNo'],
                                                 templet: '#tbBasicTbStaNos'
                                             },
-                                            {type: 'checkbox', merge: ['locNo']},
+                                            {type: 'checkbox'}
                                         ]],
                                         done: function (res) {
                                             tableMerge.render(this);
@@ -463,7 +669,7 @@
                                         let data = tableCache[index];
                                         for (let i = 0; i < tableCache.length; i++) {
                                             if (tableCache[i].locNo === data.locNo) {
-                                                tableCache[i]['staNo'] = Number(obj.elem.value);
+                                                tableCache[i]['staNo'] = obj.elem.value;
                                             }
                                         }
                                         obj.othis.children().find("input").css("color", "blue");
@@ -471,7 +677,30 @@
                                     });
                                     // 鎵归噺淇敼鍑哄簱绔�
                                     form.on('submit(batchModifySta)', function () {
-                                        let stoPreTabData = layui.table.checkStatus('stoPreTab1').data;
+                                        // 鑾峰彇閫変腑鐨勬暟鎹紝鍏煎鍚堝苟琛岀殑鎯呭喌
+                                        let checkStatus = table.checkStatus('stoPreTab1');
+                                        let stoPreTabData = checkStatus.data;
+
+                                        // 濡傛灉checkStatus杩斿洖鐨勬暟鎹负绌猴紝灏濊瘯浠巘ableCache涓幏鍙�
+                                        if (stoPreTabData.length === 0) {
+                                            // 閬嶅巻tableCache锛屾壘鍑烘墍鏈夐�変腑鐨勮鍙婂叾鍚堝苟琛�
+                                            let checkedLocNos = [];
+                                            // 棣栧厛鎵惧嚭鎵�鏈夎閫変腑鐨勮鐨刲ocNo
+                                            tableCache.forEach(function(item) {
+                                                if (item.LAY_CHECKED === true) {
+                                                    checkedLocNos.push(item.locNo);
+                                                }
+                                            });
+
+                                            // 鍘婚噸
+                                            checkedLocNos = [...new Set(checkedLocNos)];
+
+                                            // 鏍规嵁locNo杩囨护鍑烘墍鏈夌浉鍏崇殑琛�
+                                            stoPreTabData = tableCache.filter(function(item) {
+                                                return checkedLocNos.includes(item.locNo);
+                                            });
+                                        }
+
                                         if (stoPreTabData.length < 1) {
                                             layer.msg("璇疯嚦灏戦�夋嫨涓�鏉′互涓婂悎骞舵暟鎹�", {icon: 7});
                                             return false;
@@ -496,6 +725,11 @@
                                                 }
                                             }
                                         }
+
+                                        // 娣诲姞璋冭瘯淇℃伅
+                                        console.log('staBatchSelectVal:', staBatchSelectVal);
+                                        console.log('staBatchSelectVal绫诲瀷:', Array.isArray(staBatchSelectVal) ? '鏁扮粍' : '闈炴暟缁�');
+                                        console.log('staBatchSelectVal闀垮害:', staBatchSelectVal.length);
                                         if (staBatchSelectVal.length === 0) {
                                             layer.msg("鍑哄簱绔欐病鏈変氦闆嗭紝鏃犳硶鎵归噺淇敼", {icon: 2});
                                             return;
@@ -507,21 +741,56 @@
                                             title: '璇烽�夋嫨绔欑偣',
                                             content: $('#staBatchSelectDialog').html(),
                                             success: function (layero, ddIndex) {
-                                                // 娓叉煋涓嬫媺妗�
-                                                let template = Handlebars.compile($('#batchStaSelectTpl').html());
-                                                $('#batchSelectStaBox').html(template({list: staBatchSelectVal}));
+                                                // 鐩存帴浣跨敤鍘熺敓鏂瑰紡鍒涘缓select鍏冪礌锛屼笉渚濊禆Handlebars妯℃澘
+                                                let selectHtml = '<div class="layui-form-item">';
+                                                selectHtml += '<label class="layui-form-label">鍑哄簱绔�</label>';
+                                                selectHtml += '<div class="layui-input-block">';
+                                                selectHtml += '<select name="batchSta" lay-filter="batchSta" lay-search>';
+
+                                                // 鎵嬪姩閬嶅巻鏁扮粍鍒涘缓option
+                                                staBatchSelectVal.forEach(function(staNo) {
+                                                    selectHtml += '<option value="' + staNo + '">' + staNo + '</option>';
+                                                });
+
+                                                selectHtml += '</select>';
+                                                selectHtml += '</div>';
+                                                selectHtml += '</div>';
+
+                                                // 鐩存帴鎻掑叆HTML
+                                                $(layero).find('#batchSelectStaBox').html(selectHtml);
+
+                                                // 娓叉煋琛ㄥ崟
+                                                layui.form.render('select');
+
                                                 // 纭
                                                 form.on('submit(staBatchSelectConfirm)', function (obj) {
                                                     let loadIdx = layer.load(2);
-                                                    let batchSta = Number(obj.field.batchSta);
+                                                    // 鐩存帴浠嶥OM涓幏鍙栭�変腑鐨勭珯鐐瑰�硷紝纭繚鑳芥纭幏鍙栧埌
+                                                    let batchSta = $(layero).find('select[name="batchSta"]').val();
+                                                    console.log('鎵归噺淇敼鐨勭珯鐐瑰��:', batchSta);
                                                     let arr = [];
-                                                    for (let j = 0; j < stoPreTabData.length; j++) {
+
+                                                    // 绠�鍖栨洿鏂伴�昏緫锛岀洿鎺ユ洿鏂版墍鏈夐�変腑鐨勬暟鎹�
+                                                    stoPreTabData.forEach(function(preItem) {
                                                         for (let i = 0; i < tableCache.length; i++) {
-                                                            if (tableCache[i].orderNo === stoPreTabData[j].orderNo
-                                                                && tableCache[i].matnr === stoPreTabData[j].matnr
-                                                                && tableCache[i].locNo === stoPreTabData[j].locNo) {
+                                                            // 鍙牴鎹甽ocNo杩涜鍖归厤锛屽洜涓鸿〃鏍间腑locNo鏄悎骞跺崟鍏冩牸鐨勫叧閿瓧娈�
+                                                            if (tableCache[i].locNo === preItem.locNo) {
                                                                 tableCache[i]['staNo'] = batchSta;
                                                                 arr.push(i);
+                                                                console.log('鏇存柊浜嗘暟鎹储寮�:', i, '绔欑偣鍊�:', batchSta);
+                                                            }
+                                                        }
+                                                    });
+
+                                                    // 濡傛灉娌℃湁鎵惧埌鍖归厤椤癸紝灏濊瘯鐩存帴鏇存柊閫変腑鐨勬暟鎹�
+                                                    if (arr.length === 0) {
+                                                        console.log('鏈壘鍒板尮閰嶉」锛屽皾璇曠洿鎺ユ洿鏂�');
+                                                        // 鐩存帴閬嶅巻tableCache锛屾洿鏂版墍鏈塋AY_CHECKED涓簍rue鐨勯」
+                                                        for (let i = 0; i < tableCache.length; i++) {
+                                                            if (tableCache[i].LAY_CHECKED === true) {
+                                                                tableCache[i]['staNo'] = batchSta;
+                                                                arr.push(i);
+                                                                console.log('鐩存帴鏇存柊浜嗛�変腑鐨勬暟鎹储寮�:', i);
                                                             }
                                                         }
                                                     }
@@ -539,7 +808,6 @@
                                                 });
                                                 // 寮圭獥涓嶅嚭鐜版粴鍔ㄦ潯
                                                 $(layero).children('.layui-layer-content').css('overflow', 'visible');
-                                                layui.form.render('select');
                                             },
                                         })
                                     }
@@ -547,11 +815,15 @@
                                 }
                                 , yes: function (index, layero) {
                                     //鎸夐挳銆愮珛鍗冲嚭搴撱�戠殑鍥炶皟
-                                    pakout(tableCache, index);
+                                    // 涓嶅啀浼犻�抰ableCache锛宲akout鍑芥暟灏嗕娇鐢╳indow.selectedDataForPakout
+                                    window.selectedDataForPakout = tableCache;
+                                    pakout(index);
                                 }
                                 , btn2: function (index, layero) {
                                     //鎸夐挳銆愮◢鍚庡鐞嗐�戠殑鍥炶皟
                                     layer.close(index)
+                                    // 娓呯悊鍏ㄥ眬鍙橀噺
+                                    window.selectedDataForPakout = null;
                                     //return false 寮�鍚浠g爜鍙姝㈢偣鍑昏鎸夐挳鍏抽棴
                                 }
                             });
@@ -564,7 +836,19 @@
                 })
             }
 
-            function pakout(tableCache, layerIndex) {
+            function pakout(layerIndex) {
+                // 鑾峰彇瀛樺偍鐨勫疄闄呭嬀閫夋暟鎹�
+                var tableCache = window.selectedDataForPakout;
+
+                // 纭繚浼犲叆鐨勬暟鎹湁鏁�
+                if (!tableCache || tableCache.length === 0) {
+                    layer.msg("娌℃湁鏈夋晥鐨勬暟鎹彲澶勭悊", {icon: 2});
+                    return;
+                }
+
+                // 閲嶇疆鑷姩閫変腑鐨勬暟鎹紝閬垮厤鏁版嵁娈嬬暀
+                window.autoSelectedData = [];
+
                 // let loadIndex = layer.load(2);
                 notice.msg('姝e湪鐢熸垚鍑哄簱浠诲姟......', {icon: 4});
                 $.ajax({
@@ -615,11 +899,20 @@
                         } else {
                             layer.msg(res.msg, {icon: 2})
                         }
+                    },
+                    error: function () {
+                        notice.destroy();
+                        layer.msg('缃戠粶閿欒锛岃绋嶅悗閲嶈瘯', {icon: 2});
                     }
                 });
+
+                // 娓呯悊鍏ㄥ眬鍙橀噺
+                window.selectedDataForPakout = null;
             }
 
             window.pakoutPreview = pakoutPreview;
+            // 鍒濆鍖栬嚜鍔ㄩ�変腑鏁版嵁鍙橀噺锛岀‘淇濋〉闈㈠姞杞芥椂琚纭垵濮嬪寲
+            window.autoSelectedData = null;
         })
 </script>
-</html>
\ No newline at end of file
+</html>

--
Gitblit v1.9.1