diff --git a/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php b/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php index b5e98455..a2d6acb0 100644 --- a/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php @@ -478,6 +478,10 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController $data['datosLibro']['solapasSobrecubierta'] = $presupuesto->solapas_sobrecubierta; $data['datosLibro']['solapasCubiertaAncho'] = $presupuesto->solapas_ancho; $data['datosLibro']['solapasSobrecubiertaAncho'] = $presupuesto->solapas_ancho_sobrecubierta; + $data['datosLibro']['fajaColor'] = $presupuesto->faja_color; + $data['datosLibro']['fajaColorSolapasAncho'] = $presupuesto->solapas_ancho_faja_color; + $data['datosLibro']['fajaColorAlto'] = $presupuesto->alto_faja_color; + $modelAcabado = model("App\Models\Tarifas\Acabados\TarifaAcabadoModel"); $data['datosLibro']['acabadoCubierta']['id'] = $presupuesto->acabado_cubierta_id; if ($presupuesto->acabado_cubierta_id == 0) { @@ -497,8 +501,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController $data['datosLibro']['marcapaginas'] = $presupuesto->marcapaginas; $data['datosLibro']['retractilado'] = $presupuesto->retractilado; $data['datosLibro']['retractilado5'] = $presupuesto->retractilado5; - $data['datosLibro']['fajaColor'] = $presupuesto->faja_color; - + $data['comparador']['tipo_impresion'] = $presupuesto->comp_tipo_impresion; $data['comparador']['json_data'] = json_decode($presupuesto->comparador_json_data, true); if ($data['comparador']['json_data'] != null) { diff --git a/ci4/app/Entities/Presupuestos/PresupuestoEntity.php b/ci4/app/Entities/Presupuestos/PresupuestoEntity.php index 7d736a94..92eca96c 100755 --- a/ci4/app/Entities/Presupuestos/PresupuestoEntity.php +++ b/ci4/app/Entities/Presupuestos/PresupuestoEntity.php @@ -31,7 +31,6 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity "retractilado" => false, "retractilado5" => false, "guardas" => false, - "faja_color" => false, "recoger_en_taller" => false, "ferro" => false, "ferro_digital" => false, @@ -53,6 +52,9 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity "solapas_ancho" => 0.0, "solapas_sobrecubierta" => false, "solapas_ancho_sobrecubierta" => 0.0, + "faja_color" => false, + "solapas_ancho_faja_color" => 0.0, + "alto_faja_color" => 0.0, "cosido" => false, "sobrecubiertas" => false, "sobrecubiertas_ancho" => 0.0, @@ -121,7 +123,6 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity "retractilado" => "boolean", "retractilado5" => "boolean", "guardas" => "boolean", - "faja_color" => "boolean", "recoger_en_taller" => "boolean", "ferro" => "boolean", "ferro_digital" => "boolean", @@ -137,6 +138,9 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity "solapas_ancho" => "float", "solapas_sobrecubierta" => "boolean", "solapas_ancho_sobrecubierta" => "float", + "faja_color" => "boolean", + "solapas_ancho_faja_color" => "float", + "alto_faja_color" => "float", "cosido" => "boolean", "sobrecubiertas" => "boolean", "sobrecubiertas_ancho" => "float", diff --git a/ci4/app/Models/Presupuestos/PresupuestoModel.php b/ci4/app/Models/Presupuestos/PresupuestoModel.php index 4a80cd50..f515e833 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoModel.php @@ -54,7 +54,6 @@ class PresupuestoModel extends \App\Models\BaseModel "retractilado", "retractilado5", "guardas", - "faja_color", "recoger_en_taller", "ferro", "ferro_digital", @@ -76,6 +75,9 @@ class PresupuestoModel extends \App\Models\BaseModel "solapas_ancho", "solapas_sobrecubierta", "solapas_ancho_sobrecubierta", + "solapas_ancho_faja_color", + "faja_color", + "alto_faja_color", "cosido", "sobrecubiertas", "sobrecubiertas_ancho", diff --git a/ci4/app/Services/PresupuestoService.php b/ci4/app/Services/PresupuestoService.php index 255b2cad..b508d9f2 100755 --- a/ci4/app/Services/PresupuestoService.php +++ b/ci4/app/Services/PresupuestoService.php @@ -945,7 +945,7 @@ class PresupuestoService extends BaseService $alto_total += (7 + 2 * self::SANGRE_FORMAS); } // Tapa dura (espiral y wire-0) - if ($tipo_impresion_id == 5 || $tipo_impresion_id == 7) { + else if ($tipo_impresion_id == 5 || $tipo_impresion_id == 7) { // Sólo se le añade los 20mm de sangre por cada lado $alto_total += (2 * self::SANGRE_FORMAS_CUBIERTA); } diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosLibroItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosLibroItems.php index c8172bbe..8a479ee5 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosLibroItems.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosLibroItems.php @@ -182,7 +182,7 @@ * + step="1" class="form-control" min="50" value="50">
Entre 50 y 120 mm
@@ -194,7 +194,7 @@ * + maxLength="8" step="1" min="60" class="form-control" value="60">
Entre 60 y 120 mm
diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_lineasPresupuestoItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_lineasPresupuestoItems.php index cda116b4..22da692e 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_lineasPresupuestoItems.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_lineasPresupuestoItems.php @@ -60,6 +60,7 @@ + diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js index 35ec8dab..57f1d357 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js @@ -34,6 +34,7 @@ class PresupuestoAdminEdit { { checkPaginasPresupuesto: this.checkPaginasPresupuesto, getDimensionLibro: this.getDimensionLibro, + calcularSolapas: this.calcularSolapas.bind(this) }); this.comparador = new Comparador(this.domItem.find('#accordionDatosPresupuestoClienteTip'), { @@ -198,15 +199,15 @@ class PresupuestoAdminEdit { ...datos, ...{ paginas: this.datosLibro.paginas.val(), tirada: this.datosLibro.tirada.val(), - papel_formato_id: this.datosLibro.tamanio.item.hasClass('d-none') ? 0 : this.datosLibro.tamanio.getVal(), - papel_formato_personalizado: this.datosLibro.tamanio.item.hasClass('d-none') ? 1 : 0, + papel_formato_id: this.datosLibro.tamanioPersonalizado.prop('checked') ? 0 : this.datosLibro.tamanio.getVal(), + papel_formato_personalizado: this.datosLibro.tamanioPersonalizado.prop('checked') ? 1 : 0, merma: this.datosLibro.merma.val(), merma_cubierta: this.datosLibro.mermaCubierta.val() } } - if (datos.papel_formato_personalizado) { + if (this.datosLibro.tamanioPersonalizado.prop('checked')) { datos.papel_formato_ancho = this.datosLibro.anchoPersonalizado.val(), - datos.papel_formato_alto = this.datosLibro.altoPersonalizado.val() + datos.papel_formato_alto = this.datosLibro.altoPersonalizado.val() } datos.selectedTirada = this.datosLibro.tirada.val(); datos.acabado_cubierta_id = this.datosLibro.acabadoCubierta.getVal(); @@ -244,6 +245,10 @@ class PresupuestoAdminEdit { datos.solapas_sobrecubierta = this.datosLibro.solapasSobrecubierta.is(':checked') ? 1 : 0; datos.solapas_ancho_sobrecubierta = this.datosLibro.anchoSolapasSobrecubierta.val(); + datos.faja_color = this.datosLibro.faja.prop('checked') ? 1: 0; + datos.solapas_ancho_faja_color = this.datosLibro.fajaSolapasAncho.val(); + datos.alto_faja_color = this.datosLibro.fajaAlto.val(); + datos.entrega_taller = this.envios.recogerTaller.is(':checked') ? 1 : 0; if (parseInt(this.cosido.val())) { @@ -377,6 +382,11 @@ class PresupuestoAdminEdit { }, 0); this.calcularSolapas(); + if ($('#faja_alto').length > 0 && $('#faja_alto').attr('max') != this.getDimensionLibro().alto) { + $('#faja_alto').attr('max', this.getDimensionLibro().alto); + $('#faja_alto').trigger('change'); + $('#faja_alto').closest('.mb-1').find('.form-text').text('Entre 50 y ' + this.getDimensionLibro().alto + ' mm'); + } // Funciones para detectar cambios en el formulario this.#checkChangesPresupuesto(); @@ -470,10 +480,10 @@ class PresupuestoAdminEdit { $('#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'); + if ($('#faja_solapas_ancho').length > 0 && $('#faja_solapas_ancho').attr('max') != maxSolapas) { + $('#faja_solapas_ancho').attr('max', maxSolapas); + $('#faja_solapas_ancho').trigger('change'); + $('#faja_solapas_ancho').closest('.mb-1').find('.form-text').text('Entre 60 y ' + maxSolapas + ' mm'); } } diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/datosLibro.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/datosLibro.js index e34d08fe..183556d9 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/datosLibro.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/datosLibro.js @@ -9,6 +9,7 @@ class DatosLibro { this.checkPaginasPresupuesto = functions.checkPaginasPresupuesto; this.getDimensionLibro = functions.getDimensionLibro; + this.calcularSolapas = functions.calcularSolapas; this.csrf_token = getToken(); this.csrf_hash = $('#mainContainer').find('input[name="' + this.csrf_token + '"]').val(); @@ -101,8 +102,10 @@ class DatosLibro { this.paginas.on('change', this.changePaginas.bind(this)); this.tirada.on('change', this.changeTirada.bind(this)); - this.anchoSolapasCubierta.on('focusout', this.checkSolapaAncho.bind(this)); - this.anchoSolapasSobrecubierta.on('focusout', this.checkSolapaAncho.bind(this)); + this.anchoSolapasCubierta.on('focusout', this.checkMinMaxInput.bind(this)); + this.anchoSolapasSobrecubierta.on('focusout', this.checkMinMaxInput.bind(this)); + this.fajaSolapasAncho.on('focusout', this.checkMinMaxInput.bind(this)); + this.fajaAlto.on('focusout', this.checkMinMaxInput.bind(this)); this.faja.on('change', this.changeFaja.bind(this)); } @@ -120,7 +123,7 @@ class DatosLibro { } } - checkSolapaAncho(event) { + checkMinMaxInput(event) { const el = event.target; if (el.value != "") { @@ -200,6 +203,13 @@ class DatosLibro { this.checkPaginasPresupuesto(); + this.calcularSolapas(); + if ($('#faja_alto').length > 0 && $('#faja_alto').attr('max') != this.getDimensionLibro().alto) { + $('#faja_alto').attr('max', this.getDimensionLibro().alto); + $('#faja_alto').trigger('change'); + $('#faja_alto').closest('.mb-1').find('.form-text').text('Entre 50 y ' + this.getDimensionLibro().alto + ' mm'); + } + $(document).trigger('update-presupuesto', { update_lineas: true, update_servicios: true, @@ -500,6 +510,13 @@ class DatosLibro { $('#div_solapas_ancho_sobrecubierta').addClass('d-none'); } + this.faja.prop('checked', datos.fajaColor); + if(datos.fajaColor){ + this.div_faja.removeClass('d-none'); + this.fajaAlto.val(datos.fajaColorAlto).trigger('change'); + this.fajaSolapasAncho.val(datos.fajaColorSolapasAncho).trigger('change'); + } + this.acabadoCubierta.setOption(datos.acabadoCubierta.id, datos.acabadoCubierta.text); diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js index 167d85b9..09fb7842 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js @@ -862,6 +862,25 @@ class LineasPresupuesto { this.#addEventosLineas('lp_sobrecubierta', false); break + case 'lp_faja': + var hayLinea = false + for (let number = 0; number < dataRows.length; number++) { + if (dataRows[number].row_id == 'lp_faja') { + hayLinea = true; + continue; + } + } + + if (hayLinea) { + popErrorAlert(window.language.Presupuestos.errores.lineaDuplicada, 'divAlarmasLineasPresupuesto'); + break; + } + + var data = this.#processRowData({ tipo_maquina: 'toner' }, 'lp_faja', 'lp-faja'); + this.table.row.add(data).draw(); + this.#addEventosLineas('lp_faja', false); + break + case 'lp_guardas': var hayLinea = false for (let number = 0; number < dataRows.length; number++) { @@ -1408,15 +1427,15 @@ class LineasPresupuesto { if (linea == 'lp_faja') { if (Object.keys(input_data).length == 0) { let altoSelected = parseInt($('#' + linea + '_altoFaja').val()); - if(altoSelected == 0 || isNaN(altoSelected) || altoSelected == '' || altoSelected < 50){ + if (altoSelected == 0 || isNaN(altoSelected) || altoSelected == '' || altoSelected < 50) { altoSelected = 50; } - else if(altoSelected > dimension.alto){ + else if (altoSelected > dimension.alto) { altoSelected = dimension.alto; } dimension.alto = altoSelected; } - else{ + else { dimension.alto = parseInt($('#faja_alto').val()); } } @@ -1644,7 +1663,7 @@ class LineasPresupuesto { } let datosLinea = currentRow.data(); - if(linea == 'lp_faja') { + if (linea == 'lp_faja') { datosLinea.alto_faja = row.alto_faja; } @@ -1701,6 +1720,7 @@ class LineasPresupuesto { case 'lp_guardas': case 'lp_cubierta': case 'lp_sobrecubierta': + case 'lp_faja': tipo = 'colorhq'; break default: @@ -1813,7 +1833,7 @@ class LineasPresupuesto { $('#' + tipoLinea + '_aFavorFibra').on("change", () => { this.change_aFavorFibra(tipoLinea); }); } - if(tipoLinea == 'lp_faja') { + if (tipoLinea == 'lp_faja') { $('#' + tipoLinea + '_altoFaja').on("change", function (event) { self.obtenerLinea(tipoLinea, false, false, {}, event); // Pasamos explícitamente 'tipoLinea' }.bind(this)); diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js index b76dc98e..b62fcbd8 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/resumen.js @@ -311,29 +311,29 @@ class Resumen { getData(){ let data = { - 'total_coste_papel': $('#totalCostePapel').attr('val').replace('€', ''), - 'total_margen_papel': $('#margenPapel').attr('val').replace('€', ''), + 'total_coste_papel': $('#totalCostePapel').text().replace('€', ''), + 'total_margen_papel': $('#margenPapel').text().replace('€', ''), 'total_margenPercent_papel': $('#porcentajeMargenPapel').text().replace('%', ''), - 'total_coste_impresion': $('#totalCosteImpresion').attr('val').replace('€', ''), - 'total_margen_impresion': $('#margenImpresion').attr('val').replace('€', ''), + 'total_coste_impresion': $('#totalCosteImpresion').text().replace('€', ''), + 'total_margen_impresion': $('#margenImpresion').text().replace('€', ''), 'total_margenPercent_impresion': $('#porcentajeMargenImpresion').text().replace('%', ''), - 'total_coste_servicios': $('#totalServicios').attr('val').replace('€', ''), - 'total_margen_servicios': $('#margenServicios').attr('val').replace('€', ''), + 'total_coste_servicios': $('#totalServicios').text().replace('€', ''), + 'total_margen_servicios': $('#margenServicios').text().replace('€', ''), 'total_margenPercent_servicios': $('#porcentajeMargenServicios').text().replace('%', ''), - 'total_coste_envios': $('#totalEnvios').attr('val').replace('€', ''), - 'total_margen_envios': $('#margenEnvios').attr('val').replace('€', ''), + 'total_coste_envios': $('#totalEnvios').text().replace('€', ''), + 'total_margen_envios': $('#margenEnvios').text().replace('€', ''), - 'total_costes': $('#totalCostes').attr('val').replace('€', ''), - 'total_margenes': $('#totalMargenes').attr('val').replace('€', ''), + 'total_costes': $('#totalCostes').text().replace('€', ''), + 'total_margenes': $('#totalMargenes').text().replace('€', ''), - 'total_antes_descuento': $('#totalAntesDescuento').attr('val').replace('€', ''), - 'total_descuento': $('#descuentoTotal').attr('val').replace('€', ''), + 'total_antes_descuento': $('#totalAntesDescuento').text().replace('€', ''), + 'total_descuento': $('#descuentoTotal').text().replace('€', ''), 'total_descuentoPercent': $('#total_descuentoPercent').val().replace('€', ''), - 'total_presupuesto': $('#totalDespuesDecuento').attr('val').replace('€', ''), - 'total_precio_unidad': $('#precioUnidadPresupuesto').attr('val').replace('€', ''), + 'total_presupuesto': $('#totalDespuesDecuento').text().replace('€', ''), + 'total_precio_unidad': $('#precioUnidadPresupuesto').text().replace('€', ''), 'total_factor': $('#factor').text().replace(/,/g, '.'), 'total_factor_ponderado': $('#factor_ponderado').text().replace(/,/g, '.'), @@ -341,7 +341,7 @@ class Resumen { if($('#confirmar_presupuesto').prop('checked')){ data.confirmar = '1'; - data.total_aceptado = $('#totalDespuesDecuento').attr('val').replace('€', ''); + data.total_aceptado = $('#totalDespuesDecuento').text().replace('€', ''); } return data;