f4ffc02028
LST-59 (3.1) front. Completes the Reporting module. - New frontend/modules/reporting/ layer (auto-detected): /reporting page (admin middleware) consuming the 4 read-only report endpoints. - Filters (period presets + custom dates, project, user). 4 sections (time per project, time per user, tasks by status, absences by type) each with a DataTable + a Chart.js chart (reused global registration). - Front-side CSV export per section (useCsvExport: BOM UTF-8, ; separator). - i18n keys (reporting.*, sidebar.admin.reporting). nuxt build passes; /reporting routed; no route regression.
35 lines
586 B
TypeScript
35 lines
586 B
TypeScript
export type TimePerProject = {
|
|
projectId: number
|
|
projectCode: string
|
|
projectName: string
|
|
hours: number
|
|
entryCount: number
|
|
}
|
|
|
|
export type TimePerUser = {
|
|
userId: number
|
|
username: string
|
|
fullName: string
|
|
hours: number
|
|
entryCount: number
|
|
}
|
|
|
|
export type TasksByStatus = {
|
|
statusId: number
|
|
statusLabel: string
|
|
count: number
|
|
}
|
|
|
|
export type AbsencesByType = {
|
|
type: string
|
|
count: number
|
|
totalDays: number
|
|
}
|
|
|
|
export type ReportFilters = {
|
|
from: string
|
|
to: string
|
|
userId?: number | null
|
|
projectId?: number | null
|
|
}
|