diff --git a/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php b/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php index b5e98455..91b2b751 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) { @@ -663,7 +666,9 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController $gramaje = $sobrecubierta['gramaje']; $paginas_color = $sobrecubierta['datosPedido']['paginas'] ?? 0; $tipo_impresion_id = $sobrecubierta['tipo_impresion_id']; - $uso = $sobrecubierta['uso']; + $faja = intval($sobrecubierta['faja'] ?? 0); + $uso = $faja==1? 'faja' : $sobrecubierta['uso']; + $data = array( 'cliente_id' => $cliente_id, @@ -957,7 +962,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController $resourceData = PresupuestoService::obtenerComparadorRotativa($input_data); - } else if ($type == 'cubierta' || $type == 'sobrecubierta') { + } else if ($type == 'cubierta' || $type == 'sobrecubierta' || $type == 'faja') { $datosPedido->solapas = $reqData['solapas']; $datosPedido->solapas_ancho = $reqData['solapas_ancho']; @@ -1618,6 +1623,9 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController $modelPapel = new PapelGenericoModel(); foreach ($lineas as $linea) { $linea->papel_generico = (new PapelGenericoModel())->find($linea->papel_id)->nombre; + if($linea->tipo == 'lp_faja'){ + $linea->alto_faja = $presupuestoEntity->alto_faja_color; + } } $input_data = []; 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/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php index 18e5f56b..cc5f99b8 100755 --- a/ci4/app/Language/es/Presupuestos.php +++ b/ci4/app/Language/es/Presupuestos.php @@ -166,6 +166,7 @@ return [ 'solapasSobrecubierta' => 'Solapas sobrecub.', 'solapasAnchoCubierta' => 'Ancho solapas cub.', 'solapasAnchoSobrecubierta' => 'Ancho solapas sobrecub.', + 'sinImpresion' => 'Sin impresion', 'unaCara' => '1 cara', 'dosCaras' => '2 caras', @@ -276,12 +277,14 @@ return [ 'previewConfiguracionGuardas' => 'Configuración de guardas', 'previewConfiguracionCubierta' => 'Configuración de cubierta', 'previewConfiguracionSobrecubierta' => 'Configuración de sobrecubierta', + 'previewConfiguracionFaja' => 'Configuración de faja', 'previewEsquemaCubierta' => 'Esquema de cubierta', 'previewConfiguracionEsquemaCubierta' => 'Configuración esquema de cubierta', 'previewMaquinaPlana' => 'Configuración del papel: Plana', 'previewMaquinaRotativa' => 'Configuración del papel: Rotativa', 'previewCubierta' => 'Configuración del papel: Cubierta', 'previewSobrecubierta' => 'Configuración del papel: Sobrecubierta', + 'previewFaja' => 'Configuración del papel: Faja', 'previewPapelGenerico' => 'Papel Genérico', 'previewPapelCompra' => 'Papel de Compra', 'previewAreaImpresion' => 'Área de Impresión', @@ -387,7 +390,8 @@ return [ 'noInterior' => 'No se hay resultados para el interior', 'noCubiertaSobrecubierta' => 'No se hay resultados para cubierta/sobrecubierta', 'errorPresupuesto' => 'Se ha producido un error al calcular el presupuesto. Póngase en contacto con el administrador', - 'error_sobrecubierta_sin_solapas' => 'Debe seleccionar "sobrecubierta" en los datos del libro para introducir el ancho de solapa' + 'error_sobrecubierta_sin_solapas' => 'Debe seleccionar "sobrecubierta" en los datos del libro para introducir el ancho de solapa', + 'error_faja_sin_solapas' => 'Debe seleccionar "faja" en los datos del libro para introducir el ancho de solapa' ], ]; 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 204f577a..24d404a3 100755 --- a/ci4/app/Services/PresupuestoService.php +++ b/ci4/app/Services/PresupuestoService.php @@ -83,8 +83,13 @@ class PresupuestoService extends BaseService $parametrosInkjet->rotativa_cg = $datosTipologias[0]->cg; } + $uso_tarifa = $uso; + if($uso == 'guardas') + $uso_tarifa = 'interior'; + else if ($uso == 'faja') + $uso_tarifa = 'sobrecubierta'; $tarifamodel = new \App\Models\Configuracion\MaquinasTarifasImpresionModel(); - $datos_tarifa = $tarifamodel->getTarifa($maquina->maquina_id, ($uso == 'guardas') ? 'interior' : $uso, $tipo); + $datos_tarifa = $tarifamodel->getTarifa($maquina->maquina_id, $uso_tarifa, $tipo); if (count($datos_tarifa) > 0) { $tarifaId = $datos_tarifa[0]; $tarifa = $datos_tarifa[1]; @@ -128,7 +133,7 @@ class PresupuestoService extends BaseService $clientePreciosModel = new \App\Models\Clientes\ClientePreciosModel(); $config = (object) [ - "tipo" => ($uso == 'guardas') ? 'interior' : $uso, + "tipo" => $uso_tarifa, "tipo_maquina" => $maquina->is_inkjet ? 'inkjet' : 'toner', "tipo_impresion" => $tipo ]; @@ -334,8 +339,8 @@ class PresupuestoService extends BaseService if ($uso != 'rotativa') { - $ancho_calculo = ($uso == 'cubierta' || $uso == 'sobrecubierta') ? $datosPedido->anchoExteriores : $datosPedido->ancho; - $alto_calculo = ($uso == 'cubierta' || $uso == 'sobrecubierta') ? $datosPedido->altoExteriores : $datosPedido->alto; + $ancho_calculo = ($uso == 'cubierta' || $uso == 'sobrecubierta' || $uso == 'faja') ? $datosPedido->anchoExteriores : $datosPedido->ancho; + $alto_calculo = ($uso == 'cubierta' || $uso == 'sobrecubierta' || $uso == 'faja') ? $datosPedido->altoExteriores : $datosPedido->alto; $formas = PresupuestoService::getNumFormasPlana($uso, $maquina, $ancho_calculo, $alto_calculo, $datosPedido->isCosido, $forzar_a_favor_fibra); $response['fields'] = $formas; } @@ -366,10 +371,12 @@ class PresupuestoService extends BaseService $margen_click = $tarifa * ($tarifa_margen / 100.0); //interior (bn o color) - if ($cubierta == 0 && $sobrecubierta == 0 && $rotativa == 0) { + if ($cubierta == 0 && $sobrecubierta == 0 && $rotativa == 0 || $uso == 'faja') { // precio papel - $pliegos_libro = ceil(($datosPedido->paginas / 2.0) / $response['fields']['num_formas']['value']); - if ($pliegos_libro < 1) + $pliegos_libro = ($datosPedido->paginas / 2.0) / $response['fields']['num_formas']['value']; + if($uso != 'faja') + $pliegos_libro = ceil($pliegos_libro); + if ($uso != 'faja' && $pliegos_libro < 1) // faja pueden entrar más de una forma $pliegos_libro = 1; $pliegos_pedido = $pliegos_libro * ($datosPedido->tirada + $datosPedido->merma); $precio_libro = $pliegos_libro * ($precio_pliego_impresion + $margen_pliego_impresion); @@ -693,7 +700,7 @@ class PresupuestoService extends BaseService $h2_temp = 0; // El ancho si es cosido es el doble - if ($uso != 'cubierta' && $uso != 'sobrecubierta') { + if ($uso != 'cubierta' && $uso != 'sobrecubierta' && $uso != 'faja') { $anchoForCalculo = $isCosido ? $ancho * 2 : $ancho; } else { $anchoForCalculo = $ancho; @@ -1761,7 +1768,8 @@ class PresupuestoService extends BaseService $tipo = $isColor ? ($isHq ? 'colorhq' : 'color') : ($isHq ? 'negrohq' : 'negro'); - $opciones_papel = PresupuestoService::get_opciones_papel($uso, $isColor); + $uso_papel = $uso == 'faja' ? 'sobrecubierta': $uso; + $opciones_papel = PresupuestoService::get_opciones_papel($uso_papel, $isColor); // Se obtienen los papeles disponibles $papelimpresionmodel = new PapelImpresionModel(); @@ -1779,7 +1787,7 @@ class PresupuestoService extends BaseService $maquinas = $maquinamodel->getMaquinaImpresionForPresupuesto( is_rotativa: 0, tarifa_tipo: $tipo, - uso_tarifa: ($uso == 'guardas') ? 'interior' : $uso, + uso_tarifa: ($uso == 'guardas') ? 'interior' : $uso_papel, tirada: $datosPedido->tirada + $datosPedido->merma, papel_impresion_id: $papel->id, )->orderBy("t1.id", "asc")->get()->getResultObject(); @@ -1787,10 +1795,10 @@ class PresupuestoService extends BaseService // Se recorren las máquinas y se calcula el coste de linea por cada una foreach ($maquinas as $maquina) { - if ($uso == 'cubierta' || $uso == 'sobrecubierta') { + if ($uso == 'cubierta' || $uso == 'sobrecubierta' || $uso == 'faja') { - $datosPedido->anchoExteriores = PresupuestoService::getAnchoTotalExteriores($uso, $tipo_impresion_id, $datosPedido, $maquina->maquina_id, $lomoRedondo); - $datosPedido->altoExteriores = PresupuestoService::getAltoTotalExteriores($uso, $tipo_impresion_id, $datosPedido); + $datosPedido->anchoExteriores = PresupuestoService::getAnchoTotalExteriores($uso_papel, $tipo_impresion_id, $datosPedido, $maquina->maquina_id, $lomoRedondo); + $datosPedido->altoExteriores = PresupuestoService::getAltoTotalExteriores($uso_papel, $tipo_impresion_id, $datosPedido); } $data['uso'] = $uso; 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 d2149259..8a479ee5 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosLibroItems.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosLibroItems.php @@ -162,6 +162,47 @@ + +
+ +
+
+
+
+ + +
+
+
+ +
+
+ + +
+ Entre 50 y 120 mm +
+
+
+
+
+ + +
+ Entre 60 y 120 mm +
+
+
+ +
+
diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosPresupuestoClienteItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosPresupuestoClienteItems.php index eb45cbe1..b8ad40ff 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosPresupuestoClienteItems.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosPresupuestoClienteItems.php @@ -222,46 +222,46 @@ -
-
+
+
-
- - -
-
- - -
+
+ + +
+
+ + +

@@ -345,13 +345,49 @@ class="form-control select2bs2 comp_guardas_items" style="width: 100%;">
- +

+
+
+

+ +

+
+
+ +
+
+ +
+
+ +
+
+
+
+
+
@@ -799,6 +835,102 @@
+
+
+

+ +

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + : + + 0.00
+ +
+ +
+ +
+
+
+
+ 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/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_previewItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_previewItems.php index 28f57423..b691a92b 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_previewItems.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_previewItems.php @@ -133,6 +133,18 @@ +
@@ -934,6 +946,87 @@
+
+
+
+
+ + + +
+ + +
+
+
+
TBD
+ +
+
TBD
+ +
+
TBD
+ +
+
TBDxTBD
+ +
+
TBDxTBD
+ +
+
TBDxTBD
+ +
+
TBD
+ +
+
TBD
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+
+
+
+ @@ -942,72 +1035,3 @@ - - - -section("additionalInlineJs") ?> -/* - -$('#tab-pv-bn').on( "click", function() { - -previewInteriorPlana('bn', , ); - -} ); - -$('#tab-pv-bnhq').on( "click", function() { - -previewInteriorPlana('bnhq', , ); - -} ); - -$('#tab-pv-color').on( "click", function() { - -previewInteriorPlana('color', , ); - -} ); - -$('#tab-pv-colorhq').on( "click", function() { - - -previewInteriorPlana('colorhq', , ); - -} ); - -$('#tab-pv-rot-bn').on( "click", function() { - -previewRotativa('rot_bn', , ); - -} ); - -$('#tab-pv-rot-color').on( "click", function() { - -previewRotativa('rot_color', , ); - -} ); - -$('#tab-pv-guardas').on( "click", function() { - -previewInteriorPlana('guardas', , ); - -} ); - -$('#tab-pv-cubierta').on( "click", function() { - -previewInteriorPlana('cubierta', , ); - -} ); - -$('#tab-pv-esquema-cubierta').on( "click", function() { - -previewEsquemaCubierta('ec', , ); - -} ); - -$('#tab-pv-sobrecubierta').on( "click", function() { - -previewInteriorPlana('sobrecubierta', , ); - -} ); -*/ - -endSection() ?> \ No newline at end of file diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_resumenPresupuestoItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_resumenPresupuestoItems.php index 1ecd5e1f..4eb6c8a2 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_resumenPresupuestoItems.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_resumenPresupuestoItems.php @@ -82,7 +82,7 @@ estado_id == 2): ?>
-
' + + '' + + '' + } + if (d.maquinaTipo == 'inkjet') { value += '' + @@ -1389,6 +1428,22 @@ class LineasPresupuesto { const self = this; const dimension = this.getDimensionLibro(); + 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) { + altoSelected = 50; + } + else if (altoSelected > dimension.alto) { + altoSelected = dimension.alto; + } + dimension.alto = altoSelected; + } + else { + dimension.alto = parseInt($('#faja_alto').val()); + } + } + const dataFromComparador = fromComparador; if (Object.keys(input_data).length == 0) { @@ -1406,7 +1461,7 @@ class LineasPresupuesto { if (linea == 'lp_cubierta') { input_data.paginas = parseInt($('#lp_cubierta_paginas option:selected').val()); } - else if (linea == 'lp_sobrecubierta') { + else if (linea == 'lp_sobrecubierta' || linea == 'lp_faja') { input_data.paginas = 4; } else if (linea == 'lp_guardas') { @@ -1435,6 +1490,9 @@ class LineasPresupuesto { case 'lp_sobrecubierta': uso = 'sobrecubierta'; break; + case 'lp_faja': + uso = 'faja'; + break; case 'lp_guardas': uso = 'guardas'; break; @@ -1453,7 +1511,6 @@ class LineasPresupuesto { hq = 0; } - var datos = { tipo_impresion_id: $('#tipo_impresion_id').val(), type: uso, @@ -1496,6 +1553,11 @@ class LineasPresupuesto { datos.solapas_ancho = $('#solapas_sobrecubierta').is(':checked') ? parseInt($('#solapas_ancho_sobrecubierta').val()) : 0; datos.lomo = $('#lomo_sobrecubierta').val(); } + else if (linea == 'lp_faja') { + datos.solapas = 1; + datos.solapas_ancho = parseInt($('#faja_solapas_ancho').val()); + datos.lomo = $('#lomo_sobrecubierta').val(); + } else if (linea == 'lp_guardas') { datos.paginas_impresion = input_data.paginas_impresion; } @@ -1503,7 +1565,7 @@ class LineasPresupuesto { // Si es inkjet, existe este check if ($('#' + linea + '_aFavorFibra').length) { - datos.a_favor_fibra = $('#' + linea + '_aFavorFibra').prop('checked') ? 1: 0; + datos.a_favor_fibra = $('#' + linea + '_aFavorFibra').prop('checked') ? 1 : 0; } if (updatedTipologias && $('#' + linea + '_gotaNegro').length) { @@ -1549,6 +1611,9 @@ class LineasPresupuesto { response.lineas[$i].fields.check_papel_total = 1; response.lineas[$i].fields.check_impresion_total = 1; } + if (linea == 'lp_faja') { + response.lineas[$i].fields.alto_faja = dimension.alto; + } self.rellenarDatosLinea(linea, response.lineas[$i].fields); return true; @@ -1583,7 +1648,7 @@ class LineasPresupuesto { papel_impresion_id: row.papelImpresionId, maquina_id: row.maquinaId, } - if(linea.includes('guardas')) { + if (linea.includes('guardas')) { input_data.paginas_impresion = parseInt($('#compCarasGuardas').select2('data')[0].id); } this.obtenerLinea(linea, fromComparator, false, input_data) @@ -1602,7 +1667,13 @@ class LineasPresupuesto { this.table.row.add(data).draw() currentRow = this.table.row('#' + linea); } - currentRow.child(this.formatRow(currentRow.data())).show(); + + let datosLinea = currentRow.data(); + if (linea == 'lp_faja') { + datosLinea.alto_faja = row.alto_faja; + } + + currentRow.child(this.formatRow(datosLinea)).show(); this.#addEventosLineas(linea, data.maquinaTipo == 'inkjet' ? true : false); @@ -1615,16 +1686,16 @@ class LineasPresupuesto { */ $(document).trigger('update-presupuesto', { - update_lineas : false, - update_servicios : true, + update_lineas: false, + update_servicios: true, update_envios: true, update_resumen: true, update_tiradas_alternativas: true }); - + // Si existe cubierta, hay que actualizar con el valor del lomo - if (linea != 'lp_cubierta' && linea != 'lp_sobrecubierta' && this.table.row('#lp_cubierta').length > 0) { + if (linea != 'lp_cubierta' && linea != 'lp_sobrecubierta' && linea != 'lp_faja' && this.table.row('#lp_cubierta').length > 0) { this.obtenerLinea('lp_cubierta', false, false); } if (mostrar_calculos) { @@ -1655,6 +1726,7 @@ class LineasPresupuesto { case 'lp_guardas': case 'lp_cubierta': case 'lp_sobrecubierta': + case 'lp_faja': tipo = 'colorhq'; break default: @@ -1666,6 +1738,7 @@ class LineasPresupuesto { uso = 'cubierta'; break; case 'lp_sobrecubierta': + case 'lp_faja': uso = 'sobrecubierta'; break; case 'lp_guardas': @@ -1765,6 +1838,12 @@ class LineasPresupuesto { $('#' + tipoLinea + '_defecto').on("click", () => { this.lp_por_defecto(tipoLinea); }); $('#' + tipoLinea + '_aFavorFibra').on("change", () => { this.change_aFavorFibra(tipoLinea); }); } + + if (tipoLinea == 'lp_faja') { + $('#' + tipoLinea + '_altoFaja').on("change", function (event) { + self.obtenerLinea(tipoLinea, false, false, {}, event); // Pasamos explícitamente 'tipoLinea' + }.bind(this)); + } } @@ -1922,23 +2001,42 @@ class LineasPresupuesto { } } self.table.draw(); - + var rows = $("#tableCompGuardas").DataTable().rows('.selected').data().toArray(); for (const row of rows) { this.rellenarDatosLinea('lp_guardas', row, true); } - + $(document).trigger('add-servicio-lineas', 'plegado_guardas'); } + else if (e.target.id.includes("Faja")) { + + for (let i = self.table.rows().data().length - 1; i >= 0; i--) { + let row = self.table.row(i).data(); // Obtener datos de la fila actual + + if (row.row_id.includes('lp_faja')) { + self.table.row(i).remove(); // Eliminar fila + } + } + self.table.draw(); + + var rows = $("#tableCompFaja").DataTable().rows('.selected').data().toArray(); + for (const row of rows) { + this.rellenarDatosLinea('lp_faja', row, true); + } + } + $(document).trigger('update-presupuesto', { - update_lineas : false, - update_servicios : true, + update_lineas: false, + update_servicios: true, update_envios: true, update_resumen: true, update_tiradas_alternativas: true }); + + showBreadCrumbSaveButton(true); } } diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/previewFormasAdmin.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/previewFormasAdmin.js index ff202546..6f452df3 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/previewFormasAdmin.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/previewFormasAdmin.js @@ -80,6 +80,13 @@ class PreviewFormasAdmin{ self.preview.previewInteriorPlana('sobrecubierta', self.isCosido, self.tipoTapa.includes("dura")?1:0); } ); + + $('#tab-pv-faja').on( "click", function() { + + self.preview.setData(self.data); + self.preview.previewInteriorPlana('faja', self.isCosido, self.tipoTapa.includes("dura")?1:0); + + } ); } } 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; diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/tiradasAlternativas.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/tiradasAlternativas.js index 897566d1..f2c327ce 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/tiradasAlternativas.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/tiradasAlternativas.js @@ -147,7 +147,7 @@ class TiradasAlernativas { const self = this; const id = window.location.href.split('/').pop(); - const tirada = tiradaExterna === null ? parseInt(this.tirada.val()) : tiradaExterna; + const tirada = tiradaExterna === null || isNaN(tiradaExterna) ? parseInt(this.tirada.val()) : tiradaExterna; const tirada_ejemplo = parseInt($('#tirada').val()); const POD = parseInt($('#POD').val()); diff --git a/httpdocs/themes/vuexy/img/safekat/presupuestos/icon_faja.png b/httpdocs/themes/vuexy/img/safekat/presupuestos/icon_faja.png new file mode 100644 index 00000000..bd2572ca Binary files /dev/null and b/httpdocs/themes/vuexy/img/safekat/presupuestos/icon_faja.png differ