trabajando en el resumen de cubierta

This commit is contained in:
Jaime Jiménez
2025-08-31 22:06:50 +02:00
parent 6b883ffab2
commit ea1c485c80
9 changed files with 239 additions and 55 deletions

View File

@ -23,7 +23,8 @@
<div class="mb-3">
<label for="titulo" class="form-label" th:text="#{presupuesto.titulo}">
>Título*</label>
<input type="text" class="form-control datos-generales-data" id="titulo" placeholder="" value="">
<input type="text" class="form-control datos-generales-data" id="titulo" placeholder=""
value="">
</div>
</div>
</div>
@ -47,19 +48,23 @@
<div class="row">
<div class="col-sm-3 mb-1">
<label for="tirada1" class="form-label" th:text="#{presupuesto.tirada1}">Tirada 1*</label>
<input type="number" class="form-control datos-generales-data" id="tirada1" placeholder="" value="10">
<input type="number" class="form-control datos-generales-data" id="tirada1" placeholder=""
value="10">
</div>
<div class="col-sm-3 mb-1">
<label for="tirada2" class="form-label" th:text="#{presupuesto.tirada2}">Tirada 2</label>
<input type="number" class="form-control datos-generales-data" id="tirada2" placeholder="" value="">
<input type="number" class="form-control datos-generales-data" id="tirada2" placeholder=""
value="">
</div>
<div class="col-sm-3 mb-1">
<label for="tirada3" class="form-label" th:text="#{presupuesto.tirada3}">Tirada 3</label>
<input type="number" class="form-control datos-generales-data" id="tirada3" placeholder="" value="">
<input type="number" class="form-control datos-generales-data" id="tirada3" placeholder=""
value="">
</div>
<div class="col-sm-3 mb-1">
<label for="tirada4" class="form-label" th:text="#{presupuesto.tirada4}">Tirada 4</label>
<input type="number" class="form-control datos-generales-data" id="tirada4" placeholder="" value="">
<input type="number" class="form-control datos-generales-data" id="tirada4" placeholder=""
value="">
</div>
</div>
<p class="text-muted" th:text="#{presupuesto.tiradasPODnoPOD(${pod})}">
@ -95,20 +100,21 @@
<div class="row justify-content-center div-formato-personalizado d-none">
<div class="col-3 col-sm-3 mb-1">
<label for="ancho" class="form-label" th:text="#{presupuesto.ancho}">Ancho (mm)</label>
<input type="number" class="form-control datos-generales-data" id="ancho" name="ancho" value="210"
th:attr="min=${ancho_alto_min}, max=${ancho_alto_max}">
<input type="number" class="form-control datos-generales-data" id="ancho" name="ancho"
value="210" th:attr="min=${ancho_alto_min}, max=${ancho_alto_max}">
</div>
<div class="col-3 col-sm-3 mb-1">
<label for="alto" class="form-label" th:text="#{presupuesto.alto}">Alto (mm)</label>
<input type="number" class="form-control datos-generales-data" id="alto" name="alto" value="297"
th:attr="min=${ancho_alto_min}, max=${ancho_alto_max}">
<input type="number" class="form-control datos-generales-data" id="alto" name="alto"
value="297" th:attr="min=${ancho_alto_min}, max=${ancho_alto_max}">
</div>
</div>
<div class="row justify-content-center mb-3">
<div class="col-sm-4 d-flex justify-content-center">
<div class="form-check form-switch form-switch-custom form-switch-primary mb-3">
<input type="checkbox" class="form-check-input form-switch-custom-primary datos-generales-data"
<input type="checkbox"
class="form-check-input form-switch-custom-primary datos-generales-data"
id="formato-personalizado" name="formato-personalizado">
<label for="formato-personalizado" class="form-label"
th:text="#{presupuesto.formato-personalizado}">
@ -125,8 +131,8 @@
<div class="col-sm-2">
<label for="paginas-negro" class="form-label" th:text="#{presupuesto.paginas-negro}">Páginas
Negro</label>
<input type="number" step="2" class="form-control paginas datos-generales-data" id="paginas-negro"
name="paginas-negro" value="0">
<input type="number" step="2" class="form-control paginas datos-generales-data"
id="paginas-negro" name="paginas-negro" value="0">
<div class="form-text" th:text="#{presupuesto.siempre-pares}">
Siempre deben ser pares</div>
</div>
@ -138,8 +144,8 @@
<div class="col-sm-2">
<label for="paginas-color" class="form-label" th:text="#{presupuesto.paginas-color}">Páginas
Color</label>
<input type="number" step="2" class="form-control paginas datos-generales-data" id="paginas-color"
name="paginas-color" value="32">
<input type="number" step="2" class="form-control paginas datos-generales-data"
id="paginas-color" name="paginas-color" value="32">
<div class="form-text" th:text="#{presupuesto.siempre-pares}">
Siempre deben ser pares</div>
</div>
@ -189,7 +195,8 @@
<div class="d-flex flex-wrap justify-content-center gap-3 imagen-container-group">
<!-- Opción: Fresado -->
<div class="tipo-libro image-container imagen-selector selected datos-generales-data" id="fresado">
<div class="tipo-libro image-container imagen-selector selected datos-generales-data"
th:attr="data-summary-text=#{presupuesto.fresado}" id="fresado">
<input type="radio" name="tipoEncuadernacion" value="fresado" hidden>
<img class="image-presupuesto" src="/assets/images/imprimelibros/presupuestador/fresado.png"
alt="Fresado" />
@ -199,7 +206,8 @@
<!-- Opción: Cosido -->
<div class="tipo-libro image-container imagen-selector datos-generales-data" id="cosido">
<div class="tipo-libro image-container imagen-selector datos-generales-data"
th:attr="data-summary-text=#{presupuesto.cosido}" id="cosido">
<input type="radio" name="tipoEncuadernacion" value="cosido" hidden>
<img class="image-presupuesto" src="/assets/images/imprimelibros/presupuestador/cosido.png"
alt="Cosido" />
@ -209,7 +217,8 @@
<!-- Opción: Grapado -->
<div class="tipo-libro image-container imagen-selector datos-generales-data" id="grapado">
<div class="tipo-libro image-container imagen-selector datos-generales-data"
th:attr="data-summary-text=#{presupuesto.grapado}" id="grapado">
<input type="radio" name="tipoEncuadernacion" value="grapado" hidden>
<img class="image-presupuesto" src="/assets/images/imprimelibros/presupuestador/grapado.png"
alt="Grapado" />
@ -218,7 +227,8 @@
</div>
<!-- Opción: Espiral -->
<div class="tipo-libro image-container imagen-selector datos-generales-data" id="espiral">
<div class="tipo-libro image-container imagen-selector datos-generales-data"
th:attr="data-summary-text=#{presupuesto.espiral}" id="espiral">
<input type="radio" name="tipoEncuadernacion" value="espiral" hidden>
<img class="image-presupuesto" src="/assets/images/imprimelibros/presupuestador/espiral.png"
alt="Espiral" />
@ -227,7 +237,8 @@
</div>
<!-- Opción: Wire-O -->
<div class="tipo-libro image-container imagen-selector datos-generales-data" id="wireo">
<div class="tipo-libro image-container imagen-selector datos-generales-data"
th:attr="data-summary-text=#{presupuesto.wire-o}" id="wireo">
<input type="radio" name="tipoEncuadernacion" value="wireo" hidden>
<img class="image-presupuesto" src="/assets/images/imprimelibros/presupuestador/wire-o.png"
alt="Wire-O" />

View File

@ -2,9 +2,9 @@
<!-- Ribbon Shape -->
<div class="card ribbon-box border shadow-none mb-lg-0 material-shadow">
<div class="card-body">
<div class="ribbon ribbon-primary ribbon-shape" th:text="#{presupuesto.tipo-encuadernacion}">Tipo de impresión
<div class="ribbon ribbon-primary ribbon-shape" th:text="#{presupuesto.tipo-interior}">Tipo de impresión
</div>
<h5 class="fs-14 text-end" th:text="#{presupuesto.tipo-encuadernacion-descripcion}">Elija entre calidad estándar
<h5 class="fs-14 text-end" th:text="#{presupuesto.tipo-interior-descripcion}">Elija entre calidad estándar
o premium</h5>
</div>

View File

@ -9,7 +9,7 @@
</div>
<div class="card-body">
<div class="table-responsive table-card">
<table id="summary-interior" class="table table-responsive align-middle mb-0">
<table id="summary-datos-generales" class="table table-responsive align-middle mb-0">
<thead class="table-light">
<tr>
<th th:text="#{presupuesto.resumen-libro}" scope="col" colspan="2">Libro</th>
@ -20,47 +20,98 @@
<td class="align-items-center">
<span th:text="#{presupuesto.resumen-encuadernacion}"></span>
</td>
<td id="summary-formato" class="text-end">Fresado</td>
<td id="summary-encuadernacion" class="text-end">Fresado</td>
</tr>
<tr>
<td>
<span th:text="#{presupuesto.formato}"></span>
</td>
<td id="summary-paginas" class="text-end">148 x 210 mm</td>
<td id="summary-formato" class="text-end"></td>
</tr>
<tr>
<td>
<span th:text="#{presupuesto.paginas}"></span>
</td>
<td id="summary-paginas" class="text-end">148 x 210 mm</td>
<td id="summary-paginas" class="text-end"></td>
</tr>
<tr>
<td class="ps-3">
<span class="ps-3" th:text="#{presupuesto.paginas-negro}"></span>
</td>
<td id="summary-paginas" class="text-end">148 x 210 mm</td>
<td id="summary-paginas-negro" class="text-end"></td>
</tr>
<tr>
<td class="ps-3">
<span class="ps-3" th:text="#{presupuesto.paginas-color}"></span>
</td>
<td id="summary-paginas" class="text-end">148 x 210 mm</td>
<td id="summary-paginas-color" class="text-end"></td>
</tr>
</tbody>
</table>
<table id="summary-cubierta" class="table table-borderless align-middle mb-0 d-none">
<thead class="table-light text-muted ">
<table id="summary-interior" class="table table-responsive align-middle mb-0 d-none">
<thead class="table-light">
<tr>
<th th:text="#{presupuesto.cubierta-libro}" scope="col" colspan="2">Cubierta del libro</th>
<th th:text="#{presupuesto.interior}" scope="col" colspan="2">Interior</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p th:text="#{presupuesto.paginas}"></p>
<span th:text="#{presupuesto.tipo-interior}"></span>
</td>
<td id="summary-paginas2" class="text-end">148 x 210 mm</td>
<td id="summary-tipo-interior" class="text-end"></td>
</tr>
<tr>
<td>
<span th:text="#{presupuesto.papel-interior}"></span>
</td>
<td id="summary-papel-interior" class="text-end"></td>
</tr>
<tr>
<td>
<span th:text="#{presupuesto.gramaje-interior}"></span>
</td>
<td id="summary-gramaje-interior" class="text-end"></td>
</tr>
</tbody>
</table>
<table id="summary-cubierta" class="table table-responsive align-middle mb-0 d-none">
<thead class="table-light">
<tr>
<th th:text="#{presupuesto.cubierta}" scope="col" colspan="2">Cubierta</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<span th:text="#{presupuesto.tipo-cubierta}"></span>
</td>
<td id="summary-tipo-cubierta" class="text-end"></td>
</tr>
<tr id="summary-cubierta-solapas-row" class="d-none">
<td>
<span th:text="#{presupuesto.papel-cubierta}"></span>
</td>
<td id="summary-cubierta-solapas" class="text-end"></td>
</tr>
<tr id="summary-cubierta-solapas-row" class="d-none">
<td>
<span th:text="#{presupuesto.solapas}"></span>
</td>
<td id="summary-cubierta-solapas" class="text-end"></td>
</tr>
<tr id="summary-tamanio-solapa-row" class="d-none">
<td>
<span th:text="#{presupuesto.tamanio-solapa}"></span>
</td>
<td id="summary-tamanio-solapa" class="text-end"></td>
</tr>
<tr>
<td>
<span th:text="#{presupuesto.gramaje-cubierta}"></span>
</td>
<td id="summary-gramaje-cubierta" class="text-end"></td>
</tr>
</tbody>
</table>

View File

@ -10,15 +10,15 @@
<ul class="nav nav-pills nav-justified custom-nav" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link fs-15 p-3 active" id="pills-general-data-tab"
data-bs-toggle="pill" data-bs-target="#pills-general-data" type="button"
role="tab" aria-controls="pills-general-data" aria-selected="true">
data-bs-target="#pills-general-data" type="button" role="tab"
aria-controls="pills-general-data" aria-selected="true">
<i
class="ri-information-line fs-16 p-2 bg-soft-primary text-primary rounded-circle align-middle me-2"></i>
<label th:text="#{presupuesto.datos-generales}">Datos Generales</label>
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link fs-15 p-3" id="pills-inside-tab" data-bs-toggle="pill"
<button class="nav-link fs-15 p-3" id="pills-inside-tab"
data-bs-target="#pills-inside" type="button" role="tab"
aria-controls="pills-inside" aria-selected="false">
<i
@ -27,7 +27,7 @@
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link fs-15 p-3" id="pills-cover-tab" data-bs-toggle="pill"
<button class="nav-link fs-15 p-3" id="pills-cover-tab"
data-bs-target="#pills-cover" type="button" role="tab"
aria-controls="pills-cover" aria-selected="false">
<i
@ -37,15 +37,15 @@
</li>
<li class="nav-item" role="presentation">
<button class="nav-link fs-15 p-3" id="pills-seleccion-tirada-tab"
data-bs-toggle="pill" data-bs-target="#pills-seleccion-tirada" type="button"
role="tab" aria-controls="pills-seleccion-tirada" aria-selected="false">
data-bs-target="#pills-seleccion-tirada" type="button" role="tab"
aria-controls="pills-seleccion-tirada" aria-selected="false">
<i
class="ri-add-box-line fs-16 p-2 bg-soft-primary text-primary rounded-circle align-middle me-2"></i>
<label th:text="#{presupuesto.seleccion-tirada}">Seleccion de tirada</label>
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link fs-15 p-3" id="pills-extras-tab" data-bs-toggle="pill"
<button class="nav-link fs-15 p-3" id="pills-extras-tab"
data-bs-target="#pills-extras" type="button" role="tab"
aria-controls="pills-extras" aria-selected="false">
<i