@hed-hog/operations 0.0.330 → 0.0.332
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/controllers/operations-collaborators.controller.d.ts +58 -213
- package/dist/controllers/operations-collaborators.controller.d.ts.map +1 -1
- package/dist/controllers/operations-collaborators.controller.js +100 -0
- package/dist/controllers/operations-collaborators.controller.js.map +1 -1
- package/dist/controllers/operations-contracts.controller.d.ts +6 -6
- package/dist/controllers/operations-projects.controller.d.ts +25 -0
- package/dist/controllers/operations-projects.controller.d.ts.map +1 -1
- package/dist/controllers/operations-projects.controller.js +48 -0
- package/dist/controllers/operations-projects.controller.js.map +1 -1
- package/dist/controllers/operations-reports.controller.d.ts +1 -1
- package/dist/controllers/operations-tasks.controller.d.ts +34 -9
- package/dist/controllers/operations-tasks.controller.d.ts.map +1 -1
- package/dist/controllers/operations-tasks.controller.js +43 -32
- package/dist/controllers/operations-tasks.controller.js.map +1 -1
- package/dist/controllers/operations-timesheets.controller.d.ts +9 -9
- package/dist/dashboard/components/DashboardLayout.d.ts +30 -0
- package/dist/dashboard/components/DashboardLayout.d.ts.map +1 -0
- package/dist/dashboard/components/DashboardLayout.js +87 -0
- package/dist/dashboard/components/DashboardLayout.js.map +1 -0
- package/dist/dashboard/components/widget-registry.d.ts +23 -0
- package/dist/dashboard/components/widget-registry.d.ts.map +1 -0
- package/dist/dashboard/components/widget-registry.js +245 -0
- package/dist/dashboard/components/widget-registry.js.map +1 -0
- package/dist/dashboard/hooks/useDashboardData.d.ts +20 -0
- package/dist/dashboard/hooks/useDashboardData.d.ts.map +1 -0
- package/dist/dashboard/hooks/useDashboardData.js +24 -0
- package/dist/dashboard/hooks/useDashboardData.js.map +1 -0
- package/dist/dashboard/types/widgets.types.d.ts +233 -0
- package/dist/dashboard/types/widgets.types.d.ts.map +1 -0
- package/dist/dashboard/types/widgets.types.js +6 -0
- package/dist/dashboard/types/widgets.types.js.map +1 -0
- package/dist/dashboard/widgets/CapacityDistribution.d.ts +23 -0
- package/dist/dashboard/widgets/CapacityDistribution.d.ts.map +1 -0
- package/dist/dashboard/widgets/CapacityDistribution.js +11 -0
- package/dist/dashboard/widgets/CapacityDistribution.js.map +1 -0
- package/dist/dashboard/widgets/EffortByProject.d.ts +22 -0
- package/dist/dashboard/widgets/EffortByProject.d.ts.map +1 -0
- package/dist/dashboard/widgets/EffortByProject.js +11 -0
- package/dist/dashboard/widgets/EffortByProject.js.map +1 -0
- package/dist/dashboard/widgets/HeadcountByArea.d.ts +24 -0
- package/dist/dashboard/widgets/HeadcountByArea.d.ts.map +1 -0
- package/dist/dashboard/widgets/HeadcountByArea.js +11 -0
- package/dist/dashboard/widgets/HeadcountByArea.js.map +1 -0
- package/dist/dashboard/widgets/ManagedProjectsStatus.d.ts +18 -0
- package/dist/dashboard/widgets/ManagedProjectsStatus.d.ts.map +1 -0
- package/dist/dashboard/widgets/ManagedProjectsStatus.js +12 -0
- package/dist/dashboard/widgets/ManagedProjectsStatus.js.map +1 -0
- package/dist/dashboard/widgets/MyHoursPeriodKpi.d.ts +22 -0
- package/dist/dashboard/widgets/MyHoursPeriodKpi.d.ts.map +1 -0
- package/dist/dashboard/widgets/MyHoursPeriodKpi.js +12 -0
- package/dist/dashboard/widgets/MyHoursPeriodKpi.js.map +1 -0
- package/dist/dashboard/widgets/MyOpenRequestsKpi.d.ts +19 -0
- package/dist/dashboard/widgets/MyOpenRequestsKpi.d.ts.map +1 -0
- package/dist/dashboard/widgets/MyOpenRequestsKpi.js +17 -0
- package/dist/dashboard/widgets/MyOpenRequestsKpi.js.map +1 -0
- package/dist/dashboard/widgets/MyPendingRequestsList.d.ts +23 -0
- package/dist/dashboard/widgets/MyPendingRequestsList.d.ts.map +1 -0
- package/dist/dashboard/widgets/MyPendingRequestsList.js +14 -0
- package/dist/dashboard/widgets/MyPendingRequestsList.js.map +1 -0
- package/dist/dashboard/widgets/MyProjectAllocationsKpi.d.ts +22 -0
- package/dist/dashboard/widgets/MyProjectAllocationsKpi.d.ts.map +1 -0
- package/dist/dashboard/widgets/MyProjectAllocationsKpi.js +11 -0
- package/dist/dashboard/widgets/MyProjectAllocationsKpi.js.map +1 -0
- package/dist/dashboard/widgets/MyQuickActions.d.ts +23 -0
- package/dist/dashboard/widgets/MyQuickActions.d.ts.map +1 -0
- package/dist/dashboard/widgets/MyQuickActions.js +18 -0
- package/dist/dashboard/widgets/MyQuickActions.js.map +1 -0
- package/dist/dashboard/widgets/MyRelevantDeadlines.d.ts +23 -0
- package/dist/dashboard/widgets/MyRelevantDeadlines.d.ts.map +1 -0
- package/dist/dashboard/widgets/MyRelevantDeadlines.js +22 -0
- package/dist/dashboard/widgets/MyRelevantDeadlines.js.map +1 -0
- package/dist/dashboard/widgets/MyTimesheetStatusKpi.d.ts +17 -0
- package/dist/dashboard/widgets/MyTimesheetStatusKpi.d.ts.map +1 -0
- package/dist/dashboard/widgets/MyTimesheetStatusKpi.js +11 -0
- package/dist/dashboard/widgets/MyTimesheetStatusKpi.js.map +1 -0
- package/dist/dashboard/widgets/MyWeeklyJourney.d.ts +21 -0
- package/dist/dashboard/widgets/MyWeeklyJourney.d.ts.map +1 -0
- package/dist/dashboard/widgets/MyWeeklyJourney.js +19 -0
- package/dist/dashboard/widgets/MyWeeklyJourney.js.map +1 -0
- package/dist/dashboard/widgets/PortfolioCostsKpi.d.ts +19 -0
- package/dist/dashboard/widgets/PortfolioCostsKpi.d.ts.map +1 -0
- package/dist/dashboard/widgets/PortfolioCostsKpi.js +12 -0
- package/dist/dashboard/widgets/PortfolioCostsKpi.js.map +1 -0
- package/dist/dashboard/widgets/PortfolioEffortKpi.d.ts +18 -0
- package/dist/dashboard/widgets/PortfolioEffortKpi.d.ts.map +1 -0
- package/dist/dashboard/widgets/PortfolioEffortKpi.js +8 -0
- package/dist/dashboard/widgets/PortfolioEffortKpi.js.map +1 -0
- package/dist/dashboard/widgets/PortfolioProjectsKpi.d.ts +22 -0
- package/dist/dashboard/widgets/PortfolioProjectsKpi.d.ts.map +1 -0
- package/dist/dashboard/widgets/PortfolioProjectsKpi.js +56 -0
- package/dist/dashboard/widgets/PortfolioProjectsKpi.js.map +1 -0
- package/dist/dashboard/widgets/PortfolioRiskKpi.d.ts +19 -0
- package/dist/dashboard/widgets/PortfolioRiskKpi.d.ts.map +1 -0
- package/dist/dashboard/widgets/PortfolioRiskKpi.js +11 -0
- package/dist/dashboard/widgets/PortfolioRiskKpi.js.map +1 -0
- package/dist/dashboard/widgets/ProjectStatusOverview.d.ts +19 -0
- package/dist/dashboard/widgets/ProjectStatusOverview.d.ts.map +1 -0
- package/dist/dashboard/widgets/ProjectStatusOverview.js +18 -0
- package/dist/dashboard/widgets/ProjectStatusOverview.js.map +1 -0
- package/dist/dashboard/widgets/StrategicDeadlines.d.ts +24 -0
- package/dist/dashboard/widgets/StrategicDeadlines.d.ts.map +1 -0
- package/dist/dashboard/widgets/StrategicDeadlines.js +22 -0
- package/dist/dashboard/widgets/StrategicDeadlines.js.map +1 -0
- package/dist/dashboard/widgets/TeamApprovalQueue.d.ts +24 -0
- package/dist/dashboard/widgets/TeamApprovalQueue.d.ts.map +1 -0
- package/dist/dashboard/widgets/TeamApprovalQueue.js +12 -0
- package/dist/dashboard/widgets/TeamApprovalQueue.js.map +1 -0
- package/dist/dashboard/widgets/TeamCapacityKpi.d.ts +18 -0
- package/dist/dashboard/widgets/TeamCapacityKpi.d.ts.map +1 -0
- package/dist/dashboard/widgets/TeamCapacityKpi.js +19 -0
- package/dist/dashboard/widgets/TeamCapacityKpi.js.map +1 -0
- package/dist/dashboard/widgets/TeamHeadcountKpi.d.ts +22 -0
- package/dist/dashboard/widgets/TeamHeadcountKpi.d.ts.map +1 -0
- package/dist/dashboard/widgets/TeamHeadcountKpi.js +56 -0
- package/dist/dashboard/widgets/TeamHeadcountKpi.js.map +1 -0
- package/dist/dashboard/widgets/TeamHoursKpi.d.ts +19 -0
- package/dist/dashboard/widgets/TeamHoursKpi.d.ts.map +1 -0
- package/dist/dashboard/widgets/TeamHoursKpi.js +13 -0
- package/dist/dashboard/widgets/TeamHoursKpi.js.map +1 -0
- package/dist/dashboard/widgets/TeamPendingApprovalsKpi.d.ts +20 -0
- package/dist/dashboard/widgets/TeamPendingApprovalsKpi.d.ts.map +1 -0
- package/dist/dashboard/widgets/TeamPendingApprovalsKpi.js +11 -0
- package/dist/dashboard/widgets/TeamPendingApprovalsKpi.js.map +1 -0
- package/dist/dashboard/widgets/TeamUtilizationOverview.d.ts +18 -0
- package/dist/dashboard/widgets/TeamUtilizationOverview.d.ts.map +1 -0
- package/dist/dashboard/widgets/TeamUtilizationOverview.js +17 -0
- package/dist/dashboard/widgets/TeamUtilizationOverview.js.map +1 -0
- package/dist/dashboard/widgets/TeamWorkloadAlerts.d.ts +24 -0
- package/dist/dashboard/widgets/TeamWorkloadAlerts.d.ts.map +1 -0
- package/dist/dashboard/widgets/TeamWorkloadAlerts.js +19 -0
- package/dist/dashboard/widgets/TeamWorkloadAlerts.js.map +1 -0
- package/dist/dashboard/widgets/index.d.ts +24 -0
- package/dist/dashboard/widgets/index.d.ts.map +1 -0
- package/dist/dashboard/widgets/index.js +54 -0
- package/dist/dashboard/widgets/index.js.map +1 -0
- package/dist/dto/create-collaborator-invoice.dto.d.ts +11 -0
- package/dist/dto/create-collaborator-invoice.dto.d.ts.map +1 -0
- package/dist/dto/create-collaborator-invoice.dto.js +55 -0
- package/dist/dto/create-collaborator-invoice.dto.js.map +1 -0
- package/dist/dto/create-collaborator-payment.dto.d.ts +10 -0
- package/dist/dto/create-collaborator-payment.dto.d.ts.map +1 -0
- package/dist/dto/create-collaborator-payment.dto.js +50 -0
- package/dist/dto/create-collaborator-payment.dto.js.map +1 -0
- package/dist/dto/create-collaborator.dto.d.ts +0 -1
- package/dist/dto/create-collaborator.dto.d.ts.map +1 -1
- package/dist/dto/create-collaborator.dto.js +0 -6
- package/dist/dto/create-collaborator.dto.js.map +1 -1
- package/dist/dto/list-collaborator-invoice.dto.d.ts +4 -0
- package/dist/dto/list-collaborator-invoice.dto.d.ts.map +1 -0
- package/dist/dto/list-collaborator-invoice.dto.js +8 -0
- package/dist/dto/list-collaborator-invoice.dto.js.map +1 -0
- package/dist/dto/list-collaborator-payment.dto.d.ts +4 -0
- package/dist/dto/list-collaborator-payment.dto.d.ts.map +1 -0
- package/dist/dto/list-collaborator-payment.dto.js +8 -0
- package/dist/dto/list-collaborator-payment.dto.js.map +1 -0
- package/dist/dto/update-collaborator-invoice.dto.d.ts +6 -0
- package/dist/dto/update-collaborator-invoice.dto.d.ts.map +1 -0
- package/dist/dto/update-collaborator-invoice.dto.js +9 -0
- package/dist/dto/update-collaborator-invoice.dto.js.map +1 -0
- package/dist/dto/update-collaborator-payment.dto.d.ts +6 -0
- package/dist/dto/update-collaborator-payment.dto.d.ts.map +1 -0
- package/dist/dto/update-collaborator-payment.dto.js +9 -0
- package/dist/dto/update-collaborator-payment.dto.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/operations.controller.d.ts +42 -0
- package/dist/operations.controller.d.ts.map +1 -1
- package/dist/operations.service.d.ts +258 -268
- package/dist/operations.service.d.ts.map +1 -1
- package/dist/operations.service.js +2381 -1341
- package/dist/operations.service.js.map +1 -1
- package/dist/operations.service.spec.js +345 -174
- package/dist/operations.service.spec.js.map +1 -1
- package/hedhog/data/dashboard_component.yaml +66 -0
- package/hedhog/data/dashboard_item.yaml +25 -25
- package/hedhog/data/menu.yaml +27 -8
- package/hedhog/data/route.yaml +133 -0
- package/hedhog/frontend/app/_components/collaborator-form-screen.tsx.ejs +78 -102
- package/hedhog/frontend/app/_components/collaborator-invoices-tab.tsx.ejs +443 -0
- package/hedhog/frontend/app/_components/collaborator-payment-history-tab.tsx.ejs +429 -0
- package/hedhog/frontend/app/_components/collaborator-picker.tsx.ejs +158 -0
- package/hedhog/frontend/app/_components/my-project-summary-screen.tsx.ejs +247 -50
- package/hedhog/frontend/app/_components/project-assignments-tab.tsx.ejs +643 -450
- package/hedhog/frontend/app/_components/project-details-screen.tsx.ejs +992 -431
- package/hedhog/frontend/app/_components/project-file-attachments.tsx.ejs +371 -0
- package/hedhog/frontend/app/_components/project-form-screen.tsx.ejs +558 -386
- package/hedhog/frontend/app/_components/task-detail-sheet.tsx.ejs +383 -157
- package/hedhog/frontend/app/_components/task-file-attachments.tsx.ejs +4 -1
- package/hedhog/frontend/app/_components/task-form-fields.tsx.ejs +406 -0
- package/hedhog/frontend/app/_components/task-form-sheet.tsx.ejs +629 -784
- package/hedhog/frontend/app/_components/task-info-display.tsx.ejs +137 -0
- package/hedhog/frontend/app/_components/timesheet-entry-create-sheet.tsx.ejs +306 -0
- package/hedhog/frontend/app/_lib/api.ts.ejs +155 -0
- package/hedhog/frontend/app/_lib/types.ts.ejs +62 -0
- package/hedhog/frontend/app/_lib/utils/format.ts.ejs +0 -2
- package/hedhog/frontend/app/_lib/utils/task-ui.ts.ejs +61 -0
- package/hedhog/frontend/app/approvals/page.tsx.ejs +6 -1
- package/hedhog/frontend/app/collaborator-types/page.tsx.ejs +6 -1
- package/hedhog/frontend/app/collaborators/page.tsx.ejs +59 -8
- package/hedhog/frontend/app/contracts/page.tsx.ejs +29 -8
- package/hedhog/frontend/app/dashboard/widgets/CapacityDistribution.tsx.ejs +84 -0
- package/hedhog/frontend/app/dashboard/widgets/EffortByProject.tsx.ejs +85 -0
- package/hedhog/frontend/app/dashboard/widgets/HeadcountByArea.tsx.ejs +101 -0
- package/hedhog/frontend/app/dashboard/widgets/ManagedProjectsStatus.tsx.ejs +113 -0
- package/hedhog/frontend/app/dashboard/widgets/MyHoursPeriodKpi.tsx.ejs +87 -0
- package/hedhog/frontend/app/dashboard/widgets/MyOpenRequestsKpi.tsx.ejs +97 -0
- package/hedhog/frontend/app/dashboard/widgets/MyPendingRequestsList.tsx.ejs +99 -0
- package/hedhog/frontend/app/dashboard/widgets/MyProjectAllocationsKpi.tsx.ejs +78 -0
- package/hedhog/frontend/app/dashboard/widgets/MyQuickActions.tsx.ejs +130 -0
- package/hedhog/frontend/app/dashboard/widgets/MyRelevantDeadlines.tsx.ejs +144 -0
- package/hedhog/frontend/app/dashboard/widgets/MyTimesheetStatusKpi.tsx.ejs +78 -0
- package/hedhog/frontend/app/dashboard/widgets/MyWeeklyJourney.tsx.ejs +99 -0
- package/hedhog/frontend/app/dashboard/widgets/PortfolioCostsKpi.tsx.ejs +112 -0
- package/hedhog/frontend/app/dashboard/widgets/PortfolioEffortKpi.tsx.ejs +93 -0
- package/hedhog/frontend/app/dashboard/widgets/PortfolioProjectsKpi.tsx.ejs +96 -0
- package/hedhog/frontend/app/dashboard/widgets/PortfolioRiskKpi.tsx.ejs +115 -0
- package/hedhog/frontend/app/dashboard/widgets/ProjectStatusOverview.tsx.ejs +120 -0
- package/hedhog/frontend/app/dashboard/widgets/StrategicDeadlines.tsx.ejs +146 -0
- package/hedhog/frontend/app/dashboard/widgets/TeamApprovalQueue.tsx.ejs +108 -0
- package/hedhog/frontend/app/dashboard/widgets/TeamCapacityKpi.tsx.ejs +97 -0
- package/hedhog/frontend/app/dashboard/widgets/TeamHeadcountKpi.tsx.ejs +100 -0
- package/hedhog/frontend/app/dashboard/widgets/TeamHoursKpi.tsx.ejs +104 -0
- package/hedhog/frontend/app/dashboard/widgets/TeamPendingApprovalsKpi.tsx.ejs +110 -0
- package/hedhog/frontend/app/dashboard/widgets/TeamUtilizationOverview.tsx.ejs +115 -0
- package/hedhog/frontend/app/dashboard/widgets/TeamWorkloadAlerts.tsx.ejs +117 -0
- package/hedhog/frontend/app/dashboard/widgets/index.ts.ejs +26 -0
- package/hedhog/frontend/app/departments/page.tsx.ejs +6 -1
- package/hedhog/frontend/app/my-projects/page.tsx.ejs +30 -12
- package/hedhog/frontend/app/my-tasks/page.tsx.ejs +286 -125
- package/hedhog/frontend/app/project-cost-categories/page.tsx.ejs +58 -52
- package/hedhog/frontend/app/project-cost-types/page.tsx.ejs +58 -51
- package/hedhog/frontend/app/projects/page.tsx.ejs +415 -33
- package/hedhog/frontend/app/schedule-adjustments/page.tsx.ejs +6 -1
- package/hedhog/frontend/app/tasks-gantt/page.tsx.ejs +953 -0
- package/hedhog/frontend/app/time-off/page.tsx.ejs +6 -1
- package/hedhog/frontend/app/timesheets/page.tsx.ejs +10 -4
- package/hedhog/frontend/messages/en.json +332 -46
- package/hedhog/frontend/messages/operations/en.json +61 -52
- package/hedhog/frontend/messages/operations/pt.json +59 -43
- package/hedhog/frontend/messages/pt.json +332 -46
- package/hedhog/frontend/widgets/capacity-distribution.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/effort-by-project.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/headcount-by-area.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/index.ts.ejs +25 -0
- package/hedhog/frontend/widgets/managed-projects-status.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/my-hours-period-kpi.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/my-open-requests-kpi.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/my-pending-requests-list.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/my-project-allocations-kpi.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/my-quick-actions.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/my-relevant-deadlines.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/my-timesheet-status-kpi.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/my-weekly-journey.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/portfolio-costs-kpi.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/portfolio-effort-kpi.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/portfolio-projects-kpi.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/portfolio-risk-kpi.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/project-status-overview.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/shared-operations-widget.tsx.ejs +170 -0
- package/hedhog/frontend/widgets/strategic-deadlines.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/team-approval-queue.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/team-capacity-kpi.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/team-headcount-kpi.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/team-hours-kpi.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/team-pending-approvals-kpi.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/team-utilization-overview.tsx.ejs +17 -0
- package/hedhog/frontend/widgets/team-workload-alerts.tsx.ejs +17 -0
- package/hedhog/table/operations_collaborator.yaml +8 -13
- package/hedhog/table/operations_collaborator_invoice.yaml +35 -0
- package/hedhog/table/operations_collaborator_payment.yaml +32 -0
- package/hedhog/table/operations_project.yaml +1 -1
- package/hedhog/table/operations_project_file.yaml +23 -0
- package/hedhog/table/operations_task.yaml +76 -69
- package/hedhog/table/operations_task_activity.yaml +51 -0
- package/package.json +6 -5
- package/src/controllers/operations-collaborators.controller.ts +117 -8
- package/src/controllers/operations-projects.controller.ts +41 -8
- package/src/controllers/operations-tasks.controller.ts +156 -166
- package/src/dashboard/README.md +214 -0
- package/src/dashboard/components/DashboardLayout.tsx +131 -0
- package/src/dashboard/components/widget-registry.ts +255 -0
- package/src/dashboard/hooks/useDashboardData.ts +29 -0
- package/src/dashboard/types/widgets.types.ts +237 -0
- package/src/dashboard/widgets/CapacityDistribution.tsx +56 -0
- package/src/dashboard/widgets/EffortByProject.tsx +51 -0
- package/src/dashboard/widgets/HeadcountByArea.tsx +57 -0
- package/src/dashboard/widgets/ManagedProjectsStatus.tsx +53 -0
- package/src/dashboard/widgets/MyHoursPeriodKpi.tsx +87 -0
- package/src/dashboard/widgets/MyOpenRequestsKpi.tsx +51 -0
- package/src/dashboard/widgets/MyPendingRequestsList.tsx +63 -0
- package/src/dashboard/widgets/MyProjectAllocationsKpi.tsx +57 -0
- package/src/dashboard/widgets/MyQuickActions.tsx +62 -0
- package/src/dashboard/widgets/MyRelevantDeadlines.tsx +84 -0
- package/src/dashboard/widgets/MyTimesheetStatusKpi.tsx +65 -0
- package/src/dashboard/widgets/MyWeeklyJourney.tsx +57 -0
- package/src/dashboard/widgets/PortfolioCostsKpi.tsx +48 -0
- package/src/dashboard/widgets/PortfolioEffortKpi.tsx +41 -0
- package/src/dashboard/widgets/PortfolioRiskKpi.tsx +50 -0
- package/src/dashboard/widgets/ProjectStatusOverview.tsx +52 -0
- package/src/dashboard/widgets/StrategicDeadlines.tsx +93 -0
- package/src/dashboard/widgets/TeamApprovalQueue.tsx +70 -0
- package/src/dashboard/widgets/TeamCapacityKpi.tsx +50 -0
- package/src/dashboard/widgets/TeamHoursKpi.tsx +51 -0
- package/src/dashboard/widgets/TeamPendingApprovalsKpi.tsx +53 -0
- package/src/dashboard/widgets/TeamUtilizationOverview.tsx +62 -0
- package/src/dashboard/widgets/TeamWorkloadAlerts.tsx +81 -0
- package/src/dashboard/widgets/index.ts +26 -0
- package/src/dto/create-collaborator-invoice.dto.ts +39 -0
- package/src/dto/create-collaborator-payment.dto.ts +35 -0
- package/src/dto/create-collaborator.dto.ts +4 -11
- package/src/dto/list-collaborator-invoice.dto.ts +3 -0
- package/src/dto/list-collaborator-payment.dto.ts +3 -0
- package/src/dto/update-collaborator-invoice.dto.ts +6 -0
- package/src/dto/update-collaborator-payment.dto.ts +6 -0
- package/src/index.ts +3 -0
- package/src/operations.service.spec.ts +988 -764
- package/src/operations.service.ts +4689 -2624
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
"approve": "Aprovar",
|
|
17
17
|
"reject": "Rejeitar",
|
|
18
18
|
"submit": "Enviar",
|
|
19
|
+
"logHours": "Lançar horas",
|
|
19
20
|
"cancel": "Cancelar",
|
|
20
21
|
"loadMore": "Carregar mais",
|
|
21
22
|
"clearSelection": "Limpar seleção",
|
|
@@ -24,7 +25,8 @@
|
|
|
24
25
|
"manageTemplates": "Gerenciar templates",
|
|
25
26
|
"useTemplate": "Usar template",
|
|
26
27
|
"showValues": "Exibir valores",
|
|
27
|
-
"hideValues": "Ocultar valores"
|
|
28
|
+
"hideValues": "Ocultar valores",
|
|
29
|
+
"editPersonCrm": "Editar cadastro de pessoa (CRM)"
|
|
28
30
|
},
|
|
29
31
|
"filters": {
|
|
30
32
|
"allStatuses": "Todos os status",
|
|
@@ -32,6 +34,19 @@
|
|
|
32
34
|
"dateFrom": "De",
|
|
33
35
|
"dateTo": "Até"
|
|
34
36
|
},
|
|
37
|
+
"taskStatus": {
|
|
38
|
+
"todo": "Backlog",
|
|
39
|
+
"doing": "Em execução",
|
|
40
|
+
"review": "Revisão",
|
|
41
|
+
"done": "Concluído"
|
|
42
|
+
},
|
|
43
|
+
"priority": {
|
|
44
|
+
"low": "Baixa",
|
|
45
|
+
"medium": "Média",
|
|
46
|
+
"high": "Alta"
|
|
47
|
+
},
|
|
48
|
+
"overdueLabel": "Prazo vencido:",
|
|
49
|
+
"responsible": "Responsável",
|
|
35
50
|
"labels": {
|
|
36
51
|
"notAvailable": "Não informado",
|
|
37
52
|
"notAssigned": "Não atribuído",
|
|
@@ -208,7 +223,6 @@
|
|
|
208
223
|
"description": "Crie ou atualize o perfil de workforce usado em projetos, contratos e aprovações."
|
|
209
224
|
},
|
|
210
225
|
"form": {
|
|
211
|
-
"userId": "ID do usuário",
|
|
212
226
|
"code": "Código",
|
|
213
227
|
"displayName": "Nome exibido",
|
|
214
228
|
"department": "Departamento",
|
|
@@ -218,12 +232,16 @@
|
|
|
218
232
|
"notes": "Observações"
|
|
219
233
|
},
|
|
220
234
|
"messages": {
|
|
221
|
-
"userRequired": "Um ID de usuário é obrigatório para novos colaboradores.",
|
|
222
235
|
"requiredFields": "Código e nome exibido são obrigatórios.",
|
|
223
236
|
"saveSuccess": "Colaborador salvo com sucesso.",
|
|
224
237
|
"saveError": "Não foi possível salvar o colaborador.",
|
|
225
238
|
"statusSuccess": "Status do colaborador atualizado com sucesso.",
|
|
226
239
|
"statusError": "Não foi possível atualizar o status do colaborador."
|
|
240
|
+
},
|
|
241
|
+
"columns": {
|
|
242
|
+
"linkedUser": "Usuário",
|
|
243
|
+
"linkedUserYes": "Vinculado",
|
|
244
|
+
"linkedUserNo": "Sem usuário"
|
|
227
245
|
}
|
|
228
246
|
},
|
|
229
247
|
"DepartmentsPage": {
|
|
@@ -286,7 +304,11 @@
|
|
|
286
304
|
"projects": "Projetos",
|
|
287
305
|
"tasks": "Tarefas",
|
|
288
306
|
"timesheets": "Apontamentos",
|
|
289
|
-
"salary": "Remuneração"
|
|
307
|
+
"salary": "Remuneração",
|
|
308
|
+
"paymentHistory": "Histórico de Pagamentos",
|
|
309
|
+
"paymentHistoryEmpty": "Nenhum registro de pagamento encontrado para este colaborador.",
|
|
310
|
+
"invoices": "Notas Fiscais",
|
|
311
|
+
"invoicesEmpty": "Nenhuma nota fiscal enviada por este colaborador ainda."
|
|
290
312
|
},
|
|
291
313
|
"sections": {
|
|
292
314
|
"basicInfo": "Informações básicas",
|
|
@@ -310,9 +332,6 @@
|
|
|
310
332
|
"person": "Pessoa",
|
|
311
333
|
"personEntityLabel": "pessoa",
|
|
312
334
|
"personDescription": "Selecione uma pessoa existente ou cadastre uma nova sem sair desta tela.",
|
|
313
|
-
"userId": "Usuário do sistema",
|
|
314
|
-
"userIdOptional": "Usuário do sistema (opcional)",
|
|
315
|
-
"userIdDescription": "Vincule a conta da plataforma que este colaborador vai usar para login, apontamentos e ações de autosserviço.",
|
|
316
335
|
"code": "Código",
|
|
317
336
|
"displayName": "Nome exibido",
|
|
318
337
|
"department": "Departamento",
|
|
@@ -324,6 +343,7 @@
|
|
|
324
343
|
"collaboratorType": "Tipo de colaborador",
|
|
325
344
|
"collaboratorTypeDescription": "Selecione a natureza da relação com a empresa. Função e participação societária permanecem separadas.",
|
|
326
345
|
"weeklyCapacityHours": "Carga horária semanal",
|
|
346
|
+
"hourlyRate": "Valor hora",
|
|
327
347
|
"compensationAmount": "Valor da remuneração",
|
|
328
348
|
"contract": "Contrato",
|
|
329
349
|
"contractPlaceholder": "Pesquisar ou selecionar contrato…",
|
|
@@ -341,10 +361,6 @@
|
|
|
341
361
|
"breakMinutesDescription": "O último campo numérico define o intervalo/pausa diária em minutos. Ex.: 60 = 1 hora de almoço.",
|
|
342
362
|
"autoGenerateContractDraft": "Gerar contrato rascunho automaticamente",
|
|
343
363
|
"autoGenerateContractDraftDescription": "Cria um contrato rascunho relacionado, classificado pelo tipo de colaborador e vinculado à origem de contratação.",
|
|
344
|
-
"createUserDescription": "Informe as credenciais do novo usuário do sistema. A conta será criada imediatamente e vinculada a este colaborador.",
|
|
345
|
-
"createUserName": "Nome completo",
|
|
346
|
-
"createUserEmail": "E-mail",
|
|
347
|
-
"createUserPassword": "Senha",
|
|
348
364
|
"compensationEffectiveDate": "Data de vigência",
|
|
349
365
|
"compensationNotes": "Observações da remuneração"
|
|
350
366
|
},
|
|
@@ -389,21 +405,15 @@
|
|
|
389
405
|
"equityNotes": "Observações sobre cotas, ações, prazo ou poderes",
|
|
390
406
|
"levelLabel": "Selecione um nível",
|
|
391
407
|
"supervisor": "Busque um colaborador",
|
|
392
|
-
"userIdOptional": "Selecione um usuário do sistema",
|
|
393
|
-
"createUserName": "Nome completo",
|
|
394
|
-
"createUserEmail": "usuario@exemplo.com",
|
|
395
|
-
"createUserPassword": "Senha forte",
|
|
396
408
|
"compensationNotes": "Observações sobre a alteração de remuneração"
|
|
397
409
|
},
|
|
398
410
|
"actions": {
|
|
399
|
-
"createUser": "Criar usuário do sistema",
|
|
400
411
|
"editPersonCrm": "Editar cadastro de pessoa (CRM)"
|
|
401
412
|
},
|
|
402
413
|
"states": {
|
|
403
414
|
"loadingCollaboratorTypes": "Carregando tipos de colaborador..."
|
|
404
415
|
},
|
|
405
416
|
"messages": {
|
|
406
|
-
"userRequired": "O vínculo com usuário pode ser feito depois do cadastro inicial.",
|
|
407
417
|
"personRequired": "Selecione ou cadastre uma pessoa para o colaborador.",
|
|
408
418
|
"collaboratorTypeRequired": "Selecione um tipo de colaborador.",
|
|
409
419
|
"requiredFields": "O código do colaborador é obrigatório.",
|
|
@@ -411,8 +421,48 @@
|
|
|
411
421
|
"createError": "Não foi possível criar o colaborador.",
|
|
412
422
|
"updateSuccess": "Colaborador atualizado com sucesso.",
|
|
413
423
|
"updateError": "Não foi possível atualizar o colaborador.",
|
|
414
|
-
"
|
|
415
|
-
"
|
|
424
|
+
"saveSuccess": "Salvo com sucesso.",
|
|
425
|
+
"saveError": "Não foi possível salvar. Tente novamente.",
|
|
426
|
+
"deleteSuccess": "Excluído com sucesso.",
|
|
427
|
+
"deleteError": "Não foi possível excluir. Tente novamente."
|
|
428
|
+
},
|
|
429
|
+
"paymentHistory": {
|
|
430
|
+
"add": "Adicionar pagamento",
|
|
431
|
+
"editTitle": "Editar pagamento",
|
|
432
|
+
"deleteConfirm": "Tem certeza que deseja excluir este pagamento?",
|
|
433
|
+
"amount": "Valor",
|
|
434
|
+
"paymentDate": "Data do pagamento",
|
|
435
|
+
"referenceMonth": "Mês de referência",
|
|
436
|
+
"paymentMethod": "Forma de pagamento",
|
|
437
|
+
"notes": "Observações",
|
|
438
|
+
"methodBankTransfer": "Transferência bancária",
|
|
439
|
+
"methodPix": "Pix",
|
|
440
|
+
"methodCheck": "Cheque",
|
|
441
|
+
"methodOther": "Outro"
|
|
442
|
+
},
|
|
443
|
+
"invoices": {
|
|
444
|
+
"add": "Adicionar NF",
|
|
445
|
+
"editTitle": "Editar NF",
|
|
446
|
+
"deleteConfirm": "Tem certeza que deseja excluir esta nota fiscal?",
|
|
447
|
+
"invoiceNumber": "Número da NF",
|
|
448
|
+
"amount": "Valor",
|
|
449
|
+
"issueDate": "Data de emissão",
|
|
450
|
+
"dueDate": "Vencimento",
|
|
451
|
+
"status": "Status",
|
|
452
|
+
"description": "Descrição",
|
|
453
|
+
"statusPending": "Pendente",
|
|
454
|
+
"statusPaid": "Pago",
|
|
455
|
+
"statusCancelled": "Cancelado",
|
|
456
|
+
"statusOverdue": "Vencido"
|
|
457
|
+
},
|
|
458
|
+
"projectAllocation": {
|
|
459
|
+
"total": "Alocação total",
|
|
460
|
+
"idle": "Ociosidade",
|
|
461
|
+
"overloaded": "Sobrecarga",
|
|
462
|
+
"distributeEqually": "Distribuir igualmente",
|
|
463
|
+
"autoRebalance": "Auto-rebalancear",
|
|
464
|
+
"autoRebalanceDescription": "Ajustar automaticamente os outros projetos ao editar a alocação",
|
|
465
|
+
"distributing": "Distribuindo..."
|
|
416
466
|
},
|
|
417
467
|
"chart": {
|
|
418
468
|
"salaryHistory": "Histórico de salário",
|
|
@@ -529,14 +579,25 @@
|
|
|
529
579
|
"totalDescription": "Todos os projetos de entrega visíveis para o seu escopo de acesso.",
|
|
530
580
|
"active": "Ativos",
|
|
531
581
|
"activeDescription": "Abertos para lançamentos de timesheet e trabalho da equipe.",
|
|
532
|
-
"
|
|
533
|
-
"
|
|
582
|
+
"completed": "Concluídos",
|
|
583
|
+
"completedDescription": "Projetos finalizados no ciclo de entrega.",
|
|
534
584
|
"upcomingDeliveries": "Com prazo",
|
|
535
585
|
"upcomingDeliveriesDescription": "Projetos com data de entrega definida."
|
|
536
586
|
},
|
|
537
587
|
"viewMode": "Visualização",
|
|
538
588
|
"viewModeTable": "Tabela",
|
|
539
589
|
"viewModeCards": "Cards",
|
|
590
|
+
"viewModeBoard": "Board",
|
|
591
|
+
"board": {
|
|
592
|
+
"directorOnly": "A movimentação de projetos no board é permitida apenas para diretores.",
|
|
593
|
+
"emptyColumn": "Sem projetos nesta coluna.",
|
|
594
|
+
"columns": {
|
|
595
|
+
"planning": "Planejamento",
|
|
596
|
+
"active": "Ativo",
|
|
597
|
+
"paused": "Pausado",
|
|
598
|
+
"completed": "Concluído"
|
|
599
|
+
}
|
|
600
|
+
},
|
|
540
601
|
"actions": {
|
|
541
602
|
"archive": "Arquivar"
|
|
542
603
|
},
|
|
@@ -571,8 +632,8 @@
|
|
|
571
632
|
"totalDescription": "Projetos em que você tem alocação.",
|
|
572
633
|
"active": "Ativos",
|
|
573
634
|
"activeDescription": "Projetos abertos para lançamentos de timesheet.",
|
|
574
|
-
"
|
|
575
|
-
"
|
|
635
|
+
"completed": "Concluídos",
|
|
636
|
+
"completedDescription": "Projetos finalizados do seu escopo.",
|
|
576
637
|
"upcomingDeliveries": "Com prazo",
|
|
577
638
|
"upcomingDeliveriesDescription": "Projetos com data de entrega definida."
|
|
578
639
|
},
|
|
@@ -629,6 +690,47 @@
|
|
|
629
690
|
"done": "Concluída"
|
|
630
691
|
}
|
|
631
692
|
},
|
|
693
|
+
"TasksGanttPage": {
|
|
694
|
+
"title": "Gantt de Tarefas",
|
|
695
|
+
"description": "Acompanhe tarefas de todos os projetos em execução em uma linha do tempo única.",
|
|
696
|
+
"breadcrumb": "Gantt de Tarefas",
|
|
697
|
+
"searchPlaceholder": "Buscar tarefa, projeto ou responsável...",
|
|
698
|
+
"viewDescription": "Tarefas dos projetos ativos agrupadas por projeto.",
|
|
699
|
+
"loading": "Montando visão de Gantt...",
|
|
700
|
+
"emptyDescription": "Nenhuma tarefa encontrada para os projetos em execução com os filtros atuais.",
|
|
701
|
+
"loadErrorDescription": "Não foi possível carregar o cronograma agora. Atualize para tentar novamente.",
|
|
702
|
+
"noAccessDescription": "A visão consolidada de Gantt está disponível apenas para supervisores e diretores.",
|
|
703
|
+
"actions": {
|
|
704
|
+
"openProject": "Abrir projeto"
|
|
705
|
+
},
|
|
706
|
+
"filters": {
|
|
707
|
+
"allProjects": "Todos os projetos",
|
|
708
|
+
"allStatuses": "Todos os status",
|
|
709
|
+
"clearDateRange": "Limpar período"
|
|
710
|
+
},
|
|
711
|
+
"cards": {
|
|
712
|
+
"activeProjects": "Projetos em execução",
|
|
713
|
+
"activeProjectsDescription": "Projetos ativos com tarefas no cronograma.",
|
|
714
|
+
"tasks": "Tarefas no cronograma",
|
|
715
|
+
"tasksDescription": "Itens exibidos conforme os filtros atuais.",
|
|
716
|
+
"doing": "Em andamento",
|
|
717
|
+
"doingDescription": "Tarefas sendo executadas agora.",
|
|
718
|
+
"overdue": "Atrasadas",
|
|
719
|
+
"overdueDescription": "Tarefas com prazo vencido e ainda abertas."
|
|
720
|
+
},
|
|
721
|
+
"labels": {
|
|
722
|
+
"projectTask": "Projeto e tarefa",
|
|
723
|
+
"range": "{from} até {to}",
|
|
724
|
+
"tasksCount": "{count} tarefa(s)"
|
|
725
|
+
},
|
|
726
|
+
"legend": {
|
|
727
|
+
"todo": "A fazer",
|
|
728
|
+
"doing": "Em andamento",
|
|
729
|
+
"review": "Em revisão",
|
|
730
|
+
"done": "Concluída",
|
|
731
|
+
"overdue": "Atrasada"
|
|
732
|
+
}
|
|
733
|
+
},
|
|
632
734
|
"ProjectFormPage": {
|
|
633
735
|
"newTitle": "Novo Projeto",
|
|
634
736
|
"editTitle": "Editar Projeto",
|
|
@@ -647,6 +749,8 @@
|
|
|
647
749
|
"teamDescription": "{count} colaboradores selecionados para a equipe inicial. Você pode refinar as alocações depois de salvar.",
|
|
648
750
|
"financials": "Base financeira e contratual",
|
|
649
751
|
"financialsDescription": "Dados financeiros, faturamento e contrato podem ser preenchidos depois que o projeto for salvo.",
|
|
752
|
+
"files": "Arquivos anexados",
|
|
753
|
+
"filesDescription": "Envie um ou vários arquivos para manter documentos e anexos do projeto centralizados.",
|
|
650
754
|
"contract": "Configurações do contrato",
|
|
651
755
|
"contractDescription": "Vincule um contrato existente ou configure a geração de rascunho após o primeiro salvamento do projeto.",
|
|
652
756
|
"nextSteps": "Continue após salvar",
|
|
@@ -716,7 +820,6 @@
|
|
|
716
820
|
"statuses": {
|
|
717
821
|
"planning": "Planejamento",
|
|
718
822
|
"active": "Ativo",
|
|
719
|
-
"at_risk": "Em risco",
|
|
720
823
|
"paused": "Pausado",
|
|
721
824
|
"completed": "Concluído",
|
|
722
825
|
"archived": "Arquivado"
|
|
@@ -814,24 +917,6 @@
|
|
|
814
917
|
"warning": "Atenção",
|
|
815
918
|
"danger": "Crítico"
|
|
816
919
|
},
|
|
817
|
-
"sections": {
|
|
818
|
-
"overview": "Visão geral",
|
|
819
|
-
"contract": "Contrato relacionado",
|
|
820
|
-
"team": "Colaboradores vinculados",
|
|
821
|
-
"teamDescription": "Equipe inicial e alocações em andamento associadas ao projeto.",
|
|
822
|
-
"indicators": "Indicadores operacionais",
|
|
823
|
-
"indicatorsDescription": "Métricas atuais de equipe e entrega do projeto.",
|
|
824
|
-
"costs": "Custos do Projeto",
|
|
825
|
-
"costsDescription": "Gerencie custos planejados, confirmados e cancelados associados a este projeto."
|
|
826
|
-
},
|
|
827
|
-
"indicators": {
|
|
828
|
-
"activeAssignments": "Atribuições ativas",
|
|
829
|
-
"completedAssignments": "Atribuições concluídas",
|
|
830
|
-
"averageAllocation": "Alocação média",
|
|
831
|
-
"totalWeeklyHours": "Total de horas semanais"
|
|
832
|
-
},
|
|
833
|
-
"noContract": "Ainda não existe contrato relacionado a este projeto.",
|
|
834
|
-
"noAssignments": "Ainda não existem colaboradores vinculados a este projeto.",
|
|
835
920
|
"sections": {
|
|
836
921
|
"overview": "Visão geral",
|
|
837
922
|
"contract": "Contrato relacionado",
|
|
@@ -850,8 +935,18 @@
|
|
|
850
935
|
"archivedTasks": "Tarefas arquivadas",
|
|
851
936
|
"archivedTasksDescription": "Consulte tarefas arquivadas do projeto, veja detalhes, desarquive ou exclua definitivamente.",
|
|
852
937
|
"costs": "Custos do Projeto",
|
|
853
|
-
"costsDescription": "Gerencie custos planejados, confirmados e cancelados associados a este projeto."
|
|
938
|
+
"costsDescription": "Gerencie custos planejados, confirmados e cancelados associados a este projeto.",
|
|
939
|
+
"files": "Arquivos do Projeto",
|
|
940
|
+
"filesDescription": "Gerencie arquivos e documentos anexados a este projeto."
|
|
941
|
+
},
|
|
942
|
+
"indicators": {
|
|
943
|
+
"activeAssignments": "Atribuições ativas",
|
|
944
|
+
"completedAssignments": "Atribuições concluídas",
|
|
945
|
+
"averageAllocation": "Alocação média",
|
|
946
|
+
"totalWeeklyHours": "Total de horas semanais"
|
|
854
947
|
},
|
|
948
|
+
"noContract": "Ainda não existe contrato relacionado a este projeto.",
|
|
949
|
+
"noAssignments": "Ainda não existem colaboradores vinculados a este projeto.",
|
|
855
950
|
"tabs": {
|
|
856
951
|
"tasks": "Tarefas",
|
|
857
952
|
"overview": "Visão geral",
|
|
@@ -859,8 +954,14 @@
|
|
|
859
954
|
"team": "Equipe",
|
|
860
955
|
"timeline": "Timeline",
|
|
861
956
|
"archive": "Arquivadas",
|
|
862
|
-
"costs": "Custos"
|
|
957
|
+
"costs": "Custos",
|
|
958
|
+
"files": "Arquivos"
|
|
863
959
|
},
|
|
960
|
+
"deleteProjectButton": "Excluir projeto",
|
|
961
|
+
"deleteConfirmTitle": "Excluir projeto permanentemente",
|
|
962
|
+
"deleteConfirmDescription": "Esta ação é irreversível. O projeto e todos os seus dados serão removidos permanentemente.",
|
|
963
|
+
"deleteConfirmLabel": "Digite o nome do projeto para confirmar",
|
|
964
|
+
"deleteConfirmButton": "Excluir permanentemente",
|
|
864
965
|
"charts": {
|
|
865
966
|
"projectProgress": "Progresso",
|
|
866
967
|
"burnup": "Burnup / progresso",
|
|
@@ -935,6 +1036,12 @@
|
|
|
935
1036
|
"usedHours": "Horas utilizadas",
|
|
936
1037
|
"availability": "Disponibilidade",
|
|
937
1038
|
"overloadWarning": "{value}% acima da capacidade recomendada.",
|
|
1039
|
+
"addCollaborator": "Adicionar colaborador",
|
|
1040
|
+
"addTitle": "Adicionar colaborador",
|
|
1041
|
+
"editTitle": "Editar alocação",
|
|
1042
|
+
"formDescription": "Configure os dados de alocação do colaborador neste projeto.",
|
|
1043
|
+
"removeTitle": "Remover colaborador",
|
|
1044
|
+
"removeDescription": "Tem certeza que deseja remover este colaborador do projeto?",
|
|
938
1045
|
"status": {
|
|
939
1046
|
"available": "Disponível",
|
|
940
1047
|
"high": "Alta carga",
|
|
@@ -955,14 +1062,18 @@
|
|
|
955
1062
|
"descriptionPlaceholder": "Descrição opcional",
|
|
956
1063
|
"priorityLabel": "Prioridade",
|
|
957
1064
|
"columnLabel": "Coluna",
|
|
1065
|
+
"assigneeLabel": "Responsável",
|
|
958
1066
|
"deadlineLabel": "Prazo",
|
|
959
1067
|
"estimateLabel": "Estimativa (h)",
|
|
960
1068
|
"tagsLabel": "Etiquetas",
|
|
961
|
-
"tagsPlaceholder": "
|
|
1069
|
+
"tagsPlaceholder": "Digite e pressione Enter para adicionar...",
|
|
962
1070
|
"attachmentsLabel": "Anexos",
|
|
963
1071
|
"saving": "Salvando...",
|
|
964
1072
|
"tabInfo": "Informações",
|
|
965
|
-
"tabComments": "Comentários"
|
|
1073
|
+
"tabComments": "Comentários",
|
|
1074
|
+
"tabActivities": "Atividades",
|
|
1075
|
+
"tabFiles": "Arquivos",
|
|
1076
|
+
"doingTimeLabel": "Tempo em execução"
|
|
966
1077
|
},
|
|
967
1078
|
"dialogs": {
|
|
968
1079
|
"archiveTitle": "Arquivar tarefa",
|
|
@@ -985,6 +1096,21 @@
|
|
|
985
1096
|
"editComment": "Não foi possível atualizar o comentário.",
|
|
986
1097
|
"deleteComment": "Não foi possível excluir o comentário."
|
|
987
1098
|
}
|
|
1099
|
+
},
|
|
1100
|
+
"activitiesSection": {
|
|
1101
|
+
"title": "Atividades",
|
|
1102
|
+
"noActivities": "Nenhuma atividade registrada ainda.",
|
|
1103
|
+
"defaultUser": "Usuário desconhecido",
|
|
1104
|
+
"statusChanged": "Moveu de {from} para {to}.",
|
|
1105
|
+
"fallbackAction": "Registrou uma atividade nesta tarefa.",
|
|
1106
|
+
"kpis": {
|
|
1107
|
+
"activities": "Atividades",
|
|
1108
|
+
"activitiesDescription": "Eventos registrados",
|
|
1109
|
+
"collaborators": "Colaboradores",
|
|
1110
|
+
"collaboratorsDescription": "Pessoas que interagiram",
|
|
1111
|
+
"executionTime": "Execução",
|
|
1112
|
+
"executionTimeDescription": "Tempo total acumulado"
|
|
1113
|
+
}
|
|
988
1114
|
}
|
|
989
1115
|
},
|
|
990
1116
|
"ContractsPage": {
|
|
@@ -1450,6 +1576,7 @@
|
|
|
1450
1576
|
"searchPlaceholder": "Buscar colaborador, projeto, tarefa, aprovador ou observações...",
|
|
1451
1577
|
"emptyDescription": "Nenhuma timesheet corresponde aos filtros atuais.",
|
|
1452
1578
|
"sheet": {
|
|
1579
|
+
"title": "Lançamento rápido",
|
|
1453
1580
|
"createTitle": "Lançamento rápido",
|
|
1454
1581
|
"editTitle": "Editar lançamento",
|
|
1455
1582
|
"description": "Escolha projeto, tarefa, data e duração para registrar o trabalho com o mínimo de atrito.",
|
|
@@ -2167,6 +2294,20 @@
|
|
|
2167
2294
|
"removeFile": "Remover arquivo"
|
|
2168
2295
|
}
|
|
2169
2296
|
},
|
|
2297
|
+
"ProjectFileAttachments": {
|
|
2298
|
+
"uploadError": "Erro no upload",
|
|
2299
|
+
"error": "Erro",
|
|
2300
|
+
"empty": "Nenhum arquivo anexado",
|
|
2301
|
+
"dropzone": {
|
|
2302
|
+
"ariaLabel": "Clique ou solte arquivos para anexar",
|
|
2303
|
+
"dragging": "Solte os arquivos aqui",
|
|
2304
|
+
"idle": "Clique ou arraste arquivos para anexar"
|
|
2305
|
+
},
|
|
2306
|
+
"actions": {
|
|
2307
|
+
"openInNewTab": "Abrir em nova aba",
|
|
2308
|
+
"removeFile": "Remover arquivo"
|
|
2309
|
+
}
|
|
2310
|
+
},
|
|
2170
2311
|
"ReportsCollaboratorsPage": {
|
|
2171
2312
|
"title": "Relatório de Colaboradores",
|
|
2172
2313
|
"description": "Dashboard executivo com custo, lucro, capacidade atual e planejamento dos próximos 12 meses.",
|
|
@@ -2339,5 +2480,150 @@
|
|
|
2339
2480
|
"recommendation": "Recomendação"
|
|
2340
2481
|
}
|
|
2341
2482
|
}
|
|
2483
|
+
},
|
|
2484
|
+
"MyOpenRequestsKpi": {
|
|
2485
|
+
"alert": "Atenção",
|
|
2486
|
+
"openRequests": "Solicitações abertas",
|
|
2487
|
+
"requests": {
|
|
2488
|
+
"vacation": "Férias",
|
|
2489
|
+
"scheduleAdjust": "Ajuste Jornada",
|
|
2490
|
+
"expenses": "Despesas",
|
|
2491
|
+
"others": "Outros"
|
|
2492
|
+
}
|
|
2493
|
+
},
|
|
2494
|
+
"MyQuickActions": {
|
|
2495
|
+
"timesheetLabel": "Registrar Timesheet",
|
|
2496
|
+
"requestLabel": "Nova Solicitação",
|
|
2497
|
+
"vacationLabel": "Solicitar Férias",
|
|
2498
|
+
"expenseLabel": "Lançar Despesa",
|
|
2499
|
+
"tipsTitle": "💡 Dicas úteis:",
|
|
2500
|
+
"tips": {
|
|
2501
|
+
"timesheet": "✓ Complete seu timesheet toda semana",
|
|
2502
|
+
"vacation": "✓ Solicite férias com antecedência",
|
|
2503
|
+
"expense": "✓ Registre despesas no prazo"
|
|
2504
|
+
}
|
|
2505
|
+
},
|
|
2506
|
+
"ProjectStatusOverview": {
|
|
2507
|
+
"totalProjects": "Total de Projetos",
|
|
2508
|
+
"statuses": {
|
|
2509
|
+
"planning": "Planejamento",
|
|
2510
|
+
"inProgress": "Em Progresso",
|
|
2511
|
+
"review": "Em Revisão",
|
|
2512
|
+
"completed": "Concluído",
|
|
2513
|
+
"onHold": "Suspenso"
|
|
2514
|
+
}
|
|
2515
|
+
},
|
|
2516
|
+
"TeamUtilizationOverview": {
|
|
2517
|
+
"totalCollaborators": "Total de Colaboradores",
|
|
2518
|
+
"overUtilizedAlert": "{count} colaborador(es) sobre-utilizado(s)",
|
|
2519
|
+
"rebalanceRecommendation": "Considere rebalanceamento de projetos",
|
|
2520
|
+
"categories": {
|
|
2521
|
+
"overUtilized": "Sobre-utilizado",
|
|
2522
|
+
"wellUtilized": "Bem utilizado",
|
|
2523
|
+
"underUtilized": "Sub-utilizado",
|
|
2524
|
+
"idle": "Inativo"
|
|
2525
|
+
}
|
|
2526
|
+
},
|
|
2527
|
+
"CapacityDistribution": {
|
|
2528
|
+
"empty": "Nenhuma área com capacidade",
|
|
2529
|
+
"total": "Capacidade Total"
|
|
2530
|
+
},
|
|
2531
|
+
"EffortByProject": {
|
|
2532
|
+
"empty": "Nenhum projeto com esforço",
|
|
2533
|
+
"total": "Esforço Total"
|
|
2534
|
+
},
|
|
2535
|
+
"HeadcountByArea": {
|
|
2536
|
+
"empty": "Nenhuma área com colaboradores",
|
|
2537
|
+
"totalCollaborators": "Total de Colaboradores"
|
|
2538
|
+
},
|
|
2539
|
+
"ManagedProjectsStatus": {
|
|
2540
|
+
"title": "Saúde dos Projetos",
|
|
2541
|
+
"onSchedule": "No Prazo",
|
|
2542
|
+
"atRisk": "Em Risco",
|
|
2543
|
+
"delayed": "Atrasado",
|
|
2544
|
+
"done": "Concluído",
|
|
2545
|
+
"distribution": "Distribuição",
|
|
2546
|
+
"supervision": "projetos sob supervisão"
|
|
2547
|
+
},
|
|
2548
|
+
"MyProjectAllocationsKpi": {
|
|
2549
|
+
"activeProjects": "Projetos ativos",
|
|
2550
|
+
"capacity": "Capacidade"
|
|
2551
|
+
},
|
|
2552
|
+
"MyRelevantDeadlines": {
|
|
2553
|
+
"empty": "Nenhum prazo crítico",
|
|
2554
|
+
"overdue": "Vencido"
|
|
2555
|
+
},
|
|
2556
|
+
"PortfolioCostsKpi": {
|
|
2557
|
+
"label": "Custos Totais",
|
|
2558
|
+
"trend": "Tendência",
|
|
2559
|
+
"decreasing": "Reduzindo",
|
|
2560
|
+
"increasing": "Aumentando",
|
|
2561
|
+
"stable": "Estável",
|
|
2562
|
+
"budgetUtilization": "Utilização do Orçamento",
|
|
2563
|
+
"spent": "R$ {value}k gasto",
|
|
2564
|
+
"budgeted": "R$ {value}k orçado",
|
|
2565
|
+
"savings": "Economias"
|
|
2566
|
+
},
|
|
2567
|
+
"PortfolioEffortKpi": {
|
|
2568
|
+
"label": "Esforço Total",
|
|
2569
|
+
"available": "Disponível",
|
|
2570
|
+
"utilizationRate": "Taxa de Utilização",
|
|
2571
|
+
"allocated": "Alocado",
|
|
2572
|
+
"highDemand": "⚠️ Portfólio com alta demanda",
|
|
2573
|
+
"balanced": "✓ Utilização equilibrada",
|
|
2574
|
+
"availableCapacity": "📊 Capacidade disponível"
|
|
2575
|
+
},
|
|
2576
|
+
"PortfolioRiskKpi": {
|
|
2577
|
+
"label": "Riscos Identificados",
|
|
2578
|
+
"trendLabel": "Tendência:",
|
|
2579
|
+
"increasing": "📈 Aumentando",
|
|
2580
|
+
"decreasing": "📉 Reduzindo",
|
|
2581
|
+
"stable": "➡️ Estável",
|
|
2582
|
+
"critical": "🔴 Crítico",
|
|
2583
|
+
"high": "🟠 Alto",
|
|
2584
|
+
"medium": "🟡 Médio",
|
|
2585
|
+
"urgentAttention": "⚠️ Requer atenção imediata"
|
|
2586
|
+
},
|
|
2587
|
+
"StrategicDeadlines": {
|
|
2588
|
+
"empty": "Nenhum prazo crítico"
|
|
2589
|
+
},
|
|
2590
|
+
"TeamApprovalQueue": {
|
|
2591
|
+
"typeLabels": {
|
|
2592
|
+
"timesheet": "Timesheet",
|
|
2593
|
+
"expense": "Despesa",
|
|
2594
|
+
"vacation": "Férias",
|
|
2595
|
+
"schedule": "Ajuste"
|
|
2596
|
+
},
|
|
2597
|
+
"empty": "Fila de aprovações vazia"
|
|
2598
|
+
},
|
|
2599
|
+
"TeamCapacityKpi": {
|
|
2600
|
+
"available": "Disponível",
|
|
2601
|
+
"critical": "Crítica",
|
|
2602
|
+
"high": "Alta",
|
|
2603
|
+
"great": "Ótima",
|
|
2604
|
+
"normal": "Normal",
|
|
2605
|
+
"utilization": "Utilização",
|
|
2606
|
+
"allocated": "{hours}h alocado",
|
|
2607
|
+
"total": "{hours}h total",
|
|
2608
|
+
"status": "Status"
|
|
2609
|
+
},
|
|
2610
|
+
"TeamHoursKpi": {
|
|
2611
|
+
"averagePerPerson": "Média/Pessoa",
|
|
2612
|
+
"goalVariation": "Variação da Meta",
|
|
2613
|
+
"registeredHours": "Horas Registradas",
|
|
2614
|
+
"registered": "{hours}h registrado",
|
|
2615
|
+
"goal": "{hours}h meta",
|
|
2616
|
+
"collaborators": "Colaboradores"
|
|
2617
|
+
},
|
|
2618
|
+
"TeamPendingApprovalsKpi": {
|
|
2619
|
+
"label": "Aguardando Aprovação",
|
|
2620
|
+
"requests": "Solicitações",
|
|
2621
|
+
"urgent": "Urgentes:",
|
|
2622
|
+
"avgTime": "Tempo médio:",
|
|
2623
|
+
"days": "{count} dias"
|
|
2624
|
+
},
|
|
2625
|
+
"TeamWorkloadAlerts": {
|
|
2626
|
+
"empty": "Nenhum alerta crítico",
|
|
2627
|
+
"lastUpdated": "Última atualização: há 5 min"
|
|
2342
2628
|
}
|
|
2343
2629
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import SharedOperationsWidget from './operations.shared-operations-widget';
|
|
4
|
+
|
|
5
|
+
interface WidgetLayoutLike {
|
|
6
|
+
name?: string;
|
|
7
|
+
slug?: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface OperationsWidgetProps {
|
|
11
|
+
widget?: WidgetLayoutLike;
|
|
12
|
+
onRemove?: () => void;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default function OperationsWidget(props: OperationsWidgetProps) {
|
|
16
|
+
return <SharedOperationsWidget {...props} slug='capacity-distribution' />;
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import SharedOperationsWidget from './operations.shared-operations-widget';
|
|
4
|
+
|
|
5
|
+
interface WidgetLayoutLike {
|
|
6
|
+
name?: string;
|
|
7
|
+
slug?: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface OperationsWidgetProps {
|
|
11
|
+
widget?: WidgetLayoutLike;
|
|
12
|
+
onRemove?: () => void;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default function OperationsWidget(props: OperationsWidgetProps) {
|
|
16
|
+
return <SharedOperationsWidget {...props} slug='effort-by-project' />;
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import SharedOperationsWidget from './operations.shared-operations-widget';
|
|
4
|
+
|
|
5
|
+
interface WidgetLayoutLike {
|
|
6
|
+
name?: string;
|
|
7
|
+
slug?: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface OperationsWidgetProps {
|
|
11
|
+
widget?: WidgetLayoutLike;
|
|
12
|
+
onRemove?: () => void;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default function OperationsWidget(props: OperationsWidgetProps) {
|
|
16
|
+
return <SharedOperationsWidget {...props} slug='headcount-by-area' />;
|
|
17
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export { default as MyHoursPeriodKpi } from './operations.my-hours-period-kpi';
|
|
2
|
+
export { default as MyTimesheetStatusKpi } from './operations.my-timesheet-status-kpi';
|
|
3
|
+
export { default as MyProjectAllocationsKpi } from './operations.my-project-allocations-kpi';
|
|
4
|
+
export { default as MyOpenRequestsKpi } from './operations.my-open-requests-kpi';
|
|
5
|
+
export { default as MyWeeklyJourney } from './operations.my-weekly-journey';
|
|
6
|
+
export { default as MyRelevantDeadlines } from './operations.my-relevant-deadlines';
|
|
7
|
+
export { default as MyPendingRequestsList } from './operations.my-pending-requests-list';
|
|
8
|
+
export { default as MyQuickActions } from './operations.my-quick-actions';
|
|
9
|
+
export { default as TeamHeadcountKpi } from './operations.team-headcount-kpi';
|
|
10
|
+
export { default as TeamPendingApprovalsKpi } from './operations.team-pending-approvals-kpi';
|
|
11
|
+
export { default as TeamHoursKpi } from './operations.team-hours-kpi';
|
|
12
|
+
export { default as TeamCapacityKpi } from './operations.team-capacity-kpi';
|
|
13
|
+
export { default as TeamUtilizationOverview } from './operations.team-utilization-overview';
|
|
14
|
+
export { default as TeamWorkloadAlerts } from './operations.team-workload-alerts';
|
|
15
|
+
export { default as ManagedProjectsStatus } from './operations.managed-projects-status';
|
|
16
|
+
export { default as TeamApprovalQueue } from './operations.team-approval-queue';
|
|
17
|
+
export { default as PortfolioProjectsKpi } from './operations.portfolio-projects-kpi';
|
|
18
|
+
export { default as PortfolioCostsKpi } from './operations.portfolio-costs-kpi';
|
|
19
|
+
export { default as PortfolioEffortKpi } from './operations.portfolio-effort-kpi';
|
|
20
|
+
export { default as PortfolioRiskKpi } from './operations.portfolio-risk-kpi';
|
|
21
|
+
export { default as ProjectStatusOverview } from './operations.project-status-overview';
|
|
22
|
+
export { default as EffortByProject } from './operations.effort-by-project';
|
|
23
|
+
export { default as CapacityDistribution } from './operations.capacity-distribution';
|
|
24
|
+
export { default as HeadcountByArea } from './operations.headcount-by-area';
|
|
25
|
+
export { default as StrategicDeadlines } from './operations.strategic-deadlines';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import SharedOperationsWidget from './operations.shared-operations-widget';
|
|
4
|
+
|
|
5
|
+
interface WidgetLayoutLike {
|
|
6
|
+
name?: string;
|
|
7
|
+
slug?: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface OperationsWidgetProps {
|
|
11
|
+
widget?: WidgetLayoutLike;
|
|
12
|
+
onRemove?: () => void;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default function OperationsWidget(props: OperationsWidgetProps) {
|
|
16
|
+
return <SharedOperationsWidget {...props} slug='managed-projects-status' />;
|
|
17
|
+
}
|