From 12067f657bc3dc169a7a466e433374368e8daf73 Mon Sep 17 00:00:00 2001
From: chen.llin <1442464845@qq.comm>
Date: 星期日, 18 一月 2026 16:14:27 +0800
Subject: [PATCH] 越库订单逻辑调整

---
 src/main/webapp/static/js/orderPakin/order.js |  109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 109 insertions(+), 0 deletions(-)

diff --git a/src/main/webapp/static/js/orderPakin/order.js b/src/main/webapp/static/js/orderPakin/order.js
index 0293607..080adef 100644
--- a/src/main/webapp/static/js/orderPakin/order.js
+++ b/src/main/webapp/static/js/orderPakin/order.js
@@ -180,7 +180,88 @@
                 form.val('editForm', expTpe);
                 if (expTpe) {
                     $('#orderNo').attr("disabled", "disabled");
+                    // 淇敼璁㈠崟鏃讹紝涓嶆樉绀鸿秺搴撴寜閽紙鍥犱负瓒婂簱璁㈠崟鍒涘缓鍚庡氨瀹屾垚浜嗭紝涓嶄細鏈変腑闂寸姸鎬侊級
+                    $('#crossDockItem').hide();
+                } else {
+                    // 鏂板璁㈠崟鏃讹紝鏄剧ず瓒婂簱鎸夐挳锛岄粯璁や笉鍕鹃��
+                    $('#crossDockItem').show();
+                    // 榛樿闅愯棌鍑哄簱璁㈠崟绫诲瀷閫夋嫨鍣�
+                    $('#outboundDocTypeItem').hide();
                 }
+                
+                // 鍏堟覆鏌� switch锛岀‘淇� LayUI 姝g‘鍒濆鍖�
+                form.render('switch');
+                
+                // 鍒濆鍖栧嚭搴撹鍗曠被鍨嬮�夋嫨鍣�
+                var outboundDocTypeData = [];
+                $.ajax({
+                    url: baseUrl + "/docType/list/auth",
+                    headers: { 'token': localStorage.getItem('token') },
+                    data: { limit: 9999, pakout: 1 },
+                    method: 'POST',
+                    async: false,
+                    success: function (res) {
+                        if (res.code === 200) {
+                            // 杞崲涓� xmSelect 闇�瑕佺殑鏍煎紡
+                            res.data.records.forEach(function (item) {
+                                outboundDocTypeData.push({
+                                    name: item.docName,
+                                    value: item.docId
+                                });
+                            });
+                        } else {
+                            layer.msg(res.msg, { icon: 2 });
+                        }
+                    }
+                });
+                var outboundDocTypeXmSelect = xmSelect.render({
+                    el: '#outboundDocTypeSelect',
+                    radio: true,
+                    clickClose: true,
+                    filterable: true,
+                    model: {
+                        icon: 'hidden',
+                        label: {
+                            type: 'text',
+                        }
+                    },
+                    data: outboundDocTypeData,
+                    initValue: []
+                });
+                
+                // 鍒囨崲鍑哄簱璁㈠崟绫诲瀷閫夋嫨鍣ㄧ殑鏄剧ず/闅愯棌
+                function toggleOutboundDocTypeSelector(show) {
+                    if (show) {
+                        // 鍕鹃�夎秺搴撹鍗曟椂锛屾樉绀哄嚭搴撹鍗曠被鍨嬮�夋嫨鍣�
+                        $('#outboundDocTypeItem').show();
+                        console.log('鏄剧ず鍑哄簱璁㈠崟绫诲瀷閫夋嫨鍣�');
+                    } else {
+                        // 鍙栨秷鍕鹃�夋椂锛岄殣钘忓嚭搴撹鍗曠被鍨嬮�夋嫨鍣�
+                        $('#outboundDocTypeItem').hide();
+                        outboundDocTypeXmSelect.setValue([]);
+                        console.log('闅愯棌鍑哄簱璁㈠崟绫诲瀷閫夋嫨鍣�');
+                    }
+                }
+                
+                // 鐩戝惉 switch 鍙樺寲锛屾帶鍒跺嚭搴撹鍗曠被鍨嬮�夋嫨鍣ㄧ殑鏄剧ず/闅愯棌
+                // 娉ㄦ剰锛氬繀椤诲湪 form.render 涔嬪悗娉ㄥ唽鐩戝惉鍣�
+                form.on('switch(isCrossDock)', function(data){
+                    var isChecked = data.elem.checked;
+                    console.log('瓒婂簱璁㈠崟寮�鍏冲彉鍖栵紝鍊硷細', isChecked, '鍏冪礌锛�', data.elem);
+                    toggleOutboundDocTypeSelector(isChecked);
+                });
+                
+                // 鍒濆鍖栨椂妫�鏌� switch 鐘舵�侊紙浠ラ槻椤甸潰鍒锋柊鍚庣姸鎬佷笉涓�鑷达級
+                // 浣跨敤 setTimeout 纭繚 DOM 宸插畬鍏ㄦ覆鏌�
+                setTimeout(function() {
+                    var initialCrossDockState = $('#isCrossDock').is(':checked') || 
+                                                $('#isCrossDock').prop('checked') ||
+                                                ($('#isCrossDock').next('.layui-form-switch').hasClass('layui-form-onswitch'));
+                    console.log('鍒濆鍖栨鏌ヨ秺搴撹鍗曠姸鎬侊細', initialCrossDockState);
+                    if (initialCrossDockState) {
+                        toggleOutboundDocTypeSelector(true);
+                    }
+                }, 100);
                 // 鍒濆鍖栦笟鍔℃椂闂存棩鏈熼�夋嫨鍣�
                 layDate.render({
                     elem: '#orderTime',
@@ -254,7 +335,33 @@
                             return false;
                         }
                     }
+                    // 鑾峰彇瓒婂簱璁㈠崟寮�鍏崇姸鎬侊紙澶氱鏂瑰紡妫�娴嬶紝纭繚鍑嗙‘鎬э級
+                    var isCrossDockChecked = $('#isCrossDock').is(':checked') || 
+                                            $('#isCrossDock').prop('checked') || 
+                                            data.field.isCrossDock === 'ON' || 
+                                            data.field.isCrossDock === true ||
+                                            data.field.isCrossDock === 'on';
+                    console.log('鎻愪氦瓒婂簱璁㈠崟鐘舵�侊紝isCrossDock锛�', isCrossDockChecked, '鍘熷鍊硷細', data.field.isCrossDock, 'DOM checked锛�', $('#isCrossDock').is(':checked'));
+                    
+                    // 鑾峰彇鍑哄簱璁㈠崟绫诲瀷ID
+                    var outboundDocTypeId = null;
+                    if (isCrossDockChecked) {
+                        // 妫�鏌ュ嚭搴撹鍗曠被鍨嬮�夋嫨鍣ㄦ槸鍚﹀彲瑙�
+                        if (!$('#outboundDocTypeItem').is(':visible')) {
+                            console.warn('鍑哄簱璁㈠崟绫诲瀷閫夋嫨鍣ㄦ湭鏄剧ず锛屼絾瓒婂簱璁㈠崟宸插嬀閫�');
+                        }
+                        var outboundDocTypeValue = outboundDocTypeXmSelect.getValue();
+                        console.log('鍑哄簱璁㈠崟绫诲瀷閫夋嫨鍣ㄥ�硷細', outboundDocTypeValue);
+                        if (!outboundDocTypeValue || outboundDocTypeValue.length === 0 || !outboundDocTypeValue[0]) {
+                            layer.msg('璇烽�夋嫨鍑哄簱璁㈠崟绫诲瀷', { icon: 2 });
+                            return false;
+                        }
+                        outboundDocTypeId = Number(outboundDocTypeValue[0].value);
+                        console.log('鍑哄簱璁㈠崟绫诲瀷ID锛�', outboundDocTypeId);
+                    }
+                    
                     layer.load(2);
+                    
                     $.ajax({
                         url: baseUrl + "/order/pakin/order/form/" + (isExpAdd ? "add" : "modify") + "/auth",
                         headers: { 'token': localStorage.getItem('token') },
@@ -264,6 +371,8 @@
                             orderNo: data.field.orderNo,
                             cstmrName: cstmrXmSelect.getValue()[0] ? cstmrXmSelect.getValue()[0].name : null,
                             orderTime: data.field.orderTime,
+                            isCrossDock: isCrossDockChecked,
+                            outboundDocType: outboundDocTypeId,
                             orderDetlPakinList: nList
                         }),
                         contentType: 'application/json;charset=UTF-8',

--
Gitblit v1.9.1