feat: implement soft delete, task editing fixes, and UI improvements
Backend: - Add soft delete for spaces and projects (is_active flag) - Add status_id and assignee_id to TaskUpdate schema - Fix task PATCH endpoint to update status and assignee - Add validation for assignee_id and status_id in task updates - Fix health service to count tasks with "Blocked" status as blockers - Filter out deleted spaces/projects from health dashboard - Add workload cache invalidation on assignee changes Frontend: - Add delete confirmation dialogs for spaces and projects - Fix UserSelect to display selected user name (valueName prop) - Fix task detail modal to refresh data after save - Enforce 2-level subtask depth limit in UI - Fix timezone bug in date formatting (use local timezone) - Convert NotificationBell from Tailwind to inline styles - Add i18n translations for health, workload, settings pages - Add parent_task_id to Task interface across components OpenSpec: - Archive add-delete-capability change 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -11,11 +11,24 @@
|
||||
"totalProjects": "專案總數",
|
||||
"healthy": "健康",
|
||||
"atRisk": "風險中",
|
||||
"highRisk": "高風險",
|
||||
"critical": "危急",
|
||||
"avgHealth": "平均健康度",
|
||||
"withBlockers": "有阻擋問題",
|
||||
"delayed": "延遲"
|
||||
},
|
||||
"calculation": {
|
||||
"title": "健康度計算方式",
|
||||
"formula": "起始分數 100 分,依據以下因素扣分:",
|
||||
"blockers": "阻擋問題:每項 -10 分(最多 -30 分)",
|
||||
"overdue": "逾期任務:每項 -5 分(最多 -30 分)",
|
||||
"completion": "完成度不足:若低於 50%,最多 -20 分",
|
||||
"thresholds": "風險等級閾值:",
|
||||
"lowRisk": "低風險(健康):≥ 80 分",
|
||||
"mediumRisk": "中風險:60-79 分",
|
||||
"highRiskLevel": "高風險:40-59 分",
|
||||
"criticalRisk": "危急:< 40 分"
|
||||
},
|
||||
"sort": {
|
||||
"label": "排序方式",
|
||||
"riskHigh": "風險:高到低",
|
||||
@@ -36,7 +49,29 @@
|
||||
"delayed": "延遲",
|
||||
"ahead": "超前",
|
||||
"overBudget": "超支",
|
||||
"underBudget": "低於預算"
|
||||
"underBudget": "低於預算",
|
||||
"atRisk": "有風險"
|
||||
},
|
||||
"resourceStatus": {
|
||||
"adequate": "充足",
|
||||
"constrained": "受限",
|
||||
"overloaded": "超載"
|
||||
},
|
||||
"card": {
|
||||
"health": "健康度",
|
||||
"schedule": "進度",
|
||||
"resources": "資源",
|
||||
"owner": "負責人",
|
||||
"taskProgress": "任務進度",
|
||||
"blockers": "阻擋問題",
|
||||
"overdue": "逾期",
|
||||
"complete": "完成"
|
||||
},
|
||||
"riskLevel": {
|
||||
"low": "低風險",
|
||||
"medium": "中風險",
|
||||
"high": "高風險",
|
||||
"critical": "危急"
|
||||
},
|
||||
"indicators": {
|
||||
"title": "健康指標",
|
||||
|
||||
Reference in New Issue
Block a user