From 036998e71af14204f63ebc3e97f4ce2a9c89bcb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez?= Date: Mon, 20 Jan 2025 20:15:27 +0100 Subject: [PATCH] =?UTF-8?q?a=C3=B1adidos=20todos=20los=20servicios=20a=20f?= =?UTF-8?q?alta=20del=20solapas=20grandes=20(incluido=20plegado=20de=20gua?= =?UTF-8?q?rdas)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ci4/app/Config/RBAC/permissionMatrix.php | 4 + ci4/app/Config/RBAC/permissions.php | 4 + .../Presupuestos/Presupuestoadmin.php | 19 +- .../Presupuestos/Presupuestocliente.php | 54 ++-- .../Presupuestos/Presupuestomanipulados.php | 2 +- .../presupuestos/admin/_datosLibroItems.php | 240 ++++++++++-------- .../admin/viewPresupuestoadminForm.php | 57 ----- .../presupuestoAdmin/presupuestoAdminEdit.js | 3 + .../presupuestoAdmin/sections/comparador.js | 126 ++++++++- .../presupuestoAdmin/sections/datosLibro.js | 10 +- .../sections/lineasPresupuesto.js | 37 +-- .../presupuestoAdmin/sections/servicios.js | 73 +++++- 12 files changed, 423 insertions(+), 206 deletions(-) diff --git a/ci4/app/Config/RBAC/permissionMatrix.php b/ci4/app/Config/RBAC/permissionMatrix.php index 73df04d0..c13aa388 100644 --- a/ci4/app/Config/RBAC/permissionMatrix.php +++ b/ci4/app/Config/RBAC/permissionMatrix.php @@ -45,6 +45,10 @@ const SK_PERMISSION_MATRIX = [ "tarifa-encuadernacion.edit", "tarifa-encuadernacion.delete", "tarifa-encuadernacion.menu", + "tarifa-extra.create", + "tarifa-extra.edit", + "tarifa-extra.delete", + "tarifa-extra.menu", "tarifa-envio.create", "tarifa-envio.edit", "tarifa-envio.delete", diff --git a/ci4/app/Config/RBAC/permissions.php b/ci4/app/Config/RBAC/permissions.php index 014dbd2a..4c640b77 100644 --- a/ci4/app/Config/RBAC/permissions.php +++ b/ci4/app/Config/RBAC/permissions.php @@ -45,6 +45,10 @@ const SK_PERMISSIONS = [ 'tarifa-encuadernacion.edit' => 'Can edit', 'tarifa-encuadernacion.delete' => 'Can delete', 'tarifa-encuadernacion.menu' => 'Menu shall be visualize', + 'tarifa-extra.create' => 'Can create', + 'tarifa-extra.edit' => 'Can edit', + 'tarifa-extra.delete' => 'Can delete', + 'tarifa-extra.menu' => 'Menu shall be visualize', 'tarifa-envio.create' => 'Can create', 'tarifa-envio.edit' => 'Can edit', 'tarifa-envio.delete' => 'Can delete', diff --git a/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php b/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php index f0e9a459..7265f9a0 100644 --- a/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestoadmin.php @@ -328,12 +328,12 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController $this->viewData['POD'] = $this->getPOD(); $this->viewData['serviciosAutomaticos'] = [ - 'retractilado' => 3, - 'retractilado5' => 5, - 'ferro' => 24, - 'prototipo' => 9, - 'fajaColor' => 16, - 'plegadoGuardas' => 62, + 'retractilado' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_retractilado')->value, + 'retractilado5' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_retractilado5')->value, + 'ferro' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_ferro')->value, + 'prototipo' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_prototipo')->value, + 'plegado_guardas' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_plegado_guardas')->value, + 'solapas_grandes' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_plegado_exceso_solapas')->value, ]; $this->viewData['tipo_impresion_id'] = $presupuestoEntity->tipo_impresion_id; // Cosido tapa blanda JJO @@ -496,7 +496,8 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController $data['comparador']['json_data'] = json_decode($presupuesto->comparador_json_data, true); if ($data['comparador']['json_data'] != null) { foreach ($data['comparador']['json_data'] as &$item) { - $item['papel_nombre'] = $modelPapelGenerico->getNombre($item['papel_id'])['nombre']; + if(intval($item['papel_id'])>0) + $item['papel_nombre'] = $modelPapelGenerico->getNombre($item['papel_id'])['nombre']; } } $data['comparador']['posPagColor'] = $presupuesto->comp_pos_paginas_color; @@ -701,6 +702,10 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController $tipo_impresion_id = $this->request->getPost('tipo_impresion_id'); $uso = $this->request->getPost('uso'); + // cubierta y sobrecubierta siempre colorhq + $isColor = true; + $isHq = true; + // Para el caso de Fresado y Cosido tapa dura, las guardas son un diptico // y hay que imprimirlas como "cosido" (dos hojas pegadas). En el caso de espiral // o wire-o tapa dura, las guardas se imprimen como hojas sueltas diff --git a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php index 4b8ee670..093c333b 100755 --- a/ci4/app/Controllers/Presupuestos/Presupuestocliente.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestocliente.php @@ -2286,38 +2286,62 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController // Servicios - /* - 'retractilado' => 3, - 'prototipo' => 9, - */ + $serviciosAutomaticos = []; $servicios = []; + + $servicio_ferro = (object) [ + 'nombre' => 'ferro', + 'id' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_ferro')->value + ]; + $servicio_prototipo = (object) [ + 'nombre' => 'prototipo', + 'id' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_prototipo')->value + ]; + $servicio_retractilado = (object) [ + 'nombre' => 'retractilado', + 'id' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_retractilado')->value + ]; + $servicio_retractilado5 = (object) [ + 'nombre' => 'retractilado5', + 'id' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_retractilado5')->value + ]; + $servicio_plegado_guardas = (object) [ + 'nombre' => 'plegado_guardas', + 'id' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_plegado_guardas')->value + ]; + $servicio_solapas_grandes = (object) [ + 'nombre' => 'solapas_grandes', + 'id' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_plegado_exceso_solapas')->value + ]; + // se comprueba si $datos guardas es un array if (is_array($datos_guardas)) { if (count($datos_guardas) > 0) { - array_push($servicios, 62); // Plegado de guardas + array_push($servicios, $servicio_plegado_guardas); // Plegado de guardas } } else { if ($datos_guardas > 0) { - array_push($servicios, 62); // Plegado de guardas + array_push($servicios, $servicio_plegado_guardas); // Plegado de guardas } } + if ($datos_entrada['servicios']['retractilado']) // acabado - array_push($servicios, 3); + array_push($servicios, $servicio_retractilado); if ($datos_entrada['servicios']['retractilado5']) // acabado - array_push($servicios, 98); + array_push($servicios, $servicio_retractilado5); if ($datos_entrada['servicios']['prototipo']) // extra - array_push($servicios, 9); + array_push($servicios, $servicio_prototipo); if ($datos_entrada['servicios']['ferro']) // extra - array_push($servicios, 30); + array_push($servicios, $servicio_ferro); /*if ($datos_entrada['servicios']['ferroDigital']) array_push($servicios, 29);*/ // Es gratis foreach ($servicios as $servicio) { - if (intval($servicio) == 3 || intval($servicio) == 98) { + if ($servicio->nombre == "retractilado" || $servicio->nombre == "retractilado5") { // Servicios acabado $resultado = PresupuestoCLienteService::getServiciosAcabados([ - 'tarifa_id' => $servicio, + 'tarifa_id' => intval($servicio->id), 'tirada' => $datosPedido->tirada, 'POD' => $POD, ]); @@ -2345,10 +2369,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController $totalServicios += floatval($resultado[0]->total); $margenServicios += floatval($resultado[0]->total) * floatval($resultado[0]->margen) / 100.0; } - } else if (intval($servicio) == 9 || intval($servicio) == 30 || intval($servicio) == 29) { + } else if ($servicio->nombre == "ferro" || $servicio->nombre == "prototipo") { // Extra $resultado = PresupuestoCLienteService::getServiciosExtra([ - 'tarifa_id' => $servicio, + 'tarifa_id' => intval($servicio->id), ]); array_push($serviciosAutomaticos, $resultado[0]); if ($resultado[0]->precio <= 0) { @@ -2385,7 +2409,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController // Servicios acabado $resultado = PresupuestoCLienteService::getServiciosManipulado([ - 'tarifa_id' => 73, + 'tarifa_id' => intval($servicio_solapas_grandes->id), 'tirada' => $datosPedido->tirada, 'POD' => $POD, ]); diff --git a/ci4/app/Controllers/Presupuestos/Presupuestomanipulados.php b/ci4/app/Controllers/Presupuestos/Presupuestomanipulados.php index f5844851..6c3b77ab 100755 --- a/ci4/app/Controllers/Presupuestos/Presupuestomanipulados.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestomanipulados.php @@ -115,7 +115,7 @@ class Presupuestomanipulados extends \App\Controllers\BaseResourceController if (count($datos_tarifas) > 0) { foreach ($datos_tarifas as $tarifa) { - $values = $model->getPrecioTarifa($tarifa['tarifa_id'], $tirada, $POD); + $values = $model->getPrecioTarifa($tarifa, $tirada, $POD); $values[0]->cubierta = $tarifa['cubierta'] ?? 0; $values[0]->sobrecubierta = $tarifa['sobrecubierta'] ?? 0; array_push($result, $values[0]); 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 6adb6fc9..79f31bcf 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosLibroItems.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/_datosLibroItems.php @@ -1,7 +1,8 @@

-

@@ -19,18 +20,20 @@ - > + >
- +
- +
@@ -42,21 +45,24 @@ *
- +
- +
- +
-
- +
+
@@ -70,7 +76,8 @@ - +
@@ -79,7 +86,8 @@ - + @@ -90,34 +98,41 @@
-
-
-
- - -
-
+
+
+
+ + +
+
-
+
- +
- - + +
- +
- - + +
@@ -132,7 +147,8 @@ - +
@@ -141,20 +157,24 @@ - + - - - + + + - + - +
-
+
+ +
@@ -165,10 +185,11 @@ - - +
@@ -176,18 +197,21 @@ -
- - + +
-
+
+ +
@@ -196,85 +220,99 @@
-
- + + -
-
-
- -
-
-
+
+
+
+ +
+
+
-
-
-
- -
-
-
+
+
+
+ +
+
+
-
-
+
+
- + -
+
-
-
-
- -
-
-
+
+
+
+ +
+
+
-
-
-
- -
-
-
+
+
+
+ +
+
+
-
-
-
- -
-
-
+
+
+
+ +
+
+
-
+ > + > + +
- - - + \ No newline at end of file diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/viewPresupuestoadminForm.php b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/viewPresupuestoadminForm.php index 69f3375c..d974ceb6 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/admin/viewPresupuestoadminForm.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/admin/viewPresupuestoadminForm.php @@ -182,63 +182,6 @@ - - - - - section("additionalInlineJs") ?> - ", - data: form, - success: function (data) { - yeniden(data.) - if('errorMensaje' in data) - popErrorAlert(data.errorMensaje) - else{ - showBreadCrumbSaveButton(false) - popSuccessAlert(data.mensaje) - if($('#confirmar_presupuesto').prop('checked')) { - $('#estado_id').val(2) - } - } - - } - }).fail(function (jqXHR, textStatus, error) { - // Handle error here - console.log(jqXHR) - });; - })) - - return false; //stop the actual form post !important! - }); - */ ?> - endSection() ?> - diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js index f2c49e31..ebbc52ac 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/presupuestoAdminEdit.js @@ -246,6 +246,9 @@ class PresupuestoAdminEdit { datos = { ...datos, ...this.resumen.getData() }; + this.comparador.generateCompJSON(); + datos.comparador_json_data = $('#comparador_json_data').val(); + return datos; } diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/comparador.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/comparador.js index 01eb1ec9..c132f929 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/comparador.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/comparador.js @@ -399,7 +399,7 @@ class Comparador { this.gramajeSobrecubierta.setOption(datos.json_data.sobrecubierta.gramaje, datos.json_data.sobrecubierta.gramaje); } if (datos.json_data.guardas) { - this.carasGuardas.val(datos.json_data.guardas.paginas).trigger('change'); + this.carasGuardas.val(datos.json_data.guardas.paginas_impresion).trigger('change'); this.papelGuardas.setOption(datos.json_data.guardas.papel_id, datos.json_data.guardas.papel_nombre); this.gramajeGuardas.setOption(datos.json_data.guardas.gramaje, datos.json_data.guardas.gramaje); } @@ -970,7 +970,7 @@ class Comparador { papel_generico = { id: this.papelGuardas.getVal(), nombre: this.papelGuardas.getText() }; gramaje = this.gramajeGuardas.getVal(); - paginas = this.carasGuardas.val(); + paginas = 8; } @@ -1019,6 +1019,7 @@ class Comparador { datos.datosPedido.isCosido = 1; datos.datosPedido.isHq = 1; datos.paginas_color = datos.datosPedido.paginas; + datos.paginas_impresion = this.carasGuardas.val(); } @@ -1471,6 +1472,127 @@ class Comparador { 'tarifa_impresion_id': linea.fields.tarifa_impresion_id, } } + + generateCompJSON() { + + let data = {} + + if ($('#tipoImpresion').select2('data')[0].id == 'negro' || $('#tipoImpresion').select2('data')[0].id == 'color') { + let bn_obj = {}; + try { + bn_obj = { + "bn": { + 'paginas': $('#compPaginasNegro').val(), + 'papel_id': $('#compPapelNegro').select2('data')[0].id, + 'gramaje': $('#compGramajeNegro').select2('data')[0].text.trim(), + } + } + } + catch (e) { + + } + $.extend(data, bn_obj); + } + + if ($('#tipoImpresion').select2('data')[0].id == 'negrohq' || $('#tipoImpresion').select2('data')[0].id == 'colorhq') { + let bnhq_obj = {}; + try { + bnhq_obj = { + "bnhq": { + 'paginas': $('#compPaginasNegrohq').val(), + 'papel_id': $('#compPapelNegrohq').select2('data')[0].id, + 'gramaje': $('#compGramajeNegrohq').select2('data')[0].text.trim(), + } + } + } + catch (e) { + } + $.extend(data, bnhq_obj); + } + + if ($('#tipoImpresion').select2('data')[0].id == 'color') { + let color_obj = {}; + try { + color_obj = { + "color": { + 'paginas': $('#compPaginasColor').val(), + 'papel_id': $('#compPapelColor').select2('data')[0].id, + 'gramaje': $('#compGramajeColor').select2('data')[0].text.trim(), + }, + } + } + catch (e) { + } + $.extend(data, color_obj); + + } + + + if ($('#tipoImpresion').select2('data')[0].id == 'colorhq') { + let colorhq_obj = {}; + try { + colorhq_obj = { + "colorhq": { + 'paginas': $('#compPaginasColorhq').val(), + 'papel_id': $('#compPapelColorhq').select2('data')[0].id, + 'gramaje': $('#compGramajeColorhq').select2('data')[0].text.trim(), + }, + } + } + catch (e) { + } + $.extend(data, colorhq_obj); + } + + let cubierta_obj = {}; + try { + cubierta_obj = { + "cubierta": { + 'paginas': $('#compCarasCubierta option:selected').val(), + 'papel_id': $('#compPapelCubierta').select2('data')[0].id, + 'gramaje': $('#compGramajeCubierta').select2('data')[0].text.trim(), + }, + } + } + catch (e) { + } + $.extend(data, cubierta_obj); + + let sobrecubierta_obj = {}; + try { + sobrecubierta_obj = { + "sobrecubierta": { + 'imprimir': $('#compSobrecubierta option:selected').val(), + 'papel_id': $('#compPapelSobrecubierta').select2('data')[0].id, + 'gramaje': $('#compGramajeSobrecubierta').select2('data')[0].text.trim(), + }, + } + } + catch (e) { + } + $.extend(data, sobrecubierta_obj); + + if ($('#compCarasGuardas').length > 0) { + let guardas_obj = {}; + try { + guardas_obj = { + "guardas": { + 'paginas_impresion': $('#compCarasGuardas option:selected').val(), + 'papel_id': $('#compPapelGuardas').select2('data')[0].id, + 'gramaje': $('#compGramajeGuardas').select2('data')[0].text.trim(), + }, + } + } + catch (e) { + } + $.extend(data, guardas_obj); + + } + + const data_str = JSON.stringify(data) + $('#comparador_json_data').val(data_str) + } + } diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/datosLibro.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/datosLibro.js index 7b48b4e3..2eec89a4 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/datosLibro.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/datosLibro.js @@ -117,9 +117,7 @@ class DatosLibro { changePrototipo() { if (this.prototipo.prop('checked')) { - $(document).trigger('add-servicio-lineas', 'prototipo'); - this.ferro.prop('checked', true).trigger('change'); } else { $(document).trigger('remove-servicio-lineas', 'prototipo'); @@ -127,18 +125,18 @@ class DatosLibro { } - checkRetractilado(element) { + checkRetractilado(event) { - switch (element.id) { + switch (event.currentTarget.id) { case 'retractilado': - if ($('#' + element.id).prop('checked')) { + if ($('#' + event.currentTarget.id).prop('checked')) { $('#retractilado5').prop('checked', false); $(document).trigger('remove-servicio-lineas', 'retractilado5'); $(document).trigger('add-servicio-lineas', 'retractilado'); } break; case 'retractilado5': - if ($('#' + element.id).prop('checked')) { + if ($('#' + event.currentTarget.id).prop('checked')) { $('#retractilado').prop('checked', false); $(document).trigger('remove-servicio-lineas', 'retractilado'); $(document).trigger('add-servicio-lineas', 'retractilado5'); diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js index c0442a7c..3418bfea 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/lineasPresupuesto.js @@ -31,6 +31,9 @@ class LineasPresupuesto { const row = $(this).closest('tr'); const data = self.table.row(row).data() + if(data.row_id == 'lp_guardas'){ + $(document).trigger('remove-servicio-lineas', 'plegado_guardas'); + } self.table.row(row) .remove() .draw(); @@ -1386,6 +1389,8 @@ class LineasPresupuesto { const self = this; const dimension = this.getDimensionLibro(); + const dataFromComparador = fromComparador; + if (Object.keys(input_data).length == 0) { input_data = { @@ -1406,7 +1411,7 @@ class LineasPresupuesto { } else if (linea == 'lp_guardas') { input_data.paginas = (parseInt($('#tipo_impresion_id').val()) == 1 || parseInt($('#tipo_impresion_id').val()) == 3) ? 8 : 4; - input_data.paginas_impresion = parseInt($('#lp_guardas_paginas option:selected').val()); + input_data.paginas_impresion = parseInt($('#compCarasGuardas').select2('data')[0].id); } else { input_data.paginas = parseInt($('#' + linea + '_paginas').val()); @@ -1521,7 +1526,7 @@ class LineasPresupuesto { let borrar_linea = true; // Si viene del comparador - if (Object.keys(input_data).length == 0) { + if (dataFromComparador) { borrar_linea = false; } @@ -1546,7 +1551,7 @@ class LineasPresupuesto { } self.rellenarDatosLinea(linea, response.lineas[$i].fields); - return false; + return true; } } if (borrar_linea) { @@ -1569,16 +1574,18 @@ class LineasPresupuesto { rellenarDatosLinea(linea, row, fromComparator = false) { - if (fromComparator) { - var input_data = { + let input_data = { paginas: row.paginas, papel_generico_id: row.papelGenericoId, gramaje: row.gramaje, papel_impresion_id: row.papelImpresionId, maquina_id: row.maquinaId, } + if(linea.includes('guardas')) { + input_data.paginas_impresion = parseInt($('#compCarasGuardas').select2('data')[0].id); + } this.obtenerLinea(linea, fromComparator, false, input_data) } else { @@ -1876,7 +1883,7 @@ class LineasPresupuesto { } } - if (e.target.id.includes("Cubierta")) { + else if (e.target.id.includes("Cubierta")) { 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 @@ -1905,23 +1912,23 @@ class LineasPresupuesto { } } - if (e.target.id.includes("Guardas")) { + else if (e.target.id.includes("Guardas")) { + + 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 - self.table.rows().data().toArray().forEach((row, index) => { - const rowIdx = self.table.row(index).index(); // Obtener el índice actual de la fila if (row.row_id.includes('lp_guardas')) { - self.table.row(rowIdx).remove(); // Eliminar fila por índice + self.table.row(i).remove(); // Eliminar fila } - }); + } self.table.draw(); - + var rows = $("#tableCompGuardas").DataTable().rows('.selected').data().toArray(); for (const row of rows) { this.rellenarDatosLinea('lp_guardas', row, true); } - /* TO-DO - servicioGuardas(true) - */ + + $(document).trigger('add-servicio-lineas', 'plegado_guardas'); } diff --git a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/servicios.js b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/servicios.js index 9e67db07..e4b84818 100644 --- a/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/servicios.js +++ b/httpdocs/assets/js/safekat/pages/presupuestoAdmin/sections/servicios.js @@ -113,14 +113,83 @@ class Servicios { else if (servicio == 'solapas') { this.ServiciosManipulado.addSolapas(); } - - + else if (servicio == 'ferro'){ + const id = $('#ferro').attr('service-id'); + this.serviciosExtra.getPresupuestoExtra(id); + } + else if (servicio == 'prototipo'){ + const id = $('#prototipo').attr('service-id'); + this.serviciosExtra.getPresupuestoExtra(id); + } + else if (servicio == 'retractilado'){ + const id = $('#retractilado').attr('service-id'); + this.serviciosAcabado.getPresupuestoAcabado(id); + } + else if (servicio == 'retractilado5'){ + const id = $('#retractilado5').attr('service-id'); + this.serviciosAcabado.getPresupuestoAcabado(id); + } + else if(servicio == 'plegado_guardas'){ + const id = $('#plegado_guardas').attr('service-id'); + for(let i = 0; i < this.ServiciosManipulado.table.rows().count(); i++){ + var data = this.ServiciosManipulado.table.row(i).data(); + if (data.tarifa_id == id) { + return; + } + }; + this.ServiciosManipulado.getPresupuestoManipulado(id); + } } removeServicio(event, servicio) { if (servicio == 'solapas') { this.ServiciosManipulado.removeSolapas(); } + else if (servicio == 'ferro'){ + const id = $('#ferro').attr('service-id'); + this.serviciosExtra.table.rows().every(function () { + var data = this.data(); + if (data.tarifa_id == id) { + this.remove().draw(); + } + }); + } + else if (servicio == 'prototipo'){ + const id = $('#prototipo').attr('service-id'); + this.serviciosExtra.table.rows().every(function () { + var data = this.data(); + if (data.tarifa_id == id) { + this.remove().draw(); + } + }); + } + else if (servicio == 'retractilado'){ + const id = $('#retractilado').attr('service-id'); + this.serviciosAcabado.table.rows().every(function () { + var data = this.data(); + if (data.tarifa_id == id) { + this.remove().draw(); + } + }); + } + else if (servicio == 'retractilado5'){ + const id = $('#retractilado5').attr('service-id'); + this.serviciosAcabado.table.rows().every(function () { + var data = this.data(); + if (data.tarifa_id == id) { + this.remove().draw(); + } + }); + } + else if(servicio == 'plegado_guardas'){ + const id = $('#plegado_guardas').attr('service-id'); + this.ServiciosManipulado.table.rows().every(function () { + var data = this.data(); + if (data.tarifa_id == id) { + this.remove().draw(); + } + }); + } } async updateServicios() {