mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
resuelto problema presupuesto cliente
This commit is contained in:
@ -18,7 +18,7 @@ class Resumen {
|
||||
await self.updateTotales();
|
||||
$(document).trigger('update-totales-completed');
|
||||
});
|
||||
$("#totalDespuesDecuento").on('change',this.updateToastSummary.bind(this))
|
||||
$("#totalDespuesDecuento").on('change', this.updateToastSummary.bind(this))
|
||||
}
|
||||
|
||||
cargar(resumen) {
|
||||
@ -26,7 +26,7 @@ class Resumen {
|
||||
// Mapear los valores a los elementos HTML por ID
|
||||
$("#totalCostePapel").text(resumen.total_coste_papel.toString().replace('.', ',') + "€" || "0€");
|
||||
$("#porcentajeMargenPapel").text(resumen.total_margenPercent_papel ? resumen.total_margenPercent_papel.toString().replace('.', ',') + "%" : "0%");
|
||||
$("#margenPapel").text(resumen.total_margen_papel.toString().replace('.', ',')+ "€" || "0€");
|
||||
$("#margenPapel").text(resumen.total_margen_papel.toString().replace('.', ',') + "€" || "0€");
|
||||
|
||||
$("#totalCosteImpresion").text(resumen.total_coste_impresion.toString().replace('.', ',') + "€" || "0€");
|
||||
$("#porcentajeMargenImpresion").text(resumen.total_margenPercent_impresion ? resumen.total_margenPercent_impresion.toString().replace('.', ',') + "%" : "0%");
|
||||
@ -56,7 +56,7 @@ class Resumen {
|
||||
$("#totalAceptado").val(resumen.total_aceptado.toString().replace('.', ',') + "€" || "0€");
|
||||
}
|
||||
|
||||
$('#ivaReducido').val(resumen.iva_reducido ? 1: 0);
|
||||
$('#ivaReducido').val(resumen.iva_reducido ? 1 : 0);
|
||||
|
||||
}
|
||||
|
||||
@ -100,6 +100,7 @@ class Resumen {
|
||||
let margenServicios = parseFloat(0);
|
||||
|
||||
let totalEnvios = 0;
|
||||
let totalEnvios_base = 0;
|
||||
let margenEnvios = 0;
|
||||
|
||||
let sumForFactor = 0.0;
|
||||
@ -134,7 +135,7 @@ class Resumen {
|
||||
|
||||
if (rowData.maquinaTipo == 'inkjet') {
|
||||
totalImpresion += parseFloat(rowData.totalTinta)
|
||||
totalImpresion += parseFloat(rowData.totalCorte)?? 0;
|
||||
totalImpresion += parseFloat(rowData.totalCorte) ?? 0;
|
||||
//sumForFactor += (parseFloat(rowData.totalTinta) + parseFloat(rowData.totalCorte))
|
||||
}
|
||||
|
||||
@ -189,7 +190,7 @@ class Resumen {
|
||||
let margen_servicio = parseFloat(rowData.margen);
|
||||
totalServicios += total_servicio
|
||||
let base = self.roundToTwoDecimals(total_servicio / (1 + margen_servicio / 100.0));
|
||||
base = self.roundToTwoDecimals(base / parseInt($('#tirada').val()))*parseInt($('#tirada').val());
|
||||
base = self.roundToTwoDecimals(base / parseInt($('#tirada').val())) * parseInt($('#tirada').val());
|
||||
margenServicios += self.roundToTwoDecimals(parseFloat(total_servicio - base));
|
||||
});
|
||||
}
|
||||
@ -201,7 +202,7 @@ class Resumen {
|
||||
let margen_servicio = parseFloat(rowData.margen);
|
||||
totalServicios += total_servicio
|
||||
let base = self.roundToTwoDecimals(total_servicio / (1 + margen_servicio / 100.0));
|
||||
base = self.roundToTwoDecimals(base / parseInt($('#tirada').val()))*parseInt($('#tirada').val());
|
||||
base = self.roundToTwoDecimals(base / parseInt($('#tirada').val())) * parseInt($('#tirada').val());
|
||||
margenServicios += self.roundToTwoDecimals(parseFloat(total_servicio - base));
|
||||
});
|
||||
}
|
||||
@ -211,7 +212,7 @@ class Resumen {
|
||||
let rowData = this.data();
|
||||
let total_servicio = self.roundToTwoDecimals(parseFloat(rowData.precio));
|
||||
let base = (parseFloat(rowData.precio / (1 + parseFloat(rowData.margen) / 100.0)).toFixed(2));
|
||||
base = self.roundToTwoDecimals(base / parseInt($('#tirada').val()))*parseInt($('#tirada').val());
|
||||
base = self.roundToTwoDecimals(base / parseInt($('#tirada').val())) * parseInt($('#tirada').val());
|
||||
margenServicios += self.roundToTwoDecimals(parseFloat(total_servicio - base));
|
||||
totalServicios += total_servicio
|
||||
});
|
||||
@ -222,7 +223,7 @@ class Resumen {
|
||||
let rowData = this.data();
|
||||
let total_servicio = self.roundToTwoDecimals(parseFloat(rowData.precio));
|
||||
let base = (parseFloat(rowData.precio / (1 + parseFloat(rowData.margen) / 100.0)).toFixed(2));
|
||||
base = self.roundToTwoDecimals(base / parseInt($('#tirada').val()))*parseInt($('#tirada').val());
|
||||
base = self.roundToTwoDecimals(base / parseInt($('#tirada').val())) * parseInt($('#tirada').val());
|
||||
margenServicios += self.roundToTwoDecimals(parseFloat(total_servicio - base));
|
||||
totalServicios += total_servicio;
|
||||
});
|
||||
@ -235,7 +236,7 @@ class Resumen {
|
||||
let margen_servicio = parseFloat(rowData.margen);
|
||||
totalServicios += total_servicio
|
||||
let base = self.roundToTwoDecimals(total_servicio / (1 + margen_servicio / 100.0));
|
||||
base = self.roundToTwoDecimals(base / parseInt($('#tirada').val()))*parseInt($('#tirada').val());
|
||||
base = self.roundToTwoDecimals(base / parseInt($('#tirada').val())) * parseInt($('#tirada').val());
|
||||
margenServicios += self.roundToTwoDecimals(parseFloat(total_servicio - base));
|
||||
});
|
||||
}
|
||||
@ -262,15 +263,16 @@ class Resumen {
|
||||
|
||||
if (updateEnvio) {
|
||||
|
||||
totalEnvios = parseFloat($('#envio_base').val());
|
||||
totalEnvios_base = parseFloat($('#envio_base').val());
|
||||
if (typeof $('#tableOfDireccionesEnvio').DataTable() !== 'undefined' && $('#tableOfDireccionesEnvio').DataTable().rows().count() > 0) {
|
||||
$('#tableOfDireccionesEnvio').DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) {
|
||||
if (rowIdx == 0) {
|
||||
return;
|
||||
// el primer envio es el base, y no se debe de cobrar
|
||||
if (rowIdx != 0) {
|
||||
|
||||
let data = this.data()
|
||||
totalEnvios += parseFloat(data.precio)
|
||||
margenEnvios += parseFloat((data.precio) * data.margen / 100)
|
||||
}
|
||||
let data = this.data()
|
||||
totalEnvios += parseFloat(data.precio)
|
||||
margenEnvios += parseFloat((data.precio) * data.margen / 100)
|
||||
});
|
||||
}
|
||||
|
||||
@ -298,10 +300,11 @@ class Resumen {
|
||||
if ($('#total_descuentoPercent').val() < 0) {
|
||||
$('#total_descuentoPercent').val(0)
|
||||
}
|
||||
let totalAntesDescuento = totalCostes + totalMargenes
|
||||
let totalAntesDescuento = totalCostes + totalMargenes - parseFloat(totalEnvios.toFixed(2)) + totalEnvios_base;
|
||||
let totalDescuento = totalAntesDescuento * parseInt($('#total_descuentoPercent').val() || 0) / 100
|
||||
let totalPresupuesto = totalAntesDescuento - totalDescuento
|
||||
let totalPresupuesto = totalAntesDescuento - totalDescuento; // para el calculo del precio_u solo se tiene en cuenta el base
|
||||
let precioUnidad = totalPresupuesto / parseInt($('#tirada').val())
|
||||
totalPresupuesto += totalEnvios;
|
||||
|
||||
$('#totalAntesDescuento').text((this.addSeparatorsNF(totalAntesDescuento.toFixed(2), ".", ",", ".")) + "€")
|
||||
$('#descuentoTotal').text((this.addSeparatorsNF(totalDescuento.toFixed(2), ".", ",", ".")) + "€")
|
||||
@ -313,15 +316,15 @@ class Resumen {
|
||||
$('#precioUnidadPresupuesto').attr('val', (precioUnidad).toFixed(4))
|
||||
$('#totalDespuesDecuento').trigger("change")
|
||||
|
||||
$('#factor').text(this.addSeparatorsNF(((totalPresupuesto - totalEnvios - margenEnvios) / sumForFactor).toFixed(2), ".", ",", "."))
|
||||
$('#factor').attr('val', ((totalPresupuesto - totalEnvios - margenEnvios) / sumForFactor).toFixed(2))
|
||||
$('#factor_ponderado').text(this.addSeparatorsNF(((totalPresupuesto - totalEnvios - margenEnvios) / sumForFactorPonderado).toFixed(2), ".", ",", "."))
|
||||
$('#factor_ponderado').attr('val', ((totalPresupuesto - totalEnvios - margenEnvios) / sumForFactorPonderado).toFixed(2))
|
||||
$('#factor').text(this.addSeparatorsNF(((totalPresupuesto - totalEnvios - totalEnvios_base - margenEnvios) / sumForFactor).toFixed(2), ".", ",", "."))
|
||||
$('#factor').attr('val', ((totalPresupuesto - totalEnvios - totalEnvios_base - margenEnvios) / sumForFactor).toFixed(2))
|
||||
$('#factor_ponderado').text(this.addSeparatorsNF(((totalPresupuesto - totalEnvios - totalEnvios_base - margenEnvios) / sumForFactorPonderado).toFixed(2), ".", ",", "."))
|
||||
$('#factor_ponderado').attr('val', ((totalPresupuesto - totalEnvios - totalEnvios_base - margenEnvios) / sumForFactorPonderado).toFixed(2))
|
||||
|
||||
}
|
||||
|
||||
|
||||
getData(){
|
||||
getData() {
|
||||
|
||||
let data = {
|
||||
'total_coste_papel': $('#totalCostePapel').text().replace('€', '').replace(',', '.'),
|
||||
@ -354,7 +357,7 @@ class Resumen {
|
||||
'iva_reducido': $('#ivaReducido').val()
|
||||
};
|
||||
|
||||
if($('#confirmar_presupuesto').prop('checked')){
|
||||
if ($('#confirmar_presupuesto').prop('checked')) {
|
||||
data.confirmar = '1';
|
||||
data.total_aceptado = $('#totalDespuesDecuento').text().replace('€', '').replace(',', '.');
|
||||
}
|
||||
@ -365,15 +368,14 @@ class Resumen {
|
||||
roundToTwoDecimals(num) {
|
||||
return parseFloat(num.toFixed(2));
|
||||
}
|
||||
updateToastSummary()
|
||||
{
|
||||
if(this.toastPresupuestoTotal){
|
||||
updateToastSummary() {
|
||||
if (this.toastPresupuestoTotal) {
|
||||
this.toastPresupuestoTotal.close()
|
||||
}
|
||||
|
||||
this.toastPresupuestoTotal = toastPresupuestoSummary($("#totalDespuesDecuento").text() ?? 0)
|
||||
this.toastPresupuestoTotal.fire().then((result) => {
|
||||
if(result.isDismissed && result.dismiss == 'close'){
|
||||
if (result.isDismissed && result.dismiss == 'close') {
|
||||
this.updateToastSummary()
|
||||
$('html, body').animate(
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user