fix(pdf): fix storage volume permissions blocking PDF generation
Named volume mounted root-owned over the app user's chown, so every PDF (orçamento, fatura, download) failed with 500. Entrypoint now fixes ownership on container start and drops to the app user. feat(dashboard): decouple pipeline state from period filter Status counts and recent OTs no longer disappear when an open order was created before the selected period window. feat(workorders): add vehicle/total columns, deadline urgency colors, on-time delivery saldo and efficiency metric, plate search Expose completed_at from wo_status_log so the frontend can compare actual completion date against the deadline. Add "Eficiência de Entrega" metric to Dashboard and Reports. feat(reports): add dedicated vehicle service history report New page with per-vehicle summary (OT count, total spent, last visit) and full itemized service history with print output. chore: relabel OT status "Concluir OT" -> "Concluída" and "Iniciar Trabalho" -> "Em Progresso" (action buttons unchanged) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -14,6 +14,7 @@ import ExpensesPage from '@/pages/app/ExpensesPage'
|
||||
import SettingsPage from '@/pages/app/SettingsPage'
|
||||
import InvoicesPage from '@/pages/app/InvoicesPage'
|
||||
import ReportsPage from '@/pages/app/ReportsPage'
|
||||
import VehicleReportsPage from '@/pages/app/VehicleReportsPage'
|
||||
import ExpenseReportsPage from '@/pages/app/ExpenseReportsPage'
|
||||
import TechnicianReportsPage from '@/pages/app/TechnicianReportsPage'
|
||||
import HelpPage from '@/pages/app/HelpPage'
|
||||
@@ -81,6 +82,7 @@ export default function App() {
|
||||
<Route path="expenses" element={<ExpensesPage />} />
|
||||
<Route path="invoices" element={<InvoicesPage />} />
|
||||
<Route path="reports" element={<ReportsPage />} />
|
||||
<Route path="reports/vehicles" element={<VehicleReportsPage />} />
|
||||
<Route path="reports/expenses" element={<ExpenseReportsPage />} />
|
||||
<Route path="reports/technicians" element={<TechnicianReportsPage />} />
|
||||
<Route path="settings" element={<SettingsPage />} />
|
||||
|
||||
Reference in New Issue
Block a user