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 || "发料失败");