pruebas solapas max

This commit is contained in:
2025-01-29 21:16:40 +01:00
parent 2871326989
commit b87a75d1fa
3 changed files with 93 additions and 87 deletions

View File

@ -367,6 +367,8 @@ class PresupuestoAdminEdit {
}, 0);
this.calcularSolapas();
// Funciones para detectar cambios en el formulario
this.#checkChangesPresupuesto();
$('#bc-save').on("click", function () {
@ -382,29 +384,6 @@ class PresupuestoAdminEdit {
).get();
}
/*
calcularSolapas() {
this.#getDatos(false, true);
if (Object.values(this.datos).every(this.#isValidDataForm)) {
new Ajax('/presupuestocliente/calcularsolapas',
this.datos,
{},
(response) => {
if (response === null || response === undefined || response === "") {
console.error("Error en el calculo máximo de solapas.");
return;
}
this.disenioCubierta.tamanioSolapasCubierta.attr('max', response);
this.disenioCubierta.solapasSobrecubierta.attr('max', response);
this.disenioCubierta.textoSolapasCubierta.text("Entre 60 y " + response + " mm");
this.disenioCubierta.textoSolapasSobrecubierta.text("Entre 60 y " + response + " mm");
},
() => { }
).post();
}
}*/
checkPaginasPresupuesto() {
@ -416,7 +395,7 @@ class PresupuestoAdminEdit {
cantidad_total += parseInt(rowData.paginas)
})
htmlString = ''
if (cantidad_total != parseInt($('#paginas').val())) {
htmlString = `
<div class="alert alert-warning d-flex align-items-baseline" role="alert">
@ -429,12 +408,12 @@ class PresupuestoAdminEdit {
`</h5>
</div>
</div>`;
}
}
$('#divAlarmasLineasPresupuesto').html(htmlString)
}
getPaginasColor(){
getPaginasColor() {
let paginasColor = 0;
this.lineasPresupuesto.table.rows().every(function (rowIdx, tableLoop, rowLoop) {
@ -442,42 +421,51 @@ class PresupuestoAdminEdit {
if (rowData.row_id === 'lp_color' || rowData.row_id === 'lp_colorhq') {
return parseInt(rowData.paginas);
}
if(rowData.row_id === 'lp_rot_color'){
if (rowData.row_id === 'lp_rot_color') {
return parseInt(rowData.numPagColor);
}
});
return paginasColor;
return paginasColor;
}
calcularSolapas() {
let datos = {
cliente_id: this.datosGenerales.cliente.getVal(),
tirada: this.datosGenerales.tirada.val(),
tamanio: this.getDimensionLibro(),
paginas: this.datosLibro.paginas.val(),
//paginasColor:
let anchoTotal = 2*this.getDimensionLibro().ancho;
let maxSolapas = 120;
let mano = 0;
this.lineasPresupuesto.table.rows().every(function (rowIdx, tableLoop, rowLoop) {
var rowData = this.data();
if (rowData.row_id != 'lp_cubierta' || rowData.row_id === 'lp_sobrecubierta'
|| rowData.row_id === 'lp_guardas' || rowData.row_id === 'lp_faja'
) {
mano += parseInt(rowData.mano);
}
});
if (mano > 0) {
anchoTotal += 6 + 5; // dobleces + sangre
maxSolapas = Math.min(Math.floor((865-anchoTotal)/2), 0.75*this.getDimensionLibro().ancho);
}
/*if (Object.values(this.datos).every(this.#isValidDataForm)) {
new Ajax('/presupuestocliente/calcularsolapas',
this.datos,
{},
(response) => {
if (response === null || response === undefined || response === "") {
console.error("Error en el calculo máximo de solapas.");
return;
}
this.disenioCubierta.tamanioSolapasCubierta.attr('max', response);
this.disenioCubierta.solapasSobrecubierta.attr('max', response);
this.disenioCubierta.textoSolapasCubierta.text("Entre 60 y " + response + " mm");
this.disenioCubierta.textoSolapasSobrecubierta.text("Entre 60 y " + response + " mm");
},
() => { }
).post();
}*/
else{
maxSolapas = 0.75*this.getDimensionLibro().ancho;
}
if($('#solapas_ancho').length>0 && $('#solapas_ancho').attr('max') != maxSolapas){
$('#solapas_ancho').attr('max', maxSolapas);
$('#solapas_ancho').trigger('change');
$('#solapas_ancho').closest('.mb-1').find('.form-text').text('Entre 60 y ' + maxSolapas + ' mm');
}
if($('#solapas_ancho_sobrecubierta').length>0 && $('#solapas_ancho_sobrecubierta').attr('max') != maxSolapas){
$('#solapas_ancho_sobrecubierta').attr('max', maxSolapas);
$('#solapas_ancho_sobrecubierta').trigger('change');
$('#solapas_ancho_sobrecubierta').closest('.mb-1').find('.form-text').text('Entre 60 y ' + maxSolapas + ' mm');
}
if($('#solapas_ancho_faja').length>0 && $('#solapas_ancho_faja').attr('max') != maxSolapas){
$('#solapas_ancho_faja').attr('max', maxSolapas);
$('#solapas_ancho_faja').trigger('change');
$('#solapas_ancho_faja').closest('.mb-1').find('.form-text').text('Entre 60 y ' + maxSolapas + ' mm');
}
console.log('maxSolapas', maxSolapas);
}
getDimensionLibro() {

View File

@ -95,6 +95,24 @@ class DatosLibro {
this.paginas.on('change', this.changePaginas.bind(this));
this.tirada.on('change', this.changeTirada.bind(this));
this.anchoSolapasCubierta.on('focusout', this.checkSolapasMax.bind(this));
this.anchoSolapasSobrecubierta.on('focusout', this.checkSolapasMax.bind(this));
}
}
checkSolapasMax(event) {
const el = event.target;
if (el.value != "") {
if (parseInt(el.value) < parseInt(el.min)) {
el.value = el.min;
}
if (parseInt(el.value) > parseInt(el.max)) {
el.value = el.max;
}
}
else{
el.value = el.min;
}
}
@ -172,8 +190,8 @@ class DatosLibro {
this.checkPaginasPresupuesto();
$(document).trigger('update-presupuesto', {
update_lineas : true,
update_servicios : true,
update_lineas: true,
update_servicios: true,
update_envios: true,
update_resumen: true,
update_tiradas_alternativas: true
@ -199,10 +217,10 @@ class DatosLibro {
$("#label_papelFormatoId").text(
window.language.Presupuestos.papelFormatoId + '*');
}
$(document).trigger('update-presupuesto', {
update_lineas : true,
update_servicios : false,
update_lineas: true,
update_servicios: false,
update_envios: false,
update_resumen: false,
update_tiradas_alternativas: false
@ -228,12 +246,12 @@ class DatosLibro {
this.updateComparador();
}
changeAnchoSolapasCubierta(){
changeAnchoSolapasCubierta() {
if(this.checkSolapasGrandes('cubierta')){
if (this.checkSolapasGrandes('cubierta')) {
$(document).trigger('add-servicio-lineas', 'solapas_grandes_cubierta');
}
else{
else {
$(document).trigger('remove-servicio-lineas', 'solapas_grandes_cubierta');
}
@ -259,12 +277,12 @@ class DatosLibro {
}
changeAnchoSolapasSobrecubierta(){
changeAnchoSolapasSobrecubierta() {
if(this.checkSolapasGrandes('cubierta')){
if (this.checkSolapasGrandes('cubierta')) {
$(document).trigger('add-servicio-lineas', 'solapas_grandes_sobrecubierta');
}
else{
else {
$(document).trigger('remove-servicio-lineas', 'solapas_grandes_sobrecubierta');
}
@ -274,24 +292,24 @@ class DatosLibro {
}
checkSolapasGrandes(elemento) {
const ancho_libro = 2 * this.getDimensionLibro().ancho;
let ancho_solapas = 0.0;
let lomo = 0.0;
if(elemento == 'cubierta'){
ancho_solapas = 2 * parseFloat($('solapas_ancho').val());
lomo = parseFloat($('lomo_cubierta').val());
if (elemento == 'cubierta') {
ancho_solapas = 2 * parseFloat($('solapas_ancho').val());
lomo = parseFloat($('lomo_cubierta').val());
}
else if (elemento == 'sobrecubierta'){
ancho_solapas = 2 * parseFloat($('solapas_ancho_sobrecubierta').val());
lomo = parseFloat($('lomo_sobrecubierta').val());
else if (elemento == 'sobrecubierta') {
ancho_solapas = 2 * parseFloat($('solapas_ancho_sobrecubierta').val());
lomo = parseFloat($('lomo_sobrecubierta').val());
}
else
else
return false;
if (ancho_libro + ancho_solapas + lomo > 630)
if (ancho_libro + ancho_solapas + lomo > 630)
return true;
else
else
return false
}
@ -320,32 +338,32 @@ class DatosLibro {
$('#compPaginasNegrohq').trigger('change');
}
$(document).trigger('update-presupuesto', {
update_lineas : true,
update_servicios : true,
update_lineas: true,
update_servicios: true,
update_envios: true,
update_resumen: true,
update_tiradas_alternativas: true
});
}
}
updateComparador(){
updateComparador() {
if($("#compPaginasNegro").hasClass('d-none')){
if ($("#compPaginasNegro").hasClass('d-none')) {
$('#compPaginasNegrohq').trigger('change');
}
else{
else {
$('#compPaginasNegro').trigger('change');
}
$('#compCarasCubierta').trigger('change');
if($('#compSobrecubierta').length){
if ($('#compSobrecubierta').length) {
$('#compSobrecubierta').trigger('change');
}
if($('#compCarasGuardas').length){
if ($('#compCarasGuardas').length) {
$('#compCarasGuardas').trigger('change');
}
}
@ -361,13 +379,13 @@ class DatosLibro {
if (url_parts2[url_parts2.length - 2] == 'edit') {
$(document).trigger('update-presupuesto', {
update_lineas : true,
update_servicios : false,
update_lineas: true,
update_servicios: false,
update_envios: false,
update_resumen: false,
update_tiradas_alternativas: false
});
$(document).trigger('ckeck-lineas-envios');
}
}