From 01a0dbc37d2df7557f6bab27a8f3f78970b8251e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 01 四月 2026 17:39:03 +0800
Subject: [PATCH] 军泰伟业 1.军泰伟业-库存管理增加库位 2.军泰伟业-生产入库要审核,加个入库审核菜单,入库数量,库位,通过不通过

---
 src/views/productionManagement/productionOrder/index.vue |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/src/views/productionManagement/productionOrder/index.vue b/src/views/productionManagement/productionOrder/index.vue
index 7984915..ca0172f 100644
--- a/src/views/productionManagement/productionOrder/index.vue
+++ b/src/views/productionManagement/productionOrder/index.vue
@@ -116,6 +116,15 @@
             />
           </template>
         </el-table-column>
+        <el-table-column label="搴撲綅" min-width="180" align="center" prop="stockLocation">
+          <template #default="{ row }">
+            <el-input
+              v-model="row.stockLocation"
+              placeholder="璇疯緭鍏ュ簱浣�"
+              clearable
+            />
+          </template>
+        </el-table-column>
       </el-table>
       <div class="picking-footer-info">
         <span>宸查�� {{ inputSelectedRows.length }} 鏉�</span>
@@ -132,7 +141,7 @@
     <!-- 棰嗘枡寮规 -->
     <el-dialog v-model="pickingDialogVisible"
                title="宸ュ崟棰嗘枡"
-               width="1200px"
+               width="70%"
                :close-on-click-modal="false">
 
       <el-table
@@ -162,6 +171,15 @@
               size="small" 
               style="width: 160px"
               @change="(val) => handlePickingQuantityChange(val, row)"
+            />
+          </template>
+        </el-table-column>
+        <el-table-column label="搴撲綅" min-width="180" align="center" prop="stockLocation">
+          <template #default="{ row }">
+            <el-input
+              v-model="row.stockLocation"
+              placeholder="璇疯緭鍏ュ簱浣�"
+              clearable
             />
           </template>
         </el-table-column>
@@ -737,6 +755,7 @@
         inputTableData.value = res.data.records.map(item => ({
           ...item,
           currentReturnQuantity: 0,
+          stockLocation: item.stockLocation || "",
         }));
         inputPage.total = res.data.total;
       })
@@ -759,6 +778,7 @@
       pickingTableData.value = materials.map(item => ({
         ...item,
         quantity: 0,
+        stockLocation: item.stockLocation || "",
         unpickedQuantity: (item.demandedQuantity || 0) - (item.completedQuantity || 0),
       }));
     } catch (e) {
@@ -796,6 +816,10 @@
         proxy.$modal.msgWarning(`${row.productName} 鐨勯鏂欐暟閲忓繀椤诲ぇ浜�0`);
         return;
       }
+      if (!row.stockLocation || !String(row.stockLocation).trim()) {
+        proxy.$modal.msgWarning(`${row.productName} 鐨勫簱浣嶄笉鑳戒负绌篳);
+        return;
+      }
     }
     
     // 鎻愪氦棰嗘枡鏁版嵁
@@ -805,6 +829,7 @@
         productStructureRecordId: row.id,
         productModelId: row.productModelId,
         quantity: row.quantity,
+        stockLocation: String(row.stockLocation).trim(),
       }));
       await pickMaterial(pickData);
       proxy.$modal.msgSuccess("棰嗘枡鎴愬姛");
@@ -851,10 +876,18 @@
       proxy.$modal.msgWarning("璇峰~鍐欐湰娆¢��鏂欐暟閲�");
       return;
     }
+    const invalidLocationRows = inputSelectedRows.value.filter(
+      row => !row.stockLocation || !String(row.stockLocation).trim()
+    );
+    if (invalidLocationRows.length > 0) {
+      proxy.$modal.msgWarning("璇峰~鍐欏簱浣�");
+      return;
+    }
 
     const returnData = inputSelectedRows.value.map(row => ({
       ...row,
       returnQuantity: row.currentReturnQuantity,
+      stockLocation: String(row.stockLocation).trim(),
     }));
 
     try {

--
Gitblit v1.9.3