From 07e4e39cb1e91f184bc350954baba50131deead3 Mon Sep 17 00:00:00 2001 From: shenzhouyu Date: Tue, 14 Oct 2025 18:00:14 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B3=E8=AF=B7=E5=8D=95=E9=80=80=E6=96=99?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/customerIssue/customer-issue.js | 19 + src/router/index.js | 6 + src/views/main.vue | 11 + .../modules/customerIssue/customerIssue.vue | 170 +++ .../customerIssue/customerIssuePDA.vue | 659 ++++++++++ .../customerIssuePDAIssueList.vue | 1078 +++++++++++++++++ .../customerIssue/customerIssuePDAList.vue | 163 +++ .../production-return/productionReturnPDA.vue | 3 + .../productionReturnPDAIssueList.vue | 26 +- .../productionReturnPDAList.vue | 16 + 10 files changed, 2149 insertions(+), 2 deletions(-) create mode 100644 src/api/customerIssue/customer-issue.js create mode 100644 src/views/modules/customerIssue/customerIssue.vue create mode 100644 src/views/modules/customerIssue/customerIssuePDA.vue create mode 100644 src/views/modules/customerIssue/customerIssuePDAIssueList.vue create mode 100644 src/views/modules/customerIssue/customerIssuePDAList.vue diff --git a/src/api/customerIssue/customer-issue.js b/src/api/customerIssue/customer-issue.js new file mode 100644 index 0000000..cd1baf6 --- /dev/null +++ b/src/api/customerIssue/customer-issue.js @@ -0,0 +1,19 @@ +import { createAPI } from "@/utils/httpRequest.js"; + + +export const getCustomerIssueNotifyHeaderInfo = data => createAPI(`/pda/customerIssue/getCustomerIssueNotifyHeaderInfo`,'post',data) + +// 获取客户发料申请单物料清单 +export const getCustomerIssueNotifyHeaderOrderMaterialList = data => createAPI(`/pda/customerIssue/getCustomerIssueNotifyHeaderOrderMaterialList`,'post',data) + +// 获取客户发料物料记录 +export const getCustomerIssueMatericalForShopOrder = data => createAPI(`/pda/customerIssue/getCustomerIssueMatericalForShopOrder`,'post',data) + +// 扫描客户发料物料标签 +export const scanCustomerIssueMaterialLabel = data => createAPI(`/pda/customerIssue/scanCustomerIssueMaterialLabel`,'post',data) + +// 客户发料确认 +export const customerIssueConfirm = data => createAPI(`/pda/customerIssue/customerIssueConfirm`,'post',data) + +// 获取库存物料信息 +export const getInventoryPart = data => createAPI(`/pda/customerIssue/getInventoryPart`,'post',data) diff --git a/src/router/index.js b/src/router/index.js index 890acf6..3e7fa9d 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -83,6 +83,12 @@ const globalRoutes = [ { path: "/outsourcingReturnPDAList", name: "outsourcingReturnPDAList", component: resolve => require(["@/views/modules/outsourcing-return/outsourcingReturnPDAList.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, { path: "/outsourcingReturnPDAIssueList", name: "outsourcingReturnPDAIssueList", component: resolve => require(["@/views/modules/outsourcing-return/outsourcingReturnPDAIssueList.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, + // 客户发料 + { path: "/customerissue", name: "customerissue", component: resolve => require(["@/views/modules/customerIssue/customerIssue.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, + { path: "/customerIssuePDA", name: "customerIssuePDA", component: resolve => require(["@/views/modules/customerIssue/customerIssuePDA.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: false } }, + { path: "/customerIssuePDAList", name: "customerIssuePDAList", component: resolve => require(["@/views/modules/customerIssue/customerIssuePDAList.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, + { path: "/customerIssuePDAIssueList", name: "customerIssuePDAIssueList", component: resolve => require(["@/views/modules/customerIssue/customerIssuePDAIssueList.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, + // 客户订单发货 {path: "/saleshipping",name: "saleshipping", component: resolve => require(["@/views/modules/sales-delivery/index.vue"], resolve), meta: { transition: 'instant' ,preload: true,keepAlive: true}}, diff --git a/src/views/main.vue b/src/views/main.vue index 76acc86..45cfc8a 100644 --- a/src/views/main.vue +++ b/src/views/main.vue @@ -104,6 +104,13 @@ + + @@ -277,7 +281,10 @@ - +
+ + +
@@ -339,6 +346,10 @@ export default { unissureQty: 0, // 需求数量 itemNo: '', // 物料ID loading: false, + notifyNo:'', + lineItemNo:'', + releaseNo:'', + sequenceNo:'', } }, computed: { @@ -401,6 +412,7 @@ export default { returnReason: data.labelInfo.returnReason, locationId: data.labelInfo.locationId, warehouseId: data.labelInfo.warehouseId, + height: data.labelInfo.height, }) this.$message.success('操作成功') @@ -451,6 +463,7 @@ export default { batchNo: label.batchNo, locationId: label.locationId || '', quantity: label.quantity, + height: label.height, } this.editIndex = index this.showEditDialog = true @@ -464,6 +477,7 @@ export default { batchNo: '', locationId: '', quantity: 0, + height: 0, } this.editIndex = -1 }, @@ -485,6 +499,7 @@ export default { if (this.editIndex >= 0 && this.editIndex < this.labelList.length) { this.labelList[this.editIndex].locationId = this.editForm.locationId this.labelList[this.editIndex].quantity = Number(this.editForm.quantity) + this.labelList[this.editIndex].height = Number(this.editForm.height) this.$message.success('修改成功') } @@ -518,6 +533,8 @@ export default { itemNo: this.itemNo, ifsReversedQty: this.qtyReversed, issueQty: this.quantity, + notifyNo:this.notifyNo, + lineItemNo:this.lineItemNo, // 退料标签列表 selectedMaterials: this.labelList.map((label) => ({ labelCode: label.labelCode, @@ -527,6 +544,7 @@ export default { locationId: label.locationId, warehouseId: label.warehouseId, wdrNo: label.wdrNo || '*', + height: label.height, })), } this.loading = true @@ -783,7 +801,7 @@ export default { mounted() { // 获取路由参数 - console.log('路由参数:', this.$route.query.material) + console.log('路由参数:', this.$route.query) this.orderNo = this.$route.query.workOrderNo this.orderType = this.$route.query.material.orderType || 'workOrder' @@ -795,6 +813,10 @@ export default { this.unissureQty = this.$route.query.material.unissureQty this.itemNo = this.$route.query.material.itemNo this.qtyReversed = this.$route.query.material.qtyReversed || 0 + this.notifyNo = this.$route.query.material.notifyNo + this.lineItemNo = this.$route.query.material.lineItemNo + this.releaseNo = this.$route.query.material.releaseNo + this.sequenceNo = this.$route.query.material.sequenceNo if (!this.orderNo) { this.$message.error('参数错误') diff --git a/src/views/modules/production-return/productionReturnPDAList.vue b/src/views/modules/production-return/productionReturnPDAList.vue index b7692f3..6391379 100644 --- a/src/views/modules/production-return/productionReturnPDAList.vue +++ b/src/views/modules/production-return/productionReturnPDAList.vue @@ -78,6 +78,10 @@ export default { issueList: [], unissureQty: 0, itemNo: '', + notifyNo:'', + lineItemNo:'', + releaseNo:'', + sequenceNo:'', }; }, methods: { @@ -90,6 +94,8 @@ export default { workOrderNo: this.workOrderNo, site: localStorage.getItem('site'), partNo: this.partNo, + releaseNo:this.releaseNo, + sequenceNo:this.sequenceNo, }; getUnissueMatericalForShopOrder(params) .then(({ data }) => { @@ -121,16 +127,26 @@ export default { unissureQty: this.unissureQty, ifsAccountingID:item.ACCOUNTING_ID, qtyReversed:item.QTY_REVERSED || 0, + notifyNo:this.notifyNo, + lineItemNo:this.lineItemNo, + releaseNo:this.releaseNo, + sequenceNo:this.sequenceNo, } }, }); }, }, mounted() { + console.log('路由参数1:', this.$route.query); + this.workOrderNo = this.$route.query.workOrderNo; this.partNo = this.$route.query.partNo; this.unissureQty = this.$route.query.unissureQty; this.itemNo = this.$route.query.itemNo; + this.notifyNo = this.$route.query.notifyNo; + this.lineItemNo = this.$route.query.lineItemNo; + this.releaseNo = this.$route.query.releaseNo; + this.sequenceNo = this.$route.query.sequenceNo; this.loadIssueList(); }, };