From 358a222c2420b200c9ec449bee52885b5e9e3541 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 25 Feb 2026 21:44:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=A7=BB=E9=99=A4=E5=AF=BC=E8=88=AA?= =?UTF-8?q?=E5=89=8D=E6=B8=85=E9=99=A4=E6=95=B0=E6=8D=AE=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E9=98=B2=E6=AD=A2=E5=8F=A6=E4=B8=80=E7=A7=8D?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E4=BA=BA=E5=91=98=E4=B8=A2=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题:当用户没有输入内容就点击"选择审批人/抄送人"时, 会清除 sessionStorage 中所有人员数据,导致另一种类型的人员消失。 解决方案:移除导航前清除数据的逻辑,让 sessionStorage 中的数据在用户明确操作(提交、保存等)时才清除。 Co-Authored-By: Claude Opus 4.6 --- frontend/src/pages/business-trip/apply.tsx | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/frontend/src/pages/business-trip/apply.tsx b/frontend/src/pages/business-trip/apply.tsx index f4da5d5..f05c2dd 100644 --- a/frontend/src/pages/business-trip/apply.tsx +++ b/frontend/src/pages/business-trip/apply.tsx @@ -202,30 +202,12 @@ export default function BusinessTripApply() { const handleSelectApprovers = () => { console.log('🚀 Navigating to select approvers') saveDraft() // 导航前保存草稿 - - // 如果草稿中没有实际内容(空理由且没有有效行程),清除旧的人员数据 - const hasContent = reason.trim() !== '' || itineraries.some(item => item.startTime || item.destination.trim() !== '') - if (!hasContent) { - sessionStorage.removeItem('selectedApprovers') - sessionStorage.removeItem('selectedCc') - console.log('🧹 Cleared old selection data (no content)') - } - navigate('/business-trip/apply/select-approver', { state: { selected: approvers, type: 'approver' } }) } const handleSelectCc = () => { console.log('🚀 Navigating to select CC') saveDraft() // 导航前保存草稿 - - // 如果草稿中没有实际内容(空理由且没有有效行程),清除旧的人员数据 - const hasContent = reason.trim() !== '' || itineraries.some(item => item.startTime || item.destination.trim() !== '') - if (!hasContent) { - sessionStorage.removeItem('selectedApprovers') - sessionStorage.removeItem('selectedCc') - console.log('🧹 Cleared old selection data (no content)') - } - navigate('/business-trip/apply/select-cc', { state: { selected: ccUsers, type: 'cc' } }) }