From 7a93a85f75bcfc8001ea1d3b921860806a8209ac Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 29 十月 2026 12:28:48 +0800
Subject: [PATCH] feat(mobile): 新增多个移动端功能模块并优化扫码流程

---
 src/views/wls/stocktaking/task/modules/result-list.vue |   24 +++++++++++++-----------
 1 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/src/views/wls/stocktaking/task/modules/result-list.vue b/src/views/wls/stocktaking/task/modules/result-list.vue
index b253a77..863bb11 100644
--- a/src/views/wls/stocktaking/task/modules/result-list.vue
+++ b/src/views/wls/stocktaking/task/modules/result-list.vue
@@ -6,7 +6,7 @@
 
 import { useVbenModal } from '@vben/common-ui';
 
-import { Button, Input, InputNumber, message } from 'ant-design-vue';
+import { Button, InputNumber, message } from 'ant-design-vue';
 
 import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
 import { scanStockTaking } from '#/api/mes/wm/stocktaking/task';
@@ -14,6 +14,7 @@
   deleteStockTakingResult,
   getStockTakingResultPage,
 } from '#/api/mes/wm/stocktaking/task/result';
+import TraceScanInput from '#/components/TraceScanInput.vue';
 import { $t } from '#/locales';
 
 import { useResultGridColumns } from '../data';
@@ -32,11 +33,13 @@
 const scanning = ref(false);
 
 /** 鎵爜鐩樼偣 */
-async function handleScan() {
-  if (!scanCode.value) {
+async function handleScan(raw?: string) {
+  const code = (raw ?? scanCode.value).trim();
+  if (!code) {
     message.warning('璇疯緭鍏ヨ拷婧爜/琚嬬爜/鎵樼洏鐮�/鎵规鍙�');
     return;
   }
+  scanCode.value = code;
   if (takingQuantity.value === undefined || takingQuantity.value === null) {
     message.warning('璇疯緭鍏ョ洏鐐规暟閲�');
     return;
@@ -133,12 +136,11 @@
       class="mb-3 flex flex-wrap items-center gap-2 rounded-md border border-dashed border-yellow-300 bg-yellow-50 px-3 py-2"
     >
       <span class="font-medium text-yellow-700">PDA 鎵爜鐩樼偣锛�</span>
-      <Input
-        v-model:value="scanCode"
-        allow-clear
-        class="!w-56"
-        placeholder="杩芥函鐮�/琚嬬爜/鎵樼洏鐮�/鎵规鍙�"
-        @press-enter="handleScan"
+      <TraceScanInput
+        class="!w-72"
+        :disabled="scanning"
+        placeholder="鎵弿杩芥函浜岀淮鐮佹垨杈撳叆杩芥函鐮侊紝鍥炶溅璇嗗埆"
+        @code="handleScan"
       />
       <InputNumber
         v-model:value="takingQuantity"
@@ -146,12 +148,12 @@
         :precision="2"
         class="!w-32"
         placeholder="鐩樼偣鏁伴噺"
-        @press-enter="handleScan"
+        @press-enter="() => handleScan()"
       />
       <Button
         type="primary"
         :loading="scanning"
-        @click="handleScan"
+        @click="() => handleScan()"
       >
         鎵爜鐩樼偣
       </Button>

--
Gitblit v1.9.3