Fix UI Quotes
All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (push) Successful in 6m30s
All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (push) Successful in 6m30s
This commit is contained in:
parent
c2bd8247a1
commit
a462e1791c
@ -7,12 +7,14 @@
|
|||||||
@inject QuoteService quoteService
|
@inject QuoteService quoteService
|
||||||
@inject IToastService toastService
|
@inject IToastService toastService
|
||||||
|
|
||||||
<div class="card" style="zoom:80%">
|
<div class="card shadow-sm mb-3" style="zoom: 0.8;">
|
||||||
<div class="card-header d-flex justify-content-center align-items-center">
|
<div class="card-header py-2">
|
||||||
|
<div class="d-flex justify-content-center align-items-center">
|
||||||
<h3 class="card-title m-0">Consulta de Presupuestos</h3>
|
<h3 class="card-title m-0">Consulta de Presupuestos</h3>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<!-- BODY -->
|
<!-- BODY -->
|
||||||
<div class="card-body px-4">
|
<div class="card-body">
|
||||||
<!-- FILTROS -->
|
<!-- FILTROS -->
|
||||||
<div class="mb-3 row g-2 align-items-end">
|
<div class="mb-3 row g-2 align-items-end">
|
||||||
<div class="col-sm">
|
<div class="col-sm">
|
||||||
@ -55,7 +57,7 @@
|
|||||||
<label for="dateto">Hasta</label>
|
<label for="dateto">Hasta</label>
|
||||||
<InputDate id="dateto" @bind-Value="Filters.IssueDateTo" class="form-control form-control-sm" />
|
<InputDate id="dateto" @bind-Value="Filters.IssueDateTo" class="form-control form-control-sm" />
|
||||||
</div>
|
</div>
|
||||||
<div class="col-auto">
|
<div class="d-flex justify-content-end gap-2 mt-3">
|
||||||
<button class="btn btn-primary btn-sm rounded-pill" @onclick="Search">
|
<button class="btn btn-primary btn-sm rounded-pill" @onclick="Search">
|
||||||
<i class="fas fa-binoculars me-1"></i> Buscar
|
<i class="fas fa-binoculars me-1"></i> Buscar
|
||||||
</button>
|
</button>
|
||||||
@ -67,13 +69,13 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr />
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card shadow-sm" style="zoom:0.8;">
|
||||||
|
<div class="table-responsive">
|
||||||
<!-- TABLA DE RESULTADOS -->
|
<!-- TABLA DE RESULTADOS -->
|
||||||
@if (PagedQuotes?.Items?.Any() == true)
|
<table class="table table-sm align-middle mb-0">
|
||||||
{
|
<thead class="table-light">
|
||||||
<table class="table table-sm table-hover" style="zoom:0.9;">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
<tr>
|
||||||
<th>Quotenumber</th>
|
<th>Quotenumber</th>
|
||||||
<th>Emisión</th>
|
<th>Emisión</th>
|
||||||
@ -91,6 +93,8 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
@if (PagedQuotes?.Items?.Any() == true)
|
||||||
|
{
|
||||||
@foreach (var quote in PagedQuotes.Items)
|
@foreach (var quote in PagedQuotes.Items)
|
||||||
{
|
{
|
||||||
<tr class="text-center">
|
<tr class="text-center">
|
||||||
@ -122,10 +126,53 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else if (IsLoading)
|
||||||
|
{
|
||||||
|
<tr><td colspan="13" class="text-center text-muted py-4">Cargando...</td></tr>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<tr><td colspan="13" class="text-center text-muted py-4">Sin resultados</td></tr>
|
||||||
|
}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@if (SelectedQuote != null)
|
</div>
|
||||||
{
|
<!-- Paginación debajo -->
|
||||||
|
<div class="d-flex justify-content-between align-items-center px-3 py-2 border-top">
|
||||||
|
<div class="btn-group align-items-center">
|
||||||
|
<button class="btn btn-outline-secondary btn-sm rounded-pill" @onclick="PrimeraPagina" disabled="@(Filters.Page == 1)">
|
||||||
|
<i class="fas fa-angle-double-left me-1"></i> Primera
|
||||||
|
</button>
|
||||||
|
<button class="btn btn-outline-secondary btn-sm rounded-pill" @onclick="AnteriorPagina" disabled="@(!PuedeRetroceder)">
|
||||||
|
<i class="fas fa-chevron-left me-1"></i> Anterior
|
||||||
|
</button>
|
||||||
|
<span class="mx-2">
|
||||||
|
Página <strong>@Filters.Page</strong> de <strong>@TotalPaginas</strong>
|
||||||
|
</span>
|
||||||
|
<button class="btn btn-outline-secondary btn-sm rounded-pill" @onclick="SiguientePagina" disabled="@(!PuedeAvanzar)">
|
||||||
|
Siguiente <i class="fas fa-chevron-right ms-1"></i>
|
||||||
|
</button>
|
||||||
|
<button class="btn btn-outline-secondary btn-sm rounded-pill" @onclick="UltimaPagina" disabled="@(Filters.Page == TotalPaginas)">
|
||||||
|
Última <i class="fas fa-angle-double-right ms-1"></i>
|
||||||
|
</button>
|
||||||
|
<div class="d-flex align-items-center ms-3">
|
||||||
|
<input type="number"
|
||||||
|
class="form-control form-control-sm rounded"
|
||||||
|
style="width: 80px;"
|
||||||
|
min="1"
|
||||||
|
max="@TotalPaginas"
|
||||||
|
@bind="PaginaDeseada" />
|
||||||
|
</div>
|
||||||
|
<button class="btn btn-outline-secondary btn-sm rounded-pill" @onclick="IrAPagina">
|
||||||
|
<i class="fas fa-arrow-right-to-bracket me-1"></i> Ir
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@if (SelectedQuote != null)
|
||||||
|
{
|
||||||
<!-- BACKDROP semitransparente -->
|
<!-- BACKDROP semitransparente -->
|
||||||
<div class="position-fixed top-0 start-0 w-100 h-100" style="background: rgba(0,0,0,0.4);"></div>
|
<div class="position-fixed top-0 start-0 w-100 h-100" style="background: rgba(0,0,0,0.4);"></div>
|
||||||
<!-- DRAWER LATERAL -->
|
<!-- DRAWER LATERAL -->
|
||||||
@ -244,50 +291,8 @@
|
|||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else if (IsLoading)
|
|
||||||
{
|
|
||||||
<p>Cargando...</p>
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
<p>No hay resultados.</p>
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- FOOTER: PAGINACIÓN -->
|
|
||||||
<div class="card-footer d-flex justify-content-center align-items-center" style="zoom:80%;">
|
|
||||||
<div class="d-flex align-items-center gap-3">
|
|
||||||
<button class="btn btn-secondary btn-sm rounded-pill" @onclick="PrimeraPagina" disabled="@(Filters.Page == 1)">
|
|
||||||
<i class="fas fa-angle-double-left me-1"></i> Primera
|
|
||||||
</button>
|
|
||||||
<button class="btn btn-secondary btn-sm rounded-pill" @onclick="AnteriorPagina" disabled="@(!PuedeRetroceder)">
|
|
||||||
<i class="fas fa-chevron-left me-1"></i> Anterior
|
|
||||||
</button>
|
|
||||||
<span class="mx-2">
|
|
||||||
Página <strong>@Filters.Page</strong> de <strong>@TotalPaginas</strong>
|
|
||||||
</span>
|
|
||||||
<button class="btn btn-secondary btn-sm rounded-pill" @onclick="SiguientePagina" disabled="@(!PuedeAvanzar)">
|
|
||||||
Siguiente <i class="fas fa-chevron-right ms-1"></i>
|
|
||||||
</button>
|
|
||||||
<button class="btn btn-secondary btn-sm rounded-pill" @onclick="UltimaPagina" disabled="@(Filters.Page == TotalPaginas)">
|
|
||||||
Última <i class="fas fa-angle-double-right ms-1"></i>
|
|
||||||
</button>
|
|
||||||
<div class="d-flex align-items-center ms-3">
|
|
||||||
<input type="number"
|
|
||||||
class="form-control form-control-sm rounded"
|
|
||||||
style="width: 80px;"
|
|
||||||
min="1"
|
|
||||||
max="@TotalPaginas"
|
|
||||||
@bind="PaginaDeseada" />
|
|
||||||
<button class="btn btn-outline-primary btn-sm ms-2 rounded-pill" @onclick="IrAPagina">
|
|
||||||
<i class="fas fa-arrow-right-to-bracket me-1"></i> Ir
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
private QuoteSearchParams Filters = new() { PageSize = 9 };
|
private QuoteSearchParams Filters = new() { PageSize = 9 };
|
||||||
|
|||||||
@ -129,7 +129,7 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<tr><td colspan="6" class="text-center text-muted py-4">Sin resultados</td></tr>
|
<tr><td colspan="9" class="text-center text-muted py-4">Sin resultados</td></tr>
|
||||||
}
|
}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user