mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-02-08 11:59:13 +00:00
a falta del pago
This commit is contained in:
@ -24,7 +24,7 @@
|
||||
<td><span th:text="#{cart.resumen.iva-21}"></span> : </td>
|
||||
<td class="text-end" id="iva-21-cesta" th:text="${summary.iva21}"></td>
|
||||
</tr>
|
||||
<tr id="tr-iva-21">
|
||||
<tr>
|
||||
<td><span
|
||||
th:text="#{cart.resumen.descuento} + ' (' + ${summary.fidelizacion} + ')'"></span>
|
||||
: </td>
|
||||
@ -38,12 +38,8 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<form th:action="@{/pagos/redsys/crear}" method="post">
|
||||
<input type="hidden" name="order" value="123456789012" />
|
||||
<input type="hidden" name="amountCents" value="12525" />
|
||||
<button id="btn-checkout" type="submit" class="btn btn-secondary w-100 mt-2"
|
||||
th:text="#{cart.resumen.tramitar}">Checkout</button>
|
||||
</form>
|
||||
<button id="btn-checkout" onclick="location.href='/checkout'" class="btn btn-secondary w-100 mt-2"
|
||||
th:text="#{cart.resumen.tramitar}">Checkout</button>
|
||||
</div>
|
||||
<!-- end table-responsive -->
|
||||
</div>
|
||||
|
||||
@ -1,43 +0,0 @@
|
||||
<div>
|
||||
<div
|
||||
th:replace="imprimelibros/partials/modal-form :: modal('direccionFormModal', 'direcciones.add', 'modal-md', 'direccionFormModalBody')">
|
||||
</div>
|
||||
<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="#{checkout.shipping.order}">Envio del pedido
|
||||
</div>
|
||||
</div>
|
||||
<div class="ribbon-content mt-4">
|
||||
<div class="px-2 mb-2">
|
||||
<p th:text="#{checkout.shipping.info}"></p>
|
||||
<div
|
||||
class="form-check form-switch form-switch-custom form-switch-presupuesto mb-3 d-flex align-items-center">
|
||||
<input type="checkbox" class="form-check-input datos-generales-data me-2" id="onlyOneShipment"
|
||||
name="onlyOneShipment" checked />
|
||||
<label for="onlyOneShipment" class="form-label d-flex align-items-center mb-0">
|
||||
<span th:text="#{checkout.shipping.onlyOneShipment}" class="me-2"></span>
|
||||
</label>
|
||||
</div>
|
||||
<button type="button" class="btn btn-secondary" id="addOrderAddress"
|
||||
th:text="#{checkout.shipping.add}">Añadir dirección</button>
|
||||
|
||||
<div id="orderShippingAddressesContainer" class="mt-4"></div>
|
||||
<div id="orderShippingMultipleAddressesContainer d-none" class="mt-4"></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card ribbon-box border shadow-none mb-lg-0 material-shadow mt-4" th:if="${hasSample}">
|
||||
<div class="card-body">
|
||||
<div class="ribbon ribbon-primary ribbon-shape" th:text="#{checkout.shipping.samples}">Envio de pruebas
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ribbon-content mt-4">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Ribbon Shape -->
|
||||
|
||||
</div>
|
||||
@ -1,3 +1,36 @@
|
||||
<div>
|
||||
|
||||
<h5 class="mb-3" th:text="#{checkout.payment}">Método de pago</h5>
|
||||
<div class="row g-4">
|
||||
<div class="col-lg-4 col-sm-6">
|
||||
<div class="form-check card-radio">
|
||||
<input id="paymentMethod01" name="paymentMethod" type="radio" class="form-check-input" checked>
|
||||
<label class="form-check-label" for="paymentMethod01">
|
||||
<span class="fs-16 text-muted me-2"><i class="mdi mdi-credit-card-outline align-bottom"></i></span>
|
||||
<span class="fs-14 text-wrap" th:text="#{checkout.payment.card}"></span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-lg-4 col-sm-6">
|
||||
<div class="form-check card-radio">
|
||||
<input id="paymentMethod02" name="paymentMethod" type="radio" class="form-check-input">
|
||||
<label class="form-check-label" for="paymentMethod02">
|
||||
<span class="fs-16 text-muted me-2"><i class="mdi mdi-wallet-outline align-bottom"></i></span>
|
||||
<span class="fs-14 text-wrap" th:text="#{checkout.payment.bizum}"></span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 col-sm-6">
|
||||
<div class="form-check card-radio">
|
||||
<input id="paymentMethod03" name="paymentMethod" type="radio" class="form-check-input">
|
||||
<label class="form-check-label" for="paymentMethod03">
|
||||
<span class="fs-16 text-muted me-2"><i class="mdi mdi-bank-transfer align-bottom"></i></span>
|
||||
<span class="fs-14 text-wrap" th:text="#{checkout.payment.bank-transfer}"></span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,51 @@
|
||||
<div th:fragment="checkoutSummary(summary)" class="col-xl-4 cart-summary-container">
|
||||
<div class="sticky-side-div">
|
||||
<div class="card">
|
||||
<div class="card-header border-bottom-dashed">
|
||||
<h5 th:text="#{checkout.summary}" class="card-title mb-0"></h5>
|
||||
</div>
|
||||
<div class="card-body pt-2">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-borderless mb-0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><span th:text="#{cart.resumen.base}"></span></td>
|
||||
<td class="text-end" id="base-cesta" th:text="${summary.base}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span th:text="#{cart.resumen.envio}"></span></td>
|
||||
<td class="text-end" id="envio-cesta" th:text="${summary.shipment}"></td>
|
||||
</tr>
|
||||
<tr id="tr-iva-4">
|
||||
<td><span th:text="#{cart.resumen.iva-4}"></span> : </td>
|
||||
<td class="text-end" id="iva-4-cesta" th:text="${summary.iva4}"></td>
|
||||
</tr>
|
||||
<tr id="tr-iva-21">
|
||||
<td><span th:text="#{cart.resumen.iva-21}"></span> : </td>
|
||||
<td class="text-end" id="iva-21-cesta" th:text="${summary.iva21}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span
|
||||
th:text="#{cart.resumen.descuento} + ' (' + ${summary.fidelizacion} + ')'"></span>
|
||||
: </td>
|
||||
<td class="text-end" id="descuento-cesta" th:text="${summary.descuento}"></td>
|
||||
</tr>
|
||||
<tr class="table-active">
|
||||
<th><span th:text="#{cart.resumen.total}"></span>:</th>
|
||||
<td class="text-end">
|
||||
<span id="total-cesta" class="fw-semibold" th:text="${summary.total}"></span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button id="btn-checkout" onclick="location.href='/checkout'" class="btn btn-secondary w-100 mt-2"
|
||||
th:text="#{checkout.make-payment}" disabled>Checkout</button>
|
||||
</div>
|
||||
<!-- end table-responsive -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- end stickey -->
|
||||
|
||||
</div>
|
||||
@ -9,7 +9,7 @@
|
||||
<link th:href="@{/assets/libs/datatables/dataTables.bootstrap5.min.css}" rel="stylesheet" />
|
||||
</th:block>
|
||||
<th:block layout:fragment="pagecss">
|
||||
<link th:href="@{/assets/css/presupuestador.css}" rel="stylesheet" />
|
||||
<link th:href="@{/assets/css/checkout.css}" rel="stylesheet" />
|
||||
</th:block>
|
||||
</head>
|
||||
|
||||
@ -22,6 +22,10 @@
|
||||
<th:block layout:fragment="content">
|
||||
<div th:if="${#authorization.expression('isAuthenticated()')}">
|
||||
|
||||
<div
|
||||
th:replace="imprimelibros/partials/modal-form :: modal('direccionFormModal', 'direcciones.add', 'modal-md', 'direccionFormModalBody')">
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
@ -32,144 +36,52 @@
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div id="sectionLoader" class="position-absolute top-0 start-0 w-100 h-100 d-none justify-content-center align-items-center
|
||||
bg-body bg-opacity-75" style="z-index:10;">
|
||||
<div class="spinner-border" role="status" style="width:2.5rem;height:2.5rem;">
|
||||
<span class="visually-hidden">Cargando…</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xl-8 col-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="step-arrow-nav mt-n3 mx-n3 mb-3">
|
||||
<div>
|
||||
<h5 th:text="#{checkout.billing-address}" class="mb-3">Dirección de envío</h5>
|
||||
|
||||
<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-shipping-tab"
|
||||
data-bs-target="#pills-shipping" type="button" role="tab"
|
||||
aria-controls="pills-shipping" aria-selected="true">
|
||||
<i
|
||||
class="ri-truck-line fs-5 p-1 bg-soft-primary text-primary rounded-circle align-middle me-2"></i>
|
||||
<label class="fs-13 my-2" th:text="#{checkout.shipping}">Envío</label>
|
||||
</button>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link fs-15 p-3" id="pills-payment-tab"
|
||||
data-bs-target="#pills-payment" type="button" role="tab"
|
||||
aria-controls="pills-payment" aria-selected="false">
|
||||
<i
|
||||
class="ri-money-euro-box-line fs-5 p-1 bg-soft-primary text-primary rounded-circle align-middle me-2"></i>
|
||||
<label class="fs-13 my-2" th:text="#{checkout.payment}">Método de
|
||||
pago</label>
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
<button type="button" class="btn btn-secondary mb-3" id="addBillingAddressBtn"
|
||||
th:text="#{cart.shipping.add}">Añadir dirección
|
||||
</button>
|
||||
|
||||
<div id="direccion-div">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane fade show active" id="pills-shipping" role="tabpanel"
|
||||
aria-labelledby="pills-shipping-tab">
|
||||
|
||||
<div th:include="~{imprimelibros/checkout/_envio.html}">
|
||||
</div>
|
||||
</div>
|
||||
<!-- end tab pane -->
|
||||
|
||||
<div class="tab-pane fade" id="pills-payment" role="tabpanel"
|
||||
aria-labelledby="pills-payment-tab">
|
||||
|
||||
<div th:include="~{imprimelibros/checkout/_pago.html}">
|
||||
</div>
|
||||
</div>
|
||||
<!-- end tab pane -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div th:include="~{imprimelibros/checkout/_pago.html}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xl-4">
|
||||
<div class="sticky-side-div">
|
||||
<div class="card">
|
||||
<div class="card-header border-bottom-dashed">
|
||||
<h5 th:text="#{checkout.summay}" class="card-title mb-1"></h5>
|
||||
</div>
|
||||
<div class="card-body pt-2">
|
||||
<div class="table-responsive table-card">
|
||||
<table class="table table-borderless align-middle mb-0">
|
||||
<thead class="table-light text-muted">
|
||||
<tr>
|
||||
<th style="width: 90px;" scope="col"
|
||||
th:text="#{checkout.summary.presupuesto}">Presupuesto</th>
|
||||
<th scope="col" th:text="#{checkout.summary.titulo}">Título</th>
|
||||
<th scope="col" class="text-end" th:text="#{checkout.summary.base}">
|
||||
Base</th>
|
||||
<th class="d-none"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr th:each="item : ${items}">
|
||||
<td>
|
||||
<span th:text="${item.presupuestoId}">PRESUPUESTO-001</span>
|
||||
</td>
|
||||
<td>
|
||||
<span th:text="${item.titulo}">Título del presupuesto</span>
|
||||
</td>
|
||||
<td class="text-end">
|
||||
<span th:text="${item.baseTotal}">
|
||||
0,00</span>
|
||||
</td>
|
||||
<td class="d-none">
|
||||
<span th:text="${item.tirada}"></span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="2"><span th:text="#{cart.resumen.base}"></span></td>
|
||||
<td class="text-end" id="base-cesta"></td>
|
||||
</tr>
|
||||
<tr id="tr-iva-4">
|
||||
<td colspan="2"><span th:text="#{cart.resumen.iva-4}"></span> : </td>
|
||||
<td class="text-end" id="iva-4-cesta"></td>
|
||||
</tr>
|
||||
<tr id="tr-iva-21">
|
||||
<td colspan="2"><span th:text="#{cart.resumen.iva-21}"></span> : </td>
|
||||
<td class="text-end" id="iva-21-cesta"></td>
|
||||
</tr>
|
||||
<tr class="table-active">
|
||||
<td colspan="2"><span th:text="#{cart.resumen.total}"></span>:</td>
|
||||
<td class="text-end">
|
||||
<span id="total-cesta" class="fw-semibold">
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
<button type="button" class="btn btn-secondary w-100 mt-2"
|
||||
th:text="#{cart.resumen.tramitar}">Checkout</button>
|
||||
</div>
|
||||
<!-- end table-responsive -->
|
||||
</div>
|
||||
</div>
|
||||
<div th:replace="~{imprimelibros/checkout/_summary :: checkoutSummary(${summary})}"></div>
|
||||
|
||||
<div class="alert border-dashed alert-danger" role="alert">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="ms-2">
|
||||
<h5 class="fs-14 text-danger fw-semibold"
|
||||
th:text="#{cart.resumen.fidelizacion}"></h5>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end stickey -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</th:block>
|
||||
</th:block>
|
||||
|
||||
<th:block th:replace="~{theme/partials/vendor-scripts :: scripts}" />
|
||||
<th:block layout:fragment="pagejs">
|
||||
<script th:inline="javascript">
|
||||
window.languageBundle = /*[[${languageBundle}]]*/ {};
|
||||
</script>
|
||||
|
||||
<script type="module" th:src="@{/assets/js/pages/imprimelibros/checkout/checkout.js}"></script>
|
||||
</th:block>
|
||||
<th:block th:replace="~{theme/partials/vendor-scripts :: scripts}" />
|
||||
<th:block layout:fragment="pagejs">
|
||||
<script th:inline="javascript">
|
||||
window.languageBundle = /*[[${languageBundle}]]*/ {};
|
||||
</script>
|
||||
<script type="module" th:src="@{/assets/js/pages/imprimelibros/checkout/checkout.js}"></script>
|
||||
</th:block>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@ -0,0 +1,31 @@
|
||||
<div th:fragment="direccionBillingCard(direccion, pais)" name="direccion"
|
||||
class="card card border mb-3 direccion-card bg-light w-100 mx-2">
|
||||
<div class="card-body">
|
||||
|
||||
<input type="hidden" class="direccion-id" th:value="${direccion.id}" />
|
||||
<input type="hidden" class="direccion-cp" th:value="${direccion.cp}" />
|
||||
<input type="hidden" class="direccion-pais-code3" th:value="${direccion.pais.code3}" />
|
||||
|
||||
<div class="row g-3 align-items-start flex-nowrap mb-2">
|
||||
<div class="col">
|
||||
<span class="mb-2 fw-semibold d-block text-muted text-uppercase text-break" th:text="${direccion.alias}"></span>
|
||||
<span class="fs-14 mb-1 d-block text-break" th:text="${direccion.razonSocial}"></span>
|
||||
<span class="fs-14 mb-1 d-block text-break" th:text="${direccion.tipoIdentificacionFiscal + ': ' + direccion.identificacionFiscal}"></span>
|
||||
<span class="text-muted fw-normal text-wrap mb-1 d-block text-break" th:text="${direccion.direccion + ', ' + direccion.ciudad}"></span>
|
||||
<span class="text-muted fw-normal d-block text-break" th:text="${direccion.cp + ', ' + direccion.provincia}"></span>
|
||||
<span class="text-muted fw-normal d-block text-break" th:text="${pais}"></span>
|
||||
<span class="text-muted fw-normal d-block text-break"
|
||||
th:text="#{'direcciones.telefono'} + ': ' + ${direccion.telefono}"></span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="d-flex flex-wrap align-items-center gap-2 py-1 bg-light rounded-bottom border-top mt-auto actions-row">
|
||||
<a href="javascript:void(0)" class="d-block text-body p-1 px-2 btn-delete-direccion"
|
||||
data-id="${this._esc(d.id ?? '')}">
|
||||
<i class="ri-delete-bin-fill text-muted align-bottom me-1"></i>
|
||||
<span th:text="#{'direcciones.btn.delete'}">Eliminar</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user