direccion unica añadida

This commit is contained in:
2025-10-28 14:05:22 +01:00
parent cecc0c0ea0
commit f770bd07d6
12 changed files with 357 additions and 241 deletions

View File

@ -3,27 +3,29 @@
data-iva-21=${item.iva21},
data-base=${item.base}">
<div class="card-body">
<ul class="nav nav-pills nav-justified custom-nav nav-product" role="tablist">
<div class="step-arrow-nav mt-n3 mx-n3 mb-3">
<ul class="nav nav-pills nav-justified custom-nav nav-product" style="display: none;" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link fs-15 active" id="pills-details-${item.id}-tab"
data-bs-target="#pills-details-${item.id}" type="button" role="tab"
aria-controls="pills-details-${item.id}" aria-selected="true">
<button class="nav-link fs-15 active" th:id="${'pills-details-' + item.cartItemId + '-tab'}"
th:data-bs-target="${'#pills-details-' + item.cartItemId}" type="button" role="tab"
th:aria-controls="${'#pills-details-' + item.cartItemId}" aria-selected="true" data-bs-toggle="tab">
<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="#{cart.tabs.details}">Detalles</label>
</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link fs-15 p-3" id="pills-shipping-${item.id}-tab"
data-bs-target="#pills-shipping-${item.id}" type="button" role="tab"
aria-controls="pills-shipping-${item.id}" aria-selected="false">
<button class="nav-link fs-15" th:id="${'pills-shipping-' + item.cartItemId + '-tab'}"
th:data-bs-target="${'#pills-shipping-' + item.cartItemId}" type="button" role="tab"
th:aria-controls="${'#pills-shipping-' + item.cartItemId}" aria-selected="false" data-bs-toggle="tab">
<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="#{cart.tabs.envio}">Envío</label>
</button>
</li>
</ul>
</div>
<div class="tab-content row gy-3">
<div class="tab-pane fade show active" id="pills-details-${item.id}" role="tabpanel"
aria-labelledby="pills-details-${item.id}-tab">
<div class="tab-pane fade show tab-pane-details active" th:id="${'pills-details-' + item.cartItemId}" role="tabpanel"
th:aria-labelledby="${'pills-details-' + item.cartItemId + '-tab'}">
<div class="col-sm-auto">
<div class="avatar-lg bg-light rounded p-1">
<img th:src="${item.imagen != null ? item.imagen : '/assets/images/products/placeholder.png'}"
@ -89,9 +91,24 @@
</div>
</div>
<div class="tab-content">
<div class="tab-pane fade show active" id="pills-shipping-${item.id}" role="tabpanel"
aria-labelledby="pills-shipping-${item.id}-tab">
<div class="tab-pane fade show tab-pane-shipping" th:id="${'pills-shipping-' + item.cartItemId}" role="tabpanel"
th:aria-labelledby="${'pills-shipping-' + item.cartItemId + '-tab'}">
<div class="col-sm">
<!-- Título / enlace -->
<h5 class="fs-18 text-truncate my-1 p-1">
<a th:href="@{|presupuesto/edit/${item.presupuestoId}|}" class="text-dark"
th:text="${item.titulo != null ? item.titulo : 'Presupuesto #'}">
Presupuesto
</a>
</h5>
<h5 class="fs-14 text-truncate mb-1">
<span th:text="#{cart.item.presupuesto-numero}">Presupuesto #</span>
<span th:text="${item.presupuestoId != null ? item.presupuestoId : ''}">#</span>
</h5>
</div>
<div class="col-sm-auto div-shipping-product">
</div>
</div>
</div>
</div>

View File

@ -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/cart.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">
@ -37,30 +41,32 @@
<div class="alert alert-info" role="alert" th:text="#{cart.empty}"></div>
</div>
<form id="cartForm" th:action="${'/cart/update/' + cartId}" method="POST" class="col-xl-8 col-12">
<input type="hidden" name="id" th:value="${cartId}" />
<div class="col-xl-8 col-12">
<div class="card">
<div class="card-body">
<p th:text="#{checkout.shipping.info}"></p>
<p th:text="#{cart.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="onlyOneShipping" name="onlyOneShipping" checked />
<label for="onlyOneShipping" class="form-label d-flex align-items-center mb-0">
<span th:text="#{checkout.shipping.onlyOneShipping}" class="me-2"></span>
<span th:text="#{cart.shipping.onlyOneShipping}" 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>
th:text="#{cart.shipping.add}">Añadir dirección</button>
<div id="shippingAddressesContainer" class="mt-4"></div>
<div id="shippingAddressesContainer" class="d-flex flex-wrap gap-3 mt-4"></div>
</div>
</div>
<div th:each="item : ${items}" th:insert="~{imprimelibros/cart/_cartItem :: cartItem(${item})}">
</div>
</div>
</form>
<div class="col-xl-4">
<div class="sticky-side-div">
@ -114,6 +120,7 @@
<!-- end stickey -->
</div>
</div>
</th:block>
@ -125,6 +132,7 @@
</script>
<script type="module" th:src="@{/assets/js/pages/imprimelibros/cart/cart.js}"></script>
<script type="module" th:src="@{/assets/js/pages/imprimelibros/cart/shipping-cart.js}"></script>
</th:block>
</body>