From 5b50353a0fc5ad9e44b1f43bcb8a906559a12388 Mon Sep 17 00:00:00 2001 From: shenzhouyu Date: Fri, 26 Sep 2025 09:13:20 +0800 Subject: [PATCH] =?UTF-8?q?MR=E5=87=BA=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/mr/mr.js | 6 +- src/api/outsourcing/outsourcing.js | 2 +- src/api/production/production-issue.js | 2 + src/router/index.js | 4 +- src/views/modules/mr-issue/index.vue | 2 +- src/views/modules/mr-issue/mrPicking.vue | 336 +++++--- .../modules/mr-issue/mrPickingDetail.vue | 759 +++++++++++++----- .../outsourcingDirectIssue.vue | 6 +- .../outsourcing-issue/outsourcingPicking.vue | 30 +- .../modules/production-issue/directIssue.vue | 1 - .../production-issue/productionPicking.vue | 158 +++- 11 files changed, 957 insertions(+), 349 deletions(-) diff --git a/src/api/mr/mr.js b/src/api/mr/mr.js index 91471f5..82f9e37 100644 --- a/src/api/mr/mr.js +++ b/src/api/mr/mr.js @@ -1,13 +1,13 @@ import { createAPI } from "@/utils/httpRequest.js"; // 获取MR列表 -export const getMrList = data => createAPI(`mr/getMrList`, 'post', data) +export const getMrList = data => createAPI(`/pda/mr/getMrList`, 'post', data) // 获取MR材料行列表 -export const getMrMaterialLines = data => createAPI(`mr/getMrMaterialLines`, 'post', data) +export const getMrMaterialLines = data => createAPI(`/pda/mr/getMrMaterialLines`, 'post', data) // 扫描材料标签 -export const scanMaterialLabel = data => createAPI(`mr/scanMaterialLabel`, 'post', data) +export const scanMaterialLabel = data => createAPI(`/pda/mr/scanMaterialLabel`, 'post', data) // 确认MR发料 export const confirmMrIssue = data => createAPI(`mr/confirmMrIssue`, 'post', data) diff --git a/src/api/outsourcing/outsourcing.js b/src/api/outsourcing/outsourcing.js index 7619873..de48dfe 100644 --- a/src/api/outsourcing/outsourcing.js +++ b/src/api/outsourcing/outsourcing.js @@ -1,4 +1,4 @@ import { createAPI } from "@/utils/httpRequest.js"; // 获取委外订单信息 -export const getOutsourceOrderInfo = data => createAPI(`/pda/outsourcing/issue/getOutsourceOrderInfo`,'post',data) \ No newline at end of file +export const getOutsourcingOrderInfo = data => createAPI(`/pda/outsourcing/issue/getOutsourcingOrderInfo`,'post',data) \ No newline at end of file diff --git a/src/api/production/production-issue.js b/src/api/production/production-issue.js index d6da869..3bef56b 100644 --- a/src/api/production/production-issue.js +++ b/src/api/production/production-issue.js @@ -31,6 +31,7 @@ export const scanMaterialLabel = data => createAPI(`/pda/production/issue/scanMa export const getIssureNotifyByNo = data => createAPI(`/pda/production/issue/getIssureNotifyByNo`,'post',data) // 获取工单列表 export const getIssureNotifyListByNo = data => createAPI(`/pda/production/issue/getIssureNotifyListByNo`,'post',data) +export const getIssueNotifyHeaderInfo = data => createAPI(`/pda/production/issue/getIssueNotifyHeaderInfo`,'post',data) // 直接领料相关接口 // 获取工单信息 @@ -40,3 +41,4 @@ export const scanMaterialLabelDirect = data => createAPI(`/pda/production/issue/ // 确认直接发料 export const confirmDirectIssue = data => createAPI(`/pda/production/issue/confirmDirectIssue`,'post',data) + diff --git a/src/router/index.js b/src/router/index.js index a138e00..6f0cd32 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,7 +56,7 @@ const globalRoutes = [ {path: "/productionReturnPicking", name: "productionReturnPicking", component: resolve => require(["@/views/modules/production-return/productionReturnPicking.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, {path: "/productionReturnIssueList", name: "productionReturnIssueList", component: resolve => require(["@/views/modules/production-return/productionReturnIssueList.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, {path: "/productionReturnPickingDetail/:orderNo/:orderType/:partNo/:transactionId/:quantity/:batchNo", name: "productionReturnPickingDetail", component: resolve => require(["@/views/modules/production-return/productionReturnPickingDetail.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, - {path: "/productionReturnPDA", name: "productionReturnPDA", component: resolve => require(["@/views/modules/production-return/productionReturnPDA.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, + {path: "/productionReturnPDA", name: "productionReturnPDA", component: resolve => require(["@/views/modules/production-return/productionReturnPDA.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: false } }, {path: "/productionReturnPDAList/:workOrderNo/:partNo/:unissureQty/:itemNo", name: "productionReturnPDAList", component: resolve => require(["@/views/modules/production-return/productionReturnPDAList.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, {path: "/productionReturnPDAIssueList/:workOrderNo/:material", name: "productionReturnPDAIssueList", component: resolve => require(["@/views/modules/production-return/productionReturnPDAIssueList.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, {path: '/production-return/pick/:orderNo', @@ -91,7 +91,7 @@ const globalRoutes = [ // Material Requisition {path: "/mrissue",name: "mrissue", component: resolve => require(["@/views/modules/mr-issue/index.vue"], resolve), meta: { transition: 'instant' ,preload: true,keepAlive: true}}, {path: "/mrPicking",name: "mrPicking", component: resolve => require(["@/views/modules/mr-issue/mrPicking.vue"], resolve), meta: { transition: 'instant' ,preload: true,keepAlive: true}}, - {path: "/mrPickingDetail/:orderNo/:lineNo/:partNo",name: "mrPickingDetail", component: resolve => require(["@/views/modules/mr-issue/mrPickingDetail.vue"], resolve), meta: { transition: 'instant' ,preload: true,keepAlive: true}}, + {path: "/mrPickingDetail/:orderNo/:lineNo/:partNo/:material",name: "mrPickingDetail", component: resolve => require(["@/views/modules/mr-issue/mrPickingDetail.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}}, diff --git a/src/views/modules/mr-issue/index.vue b/src/views/modules/mr-issue/index.vue index f2d4c27..4f32a43 100644 --- a/src/views/modules/mr-issue/index.vue +++ b/src/views/modules/mr-issue/index.vue @@ -42,7 +42,7 @@ export default { icon: "records", label: "MR退料", iconClass: "qualified", - to: "productionPicking", + to: "mrPickingReturn", disabled: false, }, ], diff --git a/src/views/modules/mr-issue/mrPicking.vue b/src/views/modules/mr-issue/mrPicking.vue index 65e36c3..5ca82a1 100644 --- a/src/views/modules/mr-issue/mrPicking.vue +++ b/src/views/modules/mr-issue/mrPicking.vue @@ -13,34 +13,25 @@
- +
- -
-
+ +
+
- MR号:{{ item.orderNo }}    行号:{{ item.lineNo }} + MR号:{{ item.orderNo }}    客户号:{{ item.intCustomerNo }} {{ item.partNo }}
- {{ item.partDesc }} + 目的地:{{ item.intDestDesc }}
-
+
+
- -
- -

暂无MR数据

-
+ +
+
+
+ 物料编码:{{ material.partNo }}    行号:{{ material.lineNo }} +
+ + +
+ {{ material.partDesc }} +
- -
- -

加载中...

+
+
+
需求数量
+
{{ material.qtyIssued }}
+
+
+
到期数量
+
{{ material.qtyDue || 0 }}
+
+
+
单位
+
{{ material.unitMeas }}
+
+
+ +
+ +

该MR暂无材料清单

+
+ +
+ +

暂无MR数据

+
+ + +
+ +

加载中...

+
+
diff --git a/src/views/modules/outsourcing-issue/outsourcingDirectIssue.vue b/src/views/modules/outsourcing-issue/outsourcingDirectIssue.vue index 9fbbdd6..c387be9 100644 --- a/src/views/modules/outsourcing-issue/outsourcingDirectIssue.vue +++ b/src/views/modules/outsourcing-issue/outsourcingDirectIssue.vue @@ -107,7 +107,7 @@