Files
HerramientaCASA/HerramientaCASA/Components/Pages/Imprimir/LicitacionesCASAImprimir.razor
2025-09-02 11:23:07 +02:00

209 lines
9.9 KiB
Plaintext

<div id="LicitacionesCASAImprimir" class="d-flex flex-column align-items-center">
<div class="col-12 mx-auto mb-5">
<div class="mt-4 mb-4 col-11 mx-auto justify-content-center d-flex">
<label style="color: #078b98 !important"><b>Licitaciones Edificación</b></label>
</div>
<div class="col-11 mx-auto" style="align-items: flex-end;">
<div style="height: 49px;">
<b>Usos/Tipologías</b>
</div>
<div class="table-responsive">
<table class="table tablaCACOA tablaCACOA2 mb-0">
<thead>
<tr>
<th class="colorB fw-bold">Superficie</th>
<th class="colorB fw-bold">Usos</th>
<th class="colorB fw-bold">Tipología</th>
<th class="colorB fw-bold">Intervención</th>
</tr>
</thead>
<tbody>
@if (objetoLicitaciones.Usos.Count != 0)
{
@foreach (var uso in objetoLicitaciones.Usos)
{
<tr>
<td class="text-end">@uso.superficie.MilesYDecimales()</td>
<td>@objetoLicitaciones.Enumerados.GruposTipologias?.FirstOrDefault(x => x.idEnumeracion == uso.idGrupoTipologia)?.ValorAlfabetico1</td>
<td>@objetoLicitaciones.Enumerados.Tipologias?.FirstOrDefault(x => x.idTipologia == uso.idTipologia)?.Descripcion</td>
<td>@objetoLicitaciones.Enumerados.Intervenciones?.FirstOrDefault(x => x.idEnumeracion == uso.idTipoIntervencion)?.ValorAlfabetico1</td>
</tr>
}
}
else
{
<tr>
<td colspan="4" class="text-center">No hay registros</td>
</tr>
}
</tbody>
<tfoot>
<tr>
<td colspan="4" class="text-end fw-bold colorC TotalesTabla">
<div style="height:28px; align-content:center;">
Total superficie: <span> @objetoLicitaciones.Usos.Sum(x => x.superficie).MilesYDecimales()</span>
</div>
</td>
</tr>
</tfoot>
</table>
</div>
</div>
<div class="col-11 mx-auto" style="align-items: flex-end;">
<div style="height: 49px;">
<b>Fases</b>
</div>
<div class="table-responsive">
<table class="table tablaCACOA tablaCACOA2 mb-0">
<thead>
<tr>
<th class="colorB fw-bold">Fases</th>
<th class="colorB fw-bold"></th>
</tr>
</thead>
<tbody>
@foreach (var fase in objetoLicitaciones.FasesTrabajo)
{
<tr>
<td>@fase.Denominacion</td>
<td class="text-end">
<div>
<span style="margin-right:5px;">@fase.Porcentaje</span>
@if (fase.Seleccionado)
{
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-check-square" viewBox="0 0 16 16">
<path d="M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z" />
<path d="M10.97 4.97a.75.75 0 0 1 1.071 1.05l-3.992 4.99a.75.75 0 0 1-1.08.02L4.324 8.384a.75.75 0 1 1 1.06-1.06l2.094 2.093 3.473-4.425z" />
</svg>
}
else
{
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-square" viewBox="0 0 16 16">
<path d="M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z" />
</svg>
}
</div>
</td>
</tr>
}
</tbody>
<tfoot>
<tr>
<td colspan="2" class="text-end fw-bold colorC TotalesTabla">
<div class="d-flex justify-content-end">
<div style="align-self: center;">
@if (objetoLicitaciones.FasesTrabajo
.Where(f => f.Seleccionado)
.Sum(f => f.Porcentaje) != 100)
{
<div>
Trabajo en misión parcial: <span>
@objetoLicitaciones.FasesTrabajo.Where(f => f.Seleccionado).Sum(f => f.Porcentaje) %
</span>
</div>
}
else
{
<div>
Total: <span>
@objetoLicitaciones.FasesTrabajo.Where(f => f.Seleccionado).Sum(f => f.Porcentaje) %
</span>
</div>
}
</div>
</div>
</td>
</tr>
</tfoot>
</table>
</div>
</div>
<div class="col-11 mx-auto" style="align-items: flex-end;">
<div style="height: 49px;">
<b>Costes de producción</b>
</div>
<div class="table-responsive">
<table class="table tablaCACOA tablaCACOA2 mb-0">
<thead>
<tr>
<th class="colorB fw-bold" style="width:60%">Concepto</th>
<th class="colorB fw-bold"></th>
</tr>
</thead>
<tbody>
<tr>
<td>Plazo de presentación de la documentación</td>
<td class="text-end">@objetoLicitaciones.PlazoPresentacionDocumentos meses</td>
</tr>
<tr>
<td>Coste hora de producción</td>
<td class="text-end"><span>@objetoLicitaciones.costeHoraProduccion.MilesYDecimales() €/h</span> </td>
</tr>
<tr>
<td>Horas trabajo profesional</td>
<td class="text-end"><span>@objetoLicitaciones.horasProduccion.MilesYDecimales() h</span> </td>
</tr>
<tr>
<td class="tdAlter fw-bold w4">COSTE DE PRODUCCIÓN DEL TRABAJO PROFESIONAL</td>
<td class="text-end"><span> @objetoLicitaciones.CostesProduccionTrabProf.MilesYDecimales() €</span></td>
</tr>
<tr>
<td class="TotalesTabla colorB w4">
G.G. + B.I.
<span class="fw-normal" style="font-size:10px;">(40/19 Junta Consultiva de Contratación Pública del Estado)</span>
</td>
<td class="TotalesTabla text-end" style="align-content:center;">
<div class="d-flex" style="justify-content: end; gap:3px;">
@objetoLicitaciones.Beneficio %
</div>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2" class="text-end fw-bold TotalesTabla tablaCACOA">
Precio del trabajo profesional: <span>@objetoLicitaciones.PrecioTrabProf.MilesYDecimales() € </span>
</td>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
</div>
@code {
[Parameter]
public LICITACIONES objetoLicitaciones { get; set; } = new LICITACIONES();
public tsHerramientasCACOA bd;
protected override async Task OnInitializedAsync()
{
bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: false);
}
public void RefreshState()
{
this.StateHasChanged();
}
}