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

54 lines
1.7 KiB
Markdown
Raw Permalink Normal View History

2026-08-03 05:52:02 +00:00
# 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
```