falta mover la cesta a cliente

This commit is contained in:
2025-10-31 08:25:13 +01:00
parent 167c136dca
commit 90c191d8f8
6 changed files with 166 additions and 89 deletions

View File

@ -30,14 +30,20 @@ cart.shipping.errors.noAddressSelected=Debe seleccionar una dirección de envío
cart.shipping.errors.fillAddressesItems=Debe seleccionar una dirección de envío para cada artículo de la cesta.
cart.resumen.title=Resumen de la cesta
cart.resumen.base=Base imponible:
cart.resumen.envio=Coste de envío:
cart.resumen.iva-4=IVA 4%:
cart.resumen.iva-21=IVA 21%:
cart.resumen.total=Total cesta:
cart.resumen.base=Base imponible
cart.resumen.envio=Coste de envío
cart.resumen.iva-4=IVA 4%
cart.resumen.iva-21=IVA 21%
cart.resumen.descuento=Descuento fidelización
cart.resumen.total=Total cesta
cart.resumen.tramitar=Tramitar pedido
cart.resumen.fidelizacion=Si tiene descuento por fidelización, se aplicará al tramitar el pedido.
cart.pass-to.customer=Mover cesta a cliente
cart.pass-to.customer.info=Puede mover la cesta actual al cliente seleccionado. Esto eliminará la cesta del usuario actual y la asociará al cliente seleccionado.
cart.pass-to.customer.warning=Advertencia: Esta acción no se puede deshacer y sobrescribirá la cesta del cliente seleccionado. Asegúrese de que el cliente seleccionado es correcto.
cart.pass-to.select-customer=Seleccione un cliente
cart.pass-to.button=Mover cesta
cart.pass-to.success=Cesta movida correctamente al cliente {0}.
cart.errors.update-cart=Error al actualizar la cesta de la compra: {0}
cart.errors.shipping=No se puede calcular el coste del envío para alguna de las direcciones seleccionadas. Por favor, póngase en contacto con el servicio de atención al cliente.

View File

@ -31,11 +31,11 @@ $(() => {
}).always(() => {
hideLoader();
});
updateTotal();
checkAddressesForItems();
});
updateTotal();
checkAddressesForItems();
function checkAddressesForItems(){
if($('#onlyOneShipment').is(':checked')){
@ -89,37 +89,6 @@ $(() => {
}
}
function updateTotal() {
/*const items = $(".product");
let iva4 = 0;
let iva21 = 0;
let base = 0;
for (let i = 0; i < items.length; i++) {
const item = $(items[i]);
const b = item.data("base");
const i4 = item.data("iva-4");
const i21 = item.data("iva-21");
base += parseFloat(b) || 0;
iva4 += parseFloat(i4) || 0;
iva21 += parseFloat(i21) || 0;
}
$("#base-cesta").text(formateaMoneda(base));
if (iva4 > 0) {
$("#iva-4-cesta").text(formateaMoneda(iva4));
$("#tr-iva-4").show();
} else {
$("#tr-iva-4").hide();
}
if (iva21 > 0) {
$("#iva-21-cesta").text(formateaMoneda(iva21));
$("#tr-iva-21").show();
} else {
$("#tr-iva-21").hide();
}
const total = base + iva4 + iva21;
$("#total-cesta").text(formateaMoneda(total));*/
}
$(document).on("click", ".delete-item", async function (event) {
event.preventDefault();

View File

@ -24,6 +24,10 @@
<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">
<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">
@ -35,7 +39,7 @@
<form th:action="@{/pagos/redsys/crear}" method="post">
<input type="hidden" name="order" value="123456789012"/>
<input type="hidden" name="amountCents" value="12525"/>
<button type="submit" class="btn btn-secondary w-100 mt-2"
<button id="btn-checkout" type="submit" class="btn btn-secondary w-100 mt-2"
th:text="#{cart.resumen.tramitar}">Checkout</button>
</form>
</div>
@ -43,13 +47,25 @@
</div>
</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 class="card">
<div class="card-header border-bottom-dashed">
<h5 th:text="#{cart.pass-to.customer}" class="card-title mb-0"></h5>
</div>
<div class="card-body pt-2">
<div class="alert alert-info" role="alert" th:text="#{cart.pass-to.customer.info}"></div>
<div class="alert alert-warning" role="alert" th:text="#{cart.pass-to.customer.warning}"></div>
<form th:action="@{/cart/pass-to-customer}" method="post">
<div class="mb-3">
<label for="select-customer" class="form-label" th:text="#{cart.pass-to.select-customer}"></label>
<select id="select-customer" name="customerId" class="form-select" required>
</select>
</div>
<button type="submit" class="btn btn-secondary w-100"
th:text="#{cart.pass-to.button}">Mover cesta</button>
</div>
</div>
</div>
<!-- end stickey -->