From d89d140dac90cf43e5d096888045bf015d056c63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= Date: Thu, 19 Jun 2025 21:50:07 +0200 Subject: [PATCH] =?UTF-8?q?arreglado=20el=20calculo=20del=20coste=20del=20?= =?UTF-8?q?envio=20para=20cuando=20hay=20m=C3=A1s=20tiradas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ci4/app/Controllers/Presupuestos/Presupuestocliente.php | 2 +- .../js/safekat/pages/presupuestoCliente/datosGenerales.js | 2 ++ .../safekat/pages/presupuestoCliente/presupuestoCliente.js | 6 ++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php index 542ace49..278703fa 100755 --- a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php @@ -632,13 +632,13 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController $return_data['precio_u'][$i] = round(floatval($return_data['precio_u'][$i]) + $coste_envio, 4); } - $envio_base = true; $coste_envio = 0.0; // se inicializa para calcular los costes de envíos restantes si es que hay $return_data['coste_envio'] = []; if (count($direcciones) > 0) { for ($i = 0; $i < count($tirada); $i++) { $coste_envio = 0.0; + $envio_base = true; foreach ($direcciones as $direccion) { // El primer envio no se calcula ya que se añade el base if ($envio_base) { diff --git a/httpdocs/assets/js/safekat/pages/presupuestoCliente/datosGenerales.js b/httpdocs/assets/js/safekat/pages/presupuestoCliente/datosGenerales.js index 2a846bb5..5c64f64c 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoCliente/datosGenerales.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoCliente/datosGenerales.js @@ -104,6 +104,8 @@ class DatosGenerales { this.papelDiferente.on('change', this.#handlePapelDiferente.bind(this)); $('.tirada-presupuesto').on('change', () => { + + self.validate(false); let tiradas = self.getTiradas(); if (!Array.isArray(tiradas)) { tiradas = [tiradas]; diff --git a/httpdocs/assets/js/safekat/pages/presupuestoCliente/presupuestoCliente.js b/httpdocs/assets/js/safekat/pages/presupuestoCliente/presupuestoCliente.js index a555131f..858bfb40 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoCliente/presupuestoCliente.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoCliente/presupuestoCliente.js @@ -207,6 +207,12 @@ class PresupuestoCliente { if (Object.values(datos_to_check).every(this.#isValidDataForm)) { + // buscar elementos dentro de #mainContainer que tengan la clase is-invalid + const invalidElements = $('#mainContainer').find('.is-invalid'); + if(invalidElements.length > 0) { + // si hay elementos inválidos, no se procede con el + return; + } try { setTimeout(function () {