53 lines
1.6 KiB
Markdown
53 lines
1.6 KiB
Markdown
|
|
# T552 — fe-opportunity-actions-and-reply-panel
|
|||
|
|
|
|||
|
|
> Status: `done`
|
|||
|
|
> Milestone: `M3`
|
|||
|
|
> Kind: `feat`
|
|||
|
|
> Est. change: `~200 lines`
|
|||
|
|
|
|||
|
|
## Goal
|
|||
|
|
|
|||
|
|
完成後系統應:商機卡片五個動作可用(開原文/加入名單/產生其他回覆/略過/看判定理由+覆寫分級),回覆面板可複製與送出。
|
|||
|
|
|
|||
|
|
## Depends on
|
|||
|
|
|
|||
|
|
- T547、T549、T550、T551
|
|||
|
|
|
|||
|
|
## Inputs
|
|||
|
|
|
|||
|
|
- Spec:`../spec.md` §4.4.3、§4.5、§9.3(RP-03~RP-05)
|
|||
|
|
|
|||
|
|
## Outputs
|
|||
|
|
|
|||
|
|
### 程式變更(預期路徑)
|
|||
|
|
|
|||
|
|
| 路徑 | 動作 | 說明 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| `apps/web/src/components/radar/OpportunityActions.tsx` | add | 五個動作+覆寫分級 |
|
|||
|
|
| `apps/web/src/components/radar/ReasonsDrawer.tsx` | add | 展開五維度分數與理由 |
|
|||
|
|
| `apps/web/src/components/radar/ReplyPanel.tsx` | add | variant 切換、生成、複製、送出 |
|
|||
|
|
| `apps/web/src/data/live/radarRepos.ts` | edit | accept/dismiss/override/replies/send 實作 |
|
|||
|
|
| `apps/web/src/styles/radar.css` | edit | 抽屜與面板樣式 |
|
|||
|
|
|
|||
|
|
### 行為變更
|
|||
|
|
|
|||
|
|
- 開啟原文以新分頁開 `permalink`。
|
|||
|
|
- 私訊版只提供「複製」+「標記已送出」,UI **不得**出現自動送出字樣。
|
|||
|
|
- `AccountHealth=throttle` 時自動送出按鈕停用並顯示後端 message。
|
|||
|
|
- forbidden 兩次命中的錯誤直接顯示,不顯示任何生成內容。
|
|||
|
|
|
|||
|
|
## Out of scope
|
|||
|
|
|
|||
|
|
- CRM 頁(T574/T575)
|
|||
|
|
- 統計頁(T591)
|
|||
|
|
|
|||
|
|
## Acceptance
|
|||
|
|
|
|||
|
|
- [x] 五個動作皆可完成一次完整操作並更新列表
|
|||
|
|
- [x] throttle 情境按鈕停用且訊息可讀
|
|||
|
|
- [x] 指令:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
cd apps/web && npm run build && npm run check:tokens && npm run test && npm run lint
|
|||
|
|
```
|