Add project Schedule page with interactive Gantt chart
Adds a Schedule tab (Kitsu-style production schedule) under each project: tasks grouped by type with drag-to-reschedule bars, Day/Week/ Month zoom, manual date-range control, weekend shading, a frozen task column, and a two-tier month/date axis header. Requires a new start_date field on Task (start_date was previously missing; only deadline existed) and shadcn DatePicker inputs replace native date inputs on the Schedule toolbar and TaskDetailPanel's Start Date/ Deadline fields. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -11,6 +11,7 @@ export interface Task {
|
||||
description?: string
|
||||
task_type: string
|
||||
status: TaskStatus
|
||||
start_date?: string
|
||||
deadline?: string
|
||||
project_id: number
|
||||
project_name?: string
|
||||
@@ -33,6 +34,7 @@ export interface TaskListItem {
|
||||
name: string
|
||||
task_type: string
|
||||
status: TaskStatus
|
||||
start_date?: string
|
||||
deadline?: string
|
||||
project_id: number
|
||||
project_name: string
|
||||
@@ -115,6 +117,7 @@ export interface TaskFilters {
|
||||
status?: string
|
||||
taskType?: string
|
||||
departmentRole?: string
|
||||
limit?: number
|
||||
}
|
||||
|
||||
export interface BulkStatusUpdateRequest {
|
||||
@@ -143,7 +146,8 @@ class TaskService {
|
||||
if (filters?.status) params.append('status', filters.status)
|
||||
if (filters?.taskType) params.append('task_type', filters.taskType)
|
||||
if (filters?.departmentRole) params.append('department_role', filters.departmentRole)
|
||||
|
||||
if (filters?.limit) params.append('limit', filters.limit.toString())
|
||||
|
||||
const response = await apiClient.get(`/tasks/?${params}`)
|
||||
return response.data
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user