From e7dac9ecb16aa627f0603beec9930c75ee6aa3f7 Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期四, 08 一月 2026 22:22:24 +0800
Subject: [PATCH] 盘点

---
 项目代码/WIDESEA_WMSClient/src/extension/inbound/extend/OrderStockTake.vue |   83 +++++++++++++++++++++++++++++++++++------
 1 files changed, 70 insertions(+), 13 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/extend/OrderStockTake.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/extend/OrderStockTake.vue"
index aa90c8e..eb61cbc 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/extend/OrderStockTake.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/extend/OrderStockTake.vue"
@@ -61,6 +61,35 @@
             </el-input>
           </el-form-item>
 
+          <!-- 鏂板锛氱珯鍙伴�夋嫨涓嬫媺妗� -->
+          <el-form-item
+            label="鍥炲簱绔欏彴锛�"
+            name="station"
+            :rules="[
+              {
+                required: true,
+                message: '璇烽�夋嫨鍥炲簱绔欏彴',
+                trigger: 'blur',
+              },
+            ]"
+            class="form-item"
+          >
+            <el-select
+              v-model="selectedStation"
+              placeholder="璇烽�夋嫨鍥炲簱绔欏彴"
+              :disabled="!formData.boxNo.trim() || loading"
+              class="custom-input"
+              :class="{ 'has-value': selectedStation }"
+            >
+              <el-option
+                v-for="item in stations"
+                :key="item.key || item.value"
+                :label="item.label"
+                :value="item.value"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+
           <!-- 鏉$爜杈撳叆妗� -->
           <el-form-item
             label="鐩樼偣鏉$爜锛�"
@@ -147,7 +176,7 @@
             type="info"
             size="small"
             @click="handleBoxReturn"
-            :disabled="!formData.boxNo.trim() || loading"
+            :disabled="!formData.boxNo.trim() || !selectedStation || loading"
             class="return-btn"
           >
             <Return /> 鏂欑鍥炲簱
@@ -188,6 +217,8 @@
 
 import VolBox from "@/components/basic/VolBox.vue";
 import http from "@/api/http";
+// 鏂板锛氬紩鍏ョ珯鍙扮鐞嗗伐鍏凤紙鍜岀ず渚嬩唬鐮佷繚鎸佷竴鑷达級
+import { stationManager, STATION_STORAGE_KEY } from "@/../src/uitils/stationManager";
 
 // 鍝嶅簲寮忓彉閲� - 鍗曟嵁鍙�
 const orderNo = ref("");
@@ -205,6 +236,13 @@
 });
 const loading = ref(false);
 const formRef = ref(null);
+
+// 鏂板锛氱珯鍙扮浉鍏冲搷搴斿紡鏁版嵁锛堜豢鐓хず渚嬩唬鐮侊級
+const stations = ref([
+  { label: "绔欏彴2", value: "2-1" },
+  { label: "绔欏彴3", value: "3-1" },
+]);
+const selectedStation = ref(stationManager.getStation() || ""); // 榛樿閫変腑缂撳瓨鐨勭珯鍙�
 
 // 妯℃澘寮曠敤
 const boxNoInputRef = ref(null);
@@ -232,6 +270,8 @@
       formData.barcode = "";
       formData.stockQuantity = "";
       formData.actualQuantity = "";
+      // 鏂板锛氭枡绠卞彿娓呯┖鏃讹紝閲嶇疆绔欏彴閫夋嫨
+      selectedStation.value = stationManager.getStation() || "";
     }
   },
   { immediate: true }
@@ -257,6 +297,8 @@
   formData.barcode = "";
   formData.stockQuantity = "";
   formData.actualQuantity = "";
+  // 鏂板锛氭墦寮�寮圭獥鏃堕噸缃珯鍙伴�夋嫨锛堥粯璁ゅ彇缂撳瓨鐨勭珯鍙帮級
+  selectedStation.value = stationManager.getStation() || "";
   nextTick(() => {
     boxNoInputRef.value?.focus();
   });
@@ -468,16 +510,21 @@
   }
 };
 
-// 鏂欑鍥炲簱鍔熻兘
+// 鏂欑鍥炲簱鍔熻兘锛堟牳蹇冧慨鏀癸細澧炲姞绔欏彴楠岃瘉 + 浼犲叆sourceAddress鍙傛暟锛�
 const handleBoxReturn = async () => {
   const boxNo = formData.boxNo.trim();
+  // 鏂板锛氶獙璇佺珯鍙版槸鍚﹂�夋嫨
   if (!boxNo) {
     ElMessage.warning("璇峰厛杈撳叆鎴栨壂鎻忔枡绠卞彿");
     return;
   }
+  if (!selectedStation.value) {
+    ElMessage.warning("璇烽�夋嫨鍥炲簱绔欏彴");
+    return;
+  }
 
   try {
-    await ElMessageBox.confirm(`纭畾灏嗘枡绠便��${boxNo}銆戝洖搴撳悧锛焋, "鍥炲簱纭", {
+    await ElMessageBox.confirm(`纭畾灏嗘枡绠便��${boxNo}銆戝洖搴撹嚦銆�${selectedStation.value}銆戠珯鍙板悧锛焋, "鍥炲簱纭", {
       confirmButtonText: "纭畾",
       cancelButtonText: "鍙栨秷",
       type: "info",
@@ -488,19 +535,21 @@
 
     loading.value = true;
 
+    // 鏂板锛氭嫾鎺ourceAddress鍙傛暟锛堢珯鍙版暟鎹級鍒版帴鍙h姹備腑
     const res = await http.post(
       `/api/TakeStockOrder/ReturnBox?boxNo=${encodeURIComponent(boxNo)}&orderNo=${encodeURIComponent(
         orderNo.value
-      )}`,
+      )}&sourceAddress=${encodeURIComponent(selectedStation.value)}`, // 鏂板sourceAddress鍙傛暟
       "鏂欑鍥炲簱涓�..."
     );
 
     if (res.status) {
-      ElMessage.success(`鏂欑銆�${boxNo}銆戝洖搴撴垚鍔燂紒`);
+      ElMessage.success(`鏂欑銆�${boxNo}銆戝洖搴撹嚦銆�${selectedStation.value}銆戠珯鍙版垚鍔燂紒`);
       formData.boxNo = "";
       formData.barcode = "";
       formData.stockQuantity = "";
       formData.actualQuantity = "";
+      selectedStation.value = stationManager.getStation() || ""; // 閲嶇疆绔欏彴閫夋嫨
       nextTick(() => {
         boxNoInputRef.value?.focus();
       });
@@ -588,13 +637,15 @@
 }
 
 /* 鏈夊�兼椂闅愯棌鍗犱綅绗� + 浼樺寲杈规 */
-.custom-input.has-value :deep(.el-input__inner) {
+.custom-input.has-value :deep(.el-input__inner),
+.custom-input.has-value :deep(.el-select__wrapper) {
   --el-input-placeholder-color: transparent; /* 闅愯棌鍗犱綅绗� */
   border-color: #8cc5ff; /* 娴呰摑杈规锛屽尯鍒嗘棤鍊肩姸鎬� */
   background-color: #ffffff;
 }
 
-.custom-input :deep(.el-input__inner) {
+.custom-input :deep(.el-input__inner),
+.custom-input :deep(.el-select__wrapper) {
   border-radius: 8px;
   border-color: #e5f0fa;
   transition: all 0.2s ease;
@@ -606,7 +657,8 @@
 }
 
 /* 鑱氱劍鏍峰紡浼樺寲 */
-.custom-input :deep(.el-input__inner:focus) {
+.custom-input :deep(.el-input__inner:focus),
+.custom-input :deep(.el-select__wrapper:focus) {
   border-color: #409eff;
   box-shadow: 0 0 0 3px rgba(64, 158, 255, 0.1);
   background-color: #ffffff;
@@ -666,7 +718,8 @@
 }
 
 /* 鏈夊�兼椂鍗充娇楠岃瘉澶辫触锛屼篃涓嶆樉绀洪敊璇竟妗� */
-.custom-input.has-value :deep(.el-input__inner.el-input__inner--error) {
+.custom-input.has-value :deep(.el-input__inner.el-input__inner--error),
+.custom-input.has-value :deep(.el-select__wrapper.el-select__wrapper--error) {
   border-color: #8cc5ff;
   box-shadow: none;
 }
@@ -807,22 +860,26 @@
 }
 
 /* 鍗犱綅绗︽牱寮� - 缁熶竴棰滆壊 */
-.el-input__inner::-webkit-input-placeholder {
+.el-input__inner::-webkit-input-placeholder,
+.el-select__placeholder {
   color: #b3d8ff;
   font-size: 13px;
 }
 
-.el-input__inner::-moz-placeholder {
+.el-input__inner::-moz-placeholder,
+.el-select__placeholder {
   color: #b3d8ff;
   font-size: 13px;
 }
 
-.el-input__inner:-ms-input-placeholder {
+.el-input__inner:-ms-input-placeholder,
+.el-select__placeholder {
   color: #b3d8ff;
   font-size: 13px;
 }
 
-.el-input__inner::placeholder {
+.el-input__inner::placeholder,
+.el-select__placeholder {
   color: #b3d8ff;
   font-size: 13px;
 }

--
Gitblit v1.9.3