From 10cc99d1158cf77fe97047d64f4f6f164d66a7f8 Mon Sep 17 00:00:00 2001 From: shenzhouyu Date: Thu, 26 Mar 2026 15:33:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E6=96=99=E6=88=90=E5=8A=9F=E5=90=8E?= =?UTF-8?q?=E4=BF=9D=E7=95=99=E5=8E=9F=E9=A1=B5=E9=9D=A2=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../directIssueNoMaterial.vue | 28 ++++++++++++++++--- .../directIssueNoMaterialDetail.vue | 3 ++ 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/views/modules/production-issue/directIssueNoMaterial.vue b/src/views/modules/production-issue/directIssueNoMaterial.vue index 09b13bc..28b0bc5 100644 --- a/src/views/modules/production-issue/directIssueNoMaterial.vue +++ b/src/views/modules/production-issue/directIssueNoMaterial.vue @@ -147,24 +147,44 @@ export default { this.releaseNo = state.releaseNo || '*' this.sequenceNo = state.sequenceNo || '*' this.workOrderList = state.workOrderList || [] - this.selectedWorkOrder = state.selectedWorkOrder || null - this.materialList = state.materialList || [] - this.showOnlySelected = state.showOnlySelected || false + + // 默认:恢复详情前的选中卡片状态;发料完成后返回时可按需关闭 + const restoreSelection = sessionStorage.getItem( + 'directIssueNoMaterial_restoreSelection' + ) + const shouldRestoreSelection = restoreSelection !== 'false' + + if (shouldRestoreSelection) { + this.selectedWorkOrder = state.selectedWorkOrder || null + this.materialList = state.materialList || [] + this.showOnlySelected = state.showOnlySelected || false + } else { + // 只保留列表结果:不默认选中任何卡片 + this.selectedWorkOrder = null + this.materialList = [] + this.showOnlySelected = false + } const needRefresh = sessionStorage.getItem( 'directIssueNoMaterial_needRefresh' ) - if (needRefresh === 'true' && this.selectedWorkOrder) + if ( + shouldRestoreSelection && + needRefresh === 'true' && + this.selectedWorkOrder + ) this.loadMaterialList() sessionStorage.removeItem('directIssueNoMaterial_shouldRestore') sessionStorage.removeItem('directIssueNoMaterial_state_fromDetail') sessionStorage.removeItem('directIssueNoMaterial_needRefresh') + sessionStorage.removeItem('directIssueNoMaterial_restoreSelection') } } catch (e) { sessionStorage.removeItem('directIssueNoMaterial_shouldRestore') sessionStorage.removeItem('directIssueNoMaterial_state_fromDetail') sessionStorage.removeItem('directIssueNoMaterial_needRefresh') + sessionStorage.removeItem('directIssueNoMaterial_restoreSelection') } }, handleSearchWorkOrderByShopOrderLine() { diff --git a/src/views/modules/production-issue/directIssueNoMaterialDetail.vue b/src/views/modules/production-issue/directIssueNoMaterialDetail.vue index 9954d07..f21cf06 100644 --- a/src/views/modules/production-issue/directIssueNoMaterialDetail.vue +++ b/src/views/modules/production-issue/directIssueNoMaterialDetail.vue @@ -503,6 +503,9 @@ export default { .then(({ data }) => { if (data && data.code === 0) { this.$message.success("发料成功"); + // 发料完成返回列表时:保留原有搜索结果,但不默认选中卡片 + sessionStorage.setItem("directIssueNoMaterial_shouldRestore", "true"); + sessionStorage.setItem("directIssueNoMaterial_restoreSelection", "false"); this.$router.back(); } else { this.$message.error(data.msg || "发料失败");