feat(reportes): módulo de Reportes con 10 reportes, filtros y descarga Excel
This commit is contained in:
@@ -1,18 +1,23 @@
|
||||
import { useEffect, useState } from 'react'
|
||||
import MiTablero from '../components/MiTablero'
|
||||
import TableroGeneral from '../components/TableroGeneral'
|
||||
import Reportes from '../components/Reportes'
|
||||
import type { AccionesTablero } from '../components/comunes'
|
||||
import { esRolConEquipo } from '../lib/mi-tablero'
|
||||
import { getMe, getSesion } from '../services/auth'
|
||||
import DarkModeToggle from '../components/DarkModeToggle'
|
||||
|
||||
type Vista = 'mia' | 'general'
|
||||
type Vista = 'mia' | 'general' | 'reportes'
|
||||
|
||||
const VISTAS: { id: Vista; etiqueta: string; clave: string }[] = [
|
||||
{ id: 'mia', etiqueta: 'Mi tablero', clave: 'mi-tablero' },
|
||||
{ id: 'general', etiqueta: 'Tablero comercial', clave: 'tablero-comercial' },
|
||||
{ id: 'reportes', etiqueta: 'Reportes', clave: 'reportes' },
|
||||
]
|
||||
|
||||
/** Roles que ven el módulo de Reportes (datos de todos los vendedores) */
|
||||
const ROLES_REPORTES = ['admin', 'director_ventas', 'direccion_general']
|
||||
|
||||
/**
|
||||
* Tableros con vista por rol: cada tab se muestra solo si el módulo está
|
||||
* permitido en la matriz de roles del API (GET /auth/me → modulos). Con un
|
||||
@@ -34,7 +39,11 @@ export default function DashboardPage() {
|
||||
.catch(() => {}) // si /me falla se mantiene lo que hubiera
|
||||
}, [])
|
||||
|
||||
const permitidas = VISTAS.filter((v) => permitidos === null || permitidos.includes(v.clave))
|
||||
const permitidas = VISTAS.filter((v) => {
|
||||
// Reportes: por rol (los datos son de todos los vendedores)
|
||||
if (v.id === 'reportes') return ROLES_REPORTES.includes(rol)
|
||||
return permitidos === null || permitidos.includes(v.clave)
|
||||
})
|
||||
const vista: Vista | null =
|
||||
permitidas.length === 0
|
||||
? null
|
||||
@@ -103,6 +112,8 @@ export default function DashboardPage() {
|
||||
</main>
|
||||
) : vista === 'mia' ? (
|
||||
<MiTablero alCambiarAcciones={setAcciones} />
|
||||
) : vista === 'reportes' ? (
|
||||
<Reportes />
|
||||
) : (
|
||||
<TableroGeneral mostrarEquipo={conEquipo} alCambiarAcciones={setAcciones} />
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user