From fc415706d940eb9a0508abae51d4053c99831247 Mon Sep 17 00:00:00 2001 From: 75134972k <75134972k@csic.es> Date: Tue, 12 Mar 2024 15:31:46 +0100 Subject: [PATCH] moviendo todo a ficheros js --- ci4/app/Controllers/Js_loader.php | 31 + .../themes/_commonPartialsBs/translate.js | 1 + .../cosidotapablanda/_datosEnvios.js | 113 + .../cosidotapablanda/_datosEnvios.php | 100 +- .../_lineasPresupuestoItems.js | 3320 +++++++++++++++++ .../_lineasPresupuestoItems.php | 3301 ---------------- .../cosidotapablanda/_presupuestos.js | 91 + .../_resumenPresupuestoItems.php | 203 - .../cosidotapablanda/_resumenPresupuestos.js | 195 + .../_tiradasAlternativasItems.js | 17 +- .../viewCosidotapablandaForm.php | 71 +- 11 files changed, 3766 insertions(+), 3677 deletions(-) create mode 100644 ci4/app/Views/themes/_commonPartialsBs/translate.js create mode 100644 ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.js create mode 100644 ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestos.js create mode 100644 ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestos.js diff --git a/ci4/app/Controllers/Js_loader.php b/ci4/app/Controllers/Js_loader.php index d6600618..f4176c99 100755 --- a/ci4/app/Controllers/Js_loader.php +++ b/ci4/app/Controllers/Js_loader.php @@ -21,12 +21,31 @@ class Js_loader extends BaseController } + function translate_js($translationFile) + { + $this->response->setHeader('Content-Type', 'text/javascript'); + + $locale = service('request')->getLocale(); + $path = "Language/{$locale}/$translationFile.php"; + $lang = require APPPATH.$path; + + return view('themes/_commonPartialsBs/translate.js', ['array_php' => $lang, 'var_name' => $translationFile]); + + } + + function previsualizador_js() { $this->response->setHeader('Content-Type', 'text/javascript'); return view('themes/backend/vuexy/form/presupuestos/cosidotapablanda/previews.js'); } + function lineasPresupuesto_js() + { + $this->response->setHeader('Content-Type', 'text/javascript'); + return view('themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.js'); + } + function tiradasAlternativas_js() { $this->response->setHeader('Content-Type', 'text/javascript'); @@ -45,5 +64,17 @@ class Js_loader extends BaseController return view('themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.js'); } + function resumenPresupuestos_js() + { + $this->response->setHeader('Content-Type', 'text/javascript'); + return view('themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestos.js'); + } + + function presupuestos_js() + { + $this->response->setHeader('Content-Type', 'text/javascript'); + return view('themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestos.js'); + } + } \ No newline at end of file diff --git a/ci4/app/Views/themes/_commonPartialsBs/translate.js b/ci4/app/Views/themes/_commonPartialsBs/translate.js new file mode 100644 index 00000000..0ebaad63 --- /dev/null +++ b/ci4/app/Views/themes/_commonPartialsBs/translate.js @@ -0,0 +1 @@ +window. = ; \ No newline at end of file diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.js b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.js index 5d584c1d..7c5f4aee 100644 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.js +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.js @@ -1,3 +1,10 @@ +const actionBtns_direcciones = function(data) { + return ` + + + `; +}; + // Funcion para obtener el peso total del libro function get_peso_libro(){ @@ -51,6 +58,9 @@ async function get_coste_envio_tiradasAlternativas(tirada){ const cantidad = Math.floor(tirada*porcentaje/100.0); const peso_envio = cantidad*peso_libro/1000.0; const datos_tarifa = await get_precio_envio(peso_envio, rowData.paisId, rowData.cp, parseInt(rowData.entregaPieCalle)==1?'palets':'cajas'); + + console.log({porcentaje, cantidad, tirada, tirada_inicial}); + if(datos_tarifa.id!=null){ @@ -68,4 +78,107 @@ async function get_coste_envio_tiradasAlternativas(tirada){ } return {coste, margen}; +} + + +function checkInsertar(){ + + var cantidad_total = 0 + $('#tableOfDireccionesEnvio').DataTable().rows().every( function ( rowIdx, tableLoop, rowLoop ) { + var data = this.data(); + cantidad_total += parseInt(data.cantidad ) + } ); + var htmlString = '' + if(cantidad_total < parseInt($('#tirada').val())){ + $('#rowInsertar').css('display', 'flex') + } + else{ + $('#rowInsertar').css('display', 'none') + } + + if(cantidad_total != parseInt($('#tirada').val())){ + htmlString = ` + `; + } + $('#alert-envios').html(htmlString) +} + + +async function updateTablaEnvios(tirada_inicial = null, tirada = null){ + + var peso_total_libro = get_peso_libro(); + + $('#tableOfDireccionesEnvio').DataTable().rows().every(async function ( rowIdx, tableLoop, rowLoop ) { + + var rowData = this.data(); + + if(tirada_inicial!=null && tirada!=null){ + const porcentaje = parseInt(rowData.cantidad)/tirada_inicial*100.0; + const cantidad = Math.floor(tirada*porcentaje/100.0); + rowData.cantidad = cantidad + } + const peso_envio = peso_total_libro*parseInt(rowData.cantidad)/1000.0; + + var datos_tarifa = await get_precio_envio(peso_envio, rowData.paisId, rowData.cp, parseInt(rowData.entregaPieCalle)==1?'palets':'cajas'); + + + if(datos_tarifa.id!=null){ + + if(peso_envio>parseFloat(datos_tarifa.peso_max)){ + datos_tarifa.precio = parseFloat(datos_tarifa.peso_min) + (peso_envio-parseFloat(datos_tarifa.peso_min))*parseFloat(datos_tarifa.precio_adicional); + } + // si no se calcula linealmente + else{ + m=((parseFloat(datos_tarifa.precio_max)-parseFloat(datos_tarifa.precio_min))/(parseFloat(datos_tarifa.peso_max)-parseFloat(datos_tarifa.peso_min))); + b=parseFloat(datos_tarifa.precio_max)-m*parseFloat(datos_tarifa.peso_max); + datos_tarifa.precio = parseFloat(m*peso_envio+b); + } + + + datos_tarifa.cantidad = parseInt($('#add_cantidad').val()); + datos_tarifa.peso = peso_envio; + + $('#tableOfDireccionesEnvio').DataTable().row(rowIdx) + .data({ + 'tarifa_id': datos_tarifa.id, + 'cantidad': rowData.cantidad, + 'peso': datos_tarifa.peso.toFixed(3), + 'att': rowData.att, + 'email': rowData.email, + 'direccion': rowData.direccion, + 'cp': rowData.cp, + 'municipio': rowData.municipio, + 'provincia': rowData.provincia, + 'paisId': rowData.paisId, + 'telefono': rowData.telefono, + 'proveedor': datos_tarifa.proveedor, + 'proveedor_id': datos_tarifa.proveedor_id, + 'precio': datos_tarifa.precio.toFixed(2), + 'margen': datos_tarifa.margen, + 'entregaPieCalle': rowData.entregaPieCalle, + 'actionBtns_direcciones': actionBtns_direcciones, + }) + .draw(); + + checkInsertar() + //updateTotales(false, false, true) + updatePresupuesto({ + update_lineas: false, + update_servicios: false, + update_envios: false, + update_resumen: true, + update_tiradas_alternativas: true + }) + } + else{ + popErrorAlert(window.error_no_tarifa_envio, 'error-tarifa') + } + }) } \ No newline at end of file diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.php index 8137b3d2..72afd123 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.php @@ -83,78 +83,6 @@ $('#insertar_direccion').on('click', function(){ const lastColNr_direcciones = $('#tableOfDireccionesEnvio').find("tr:first th").length - 1; -const actionBtns_direcciones = function(data) { - return ` - - - `; -}; - -function updateTablaEnvios(){ - - var peso_total_libro = get_peso_libro(); - - tableEnvios.rows().every(async function ( rowIdx, tableLoop, rowLoop ) { - - var rowData = this.data(); - const peso_envio = peso_total_libro*parseInt(rowData.cantidad)/1000.0; - - var datos_tarifa = await get_precio_envio(peso_envio, rowData.paisId, rowData.cp, parseInt(rowData.entregaPieCalle)==1?'palets':'cajas'); - - - if(datos_tarifa.id!=null){ - - if(peso_envio>parseFloat(datos_tarifa.peso_max)){ - datos_tarifa.precio = parseFloat(datos_tarifa.peso_min) + (peso_envio-parseFloat(datos_tarifa.peso_min))*parseFloat(datos_tarifa.precio_adicional); - } - // si no se calcula linealmente - else{ - m=((parseFloat(datos_tarifa.precio_max)-parseFloat(datos_tarifa.precio_min))/(parseFloat(datos_tarifa.peso_max)-parseFloat(datos_tarifa.peso_min))); - b=parseFloat(datos_tarifa.precio_max)-m*parseFloat(datos_tarifa.peso_max); - datos_tarifa.precio = parseFloat(m*peso_envio+b); - } - - - datos_tarifa.cantidad = parseInt($('#add_cantidad').val()); - datos_tarifa.peso = peso_envio; - - tableEnvios.row(rowIdx) - .data({ - 'tarifa_id': datos_tarifa.id, - 'cantidad': rowData.cantidad, - 'peso': datos_tarifa.peso.toFixed(3), - 'att': rowData.att, - 'email': rowData.email, - 'direccion': rowData.direccion, - 'cp': rowData.cp, - 'municipio': rowData.municipio, - 'provincia': rowData.provincia, - 'paisId': rowData.paisId, - 'telefono': rowData.telefono, - 'proveedor': datos_tarifa.proveedor, - 'proveedor_id': datos_tarifa.proveedor_id, - 'precio': datos_tarifa.precio.toFixed(2), - 'margen': datos_tarifa.margen, - 'entregaPieCalle': rowData.entregaPieCalle, - 'actionBtns_direcciones': actionBtns_direcciones, - }) - .draw(); - - checkInsertar() - //updateTotales(false, false, true) - updatePresupuesto({ - update_lineas: false, - update_servicios: false, - update_envios: false, - update_resumen: true, - update_tiradas_alternativas: true - }) - } - else{ - popErrorAlert('', 'error-tarifa') - } - }) -} $(document).on('click', '.delete-add-row', function(e) { const row = $(this).closest('tr'); @@ -293,33 +221,7 @@ var tableEnvios = $('#tableOfDireccionesEnvio').DataTable( { -function checkInsertar(){ - cantidad_total = 0 - tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) { - var data = this.data(); - cantidad_total += parseInt(data.cantidad ) - } ); - htmlString = '' - if(cantidad_total < parseInt($('#tirada').val())){ - $('#rowInsertar').css('display', 'flex') - } - else{ - $('#rowInsertar').css('display', 'none') - } - if(cantidad_total != parseInt($('#tirada').val())){ - htmlString = ` - `; - } - $('#alert-envios').html(htmlString) -} function save_datos_envios(){ $.post( '', @@ -411,5 +313,5 @@ function load_datos_envios(){ window.url_get_precio_envio = ''; - +window.error_no_tarifa_envio = '' endSection() ?> \ No newline at end of file diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.js b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.js new file mode 100644 index 00000000..9a6740e7 --- /dev/null +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.js @@ -0,0 +1,3320 @@ +/*********************** + * Funcionamiento general de la página + ************************/ +// variable para controlar el foco en los inputs +let focused = 0; + +function change_focus(){ + // se comprueba que el elemento es un input + if($('#'+focused).is('input')){ + if(focused){ + $('#'+focused).focus(); + $('#'+focused).select(); + focused = 0; + } + } +} + + +// Formatting function for row details - modify as you need +function format(d) { + + var value = ''+ + ''+ + ''+ + ''+ + '
' + + '
' + + window.Presupuestos.numeroPliegos + + ''+ + '
'+ + '
' + + window.Presupuestos.pliegosPedido + + ''+ + '
'+ + '
' + + window.Presupuestos.precioPliego + + ''+ + '
'+ + '
' + + window.Presupuestos.libro + + ''+ + '
'+ + '
' + + window.Presupuestos.totalPapelPedido + + ''+ + '
'+ + '' + + '
' + + '' + + '
'+ + '
' + + window.Presupuestos.click + + ''+ + '
'+ + '
' + + window.Presupuestos.totalClicks + + ''+ + '
'+ + '
' + + window.Presupuestos.horas + + ''+ + '
'+ + '
' + + window.Presupuestos.precioHora + + ''+ + '
'+ + '
' + + window.Presupuestos.precioImpresion + + ''+ + '
'+ + '
' + + '' + + '
'+ + '' + + '' + + '
' + + '' + + + + + value += '' + + if(d.maquinaTipo=='inkjet'){ + value += + ''+ + ''+ + ''+ + ''+ + '
' + + '
' + + '' + + '
'+ + '
' + + window.Presupuestos.numPagColor + + '' + + '
' + + ((d.row_id.includes('rot'))?'
' + + window.Presupuestos.saturacion + + '' + + '
':'') + + '
' + + window.Presupuestos.cobNegro + + '' + + '
' + + '
' + + window.Presupuestos.cobCyan + + '' + + '
' + + '
' + + window.Presupuestos.cobMagenta + + '' + + '
' + + '
' + + window.Presupuestos.cobAmarillo + + '' + + '
' + + ((!d.row_id.includes('rot'))? + '
' + + window.Presupuestos.cobCG + + '' + + '
':'') + + '
' + + window.Presupuestos.gotaNegro + + '' + + '
' + + '
' + + window.Presupuestos.gotaColor + + '' + + '
' + + '
' + + window.Presupuestos.aFavorFibra + + '' + + '
' + + '
' + + '' + + '
' + + '
' + + + '' + + '' + + ''+ + ''+ + ''+ + ''+ + '
' + + ((!d.row_id.includes('rot'))? + '
' + + window.Presupuestos.factorAltura + + '' + + '
' + + '
' + + window.Presupuestos.factorAnchura + + '' + + '
':'') + + (d.row_id.includes('rot')?'
': '' + + + (d.row_id.includes('rot')?'
' + + window.Presupuestos.resolucion + + '' + + '
':'') + + (d.row_id.includes('rot')?'
' + + window.Presupuestos.areaPaginas + + '' + + '
':'') + + '
' + + window.Presupuestos.gotasNegro + + '' + + '
' + + '
' + + window.Presupuestos.gotasCyan + + '' + + '
' + + '
' + + window.Presupuestos.gotasMagenta + + '' + + '
' + + '
' + + window.Presupuestos.gotasAmarillo + + '' + + '
' + + (!(d.row_id.includes('rot'))?'
' + + window.Presupuestos.gotasCG + + '' + + '
':'') + + '
' + + window.Presupuestos.precioPagNegro + + '' + + '
' + + '
' + + window.Presupuestos.precioPagColor + + '' + + '
' + + (d.row_id.includes('rot')? + '
' + + window.Presupuestos.factorAltura + + '' + + '
' + + '
' + + window.Presupuestos.factorAnchura + + '' + + '
':'') + + (d.row_id.includes('rot')?'
' + + window.Presupuestos.paginasPliego + + '' + + '
':'') + + '
' + + '' + + '' + + ''+ + ''+ + ''+ + ''+ + '
' + + (d.row_id.includes('rot')?'
': '' + + (d.row_id.includes('rot')?'
': '' + + (d.row_id.includes('rot')?'
' + + window.Presupuestos.clicksLibro + + '' + + '
':'') + + ((!d.row_id.includes('rot'))?'
' + + window.Presupuestos.saturacion + + '' + + '
':'') + + ((!d.row_id.includes('rot'))?'
' + + window.Presupuestos.paginasPliego + + '' + + '
':'') + + '
' + + window.Presupuestos.gTintaNegro + + '' + + '
' + + '
' + + window.Presupuestos.gTintaCyan + + '' + + '
' + + '
' + + window.Presupuestos.gTintaMagenta + + '' + + '
' + + '
' + + window.Presupuestos.gTintaAmarillo + + '' + + '
' + + (!(d.row_id.includes('rot'))?'
' + + window.Presupuestos.gTintaCG + + '' + + '
':'') + + ((!d.row_id.includes('rot'))?'
' + + window.Presupuestos.clicksLibro + + '' + + '
':'') + + '
' + + window.Presupuestos.clicksPedido + + '' + + '
' + + '
' + + window.Presupuestos.totalClicks + + '' + + '
' + + '
' + + window.Presupuestos.totalTinta + + '' + + '
' + + (d.row_id.includes('rot')?'
': '' + + '
' + + window.Presupuestos.totalImpresion + + '' + + '
' + + '
' + + '' + + '' + + ''+ + ''+ + ''+ + ''+ + '
' + + ((!d.row_id.includes('rot'))?'
' + + window.Presupuestos.resolucion + + '' + + '
':'') + + ((!d.row_id.includes('rot'))?'
' + + window.Presupuestos.areaPaginas + + '' + + '
':'') + + (d.row_id.includes('rot')?'
': '' + + (d.row_id.includes('rot')?'
': '' + + (d.row_id.includes('rot')?'
': '' + + '
' + + window.Presupuestos.gTintaNegroPed + + '' + + '
' + + '
' + + window.Presupuestos.gTintaCyanPed + + '' + + '
' + + '
' + + window.Presupuestos.gTintaMagentaPed + + '' + + '
' + + '
' + + window.Presupuestos.gTintaAmarilloPed + + ''+ + '
' + + (!(d.row_id.includes('rot'))?'
' + + window.Presupuestos.gTintaCGPed + + ''+ + '
':'') + + '
' + + '' + + '' + } + + return $(value).toArray(); +} + +const lastColNr_lp = $('#tableLineasPresupuesto').find("tr:first th").length - 1; + +const actionBtns_lp = function(data) { + return ` + + `; +}; + +var tableLineasPresupuesto = new DataTable('#tableLineasPresupuesto',{ + scrollX: true, + searching: false, + paging: false, + info: false, + ordering: true, + responsive: true, + select: false, + rowId: 'row_id', + language: { + url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json" + }, + columnDefs: [ + { + targets: 0, + className: 'dt-control', + orderable: false, + data: null, + defaultContent: '' + }, + { + targets: [1,2,3,4,5,6,7,8,9], + orderable: false, + visible: false, + }, + { + targets: [11,12,13,14,15,16,17,18,19,20], + orderable: false, + }, + { + targets: [10], + orderable: true, + visible: false, + }, + { + orderable: false, + searchable: false, + targets: [lastColNr_lp] + }, + ], + columns: [ + {data: null}, + {data: 'tarifa_impresion_id'}, + {data: 'maquina_ancho'}, + {data: 'maquina_alto'}, + {data: 'maquina_impresion_ancho'}, + {data: 'maquina_impresion_alto'}, + {data: 'formas'}, + {data: 'formas_v'}, + {data: 'formas_h'}, + {data: 'formas_orientacion'}, + {data: 'position', + type: "num" , + render: function (data, type, row, meta){ + if(row.row_id.includes('_bn')){ + return 0; + } + else if(row.row_id.includes('_color')){ + return 1; + } + else if(row.row_id.includes('_cubierta')){ + return 2; + } + else if(row.row_id.includes('_sobrecubierta')){ + return 3; + } + else if(row.row_id.includes('_guardas')){ + return 4; + } + } + }, + {data: 'icon', + render: function ( data, type, row, meta ){ + return '' + } + }, + {data: 'paginas', + render: function ( data, type, row, meta ) { + if(row.row_id != "lp_cubierta" && row.row_id != "lp_sobrecubierta" && row.row_id != "lp_guardas") + return ''; + else if(row.row_id == "lp_cubierta"){ + select = '' + + return select; + } + else if(row.row_id == "lp_guardas"){ + select = '' + + return select; + + } + else{ + return ''; + } + } + }, + {data: 'papel', + render: function ( data, type, row, meta ) { + var select = $('') + .attr('id', row.row_id + '_gramaje') + .attr('name', row.row_id + '_gramaje') + .addClass('form-control form-select-sm lp-cell lp-select ' + row.row_class + '-select') + .css('min-width', '40px') + + var option = ''; + select.append(option); + + return select[0].outerHTML + } + }, + {data: 'papel_impresion', + render: function ( data, type, row, meta ) { + var select = $('') + .attr('id', row.row_id + '_maquina') + .attr('name', row.row_id + '_maquina') + .addClass('form-control form-select-sm lp-cell lp-select ' + row.row_class + '-select') + .css('min-width', '110px') + + var option = ''; + select.append(option); + + return select[0].outerHTML + } + }, + {data: 'tiempo', + render: function ( data, type, row, meta ) { + return ''; + } + }, + {data: 'lomo', + render: function ( data, type, row, meta ) { + return ''; + } + }, + {data: 'peso', + render: function ( data, type, row, meta ) { + return ''; + } + }, + {data: 'total_linea', + render: function ( data, type, row, meta ) { + return ''; + } + }, + { + data: actionBtns_lp, + className: 'row-edit dt-center' + } + ], + "order": [ 10, 'asc' ] +}); + +tableLineasPresupuesto.on( 'draw.dt', function () { + checkPaginasPresupuesto() + getVisibleTabs() +} ); + + +$(document).on('click', '.btn-delete-lp', function(e) { + + const row = $(this).closest('tr'); + data = tableLineasPresupuesto.row( row ).data() + tableLineasPresupuesto.row( row ) + .remove() + .draw(); + + //updateTablaEnvios() + updatePresupuesto({ + update_lineas: false, + update_servicios: true, + update_envios: true, + update_resumen: true, + update_tiradas_alternativas: true + }) + + if(data.row_id == 'lp_guardas') + servicioGuardas(false) + + // Si existe cubierta, hay que actualizar con el valor del lomo + check_update_cubierta() +}) + + + +// Add event listener for opening and closing details +tableLineasPresupuesto.on('click', 'td.dt-control', function (e) { + let tr = e.target.closest('tr'); + let row = tableLineasPresupuesto.row(tr); + + if (row.child.isShown()) { + // This row is already open - close it + row.child.hide(); + } + else { + // Open this row + row.child(format(row.data())).show(); + } +}); + +function processRowData(row, rowId, rowClass){ + + var icon = "" + if(rowId=='lp_bn'){ + if(row.tipo_maquina=='toner') + icon = '' + else + icon = '' + } + + else if(rowId=='lp_bnhq'){ + if(row.tipo_maquina=='toner') + icon = '' + else + icon = '' + } + else if(rowId=='lp_color'){ + if(row.tipo_maquina=='toner') + icon = '' + else + icon = '' + } + else if(rowId=='lp_colorhq'){ + if(row.tipo_maquina=='toner') + icon = '' + else + icon = '' + } + + else if(rowId=='lp_cubierta') + icon = '' + else if(rowId=='lp_sobrecubierta') + icon = '' + else if(rowId=='lp_guardas') + icon = '' + else if(rowId=='lp_rot_bn') + icon = '' + else if(rowId=='lp_rot_color') + icon = '' + + const blank_line = (typeof row.tarifa_impresion_id === 'undefined')?1:0; + var data = { + 'row_id': rowId, + 'row_class': rowClass, + + 'tarifa_impresion_id': blank_line?0:isNaN(parseInt(row.tarifa_impresion_id)) ? "" : parseInt(row.tarifa_impresion_id), + 'maquina_ancho': blank_line?0:isNaN(parseFloat(row.dimensiones_maquina[0])) ? "" : parseFloat(row.dimensiones_maquina[0]), + 'maquina_alto': blank_line?0:isNaN(parseFloat(row.dimensiones_maquina[1])) ? "" : parseFloat(row.dimensiones_maquina[1]), + 'maquina_impresion_ancho': blank_line?0:isNaN(parseFloat(row.dimensiones_maquina_impresion[0])) ? "" : parseFloat(row.dimensiones_maquina_impresion[0]), + 'maquina_impresion_alto': blank_line?0:isNaN(parseFloat(row.dimensiones_maquina_impresion[1])) ? "" : parseFloat(row.dimensiones_maquina_impresion[1]), + 'formas': blank_line?0:isNaN(parseInt(row.num_formas.value)) ? 0 : parseInt(row.num_formas.value), + 'formas_v': blank_line?0:isNaN(parseInt(row.num_formas.num_formas_verticales)) ? 0 : parseInt(row.num_formas.num_formas_verticales), + 'formas_h': blank_line?0:isNaN(parseInt(row.num_formas.num_formas_horizontales)) ? 0 : parseInt(row.num_formas.num_formas_horizontales), + 'formas_orientacion': blank_line?0:row.num_formas.posicion_formas, + + 'icon': icon, + 'paginas': blank_line?0:row.paginas, + 'paginas_impresion': rowId=='lp_guardas'?row.paginas_impresion:0, + 'papel': blank_line?"":row.papel_generico_id, + 'gramaje': blank_line?"":row.gramaje, + 'papel_impresion': blank_line?"":row.papel_impresion, + 'papel_impresion_id': blank_line?"":row.papel_impresion_id, + 'maquina': blank_line?"":row.maquina, + 'maquina_id': blank_line?"":row.maquina_id, + + 'tiempo': blank_line?"":row.tiempo_maquina, + 'lomo': isNaN(parseFloat(row.mano)) ? "" : parseFloat(row.mano).toFixed(2), + 'peso': isNaN(parseFloat(row.peso)) ? "" : parseFloat(row.peso).toFixed(2), + + 'total_linea': isNaN(parseFloat(row.total_impresion)) ? "" : parseFloat(row.total_impresion).toFixed(2), + + 'numeroPliegos':isNaN(parseFloat(row.pliegos_libro)) ? "" : parseFloat(row.pliegos_libro).toFixed(0), + 'pliegosPedido': isNaN(parseFloat(row.pliegos_pedido)) ? "" : parseFloat(row.pliegos_pedido).toFixed(0), + 'precioPliego': isNaN(parseFloat(row.precios_pliegos)) ? "" : parseFloat(row.precios_pliegos).toFixed(6), + 'libro': isNaN(parseFloat(row.precio_libro)) ? "" : parseFloat(row.precio_libro).toFixed(2), + 'totalPapelPedido': isNaN(parseFloat(row.precio_pedido)) ? "" : parseFloat(row.precio_pedido).toFixed(2), + 'margenPapelPedido': isNaN(parseFloat(row.margen_papel_pedido)) ? "": parseFloat(row.margen_papel_pedido).toFixed(2), + 'click': isNaN(parseFloat(row.precio_click)) ? "" : parseFloat(row.precio_click).toFixed(6), + 'totalClicks': isNaN(parseFloat(row.precio_click_pedido)) ? "" : parseFloat(row.precio_click_pedido).toFixed(2), + 'margenClicks': isNaN(parseFloat(row.margen_click_pedido)) ? "" : parseFloat(row.margen_click_pedido).toFixed(2), + 'horasMaquina': isNaN(parseFloat(row.horas_maquina)) ? "" : parseFloat(row.horas_maquina).toFixed(4), + 'precioHora': isNaN(parseFloat(row.precio_hora)) ? "" : parseFloat(row.precio_hora).toFixed(2), + 'precioImpresion': isNaN(parseFloat(row.precio_impresion_horas)) ? "" : parseFloat(row.precio_impresion_horas).toFixed(2), + 'margenImpresion': isNaN(parseFloat(row.margen_impresion_horas)) ? "" : parseFloat(row.margen_impresion_horas).toFixed(2), + 'maquinaTipo': row.tipo_maquina, + 'check_papel_total': row.check_papel_total, + 'check_impresion_total': row.check_impresion_total, + } + + if(row.tipo_maquina=='inkjet'){ + + data.numPagColor = row.paginas_color + data.aFavorFibra = row.a_favor_fibra + data.cobNegro = isNaN(parseFloat(row.datosTipologias.negro)) ? "" : parseFloat(row.datosTipologias.negro).toFixed(2) + data.cobCyan = isNaN(parseFloat(row.datosTipologias.cyan)) ? "" : parseFloat(row.datosTipologias.cyan).toFixed(2) + data.cobMagenta = isNaN(parseFloat(row.datosTipologias.magenta)) ? "" : parseFloat(row.datosTipologias.magenta).toFixed(2) + data.cobAmarillo = isNaN(parseFloat(row.datosTipologias.amarillo)) ? "" : parseFloat(row.datosTipologias.amarillo).toFixed(2) + data.gotaNegro = isNaN(parseFloat(row.datosTipologias.gota_negro)) ? "" : parseFloat(row.datosTipologias.gota_negro).toFixed(2) + data.gotaColor = isNaN(parseFloat(row.datosTipologias.gota_color)) ? "" : parseFloat(row.datosTipologias.gota_color).toFixed(2) + + data.resolucion = isNaN(parseFloat(row.resolucion)) ? "" : parseFloat(row.resolucion).toFixed(0) + data.areaPaginas = isNaN(parseFloat(row.superficie)) ? "" : parseFloat(row.superficie).toFixed(2) + + data.gotasNegro = isNaN(parseFloat(row.num_gotas_negro)) ? "" : parseFloat(row.num_gotas_negro).toFixed(0) + data.gotasCyan = isNaN(parseFloat(row.num_gotas_cyan)) ? "" : parseFloat(row.num_gotas_cyan).toFixed(0) + data.gotasMagenta = isNaN(parseFloat(row.num_gotas_magenta)) ? "" : parseFloat(row.num_gotas_magenta).toFixed(0) + data.gotasAmarillo = isNaN(parseFloat(row.num_gotas_amarillo)) ? "" : parseFloat(row.num_gotas_amarillo).toFixed(0) + data.precioPagNegro = isNaN(parseFloat(row.precio_pagina_negro)) ? "" : parseFloat(row.precio_pagina_negro).toFixed(6) + data.precioPagColor = isNaN(parseFloat(row.precio_pagina_color)) ? "" : parseFloat(row.precio_pagina_color).toFixed(6) + data.factorAltura = isNaN(parseFloat(row.factor_altura)) ? "" : parseFloat(row.factor_altura).toFixed(2) + data.factorAnchura = isNaN(parseFloat(row.factor_anchura)) ? "" : parseFloat(row.factor_anchura).toFixed(2) + data.paginasPliego = isNaN(parseFloat(row.paginas_por_pliego)) ? "" : parseFloat(row.paginas_por_pliego).toFixed(2) + + if(rowId.includes('rot')){ + data.metrosMinuto = isNaN(parseFloat(row.maquina_velocidad)) ? "" : parseFloat(row.maquina_velocidad).toFixed(2) + data.metrosPapelLibro = isNaN(parseFloat(row.metros_papel_libro)) ? "" : parseFloat(row.metros_papel_libro).toFixed(2) + data.metrosPapelTotal = isNaN(parseFloat(row.metros_papel_total)) ? "" : parseFloat(row.metros_papel_total).toFixed(2) + data.velocidadCorte = isNaN(parseFloat(row.velocidad_corte)) ? "" : parseFloat(row.velocidad_corte).toFixed(2) + data.precioHoraCorte = isNaN(parseFloat(row.precio_hora_corte)) ? "" : parseFloat(row.precio_hora_corte).toFixed(2) + data.tiempoCorte = isNaN(parseFloat(row.tiempo_corte)) ? "" : parseFloat(row.tiempo_corte).toFixed(2) + data.totalCorte = isNaN(parseFloat(row.total_corte)) ? "" : parseFloat(row.total_corte).toFixed(2) + } + else{ + data.totalCorte = 0 + } + + data.clicksLibro = isNaN(parseFloat(row.clicks_libro)) ? "" : parseFloat(row.clicks_libro).toFixed(0) + data.gTintaNegro = isNaN(parseFloat(row.peso_gotas_negro)) ? "" : parseFloat(row.peso_gotas_negro).toFixed(2) + data.gTintaCyan = isNaN(parseFloat(row.peso_gotas_cyan)) ? "" : parseFloat(row.peso_gotas_cyan).toFixed(2) + data.gTintaMagenta = isNaN(parseFloat(row.peso_gotas_magenta)) ? "" : parseFloat(row.peso_gotas_magenta).toFixed(2) + data.gTintaAmarillo = isNaN(parseFloat(row.peso_gotas_amarillo)) ? "" : parseFloat(row.peso_gotas_amarillo).toFixed(2) + data.clicksPedido = isNaN(parseFloat(row.clicks_pedido)) ? "" : parseFloat(row.clicks_pedido).toFixed(0) + data.totalClicksPedido = isNaN(parseFloat(row.precio_click_pedido)) ? "" : parseFloat(row.precio_click_pedido).toFixed(2) + data.totalTinta = isNaN(parseFloat(row.precio_tinta)) ? "" : parseFloat(row.precio_tinta).toFixed(2) + + data.totalImpresion = isNaN(parseFloat(row.precio_click_pedido+row.precio_tinta+data.totalCorte)) ? "" : parseFloat(row.precio_click_pedido+row.precio_tinta+data.totalCorte).toFixed(2) + + data.gTintaNegroPed = isNaN(parseFloat(row.peso_gotas_negro_pedido)) ? "" : parseFloat(row.peso_gotas_negro_pedido).toFixed(2) + data.gTintaCyanPed = isNaN(parseFloat(row.peso_gotas_cyan_pedido)) ? "" : parseFloat(row.peso_gotas_cyan_pedido).toFixed(2) + data.gTintaMagentaPed = isNaN(parseFloat(row.peso_gotas_magenta_pedido)) ? "" : parseFloat(row.peso_gotas_magenta_pedido).toFixed(2) + data.gTintaAmarilloPed = isNaN(parseFloat(row.peso_gotas_amarillo_pedido)) ? "" : parseFloat(row.peso_gotas_amarillo_pedido).toFixed(2) + + if(!rowId.includes('rot')){ + data.cobCG = isNaN(parseFloat(row.datosTipologias.cg)) ? "" : parseFloat(row.datosTipologias.cg).toFixed(2) + data.gotasCG = isNaN(parseFloat(row.num_gotas_cg)) ? "" : parseFloat(row.num_gotas_cg).toFixed(2) + data.gTintaCG = isNaN(parseFloat(row.peso_gotas_cg)) ? "" : parseFloat(row.peso_gotas_cg).toFixed(2) + data.gTintaCGPed = isNaN(parseFloat(row.peso_gotas_cg_pedido)) ? "" : parseFloat(row.peso_gotas_cg_pedido).toFixed(2) + } + + + data.alto_click = row.alto_click + } + + return data +} + + + +$('.paginas-lp').on('change', function(){ + checkPaginasPresupuesto() +}) + + +function verCalculosInkjet(e){ + if($( ".calculos_" + e.data.rowId ).css('display') == 'none') + $( ".calculos_" + e.data.rowId ).css('display', 'table-row') + else{ + $( ".calculos_" + e.data.rowId ).css('display', 'none') + } +}; + + + +function clear_interior(row_id = ''){ + switch(row_id) { + case 'lp_bn': + clear_lp_bn(true); + break; + case 'lp_color': + clear_lp_color(true); + break; + case 'lp_bnhq': + clear_lp_bnhq(true); + break; + case 'lp_colorhq': + clear_lp_colorhq(true); + break; + default: + clear_lp_bn(true); + clear_lp_color(true); + clear_lp_bnhq(true); + clear_lp_colorhq(true); + break; + } + if(row_id.length>0) + tableLineasPresupuesto.row( row_id ) + .remove() + .draw(); + else{ + tableLineasPresupuesto.row( '#lp_bn' ) + .remove().draw() + tableLineasPresupuesto.row( '#lp_bnhq' ) + .remove().draw() + tableLineasPresupuesto.row( '#lp_color' ) + .remove().draw() + tableLineasPresupuesto.row( '#lp_colorhq' ) + .remove().draw() + } +} + + +function clear_rotativa(row_id = ''){ + switch(row_id) { + case 'lp_rot_bn': + clear_lp_rot_bn(true); + break; + case 'lp_rot_color': + clear_lp_rot_color(true); + break; + default: + clear_lp_rot_bn(true); + clear_lp_rot_color(true); + break; + } + if(row_id.length>0) + tableLineasPresupuesto.row( row_id ) + .remove() + .draw(); + else{ + tableLineasPresupuesto.row( '#lp_rot_bn' ) + .remove().draw() + tableLineasPresupuesto.row( '#lp_rot_color' ) + .remove().draw() + } +} + + +function clear_cubierta(){ + clear_lp_cubierta(true); +} + +function clear_sobrecubierta(){ + clear_lp_sobrecubierta(true); +} + + +$('.insertarLinea').on("click", function (e) { + + if(e.target.id.includes("Plana")){ + + clear_interior(); + clear_rotativa(); + + var rows = $("#tableCompIntPlana").DataTable().rows( '.selected' ).data().toArray(); + + for(row of rows){ + if(row['tipo'] =='bn'){ + fill_lp_bn(row, true); + } + else if(row['tipo'] =='bnhq'){ + fill_lp_bnhq(row, true); + } + else if(row['tipo'] =='color'){ + fill_lp_color(row, true); + } + else if(row['tipo'] =='colorhq'){ + fill_lp_colorhq(row, true); + } + } + } + if(e.target.id.includes("Rotativa")){ + + clear_rotativa(); + clear_interior(); + + var rows = $("#tableCompIntRotativa").DataTable().rows( '.selected' ).data().toArray(); + for(row of rows){ + if(row['paginasColor'] ==0){ + fill_lp_rot_bn(row, true); + } + else if(row['paginasColor'] >0){ + fill_lp_rot_color(row, true); + } + } + } + + if(e.target.id.includes("Cubierta")){ + + clear_cubierta(); + + var rows = $("#tableCompCubierta").DataTable().rows( '.selected' ).data().toArray(); + for(row of rows){ + if(row.tipo == 'cubierta'){ + fill_lp_cubierta(row, true); + if($('#acabado_cubierta_id').val() > 0) + insertar_acabado_exterior($('#acabado_cubierta_id').val(), '') + } + } + + clear_sobrecubierta(); + + for(row of rows){ + if(row.tipo == 'sobrecubierta'){ + fill_lp_sobrecubierta(row, true); + if($('#acabado_sobrecubierta_id').val() > 0) + insertar_acabado_exterior($('#acabado_sobrecubierta_id').val(), '') + } + } + } + + if(e.target.id.includes("Guardas")){ + + clear_guardas(); + + var rows = $("#tableCompGuardas").DataTable().rows( '.selected' ).data().toArray(); + for(row of rows){ + fill_lp_guardas(row, true); + } + servicioGuardas(true) + } + + + update_servicios() + + +}); + + +$('#btn_addLinea').on("click", function (e) { + + var dataRows = tableLineasPresupuesto + .rows() + .data(); + + switch($('#addLineasPresupuesto').val()){ + // Se chequean todas las lineas de negro y todas las de color + // (solo una de cada en interior) + + case 'lp_bn': + var hayLinea = false + for(let number=0;number0){ + + $.each(data.lineas, function(key, value) { + // Se cogen los valores de la linea con los datos correspondientes + if(value.fields.maquina_id === input_data.maquina_id && + value.fields.papel_generico_id === input_data.papel_generico_id && + value.fields.papel_impresion_id === input_data.papel_impresion_id) { + + // Si viene del comparador + if(Object.keys(input_data).length == 0){ + value.fields.check_papel_total = $('#lp_bn' + '_checkPapel').is(":checked")?1:0 + value.fields.check_impresion_total = $('#lp_bn' + '_checkClicks').is(":checked")?1:0 + + } + else{ + value.fields.check_papel_total = 1 + value.fields.check_impresion_total = 1 + } + fill_lp_bn(value.fields); + + return false; + } + else{ + clear_lp_bn(false); + } + + }); + + } + else{ + + } + yeniden(data[window.csrf_token]); + + }, + error: function(e){ + + } + }) +} + +function clear_lp_bn(clear_selectors){ + let pags = $("#lp_bn_paginas" ).val() + $(".lp-bn-input" ).val("0") + $("#lp_bn_paginas" ).val(pags) + if(clear_selectors) + $( ".lp-bn-select").empty() +} + + + +function change_lp_bn_maquina(){ + if(parseInt($('#lp_bn_paginas').val())>0){ + calcularPresupuesto_bn(); + } +} + + +function change_lp_bn_paginas(){ + + if( parseInt($('#lp_bn_paginas').val())>0 && + parseInt($('#lp_bn_papel option:selected').val())>0 && + $('#lp_bn_gramaje option:selected').text().length>0 && + parseInt($('#lp_bn_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_bn(); + } +} + + +function change_lp_bn_aFavorFibra(){ + + if( parseInt($('#lp_bn_paginas').val())>0 && + parseInt($('#lp_bn_papel option:selected').val())>0 && + $('#lp_bn_gramaje option:selected').text().length>0 && + parseInt($('#lp_bn_papelImpresion option:selected').val())>0 + ){ + var rowData = tableLineasPresupuesto.row('#lp_bn').data() + rowData.aFavorFibra = $('#lp_bn_aFavorFibra').prop('checked') + tableLineasPresupuesto.row('#lp_bn').data(rowData).draw(false) + + calcularPresupuesto_bn(false, true); + } +} + + +function change_lp_bn_tipologia(){ + + if( parseInt($('#lp_bn_paginas').val())>0 && + parseInt($('#lp_bn_papel option:selected').val())>0 && + $('#lp_bn_gramaje option:selected').text().length>0 && + parseInt($('#lp_bn_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_bn({},true); + } +} + + +function por_defecto_lp_bn(){ + + if( parseInt($('#lp_bn_paginas').val())>0 && + parseInt($('#lp_bn_papel option:selected').val())>0 && + $('#lp_bn_gramaje option:selected').text().length>0 && + parseInt($('#lp_bn_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_bn(); + } +} + + +function fill_lp_bn(row, fromComparator=false){ + + if(fromComparator){ + + var input_data = { + paginas: row.paginas, + papel_generico_id: row.papelGenericoId, + gramaje: row.gramaje, + papel_impresion_id: row.papelImpresionId, + maquina_id: row.maquinaId, + } + calcularPresupuesto_bn(input_data) + } + else{ + // Se guarda el estado de "ver calculos" + mostrar_calculos = ($( ".calculos_lp_bn").css('display') == 'table-row') + + // Si viene de hacerlo a mano... + data = processRowData(row, 'lp_bn', 'lp-bn'); + + var row = tableLineasPresupuesto.row('#lp_bn'); + if(row.length>0) + tableLineasPresupuesto.row('#lp_bn').data(data).draw() + else{ + tableLineasPresupuesto.row.add(data).draw() + row = tableLineasPresupuesto.row('#lp_bn'); + } + row.child(format(row.data())).show(); + + eventos_lp_bn(data.maquinaTipo=='inkjet'?true:false) + + $('#lp_bn_checkPapel').change() + + calcular_mermas() + + //updateTotales(true, false, false); + //updateTablaEnvios() + updatePresupuesto({ + 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 + check_update_cubierta() + + if(mostrar_calculos){ + $( ".calculos_lp_bn").css('display','table-row') + } + } + + $("#tableLineasPresupuesto").DataTable().columns.adjust(); + +} + +function eventos_lp_bn(isInkjet = false){ + $('#lp_bn_papel').bind("focus", {clear_selectors: true}, clear_lp_bn); + $('#lp_bn_gramaje').bind("focus", set_lp_bn_gramaje); + $('#lp_bn_papelImpresion').focus("focus", set_lp_bn_papelImpresion); + $('#lp_bn_maquina').bind("focus", set_lp_bn_maquina); + $('#lp_bn_maquina').bind("change", change_lp_bn_maquina); + $('#lp_bn_vercalculos').bind("click", {rowId: 'lp_bn'}, verCalculosInkjet); + + if(isInkjet){ + $('.lp-bn-tipologia').bind("change", change_lp_bn_tipologia); + $('#lp_bn_defecto').bind("click", por_defecto_lp_bn); + $('#lp_bn_aFavorFibra').bind("change", change_lp_bn_aFavorFibra); + } +} + + + +/*********************** + * Funciones LP BN + ************************/ +async function calcularPresupuesto_color(input_data={}, updatedTipologias = false){ + + const dimension = getDimensionLibro(); + + if(Object.keys(input_data).length == 0){ + + input_data = { + paginas:parseInt($('#lp_color_paginas').val()), + papel_generico_id: $('#lp_color_papel option:selected').val(), + papel_generico: $('#lp_color_papel option:selected').text().trim(), + gramaje: $('#lp_color_gramaje option:selected').text().trim(), + maquina_id: $('#lp_color_maquina option:selected').val(), + papel_impresion_id: $('#lp_color_papelImpresion option:selected').val() + } + } + + let datos = { + tipo_impresion_id: $('#tipo_impresion_id').val(), + type: 'interior', + color: 1, + hq: 0, + paginas: input_data.paginas, + tirada: parseInt($('#tirada').val()), + merma: parseInt($('#merma').val()), + ancho: dimension.ancho, + alto: dimension.alto, + papel_generico_id: input_data.papel_generico_id, + papel_generico: input_data.papel_generico, + gramaje: input_data.gramaje, + cliente_id: $('#clienteId').find(":selected").val(), + }; + datos = Object.assign(datos, window.token_ajax); + + if(updatedTipologias && $('#lp_color_gotaNegro').length){ + datos.gota_negro= $('#lp_color_gotaNegro').val() + datos.gota_color= $('#lp_color_gotaColor').val() + datos.negro= $('#lp_color_cobNegro').val() + datos.cyan= $('#lp_color_cobCyan').val() + datos.magenta= $('#lp_color_cobMagenta').val() + datos.amarillo= $('#lp_color_cobAmarillo').val() + if ($('#lp_color_cobCG').length){ + datos.cg = $('#lp_color_cobCG').val() + } + } + + // Si es inkjet, existe este check + if ($('#lp_color_aFavorFibra').length){ + datos.a_favor_fibra = $('#lp_color_aFavorFibra').prop('checked') + } + + await $.ajax({ + type: "POST", + url: "/cosidotapablanda/datatable", + data: datos, + success: function (data) { + + if(data.lineas.length >0){ + // Se cogen los valores de la linea con los datos correspondientes + $.each(data.lineas, function(key, value) { + if(value.fields.maquina_id === input_data.maquina_id && + value.fields.papel_generico_id === input_data.papel_generico_id && + value.fields.papel_impresion_id === input_data.papel_impresion_id) { + + if(Object.keys(input_data).length == 0){ + value.fields.check_papel_total = $('#lp_color' + '_checkPapel').is(":checked")?1:0 + value.fields.check_impresion_total = $('#lp_color' + '_checkClicks').is(":checked")?1:0 + } + else{ + value.fields.check_papel_total = 1 + value.fields.check_impresion_total = 1 + } + fill_lp_color(value.fields); + return false; + } + else{ + clear_lp_color(false); + } + + }); + + } + else{ + + } + yeniden(data[window.csrf_token]); + + }, + error: function(e){ + + } + }) +} + +function clear_lp_color(clear_selectors){ + let pags = $("#lp_color_paginas" ).val() + $(".lp-color-input" ).val("0") + $("#lp_color_paginas" ).val(pags) + if(clear_selectors) + $( ".lp-color-select").empty() +} + + +function change_lp_color_maquina(){ + + if(parseInt($('#lp_color_paginas').val())>0){ + calcularPresupuesto_color(); + } +} + + +function change_lp_color_paginas(){ + + if( parseInt($('#lp_color_paginas').val())>0 && + parseInt($('#lp_color_papel option:selected').val())>0 && + $('#lp_color_gramaje option:selected').text().length>0 && + parseInt($('#lp_color_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_color(); + } +} + +function change_lp_color_tipologia(){ + + if( parseInt($('#lp_color_paginas').val())>0 && + parseInt($('#lp_color_papel option:selected').val())>0 && + $('#lp_color_gramaje option:selected').text().length>0 && + parseInt($('#lp_color_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_color({},true); + } +} + + +function por_defecto_lp_color(){ + + if( parseInt($('#lp_color_paginas').val())>0 && + parseInt($('#lp_color_papel option:selected').val())>0 && + $('#lp_color_gramaje option:selected').text().length>0 && + parseInt($('#lp_color_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_color(); + } +} + + +function change_lp_color_aFavorFibra(){ + + if( parseInt($('#lp_color_paginas').val())>0 && + parseInt($('#lp_color_papel option:selected').val())>0 && + $('#lp_color_gramaje option:selected').text().length>0 && + parseInt($('#lp_color_papelImpresion option:selected').val())>0 + ){ + var rowData = tableLineasPresupuesto.row('#lp_color').data() + rowData.aFavorFibra = $('#lp_color_aFavorFibra').prop('checked') + tableLineasPresupuesto.row('#lp_color').data(rowData).draw(false) + + calcularPresupuesto_color(false, true); + } +} + + +function fill_lp_color(row, fromComparator=false){ + + if(fromComparator){ + + var input_data = { + paginas: row.paginas, + papel_generico_id: row.papelGenericoId, + gramaje: row.gramaje, + papel_impresion_id: row.papelImpresionId, + maquina_id: row.maquinaId, + } + calcularPresupuesto_color(input_data) + } + else{ + // Se guarda el estado de "ver calculos" + mostrar_calculos = ($( ".calculos_lp_color").css('display') == 'table-row') + + // Si viene de hacerlo a mano... + data = processRowData(row, 'lp_color', 'lp-color'); + + var row = tableLineasPresupuesto.row('#lp_color'); + if(row.length>0) + tableLineasPresupuesto.row('#lp_color').data(data).draw() + else{ + tableLineasPresupuesto.row.add(data).draw() + row = tableLineasPresupuesto.row('#lp_color'); + } + row.child(format(row.data())).show(); + + eventos_lp_color(data.maquinaTipo=='inkjet'?true:false) + + $('#lp_color_checkPapel').change() + + calcular_mermas() + //updateTotales(true, false, false); + //updateTablaEnvios() + updatePresupuesto({ + 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 + check_update_cubierta() + if(mostrar_calculos){ + $( ".calculos_lp_color").css('display','table-row') + } + } + + $("#tableLineasPresupuesto").DataTable().columns.adjust(); + +} + +function eventos_lp_color(isInkjet = false){ + + $('#lp_color_papel').bind("focus", {clear_selectors: true}, clear_lp_color); + $('#lp_color_gramaje').bind("focus", set_lp_color_gramaje); + $('#lp_color_papelImpresion').focus("focus", set_lp_color_papelImpresion); + $('#lp_color_maquina').bind("focus", set_lp_color_maquina); + $('#lp_color_maquina').bind("change", change_lp_color_maquina); + $('#lp_color_paginas').bind("change", change_lp_color_paginas); + $('#lp_color_vercalculos').bind("click", {rowId: 'lp_color'}, verCalculosInkjet); + + if(isInkjet){ + $('.lp-color-tipologia').bind("change", change_lp_color_tipologia); + $('#lp_color_defecto').bind("click", por_defecto_lp_color); + $('#lp_color_aFavorFibra').bind("change", change_lp_color_aFavorFibra); + } +} + + + +/*********************** + * Funciones LP BNHQ + ************************/ +function clear_lp_bnhq(clear_selectors){ + let pags = $("#lp_bnhq_paginas" ).val() + $(".lp-bnhq-input" ).val("0") + $("#lp_bnhq_paginas" ).val(pags) + if(clear_selectors) + $( ".lp-bnhq-select").empty() +} + + +function change_lp_bnhq_maquina(){ + + if(parseInt($('#lp_bnhq_paginas').val())>0){ + calcularPresupuesto_bnhq(); + } +} + +function change_lp_bnhq_paginas(){ + + if( parseInt($('#lp_bnhq_paginas').val())>0 && + parseInt($('#lp_bnhq_papel option:selected').val())>0 && + $('#lp_bnhq_gramaje option:selected').text().length>0 && + parseInt($('#lp_bnhq_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_bnhq(); + } +} + + +function change_lp_bnhq_tipologia(){ + + if( parseInt($('#lp_bnhq_paginas').val())>0 && + parseInt($('#lp_bnhq_papel option:selected').val())>0 && + $('#lp_bnhq_gramaje option:selected').text().length>0 && + parseInt($('#lp_bnhq_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_bnhq({},true); + } +} + + +function por_defecto_lp_bnhq(){ + + if( parseInt($('#lp_bnhq_paginas').val())>0 && + parseInt($('#lp_bnhq_papel option:selected').val())>0 && + $('#lp_bnhq_gramaje option:selected').text().length>0 && + parseInt($('#lp_bnhq_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_bnhq(); + } +} + +function change_lp_bnhq_aFavorFibra(){ + + if( parseInt($('#lp_bnhq_paginas').val())>0 && + parseInt($('#lp_bnhq_papel option:selected').val())>0 && + $('#lp_bnhq_gramaje option:selected').text().length>0 && + parseInt($('#lp_bnhq_papelImpresion option:selected').val())>0 + ){ + var rowData = tableLineasPresupuesto.row('#lp_bnhq').data() + rowData.aFavorFibra = $('#lp_bnhq_aFavorFibra').prop('checked') + tableLineasPresupuesto.row('#lp_bnhq').data(rowData).draw(false) + + calcularPresupuesto_bnhq(false, true); + } +} + + +async function calcularPresupuesto_bnhq(input_data={}, updatedTipologias = false){ + + const dimension = getDimensionLibro(); + + if(Object.keys(input_data).length == 0){ + + input_data = { + paginas:parseInt($('#lp_bnhq_paginas').val()), + papel_generico_id: $('#lp_bnhq_papel option:selected').val(), + papel_generico: $('#lp_bnhq_papel option:selected').text().trim(), + gramaje: $('#lp_bnhq_gramaje option:selected').text().trim(), + maquina_id: $('#lp_bnhq_maquina option:selected').val(), + papel_impresion_id: $('#lp_bnhq_papelImpresion option:selected').val() + } + } + + let datos = { + tipo_impresion_id: $('#tipo_impresion_id').val(), + type: 'interior', + color: 0, + hq: 1, + paginas: input_data.paginas, + tirada: parseInt($('#tirada').val()), + merma: parseInt($('#merma').val()), + ancho: dimension.ancho, + alto: dimension.alto, + papel_generico_id: input_data.papel_generico_id, + papel_generico: input_data.papel_generico, + gramaje: input_data.gramaje, + cliente_id: $('#clienteId').find(":selected").val(), + }; + datos = Object.assign(datos, window.token_ajax); + + if(updatedTipologias && $('#lp_bnhq_gotaNegro').length){ + datos.gota_negro= $('#lp_bnhq_gotaNegro').val() + datos.gota_color= $('#lp_bnhq_gotaColor').val() + datos.negro= $('#lp_bnhq_cobNegro').val() + datos.cyan= $('#lp_bnhq_cobCyan').val() + datos.magenta= $('#lp_bnhq_cobMagenta').val() + datos.amarillo= $('#lp_bnhq_cobAmarillo').val() + if ($('#lp_bnhq_cobCG').length){ + datos.cg = $('#lp_bnhq_cobCG').val() + } + } + + // Si es inkjet, existe este check + if ($('#lp_bnhq_aFavorFibra').length){ + datos.a_favor_fibra = $('#lp_bnhq_aFavorFibra').prop('checked')?1:0 + } + + await $.ajax({ + type: "POST", + url: "/cosidotapablanda/datatable", + data: datos, + success: function (data) { + + if(data.lineas.length >0){ + // Se cogen los valores de la linea con los datos correspondientes + $.each(data.lineas, function(key, value) { + if(value.fields.maquina_id === input_data.maquina_id && + value.fields.papel_generico_id === input_data.papel_generico_id && + value.fields.papel_impresion_id === input_data.papel_impresion_id) { + + if(Object.keys(input_data).length == 0){ + value.fields.check_papel_total = $('#lp_bnhq' + '_checkPapel').is(":checked")?1:0 + value.fields.check_impresion_total = $('#lp_bnhq' + '_checkClicks').is(":checked")?1:0 + } + else{ + value.fields.check_papel_total = 1 + value.fields.check_impresion_total = 1 + } + fill_lp_bnhq(value.fields); + return false; + } + else{ + clear_lp_bnhq(false); + } + + }); + + } + else{ + + } + yeniden(data[window.csrf_token]); + + }, + error: function(e){ + + } + }) +} + +function fill_lp_bnhq(row, fromComparator=false){ + + if(fromComparator){ + + var input_data = { + paginas: row.paginas, + papel_generico_id: row.papelGenericoId, + gramaje: row.gramaje, + papel_impresion_id: row.papelImpresionId, + maquina_id: row.maquinaId, + } + calcularPresupuesto_bnhq(input_data) + } + else{ + // Se guarda el estado de "ver calculos" + mostrar_calculos = ($( ".calculos_lp_bnhq").css('display') == 'table-row') + // Si viene de hacerlo a mano... + data = processRowData(row, 'lp_bnhq', 'lp-bnhq'); + focused = $(':focus').attr('id'); + + var row = tableLineasPresupuesto.row('#lp_bnhq'); + if(row.length>0) + tableLineasPresupuesto.row('#lp_bnhq').data(data).draw() + else{ + tableLineasPresupuesto.row.add(data).draw() + row = tableLineasPresupuesto.row('#lp_bnhq'); + } + row.child(format(row.data())).show(); + + eventos_lp_bnhq(data.maquinaTipo=='inkjet'?true:false) + + $('#lp_bnhq_checkPapel').change() + + calcular_mermas() + //updateTotales(true, false, false); + //updateTablaEnvios() + updatePresupuesto({ + 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 + check_update_cubierta() + + if(mostrar_calculos){ + $( ".calculos_lp_bnhq").css('display','table-row') + } + } + + $("#tableLineasPresupuesto").DataTable().columns.adjust(); + change_focus(); +} + +function eventos_lp_bnhq(isInkjet = false){ + $('#lp_bnhq_papel').bind("focus", {clear_selectors: true}, clear_lp_bnhq); + $('#lp_bnhq_gramaje').bind("focus", set_lp_bnhq_gramaje); + $('#lp_bnhq_papelImpresion').focus("focus", set_lp_bnhq_papelImpresion); + $('#lp_bnhq_maquina').bind("focus", set_lp_bnhq_maquina); + $('#lp_bnhq_maquina').bind("change", change_lp_bnhq_maquina); + $('#lp_bnhq_paginas').bind("change", change_lp_bnhq_paginas); + $('#lp_bnhq_vercalculos').bind("click", {rowId: 'lp_bnhq'}, verCalculosInkjet); + + if(isInkjet){ + $('.lp-bnhq-tipologia').bind("change", change_lp_bnhq_tipologia); + $('#lp_bnhq_defecto').bind("click", por_defecto_lp_bnhq); + $('#lp_bnhq_aFavorFibra').bind("change", change_lp_bnhq_aFavorFibra); + } +} + + +/*********************** + * Funciones LP COLORHQ + ************************/ +function clear_lp_colorhq(clear_selectors){ + let pags = $("#lp_colorhq_paginas" ).val() + $(".lp-colorhq-input" ).val("0") + $("#lp_colorhq_paginas" ).val(pags) + if(clear_selectors) + $( ".lp-colorhq-select").empty() +} + + +function change_lp_colorhq_maquina(){ + + if(parseInt($('#lp_colorhq_paginas').val())>0){ + calcularPresupuesto_colorhq(); + } +} + + +function change_lp_colorhq_paginas(){ + + if( parseInt($('#lp_colorhq_paginas').val())>0 && + parseInt($('#lp_colorhq_papel option:selected').val())>0 && + $('#lp_colorhq_gramaje option:selected').text().length>0 && + parseInt($('#lp_colorhq_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_colorhq(); + } +} + + +function change_lp_colorhq_tipologia(){ + + // Se obtiene el id del elemento que ha disparado el evento + var id = $(this).attr('id') + + if( parseInt($('#lp_colorhq_paginas').val())>0 && + parseInt($('#lp_colorhq_papel option:selected').val())>0 && + $('#lp_colorhq_gramaje option:selected').text().length>0 && + parseInt($('#lp_colorhq_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_colorhq({},true); + + } +} + + +function por_defecto_lp_colorhq(){ + + if( parseInt($('#lp_colorhq_paginas').val())>0 && + parseInt($('#lp_colorhq_papel option:selected').val())>0 && + $('#lp_colorhq_gramaje option:selected').text().length>0 && + parseInt($('#lp_colorhq_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_colorhq(); + } +} + + +function change_lp_colorhq_aFavorFibra(){ + + if( parseInt($('#lp_colorhq_paginas').val())>0 && + parseInt($('#lp_colorhq_papel option:selected').val())>0 && + $('#lp_colorhq_gramaje option:selected').text().length>0 && + parseInt($('#lp_colorhq_papelImpresion option:selected').val())>0 + ){ + var rowData = tableLineasPresupuesto.row('#lp_colorhq').data() + rowData.aFavorFibra = $('#lp_colorhq_aFavorFibra').prop('checked') + tableLineasPresupuesto.row('#lp_colorhq').data(rowData).draw(false) + + calcularPresupuesto_colorhq(false, true); + } +} + + +async function calcularPresupuesto_colorhq(input_data={}, updatedTipologias = false){ + + const dimension = getDimensionLibro(); + + if(Object.keys(input_data).length == 0){ + + input_data = { + paginas:parseInt($('#lp_colorhq_paginas').val()), + papel_generico_id: $('#lp_colorhq_papel option:selected').val(), + papel_generico: $('#lp_colorhq_papel option:selected').text().trim(), + gramaje: $('#lp_colorhq_gramaje option:selected').text().trim(), + maquina_id: $('#lp_colorhq_maquina option:selected').val(), + papel_impresion_id: $('#lp_colorhq_papelImpresion option:selected').val() + } + } + + let datos = { + tipo_impresion_id: $('#tipo_impresion_id').val(), + type: 'interior', + color: 1, + hq: 1, + paginas: input_data.paginas, + tirada: parseInt($('#tirada').val()), + merma: parseInt($('#merma').val()), + ancho: dimension.ancho, + alto: dimension.alto, + papel_generico_id: input_data.papel_generico_id, + papel_generico: input_data.papel_generico, + gramaje: input_data.gramaje, + cliente_id: $('#clienteId').find(":selected").val(), + }; + datos = Object.assign(datos, window.token_ajax); + + if(updatedTipologias && $('#lp_colorhq_gotaNegro').length){ + datos.gota_negro= $('#lp_colorhq_gotaNegro').val() + datos.gota_color= $('#lp_colorhq_gotaColor').val() + datos.negro= $('#lp_colorhq_cobNegro').val() + datos.cyan= $('#lp_colorhq_cobCyan').val() + datos.magenta= $('#lp_colorhq_cobMagenta').val() + datos.amarillo= $('#lp_colorhq_cobAmarillo').val() + if ($('#lp_colorhq_cobCG').length){ + datos.cg = $('#lp_colorhq_cobCG').val() + } + } + + // Si es inkjet, existe este check + if ($('#lp_colorhq_aFavorFibra').length){ + datos.a_favor_fibra = $('#lp_colorhq_aFavorFibra').prop('checked')?1:0 + } + + await $.ajax({ + type: "POST", + url: "/cosidotapablanda/datatable", + data: datos, + success: function (data) { + + if(data.lineas.length >0){ + // Se cogen los valores de la linea con los datos correspondientes + $.each(data.lineas, function(key, value) { + if(value.fields.maquina_id === input_data.maquina_id && + value.fields.papel_generico_id === input_data.papel_generico_id && + value.fields.papel_impresion_id === input_data.papel_impresion_id) { + + if(Object.keys(input_data).length == 0){ + value.fields.check_papel_total = $('#lp_colorhq' + '_checkPapel').is(":checked")?1:0 + value.fields.check_impresion_total = $('#lp_colorhq' + '_checkClicks').is(":checked")?1:0 + } + else{ + value.fields.check_papel_total = 1 + value.fields.check_impresion_total = 1 + } + fill_lp_colorhq(value.fields); + return false; + } + else{ + clear_lp_colorhq(false); + } + + }); + + } + else{ + + } + yeniden(data[window.csrf_token]); + + }, + error: function(e){ + + } + }) +} + + +function fill_lp_colorhq(row, fromComparator=false){ + + if(fromComparator){ + var input_data = { + paginas: row.paginas, + papel_generico_id: row.papelGenericoId, + gramaje: row.gramaje, + papel_impresion_id: row.papelImpresionId, + maquina_id: row.maquinaId, + } + calcularPresupuesto_colorhq(input_data) + } + else{ + // Se guarda el estado de "ver calculos" + mostrar_calculos = ($( ".calculos_lp_colorhq").css('display') == 'table-row') + focused = $(':focus').attr('id'); + + // Si viene de hacerlo a mano... + data = processRowData(row, 'lp_colorhq', 'lp-colorhq'); + + var row = tableLineasPresupuesto.row('#lp_colorhq'); + if(row.length>0) + tableLineasPresupuesto.row('#lp_colorhq').data(data).draw() + else{ + tableLineasPresupuesto.row.add(data).draw() + row = tableLineasPresupuesto.row('#lp_colorhq'); + } + row.child(format(row.data())).show(); + + eventos_lp_colorhq(data.maquinaTipo=='inkjet'?true:false) + + $('#lp_colorhq_checkPapel').change() + + calcular_mermas() + //updateTotales(true, false, false); + //updateTablaEnvios() + updatePresupuesto({ + 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 + check_update_cubierta() + + if(mostrar_calculos){ + $( ".calculos_lp_colorhq").css('display','table-row') + } + } + + $("#tableLineasPresupuesto").DataTable().columns.adjust(); + change_focus(); +} + +function eventos_lp_colorhq(isInkjet = false){ + + $('#lp_colorhq_papel').bind("focus", {clear_selectors: true}, clear_lp_colorhq); + $('#lp_colorhq_gramaje').bind("focus", set_lp_colorhq_gramaje); + $('#lp_colorhq_papelImpresion').focus("focus", set_lp_colorhq_papelImpresion); + $('#lp_colorhq_maquina').bind("focus", set_lp_colorhq_maquina); + $('#lp_colorhq_maquina').bind("change", change_lp_colorhq_maquina); + $('#lp_colorhq_paginas').bind("change", change_lp_colorhq_paginas); + $('#lp_colorhq_vercalculos').bind("click", {rowId: 'lp_colorhq'}, verCalculosInkjet); + + if(isInkjet){ + $('.lp-colorhq-tipologia').bind("change", change_lp_colorhq_tipologia); + $('#lp_colorhq_defecto').bind("click", por_defecto_lp_colorhq); + $('#lp_colorhq_aFavorFibra').bind("change", change_lp_colorhq_aFavorFibra); + } +} + + + +/*********************** + * Funciones LP ROT_BN + ************************/ +function clear_lp_rot_bn(clear_selectors){ + let pags = $("#lp_rot_bn_paginas" ).val() + $(".lp-rot-bn-input" ).val("0") + $("#lp_rot_bn_paginas" ).val(pags) + if(clear_selectors) + $( ".lp-rotbn-select").empty() +} + + +function change_lp_rot_bn_maquina(){ + + if(parseInt($('#lp_rot_bn_paginas').val())>0){ + calcularPresupuesto_rot_bn(true,false); + } +} + + +function change_lp_rot_bn_paginas(){ + + if( parseInt($('#lp_rot_bn_paginas').val())>0 && + parseInt($('#lp_rot_bn_papel option:selected').val())>0 && + $('#lp_rot_bn_gramaje option:selected').text().length>0 && + parseInt($('#lp_rot_bn_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_rot_bn(); + } +} + + +function change_lp_rot_bn_aFavorFibra(){ + + + if( parseInt($('#lp_rot_bn_paginas').val())>0 && + parseInt($('#lp_rot_bn_papel option:selected').val())>0 && + $('#lp_rot_bn_gramaje option:selected').text().length>0 && + parseInt($('#lp_rot_bn_papelImpresion option:selected').val())>0 + ){ + var rowData = tableLineasPresupuesto.row('#lp_rot_bn').data() + rowData.aFavorFibra = $('#lp_rot_bn_aFavorFibra').prop('checked') + tableLineasPresupuesto.row('#lp_rot_bn').data(rowData).draw(false) + + + calcularPresupuesto_rot_bn(false, true); + } +} + + +async function calcularPresupuesto_rot_bn(fromComparador=false, updatedTipologias=false, input_data={}){ + + const dimension = getDimensionLibro(); + + if(Object.keys(input_data).length == 0){ + + input_data = { + paginas:parseInt($('#lp_rot_bn_paginas').val()), + papel_generico_id: $('#lp_rot_bn_papel option:selected').val(), + papel_generico: $('#lp_rot_bn_papel option:selected').text().trim(), + gramaje: $('#lp_rot_bn_gramaje option:selected').text().trim(), + maquina_id: $('#lp_rot_bn_maquina option:selected').val(), + papel_impresion_id: $('#lp_rot_bn_papelImpresion option:selected').val(), + fibra: fromComparador==false? ($('#lp_rot_bn_aFavorFibra').prop('checked')?1:0):1 + } + } + + let datos = { + tipo_impresion_id: $('#tipo_impresion_id').val(), + type: 'interior_rot', + color: 0, + hq: 0, + paginas: input_data.paginas, + paginas_negro: input_data.paginas, + paginas_color: 0, + tirada: parseInt($('#tirada').val()), + merma: parseInt($('#merma').val()), + ancho: dimension.ancho, + alto: dimension.alto, + papel_generico_id: input_data.papel_generico_id, + papel_generico: input_data.papel_generico, + gramaje: input_data.gramaje, + cliente_id: $('#clienteId').find(":selected").val(), + a_favor_fibra: fromComparador==false? ($('#lp_rot_bn_aFavorFibra').prop('checked')?1:0):1, + }; + datos = Object.assign(datos, window.token_ajax); + + if(updatedTipologias){ + datos.gota_negro= $('#lp_rot_bn_gotaNegro').val() + datos.gota_color= $('#lp_rot_bn_gotaColor').val() + datos.negro= $('#lp_rot_bn_cobNegro').val() + datos.cyan= $('#lp_rot_bn_cobCyan').val() + datos.magenta= $('#lp_rot_bn_cobMagenta').val() + datos.amarillo= $('#lp_rot_bn_cobAmarillo').val() + } + + await $.ajax({ + type: "POST", + url: "/cosidotapablanda/datatable", + data: datos, + success: function (data) { + + if(data.lineas.length >0){ + // Se cogen los valores de la linea con los datos correspondientes + $.each(data.lineas, function(key, value) { + + if(fromComparador){ + if(value.fields.maquina_id === input_data.maquina_id && + value.fields.papel_generico_id === input_data.papel_generico_id && + value.fields.papel_impresion_id === input_data.papel_impresion_id) { + + value.fields.check_papel_total = 1 + value.fields.check_impresion_total = 1 + fill_lp_rot_bn(value.fields); + return false; + } + } + else if(value.fields.maquina_id === input_data.maquina_id && + value.fields.papel_generico_id === input_data.papel_generico_id && + value.fields.papel_impresion_id === input_data.papel_impresion_id && + value.fields.a_favor_fibra == input_data.fibra) { + + value.fields.check_papel_total = $('#lp_rot_bn' + '_checkPapel').is(":checked")?1:0 + value.fields.check_impresion_total = $('#lp_rot_bn' + '_checkClicks').is(":checked")?1:0 + fill_lp_rot_bn(value.fields); + return false; + } + clear_lp_rot_bn(false); + }); + + } + else{ + + } + yeniden(data[window.csrf_token]); + + }, + error: function(e){ + + } + }) +} + + +function change_lp_rot_bn_tipologia(){ + + if( parseInt($('#lp_rot_bn_paginas').val())>0 && + parseInt($('#lp_rot_bn_papel option:selected').val())>0 && + $('#lp_rot_bn_gramaje option:selected').text().length>0 && + parseInt($('#lp_rot_bn_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_rot_bn(false,true); + + } +} + + +function por_defecto_lp_rot_bn(wait_result = false){ + + if( parseInt($('#lp_rot_bn_paginas').val())>0 && + parseInt($('#lp_rot_bn_papel option:selected').val())>0 && + $('#lp_rot_bn_gramaje option:selected').text().length>0 && + parseInt($('#lp_rot_bn_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_rot_bn(false); + } +} + + +function fill_lp_rot_bn(row, fromComparador=false){ + + if(fromComparador){ + + var input_data = { + paginas: row.paginas, + papel_generico_id: row.papelGenericoId, + gramaje: row.gramaje, + papel_impresion_id: row.papelImpresionId, + maquina_id: row.maquinaId, + fibra: row.aFavorFibra=='no'?0:1 + } + + calcularPresupuesto_rot_bn(true, false, input_data); + + } + else{ + // Se guarda el estado de "ver calculos" + mostrar_calculos = ($( ".calculos_lp_rot_bn").css('display') == 'table-row') + focused = $(':focus').attr('id'); + + // Si viene de hacerlo a mano... + data = processRowData(row, 'lp_rot_bn', 'lp-rot-bn'); + + var row = tableLineasPresupuesto.row('#lp_rot_bn'); + if(row.length>0) + tableLineasPresupuesto.row('#lp_rot_bn').data(data).draw() + else{ + tableLineasPresupuesto.row.add(data).draw() + row = tableLineasPresupuesto.row('#lp_rot_bn'); + } + row.child(format(row.data())).show(); + + eventos_lp_rot_bn() + + $('#lp_rot_bn_checkPapel').change() + + calcular_mermas() + //updateTotales(true, false, false); + //updateTablaEnvios() + updatePresupuesto({ + 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 + check_update_cubierta() + + if(mostrar_calculos){ + $( ".calculos_lp_rot_bn").css('display','table-row') + } + } + + $('.lp_rot_bn').css('display', '') + $("#tableLineasPresupuesto").DataTable().columns.adjust(); + change_focus(); +} + +function eventos_lp_rot_bn(){ + $('#lp_rot_bn_papel').bind("focus", {clear_selectors: true}, clear_lp_rot_bn); + $('#lp_rot_bn_gramaje').bind("focus", set_lp_rot_bn_gramaje); + $('#lp_rot_bn_papelImpresion').focus("focus", set_lp_rot_bn_papelImpresion); + $('#lp_rot_bn_maquina').bind("focus", set_lp_rot_bn_maquina); + $('#lp_rot_bn_maquina').bind("change", change_lp_rot_bn_maquina); + $('#lp_rot_bn_paginas').bind("change", change_lp_rot_bn_paginas); + $('#lp_rot_bn_vercalculos').bind("click", {rowId: 'lp_rot_bn'}, verCalculosInkjet); + $('#lp_rot_bn_aFavorFibra').bind("change", change_lp_rot_bn_aFavorFibra); + $('.lp-rot-bn-tipologia').bind("change", change_lp_rot_bn_tipologia); + $('#lp_rot_bn_defecto').bind("click", por_defecto_lp_rot_bn); + +} + + +/*********************** + * Funciones LP ROT_COLOR + ************************/ +function clear_lp_rot_color(clear_selectors){ + let pags = $("#lp_rot_color_paginas" ).val() + $(".lp-rot-color-input" ).val("0") + $("#lp_rot_color_paginas" ).val(pags) + if(clear_selectors) + $( ".lp-rotcolor-select").empty() +} + + +function change_lp_rot_color_maquina(){ + + if(parseInt($('#lp_rot_color_paginas').val())>0){ + + calcularPresupuesto_rot_color(true,false); + } +} + + +function change_lp_rot_color_paginas(){ + + if( parseInt($('#lp_rot_color_paginas').val())>0 && + parseInt($('#lp_rot_color_papel option:selected').val())>0 && + $('#lp_rot_color_gramaje option:selected').text().length>0 && + parseInt($('#lp_rot_color_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_rot_color(); + } +} + + +function change_lp_rot_color_aFavorFibra(){ + + if( parseInt($('#lp_rot_color_paginas').val())>0 && + parseInt($('#lp_rot_color_papel option:selected').val())>0 && + $('#lp_rot_color_gramaje option:selected').text().length>0 && + parseInt($('#lp_rot_color_papelImpresion option:selected').val())>0 + ){ + var rowData = tableLineasPresupuesto.row('#lp_rot_color').data() + rowData.aFavorFibra = $('#lp_rot_color_aFavorFibra').prop('checked') + tableLineasPresupuesto.row('#lp_rot_color').data(rowData).draw(false) + + calcularPresupuesto_rot_color(false, true); + } +} + + +async function calcularPresupuesto_rot_color(fromComparador=false, updatedTipologias=false, input_data={}){ + + const dimension = getDimensionLibro(); + + if(Object.keys(input_data).length == 0){ + + input_data = { + paginas:parseInt($('#lp_rot_color_paginas').val()), + papel_generico_id: $('#lp_rot_color_papel option:selected').val(), + papel_generico: $('#lp_rot_color_papel option:selected').text().trim(), + gramaje: $('#lp_rot_color_gramaje option:selected').text().trim(), + maquina_id: $('#lp_rot_color_maquina option:selected').val(), + papel_impresion_id: $('#lp_rot_color_papelImpresion option:selected').val(), + fibra: fromComparador==false? ($('#lp_rot_color_aFavorFibra').prop('checked')?1:0):1 + } + } + + paginas_color = isNaN(parseInt($('#lp_rot_color_numPagColor').val()))?input_data.paginas:parseInt($('#lp_rot_color_numPagColor').val()) + + let datos = { + tipo_impresion_id: $('#tipo_impresion_id').val(), + type: 'interior_rot', + color: 1, + hq: 0, + paginas: input_data.paginas, + paginas_negro: input_data.paginas-paginas_color, + paginas_color: paginas_color, + tirada: parseInt($('#tirada').val()), + merma: parseInt($('#merma').val()), + ancho: dimension.ancho, + alto: dimension.alto, + papel_generico_id: input_data.papel_generico_id, + papel_generico: input_data.papel_generico, + gramaje: input_data.gramaje, + cliente_id: $('#clienteId').find(":selected").val(), + a_favor_fibra: fromComparador==false? ($('#lp_rot_color_aFavorFibra').prop('checked')?1:0):1, + }; + datos = Object.assign(datos, window.token_ajax); + + if(fromComparador){ + datos.paginas_negro = parseInt($('#compPaginasNegro').val()) + datos.paginas_color = parseInt($('#compPaginasColor').val()) + } + + if(updatedTipologias){ + datos.gota_negro= $('#lp_rot_color_gotaNegro').val() + datos.gota_color= $('#lp_rot_color_gotaColor').val() + datos.negro= $('#lp_rot_color_cobNegro').val() + datos.cyan= $('#lp_rot_color_cobCyan').val() + datos.magenta= $('#lp_rot_color_cobMagenta').val() + datos.amarillo= $('#lp_rot_color_cobAmarillo').val() + } + + await $.ajax({ + type: "POST", + url: "/cosidotapablanda/datatable", + data: datos, + success: function (data) { + + if(data.lineas.length >0){ + // Se cogen los valores de la linea con los datos correspondientes + $.each(data.lineas, function(key, value) { + fibra = $('#lp_rot_color_aFavorFibra').prop('checked') + if(fromComparador){ + if(value.fields.maquina_id === input_data.maquina_id && + value.fields.papel_generico_id === input_data.papel_generico_id && + value.fields.papel_impresion_id === input_data.papel_impresion_id) { + + value.fields.check_papel_total = 1 + value.fields.check_impresion_total = 1 + fill_lp_rot_color(value.fields); + return false; + } + } + else if(value.fields.maquina_id === input_data.maquina_id && + value.fields.papel_generico_id === input_data.papel_generico_id && + value.fields.papel_impresion_id === input_data.papel_impresion_id && + value.fields.a_favor_fibra == input_data.fibra) { + + value.fields.check_papel_total = $('#lp_rot_color' + '_checkPapel').is(":checked")?1:0 + value.fields.check_impresion_total = $('#lp_rot_color' + '_checkClicks').is(":checked")?1:0 + + fill_lp_rot_color(value.fields); + return false; + } + clear_lp_rot_color(false); + }); + + } + else{ + + } + yeniden(data[window.csrf_token]); + + }, + error: function(e){ + + } + }) +} + + +function change_lp_rot_color_tipologia(){ + + if( parseInt($('#lp_rot_color_paginas').val())>0 && + parseInt($('#lp_rot_color_papel option:selected').val())>0 && + $('#lp_rot_color_gramaje option:selected').text().length>0 && + parseInt($('#lp_rot_color_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_rot_color(false,true); + } +} + + +function por_defecto_lp_rot_color(){ + + if( parseInt($('#lp_rot_color_paginas').val())>0 && + parseInt($('#lp_rot_color_papel option:selected').val())>0 && + $('#lp_rot_color_gramaje option:selected').text().length>0 && + parseInt($('#lp_rot_color_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_rot_color(false); + } +} + + +function fill_lp_rot_color(row, fromComparador=false){ + + if(fromComparador){ + var input_data = { + paginas: row.paginas, + papel_generico_id: row.papelGenericoId, + gramaje: row.gramaje, + papel_impresion_id: row.papelImpresionId, + maquina_id: row.maquinaId, + fibra: row.aFavorFibra=='no'?0:1 + } + + calcularPresupuesto_rot_color(true, false, input_data); + + } + else{ + // Se guarda el estado de "ver calculos" + mostrar_calculos = ($( ".calculos_lp_rot_color").css('display') == 'table-row') + focused = $(':focus').attr('id'); + + // Si viene de hacerlo a mano... + data = processRowData(row, 'lp_rot_color', 'lp-rot-color'); + + var row = tableLineasPresupuesto.row('#lp_rot_color'); + if(row.length>0) + tableLineasPresupuesto.row('#lp_rot_color').data(data).draw() + else{ + tableLineasPresupuesto.row.add(data).draw() + row = tableLineasPresupuesto.row('#lp_rot_color'); + } + row.child(format(row.data())).show(); + + eventos_lp_rot_color() + + $('#lp_rot_color_checkPapel').change() + + calcular_mermas() + //updateTotales(true, false, false); + //updateTablaEnvios() + updatePresupuesto({ + 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 + check_update_cubierta() + + if(mostrar_calculos){ + $( ".calculos_lp_rot_color").css('display','table-row') + } + } + + $("#tableLineasPresupuesto").DataTable().columns.adjust(); + change_focus(); +} + +function eventos_lp_rot_color(){ + $('#lp_rot_color_papel').bind("focus", {clear_selectors: true}, clear_lp_rot_color); + $('#lp_rot_color_gramaje').bind("focus", set_lp_rot_color_gramaje); + $('#lp_rot_color_papelImpresion').focus("focus", set_lp_rot_color_papelImpresion); + $('#lp_rot_color_maquina').bind("focus", set_lp_rot_color_maquina); + $('#lp_rot_color_maquina').bind("change", change_lp_rot_color_maquina); + $('#lp_rot_color_paginas').bind("change", change_lp_rot_color_paginas); + $('#lp_rot_color_numPagColor').bind("change", change_lp_rot_color_paginas); + $('#lp_rot_color_vercalculos').bind("click", {rowId: 'lp_rot_color'}, verCalculosInkjet); + $('#lp_rot_color_aFavorFibra').bind("change", change_lp_rot_color_aFavorFibra); + $('.lp-rot-color-tipologia').bind("change", change_lp_rot_color_tipologia); + $('#lp_rot_color_defecto').bind("click", por_defecto_lp_rot_color); +} + + +/*********************** + * Funciones LP CUBIERTA + ************************/ +function clear_lp_cubierta(clear_selectors){ + let pags = $("#lp_cubierta_paginas option:selected" ).val() + $(".lp-cubierta-input" ).val("0") + $("#lp_cubierta_paginas" ).val(pags) + if(clear_selectors) + $( ".lp-cubierta-select").empty() +} + + +function change_lp_cubierta_maquina(){ + + if(parseInt($('#lp_cubierta_paginas option:selected').val())>0){ + calcularPresupuesto_cubierta(); + } +} + + +function change_lp_cubierta_paginas(){ + + if( parseInt($('#lp_cubierta_paginas option:selected').val())>0 && + parseInt($('#lp_cubierta_papel option:selected').val())>0 && + $('#lp_cubierta_gramaje option:selected').text().length>0 && + parseInt($('#lp_cubierta_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_cubierta(); + } +} + + +async function calcularPresupuesto_cubierta(fromComparador=false, input_data={}){ + + const dimension = getDimensionLibro(); + + if(Object.keys(input_data).length == 0){ + + input_data = { + paginas:parseInt($('#lp_cubierta_paginas option:selected').val()), + papel_generico_id: $('#lp_cubierta_papel option:selected').val(), + papel_generico: $('#lp_cubierta_papel option:selected').text().trim(), + gramaje: $('#lp_cubierta_gramaje option:selected').text().trim(), + maquina_id: $('#lp_cubierta_maquina option:selected').val(), + papel_impresion_id: $('#lp_cubierta_papelImpresion option:selected').val() + } + } + + + let datos = { + tipo_impresion_id: $('#tipo_impresion_id').val(), + type: 'cubierta', + color: 1, + hq: 1, + paginas: input_data.paginas, + paginas_negro: 0, + paginas_color: 0, + solapas: $('#solapas').is(':checked')?1:0, + solapas_ancho: $('#solapas').is(':checked')?parseInt($('#solapas_ancho').val()):0, + tirada: parseInt($('#tirada').val()), + merma: parseInt($('#mermacubierta').val()), + ancho: dimension.ancho, + alto: dimension.alto, + lomo: getLomoLineasPresupuesto(), + papel_generico_id: input_data.papel_generico_id, + papel_generico: input_data.papel_generico, + gramaje: input_data.gramaje, + cliente_id: $('#clienteId').find(":selected").val(), + } + datos = Object.assign(datos, window.token_ajax); + + await $.ajax({ + type: "POST", + url: "/cosidotapablanda/datatable", + data: datos, + success: function (data) { + + if(data.lineas.length >0){ + // Se cogen los valores de la linea con los datos correspondientes + $.each(data.lineas, function(key, value) { + if(value.fields.maquina_id === input_data.maquina_id && + value.fields.papel_generico_id === input_data.papel_generico_id && + value.fields.papel_impresion_id === input_data.papel_impresion_id) { + + if(Object.keys(input_data).length == 0){ + value.fields.check_papel_total = $('#lp_cubierta' + '_checkPapel').is(":checked")?1:0 + value.fields.check_impresion_total = $('#lp_cubierta' + '_checkClicks').is(":checked")?1:0 + } + else{ + value.fields.check_papel_total = 1 + value.fields.check_impresion_total = 1 + } + fill_lp_cubierta(value.fields); + return false; + } + clear_lp_cubierta(false); + }); + + } + else{ + + } + yeniden(data[window.csrf_token]); + + }, + error: function(e){ + + } + }) +} + + +function fill_lp_cubierta(row, fromComparador=false){ + + if(fromComparador){ + + var input_data = { + paginas: row.paginas, + papel_generico_id: row.papelGenericoId, + gramaje: row.gramaje, + papel_impresion_id: row.papelImpresionId, + maquina_id: row.maquinaId, + } + + calcularPresupuesto_cubierta(false, input_data); + + } + else{ + + // Si viene de hacerlo a mano... + data = processRowData(row, 'lp_cubierta', 'lp-cubierta'); + focused = $(':focus').attr('id'); + + var row = tableLineasPresupuesto.row('#lp_cubierta'); + if(row.length>0) + tableLineasPresupuesto.row('#lp_cubierta').data(data).draw() + else{ + tableLineasPresupuesto.row.add(data).draw() + row = tableLineasPresupuesto.row('#lp_cubierta'); + } + row.child(format(row.data())).show(); + + eventos_lp_cubierta() + + $('#lp_cubierta_checkPapel').change() + + check_update_sobrecubierta() + + calcular_mermas() + //updateTotales(true, false, false); + //updateTablaEnvios() + updatePresupuesto({ + update_lineas: false, + update_servicios: true, + update_envios: true, + update_resumen: true, + update_tiradas_alternativas: true + }) + + } + + $("#tableLineasPresupuesto").DataTable().columns.adjust(); + change_focus(); +} + +function eventos_lp_cubierta(){ + + $('#lp_cubierta_papel').bind("focus", {clear_selectors: true}, clear_lp_cubierta); + $('#lp_cubierta_gramaje').bind("focus", set_lp_cubierta_gramaje); + $('#lp_cubierta_papelImpresion').focus("focus", set_lp_cubierta_papelImpresion); + $('#lp_cubierta_maquina').bind("focus", set_lp_cubierta_maquina); + $('#lp_cubierta_maquina').bind("change", change_lp_cubierta_maquina); + $('#lp_cubierta_paginas').bind("change", change_lp_cubierta_paginas); + $('#lp_cubierta_vercalculos').bind("click", {rowId: 'lp_cubierta'}, verCalculosInkjet); +} + + +function check_update_cubierta(){ + let row = tableLineasPresupuesto.row('#lp_cubierta'); + if(row.length>0){ + calcularPresupuesto_cubierta() + } +} + + +/*********************** + * Funciones LP SOBRECUBIERTA + ************************/ +function clear_lp_sobrecubierta(clear_selectors){ + $(".lp-sobrecubierta-input" ).val("0") + if(clear_selectors) + $( ".lp-sobrecubierta-select").empty() +} + + +function change_lp_sobrecubierta_maquina(){ + + calcularPresupuesto_sobrecubierta(); +} + + +async function calcularPresupuesto_sobrecubierta(fromComparador=false, input_data={}){ + + const dimension = getDimensionLibro(); + + if(Object.keys(input_data).length == 0){ + + input_data = { + paginas:4, + papel_generico_id: $('#lp_sobrecubierta_papel option:selected').val(), + papel_generico: $('#lp_sobrecubierta_papel option:selected').text().trim(), + gramaje: $('#lp_sobrecubierta_gramaje option:selected').text().trim(), + maquina_id: $('#lp_sobrecubierta_maquina option:selected').val(), + papel_impresion_id: $('#lp_sobrecubierta_papelImpresion option:selected').val() + } + } + + + let datos = { + tipo_impresion_id: $('#tipo_impresion_id').val(), + type: 'sobrecubierta', + color: 1, + hq: 1, + paginas: input_data.paginas, + paginas_negro: 0, + paginas_color: 0, + solapas: $('#solapas_sobrecubierta').is(':checked')?1:0, + solapas_ancho: $('#solapas_sobrecubierta').is(':checked')?parseInt($('#solapas_ancho_sobrecubierta').val()):0, + tirada: parseInt($('#tirada').val()), + merma: parseInt($('#mermacubierta').val()), + ancho: dimension.ancho, + alto: dimension.alto, + lomo: getLomoLineasPresupuesto() + getLomoCubiertaLineasPresupuesto, + papel_generico_id: input_data.papel_generico_id, + papel_generico: input_data.papel_generico, + gramaje: input_data.gramaje, + cliente_id: $('#clienteId').find(":selected").val(), + } + datos = Object.assign(datos, window.token_ajax); + + await $.ajax({ + type: "POST", + url: "/cosidotapablanda/datatable", + data: datos, + success: function (data) { + + if(data.lineas.length >0){ + // Se cogen los valores de la linea con los datos correspondientes + $.each(data.lineas, function(key, value) { + if(value.fields.maquina_id === input_data.maquina_id && + value.fields.papel_generico_id === input_data.papel_generico_id && + value.fields.papel_impresion_id === input_data.papel_impresion_id) { + + if(Object.keys(input_data).length == 0){ + value.fields.check_papel_total = $('#lp_sobrecubierta' + '_checkPapel').is(":checked")?1:0 + value.fields.check_impresion_total = $('#lp_sobrecubierta' + '_checkClicks').is(":checked")?1:0 + } + else{ + value.fields.check_papel_total = 1 + value.fields.check_impresion_total = 1 + } + fill_lp_sobrecubierta(value.fields); + return false; + } + clear_lp_sobrecubierta(false); + }); + + } + else{ + + } + yeniden(data[window.csrf_token]); + + }, + error: function(e){ + + } + }) +} + + +function fill_lp_sobrecubierta(row, fromComparador=false){ + + if(fromComparador){ + + var input_data = { + paginas: row.paginas, + papel_generico_id: row.papelGenericoId, + gramaje: row.gramaje, + papel_impresion_id: row.papelImpresionId, + maquina_id: row.maquinaId, + } + + calcularPresupuesto_sobrecubierta(false, input_data); + + } + else{ + + var portadaObjeto = { + anchoLibro:row.dimensiones_libro[0], + altoLibro:row.dimensiones_libro[1], + solapas:$('#solapas_ancho').val(), + lomo:row.mano}; + + // Si viene de hacerlo a mano... + data = processRowData(row, 'lp_sobrecubierta', 'lp-sobrecubierta'); + + var row = tableLineasPresupuesto.row('#lp_sobrecubierta'); + if(row.length>0) + tableLineasPresupuesto.row('#lp_sobrecubierta').data(data).draw() + else{ + tableLineasPresupuesto.row.add(data).draw() + row = tableLineasPresupuesto.row('#lp_sobrecubierta'); + } + row.child(format(row.data())).show(); + + eventos_lp_sobrecubierta() + + $('#lp_sobrecubierta_checkPapel').change() + + calcular_mermas() + //updateTotales(true, false, false); + //updateTablaEnvios() + updatePresupuesto({ + update_lineas: false, + update_servicios: true, + update_envios: true, + update_resumen: true, + update_tiradas_alternativas: true + }) + + } + + $("#tableLineasPresupuesto").DataTable().columns.adjust(); + +} + +function eventos_lp_sobrecubierta(){ + + $('#lp_sobrecubierta_papel').bind("focus", {clear_selectors: true}, clear_lp_sobrecubierta); + $('#lp_sobrecubierta_gramaje').bind("focus", set_lp_sobrecubierta_gramaje); + $('#lp_sobrecubierta_papelImpresion').focus("focus", set_lp_sobrecubierta_papelImpresion); + $('#lp_sobrecubierta_maquina').bind("focus", set_lp_sobrecubierta_maquina); + $('#lp_sobrecubierta_maquina').bind("change", change_lp_sobrecubierta_maquina); + $('#lp_sobrecubierta_vercalculos').bind("click", {rowId: 'lp_sobrecubierta'}, verCalculosInkjet); +} + + +function check_update_sobrecubierta(){ + let row = tableLineasPresupuesto.row('#lp_sobrecubierta'); + if(row.length>0){ + calcularPresupuesto_sobrecubierta() + } +} + + +function getLomoLineasPresupuesto(){ + let lomoTotal = 0 + try{ + tableLineasPresupuesto.rows().every( function ( rowIdx, tableLoop, rowLoop ) { + var rowData = this.data(); + if(rowData.row_id != 'lp_cubierta' && rowData.tipo != 'lp_sobrecubierta') + lomoTotal += parseFloat(rowData.lomo) + }) + } + catch(error){ + lomoTotal = 0 + } + return lomoTotal +} + +function getLomoCubiertaLineasPresupuesto(){ + let lomoTotal = 0 + try{ + tableLineasPresupuesto.rows().every( function ( rowIdx, tableLoop, rowLoop ) { + var rowData = this.data(); + if(rowData.row_id == 'lp_cubierta') + lomoTotal += parseFloat(rowData.lomo) + }) + } + catch(error){ + lomoTotal = 0 + } + return lomoTotal +} + + + +/*********************** + * Funciones LP GUARDAS + ************************/ +function clear_lp_guardas(clear_selectors){ + let pags = $("#lp_guardas_paginas option:selected" ).val() + $(".lp-guardas-input" ).val("0") + $("#lp_guardas_paginas" ).val(pags) + if(clear_selectors){ + $( "#lp_guardas_maquina").empty() + $( "#lp_guardas_papelImpresion").empty() + } + +} + + +function clear_guardas(){ + clear_lp_guardas(true); +} + + +async function calcularPresupuesto_guardas(fromComparador=false, input_data={}){ + + const dimension = getDimensionLibro(); + + if(Object.keys(input_data).length == 0){ + + input_data = { + paginas: (parseInt($('#tipo_impresion_id').val()) == 1 || parseInt($('#tipo_impresion_id').val()) == 3)?8:4, + paginas_impresion: parseInt($('#lp_guardas_paginas option:selected').val()), + papel_generico_id: $('#lp_guardas_papel option:selected').val(), + papel_generico: $('#lp_guardas_papel option:selected').text().trim(), + gramaje: 170, + maquina_id: $('#lp_guardas_maquina option:selected').val(), + papel_impresion_id: $('#lp_guardas_papelImpresion option:selected').val() + } + } + + + var datos = { + tipo_impresion_id: $('#tipo_impresion_id').val(), + type: 'guardas', + color: 1, + hq: 1, + paginas: (parseInt($('#tipo_impresion_id').val()) == 1 || parseInt($('#tipo_impresion_id').val()) == 3)?8:4, + paginas_impresion: input_data.paginas_impresion, + tirada: parseInt($('#tirada').val()), + merma: parseInt($('#merma').val()), + ancho: dimension.ancho, + alto: dimension.alto, + papel_generico_id: input_data.papel_generico_id, + papel_generico: input_data.papel_generico, + gramaje: input_data.gramaje, + cliente_id: $('#clienteId').find(":selected").val(), + }; + datos = Object.assign(datos, window.token_ajax); + + await $.ajax({ + type: "POST", + url: "/cosidotapablanda/datatable", + data: datos, + success: function (data) { + + if(data.lineas.length >0){ + // Se cogen los valores de la linea con los datos correspondientes + $.each(data.lineas, function(key, value) { + if(value.fields.maquina_id === input_data.maquina_id && + value.fields.papel_generico_id === input_data.papel_generico_id && + value.fields.papel_impresion_id === input_data.papel_impresion_id) { + + if(Object.keys(input_data).length == 0){ + value.fields.check_papel_total = $('#lp_guardas' + '_checkPapel').is(":checked")?1:0 + value.fields.check_impresion_total = $('#lp_guardas' + '_checkClicks').is(":checked")?1:0 + } + else{ + value.fields.check_papel_total = 1 + value.fields.check_impresion_total = 1 + } + fill_lp_guardas(value.fields); + return false; + } + clear_lp_guardas(false); + }); + + } + else{ + + } + yeniden(data[window.csrf_token]); + + }, + error: function(e){ + + } + }) +} + +function fill_lp_guardas(row, fromComparador=false){ + + if(fromComparador){ + + var input_data = { + paginas: row.paginas, + paginas_impresion: row.paginas_impresion, + papel_generico_id: row.papelGenericoId, + gramaje: row.gramaje, + papel_impresion_id: row.papelImpresionId, + maquina_id: row.maquinaId, + } + + calcularPresupuesto_guardas(false, input_data); + + } + else{ + // Se guarda el estado de "ver calculos" + mostrar_calculos = ($( ".calculos_lp_guardas").css('display') == 'table-row') + + // Si viene de hacerlo a mano... + data = processRowData(row, 'lp_guardas', 'lp-guardas'); + + var row = tableLineasPresupuesto.row('#lp_guardas'); + if(row.length>0) + tableLineasPresupuesto.row('#lp_guardas').data(data).draw() + else{ + tableLineasPresupuesto.row.add(data).draw() + row = tableLineasPresupuesto.row('#lp_guardas'); + } + row.child(format(row.data())).show(); + + eventos_lp_guardas(data.maquinaTipo=='inkjet'?true:false) + + $('#lp_guardas_checkPapel').change() + + calcular_mermas() + //updateTotales(true, false, false); + //updateTablaEnvios() + updatePresupuesto({ + 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 + check_update_cubierta() + + if(mostrar_calculos){ + $( ".calculos_lp_guardas").css('display','table-row') + } + + } + $("#tableLineasPresupuesto").DataTable().columns.adjust(); +} + +function eventos_lp_guardas(isInkjet = false){ + + $('#lp_guardas_papel').bind("focus", {clear_selectors: true}, clear_lp_guardas); + $('#lp_guardas_papelImpresion').focus("focus", set_lp_guardas_papelImpresion); + $('#lp_guardas_maquina').bind("focus", set_lp_guardas_maquina); + $('#lp_guardas_maquina').bind("change", calcularPresupuesto_guardas); + $('#lp_guardas_paginas').bind("change", change_lp_guardas_paginas); + + if(isInkjet){ + $('#lp_guardas_vercalculos').bind("click", {rowId: 'lp_guardas'}, verCalculosInkjet); + $('.lp-guardas-tipologia').bind("change", change_lp_guardas_tipologia); + $('#lp_guardas_defecto').bind("click", por_defecto_lp_guardas); + $('#lp_guardas_aFavorFibra').bind("change", change_lp_guardas_aFavorFibra); + } +} + +function change_lp_guardas_tipologia(){ + + if( parseInt($('#lp_guardas_papel option:selected').val())>0 && + parseInt($('#lp_guardas_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_guardas({},true); + } +} + + +function por_defecto_lp_guardas(){ + + if( parseInt($('#lp_guardas_papel option:selected').val())>0 && + parseInt($('#lp_guardas_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_guardas(); + } +} + + +function change_lp_guardas_aFavorFibra(){ + + if( parseInt($('#lp_guardas_papel option:selected').val())>0 && + parseInt($('#lp_guardas_papelImpresion option:selected').val())>0 + ){ + var rowData = tableLineasPresupuesto.row('#lp_guardas').data() + rowData.aFavorFibra = $('#lp_guardas_aFavorFibra').prop('checked') + tableLineasPresupuesto.row('#lp_guardas').data(rowData).draw(false) + + calcularPresupuesto_guardas(false, true); + } +} + +function change_lp_guardas_paginas(){ + + if( parseInt($('#lp_guardas_papel option:selected').val())>0 && + parseInt($('#lp_guardas_papelImpresion option:selected').val())>0 + ){ + + calcularPresupuesto_guardas(); + } +} + +async function set_lp_guardas_maquina(){ + + await $.ajax({ + type: 'post', + url: '', + beforeSend: function() { + $('#lp_guardas_maquina').empty() + clear_lp_guardas(false) + }, + data: { + tipo: 'maquina', + uso: 'colorhq', + tipoLinea: "guardas", + is_rotativa: 0, + ancho: getDimensionLibro().ancho, + alto: getDimensionLibro().alto, + datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()), + papel_impresion: $('#lp_guardas_papelImpresion option:selected').val() , + : v + }, + dataType: 'json', + success: function (data) { + yeniden(data[window.csrf_token]); + $.each(data.menu, function(item){ + var option = $('