From d53d9ce404fb0b53c2c6ac0841f121c7bac0eff4 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 31 三月 2026 09:16:29 +0800
Subject: [PATCH] fix: 仓储管理添加批号

---
 src/views/inventoryManagement/dispatchLog/Record.vue          |   34 +++++++-
 src/views/inventoryManagement/stockManagement/New.vue         |   64 +++++++++++++++
 src/views/inventoryManagement/stockManagement/Qualified.vue   |   20 +++++
 src/views/inventoryManagement/stockManagement/Unqualified.vue |   20 +++++
 src/views/inventoryManagement/stockReport/index.vue           |   28 +++++-
 src/views/inventoryManagement/receiptManagement/Record.vue    |   18 ++++
 6 files changed, 168 insertions(+), 16 deletions(-)

diff --git a/src/views/inventoryManagement/dispatchLog/Record.vue b/src/views/inventoryManagement/dispatchLog/Record.vue
index 57f1d04..3860bb2 100644
--- a/src/views/inventoryManagement/dispatchLog/Record.vue
+++ b/src/views/inventoryManagement/dispatchLog/Record.vue
@@ -29,7 +29,7 @@
 			<div>
 				<el-button @click="handleOut">瀵煎嚭</el-button>
 				<el-button type="danger" plain @click="handleDelete">鍒犻櫎</el-button>
-				<el-button type="primary" plain @click="handlePrint">鎵撳嵃</el-button>
+				<!-- <el-button type="primary" plain @click="handlePrint">鎵撳嵃</el-button> -->
 			</div>
 		</div>
 		<div class="table_list">
@@ -45,12 +45,30 @@
 			>
 				<el-table-column align="center" type="selection" width="55" />
 				<el-table-column align="center" label="搴忓彿" type="index" width="60" />
-        <el-table-column
+        <!-- <el-table-column
             label="鍑哄簱鎵规"
             prop="outboundBatches"
             min-width="100"
             show-overflow-tooltip
-        />
+        /> -->
+        <el-table-column
+            label="鎵瑰彿"
+            min-width="120"
+            show-overflow-tooltip
+        >
+          <template #default="scope">
+            {{ scope.row.batchNo || "" }}
+          </template>
+        </el-table-column>
+        <el-table-column
+            label="渚涘簲鍟�"
+            min-width="160"
+            show-overflow-tooltip
+        >
+          <template #default="scope">
+            {{ scope.row.supplierName || scope.row.customer || "" }}
+          </template>
+        </el-table-column>
 				<el-table-column
 					label="鍑哄簱鏃ユ湡"
 					prop="createTime"
@@ -424,8 +442,14 @@
               </div>
             </div>
             <div class="info-row">
-              <span class="label">鍗曞彿锛�</span>
-              <span class="value">${item.code || ''}</span>
+              <div>
+                <span class="label">鎵瑰彿锛�</span>
+                <span class="value">${item.batchNo || item.outboundBatches || ''}</span>
+              </div>
+              <div>
+                <span class="label">鍗曞彿锛�</span>
+                <span class="value">${item.code || ''}</span>
+              </div>
             </div>
           </div>
 
diff --git a/src/views/inventoryManagement/receiptManagement/Record.vue b/src/views/inventoryManagement/receiptManagement/Record.vue
index 6e904ec..3715fb5 100644
--- a/src/views/inventoryManagement/receiptManagement/Record.vue
+++ b/src/views/inventoryManagement/receiptManagement/Record.vue
@@ -54,10 +54,24 @@
                          label="搴忓彿"
                          type="index"
                          width="60"/>
-        <el-table-column label="鍏ュ簱鎵规"
+        <!-- <el-table-column label="鍏ュ簱鎵规"
                          prop="inboundBatches"
                          width="280"
-                         show-overflow-tooltip/>
+                         show-overflow-tooltip/> -->
+        <el-table-column label="鎵瑰彿"
+                         min-width="160"
+                         show-overflow-tooltip>
+          <template #default="scope">
+            {{ scope.row.batchNo || '' }}
+          </template>
+        </el-table-column>
+        <el-table-column label="渚涘簲鍟�"
+                         min-width="200"
+                         show-overflow-tooltip>
+          <template #default="scope">
+            {{ scope.row.supplierName || scope.row.customer || '' }}
+          </template>
+        </el-table-column>
         <el-table-column label="鍏ュ簱鏃堕棿"
                          prop="createTime"
                          show-overflow-tooltip/>
diff --git a/src/views/inventoryManagement/stockManagement/New.vue b/src/views/inventoryManagement/stockManagement/New.vue
index 1f86fd6..913c3fd 100644
--- a/src/views/inventoryManagement/stockManagement/New.vue
+++ b/src/views/inventoryManagement/stockManagement/New.vue
@@ -37,6 +37,35 @@
           <el-input v-model="formState.unit"  disabled />
         </el-form-item>
 
+        <el-form-item label="鎵瑰彿" prop="batchNo" :rules="[{ required: true, message: '璇疯緭鍏ユ壒鍙�', trigger: 'blur' }]">
+          <el-input v-model="formState.batchNo" placeholder="璇疯緭鍏ユ壒鍙�" clearable />
+        </el-form-item>
+
+        <el-form-item
+          label="渚涘簲鍟�"
+          prop="customer"
+          :rules="[{ required: true, message: '璇烽�夋嫨渚涘簲鍟�', trigger: 'change' }]"
+        >
+          <el-select
+            v-model="formState.customer"
+            placeholder="璇烽�夋嫨渚涘簲鍟�"
+            filterable
+            clearable
+            allow-create
+            :reserve-keyword="true"
+            :default-first-option="false"
+          >
+            <el-option
+              v-for="item in supplierList"
+              :key="item.id"
+              :label="item.supplierName"
+              :value="item.supplierName"
+            >
+              {{ item.supplierName}}
+            </el-option>
+          </el-select>
+        </el-form-item>
+
         <el-form-item
             label="搴撳瓨鏁伴噺"
             prop="qualitity"
@@ -74,10 +103,11 @@
 </template>
 
 <script setup>
-import {ref, computed, getCurrentInstance} from "vue";
+import {ref, computed, getCurrentInstance, watch} from "vue";
 import ProductSelectDialog from "@/views/basicData/product/ProductSelectDialog.vue";
 import {createStockInventory} from "@/api/inventoryManagement/stockInventory.js";
 import {createStockUnInventory} from "@/api/inventoryManagement/stockUninventory.js";
+import {getOptions as getSupplierOptions} from "@/api/procurementManagement/procurementLedger.js";
 
 const props = defineProps({
   visible: {
@@ -101,6 +131,8 @@
   productName: "",
   productModelName: "",
   unit: "",
+  batchNo: "",
+  customer: "",
   qualitity: 0,
   warnNum: 0,
   remark: '',
@@ -126,11 +158,39 @@
     productModelId: undefined,
     productName: "",
     productModelName: "",
-    description: '',
+    unit: "",
+    batchNo: "",
+    customer: "",
+    qualitity: 0,
+    warnNum: 0,
+    remark: '',
   };
   isShow.value = false;
 };
 
+const supplierList = ref([]);
+
+const loadSuppliers = async () => {
+  try {
+    const res = await getSupplierOptions();
+    // 澶嶇敤閲囪喘鍙拌处绛涢�夐�昏緫锛歩sWhite=0 鐨勪緵搴斿晢
+    supplierList.value = (res?.data || []).filter(item => item.isWhite === 0);
+  } catch (e) {
+    console.error("鑾峰彇渚涘簲鍟嗗垪琛ㄥけ璐�:", e);
+    supplierList.value = [];
+  }
+};
+
+watch(
+  () => props.visible,
+  (val) => {
+    if (val) {
+      loadSuppliers();
+    }
+  },
+  { immediate: true }
+);
+
 // 浜у搧閫夋嫨澶勭悊
 const handleProductSelect = async (products) => {
   if (products && products.length > 0) {
diff --git a/src/views/inventoryManagement/stockManagement/Qualified.vue b/src/views/inventoryManagement/stockManagement/Qualified.vue
index e255778..bcdf9bd 100644
--- a/src/views/inventoryManagement/stockManagement/Qualified.vue
+++ b/src/views/inventoryManagement/stockManagement/Qualified.vue
@@ -7,6 +7,21 @@
                   style="width: 240px"
                   placeholder="璇疯緭鍏�"
                   clearable/>
+        <span class="search_title ml10" style="margin-left: 20px">瑙勬牸鍨嬪彿锛�</span>
+        <el-input v-model="searchForm.model"
+                  style="width: 240px"
+                  placeholder="璇疯緭鍏�"
+                  clearable/>
+        <span class="search_title ml10" style="margin-left: 20px">UID鐮侊細</span>
+        <el-input v-model="searchForm.uidNo"
+                  style="width: 200px"
+                  placeholder="璇疯緭鍏�"
+                  clearable/>
+        <span class="search_title ml10" style="margin-left: 20px">鎵规鍙凤細</span>
+        <el-input v-model="searchForm.batchNo"
+                  style="width: 200px"
+                  placeholder="璇疯緭鍏�"
+                  clearable/>
         <el-button type="primary" @click="handleQuery" style="margin-left: 10px">鎼滅储</el-button>
       </div>
       <div>
@@ -26,6 +41,8 @@
         <el-table-column label="浜у搧澶х被" prop="productName" show-overflow-tooltip />
         <el-table-column label="瑙勬牸鍨嬪彿" prop="model" show-overflow-tooltip />
         <el-table-column label="UID鐮�" prop="uidNo" show-overflow-tooltip />
+        <el-table-column label="鎵瑰彿" prop="batchNo" show-overflow-tooltip />
+        <el-table-column label="渚涘簲鍟�" prop="customer" show-overflow-tooltip />
         <el-table-column label="鍗曚綅" prop="unit" show-overflow-tooltip />
         <el-table-column label="搴撳瓨鏁伴噺" prop="qualitity" show-overflow-tooltip />
         <el-table-column label="鍐荤粨鏁伴噺" prop="lockedQuantity" show-overflow-tooltip />
@@ -100,6 +117,9 @@
 const data = reactive({
   searchForm: {
     productName: '',
+    model: '',
+    uidNo: '',
+    batchNo: '',
   }
 })
 const { searchForm } = toRefs(data)
diff --git a/src/views/inventoryManagement/stockManagement/Unqualified.vue b/src/views/inventoryManagement/stockManagement/Unqualified.vue
index 6214f39..a5c22ba 100644
--- a/src/views/inventoryManagement/stockManagement/Unqualified.vue
+++ b/src/views/inventoryManagement/stockManagement/Unqualified.vue
@@ -7,6 +7,21 @@
                   style="width: 240px"
                   placeholder="璇疯緭鍏�"
                   clearable/>
+        <span class="search_title ml10" style="margin-left: 20px">瑙勬牸鍨嬪彿锛�</span>
+        <el-input v-model="searchForm.model"
+                  style="width: 240px"
+                  placeholder="璇疯緭鍏�"
+                  clearable/>
+        <span class="search_title ml10" style="margin-left: 20px">UID鐮侊細</span>
+        <el-input v-model="searchForm.uidNo"
+                  style="width: 200px"
+                  placeholder="璇疯緭鍏�"
+                  clearable/>
+        <span class="search_title ml10" style="margin-left: 20px">鎵规鍙凤細</span>
+        <el-input v-model="searchForm.batchNo"
+                  style="width: 200px"
+                  placeholder="璇疯緭鍏�"
+                  clearable/>
         <el-button type="primary" @click="handleQuery" style="margin-left: 10px">鎼滅储</el-button>
       </div>
       <div>
@@ -23,6 +38,8 @@
         <el-table-column label="浜у搧澶х被" prop="productName" show-overflow-tooltip />
         <el-table-column label="瑙勬牸鍨嬪彿" prop="model" show-overflow-tooltip />
         <el-table-column label="UID鐮�" prop="uidNo" show-overflow-tooltip />
+        <el-table-column label="鎵瑰彿" prop="batchNo" show-overflow-tooltip />
+        <el-table-column label="渚涘簲鍟�" prop="customer" show-overflow-tooltip />
         <el-table-column label="鍗曚綅" prop="unit" show-overflow-tooltip />
         <el-table-column label="搴撳瓨鏁伴噺" prop="qualitity" show-overflow-tooltip />
         <el-table-column label="鍐荤粨鏁伴噺" prop="lockedQuantity" show-overflow-tooltip />
@@ -89,6 +106,9 @@
 const data = reactive({
   searchForm: {
     productName: '',
+    model: '',
+    uidNo: '',
+    batchNo: '',
   }
 })
 const { searchForm } = toRefs(data)
diff --git a/src/views/inventoryManagement/stockReport/index.vue b/src/views/inventoryManagement/stockReport/index.vue
index 90198ef..86252a6 100644
--- a/src/views/inventoryManagement/stockReport/index.vue
+++ b/src/views/inventoryManagement/stockReport/index.vue
@@ -168,13 +168,27 @@
              show-overflow-tooltip
              v-if="searchForm.reportType !== 'inout'"
            />
-           <el-table-column
-             label="鍏ュ簱鎵规"
-             prop="inboundBatches"
-             width="240"
-             show-overflow-tooltip
-             v-if="searchForm.reportType !== 'inout'"
-           />
+          <el-table-column
+            label="鎵瑰彿"
+            width="240"
+            show-overflow-tooltip
+            v-if="searchForm.reportType !== 'inout'"
+          >
+            <template #default="scope">
+              {{ scope.row.batchNo || scope.row.inboundBatches || "" }}
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="渚涘簲鍟�"
+            prop="supplierName"
+            min-width="200"
+            show-overflow-tooltip
+            v-if="searchForm.reportType !== 'inout'"
+          >
+            <template #default="scope">
+              {{ scope.row.supplierName || scope.row.customer || "" }}
+            </template>
+          </el-table-column>
            <el-table-column
              label="浜у搧澶х被"
              prop="productName"

--
Gitblit v1.9.3