From 82665c778d03fe997bda08db8f51142f9fd90387 Mon Sep 17 00:00:00 2001 From: amazuecos Date: Sun, 16 Feb 2025 09:54:13 +0000 Subject: [PATCH] add toast to show total presupuesto --- .../safekat/components/alerts/sweetAlert.js | 79 ++++++++++++------- .../presupuestoAdmin/sections/resumen.js | 21 ++++- 2 files changed, 68 insertions(+), 32 deletions(-) diff --git a/httpdocs/assets/js/safekat/components/alerts/sweetAlert.js b/httpdocs/assets/js/safekat/components/alerts/sweetAlert.js index 97f9bd66..b8ee5400 100644 --- a/httpdocs/assets/js/safekat/components/alerts/sweetAlert.js +++ b/httpdocs/assets/js/safekat/components/alerts/sweetAlert.js @@ -1,37 +1,37 @@ -export const alertConfirmationDelete = (title,type="primary") => { - return Swal.fire({ - title: '¿Está seguro?', - text: "Esta acción es irreversible.", - icon: 'warning', - showCancelButton: true, - confirmButtonColor: '#3085d6', - cancelButtonColor: '#d33', - confirmButtonText: 'Sí', - cancelButtonText: 'Cancelar', - customClass: { - confirmButton: 'btn btn-danger me-1', - cancelButton: 'btn btn-label-secondary' - }, - buttonsStyling: false - }) -} - -export const alertSuccessMessage = (title,type="primary") => { - return Swal.fire({ - showCancelButton: false, - showConfirmButton : false, - title: title, - text: title, - icon: "success", - timer : 2000 +export const alertConfirmationDelete = (title, type = "primary") => { + return Swal.fire({ + title: '¿Está seguro?', + text: "Esta acción es irreversible.", + icon: 'warning', + showCancelButton: true, + confirmButtonColor: '#3085d6', + cancelButtonColor: '#d33', + confirmButtonText: 'Sí', + cancelButtonText: 'Cancelar', + customClass: { + confirmButton: 'btn btn-danger me-1', + cancelButton: 'btn btn-label-secondary' + }, + buttonsStyling: false }) } -export const alertWarningMessage = (title,message,type="primary") => { - return Swal.fire({ +export const alertSuccessMessage = (title, type = "primary") => { + return Swal.fire({ + showCancelButton: false, + showConfirmButton: false, + title: title, + text: title, + icon: "success", + timer: 2000 + }) +} + +export const alertWarningMessage = (title, message, type = "primary") => { + return Swal.fire({ title: title, text: message, icon: "warning", @@ -40,4 +40,27 @@ export const alertWarningMessage = (title,message,type="primary") => { }, buttonsStyling: false }) +} + +export const toastPresupuestoSummary = (value, target = 'body') => { + return Swal.mixin({ + toast: true, + position: 'bottom-end', + html: ` +
+
+

Total presupuesto :

${value} +
+
`, + customClass: { + popup: 'bg-primary text-white', + }, + background: '#a5dc86', + target: target, + allowEscapeKey: false, + showConfirmButton: false, + timer: 0, + timerProgressBar: false, + stopKeydownPropagation: false, + }) } \ No newline at end of file diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js index e391bbef..aa90ef7b 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js @@ -1,3 +1,5 @@ +import { toastPresupuestoSummary } from "../../../components/alerts/sweetAlert.js"; + class Resumen { constructor() { @@ -7,7 +9,7 @@ class Resumen { init() { const self = this; - + this.toastPresupuestoTotal = null $(".update-totales").on("change", function () { self.updateTotales(true, true, true) }); @@ -16,6 +18,7 @@ class Resumen { await self.updateTotales(); $(document).trigger('update-totales-completed'); }); + $("#totalDespuesDecuento").on('change',this.updateToastSummary.bind(this)) } cargar(resumen) { @@ -44,7 +47,7 @@ class Resumen { $("#totalAntesDescuento").text(resumen.total_antes_descuento + "€" || "0€"); $("#total_descuentoPercent").val(resumen.total_descuentoPercent || "0"); $("#descuentoTotal").text(resumen.total_descuento + "€" || "0€"); - $("#totalDespuesDecuento").text(resumen.total_presupuesto + "€" || "0€"); + $("#totalDespuesDecuento").text(resumen.total_presupuesto + "€" || "0€").trigger("change") $("#precioUnidadPresupuesto").text(resumen.total_precio_unidad + "€" || "0€"); $("#factor").text(resumen.total_factor || "0"); $("#factor_ponderado").text(resumen.total_factor_ponderado || "0"); @@ -52,7 +55,7 @@ class Resumen { if (resumen.total_aceptado !== undefined) { $("#totalAceptado").val(resumen.total_aceptado + "€" || "0€"); } - + } update() { @@ -294,7 +297,7 @@ class Resumen { $('#totalAntesDescuento').text((this.addSeparatorsNF(totalAntesDescuento.toFixed(2), ".", ",", ".")) + "€") $('#descuentoTotal').text((this.addSeparatorsNF(totalDescuento.toFixed(2), ".", ",", ".")) + "€") - $('#totalDespuesDecuento').text((this.addSeparatorsNF(totalPresupuesto.toFixed(2), ".", ",", ".")) + "€") + $('#totalDespuesDecuento').text((this.addSeparatorsNF(totalPresupuesto.toFixed(2), ".", ",", ".")) + "€").trigger("change") $('#precioUnidadPresupuesto').text((this.addSeparatorsNF(precioUnidad.toFixed(4), ".", ",", ".")) + "€") $('#totalAntesDescuento').attr('val', (totalAntesDescuento).toFixed(2)) $('#descuentoTotal').attr('val', (totalDescuento).toFixed(2)) @@ -307,6 +310,7 @@ class Resumen { $('#factor_ponderado').text(this.addSeparatorsNF(((totalPresupuesto - totalEnvios - margenEnvios) / sumForFactorPonderado).toFixed(2), ".", ",", ".")) $('#factor_ponderado').attr('val', ((totalPresupuesto - totalEnvios - margenEnvios) / sumForFactorPonderado).toFixed(2)) + this.updateToastSummary() } @@ -352,6 +356,15 @@ class Resumen { roundToTwoDecimals(num) { return parseFloat(num.toFixed(2)); } + updateToastSummary() + { + if(this.toastPresupuestoTotal){ + this.toastPresupuestoTotal.close() + } + + this.toastPresupuestoTotal = toastPresupuestoSummary($("#totalDespuesDecuento").text()) + this.toastPresupuestoTotal.fire(); + } } export default Resumen; \ No newline at end of file