From ca3e4977395bc02c5d147dffdff7381333fdfbca Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期四, 09 四月 2026 14:39:37 +0800
Subject: [PATCH] 空箱跨区域移库

---
 项目代码/WIDESEA_WMSClient/src/extension/inbound/extend/AllcatedPallet.vue |   44 +++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 41 insertions(+), 3 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/extend/AllcatedPallet.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/extend/AllcatedPallet.vue"
index fe15c2e..f09a1e1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/extend/AllcatedPallet.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/extend/AllcatedPallet.vue"
@@ -19,8 +19,8 @@
       <div class="location-section compact">
         <el-form :model="form" :rules="rules" ref="locationForm" class="compact-form">
           <el-form-item label="浠撳簱鍖哄煙" prop="locationType" class="location-select compact-item">
-            <el-select v-model="form.locationType" placeholder="璇峰厛閫夋嫨浠撳簱" clearable filterable
-              @change="handleLocationChange" style="width: 100%" :loading="locationLoading" size="medium">
+            <el-select v-model="form.locationType" placeholder="鑷姩鑾峰彇浠撳簱鍖哄煙" clearable filterable
+              @change="handleLocationChange" style="width: 100%" :loading="locationLoading" size="medium" :disabled="true">
               <el-option v-for="item in locationTypes" :key="item.locationType" :label="item.locationTypeDesc"
                 :value="item.locationType" />
             </el-select>
@@ -449,6 +449,34 @@
         });
     },
 
+    fetchLocationByWarehouse(warehouseCode) {
+      if (!warehouseCode) {
+        this.form.locationType = null;
+        return;
+      }
+      this.locationLoading = true;
+      http.post(`/api/InboundOrder/GetLocationType?code=${warehouseCode}`)
+        .then(({ data }) => {
+          if (data) {
+            this.form.locationType = data.locationType || data;
+            if (!this.locationTypes.find(item => item.locationType === this.form.locationType)) {
+              this.locationTypes.push({
+                locationType: this.form.locationType,
+                locationTypeDesc: this.form.locationType
+              });
+            }
+          }
+        })
+        .catch((err) => {
+          console.error("鑾峰彇浠撳簱鍖哄煙澶辫触:", err);
+          this.$message.error("鑾峰彇浠撳簱鍖哄煙澶辫触锛岃閲嶈瘯");
+          this.form.locationType = null;
+        })
+        .finally(() => {
+          this.locationLoading = false;
+        });
+    },
+
     // 鑾峰彇搴撳瓨缁熻
     fetchStockStatistics(orderNo) {
       if (!orderNo) {
@@ -625,6 +653,10 @@
       this.isManualInput = true;
       this.isScanning = false;
 
+      if (this.trayBarcode) {
+        this.trayBarcode = this.trayBarcode.replace(/\s+/g, "");
+      }
+
       if (this.manualInputTimer) {
         clearTimeout(this.manualInputTimer);
       }
@@ -638,6 +670,9 @@
       this.isManualInput = true;
       this.isScanning = false;
 
+      if (this.barcode) {
+        this.barcode = this.barcode.replace(/\s+/g, "");
+      }
       if (this.manualInputTimer) {
         clearTimeout(this.manualInputTimer);
       }
@@ -666,7 +701,9 @@
         .then(valid => {
           if (!valid) return;
           
-          const currentTrayBarcode = this.trayBarcode.trim();
+          let currentTrayBarcode = (this.trayBarcode || "").replace(/\s+/g, "").trim();
+        
+         this.trayBarcode = currentTrayBarcode;
 
           if (!currentTrayBarcode) {
             this.error = '璇疯緭鍏ユ垨鎵弿鎵樼洏鏉$爜';
@@ -928,6 +965,7 @@
       this.barcode = '';
       this.materials = [];
       this.error = '';
+      this.fetchLocationByWarehouse(this.form.warehouseType);
     },
 
     // 鍖哄煙鍒囨崲浜嬩欢

--
Gitblit v1.9.3