- Add ActionBar component with expandable toolbar for mobile - Add @mention functionality with autocomplete dropdown - Add browser notification system (push, sound, vibration) - Add NotificationSettings modal for user preferences - Add mention badges on room list cards - Add ReportPreview with Markdown rendering and copy/download - Add message copy functionality with hover actions - Add backend mentions field to messages with Alembic migration - Add lots field to rooms, remove templates - Optimize WebSocket database session handling - Various UX polish (animations, accessibility) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
3.2 KiB
3.2 KiB
Change: Add LOT Field and Remove Room Templates
Why
-
模板功能未被使用:前端 UI 未實作模板選擇功能,後端雖有完整實作但實際上無人使用。預設模板中的 email 地址(如
maintenance_team@panjit.com.tw)也不存在於實際 AD 系統中。 -
需要追蹤 LOT 批號:生產線異常事件需要記錄相關的 LOT(批號)資訊,以便追蹤受影響的產品批次。一個事件可能涉及多個 LOT,且 LOT 資訊需要在事件處理過程中可以新增或修改。
What Changes
1. 移除 Room Templates 功能
後端移除:
- 刪除
RoomTemplate模型 (app/modules/chat_room/models.py) - 刪除
template_service.py(app/modules/chat_room/services/template_service.py) - 移除
app/main.py中的模板初始化代碼 - 移除
app/modules/chat_room/router.py中的模板相關端點和邏輯 - 刪除
tr_room_templates資料表(Alembic migration)
前端移除:
- 移除
useRoomTemplateshook - 移除
RoomTemplatetype 定義 - 移除
roomsService.getTemplates()函數
2. 新增 LOT 欄位
後端新增:
- 在
IncidentRoom模型新增lots欄位(JSON 陣列格式) - 更新
CreateRoomRequest和UpdateRoomRequestschema 支援 lots - 新增
PUT /api/rooms/{room_id}/lots端點用於更新 LOT 清單 - Alembic migration 新增欄位
前端新增:
- 建立房間 modal 新增 LOT 輸入區(動態新增/刪除行)
- 房間詳情頁顯示和編輯 LOT 清單
- 更新相關 types 和 API 呼叫
3. UI 設計
LOT 輸入區:
LOT 批號(可選)
┌──────────────────────┐
│ LOT-2024-001 │ [x]
└──────────────────────┘
┌──────────────────────┐
│ LOT-2024-002 │ [x]
└──────────────────────┘
[+ 新增 LOT]
- 每行一個 LOT 輸入框
- 右側 [x] 按鈕可刪除該行
- 底部 [+ 新增 LOT] 按鈕新增空白行
- LOT 欄位為選填
Impact
- Affected specs:
chat-room(移除 Room Templates 需求,新增 LOT 需求) - Affected code:
app/modules/chat_room/models.py- 移除 RoomTemplate,新增 lots 欄位app/modules/chat_room/services/template_service.py- 刪除app/modules/chat_room/services/__init__.py- 移除 template_service 匯出app/modules/chat_room/router.py- 移除模板端點,新增 LOT 端點app/modules/chat_room/schemas.py- 新增 lots 欄位app/main.py- 移除模板初始化frontend/src/types/index.ts- 移除 RoomTemplate,新增 lotsfrontend/src/hooks/useRooms.ts- 移除 useRoomTemplatesfrontend/src/services/rooms.ts- 移除 getTemplates,新增 updateLotsfrontend/src/pages/RoomList.tsx- 移除模板引用,新增 LOT 輸入frontend/src/pages/RoomDetail.tsx- 新增 LOT 顯示和編輯
- Breaking changes:
- 移除
GET /api/rooms/templates端點 - 移除
POST /api/rooms的template參數支援 - 刪除
tr_room_templates資料表
- 移除
- Database migration:
- 刪除
tr_room_templates資料表 - 新增
lots欄位到tr_incident_rooms資料表
- 刪除