diff --git a/src/router/index.js b/src/router/index.js index fa35142..c8398de 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -36,7 +36,7 @@ const globalRoutes = [ { path: "/salesReturn", name: "salesReturn", component: resolve => require(["@/views/modules/sales-return/sales-return.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, { path: "/salesReturnList", name: "salesReturnList", component: resolve => require(["@/views/modules/sales-return/salesReturnList.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, { - path: "/salesReturnStorage/:returnNo/:partNo/:buNo", name: "SalesReturnStorage", + path: "/salesReturnStorage/:returnNo/:buNo", name: "SalesReturnStorage", component: resolve => require(["@/views/modules/sales-return/salesReturnStorage.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, @@ -44,7 +44,7 @@ const globalRoutes = [ { path: "/productionissue", name: "productionissue", component: resolve => require(["@/views/modules/production-issue/productionIssuePda.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, // 生产领料 - { path: "/production", name: "salesReturn", component: resolve => require(["@/views/modules/production-pick/production.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, + { path: "/production", name: "production", component: resolve => require(["@/views/modules/production-pick/production.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, { path: "/productionPicking", name: "productionPicking", component: resolve => require(["@/views/modules/production-pick/productionPicking.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, { path: "/productionPickingDetail/:buNo/:outboundNo", name: "productionPickingDetail", component: resolve => require(["@/views/modules/production-pick/productionPickingDetail.vue"], resolve), meta: { transition: 'instant', preload: true, keepAlive: true } }, diff --git a/src/views/modules/production/productionInboundStorage.vue b/src/views/modules/production/productionInboundStorage.vue index 3a2e445..764d278 100644 --- a/src/views/modules/production/productionInboundStorage.vue +++ b/src/views/modules/production/productionInboundStorage.vue @@ -321,12 +321,10 @@ export default { this.$message.warning('请输入库位号'); return; } - const params = { site: this.materialInfo.site, buNo: this.materialInfo.buNo, inboundNo: this.inboundNo, - warehouseId: getCurrentWarehouse(), locationCode: this.locationCode.trim(), labels: this.labelList.map(label => ({ labelCode: label.labelCode, diff --git a/src/views/modules/purchase-inbound/inboundStorage.vue b/src/views/modules/purchase-inbound/inboundStorage.vue index c775c92..dda33c6 100644 --- a/src/views/modules/purchase-inbound/inboundStorage.vue +++ b/src/views/modules/purchase-inbound/inboundStorage.vue @@ -323,10 +323,9 @@ export default { return; } const params = { - site:this.materialInfo.site, + site: this.materialInfo.site, buNo: this.materialInfo.buNo, inboundNo: this.inboundNo, - warehouseId: getCurrentWarehouse(), locationCode: this.locationCode.trim(), labels: this.labelList.map(label => ({ labelCode: label.labelCode, diff --git a/src/views/modules/sales-return/salesReturnList.vue b/src/views/modules/sales-return/salesReturnList.vue index 2ca6977..fdd6150 100644 --- a/src/views/modules/sales-return/salesReturnList.vue +++ b/src/views/modules/sales-return/salesReturnList.vue @@ -164,12 +164,12 @@ export default { // 跳转到退货处理页面 goToReturnDetail(item) { + console.log(item) this.$router.push({ name: 'SalesReturnStorage', params: { buNo: item.buNo, returnNo: item.inboundNo, - partNo: item.partNo } }); } diff --git a/src/views/modules/sales-return/salesReturnStorage.vue b/src/views/modules/sales-return/salesReturnStorage.vue index ec24afe..992ffbe 100644 --- a/src/views/modules/sales-return/salesReturnStorage.vue +++ b/src/views/modules/sales-return/salesReturnStorage.vue @@ -33,7 +33,7 @@ -
+
退货单号 {{ materialInfo.inboundNo }} @@ -240,27 +240,28 @@ export default { const params = { labelCode: labelCode, site: localStorage.getItem('site'), + buNo: this.materialInfo.buNo }; - validateLabelWithSalesReturn(params).then(({ data }) => { if (data && data.code === 0) { + const resultList = data.data; // 检查是否已经扫描过 const exists = this.labelList.find(item => item.labelCode === labelCode); if (exists) { this.$message.warning('该标签已扫描,请勿重复扫描'); return; } - - // 添加到列表 - this.labelList.push({ - id: Date.now(), - labelCode: labelCode, - partNo: data.data.partNo, - quantity: data.data.quantity, - batchNo: data.data.batchNo + // 将所有结果添加到列表 + resultList.forEach(result => { + this.labelList.push({ + id: Date.now() + Math.random(), // 确保ID唯一 + labelCode: result.labelCode, + partNo: result.partNo, + quantity: result.quantity, + batchNo: result.batchNo + }); }); - - this.$message.success('标签验证成功'); + this.$message.success(`标签验证成功,共添加 ${resultList.length} 条记录`); } else { this.$message.error(data.msg || '该标签不符合退货条件,请检查'); } @@ -312,40 +313,29 @@ export default { this.$message.warning('请输入库位号'); return; } - const params = { site:this.materialInfo.site, buNo: this.materialInfo.buNo, returnNo: this.returnNo, - partNo: this.partNo, - warehouseId: getCurrentWarehouse(), locationCode: this.locationCode.trim(), labels: this.labelList.map(label => ({ labelCode: label.labelCode, quantity: label.quantity, - batchNo: label.batchNo + batchNo: label.batchNo, + partNo: label.partNo, })) }; - - this.$confirm(`确定将标签退货到库位 ${this.locationCode} 吗?`, '确认退货', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'info' - }).then(() => { - confirmSalesReturnStorage(params).then(({ data }) => { - if (data && data.code === 0) { - this.$message.success('退货成功'); - this.showLocationDialog = false; - this.$router.back(); - } else { - this.$message.error(data.msg || '退货失败'); - } - }).catch(error => { - console.error('退货失败:', error); - this.$message.error('退货失败'); - }); - }).catch(() => { - // 用户取消 + confirmSalesReturnStorage(params).then(({ data }) => { + if (data && data.code === 0) { + this.$message.success('退货成功'); + this.showLocationDialog = false; + this.$router.back(); + } else { + this.$message.error(data.msg || '退货失败'); + } + }).catch(error => { + console.error('退货失败:', error); + this.$message.error('退货失败'); }); }, @@ -421,12 +411,10 @@ export default { loadReturnDetails() { const params = { returnNo: this.returnNo, - partNo: this.partNo, buNo: this.buNo, warehouseId: getCurrentWarehouse(), site:localStorage.getItem('site'), }; - getSalesReturnDetails(params).then(({ data }) => { if (data && data.code === 0) { this.materialInfo = data.data; @@ -445,8 +433,7 @@ export default { this.returnNo = this.$route.params.returnNo; this.partNo = this.$route.params.partNo; this.buNo = this.$route.params.buNo; - if (!this.returnNo || !this.partNo) { - this.$message.error('参数错误'); + if (!this.returnNo ) { this.$router.back(); return; }