Nota de horas: datos de pago (bancarios) + periodo en el nombre del archivo

- Las notas "por pagar" ahora incluyen los datos bancarios de cobro configurados
  (Transferencia Nacional/Internacional: cuenta, CLABE, beneficiario, RFC, banco, SWIFT),
  igual que el PDF de cotizacion. Solo se muestran en las notas por pagar.
- El nombre del PDF incluye el periodo cobrado (fecha minima a maxima de los registros),
  formato DD-MM-YYYY_DD-MM-YYYY. Ej: "Nota de horas por pagar UJ2606AG777 - 24-06-2026_24-06-2026".

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This commit is contained in:
urieljareth
2026-07-08 12:46:35 -06:00
co-authored by Claude Opus 4.8
parent feb88de203
commit 3824dd00be
3 changed files with 87 additions and 4 deletions
@@ -271,10 +271,17 @@ export function RegistroHorasPanel({
return;
}
const blob = await res.blob();
// Periodo cobrado para el nombre: fecha minima_maxima de los registros de la nota.
const fechas = filtrados.map((r) => r.fecha.slice(0, 10)).sort();
const dd = (iso: string) => {
const [y, mo, d] = iso.split("-");
return `${d}-${mo}-${y}`;
};
const rango = fechas.length ? `${dd(fechas[0])}_${dd(fechas[fechas.length - 1])}` : "";
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = `${TITULO_NOTA[estadoFiltro]} ${numero}.pdf`;
a.download = `${TITULO_NOTA[estadoFiltro]} ${numero}${rango ? ` - ${rango}` : ""}.pdf`;
document.body.appendChild(a);
a.click();
a.remove();