cambiado por "ultima vez" el módulo de impresión

This commit is contained in:
2025-09-10 10:35:52 +02:00
parent 692d880529
commit 029498c540
8 changed files with 181 additions and 155 deletions

View File

@@ -330,8 +330,8 @@
Format = PuppeteerSharp.Media.PaperFormat.A4,
MarginOptions = new PuppeteerSharp.Media.MarginOptions
{
Top = "17mm",
Bottom = "9mm",
Top = "18mm",
Bottom = "0mm",
},
DisplayHeaderFooter=true,
HeaderTemplate = @"

View File

@@ -1,4 +1,4 @@
<div id="DespachoImprimir" class="d-flex flex-column align-items-center">
<div id="DespachoImprimir" class="pagePrincipal d-flex flex-column align-items-center">
<div class="col-12 mx-auto mb-5">
@* ENCABEZADO DE LA PAGINA *@
<div class="EncabezadoImprimir">
@@ -16,11 +16,11 @@
@* TABLA COSTE HORA DESPACHO PROFESIONAL *@
<div class="col-8 mx-auto" style="align-items: flex-end; margin-bottom:30px;">
<div class="TituloTablaImprimir" style="height: 49px;">
<div class="TituloTablaImprimir">
<b>Coste hora Despacho Profesional</b>
</div>
<div class="table-responsive">
<div class="table-responsive espacioTablas">
<table class="TablaImprimir mb-0" style="width:100%;">
@@ -63,10 +63,10 @@
<div class="col-8 mx-auto">
<div class="TituloTablaImprimir" style="height: 49px;">
<div class="TituloTablaImprimir">
<b>Coste hora Externalización</b>
</div>
<div class="table-responsive">
<div class="table-responsive espacioTablas">
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
<tr>
@@ -102,10 +102,10 @@
@* TABLA USOS/TIPOLOGIAS *@
<div class="col-11 mx-auto" style="align-items: flex-end;">
<div class="TituloTablaImprimir" style="height: 49px;">
<div class="TituloTablaImprimir">
<b>Usos/Tipologías</b>
</div>
<div class="table-responsive">
<div class="table-responsive espacioTablas">
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
@@ -117,7 +117,7 @@
</tr>
</thead>
<tbody>
@if (objetoCASA.TrabajoProfesional.Usos.Count != 0)
@if (totalUsos != 0)
{
@foreach (var uso in objetoCASA.TrabajoProfesional.Usos)
{
@@ -149,9 +149,9 @@
</div>
</div>
<div class="col-10 mx-auto d-flex justify-content-center" style="align-items: flex-end; margin-top:100px;">
<div class="col-10 mx-auto d-flex justify-content-center" style="align-items: flex-end; margin-top:150px;">
<div class="col-md-10 row ">
<div class="TituloTablaImprimir" style="height: 49px;">
<div class="TituloTablaImprimir">
<b>Trabajo profesional</b>
</div>
@@ -212,7 +212,7 @@
@* TABLA COSTES ASOCIADOS A LOS SEVICIOS DE ARQUITECTURA *@
<div class="col-8 mx-auto mb-4">
<div class="TituloTablaImprimir" style="height: 49px;">
<div class="TituloTablaImprimir">
<b>Costes Asociados a los Servicios de Arquitectura</b>
</div>
@@ -251,10 +251,10 @@
{
<div class="col-8 mx-auto">
<div class="TituloTablaImprimir" style="height: 49px;">
<div class="TituloTablaImprimir" >
<b>Otros trabajos incluidos en el Encargo</b>
</div>
<div class="table-responsive">
<div class="table-responsive espacioTablas">
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
@@ -326,11 +326,15 @@
[Parameter]
public bdHerramientaCACOA.CASA objetoCASA { get; set; } = new bdHerramientaCACOA.CASA();
public int totalUsos = 0;
public tsHerramientasCACOA bd;
protected override async Task OnInitializedAsync()
{
bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: false);
totalUsos = objetoCASA.TrabajoProfesional.Usos.Count;
}
public void RefreshState()
{

View File

@@ -1,6 +1,6 @@
@using System.Globalization
@using bdHerramientaCACOA.HerramientaURBAN
<div id="DespachoURBANImprimir" class="d-flex flex-column align-items-center">
<div id="DespachoURBANImprimir" class="d-flex flex-column align-items-center pagePrincipal">
@* DESPACHO URBAN*@
<div class="col-12 mx-auto mb-5">
@* ENCABEZADO DE LA PAGINA *@
@@ -17,11 +17,11 @@
</div>
<div class="col-8 mx-auto" style="align-items: flex-end;">
<div class="TituloTablaImprimir" style="height: 49px;">
<div class="TituloTablaImprimir">
<b>Coste hora Despacho Profesional</b>
</div>
<div class="table-responsive">
<div class="table-responsive espacioTablas">
<table class="TablaImprimir mb-0" style="width:100%;">
@@ -61,10 +61,10 @@
</div>
<div class="col-8 mx-auto" style="margin-top:50px;">
<div class="TituloTablaImprimir" style="height: 49px;">
<div class="TituloTablaImprimir" >
<b>Coste hora Externalización</b>
</div>
<div class="table-responsive">
<div class="table-responsive espacioTablas">
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
<tr>
@@ -96,7 +96,7 @@
</div>
@* TRABAJAO PROFESIONAL *@
<div class="col-12 mx-auto mb-5">
<div class="@separacionTabla">
<div class="col-12 d-flex justify-content-center" style="gap:20px;">
<div class="formatoCampos pt-2" style="font-size:9pt;">
<label class="tituloLbl">Tipo de Documento:</label>
@@ -122,13 +122,13 @@
</div>
</div>
@* TABLAS DE DATOS MINIMOS Y OPCIONALES *@
<div class="col-11 mx-auto">
<div class="col-11 mx-auto" style="margin-top:200px;">
@* TABLA DE DATOS MINIMOS *@
<div class="TituloTablaImprimir" style="height: 49px; margin-top:50px;">
<div class="TituloTablaImprimir" style="margin-top:50px;">
<b>Documentación Mínima:</b>
</div>
<div class="table-responsive">
<div class="table-responsive espacioTablas">
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
<tr>
@@ -158,10 +158,10 @@
@* TABLA DE DATOS OPCIONALES *@
<div class="TituloTablaImprimir" style="height: 49px; margin-top:50px;">
<div class="TituloTablaImprimir" style="margin-top:50px;">
<b>Documentación Opcional:</b>
</div>
<div class="table-responsive">
<div class="table-responsive espacioTablas">
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
<tr>
@@ -209,10 +209,10 @@
</div>
@* TABLA DE DATOS NECESARIOS *@
<div class="col-11 mx-auto">
<div class="TituloTablaImprimir" style="height: 49px; margin-top:50px;">
<div class="TituloTablaImprimir" style="margin-top:50px;">
<b>Datos Necesarios:</b>
</div>
<div class="table-responsive">
<div class="table-responsive espacioTablas">
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
<tr>
@@ -245,10 +245,10 @@
@* TABLA FASES *@
<div class="col-11 mx-auto">
<div class="TituloTablaImprimir" style="height: 49px; margin-top:50px;">
<div class="TituloTablaImprimir" style=" margin-top:50px;">
<b>Fases:</b>
</div>
<div class="table-responsive">
<div class="table-responsive espacioTablas">
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
<tr>
@@ -333,11 +333,11 @@
</div>
@* PLAZOS Y HORAS *@
<div class="col-11 mx-auto mb-5" style="margin-top:250px;">
<div class="col-11 mx-auto mb-5" >
<div class="row justify-content-center align-content-center align-items-center">
<div class="col-9 mb-5 ">
<div class="TituloTablaImprimir" style="height: 49px;">
<div class="TituloTablaImprimir" >
<b>Trabajo profesional</b>
</div>
@@ -384,7 +384,7 @@
@* COSTE DE PRODUCCIÓN *@
<div class="col-12 mx-auto mb-5">
<div class="col-8 mx-auto">
<div class="TituloTablaImprimir" style="height: 49px;">
<div class="TituloTablaImprimir" >
<b>Costes Asociados a los Servicios de Arquitectura</b>
</div>
<table class="TablaImprimir mb-0" style="width:100%;">
@@ -447,10 +447,15 @@
public URBAN objetoURBAN { get; set; } = new URBAN();
public tsHerramientasCACOA bd;
string separacionTabla = "col-12 mx-auto mb-5";
protected override async Task OnInitializedAsync()
{
bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: false);
if (objetoURBAN.TrabajoProfesional.DocumentacionMinima.Count == 0)
{
separacionTabla = "col-12 mx-auto mb-4";
}
}
public void RefreshState()
{

View File

@@ -1,5 +1,5 @@

<div id="LicitacionesCASAImprimir" class="d-flex flex-column align-items-center">
<div id="LicitacionesCASAImprimir" class="d-flex flex-column align-items-center pagePrincipal">
<div class="col-12 mx-auto mb-5">
@* ENCABEZADO DE LA PAGINA *@
<div class="EncabezadoImprimir">
@@ -16,13 +16,13 @@
@* TABLA USOS TIPOLOGIAS *@
<div class="col-11 mx-auto mb-5" style="align-items: flex-end;">
<div class="TituloTablaImprimir" style="height: 49px;">
<div class="TituloTablaImprimir">
<b>Usos/Tipologías</b>
</div>
<div class="table-responsive">
<table class="TablaImprimir mb-0" style="width:100%;">
<table class="TablaImprimir mb-0 espacioTablas" style="width:100%;">
<thead>
<tr>
<th width="15%">Superficie (m²)</th>
@@ -66,13 +66,13 @@
</div>
@* TABLA FASES *@
<div class="col-8 mx-auto" style="align-items: flex-end;">
<div class="TituloTablaImprimir" style="height: 49px;">
<div class="TituloTablaImprimir" >
<b>Fases</b>
</div>
<div class="table-responsive">
<table class="TablaImprimir mb-0" style="width:100%;">
<table class="TablaImprimir mb-0 espacioTablas" style="width:90%;">
<thead>
<tr>
<th class="text-start" >Fases</th>
@@ -139,13 +139,13 @@
</div>
@* TABLA COSTES DE PRODUCCION *@
<div class="col-8 mx-auto" style="align-items: flex-end; margin-top:200px;">
<div class="TituloTablaImprimir" style="height: 49px;">
<div class="col-8 mx-auto" style="align-items: flex-end; margin-top:800px;">
<div class="TituloTablaImprimir" >
<b>Costes de producción</b>
</div>
<div class="table-responsive">
<table class="TablaImprimir mb-0">
<table class="TablaImprimir mb-0 espacioTablas">
<thead>
<tr>
<th class="colorB fw-bold" style="width:60%">Concepto</th>

View File

@@ -1,7 +1,7 @@
@using System.Globalization
<div id="LiciURBANImprimir" class="d-flex flex-column align-items-center">
<div id="LiciURBANImprimir" class="d-flex flex-column align-items-center pagePrincipal">
@* TRABAJAO PROFESIONAL *@
<div class="col-12 mx-auto mb-5">
<div class="col-12 mx-auto">
@* ENCABEZADO DE LA PAGINA *@
<div class="EncabezadoImprimir">
@@ -16,7 +16,6 @@
</div>
</div>
<div class="col-12 d-flex justify-content-center" style="gap:20px;">
<div class="formatoCampos pt-2" style="font-size:9pt;">
<label class="tituloLbl">Tipo de Documento:</label>
@@ -45,10 +44,10 @@
<div class="col-11 mx-auto">
@* TABLA DE DATOS MINIMOS *@
<div class="TituloTablaImprimir" style="height: 49px; margin-top:50px;">
<div class="TituloTablaImprimir" style=" margin-top:50px;">
<b>Documentación Mínima:</b>
</div>
<div class="table-responsive">
<div class="table-responsive espacioTablas" style="@espacioTabla">
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
<tr>
@@ -64,7 +63,8 @@
<td class="colorB w4">@item.Descripcion</td>
</tr>
}
} else
}
else
{
<tr><td class="text-center">No hay registros</td></tr>
}
@@ -76,20 +76,20 @@
@* TABLA DE DATOS OPCIONALES *@
<div class="TituloTablaImprimir" style="height: 49px; margin-top:50px;">
<div class="TituloTablaImprimir" style=" margin-top:50px;">
<b>Documentación Opcional:</b>
</div>
<div class="table-responsive">
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
<tr>
<th class="colorB fw-bold">Descripción</th>
<th class="colorB fw-bold">Añadida</th>
</tr>
</thead>
<tbody>
@if (objetoLicitacionUrban.TrabajoProfesional.DocumentacionOpcional.Count != 0)
{
<div class="table-responsive espacioTablas">
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
<tr>
<th class="colorB fw-bold">Descripción</th>
<th class="colorB fw-bold">Añadida</th>
</tr>
</thead>
<tbody>
@if (objetoLicitacionUrban.TrabajoProfesional.DocumentacionOpcional.Count != 0)
{
@foreach (var item in objetoLicitacionUrban.TrabajoProfesional.DocumentacionOpcional)
{
<tr>
@@ -118,96 +118,95 @@
<tr><td class="text-center" colspan="2">No hay registros</td></tr>
}
</tbody>
</table>
</div>
</table>
</div>
</div>
@* DATOS NECESARIOS *@
<div class="col-8 mx-auto" >
<div class="col-11 mx-auto">
<div class="TituloTablaImprimir" style="height: 49px; margin-top:50px;">
<b>Datos Necesarios:</b>
</div>
<div class="table-responsive">
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
<tr>
<th style="width:70%;" class="colorB fw-bold">Descripción</th>
<th class="colorB fw-bold">Valor</th>
</tr>
</thead>
<tbody>
@if (objetoLicitacionUrban.TrabajoProfesional.DatosNecesarios.Count != 0)
{
@* DATOS NECESARIOS *@
<div class="col-12 mx-auto">
<div class="col-11 mx-auto">
<div class="TituloTablaImprimir" style=" margin-top:50px;">
<b>Datos Necesarios:</b>
</div>
<div class="table-responsive espacioTablas">
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
<tr>
<th style="width:70%;" class="colorB fw-bold">Descripción</th>
<th class="colorB fw-bold">Valor</th>
</tr>
</thead>
<tbody>
@if (objetoLicitacionUrban.TrabajoProfesional.DatosNecesarios.Count != 0)
{
@foreach (var item in objetoLicitacionUrban.TrabajoProfesional.DatosNecesarios)
{
<tr>
<td class="colorB w4">@item.Descripcion</td>
<td class="colorB w4 text-end">@item.ValorNecesario</td>
</tr>
}
}
else
{
<tr><td class="text-center" colspan="2">No hay registros</td></tr>
}
</tbody>
</table>
</div>
</div>
</div>
@* FASES *@
<div class="col-8 mx-auto" style="margin-top:250px;" >
<div class="TituloTablaImprimir" style="height: 49px; margin-top:50px;">
<b>Fases:</b>
</div>
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
<tr>
<th style="width:70%;" class="colorB fw-bold">Fases</th>
<th class="colorB fw-bold"></th>
</tr>
</thead>
<tbody>
@foreach (var item in objetoLicitacionUrban.TrabajoProfesional.FasesTrabajoProfesional)
}
else
{
<tr>
<td class="colorB w4">@item.Denominacion</td>
<td class="colorB w4 text-end">@item.Porcentaje %</td>
</tr>
<tr><td class="text-center" colspan="2">No hay registros</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 (objetoLicitacionUrban.TrabajoProfesional.FasesTrabajoProfesional.Sum(x => x.Porcentaje) != 100)
{
<div>
Trabajo en misión parcial: <span> @objetoLicitacionUrban.TrabajoProfesional.FasesTrabajoProfesional.Sum(x => x.Porcentaje) %</span>
</div>
}
else
{
<div>
Total: <span> @objetoLicitacionUrban.TrabajoProfesional.FasesTrabajoProfesional.Sum(x => x.Porcentaje) %</span>
</div>
}
</div>
</div>
</td>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
@* FASES *@
<div class="col-8 mx-auto" style="margin-top:250px;">
<div class="TituloTablaImprimir" style=" margin-top:50px;">
<b>Fases:</b>
</div>
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
<tr>
<th style="width:70%;" class="colorB fw-bold">Fases</th>
<th class="colorB fw-bold"></th>
</tr>
</thead>
<tbody>
@foreach (var item in objetoLicitacionUrban.TrabajoProfesional.FasesTrabajoProfesional)
{
<tr>
<td class="colorB w4">@item.Denominacion</td>
<td class="colorB w4 text-end">@item.Porcentaje %</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 (objetoLicitacionUrban.TrabajoProfesional.FasesTrabajoProfesional.Sum(x => x.Porcentaje) != 100)
{
<div>
Trabajo en misión parcial: <span> @objetoLicitacionUrban.TrabajoProfesional.FasesTrabajoProfesional.Sum(x => x.Porcentaje) %</span>
</div>
}
else
{
<div>
Total: <span> @objetoLicitacionUrban.TrabajoProfesional.FasesTrabajoProfesional.Sum(x => x.Porcentaje) %</span>
</div>
}
</div>
</div>
</td>
</tr>
</tfoot>
</table>
</div>
@* INNOVACION INSTRUMENTOS *@
@* INNOVACIÓN INSTRUMENTOS*@
<div class="col-11 mx-auto mb-5">
<div class="col-11 mx-auto ">
<div>
<div class="mt-3 mb-3 TituloTablaImprimir"><b>Innovacion de los instrumentos</b></div>
<p style="font-size:9pt;" class="col-6">
@@ -240,16 +239,14 @@
</div>
</div>
</div>
@* Costes de producción *@
<div class="col-8 mx-auto mb-5">
@* Solvencia tecnica *@
<div class="TituloTablaImprimir" style="height: 49px; margin-top:50px;">
<div class="col-8 mx-auto mt-4">
@* Solvencia tecnica *@
<div class="TituloTablaImprimir">
<b>Solvencia técnica:</b>
</div>
<div class="table-responsive">
<div class="table-responsive espacioTablas">
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
@@ -260,7 +257,7 @@
</tr>
</thead>
<tbody>
@if (objetoLicitacionUrban.ListaSolvenciaTecnica.Count>0)
@if (objetoLicitacionUrban.ListaSolvenciaTecnica.Count > 0)
{
@foreach (var otroTrabajo in objetoLicitacionUrban.ListaSolvenciaTecnica)
{
@@ -270,7 +267,8 @@
<td>@otroTrabajo.TipoConvenio</td>
</tr>
}
} else
}
else
{
<tr>
<td colspan="3" class="text-center">No hay registros</td>
@@ -281,19 +279,19 @@
<tfoot>
<tr>
<td colspan="3" class="text-end fw-bold colorC TotalesTabla">
Total trabajadores:
<span> @objetoLicitacionUrban.ListaSolvenciaTecnica.Sum(x => x.Cantidad)</span>
Total trabajadores:
<span> @objetoLicitacionUrban.ListaSolvenciaTecnica.Sum(x => x.Cantidad)</span>
</td>
</tr>
</tfoot>
</table>
</div>
@* costes asociados *@
<div class="TituloTablaImprimir" style="height: 49px; margin-top:50px;">
</div>
@* costes asociados *@
<div class="TituloTablaImprimir" style=" margin-top:50px;">
<b>Costes Asociados a los Servicios de Arquitectura:</b>
</div>
<div class="table-responsive">
<div class="table-responsive espacioTablas">
<table class="TablaImprimir mb-0" style="width:100%;">
<thead>
@@ -318,9 +316,9 @@
<tr>
<td style="width:50%;">Horas Trabajo Profesional </td>
<td class="tdAlineadoDerecha">
<span>
@objetoLicitacionUrban.TrabajoProfesional.horasTrabProfesional.MilesYDecimales() h
</span>
<span>
@objetoLicitacionUrban.TrabajoProfesional.horasTrabProfesional.MilesYDecimales() h
</span>
</td>
</tr>
<tr>
@@ -348,10 +346,14 @@
</tr>
</tfoot>
</table>
</div>
</div>
</div>
@* Costes de producción *@
<div class="FooterImprimir">
@@ -378,9 +380,16 @@
public tsHerramientasCACOA bd;
string espacioTabla = "margin-bottom:400px;";
protected override async Task OnInitializedAsync()
{
bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: false);
if (objetoLicitacionUrban.TrabajoProfesional.DocumentacionMinima.Count == 0)
{
espacioTabla = "";
}
}
public void RefreshState()
{

View File

@@ -437,8 +437,8 @@
Format = PuppeteerSharp.Media.PaperFormat.A4,
MarginOptions = new PuppeteerSharp.Media.MarginOptions
{
Top = "17mm",
Bottom = "9mm",
Top = "18mm",
Bottom = "0mm"
},
DisplayHeaderFooter = true,
HeaderTemplate = @"

View File

@@ -526,8 +526,8 @@
Format = PuppeteerSharp.Media.PaperFormat.A4,
MarginOptions = new PuppeteerSharp.Media.MarginOptions
{
Top = "20mm",
Bottom = "10mm"
Top = "18mm",
Bottom = "0mm"
},
DisplayHeaderFooter = true,
HeaderTemplate = @"

View File

@@ -830,6 +830,7 @@ div.content {
.TituloTablaImprimir {
color: #078b98 !important;
font-size: 11pt;
height:25px;
}
.NombreSimulacionImprimir{
@@ -854,4 +855,11 @@ div.content {
.puntoInfo{
display:flex;
gap:5px;
}
.pagePrincipal{
margin:30px;
}
.espacioTablas {
margin: 20px;
}