54 lines
1.7 KiB
Markdown
54 lines
1.7 KiB
Markdown
# 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
|
||
```
|