From 48febc1e4c1e4418b17ab335fd9f8201023cdff5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=B8=E7=86=9F=E5=90=B4=E5=BD=A6=E7=A5=96?= Date: Fri, 19 Dec 2025 18:04:32 +0800 Subject: [PATCH] =?UTF-8?q?feat(inventory):=20=E6=96=B0=E5=A2=9E=E7=AB=8B?= =?UTF-8?q?=E5=BA=93=E6=89=8B=E5=B7=A5=E7=9B=98=E7=82=B9=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在路由中添加手工盘点页面路径 /manualCount - 在主界面菜单中增加"立库手工盘点"入口 - 创建手工盘点页面组件 manualCount.vue - 实现栈板扫描和标签扫描功能 - 支持一键提交和手动提交盘点结果 - 添加已扫描标签查看和删除功能 - 集成PDA扫描相关API接口 - 添加确认标签信息弹窗和已扫描列表弹窗 - 实现完整的盘点流程交互逻辑 - 添加相应的UI样式和组件布局 --- src/api/check/physicalInventory.js | 16 + src/router/index.js | 4 +- src/views/main.vue | 6 + src/views/modules/inventory/manualCount.vue | 666 ++++++++++++++++++++ 4 files changed, 691 insertions(+), 1 deletion(-) create mode 100644 src/api/check/physicalInventory.js create mode 100644 src/views/modules/inventory/manualCount.vue diff --git a/src/api/check/physicalInventory.js b/src/api/check/physicalInventory.js new file mode 100644 index 0000000..aebba69 --- /dev/null +++ b/src/api/check/physicalInventory.js @@ -0,0 +1,16 @@ +import { createAPI } from "@/utils/httpRequest.js"; + +// ==================== PDA手工盘点 ==================== - rqrq + +// PDA扫描栈板 - 验证并返回盘点信息 +export const pdaScanPallet = data => createAPI(`/check/physicalInventory/pda/scanPallet`, 'post', data) + +// PDA扫描标签 - 获取标签信息 +export const pdaScanLabel = data => createAPI(`/check/physicalInventory/pda/scanLabel`, 'post', data) + +// PDA一键提交盘点(默认全部OK) +export const pdaQuickSubmitCount = data => createAPI(`/check/physicalInventory/pda/quickSubmitCount`, 'post', data) + +// PDA提交盘点结果 +export const pdaSubmitCount = data => createAPI(`/check/physicalInventory/pda/submitCount`, 'post', data) + diff --git a/src/router/index.js b/src/router/index.js index 4980d2f..560ccf7 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -119,6 +119,8 @@ const globalRoutes = [ {path: "/mrReturnPickingDetail", name: "mrReturnPickingDetail", component: resolve => require(["@/views/modules/mr-issue/mrReturnPickingDetail.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, // 盘点 {path: "/stocktaking",name: "stocktaking", component: resolve => require(["@/views/modules/inventory/index.vue"], resolve), meta: { transition: 'instant' ,preload: true,keepAlive: true}}, + // 手工盘点 - rqrq + {path: "/manualCount",name: "manualCount", component: resolve => require(["@/views/modules/inventory/manualCount.vue"], resolve), meta: { transition: 'instant' ,preload: true,keepAlive: false}}, // 标签查询 {path: "/labelQuery",name: "labelQuery", component: resolve => require(["@/views/modules/inventory/label-query.vue"], resolve), meta: { transition: 'instant' ,preload: true,keepAlive: true}}, {path: "/wmsCancelReserve",name: "wmsCancelReserve", component: resolve => require(["@/views/modules/inventory/wms-cancel-reserve.vue"], resolve), meta: { transition: 'instant' ,preload: true,keepAlive: true}}, @@ -185,7 +187,7 @@ router.beforeEach((to, from, next) => { return } } - + // 添加动态(菜单)路由 // 1. 已经添加 or 全局路由, 直接访问 // 2. 获取菜单列表, 添加并保存本地存储 diff --git a/src/views/main.vue b/src/views/main.vue index 300ff9d..55600b7 100644 --- a/src/views/main.vue +++ b/src/views/main.vue @@ -217,6 +217,12 @@ + diff --git a/src/views/modules/inventory/manualCount.vue b/src/views/modules/inventory/manualCount.vue new file mode 100644 index 0000000..aa550a7 --- /dev/null +++ b/src/views/modules/inventory/manualCount.vue @@ -0,0 +1,666 @@ + + + + + +