From 809355178cdd17d4bf66a4eb443c56b563b68dd9 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 14 八月 2026 13:39:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_pro2.0' into dev_pro2.0

---
 src/views/mes/qc/batchtrace/index.vue |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

diff --git a/src/views/mes/qc/batchtrace/index.vue b/src/views/mes/qc/batchtrace/index.vue
index b403dec..1762b35 100644
--- a/src/views/mes/qc/batchtrace/index.vue
+++ b/src/views/mes/qc/batchtrace/index.vue
@@ -4,8 +4,10 @@
 
 import { Page, useVbenModal } from '@vben/common-ui';
 
+import { Input, message } from 'ant-design-vue';
+
 import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
-import { getBatchPage } from '#/api/mes/wm/batch';
+import { getBatchBySn, getBatchPage } from '#/api/mes/wm/batch';
 
 import { useGridColumns, useGridFormSchema } from './data';
 import TraceDetail from './modules/trace-detail.vue';
@@ -18,6 +20,19 @@
 /** 鎵撳紑鎵规杩芥函璇︽儏 */
 function handleTrace(row: MesWmBatchApi.Batch) {
   detailModalApi.setData(row).open();
+}
+
+/** 鏍规嵁 SN 鍙嶆煡鎵规骞舵墦寮�璇︽儏 */
+async function handleSearchBySn(sn: string) {
+  if (!sn) {
+    return;
+  }
+  const batch = await getBatchBySn(sn.trim());
+  if (batch) {
+    handleTrace(batch);
+  } else {
+    message.warning(`鏈壘鍒� SN銆�${sn}銆嶅搴旂殑鎵规`);
+  }
 }
 
 const [Grid] = useVbenVxeGrid({
@@ -54,6 +69,15 @@
 <template>
   <Page auto-content-height><DetailModal />
 
+    <div class="mb-3 w-80">
+      <Input.Search
+        placeholder="杈撳叆 SN 搴忓垪鍙峰弽鏌ユ壒娆�"
+        enter-button="鍙嶆煡"
+        allow-clear
+        @search="handleSearchBySn"
+      />
+    </div>
+
     <Grid table-title="鎵规杩芥函鍒楄〃">
       <template #actions="{ row }">
         <TableAction

--
Gitblit v1.9.3