Files
RS_System/RS_system/Views/Colaboracion/Reportes.cshtml
2026-02-01 14:28:17 -06:00

119 lines
4.2 KiB
Plaintext

@{
ViewData["Title"] = "Reportes de Colaboraciones";
}
<div class="d-flex justify-content-between align-items-center mb-4">
<div>
<h4 class="mb-1">Reportes de Colaboraciones</h4>
<p class="text-muted mb-0">Generar reportes por rango de fechas</p>
</div>
<a asp-action="Index" class="btn btn-outline-secondary">
<i class="bi bi-arrow-left me-1"></i> Volver
</a>
</div>
<div class="card-custom">
<form asp-action="GenerarReporte" method="post">
<div class="row mb-4">
<div class="col-md-4">
<label for="fechaInicio" class="form-label">Fecha Inicio</label>
<input type="date"
class="form-control"
id="fechaInicio"
name="fechaInicio"
value="@ViewBag.FechaInicio?.ToString("yyyy-MM-dd")"
required />
</div>
<div class="col-md-4">
<label for="fechaFin" class="form-label">Fecha Fin</label>
<input type="date"
class="form-control"
id="fechaFin"
name="fechaFin"
value="@ViewBag.FechaFin?.ToString("yyyy-MM-dd")"
required />
</div>
<div class="col-md-4">
<label class="form-label">&nbsp;</label>
<button type="submit" class="btn btn-primary-custom w-100">
<i class="bi bi-search me-1"></i> Generar Reporte
</button>
</div>
</div>
</form>
<!-- Acceso rápido -->
<div class="row">
<div class="col-12">
<h6 class="text-muted mb-3">Accesos Rápidos</h6>
</div>
<div class="col-md-3 mb-2">
<button class="btn btn-outline-primary w-100" onclick="reporteHoy()">
<i class="bi bi-calendar-day me-1"></i> Hoy
</button>
</div>
<div class="col-md-3 mb-2">
<button class="btn btn-outline-primary w-100" onclick="reporteSemana()">
<i class="bi bi-calendar-week me-1"></i> Esta Semana
</button>
</div>
<div class="col-md-3 mb-2">
<button class="btn btn-outline-primary w-100" onclick="reporteMes()">
<i class="bi bi-calendar-month me-1"></i> Este Mes
</button>
</div>
<div class="col-md-3 mb-2">
<button class="btn btn-outline-primary w-100" onclick="reporteAnio()">
<i class="bi bi-calendar3 me-1"></i> Este Año
</button>
</div>
</div>
</div>
@section Scripts {
<script>
function setFechas(inicio, fin) {
document.getElementById('fechaInicio').value = inicio;
document.getElementById('fechaFin').value = fin;
}
function reporteHoy() {
const hoy = new Date().toISOString().split('T')[0];
setFechas(hoy, hoy);
}
function reporteSemana() {
const hoy = new Date();
const inicioSemana = new Date(hoy);
inicioSemana.setDate(hoy.getDate() - hoy.getDay());
const finSemana = new Date(inicioSemana);
finSemana.setDate(inicioSemana.getDate() + 6);
setFechas(inicioSemana.toISOString().split('T')[0], finSemana.toISOString().split('T')[0]);
}
function reporteMes() {
const hoy = new Date();
const inicio = new Date(hoy.getFullYear(), hoy.getMonth(), 1);
const fin = new Date(hoy.getFullYear(), hoy.getMonth() + 1, 0);
setFechas(inicio.toISOString().split('T')[0], fin.toISOString().split('T')[0]);
}
function reporteAnio() {
const hoy = new Date();
const inicio = new Date(hoy.getFullYear(), 0, 1);
const fin = new Date(hoy.getFullYear(), 11, 31);
setFechas(inicio.toISOString().split('T')[0], fin.toISOString().split('T')[0]);
}
@if (TempData["Error"] != null)
{
<text>
toastr.error('@TempData["Error"]');
</text>
}
</script>
}