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

@ -694,7 +694,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
$excluirRotativa = $reqData['excluirRotativa'] ?? 0; $excluirRotativa = $reqData['excluirRotativa'] ?? 0;
$excluirRotativa = intval($excluirRotativa); $excluirRotativa = intval($excluirRotativa);
$tipo = $reqData['tipo']; $tipo = $reqData['tipo'] ??'cosido';
$tipoCubierta = 'blanda'; // solapas sólo tapa blanda y sobre cubierta $tipoCubierta = 'blanda'; // solapas sólo tapa blanda y sobre cubierta
$isColor = intval($reqData['isColor']) ?? 0; $isColor = intval($reqData['isColor']) ?? 0;

View File

@ -367,6 +367,8 @@ class PresupuestoAdminEdit {
}, 0); }, 0);
this.calcularSolapas();
// Funciones para detectar cambios en el formulario // Funciones para detectar cambios en el formulario
this.#checkChangesPresupuesto(); this.#checkChangesPresupuesto();
$('#bc-save').on("click", function () { $('#bc-save').on("click", function () {
@ -382,29 +384,6 @@ class PresupuestoAdminEdit {
).get(); ).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() { checkPaginasPresupuesto() {
@ -451,33 +430,42 @@ class PresupuestoAdminEdit {
calcularSolapas() { calcularSolapas() {
let datos = { let anchoTotal = 2*this.getDimensionLibro().ancho;
cliente_id: this.datosGenerales.cliente.getVal(), let maxSolapas = 120;
tirada: this.datosGenerales.tirada.val(),
tamanio: this.getDimensionLibro(),
paginas: this.datosLibro.paginas.val(),
//paginasColor:
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 (Object.values(this.datos).every(this.#isValidDataForm)) { if (mano > 0) {
new Ajax('/presupuestocliente/calcularsolapas', anchoTotal += 6 + 5; // dobleces + sangre
this.datos, maxSolapas = Math.min(Math.floor((865-anchoTotal)/2), 0.75*this.getDimensionLibro().ancho);
{},
(response) => {
if (response === null || response === undefined || response === "") {
console.error("Error en el calculo máximo de solapas.");
return;
} }
this.disenioCubierta.tamanioSolapasCubierta.attr('max', response); else{
this.disenioCubierta.solapasSobrecubierta.attr('max', response); maxSolapas = 0.75*this.getDimensionLibro().ancho;
this.disenioCubierta.textoSolapasCubierta.text("Entre 60 y " + response + " mm"); }
this.disenioCubierta.textoSolapasSobrecubierta.text("Entre 60 y " + response + " mm"); if($('#solapas_ancho').length>0 && $('#solapas_ancho').attr('max') != maxSolapas){
}, $('#solapas_ancho').attr('max', maxSolapas);
() => { } $('#solapas_ancho').trigger('change');
).post(); $('#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() { getDimensionLibro() {

View File

@ -95,6 +95,24 @@ class DatosLibro {
this.paginas.on('change', this.changePaginas.bind(this)); this.paginas.on('change', this.changePaginas.bind(this));
this.tirada.on('change', this.changeTirada.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;
} }
} }