diff --git a/frontend/src/pages/business-trip/apply.tsx b/frontend/src/pages/business-trip/apply.tsx index dc40556..1d24648 100644 --- a/frontend/src/pages/business-trip/apply.tsx +++ b/frontend/src/pages/business-trip/apply.tsx @@ -95,11 +95,13 @@ export default function BusinessTripApply() { fromSelectionRef.current = !!fromSelection console.log('📍 Page init:', { fromSelection, initRef: initRef.current }) + console.log('🔍 SessionStorage keys:', Object.keys(sessionStorage)) // 1. 从选择页面返回:恢复所有人员数据 if (fromSelection) { console.log('🔄 Returning from selection page') const approversData = sessionStorage.getItem('selectedApprovers') + console.log('📦 approvers data:', approversData) if (approversData) { setApprovers(JSON.parse(approversData)) console.log('✅ Restored approvers') @@ -108,6 +110,7 @@ export default function BusinessTripApply() { } const ccData = sessionStorage.getItem('selectedCc') + console.log('📦 cc data:', ccData) if (ccData) { setCcUsers(JSON.parse(ccData)) console.log('✅ Restored CC') @@ -126,6 +129,8 @@ export default function BusinessTripApply() { // 3. 恢复草稿数据(理由、行程) const draftData = sessionStorage.getItem('businessTripDraft') + console.log('📦 draft data exists:', !!draftData) + if (draftData) { console.log('📦 Restoring draft data') try { @@ -142,6 +147,8 @@ export default function BusinessTripApply() { // 恢复草稿关联的人员数据 const approversData = sessionStorage.getItem('selectedApprovers') const ccData = sessionStorage.getItem('selectedCc') + console.log('📦 draft approvers:', approversData) + console.log('📦 draft cc:', ccData) if (approversData) setApprovers(JSON.parse(approversData)) if (ccData) setCcUsers(JSON.parse(ccData)) } catch (error) { @@ -152,25 +159,38 @@ export default function BusinessTripApply() { // 4. 首次进入且无草稿:加载默认审批人和抄送人 console.log('🔄 Loading default approvers from backend...') + console.log('🔑 Token exists:', !!localStorage.getItem('token')) + const loadDefaultApprovers = async () => { // 清除旧数据 + console.log('🧹 Clearing old selection data') sessionStorage.removeItem('selectedApprovers') sessionStorage.removeItem('selectedCc') try { + console.log('📡 Calling API...') const defaultData = await businessTripApi.getDefaultApprovers() - console.log('✅ Default approvers:', defaultData) + console.log('✅ API Response:', defaultData) if (defaultData.approvers && defaultData.approvers.length > 0) { + console.log('✅ Setting approvers:', defaultData.approvers) setApprovers(defaultData.approvers) sessionStorage.setItem('selectedApprovers', JSON.stringify(defaultData.approvers)) + } else { + console.log('⚠️ No approvers in response') } if (defaultData.cc_users && defaultData.cc_users.length > 0) { + console.log('✅ Setting cc_users:', defaultData.cc_users) setCcUsers(defaultData.cc_users) sessionStorage.setItem('selectedCc', JSON.stringify(defaultData.cc_users)) + } else { + console.log('⚠️ No cc_users in response') } - } catch (error) { - console.error('❌ Failed to load default approvers:', error) + + console.log('📊 Final state - approvers:', defaultData.approvers?.length, 'cc:', defaultData.cc_users?.length) + } catch (error: any) { + console.error('❌ Failed to load default approvers:', error.message) + console.error('❌ Error details:', error) } }