# T575 — fe-contact-detail-timeline-conversion > Status: `done` > Milestone: `M4` > Kind: `feat` > Est. change: `~200 lines` ## Goal 完成後系統應:`/app/crm/:contactId` 可看時間軸、推進階段、加備註、標記待追蹤、合併與回報成交。 ## Depends on - T570、T572、T574 ## Inputs - Spec:`../spec.md` §4.6、§5.3、§9.4 ## Outputs ### 程式變更(預期路徑) | 路徑 | 動作 | 說明 | |------|------|------| | `apps/web/src/pages/ContactDetailPage.tsx` | add | 標頭+階段切換+時間軸+動作區 | | `apps/web/src/components/radar/ConversionForm.tsx` | add | 成交回報(金額選填、備註)+改/刪 | | `apps/web/src/components/radar/MergeContactDialog.tsx` | add | 手動合併選擇對象 | | `apps/web/src/App.tsx` | edit | 註冊 `/app/crm/:contactId` | | `apps/web/src/data/live/radarRepos.ts` | edit | detail/stage/notes/follow-up/merge/conversion 實作 | | `apps/web/src/styles/radar.css` | edit | 時間軸與表單樣式 | ### 行為變更 - 階段切換允許任意跳轉,UI 不隱藏「回退」選項;切換後時間軸即時新增一筆。 - 成交回報明示「由你確認,系統不會自動判定成交」。 - 待追蹤標記與階段**並列顯示**,不做成同一個選單。 - 合併對話框只列同 owner 候選;跨 owner 錯誤直接顯示後端 message。 ## Out of scope - 追蹤提醒收件匣(T591) - 統計頁(T591) ## Acceptance - [x] 跳級、回退、終態重開三種操作都可完成並在時間軸留痕 - [x] 成交回報→改→刪,成果數字與畫面一致 - [x] 指令: ```bash cd apps/web && npm run build && npm run check:tokens && npm run test && npm run lint ```