thread-master/docs/product/demand-radar/tasks/T575-fe-contact-detail-time...

54 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 | detailstagenotesfollow-upmergeconversion 實作 |
| `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
```