From f73a1522432d8ce1c542c483de1264717edfa21c Mon Sep 17 00:00:00 2001 From: shenzhouyu Date: Wed, 19 Nov 2025 11:52:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E6=96=99=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/production-issue/directIssue.vue | 36 +++++++++++++- .../productionReturnIssueList.vue | 8 +++ .../productionReturnPicking.vue | 49 +++++++++++++++++-- .../productionReturnPickingDetail.vue | 6 +++ 4 files changed, 94 insertions(+), 5 deletions(-) diff --git a/src/views/modules/production-issue/directIssue.vue b/src/views/modules/production-issue/directIssue.vue index b113069..2ab9c40 100644 --- a/src/views/modules/production-issue/directIssue.vue +++ b/src/views/modules/production-issue/directIssue.vue @@ -20,6 +20,22 @@ ref="workOrderInput" /> +
+ + +
@@ -126,6 +142,8 @@ export default { data() { return { workOrderNo: "", + releaseNo: "*", + sequenceNo: "*", workOrderList: [], selectedWorkOrder: null, materialList: [], @@ -151,6 +169,8 @@ export default { savePageStateForDetail() { const state = { workOrderNo: this.workOrderNo, + releaseNo: this.releaseNo, + sequenceNo: this.sequenceNo, workOrderList: this.workOrderList, selectedWorkOrder: this.selectedWorkOrder, materialList: this.materialList, @@ -168,6 +188,8 @@ export default { if (shouldRestore === 'true' && savedState) { const state = JSON.parse(savedState); this.workOrderNo = state.workOrderNo || ""; + this.releaseNo = state.releaseNo || "*"; + this.sequenceNo = state.sequenceNo || "*"; this.workOrderList = state.workOrderList || []; this.selectedWorkOrder = state.selectedWorkOrder || null; this.materialList = state.materialList || []; @@ -203,6 +225,8 @@ export default { this.loading = true; const params = { workOrderNo: this.workOrderNo.trim(), + releaseNo: (this.releaseNo || "*").trim() || "*", + sequenceNo: (this.sequenceNo || "*").trim() || "*", site: localStorage.getItem('site'), }; @@ -274,6 +298,8 @@ export default { const params = { workOrderNo: this.selectedWorkOrder.orderNo, site: localStorage.getItem('site'), + releaseNo: (this.releaseNo || "*").trim() || "*", + sequenceNo: (this.sequenceNo || "*").trim() || "*", }; getWorkOrderMaterials(params) @@ -375,7 +401,7 @@ export default { /* 搜索容器 */ .search-container { - padding: 12px 16px; + padding: 3px 16px; background: white; display: flex; align-items: center; @@ -386,6 +412,14 @@ export default { flex: 1; } +.narrow-input { + width: 120px; +} + +.narrow-input ::v-deep .el-input__inner { + text-align: center; +} + .search-btn { padding: 8px 16px; background: #17b3a3; diff --git a/src/views/modules/production-return/productionReturnIssueList.vue b/src/views/modules/production-return/productionReturnIssueList.vue index dcb2866..99409b9 100644 --- a/src/views/modules/production-return/productionReturnIssueList.vue +++ b/src/views/modules/production-return/productionReturnIssueList.vue @@ -82,6 +82,8 @@ export default { issueList: [], componentPartDesc: '', lineItemNo: '', + releaseNo: '', + sequenceNo: '', }; }, methods: { @@ -94,6 +96,8 @@ export default { workOrderNo: this.workOrderNo, site: localStorage.getItem('site'), componentPartNo: this.componentPartNo, + releaseNo: this.releaseNo || '*', + sequenceNo: this.sequenceNo || '*', }; getIssueForShopOrder(params) .then(({ data }) => { @@ -129,6 +133,8 @@ export default { batchNo: item.LOT_BATCH_NO, lineItemNo: this.lineItemNo, componentPartDesc: this.componentPartDesc, + releaseNo: this.releaseNo, + sequenceNo: this.sequenceNo, }, }); }, @@ -140,6 +146,8 @@ export default { this.componentPartNo = this.$route.query.componentPartNo; this.componentPartDesc = this.$route.query.componentPartDesc; this.lineItemNo = this.$route.query.lineItemNo; + this.releaseNo = this.$route.query.releaseNo; + this.sequenceNo = this.$route.query.sequenceNo; this.loadIssueList(); }, }; diff --git a/src/views/modules/production-return/productionReturnPicking.vue b/src/views/modules/production-return/productionReturnPicking.vue index 01355c2..4da75fe 100644 --- a/src/views/modules/production-return/productionReturnPicking.vue +++ b/src/views/modules/production-return/productionReturnPicking.vue @@ -21,6 +21,22 @@ @keyup.enter.native="handleSearchWorkOrder" ref="workOrderInput" /> +
+
+ +
@@ -114,7 +130,7 @@ -
+

加载中...

@@ -130,11 +146,14 @@ export default { data() { return { workOrderNo: "", + releaseNo: "*", + sequenceNo: "*", workOrderList: [], selectedWorkOrder: null, materialList: [], selectedMaterial: null, loading: false, + detailLoading: false, }; }, methods: { @@ -145,6 +164,8 @@ export default { savePageStateForIssueList() { const state = { workOrderNo: this.workOrderNo, + releaseNo: this.releaseNo, + sequenceNo: this.sequenceNo, workOrderList: this.workOrderList, selectedWorkOrder: this.selectedWorkOrder, materialList: this.materialList, @@ -159,6 +180,8 @@ export default { if (shouldRestore === 'true' && savedState) { const state = JSON.parse(savedState); this.workOrderNo = state.workOrderNo || ""; + this.releaseNo = state.releaseNo || "*"; + this.sequenceNo = state.sequenceNo || "*"; this.workOrderList = state.workOrderList || []; this.selectedWorkOrder = state.selectedWorkOrder || null; this.materialList = state.materialList || []; @@ -180,13 +203,15 @@ export default { } this.loading = true; + this.detailLoading = true; const params = { workOrderNo: this.workOrderNo.trim(), + releaseNo: (this.releaseNo || "*").trim() || "*", + sequenceNo: (this.sequenceNo || "*").trim() || "*", site: localStorage.getItem('site'), }; getReturnWorkOrderInfo(params).then(({ data }) => { - this.loading = false; console.log("工单信息", data); if ( @@ -208,8 +233,9 @@ export default { } }) .catch((error) => { - this.loading = false; this.$message.error(error.msg); + }).finally(() => { + this.loading = false; }); }, @@ -228,12 +254,15 @@ export default { const params = { workOrderNo: this.selectedWorkOrder.orderNo, + releaseNo: (this.releaseNo || "*").trim() || "*", + sequenceNo: (this.sequenceNo || "*").trim() || "*", site: localStorage.getItem('site'), }; getWorkOrderMaterials(params) .then(({ data }) => { if (data && data.code === 0) { + this.detailLoading = false; this.materialList = (data.materials || []).map((item, index) => ({ ...item, id: index + 1, @@ -246,6 +275,8 @@ export default { .catch((error) => { console.error('获取材料清单失败:', error); this.$message.error('获取材料清单失败'); + }).finally(() => { + this.detailLoading = false; }); }, @@ -257,6 +288,8 @@ export default { name: 'productionReturnIssueList', query: { workOrderNo: this.selectedWorkOrder.orderNo, + releaseNo: (this.selectedWorkOrder.releaseNo || "*").trim() || "*", + sequenceNo: (this.selectedWorkOrder.sequenceNo || "*").trim() || "*", componentPartNo: material.componentPartNo, componentPartDesc: material.componentPartDesc, lineItemNo: material.lineItemNo, @@ -321,7 +354,7 @@ export default { /* 搜索容器 */ .search-container { - padding: 12px 16px; + padding: 3px 16px; background: white; display: flex; align-items: center; @@ -332,6 +365,14 @@ export default { flex: 1; } +.narrow-input { + width: 120px; +} + +.narrow-input ::v-deep .el-input__inner { + text-align: center; +} + /* 工单列表 */ .work-order-list { overflow-y: auto; diff --git a/src/views/modules/production-return/productionReturnPickingDetail.vue b/src/views/modules/production-return/productionReturnPickingDetail.vue index ccc5b55..8a67723 100644 --- a/src/views/modules/production-return/productionReturnPickingDetail.vue +++ b/src/views/modules/production-return/productionReturnPickingDetail.vue @@ -243,6 +243,8 @@ export default { }, editIndex: -1, // 当前编辑的标签索引 loading: false, + releaseNo: '', + sequenceNo: '', } }, computed: { @@ -403,6 +405,8 @@ export default { issueQty: this.quantity, notifyNo:this.notifyNo, lineItemNo:this.lineItemNo, + releaseNo: this.releaseNo, + sequenceNo: this.sequenceNo, // 退料标签列表 selectedMaterials: this.labelList.map((label) => ({ labelCode: label.labelCode, @@ -577,6 +581,8 @@ export default { this.batchNo = this.$route.query.batchNo this.lineItemNo = this.$route.query.lineItemNo this.componentPartDesc = this.$route.query.componentPartDesc + this.releaseNo = this.$route.query.releaseNo + this.sequenceNo = this.$route.query.sequenceNo console.log( '订单号:', this.orderNo,