Commit graph

6 commits

Author SHA1 Message Date
Cursor Agent
1e1c3b21b8
Agrupar el menú principal y acercar el ribbon al mockup.
El menú queda en una sola fila con iconos, desplegables por módulo y
sin wrap; el ribbon se compacta como tarjeta de acciones.

Co-authored-by: alberto.martinez <alberto.martinez@mrdev.mx>
2026-09-08 16:41:33 +00:00
Cursor Agent
1f85b44e80
fix(web-panel): unwrap API envelope post-login and improve error screen
- Normalize RPC responses in useApi so legacy pages receive flat shapes
- Harden dashboard index.vue against undefined arrays and load failures
- Redesign Nuxt error boundary with Oops message, error code, and retry

Co-authored-by: alberto.martinez <alberto.martinez@mrdev.mx>
2026-09-04 06:56:25 +00:00
Cursor Agent
ab89727522
feat: gastos, almacén central/obra y control presupuestal
Implementa el módulo integral de costos según el plan acordado:

- Esquema Liquibase: expense_entries, almacén (central + obra), IVA,
  tenant_cost_settings, permisos IAM y RLS
- Funciones RPC core: gastos, almacén, control presupuestal, sync nómina,
  cierre de almacén al concluir proyecto
- API HTTP: expenses_http, warehouse_http, cost_control_http, iam_http
- Middleware requirePermission con matriz IAM
- UI web-panel: /gastos, /almacen, /control-presupuesto, /usuarios
- Componentes BudgetItemPicker, CostSemaphore y semáforos CSS
- Smoke tests extendidos para gastos/almacén/control

Co-authored-by: alberto.martinez <alberto.martinez@mrdev.mx>
2026-09-04 04:04:17 +00:00
97c66282bf Ajustes para nomina y dashboard 2026-08-26 19:02:41 -05:00
085366c287 Nominas 2026-08-25 20:21:49 -05:00
70d89609f4 first commit 2026-08-21 16:55:01 -05:00