mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-01-28 14:48:50 +00:00
primera version final del presupuesto
This commit is contained in:
@ -68,17 +68,37 @@
|
||||
<span class="val" th:text="${titulo} ?: '-'">Libro de prueba</span>
|
||||
</div>
|
||||
|
||||
<!-- DATOS TÉCNICOS EN 2 COLUMNAS -->
|
||||
<!-- DATOS TÉCNICOS -->
|
||||
<div class="line-title">
|
||||
<span class="lbl" th:text="#{pdf.presupuesto.descripcion}">Descripción:</span>
|
||||
</div>
|
||||
<div class="specs-wrapper align-with-text ">
|
||||
<div class="specs">
|
||||
<div th:utext="${especificaciones} ?: '<em>Sin especificaciones técnicas.</em>'">
|
||||
<div th:if="${specs} == null">
|
||||
<em>Sin especificaciones técnicas.</em>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- .specs-wrapper -->
|
||||
<div th:if="${specs} != null">
|
||||
<div th:each="spec : ${specs.lineas}" class="spec-row mb-1">
|
||||
<span class="spec-label" th:utext="${spec.descripcion}"></span>
|
||||
</div>
|
||||
<div th:if="${specs.servicios != null}" class="spec-row mb-1">
|
||||
<span th:utext="#{pdf.servicios-adicionales}">Servicios adicionales</span>
|
||||
<span class="spec-label" th:text="${specs.servicios}"></span>
|
||||
</div>
|
||||
<div th:if="${specs.datosMaquetacion != null}" class="spec-row mb-1">
|
||||
<span th:text="#{pdf.datos-maquetacion}">Datos de maquetación:</span>
|
||||
<span th:utext="${specs.datosMaquetacion}"></span>
|
||||
</div>
|
||||
<div th:if="${specs.datosMarcapaginas != null}" class="spec-row mb-1">
|
||||
<span th:text="#{pdf.datos-marcapaginas}">Datos de marcapáginas:</span>
|
||||
<span th:utext="${specs.datosMarcapaginas}"></span>
|
||||
</div>
|
||||
</div> <!-- .specs -->
|
||||
</div> <!-- .specs-wrapper -->
|
||||
</div>
|
||||
|
||||
<!-- TABLA TIRADAS -->
|
||||
<table class="prices">
|
||||
<table class="prices" class="align-items-center">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="text-center col-tirada" th:text="#{pdf.table.tirada}">TIRADA</th>
|
||||
|
||||
@ -1,57 +1,46 @@
|
||||
<div th:fragment="buttons(appMode, btnClass, showPrev, showNext, showActions, showCart)"
|
||||
class="buttons-bar mt-2">
|
||||
<div th:fragment="buttons(appMode, btnClass, showPrev, showNext, showActions, showCart)" class="buttons-bar mt-2">
|
||||
|
||||
<!-- Fila 1: ACCIONES, centradas -->
|
||||
<div class="buttons-row center" th:if="${showActions}">
|
||||
<button th:if="${appMode == 'add' or appMode == 'edit'}"
|
||||
type="button"
|
||||
class="btn btn-secondary d-flex align-items-center mx-2 guardar-presupuesto">
|
||||
<button th:if="${appMode == 'add' or appMode == 'edit'}" type="button"
|
||||
class="btn btn-secondary d-flex align-items-center mx-2 guardar-presupuesto">
|
||||
<i class="ri-save-3-line me-2"></i>
|
||||
<span th:text="#{presupuesto.guardar}">Guardar</span>
|
||||
</button>
|
||||
|
||||
<button th:if="${appMode == 'add' or appMode == 'edit'}"
|
||||
type="button"
|
||||
class="btn btn-secondary d-flex align-items-center mx-2 add-cart-btn">
|
||||
<i class="ri-shopping-cart-line me-2"></i>
|
||||
<span th:text="#{presupuesto.add-to-cart}">Añadir a la cesta</span>
|
||||
</button>
|
||||
|
||||
<button type="button"
|
||||
class="btn btn-secondary d-flex align-items-center mx-2 btn-imprimir">
|
||||
<button type="button" class="btn btn-secondary d-flex align-items-center mx-2 btn-imprimir">
|
||||
<i class="ri-printer-line me-2"></i>
|
||||
<span th:text="#{app.imprimir}">Imprimir</span>
|
||||
</button>
|
||||
|
||||
<!-- Alternativa cuando no está autenticado -->
|
||||
<button sec:authorize="!isAuthenticated()"
|
||||
type="button"
|
||||
class="btn btn-secondary d-flex align-items-center btn-login-required ms-2">
|
||||
<i class="mdi mdi-login label-icon align-middle fs-16 me-2"></i>
|
||||
<span th:text="#{presupuesto.resumen.inicie-sesion}">Inicie sesión para continuar</span>
|
||||
</button>
|
||||
<button th:if="${appMode == 'add' or appMode == 'edit'}" type="button"
|
||||
class="btn btn-secondary d-flex align-items-center mx-2 add-cart-btn">
|
||||
<i class="ri-shopping-cart-line me-2"></i>
|
||||
<span th:text="#{presupuesto.add-to-cart}">Añadir a la cesta</span>
|
||||
</button>
|
||||
|
||||
<!-- Alternativa cuando no está autenticado -->
|
||||
<button sec:authorize="!isAuthenticated()" type="button"
|
||||
class="btn btn-secondary d-flex align-items-center btn-login-required ms-2">
|
||||
<i class="mdi mdi-login label-icon align-middle fs-16 me-2"></i>
|
||||
<span th:text="#{presupuesto.resumen.inicie-sesion}">Inicie sesión para continuar</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Fila 2: PREV (izq) / NEXT o LOGIN (dcha) -->
|
||||
<div class="buttons-row split">
|
||||
<button th:if="${showPrev}"
|
||||
th:id="|${btnClass}-prev|"
|
||||
data-btn-action="previous"
|
||||
th:class="'btn btn-light ' + ${btnClass}"
|
||||
type="button">
|
||||
<button th:if="${showPrev}" th:id="|${btnClass}-prev|" data-btn-action="previous"
|
||||
th:class="'btn btn-light ' + ${btnClass}" type="button">
|
||||
<i class="ri-arrow-left-circle-line label-icon align-middle fs-16 me-2"></i>
|
||||
<span th:text="#{app.acciones.anterior}">Anterior</span>
|
||||
</button>
|
||||
|
||||
<div class="right-slot d-flex align-items-center">
|
||||
<button th:if="${showNext}"
|
||||
data-btn-action="next"
|
||||
th:id="|${btnClass}-next|"
|
||||
th:class="'btn btn-secondary d-flex align-items-center ' + ${btnClass}"
|
||||
type="button">
|
||||
<button th:if="${showNext}" data-btn-action="next" th:id="|${btnClass}-next|"
|
||||
th:class="'btn btn-secondary d-flex align-items-center ' + ${btnClass}" type="button">
|
||||
<span th:text="#{app.acciones.siguiente}">Siguiente</span>
|
||||
<i class="ri-arrow-right-circle-line fs-16 ms-2"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user