solucionado el problema al seleccionar cosido o grapado para paginas no multiplo de 4

This commit is contained in:
2024-12-26 11:30:55 +01:00
parent b80480a101
commit 6308b4d883
3 changed files with 47 additions and 3 deletions

View File

@ -361,7 +361,7 @@ return [
'sin_gramaje' => "Seleccione gramaje", 'sin_gramaje' => "Seleccione gramaje",
'tipo_cubierta' => 'Seleccione tipo de cubierta', 'tipo_cubierta' => 'Seleccione tipo de cubierta',
'opcion_solapas' => 'Seleccione la opción para las solapas', 'opcion_solapas' => 'Seleccione la opción para las solapas',
'paginas_cosido' => 'El número de páginas para <b>cosido</b> debe ser múltiplo de 4', 'paginas_multiplo_4' => 'El número de páginas para <b>cosido</b> o <b>grapado</b> debe ser múltiplo de 4',
'paginas_pares' => 'El número de páginas debe ser par', 'paginas_pares' => 'El número de páginas debe ser par',
], ],

View File

@ -330,17 +330,18 @@ class DatosGenerales {
divTipoLibro.find('.fv-plugins-message-container').remove(); divTipoLibro.find('.fv-plugins-message-container').remove();
if ($('.tipo-libro.selected').length > 0) { if ($('.tipo-libro.selected').length > 0) {
if ($('#cosido').hasClass('selected')) { if ($('#cosido').hasClass('selected') || $('#grapado').hasClass('selected')) {
const value = parseInt($("#paginas").val()); const value = parseInt($("#paginas").val());
if (value % 4 != 0) { if (value % 4 != 0) {
divTipoLibro.append(` divTipoLibro.append(`
<div class="fv-plugins-message-container invalid-feedback"> <div class="fv-plugins-message-container invalid-feedback">
<div data-field="div_tipo_libro" data-validator="callback" style="margin-top: 50px;"> <div data-field="div_tipo_libro" data-validator="callback" style="margin-top: 50px;">
${window.translations["validation"].paginas_cosido} ${window.translations["validation"].paginas_multiplo_4}
</div> </div>
</div> </div>
`); `);
} }
return false;
} }
return true; return true;
@ -583,6 +584,10 @@ class DatosGenerales {
this.tiposLibro.removeClass('selected'); this.tiposLibro.removeClass('selected');
this.tiposLibro.find('.image-presupuesto').removeClass('selected'); this.tiposLibro.find('.image-presupuesto').removeClass('selected');
this.domItem.find('#' + datos.tipo).addClass('selected'); this.domItem.find('#' + datos.tipo).addClass('selected');
if(datos.tipo == 'cosido'){
this.divPaginasCuaderillo.removeClass('d-none');
}
} }
this.prototipo.prop('checked', datos.prototipo); this.prototipo.prop('checked', datos.prototipo);
@ -726,6 +731,8 @@ class DatosGenerales {
} }
} }
this.checkPaginasMultiplo4();
// Para recalcular el presupuesto // Para recalcular el presupuesto
$('#divGramajeInterior').empty(); $('#divGramajeInterior').empty();
$('#divGramajeInteriorColor').empty(); $('#divGramajeInteriorColor').empty();
@ -789,6 +796,29 @@ class DatosGenerales {
this.divPaginasColorConsecutivas.removeClass('d-none'); this.divPaginasColorConsecutivas.removeClass('d-none');
this.divPosPaginasColor.removeClass('d-none'); this.divPosPaginasColor.removeClass('d-none');
} }
this.checkPaginasMultiplo4();
}
checkPaginasMultiplo4(){
const divTipoLibro = $('#divTipoLibro'); // Selecciona el div
divTipoLibro.find('.fv-plugins-message-container').remove();
if ($('#cosido').hasClass('selected') || $('#grapado').hasClass('selected')) {
const value = parseInt($("#paginas").val());
if (value % 4 != 0) {
divTipoLibro.append(`
<div class="fv-plugins-message-container invalid-feedback">
<div data-field="div_tipo_libro" data-validator="callback" style="margin-top: 50px;">
${window.translations["validation"].paginas_multiplo_4}
</div>
</div>
`);
return false;
}
}
return true;
} }

View File

@ -211,11 +211,19 @@ class PresupuestoCliente {
let datos_to_check = this.#prepareData(); let datos_to_check = this.#prepareData();
if (Object.values(datos_to_check).every(this.#isValidDataForm)) { if (Object.values(datos_to_check).every(this.#isValidDataForm)) {
try { try {
if (!this.datosGenerales.checkPaginasMultiplo4()) {
popErrorAlert("Compruebe que todos los campos son correctos.");
return;
}
setTimeout(function () { setTimeout(function () {
$('#loader').modal('show'); $('#loader').modal('show');
}, 0); }, 0);
// Si se está ejecutando la petición, abortar la petición anterior // Si se está ejecutando la petición, abortar la petición anterior
this.ajax_calcular.abort(); this.ajax_calcular.abort();
@ -453,6 +461,12 @@ class PresupuestoCliente {
return; return;
} }
if ($('.invalid-feedback').length > 0) {
popErrorAlert("Compruebe que todos los campos son correctos.");
$('#loader').modal('hide');
return;
}
this.#getDatos(true); this.#getDatos(true);
if (confirmar) { if (confirmar) {