diff --git a/ci4/app/Controllers/Js_loader.php b/ci4/app/Controllers/Js_loader.php
index d6600618..9abc5e22 100755
--- a/ci4/app/Controllers/Js_loader.php
+++ b/ci4/app/Controllers/Js_loader.php
@@ -21,12 +21,37 @@ 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 datosLibro_js()
+ {
+ $this->response->setHeader('Content-Type', 'text/javascript');
+ return view('themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.js');
+ }
+
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 +70,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/Controllers/Presupuestos/Cosidotapablanda.php b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php
index 41f5c28d..22d5d6eb 100755
--- a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php
+++ b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php
@@ -339,6 +339,8 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
$this->viewData['papelGenericoRotativaNegroList'] = $this->getPapelGenericoRotativaNegro();
$this->viewData['papelGenericoRotativaColorList'] = $this->getPapelGenericoRotativaColor();
+ $this->viewData['direccionesList'] = $this->getDirecciones($id);
+
// Acabados exteriores
$this->viewData['acabadosCubierta'] = $this->getAcabadosCubierta();
$this->viewData['acabadosSobrecubierta'] = $this->getAcabadosSobrecubierta();
@@ -1295,4 +1297,9 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController
$model = model('App\Models\Configuracion\ConfiguracionSistemaModel');
return $model->getPOD();
}
+
+ protected function getDirecciones($presupuesto_id){
+ $model = model('App\Models\Presupuestos\PresupuestoDireccionesModel');
+ return $model->where('presupuesto_id', $presupuesto_id)->findAll();
+ }
}
diff --git a/ci4/app/Language/en/Presupuestos.php b/ci4/app/Language/en/Presupuestos.php
index eba24c4a..4d514cfa 100755
--- a/ci4/app/Language/en/Presupuestos.php
+++ b/ci4/app/Language/en/Presupuestos.php
@@ -92,8 +92,8 @@ return [
'encuadernacion' => 'Binding',
'solapasCubierta' => 'Cover dust jacket',
'solapasAnchoCubierta' => 'Cover dust jacket width',
- '1cara' => '1 side',
- '2caras' => '2 sides',
+ 'unaCara' => '1 side',
+ 'dosCaras' => '2 sides',
'bn' => 'BW',
'bnhq' => 'BWHQ',
'color' => 'Colour',
diff --git a/ci4/app/Language/es/Presupuestos.php b/ci4/app/Language/es/Presupuestos.php
index 2231446b..1b235c4d 100755
--- a/ci4/app/Language/es/Presupuestos.php
+++ b/ci4/app/Language/es/Presupuestos.php
@@ -108,8 +108,8 @@ return [
'solapasAnchoCubierta' => 'Ancho solapas cub.',
'solapasAnchoSobrecubierta' => 'Ancho solapas sobrecub.',
'sinImpresion' => 'Sin impresion',
- '1cara' => '1 cara',
- '2caras' => '2 caras',
+ 'unaCara' => '1 cara',
+ 'dosCaras' => '2 caras',
'bn' => 'BN',
'bnhq' => 'BNHQ',
'color' => 'Color',
@@ -257,6 +257,7 @@ return [
'requerido' => 'El campo {field} es obligatorio.',
'max_length' => 'El campo {field} no puede exceder los {param} caracteres de longitud.',
'no_lp_for_merma' => 'Inserte líneas de presupuesto para calcular la merma',
+ 'ejemplares_envio' => 'El número de ejemplares enviados no coincide con la tirada',
],
'errores' => [
diff --git a/ci4/app/Language/es/TarifaEncuadernacionLineas.php b/ci4/app/Language/es/TarifaEncuadernacionLineas.php
index f28bf657..bcc404dc 100755
--- a/ci4/app/Language/es/TarifaEncuadernacionLineas.php
+++ b/ci4/app/Language/es/TarifaEncuadernacionLineas.php
@@ -17,9 +17,9 @@ return [
'paginasMax' => 'Páginas Max',
'paginasMin' => 'Páginas Min',
'dimensiones' => 'Dimensiones',
- 'menor_a5' =>'Menor A5',
+ 'menor_a5' =>'Hasta A5',
'entre_a5_a4' =>'Entre A5 y A4',
- 'mayor_a4' =>'Mayor A4',
+ 'mayor_a4' =>'Desde A4',
'por_defecto' =>'Genérico',
'moduleExplanation' => 'El número de páginas reflejado en este apartado se refiere por ejemplar, no al total del pedido',
'margen' => 'Margen',
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. = = json_encode($array_php); ?>;
\ 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..a353a6c8 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,7 +58,7 @@ 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');
-
+
if(datos_tarifa.id!=null){
if(peso_envio>parseFloat(datos_tarifa.peso_max)){
@@ -68,4 +75,345 @@ async function get_coste_envio_tiradasAlternativas(tirada){
}
return {coste, margen};
-}
\ No newline at end of file
+}
+
+
+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 = `
+
+
+
+
+
+
` +
+ window.Presupuestos.validation.ejemplares_envio +
+ `
+
+
`;
+ }
+ $('#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')
+ }
+ })
+}
+
+$('#insertar_direccion').on('click', function(){
+
+ $("#addressForm").attr('action','create')
+ var $newAddDialog = $("#addressForm")
+ var maximaCantidad = parseInt($('#tirada').val())
+ $("#add_cantidad").attr("max" , maximaCantidad);
+ $("#add_cantidad").val( maximaCantidad);
+ $("#add_cantidad").on('change', function(){
+ $("#add_cantidad").val(parseInt($("#add_cantidad").val())>maximaCantidad ? maximaCantidad : $("#add_cantidad").val())
+ })
+
+ cantidad_total = 0
+ tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
+ var data = this.data();
+ cantidad_total += parseInt(data.cantidad)
+ } );
+ $('#add_cantidad').attr('max-value', parseInt($('#tirada').val())-cantidad_total)
+ $('#add_cantidad').val(parseInt($('#tirada').val())-cantidad_total)
+ $newAddDialog.modal('show')
+})
+
+const lastColNr_direcciones = $('#tableOfDireccionesEnvio').find("tr:first th").length - 1;
+
+
+$(document).on('click', '.delete-add-row', function(e) {
+ const row = $(this).closest('tr');
+ tableEnvios.row( row )
+ .remove()
+ .draw();
+ checkInsertar()
+ //updateTotales(false, false, true)
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true
+ })
+
+})
+
+$(document).on('click', '.btn-edit-add', function(e) {
+ const row = $(this).closest('tr');
+ var data = tableEnvios.row( row ).data()
+
+ $("#addressForm").attr('action','edit')
+ $("#addressForm").attr('row', row[0]._DT_RowIndex)
+ $("#addressForm").attr('presupuestodireccion_id', $(this).attr('data-id'))
+ var $newAddDialog = $("#addressForm")
+ var maximaCantidad = parseInt($('#tirada').val())
+ $("#add_cantidad").attr("max" , maximaCantidad);
+ $("#add_cantidad").val( maximaCantidad);
+ $("#add_cantidad").on('change', function(){
+ $("#add_cantidad").val(parseInt($("#add_cantidad").val())>maximaCantidad ? maximaCantidad : $("#add_cantidad").val())
+ })
+
+ cantidad_total = 0
+ tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
+ var data2 = this.data();
+ cantidad_total += parseInt(data2.cantidad)
+ } );
+ cantidad_total -= parseInt(data.cantidad) // Si es editar tienes que restar los de la linea actual
+ $('#add_cantidad').attr('max-value', parseInt($('#tirada').val())-cantidad_total)
+ $('#add_cantidad').val(parseInt($('#tirada').val())-cantidad_total)
+
+ $('#add_att').val(data.att)
+ $('#add_direccion').val(data.direccion)
+ $('#add_email').val(data.email)
+ $('#add_cp').val(data.cp)
+ $('#add_municipio').val(data.municipio)
+ $('#add_provincia').val(data.provincia)
+ $('#add_pais_id').val(data.paisId)
+ $('#add_telefono').val(data.telefono)
+ $('#add_cantidad').val(data.cantidad)
+ $('#add_entregaPieCalle').prop('checked', data.entregaPieCalle==1?true:false)
+
+ $newAddDialog.modal('show')
+})
+
+
+
+
+
+$('#recoger_en_taller').change(function(){
+ if(this.checked) {
+ $('#rowTable').css('display', 'none')
+ $('#rowInsertar').css('display', 'none')
+ tableEnvios.clear().draw()
+ }
+ else{
+ $('#rowTable').css('display', 'flex')
+ $('#rowInsertar').css('display', 'flex')
+ tableEnvios.columns.adjust();
+ }
+})
+
+
+var tableEnvios = $('#tableOfDireccionesEnvio').DataTable( {
+ draw:5,
+ serverSide: false,
+ processing: true,
+ autoWidth: true,
+ responsive: true,
+ order: [[ 0, "asc" ]],
+ pageLength: 20,
+ lengthChange: false,
+ searching: false,
+ paging: false,
+ info: false,
+ scrollX: true,
+
+ columns: [
+ { 'data': 'tarifa_id' },
+ { 'data': 'cantidad' },
+ { 'data': 'peso' },
+ { 'data': 'att' },
+ { 'data': 'email' },
+ { 'data': 'direccion' },
+ { 'data': 'cp' },
+ { 'data': 'municipio' },
+ { 'data': 'paisId' ,
+ render: function(data, type, row, meta) {
+ var pais = window.paisList.find(element => element.id == data);
+ return pais['nombre'];
+ },
+ },
+ { 'data': 'telefono' },
+ { 'data': 'proveedor'},
+ { 'data': 'proveedor_id'},
+ { 'data': 'precio' },
+ { 'data': 'margen' },
+ { 'data': 'entregaPieCalle' },
+ {
+ data: actionBtns_direcciones,
+ className: 'row-edit dt-center'
+ }
+ ],
+ columnDefs: [
+ {
+ orderable: false,
+ searchable: false,
+ targets: [lastColNr_direcciones]
+ },
+ {"orderData": [ 0], "targets": 0 },
+
+ ],
+ columnDefs: [
+ {
+ target: [0,11,13,14],
+ visible: false,
+ searchable: false
+ },
+ ],
+ language: {
+ url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
+ },
+
+ } );
+
+
+
+
+
+function save_datos_envios(){
+ $.post( window.routes_envios.dataTableOfPresupuestoDirecciones,
+ Object.assign({tipo: "clear_lineas", presupuesto_id: id}, window.token_ajax))
+ .done(function( data ) {
+
+ tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
+ var data = this.data();
+ $.post( '/presupuestos/presupuestodirecciones/add',
+ Object.assign({
+ presupuesto_id : id,
+ tarifa_id : data.tarifa_id,
+ cantidad : data.cantidad,
+ peso : data.peso,
+ att : data.att,
+ email : data.email,
+ direccion : data.direccion,
+ paisId : data.paisId,
+ provincia : data.provincia,
+ municipio : data.municipio,
+ cp : data.cp,
+ telefono : data.telefono,
+ precio : data.precio,
+ margen : data.margen,
+ proveedor : data.proveedor,
+ proveedor_id : data.proveedor_id,
+ entregaPieCalle : data.entregaPieCalle}, window.token_ajax))
+ });
+
+ })
+
+}
+
+
+function load_datos_envios(){
+
+ window.direccionesList.forEach((linea) => {
+ tableEnvios.row
+ .add({
+ 'tarifa_id': linea.tarifa_id,
+ 'cantidad': linea.cantidad,
+ 'peso': linea.peso,
+ 'att': linea.att,
+ 'email': linea.email,
+ 'direccion': linea.direccion,
+ 'cp': linea.cp,
+ 'municipio': linea.municipio,
+ 'provincia': linea.provincia,
+ 'paisId': linea.pais_id,
+ 'telefono': linea.telefono,
+ 'proveedor': linea.proveedor,
+ 'proveedor_id': linea.proveedor_id,
+ 'precio': linea.precio,
+ 'margen': linea.margen,
+ 'entregaPieCalle': linea.entregaPieCalle,
+ 'actionBtns_direcciones': actionBtns_direcciones,
+ })
+ .draw();
+ checkInsertar()
+
+
+ });
+
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: false
+ })
+
+}
+
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 b973d9c5..9eb98ac5 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
@@ -60,335 +60,19 @@
= $this->section("additionalInlineJs") ?>
-$('#insertar_direccion').on('click', function(){
-
- $("#addressForm").attr('action','create')
- var $newAddDialog = $("#addressForm")
- var maximaCantidad = parseInt($('#tirada').val())
- $("#add_cantidad").attr("max" , maximaCantidad);
- $("#add_cantidad").val( maximaCantidad);
- $("#add_cantidad").on('change', function(){
- $("#add_cantidad").val(parseInt($("#add_cantidad").val())>maximaCantidad ? maximaCantidad : $("#add_cantidad").val())
- })
+window.paisList = ;
+window.direccionesList = ;
- cantidad_total = 0
- tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
- var data = this.data();
- cantidad_total += parseInt(data.cantidad)
- } );
- $('#add_cantidad').attr('max-value', parseInt($('#tirada').val())-cantidad_total)
- $('#add_cantidad').val(parseInt($('#tirada').val())-cantidad_total)
- $newAddDialog.modal('show')
-})
-
-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)
- }
- else{
- popErrorAlert('= lang('PresupuestosDirecciones.validation.no_tarifa') ?>', 'error-tarifa')
- }
- })
+window.routes_envios = {
+ dataTableOfPresupuestoDirecciones: '= route_to('dataTableOfPresupuestoDirecciones') ?>'
}
-$(document).on('click', '.delete-add-row', function(e) {
- const row = $(this).closest('tr');
- tableEnvios.row( row )
- .remove()
- .draw();
- checkInsertar()
- updateTotales(false, false, true)
-
-})
-
-$(document).on('click', '.btn-edit-add', function(e) {
- const row = $(this).closest('tr');
- var data = tableEnvios.row( row ).data()
-
- $("#addressForm").attr('action','edit')
- $("#addressForm").attr('row', row[0]._DT_RowIndex)
- $("#addressForm").attr('presupuestodireccion_id', $(this).attr('data-id'))
- var $newAddDialog = $("#addressForm")
- var maximaCantidad = parseInt($('#tirada').val())
- $("#add_cantidad").attr("max" , maximaCantidad);
- $("#add_cantidad").val( maximaCantidad);
- $("#add_cantidad").on('change', function(){
- $("#add_cantidad").val(parseInt($("#add_cantidad").val())>maximaCantidad ? maximaCantidad : $("#add_cantidad").val())
- })
-
- cantidad_total = 0
- tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
- var data2 = this.data();
- cantidad_total += parseInt(data2.cantidad)
- } );
- cantidad_total -= parseInt(data.cantidad) // Si es editar tienes que restar los de la linea actual
- $('#add_cantidad').attr('max-value', parseInt($('#tirada').val())-cantidad_total)
- $('#add_cantidad').val(parseInt($('#tirada').val())-cantidad_total)
-
- $('#add_att').val(data.att)
- $('#add_direccion').val(data.direccion)
- $('#add_email').val(data.email)
- $('#add_cp').val(data.cp)
- $('#add_municipio').val(data.municipio)
- $('#add_provincia').val(data.provincia)
- $('#add_pais_id').val(data.paisId)
- $('#add_telefono').val(data.telefono)
- $('#add_cantidad').val(data.cantidad)
- $('#add_entregaPieCalle').prop('checked', data.entregaPieCalle==1?true:false)
-
- $newAddDialog.modal('show')
-})
-
-
-const paisList = ;
-
-
-$('#recoger_en_taller').change(function(){
- if(this.checked) {
- $('#rowTable').css('display', 'none')
- $('#rowInsertar').css('display', 'none')
- tableEnvios.clear().draw()
- }
- else{
- $('#rowTable').css('display', 'flex')
- $('#rowInsertar').css('display', 'flex')
- tableEnvios.columns.adjust();
- }
-})
-
-
-var tableEnvios = $('#tableOfDireccionesEnvio').DataTable( {
- draw:5,
- serverSide: false,
- processing: true,
- autoWidth: true,
- responsive: true,
- order: [[ 0, "asc" ]],
- pageLength: 20,
- lengthChange: false,
- searching: false,
- paging: false,
- info: false,
- scrollX: true,
-
- columns: [
- { 'data': 'tarifa_id' },
- { 'data': 'cantidad' },
- { 'data': 'peso' },
- { 'data': 'att' },
- { 'data': 'email' },
- { 'data': 'direccion' },
- { 'data': 'cp' },
- { 'data': 'municipio' },
- { 'data': 'paisId' ,
- render: function(data, type, row, meta) {
- var value = paisList.find(element => element.id === data);
- return value['nombre'];
- },
- },
- { 'data': 'telefono' },
- { 'data': 'proveedor'},
- { 'data': 'proveedor_id'},
- { 'data': 'precio' },
- { 'data': 'margen' },
- { 'data': 'entregaPieCalle' },
- {
- data: actionBtns_direcciones,
- className: 'row-edit dt-center'
- }
- ],
- columnDefs: [
- {
- orderable: false,
- searchable: false,
- targets: [lastColNr_direcciones]
- },
- {"orderData": [ 0], "targets": 0 },
-
- ],
- columnDefs: [
- {
- target: [0,11,13,14],
- visible: false,
- searchable: false
- },
- ],
- language: {
- url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
- },
-
- } );
-
-
-
-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 = `
-
-
-
-
-
-
= lang("PresupuestosDirecciones.validation.ejemplares_envio") ?>
-
-
`;
- }
- $('#alert-envios').html(htmlString)
-}
-
-function save_datos_envios(){
- $.post( '= route_to('dataTableOfPresupuestoDirecciones') ?>',
- {
- tipo: "clear_lineas",
- presupuesto_id: id,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v,
- })
- .done(function( data ) {
-
- tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
- var data = this.data();
- $.post( '/presupuestos/presupuestodirecciones/add',
- {
- presupuesto_id : id,
- tarifa_id : data.tarifa_id,
- cantidad : data.cantidad,
- peso : data.peso,
- att : data.att,
- email : data.email,
- direccion : data.direccion,
- paisId : data.paisId,
- provincia : data.provincia,
- municipio : data.municipio,
- cp : data.cp,
- telefono : data.telefono,
- precio : data.precio,
- margen : data.margen,
- proveedor : data.proveedor,
- proveedor_id : data.proveedor_id,
- entregaPieCalle : data.entregaPieCalle,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v,
- })
- });
-
- })
-
-}
-
-load_datos_envios()
-
-function load_datos_envios(){
- $.post( '= route_to('dataTableOfPresupuestoDirecciones') ?>',
- {
- draw: 1,
- columns: 1,
- search: {
- value: "",
- },
- presupuesto_id: id,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v,
- })
- .done(function( data ) {
- data.data.forEach((linea) => {
- tableEnvios.row
- .add({
- 'tarifa_id': linea.tarifa_id,
- 'cantidad': linea.cantidad,
- 'peso': linea.peso,
- 'att': linea.att,
- 'email': linea.email,
- 'direccion': linea.direccion,
- 'cp': linea.cp,
- 'municipio': linea.municipio,
- 'provincia': linea.provincia,
- 'paisId': linea.pais_id,
- 'telefono': linea.telefono,
- 'proveedor': linea.proveedor,
- 'proveedor_id': linea.proveedor_id,
- 'precio': linea.precio,
- 'margen': linea.margen,
- 'entregaPieCalle': linea.entregaPieCalle,
- 'actionBtns_direcciones': actionBtns_direcciones,
- })
- .draw();
- checkInsertar()
- updateTotales(false, false, true)
- });
- $('#tableOfDireccionesEnvio').bind('draw.dt', update_tiradas_alternativas);
- })
-}
-
-
window.url_get_precio_envio = '= route_to('processDataDirecciones') ?>';
+window.error_no_tarifa_envio = '= lang('PresupuestosDirecciones.validation.no_tarifa') ?>'
+window.token_ajax= {= csrf_token() ?? "token" ?>: = csrf_token() ?>v};
+
+$( document ).ready(function() {
+ load_datos_envios();
+});
= $this->endSection() ?>
\ No newline at end of file
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.js b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.js
new file mode 100644
index 00000000..242f1035
--- /dev/null
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.js
@@ -0,0 +1,146 @@
+$('#paginas').on("change", function () {
+
+ const url2 = window.location.href;
+ const url_parts2 = url2.split('/');
+
+ if(url_parts2[url_parts2.length-2] == 'edit'){
+
+ checkPaginasPresupuesto()
+
+ // Si es negro o color
+ if ($('#tipoImpresion').select2('data')[0].id == 'negro' ||
+ $('#tipoImpresion').select2('data')[0].id == 'color') {
+ $('#compPaginasNegro').val(parseInt($('#paginas').val())-parseInt($('#compPaginasColor').val()));
+ $('#compPaginasNegro').trigger('change')
+ }
+ // Si es negrohq o colorhq
+ if ($('#tipoImpresion').select2('data')[0].id == 'negrohq' ||
+ $('#tipoImpresion').select2('data')[0].id == 'colorhq') {
+ $('#compPaginasNegrohq').val(parseInt($('#paginas').val())-parseInt($('#compPaginasColorhq').val()));
+ $('#compPaginasNegrohq').trigger('change');
+ }
+
+ //update_servicios(false)
+ //updateLineasPresupuesto()
+ updatePresupuesto({
+ update_lineas: true,
+ update_servicios: true,
+ update_envios: true,
+ update_resumen: true,
+ update_tiradas_alternativas: true
+ })
+ }
+});
+
+$('.solapas_cubierta').on('change', function(){
+ $('#compGramajeCubierta').trigger('change')
+})
+
+$('.solapas_sobrecubierta').on('change', function(){
+ $('#compGramajeSobrecubierta').trigger('change')
+})
+
+$('#tirada').on("change", function (update_tiradas_alternativas = true) {
+
+ calcular_mermas()
+
+ const url2 = window.location.href;
+ const url_parts2 = url2.split('/');
+
+ if(url_parts2[url_parts2.length-2] == 'edit'){
+ //update_servicios(false)
+ //updateLineasPresupuesto()
+ if(update_tiradas_alternativas)
+ updatePresupuesto({
+ update_lineas: true,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: false,
+ update_tiradas_alternativas: false
+ })
+ else
+ updatePresupuesto({
+ update_lineas: true,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: false,
+ update_tiradas_alternativas: false
+ })
+ checkInsertar()
+ }
+})
+
+function calcular_mermas(){
+
+ const tirada = parseInt($('#tirada').val())
+ var merma = 0
+ htmlString = ''
+
+ if(tirada> parseInt($('#POD').val())){
+ merma = tirada*0.1<=30 ? tirada*0.1 : 30
+ }
+ else{
+ merma_lineas = []
+ tableLineasPresupuesto.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
+ var rowData = this.data();
+ if(rowData.row_id != 'lp_guardas' && rowData.row_id != 'lp_cubierta' && rowData.row_id != 'lp_sobrecubierta'){
+ const formas_linea = parseInt($('#isCosido').val())==0?parseInt(rowData.formas):parseInt(rowData.formas)/2
+ if(formas_linea > tirada)
+ merma_lineas.push(formas_linea-tirada)
+ else
+ merma_lineas.push(tirada%formas_linea)
+ }
+
+ })
+
+
+ if(merma_lineas.length>0)
+ merma = Math.max(...merma_lineas)
+ else{
+ htmlString = `
+
+
+
+
+
+
= lang("Presupuestos.validation.no_lp_for_merma") ?>
+
+
`;
+
+
+ merma = 0
+
+ }
+
+ }
+ $('#mermacubierta').val(parseInt(merma))
+ $('#merma').val(parseInt(merma))
+ $('#alert-datosLibro').html(htmlString)
+}
+
+
+$('#papelFormatoId').select2({
+ allowClear: false,
+});
+
+$('#papelFormatoPersonalizado').on("click",function(){
+ var checkbox = document.getElementById('papelFormatoPersonalizado');
+ if(checkbox.checked == true){
+ document.getElementById("papelFormatoAncho").style.display = "block";
+ document.getElementById("papelFormatoAlto").style.display = "block";
+ $('#papelFormatoId').next(".select2-container").hide();
+ $('#papelFormatoId').val(0).change();
+ document.getElementById("label_papelFormatoId").innerHTML =
+ "=lang('Presupuestos.papelFormatoId') ?> (" +
+ "=lang('Presupuestos.papelFormatoAncho') ?> x =lang('Presupuestos.papelFormatoAncho') ?>)*";
+ }
+ else{
+ document.getElementById("papelFormatoAncho").value= "";
+ document.getElementById("papelFormatoAlto").value= "";
+ document.getElementById("papelFormatoAncho").style.display = "none";
+ document.getElementById("papelFormatoAlto").style.display = "none";
+ $('#papelFormatoId').next(".select2-container").show();
+ document.getElementById("label_papelFormatoId").innerHTML =
+ "=lang('Presupuestos.papelFormatoId') ?>*";
+ }
+});
\ No newline at end of file
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.php
index 543a1f26..96d02451 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosLibroItems.php
@@ -327,106 +327,6 @@
= $this->section("additionalInlineJs") ?>
-$('#paginas').on("change", function () {
-
- const url2 = window.location.href;
- const url_parts2 = url2.split('/');
-
- if(url_parts2[url_parts2.length-2] == 'edit'){
-
- checkPaginasPresupuesto()
- updateLineasPresupuesto()
- // Si es negro o color
- if ($('#tipoImpresion').select2('data')[0].id == 'negro' ||
- $('#tipoImpresion').select2('data')[0].id == 'color') {
- $('#compPaginasNegro').val(parseInt($('#paginas').val())-parseInt($('#compPaginasColor').val()));
- $('#compPaginasNegro').trigger('change')
- }
- // Si es negrohq o colorhq
- if ($('#tipoImpresion').select2('data')[0].id == 'negrohq' ||
- $('#tipoImpresion').select2('data')[0].id == 'colorhq') {
- $('#compPaginasNegrohq').val(parseInt($('#paginas').val())-parseInt($('#compPaginasColorhq').val()));
- $('#compPaginasNegrohq').trigger('change');
- }
-
- update_servicios(false)
- }
-});
-
-$('.solapas_cubierta').on('change', function(){
- $('#compGramajeCubierta').trigger('change')
-})
-
-$('.solapas_sobrecubierta').on('change', function(){
- $('#compGramajeSobrecubierta').trigger('change')
-})
-
-$('#tirada').on("change", function () {
-
- calcular_mermas()
-
- const url2 = window.location.href;
- const url_parts2 = url2.split('/');
-
- if(url_parts2[url_parts2.length-2] == 'edit'){
- update_servicios(false)
- updateLineasPresupuesto()
- checkInsertar()
- }
-})
-
-function calcular_mermas(){
-
- const tirada = parseInt($('#tirada').val())
- var merma = 0
- htmlString = ''
-
- if(tirada>){
- merma = tirada*0.1<=30 ? tirada*0.1 : 30
- }
- else{
- merma_lineas = []
- tableLineasPresupuesto.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
- var rowData = this.data();
- if(rowData.row_id != 'lp_guardas' && rowData.row_id != 'lp_cubierta' && rowData.row_id != 'lp_sobrecubierta'){
- const formas_linea = ==0?parseInt(rowData.formas):parseInt(rowData.formas)/2
- if(formas_linea > tirada)
- merma_lineas.push(formas_linea-tirada)
- else
- merma_lineas.push(tirada%formas_linea)
- }
-
- })
-
-
- if(merma_lineas.length>0)
- merma = Math.max(...merma_lineas)
- else{
- htmlString = `
-
-
-
-
-
-
= lang("Presupuestos.validation.no_lp_for_merma") ?>
-
-
`;
-
-
- merma = 0
-
- }
-
- }
- $('#mermacubierta').val(parseInt(merma))
- $('#merma').val(parseInt(merma))
- $('#alert-datosLibro').html(htmlString)
-}
-
-
-$('#papelFormatoId').select2({
- allowClear: false,
-});
let initTamanioPersonalizado = papel_formato_personalizado==true?1:0); ?>;
if(initTamanioPersonalizado != null){
@@ -435,27 +335,7 @@ if(initTamanioPersonalizado != null){
}
}
-$('#papelFormatoPersonalizado').on("click",function(){
- var checkbox = document.getElementById('papelFormatoPersonalizado');
- if(checkbox.checked == true){
- document.getElementById("papelFormatoAncho").style.display = "block";
- document.getElementById("papelFormatoAlto").style.display = "block";
- $('#papelFormatoId').next(".select2-container").hide();
- $('#papelFormatoId').val(0).change();
- document.getElementById("label_papelFormatoId").innerHTML =
- "=lang('Presupuestos.papelFormatoId') ?> (" +
- "=lang('Presupuestos.papelFormatoAncho') ?> x =lang('Presupuestos.papelFormatoAncho') ?>)*";
- }
- else{
- document.getElementById("papelFormatoAncho").value= "";
- document.getElementById("papelFormatoAlto").value= "";
- document.getElementById("papelFormatoAncho").style.display = "none";
- document.getElementById("papelFormatoAlto").style.display = "none";
- $('#papelFormatoId').next(".select2-container").show();
- document.getElementById("label_papelFormatoId").innerHTML =
- "=lang('Presupuestos.papelFormatoId') ?>*";
- }
-});
+
var ancho_libro = getDimensionLibro().ancho;
@@ -493,8 +373,7 @@ function event_change_formato(){
ancho_libro = getDimensionLibro().ancho;
alto_libro = getDimensionLibro().alto;
- checkPaginasPresupuesto()
- updateLineasPresupuesto()
+
// Si es negro o color
if ($('#tipoImpresion').select2('data')[0].id == 'negro' ||
$('#tipoImpresion').select2('data')[0].id == 'color') {
@@ -509,7 +388,17 @@ function event_change_formato(){
$('#compPapelCubierta').trigger('change');
$('#compPapelSobrecubierta').trigger('change');
- update_servicios(false)
+ checkPaginasPresupuesto()
+
+ updatePresupuesto({
+ update_lineas: true,
+ update_servicios: true,
+ update_envios: true,
+ update_resumen: true,
+ update_tiradas_alternativas: true
+ })
+ //updateLineasPresupuesto()
+ //update_servicios(false)
}
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoClienteItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoClienteItems.php
index 5fc39e41..070989c7 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoClienteItems.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoClienteItems.php
@@ -188,10 +188,10 @@
- = lang('Presupuestos.1cara') ?>
+ = lang('Presupuestos.unaCara') ?>
- = lang('Presupuestos.2caras') ?>
+ = lang('Presupuestos.dosCaras') ?>
@@ -261,10 +261,10 @@
= lang('Presupuestos.sinImpresion') ?>
- = lang('Presupuestos.1cara') ?>
+ = lang('Presupuestos.unaCara') ?>
- = lang('Presupuestos.2caras') ?>
+ = lang('Presupuestos.dosCaras') ?>
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.js b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.js
index f70e6d8b..00c5b624 100644
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.js
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.js
@@ -1,6 +1,384 @@
+/****************************************************************************************
+ * Seccion para las funciones generales de la pagina
+ ***************************************************************************************/
+
+
+$('.nav-servicios button').on('shown.bs.tab', function(){
+ $("#tableOfServiciosEncuadernacion").DataTable().columns.adjust();
+ $("#tableOfServiciosPreimpresion").DataTable().columns.adjust();
+ $("#tableOfServiciosManipulado").DataTable().columns.adjust();
+ $("#tableOfServiciosAcabado").DataTable().columns.adjust();
+})
+
+
+$('#serv_default').on('click', function(){
+ get_tarifas_enc('default').then(
+ get_tarifas_manipulado('default')
+ )
+})
+
+// Delete row
+$(document).on('click', '.btn-delete-serv', function(e) {
+ const dataId = $(this).attr('data-id');
+ const rowId = $(this).closest('td').parent()[0].sectionRowIndex;
+ var dataText = null;
+
+ var table = "";
+ if($(this).closest('table').attr('id').includes('tableOfServiciosEncuadernacion')){
+ table = "tableOfServiciosEncuadernacion";
+ }
+ else if($(this).closest('table').attr('id').includes('tableOfServiciosAcabado')){
+ table = "tableOfServiciosAcabado";
+ dataText = $(this).attr('data-text');
+ }
+ else if($(this).closest('table').attr('id').includes('tableOfServiciosManipulado')){
+ table = "tableOfServiciosManipulado";
+ }
+ else if($(this).closest('table').attr('id').includes('tableOfServiciosPreimpresion')){
+ table = "tableOfServiciosPreimpresion";
+ }
+ else{
+ table = "";
+ }
+
+ if(table != ""){
+ if(dataText==null){
+ $('#' + table).DataTable().rows( function ( idx, data, node ) {
+ return data[0] === dataId;
+ } )
+ .remove()
+ .draw();
+ }
+ $('#' + table).DataTable().rows( function ( idx, data, node ) {
+ return ((data[0] === dataId) && (data[1]=== dataText));
+ } )
+ .remove()
+ .draw();
+ }
+
+ check_serv_enc_error()
+ check_serv_acabado_error()
+ check_serv_preimpresion_error()
+ check_serv_manipulado_error()
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true
+ })
+ //updateTotales(false, true, false)
+
+});
+
+function save_servicios(){
+
+ var datosAcabado = get_datos_acabado()
+ var datosEnc = get_datos_encuadernacion()
+ var datosManipulado = get_datos_manipulado()
+ var datosPreimpresion = get_datos_preimpresion()
+
+ const domain = window.location.origin
+
+ const url = window.location.href;
+ const url_parts = url.split('/');
+ if(url_parts[url_parts.length-2] == 'edit'){
+ const id = url_parts[url_parts.length-1];
+ }
+ else{
+ const id = -1;
+ }
+
+ fetch(domain + "/presupuestos/presupuestoencuadernaciones/edit/" + id , {
+ method: "POST",
+ body: JSON.stringify(Object.assign({datos: datosEnc}, window.token_ajax)),
+ headers: {
+ "Content-type": "application/json; charset=UTF-8"
+ }
+ })
+ .then(response => response.json())
+ .then(data => {
+ yeniden(data[window.csrf_token]);
+ })
+ .then(
+ fetch(domain + "/presupuestos/presupuestomanipulados/edit/" + id , {
+ method: "POST",
+ body: JSON.stringify(Object.assign({datos: datosManipulado}, window.token_ajax)),
+ headers: {
+ "Content-type": "application/json; charset=UTF-8"
+ }
+ })
+ .then(response => response.json())
+ .then(data => {
+ yeniden(data[window.csrf_token]);
+ })
+ )
+ .then(
+ fetch(domain + "/presupuestos/presupuestoacabados/edit/" + id , {
+ method: "POST",
+ body: JSON.stringify(Object.assign({datos: datosAcabado}, window.token_ajax)),
+ headers: {
+ "Content-type": "application/json; charset=UTF-8"
+ }
+ })
+ .then(response => response.json())
+ .then(data => {
+ yeniden(data[window.csrf_token]);
+ })
+ )
+ .then(
+ fetch(domain + "/presupuestos/presupuestopreimpresiones/edit/" + id , {
+ method: "POST",
+ body: JSON.stringify(Object.assign({datos: datosPreimpresion}, window.token_ajax)),
+ headers: {
+ "Content-type": "application/json; charset=UTF-8"
+ }
+ })
+ .then(response => response.json())
+ .then(data => {
+ yeniden(data[window.csrf_token]);
+ })
+ )
+}
+
+
/****************************************************************************************
* Seccion para los servicios de acabado
***************************************************************************************/
+var tableServiciosAcabado = new DataTable('#tableOfServiciosAcabado',{
+ scrollX: true,
+ searching: false,
+ paging: false,
+ info: false,
+ ordering: false,
+ responsive: true,
+ select: false,
+ language: {
+ url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
+ },
+});
+
+function init_servicio_acabado(){
+
+ $('#add_servicio_acabado_list').select2({
+ allowClear: false,
+ minimumResultsForSearch: -1,
+ placeholder: window.Presupuestos.servicioAcabadoList
+ })
+
+ window.serviciosacabadosList.forEach((element) =>{
+
+ nombre_completo = element.nombre
+ if (element.cubierta == 1){
+ nombre_completo += ' (' + window.Presupuestos.cubierta + ')'
+ }
+ else if (element.sobrecubierta == 1){
+ nombre_completo += ' (' + window.Presupuestos.sobrecubierta + ')'
+ }
+ tableServiciosAcabado.row.add([
+ element.tarifa_acabado_id,
+ nombre_completo,
+ '' + parseFloat(element.precio_unidad).toFixed(2) + ' ',
+ ' ',
+ '' + parseFloat(element.margen).toFixed(2) + ' ',
+ ' '
+ ]).draw(false)
+
+ $('#precio_total_acabado_' + element.tarifa_acabado_id).on('change', function(){
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true})
+ })
+
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true
+ })
+
+ })
+ check_serv_acabado_error()
+}
+
+function check_serv_acabado_error(){
+
+ var htmlString = '';
+
+ $('#tableOfServiciosAcabado tr').each(function(){
+ if($(this).find('td').eq(2).text() == '0.00'){
+ htmlString = `
+
+
+
+
+
+
` +
+ window.Presupuestos.errores.error_servicios_anadidos +
+ `
+
+
`;
+ }
+ })
+ $('#serv-acabado-error').html(htmlString)
+}
+
+function get_tarifas_acabado(tarifa_id = -1, uso=null){
+
+ if(parseInt($('#tirada').val())>0){
+ var tirada = parseInt($('#tirada').val())
+ }
+ else{
+ var tirada = 0
+ }
+
+ var datos = {
+ tarifa_acabado_id : tarifa_id,
+ tirada: tirada,
+ POD: parseInt($('#POD').val())
+ };
+ datos = Object.assign(datos, window.token_ajax)
+
+
+ $.ajax({
+ type: "POST",
+ url: window.routes_servicios.dataTableOfPresupuestoAcabados,
+ data: datos,
+ success: function (data) {
+
+ data.values.forEach((row) => {
+
+ nombre = row.tarifa_nombre
+ if(uso!= null)
+ nombre += ' (' + uso + ')'
+
+ tableServiciosAcabado.row.add([
+ row.tarifa_id,
+ nombre,
+ '' + parseFloat(row.precio_unidad).toFixed(2) + ' ',
+ ' ',
+ '' + parseFloat(row.margen).toFixed(2) + ' ',
+ ' '
+ ]).draw(false)
+
+ $('#precio_total_acabado_' + row.tarifa_id).on('change', function(){
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true})
+ })
+
+ });
+ if(data.values.lenght > 0){
+ //updateTotales(false, true, false)
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true
+ })
+ }
+
+ check_serv_acabado_error()
+ yeniden(data[window.csrf_token]);
+ return true;
+ },
+ error: function(e){
+ return false;
+ }
+ })
+ return false;
+}
+
+function servicioRetractilado(){
+ if($('#retractilado').prop('checked')){
+ $('#add_servicio_acabado_list').val(window.serviciosAutomaticos.retractilado)
+ $('#insertar_serv_acabado').click()
+ }
+ else{
+ var row_indexes = tableServiciosAcabado.rows().eq( 0 ).filter( function (rowIdx) {
+ return tableServiciosAcabado.cell( rowIdx, 0 ).data() == window.serviciosAutomaticos.retractilado ? true : false;
+ } );
+ if(row_indexes.length > 0){
+ tableServiciosAcabado.row(row_indexes[0]).remove().draw()
+ check_serv_acabado_error()
+ }
+ }
+}
+
+function servicioRetractilado5(){
+ if($('#retractilado5').prop('checked')){
+ $('#add_servicio_acabado_list').val(window.serviciosAutomaticos.retractilado5)
+ $('#insertar_serv_acabado').click()
+ }
+ else{
+ var row_indexes = tableServiciosAcabado.rows().eq( 0 ).filter( function (rowIdx) {
+ return tableServiciosAcabado.cell( rowIdx, 0 ).data() == window.serviciosAutomaticos.retractilado5 ? true : false;
+ } );
+ if(row_indexes.length > 0){
+ tableServiciosAcabado.row(row_indexes[0]).remove().draw()
+ check_serv_acabado_error()
+ }
+ }
+}
+
+function servicioFajaColor(){
+ if($('#fajaColor').prop('checked')){
+ $('#add_servicio_acabado_list').val(window.serviciosAutomaticos.fajaColor)
+ $('#insertar_serv_acabado').click()
+ }
+ else{
+ var row_indexes = tableServiciosAcabado.rows().eq( 0 ).filter( function (rowIdx) {
+ return tableServiciosAcabado.cell( rowIdx, 0 ).data() == window.serviciosAutomaticos.fajaColor ? true : false;
+ } );
+ if(row_indexes.length > 0){
+ tableServiciosAcabado.row(row_indexes[0]).remove().draw()
+ check_serv_acabado_error()
+ }
+ }
+}
+
+$('#insertar_serv_acabado').on('click', function(){
+ const tarifa_text = $('#add_servicio_acabado_list').select2('data')[0].text.trim();
+
+ if(tarifa_text.length > 0){
+ var table = $("#tableOfServiciosAcabado").DataTable();
+ var rows = table.rows().data().toArray();
+ var found = rows.some(row => row[1] === tarifa_text);
+
+ if(!found)
+ get_tarifas_acabado($('#add_servicio_acabado_list').select2('data')[0].id);
+ else
+ popErrorAlert(window.Presupuestos.errores.error_servicios_duplicados, 'serv-acabado-alert');
+ }
+ check_serv_acabado_error();
+})
+
+
+function insertar_acabado_exterior($servicio_id, $uso=""){
+
+ const tarifa_text = '(' +$uso + ')'
+
+ var tablaAcabados = $("#tableOfServiciosAcabado").DataTable()
+ tablaAcabados.rows().every(function () {
+ var data = this.data();
+ if(data[1].includes(tarifa_text)){
+ this.remove().draw(false);
+ }
+ })
+
+ get_tarifas_acabado($servicio_id, $uso);
+ tablaAcabados.draw();
+ check_serv_acabado_error()
+}
+
function get_datos_acabado(){
var datosAcabado = []
@@ -14,11 +392,11 @@ function get_datos_acabado(){
values['tarifa_id'] = $(this).text()
break
case 1:
- if($(this).text().includes(' '+ lang_text_cubierta))
+ if($(this).text().includes(' '+ window.Presupuestos.cubierta))
values['cubierta'] = 1
else
values['cubierta'] = 0
- if($(this).text().includes(' '+ lang_text_sobrecubierta))
+ if($(this).text().includes(' '+ window.Presupuestos.sobrecubierta))
values['sobrecubierta'] = 1
else
values['sobrecubierta'] = 0
@@ -43,31 +421,48 @@ function get_datos_acabado(){
async function get_servAcabados_tiradasAlternativas(tirada){
- serviciosAcabados ={
+
+ const url = window.location.href;
+ const url_parts = url.split('/');
+ if(url_parts[url_parts.length-2] == 'edit'){
+ const id = url_parts[url_parts.length-1];
+ }
+ else{
+ const id = -1;
+ }
+
+ var serviciosAcabados ={
coste: 0.0,
margen: 0.0,
}
- json_data = {
+ var json_data = {
datos: get_datos_acabado(),
tirada: parseInt(tirada),
POD: $('#POD').val()
}
- json_data = Object.assign(json_data, window.token_ajax);
+ if(json_data.datos.length>0){
+
+ json_data = Object.assign(json_data, window.token_ajax);
- const response = await fetch(window.location.origin + "/presupuestos/presupuestoacabados/update/" + id , {
- method: "POST",
- body: JSON.stringify(json_data),
- headers: {
- "Content-type": "application/json; charset=UTF-8"
- }
- })
- const values = await response.json();
- yeniden(values[window.csrf_token]);
- values.lines.forEach((line) => {
-
- serviciosAcabados.coste += parseFloat(line[0].total);
- serviciosAcabados.margen += parseFloat(line[0].total)*parseFloat(line[0].margen)/100.0;
- });
+ await fetch(window.location.origin + "/presupuestos/presupuestoacabados/update/" + id , {
+ method: "POST",
+ body: JSON.stringify(json_data),
+ headers: {
+ "Content-type": "application/json; charset=UTF-8"
+ }
+ })
+ .then(response => response.json())
+ .then(data => {
+
+ //const values = await response.json();
+ yeniden(data[window.csrf_token]);
+ data.lines.forEach((line) => {
+ serviciosAcabados.coste += parseFloat(line[0].total);
+ serviciosAcabados.margen += parseFloat(line[0].total)*parseFloat(line[0].margen)/100.0;
+ });
+
+ });
+ }
return serviciosAcabados;
}
@@ -75,6 +470,319 @@ async function get_servAcabados_tiradasAlternativas(tirada){
/****************************************************************************************
* Seccion para los servicios de encuadernación
***************************************************************************************/
+var tableServiciosEnc = new DataTable('#tableOfServiciosEncuadernacion',{
+ scrollX: true,
+ searching: false,
+ paging: false,
+ info: false,
+ ordering: false,
+ responsive: true,
+ select: false,
+ language: {
+ url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
+ },
+});
+
+
+function init_servicio_encuadernado(){
+
+
+ $('#add_servicio_enc_list').select2({
+ allowClear: false,
+ minimumResultsForSearch: -1,
+ placeholder: window.Presupuestos.servicioEncuadernadoList
+ })
+
+ window.serviciosencuadernadosList.forEach((element) =>{
+
+ const tarifa_id = element.tarifa_encuadernado_id
+ var proveedor_nombre = element.proveedor===null? window.Presupuestos.no_disponible: element.proveedor
+
+ tableServiciosEnc.row.add([
+ element.tarifa_encuadernado_id,
+ element.nombre,
+ '' +
+ '' +
+ proveedor_nombre +
+ ' ' +
+ ' ',
+ '' + parseFloat(element.precio_unidad).toFixed(2) + ' ',
+ ' ',
+ '' + parseFloat(element.margen).toFixed(2) + ' ',
+ ' '
+ ]).draw(false)
+
+ $('#precio_total_encuadernado_' + element.tarifa_encuadernado_id).on('change', function(){
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true})
+ })
+
+ $('#proveedor_enc_' + element.tarifa_encuadernado_id).select2({
+ allowClear: false,
+ minimumResultsForSearch: -1,
+ ajax: {
+ url: window.routes_servicios.menuItemsOfPresupuestoEncuadernaciones,
+ type: 'post',
+ dataType: 'json',
+
+ data: function (params) {
+
+ if(parseInt($('#tirada').val())>0){
+ var tirada = parseInt($('#tirada').val())
+ }
+ else{
+ var tirada = 0
+ }
+
+ var return_data = {
+ tarifa_id: tarifa_id,
+ paginas: parseInt($('#paginas').val())>0?parseInt($('#paginas').val()):0,
+ tirada: tirada,
+ ancho: ancho_libro,
+ alto: alto_libro,
+ searchtxt: params.term, // search term
+ };
+ return_data = Object.assign(return_data, window.token_ajax);
+
+ return return_data;
+ },
+ delay: 60,
+ processResults: function (response) {
+ yeniden(response[window.csrf_token]);
+ return {
+ results: response.menu
+ };
+ },
+ cache: true
+ }
+ });
+ $('#proveedor_enc_' + element.tarifa_encuadernado_id).on('change', proveedor_enc_event)
+ });
+
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true
+ })
+ check_serv_enc_error()
+
+}
+
+function proveedor_enc_event(){
+ const dimension = getDimensionLibro();
+ if(parseInt($('#tirada').val())>0){
+ var tirada = parseInt($('#tirada').val())
+ }
+ else{
+ var tirada = 0
+ }
+
+ var datos = {
+ tarifa_encuadernacion_id: this.id.split('_')[2],
+ paginas: parseInt($('#paginas').val())>0?parseInt($('#paginas').val()):0,
+ tirada: tirada,
+ ancho: dimension.ancho,
+ alto: dimension.alto,
+ proveedor_id: parseInt($('#' + this.id).select2('data')[0].id),
+ POD: parseInt($('#POD').val())
+ };
+ datos = Object.assign(datos, window.token_ajax);
+
+ $.ajax({
+ type: "POST",
+ url: window.routes_servicios.dataTableOfPresupuestoEncuadernaciones,
+ data: datos,
+ success: function (data) {
+
+ $('#precio_unidad_encuadernado_' + datos.tarifa_encuadernacion_id).text(parseFloat(data.values[0].precio_unidad).toFixed(2))
+ $('#precio_total_encuadernado_' + datos.tarifa_encuadernacion_id).val(parseFloat(data.values[0].total).toFixed(2))
+ $('#enc_margen_' + datos.tarifa_encuadernacion_id).val(parseFloat(data.values[0].margen).toFixed(2))
+
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true
+ })
+ yeniden(data[window.csrf_token]);
+ return true;
+ },
+ error: function(e){
+ return false;
+ }
+ })
+ return false;
+}
+
+
+function check_serv_enc_error(){
+
+ var htmlString = '';
+
+ $('#tableOfServiciosEncuadernacion tr').each(function(){
+ if($(this).find('td').eq(3).text() == '0.00'){
+ htmlString = `
+
+
+
+
+
+
` +
+ window.Presupuestos.errores.error_servicios_anadidos +
+ `
+
+
`;
+ }
+ })
+ $('#serv-enc-error').html(htmlString)
+}
+
+
+async function get_tarifas_enc(tipo=null, tarifa_id = -1){
+ const dimension = getDimensionLibro();
+
+ if(parseInt($('#tirada').val())>0){
+ var tirada = parseInt($('#tirada').val())
+ }
+ else{
+ var tirada = 0
+ }
+
+ var datos = {
+ tarifa_encuadernacion_id : tarifa_id,
+ solapas: $('#solapas').is(':checked')?1:0,
+ paginas: parseInt($('#paginas').val())>0?parseInt($('#paginas').val()):0,
+ tirada: tirada,
+ ancho: dimension.ancho,
+ alto: dimension.alto,
+ POD: parseInt($('#POD').val())
+ };
+ datos = Object.assign(datos, window.token_ajax)
+
+ if(tipo != null){
+ datos['tipo'] = tipo;
+ datos['tipo_impresion_id'] = parseInt($('#tipo_impresion').val())
+ }
+
+ $.ajax({
+ type: "POST",
+ url: window.routes_servicios.dataTableOfPresupuestoEncuadernaciones,
+ data: datos,
+ success: function (data) {
+
+ if(tipo=='default')
+ tableServiciosEnc.clear().draw()
+
+ data.values.forEach((row) => {
+
+ tableServiciosEnc.row.add([
+ row.tarifa_id,
+ row.tarifa_nombre,
+ '' +
+ '' +
+ row.proveedor +
+ ' ' +
+ ' ',
+ '' + parseFloat(row.precio_unidad).toFixed(2) + ' ',
+ ' ',
+ '' + parseFloat(row.margen).toFixed(2) + ' ',
+ ' '
+ ]).draw(false)
+
+ $('#precio_total_encuadernado_' + row.tarifa_id).on('change', function(){
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true})
+ })
+
+ $('#proveedor_enc_' + row.tarifa_id).select2({
+ allowClear: false,
+ minimumResultsForSearch: -1,
+ ajax: {
+ url: window.routes_servicios.menuItemsOfPresupuestoEncuadernaciones,
+ type: 'post',
+ dataType: 'json',
+
+ data: function (params) {
+
+ if( parseInt( $('#tirada').val() )>0){
+ var tirada = parseInt($('#tirada').val())
+ }
+ else{
+ var tirada = 0
+ }
+
+ var return_data = {
+ tarifa_id: row.tarifa_id,
+ paginas: parseInt($('#paginas').val())>0?parseInt($('#paginas').val()):0,
+ tirada: tirada,
+ ancho: ancho_libro,
+ alto: alto_libro,
+ searchtxt: params.term, // search term
+ }
+ return_data = Object.assign(return_data, window.token_ajax);
+ return return_data;
+ },
+ delay: 60,
+ processResults: function (response) {
+ yeniden(response[window.csrf_token]);
+ return {
+ results: response.menu
+ };
+ },
+ cache: true
+ }
+ });
+
+ $('#proveedor_enc_' + row.tarifa_id).on('change', proveedor_enc_event)
+
+
+ });
+
+ if(data.values.lenght > 0){
+
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true
+ })
+ }
+ check_serv_enc_error()
+ yeniden(data[window.csrf_token]);
+ return true;
+ },
+ error: function(e){
+ return false;
+ }
+ })
+ return false;
+}
+
+
+$('#insertar_serv_enc').on('click', function(){
+ const tarifa_text = $('#add_servicio_enc_list').select2('data')[0].text.trim()
+
+ if( $('#add_servicio_enc_list').select2('data')[0].text.trim().length > 0){
+ if($('#tableOfServiciosEncuadernacion tr > td:contains(' + tarifa_text + ')').length == 0)
+ get_tarifas_enc('tarifa', $('#add_servicio_enc_list').select2('data')[0].id);
+ else{
+ popErrorAlert(window.Presupuestos.errores.error_servicios_duplicados, 'serv-enc-alert')
+ }
+ }
+ check_serv_enc_error()
+})
function get_datos_encuadernacion(){
var datosEnc = []
@@ -111,11 +819,22 @@ function get_datos_encuadernacion(){
async function get_servEncuadernacion_tiradasAlternativas(tirada, paginas, ancho, alto){
- serviciosEncuadernacion ={
+
+ const url = window.location.href;
+ const url_parts = url.split('/');
+ if(url_parts[url_parts.length-2] == 'edit'){
+ const id = url_parts[url_parts.length-1];
+ }
+ else{
+ const id = -1;
+ }
+
+ var serviciosEncuadernacion ={
coste: 0.0,
margen: 0.0,
}
- json_data = {
+
+ var json_data = {
datos: get_datos_encuadernacion(),
tirada: parseInt(tirada),
paginas: parseInt(paginas),
@@ -123,28 +842,210 @@ async function get_servEncuadernacion_tiradasAlternativas(tirada, paginas, ancho
alto: alto,
POD: $('#POD').val()
}
- json_data = Object.assign(json_data, window.token_ajax);
- const response = await fetch(window.location.origin + "/presupuestos/presupuestoencuadernaciones/update/" + id , {
- method: "POST",
- body: JSON.stringify(json_data),
- headers: {
- "Content-type": "application/json; charset=UTF-8"
- }
- })
- const values = await response.json();
- yeniden(values[window.csrf_token]);
- values.lines.forEach((line) => {
- serviciosEncuadernacion.coste += parseFloat(line[0].total);
- serviciosEncuadernacion.margen += parseFloat(line[0].total)*parseFloat(line[0].margen)/100.0;
- });
+ if(json_data.datos.length>0){
+ json_data = Object.assign(json_data, window.token_ajax);
+
+ await fetch(window.location.origin + "/presupuestos/presupuestoencuadernaciones/update/" + id , {
+ method: "POST",
+ body: JSON.stringify(json_data),
+ headers: {
+ "Content-type": "application/json; charset=UTF-8"
+ }
+ })
+ .then(response => response.json())
+ .then(data => {
+
+ //const values = await response.json();
+ yeniden(data[window.csrf_token]);
+ data.lines.forEach((line) => {
+ serviciosEncuadernacion.coste += parseFloat(line[0].total);
+ serviciosEncuadernacion.margen += parseFloat(line[0].total)*parseFloat(line[0].margen)/100.0;
+ });
+
+ });
+ }
return serviciosEncuadernacion;
+
}
/****************************************************************************************
* Seccion para los servicios de manipulado
***************************************************************************************/
+var tableServiciosManipulado = new DataTable('#tableOfServiciosManipulado',{
+ scrollX: true,
+ searching: false,
+ paging: false,
+ info: false,
+ ordering: false,
+ responsive: true,
+ select: false,
+ language: {
+ url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
+ },
+});
+
+function init_servicio_manipulado(){
+
+ $('#add_servicio_manipulado_list').select2({
+ allowClear: false,
+ minimumResultsForSearch: -1,
+ placeholder: window.Presupuestos.servicioManipuladoList
+ })
+
+ window.serviciosmanipuladoList.forEach((element) =>{
+
+ tableServiciosManipulado.row.add([
+ element.tarifa_manipulado_id,
+ element.nombre,
+ '' + parseFloat(element.precio_unidad).toFixed(2) + ' ',
+ ' ',
+ '' + parseFloat(element.margen).toFixed(2) + ' ',
+ ' '
+ ]).draw(false)
+
+ $('#precio_total_manipulado_' + element.tarifa_manipulado_id).on('change', function(){
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true})
+ })
+
+ })
+ check_serv_manipulado_error()
+}
+
+function check_serv_manipulado_error(){
+
+ var htmlString = '';
+
+ $('#tableOfServiciosManipulado tr').each(function(){
+ if($(this).find('td').eq(2).text() == '0.00'){
+ htmlString = `
+
+
+
+
+
+
` +
+ window.Presupuestos.errores.error_servicios_anadidos +
+ `
+
+
`;
+ }
+ })
+ $('#serv-manipulado-error').html(htmlString)
+}
+
+async function get_tarifas_manipulado(tipo=null, tarifa_id = -1){
+
+ if(parseInt($('#tirada').val())>0){
+ var tirada = parseInt($('#tirada').val())
+ }
+ else{
+ var tirada = 0
+ }
+
+ var datos = {
+ tarifa_manipulado_id : tarifa_id,
+ tirada: tirada,
+ POD: parseInt($('#POD').val())
+ };
+ datos = Object.assign(datos, window.token_ajax)
+
+ if(tipo != null){
+ datos['tipo'] = tipo;
+ datos['solapas'] = $('#solapas').is(':checked')?1:0;
+ datos['tipo_impresion_id'] = parseInt($('#tipo_impresion').val());
+ }
+
+
+
+ $.ajax({
+ type: "POST",
+ url: window.routes_servicios.dataTableOfPresupuestoManipulados,
+ data: datos,
+ success: function (data) {
+
+ if(tipo=='default')
+ tableServiciosManipulado.clear().draw()
+
+ data.values.forEach((row) => {
+
+ tableServiciosManipulado.row.add([
+ row.tarifa_id,
+ row.tarifa_nombre,
+ '' + parseFloat(row.precio_unidad).toFixed(2) + ' ',
+ ' ',
+ '' + parseFloat(row.margen).toFixed(2) + ' ',
+ ' '
+ ]).draw(false)
+
+ $('#precio_total_manipulado_' + row.tarifa_id).on('change', function(){
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true})
+ })
+ });
+
+ if(data.values.lenght > 0){
+
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true
+ })
+ }
+ check_serv_manipulado_error()
+ yeniden(data[window.csrf_token]);
+ return true;
+ },
+ error: function(e){
+ return false;
+ }
+ })
+ return false;
+}
+
+$('#insertar_serv_manipulado').on('click', function(){
+ const tarifa_text = $('#add_servicio_manipulado_list').select2('data')[0].text.trim()
+
+ if( $('#add_servicio_manipulado_list').select2('data')[0].text.trim().length > 0){
+ if($('#tableOfServiciosManipulado tr > td:contains(' + tarifa_text + ')').length == 0){
+ get_tarifas_manipulado(null, $('#add_servicio_manipulado_list').select2('data')[0].id);
+ }
+ else{
+ popErrorAlert(window.Presupuestos.errores.error_servicios_duplicados, 'serv-manipulado-alert')
+ }
+ }
+ check_serv_manipulado_error()
+})
+
+
+function servicioGuardas(add_service = false){
+ if(add_service){
+ $('#add_servicio_manipulado_list').val(window.serviciosAutomaticos.plegadoGuardas)
+ $('#insertar_serv_manipulado').click()
+ }
+ else{
+ var row_indexes = tableServiciosManipulado.rows().eq( 0 ).filter( function (rowIdx) {
+ return tableServiciosManipulado.cell( rowIdx, 0 ).data() == window.serviciosAutomaticos.plegadoGuardas ? true : false;
+ } );
+ if(row_indexes.length > 0){
+ tableServiciosManipulado.row(row_indexes[0]).remove().draw()
+ check_serv_manipulado_error()
+ }
+ }
+}
+
function get_datos_manipulado(){
var datosManipulado = []
@@ -179,36 +1080,234 @@ function get_datos_manipulado(){
async function get_servManipulado_tiradasAlternativas(tirada){
- serviciosManipulado ={
+
+ const url = window.location.href;
+ const url_parts = url.split('/');
+ if(url_parts[url_parts.length-2] == 'edit'){
+ const id = url_parts[url_parts.length-1];
+ }
+ else{
+ const id = -1;
+ }
+
+ var serviciosManipulado ={
coste: 0.0,
margen: 0.0,
}
- json_data = {
+ var json_data = {
datos: get_datos_manipulado(),
tirada: parseInt(tirada),
POD: $('#POD').val()
}
- json_data = Object.assign(json_data, window.token_ajax);
+ if(json_data.datos.length>0){
+ json_data = Object.assign(json_data, window.token_ajax);
- const response = await fetch(window.location.origin + "/presupuestos/presupuestomanipulados/update/" + id , {
- method: "POST",
- body: JSON.stringify(json_data),
- headers: {
- "Content-type": "application/json; charset=UTF-8"
- }
- })
- const values = await response.json();
- yeniden(values[window.csrf_token]);
- values.lines.forEach((line) => {
- serviciosManipulado.coste += parseFloat(line[0].total);
- serviciosManipulado.margen += parseFloat(line[0].total)*parseFloat(line[0].margen)/100.0;
- });
+ await fetch(window.location.origin + "/presupuestos/presupuestomanipulados/update/" + id , {
+ method: "POST",
+ body: JSON.stringify(json_data),
+ headers: {
+ "Content-type": "application/json; charset=UTF-8"
+ }
+ })
+ .then(response => response.json())
+ .then(data => {
+ //const values = await response.json();
+ yeniden(data[window.csrf_token]);
+ data.lines.forEach((line) => {
+ serviciosManipulado.coste += parseFloat(line[0].total);
+ serviciosManipulado.margen += parseFloat(line[0].total)*parseFloat(line[0].margen)/100.0;
+ });
+
+ });
+ }
return serviciosManipulado;
}
/****************************************************************************************
* Seccion para los servicios de preimpresión
***************************************************************************************/
+var tableServiciosPreimpresion = new DataTable('#tableOfServiciosPreimpresion',{
+ scrollX: true,
+ searching: false,
+ paging: false,
+ info: false,
+ ordering: false,
+ responsive: true,
+ select: false,
+ language: {
+ url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
+ }
+});
+
+
+function init_servicio_preimpresion(){
+
+
+ $('#add_servicio_preimpresion_list').select2({
+ allowClear: false,
+ minimumResultsForSearch: -1,
+ placeholder: window.Presupuestos.servicioPreimpresionList
+ })
+
+ window.serviciospreimpresionList.forEach((element) =>{
+
+ tableServiciosPreimpresion.row.add([
+ element.tarifa_preimpresion_id,
+ element.nombre,
+ ' ',
+ '' + parseFloat(element.margen).toFixed(2) + ' ',
+ ' '
+ ]).draw(false)
+
+ $('#precio_preimpresion_' + element.tarifa_preimpresion_id).on('change', function(){
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true})
+ })
+
+ })
+
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true
+ })
+ check_serv_preimpresion_error()
+}
+
+function check_serv_preimpresion_error(){
+
+ var htmlString = '';
+
+ $('#tableOfServiciosPreimpresion tr').each(function(){
+
+ if(parseFloat($(this).find('td:eq(2) input').val()) == '0'){
+ htmlString = `
+
+
+
+
+
+
` +
+ window.Presupuestos.errores.error_servicios_anadidos +
+ `
+
+
`;
+ }
+ })
+ $('#serv-preimpresion-error').html(htmlString)
+}
+
+function get_tarifas_preimpresion(tarifa_id = -1){
+
+ var datos = {
+ tarifa_preimpresion_id : tarifa_id,
+ };
+ datos = Object.assign(datos, window.token_ajax)
+
+
+ $.ajax({
+ type: "POST",
+ url: window.routes_servicios.dataTableOfPresupuestoPreimpresiones,
+ data: datos,
+ success: function (data) {
+
+ data.values.forEach((row) => {
+
+ tableServiciosPreimpresion.row.add([
+ row.tarifa_id,
+ row.tarifa_nombre,
+ ' ',
+ '' + parseFloat(row.margen).toFixed(2) + ' ',
+ ' '
+ ]).draw(false)
+
+ $('#precio_preimpresion_' + row.tarifa_id).on('change', function(){
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true})
+ })
+
+ });
+
+ if(data.values.lenght > 0){
+
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true
+ })
+ }
+ check_serv_preimpresion_error()
+ yeniden(data[window.csrf_token]);
+ return true;
+ },
+ error: function(e){
+ return false;
+ }
+ })
+ return false;
+}
+
+
+function servicioPrototipo(){
+ if($('#prototipo').prop('checked')){
+ $('#add_servicio_preimpresion_list').val(serviciosAutomaticos.prototipo)
+ $('#insertar_serv_preimpresion').click()
+ }
+ else{
+ var row_indexes = tableServiciosPreimpresion.rows().eq( 0 ).filter( function (rowIdx) {
+ return tableServiciosPreimpresion.cell( rowIdx, 0 ).data() == serviciosAutomaticos.prototipo ? true : false;
+ } );
+ if(row_indexes.length > 0){
+ tableServiciosPreimpresion.row(row_indexes[0]).remove().draw()
+ check_serv_preimpresion_error()
+ }
+ }
+}
+
+function servicioFerro(){
+ var row_indexes = tableServiciosPreimpresion.rows().eq( 0 ).filter( function (rowIdx) {
+ return tableServiciosPreimpresion.cell( rowIdx, 0 ).data() == serviciosAutomaticos.ferro ? true : false;
+ } );
+ if($('#ferro').prop('checked')){
+ if(row_indexes.length == 0){
+ $('#add_servicio_preimpresion_list').val(serviciosAutomaticos.ferro)
+ $('#insertar_serv_preimpresion').click()
+ }
+ }
+ else{
+ if(row_indexes.length > 0){
+ tableServiciosPreimpresion.row(row_indexes[0]).remove().draw()
+ check_serv_preimpresion_error()
+ }
+ }
+}
+
+$('#insertar_serv_preimpresion').on('click', function(){
+ const tarifa_text = $('#add_servicio_preimpresion_list').select2('data')[0].text.trim()
+
+ if( $('#add_servicio_preimpresion_list').select2('data')[0].text.trim().length > 0){
+ if($('#tableOfServiciosPreimpresion tr > td:contains(' + tarifa_text + ')').length == 0)
+ get_tarifas_preimpresion($('#add_servicio_preimpresion_list').select2('data')[0].id);
+ else{
+ popErrorAlert(window.Presupuestos.errores.error_servicios_duplicados, 'serv-preimpresion-alert')
+ }
+ }
+ check_serv_preimpresion_error()
+})
+
+
function get_datos_preimpresion(){
var datosPreimpresion = []
@@ -238,29 +1337,188 @@ function get_datos_preimpresion(){
return datosPreimpresion
}
+
async function get_servPreimpresion_tiradasAlternativas(){
- serviciosPreimpresion ={
+
+ const url = window.location.href;
+ const url_parts = url.split('/');
+ if(url_parts[url_parts.length-2] == 'edit'){
+ const id = url_parts[url_parts.length-1];
+ }
+ else{
+ const id = -1;
+ }
+
+ var serviciosPreimpresion ={
coste: 0.0,
margen: 0.0,
}
- json_data = {
+ var json_data = {
datos: get_datos_preimpresion(),
POD: $('#POD').val()
}
- json_data = Object.assign(json_data, window.token_ajax);
+ if(json_data.datos.length>0){
- const response = await fetch(window.location.origin + "/presupuestos/presupuestopreimpresiones/update/" + id , {
+ json_data = Object.assign(json_data, window.token_ajax);
+
+ await fetch(window.location.origin + "/presupuestos/presupuestopreimpresiones/update/" + id , {
+ method: "POST",
+ body: JSON.stringify(json_data),
+ headers: {
+ "Content-type": "application/json; charset=UTF-8"
+ }
+ })
+ .then(response => response.json())
+ .then(data => {
+ //const values = await response.json();
+ yeniden(data[window.csrf_token]);
+ data.lines.forEach((line) => {
+ serviciosPreimpresion.coste += parseFloat(line[0].precio);
+ serviciosPreimpresion.margen += parseFloat(line[0].precio)*parseFloat(line[0].margen)/100.0;
+ });
+
+ });
+ }
+ return serviciosPreimpresion;
+}
+
+
+async function actualizar_servicios(update_preimpresion=false){
+
+ const domain = window.location.origin
+ const url = window.location.href;
+ const url_parts = url.split('/');
+ if(url_parts[url_parts.length-2] == 'edit'){
+ const id = url_parts[url_parts.length-1];
+ }
+ else{
+ const id = -1;
+ }
+
+ const dimension = getDimensionLibro();
+
+ if(parseInt($('#tirada').val())>0){
+ var tirada = parseInt($('#tirada').val())
+ }
+ else{
+ var tirada = 0
+ }
+ var paginas = parseInt($('#paginas').val())>0?parseInt($('#paginas').val()):0
+
+ var datos_json_acabados = {
+ datos: get_datos_acabado(),
+ tirada: tirada,
+ POD: parseInt($('#POD').val()),
+ }
+ datos_json_acabados = Object.assign(datos_json_acabados, window.token_ajax);
+
+ var datos_json_encuadernacion = {
+ datos: get_datos_encuadernacion(),
+ tirada: tirada,
+ paginas: paginas,
+ ancho: dimension.ancho,
+ alto: dimension.alto,
+ POD: parseInt($('#POD').val()),
+ }
+ datos_json_encuadernacion = Object.assign(datos_json_encuadernacion, window.token_ajax);
+
+ var datos_json_manipulado = {
+ datos: get_datos_manipulado(),
+ tirada: tirada,
+ POD: parseInt($('#POD').val()),
+ }
+ datos_json_manipulado = Object.assign(datos_json_manipulado, window.token_ajax);
+
+ var datos_json_preimpresion = {
+ datos: get_datos_preimpresion(),
+ }
+ datos_json_preimpresion = Object.assign(datos_json_preimpresion, window.token_ajax);
+
+
+ fetch(domain + "/presupuestos/presupuestoacabados/update/" + id , {
method: "POST",
- body: JSON.stringify(json_data),
+ body: JSON.stringify(datos_json_acabados),
headers: {
"Content-type": "application/json; charset=UTF-8"
}
})
- const values = await response.json();
- yeniden(values[window.csrf_token]);
- values.lines.forEach((line) => {
- serviciosPreimpresion.coste += parseFloat(line[0].precio);
- serviciosPreimpresion.margen += parseFloat(line[0].precio)*parseFloat(line[0].margen)/100.0;
- });
- return serviciosPreimpresion;
+ .then(response => response.json())
+ .then(data => {
+ data.lines.forEach((line) => {
+ $('#precio_unidad_acabado_' + line[0].tarifa_id).text(parseFloat(line[0].precio_unidad).toFixed(2))
+ $('#precio_total_acabado_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2))
+ $('#acabado_margen_' + line[0].tarifa_id).text(parseFloat(line[0].margen).toFixed(2))
+ });
+ check_serv_acabado_error()
+ yeniden(data[window.csrf_token]);
+ }).then(
+
+ fetch(domain + "/presupuestos/presupuestoencuadernaciones/update/" + id , {
+ method: "POST",
+ body: JSON.stringify(datos_json_encuadernacion),
+ headers: {
+ "Content-type": "application/json; charset=UTF-8"
+ }
+ })
+ .then(response => response.json())
+ .then(data => {
+ data.lines.forEach((line) => {
+
+ $('#proveedor_enc_' + line[0].tarifa_id).off('change')
+ if(line[0].hasOwnProperty('proveedor_id')){
+ $('#proveedor_enc_' + line[0].tarifa_id)
+ .append('' + line[0].proveedor + ' ')
+ }
+ else{
+ $('#proveedor_enc_' + line[0].tarifa_id).empty()
+ .append('' + window.Presupuestos.no_disponible + ' ')
+ }
+ $('#precio_unidad_encuadernado_' + line[0].tarifa_id).text(parseFloat(line[0].precio_unidad).toFixed(2))
+ $('#precio_total_encuadernado_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2))
+ $('#enc_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2))
+ $('#proveedor_enc_' + line[0].tarifa_id).on('change', proveedor_enc_event)
+ });
+ check_serv_enc_error()
+ yeniden(data[window.csrf_token]);
+ }).then(
+ fetch(domain + "/presupuestos/presupuestomanipulados/update/" + id , {
+ method: "POST",
+ body: JSON.stringify(datos_json_manipulado),
+ headers: {
+ "Content-type": "application/json; charset=UTF-8"
+ }
+ })
+ .then(response => response.json())
+ .then(data => {
+ data.lines.forEach((line) => {
+ $('#precio_unidad_manipulado_' + line[0].tarifa_id).text(parseFloat(line[0].precio_unidad).toFixed(2))
+ $('#precio_total_manipulado_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2))
+ $('#manipulado_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2))
+ });
+ check_serv_manipulado_error()
+ yeniden(data[window.csrf_token]);
+ }).then(function(){
+ if(update_preimpresion){
+ fetch(domain + "/presupuestos/presupuestopreimpresiones/update/" + id , {
+ method: "POST",
+ body: JSON.stringify(datos_json_preimpresion),
+ headers: {
+ "Content-type": "application/json; charset=UTF-8"
+ }
+ })
+ .then(response => response.json())
+ .then(data => {
+
+ data.lines.forEach((line) => {
+ $('#precio_preimpresion_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2))
+ $('#preimpresion_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2))
+ });
+ check_serv_preimpresion_error()
+ yeniden(data[window.csrf_token]);
+ })
+ }
+ })
+ )
+ )
+
}
\ No newline at end of file
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php
index dbc84863..22c58bdf 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php
@@ -230,1084 +230,33 @@
-= $this->section("additionalInlineJs") ?>
-
- const url = window.location.href;
- const url_parts = url.split('/');
- if(url_parts[url_parts.length-2] == 'edit'){
- id = url_parts[url_parts.length-1];
- }
- else{
- id=-1
- }
-
- $('.nav-servicios button').on('shown.bs.tab', function(){
- $("#tableOfServiciosEncuadernacion").DataTable().columns.adjust();
- $("#tableOfServiciosPreimpresion").DataTable().columns.adjust();
- $("#tableOfServiciosManipulado").DataTable().columns.adjust();
- $("#tableOfServiciosAcabado").DataTable().columns.adjust();
- })
-
-
- $('#serv_default').on('click', function(){
- get_tarifas_enc('default').then(
- get_tarifas_manipulado('default')
- )
- })
-
- // Delete row
- $(document).on('click', '.btn-delete-serv', function(e) {
- const dataId = $(this).attr('data-id');
- const rowId = $(this).closest('td').parent()[0].sectionRowIndex;
- var dataText = null;
-
- var table = "";
- if($(this).closest('table').attr('id').includes('tableOfServiciosEncuadernacion')){
- table = "tableOfServiciosEncuadernacion";
- }
- else if($(this).closest('table').attr('id').includes('tableOfServiciosAcabado')){
- table = "tableOfServiciosAcabado";
- dataText = $(this).attr('data-text');
- }
- else if($(this).closest('table').attr('id').includes('tableOfServiciosManipulado')){
- table = "tableOfServiciosManipulado";
- }
- else if($(this).closest('table').attr('id').includes('tableOfServiciosPreimpresion')){
- table = "tableOfServiciosPreimpresion";
- }
- else{
- table = "";
- }
-
- if(table != ""){
- if(dataText==null){
- $('#' + table).DataTable().rows( function ( idx, data, node ) {
- return data[0] === dataId;
- } )
- .remove()
- .draw();
- }
- $('#' + table).DataTable().rows( function ( idx, data, node ) {
- return ((data[0] === dataId) && (data[1]=== dataText));
- } )
- .remove()
- .draw();
- }
-
- check_serv_enc_error()
- check_serv_acabado_error()
- check_serv_preimpresion_error()
- check_serv_manipulado_error()
-
- });
-
- function save_servicios(){
-
- var datosAcabado = get_datos_acabado()
- var datosEnc = get_datos_encuadernacion()
- var datosManipulado = get_datos_manipulado()
- var datosPreimpresion = get_datos_preimpresion()
-
- const domain = window.location.origin
-
- fetch(domain + "/presupuestos/presupuestoencuadernaciones/edit/" + id , {
- method: "POST",
- body: JSON.stringify({
- datos: datosEnc,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- }),
- headers: {
- "Content-type": "application/json; charset=UTF-8"
- }
- })
- .then(response => response.json())
- .then(data => {
- yeniden(data.= csrf_token() ?>);
- })
- .then(
- fetch(domain + "/presupuestos/presupuestomanipulados/edit/" + id , {
- method: "POST",
- body: JSON.stringify({
- datos: datosManipulado,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- }),
- headers: {
- "Content-type": "application/json; charset=UTF-8"
- }
- })
- .then(response => response.json())
- .then(data => {
- yeniden(data.= csrf_token() ?>);
- })
- )
- .then(
- fetch(domain + "/presupuestos/presupuestoacabados/edit/" + id , {
- method: "POST",
- body: JSON.stringify({
- datos: datosAcabado,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- }),
- headers: {
- "Content-type": "application/json; charset=UTF-8"
- }
- })
- .then(response => response.json())
- .then(data => {
- yeniden(data.= csrf_token() ?>);
- })
- )
- .then(
- fetch(domain + "/presupuestos/presupuestopreimpresiones/edit/" + id , {
- method: "POST",
- body: JSON.stringify({
- datos: datosPreimpresion,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- }),
- headers: {
- "Content-type": "application/json; charset=UTF-8"
- }
- })
- .then(response => response.json())
- .then(data => {
- yeniden(data.= csrf_token() ?>);
- })
- )
- }
-
- function update_servicios(update_preimpresion=false){
- const domain = window.location.origin
- const dimension = getDimensionLibro();
-
- if(parseInt($('#tirada').val())>0){
- var tirada = parseInt($('#tirada').val())
- }
- else{
- var tirada = 0
- }
- var paginas = parseInt($('#paginas').val())>0?parseInt($('#paginas').val()):0
-
- var datosAcabado = get_datos_acabado()
- var datosEnc = get_datos_encuadernacion()
- var datosManipulado = get_datos_manipulado()
- if(update_preimpresion)
- var datosPreimpresion = get_datos_preimpresion()
-
- fetch(domain + "/presupuestos/presupuestoacabados/update/" + id , {
- method: "POST",
- body: JSON.stringify({
- datos: datosAcabado,
- tirada: tirada,
- POD: ,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- }),
- headers: {
- "Content-type": "application/json; charset=UTF-8"
- }
- })
- .then(response => response.json())
- .then(data => {
- data.lines.forEach((line) => {
- $('#precio_unidad_acabado_' + line[0].tarifa_id).text(parseFloat(line[0].precio_unidad).toFixed(2))
- $('#precio_total_acabado_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2))
- $('#acabado_margen_' + line[0].tarifa_id).text(parseFloat(line[0].margen).toFixed(2))
- });
- check_serv_acabado_error()
- yeniden(data.= csrf_token() ?>);
- }).then(
- fetch(domain + "/presupuestos/presupuestoencuadernaciones/update/" + id , {
- method: "POST",
- body: JSON.stringify({
- datos: datosEnc,
- tirada: tirada,
- paginas: paginas,
- ancho: dimension.ancho,
- alto: dimension.alto,
- POD: ,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- }),
- headers: {
- "Content-type": "application/json; charset=UTF-8"
- }
- })
- .then(response => response.json())
- .then(data => {
- data.lines.forEach((line) => {
-
- $('#proveedor_enc_' + line[0].tarifa_id).off('change')
- if(line[0].hasOwnProperty('proveedor_id')){
- $('#proveedor_enc_' + line[0].tarifa_id)
- .append('' + line[0].proveedor + ' ')
- }
- else{
- $('#proveedor_enc_' + line[0].tarifa_id).empty()
- .append('' + '= lang("Presupuestos.no_disponible") ?>' + ' ')
- }
- $('#precio_unidad_encuadernado_' + line[0].tarifa_id).text(parseFloat(line[0].precio_unidad).toFixed(2))
- $('#precio_total_encuadernado_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2))
- $('#enc_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2))
- $('#proveedor_enc_' + line[0].tarifa_id).on('change', proveedor_enc_event)
- });
- check_serv_enc_error()
- yeniden(data.= csrf_token() ?>);
- }).then(
- fetch(domain + "/presupuestos/presupuestomanipulados/update/" + id , {
- method: "POST",
- body: JSON.stringify({
- datos: datosManipulado,
- tirada: tirada,
- POD: ,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- }),
- headers: {
- "Content-type": "application/json; charset=UTF-8"
- }
- })
- .then(response => response.json())
- .then(data => {
- data.lines.forEach((line) => {
- $('#precio_unidad_manipulado_' + line[0].tarifa_id).text(parseFloat(line[0].precio_unidad).toFixed(2))
- $('#precio_total_manipulado_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2))
- $('#manipulado_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2))
- });
- check_serv_manipulado_error()
- yeniden(data.= csrf_token() ?>);
- }).then(function(){
- if(update_preimpresion){
- fetch(domain + "/presupuestos/presupuestopreimpresiones/update/" + id , {
- method: "POST",
- body: JSON.stringify({
- datos: datosPreimpresion,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- }),
- headers: {
- "Content-type": "application/json; charset=UTF-8"
- }
- })
- .then(response => response.json())
- .then(data => {
-
- data.lines.forEach((line) => {
- $('#precio_preimpresion_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2))
- $('#preimpresion_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2))
- });
- check_serv_preimpresion_error()
- yeniden(data.= csrf_token() ?>);
- })
- }
- })
- )
- )
-
- }
-
-= $this->endSection() ?>
-
-
-
-
= $this->section("additionalInlineJs") ?>
// Generación de la lista de servicios de acabado (id, nombre)
- const acabadosList = ;
+ window.acabadosList = ;
+ window.serviciosacabadosList = ;
+ window.serviciosAutomaticos = ;
- var tableServiciosAcabado = new DataTable('#tableOfServiciosAcabado',{
- scrollX: true,
- searching: false,
- paging: false,
- info: false,
- ordering: false,
- responsive: true,
- select: false,
- language: {
- url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
- },
- "drawCallback": function(settings ) {
- updateTotales(false, true, false)
- }
-
- });
-
- function init_servicio_acabado(){
- const serviciosacabadosList = ;
-
- $('#add_servicio_acabado_list').select2({
- allowClear: false,
- minimumResultsForSearch: -1,
- placeholder: '= lang("Presupuestos.servicioAcabadoList") ?>'
- })
-
- serviciosacabadosList.forEach((element) =>{
-
- nombre_completo = element.nombre
- if (element.cubierta == 1){
- nombre_completo += ' (= lang("Presupuestos.cubierta") ?>)'
- }
- else if (element.sobrecubierta == 1){
- nombre_completo += ' (= lang("Presupuestos.sobrecubierta") ?>)'
- }
- tableServiciosAcabado.row.add([
- element.tarifa_acabado_id,
- nombre_completo,
- '' + parseFloat(element.precio_unidad).toFixed(2) + ' ',
- ' ',
- '' + parseFloat(element.margen).toFixed(2) + ' ',
- ' '
- ]).draw(false)
-
- })
- check_serv_acabado_error()
- }
-
- function check_serv_acabado_error(){
-
- var htmlString = '';
-
- $('#tableOfServiciosAcabado tr').each(function(){
- if($(this).find('td').eq(2).text() == '0.00'){
- htmlString = `
-
-
-
-
-
-
= lang("Presupuestos.errores.error_servicios_anadidos") ?>
-
-
`;
- }
- })
- $('#serv-acabado-error').html(htmlString)
- }
-
- function get_tarifas_acabado(tarifa_id = -1, uso=null){
-
- if(parseInt($('#tirada').val())>0){
- var tirada = parseInt($('#tirada').val())
- }
- else{
- var tirada = 0
- }
-
- var datos = {
- tarifa_acabado_id : tarifa_id,
- tirada: tirada,
- POD: ,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- };
-
-
- $.ajax({
- type: "POST",
- url: '=route_to('dataTableOfPresupuestoAcabados') ?>',
- data: datos,
- success: function (data) {
-
- data.values.forEach((row) => {
-
- nombre = row.tarifa_nombre
- if(uso!= null)
- nombre += ' (' + uso + ')'
-
- tableServiciosAcabado.row.add([
- row.tarifa_id,
- nombre,
- '' + parseFloat(row.precio_unidad).toFixed(2) + ' ',
- ' ',
- '' + parseFloat(row.margen).toFixed(2) + ' ',
- ' '
- ]).draw(false)
- });
-
- check_serv_acabado_error()
- yeniden(data.= csrf_token() ?>);
- return true;
- },
- error: function(e){
- return false;
- }
- })
- return false;
- }
-
- function servicioRetractilado(){
- if($('#retractilado').prop('checked')){
- $('#add_servicio_acabado_list').val()
- $('#insertar_serv_acabado').click()
- }
- else{
- var row_indexes = tableServiciosAcabado.rows().eq( 0 ).filter( function (rowIdx) {
- return tableServiciosAcabado.cell( rowIdx, 0 ).data() == ? true : false;
- } );
- if(row_indexes.length > 0){
- tableServiciosAcabado.row(row_indexes[0]).remove().draw()
- check_serv_acabado_error()
- }
- }
- }
-
- function servicioRetractilado5(){
- if($('#retractilado5').prop('checked')){
- $('#add_servicio_acabado_list').val()
- $('#insertar_serv_acabado').click()
- }
- else{
- var row_indexes = tableServiciosAcabado.rows().eq( 0 ).filter( function (rowIdx) {
- return tableServiciosAcabado.cell( rowIdx, 0 ).data() == ? true : false;
- } );
- if(row_indexes.length > 0){
- tableServiciosAcabado.row(row_indexes[0]).remove().draw()
- check_serv_acabado_error()
- }
- }
- }
-
- function servicioFajaColor(){
- if($('#fajaColor').prop('checked')){
- $('#add_servicio_acabado_list').val()
- $('#insertar_serv_acabado').click()
- }
- else{
- var row_indexes = tableServiciosAcabado.rows().eq( 0 ).filter( function (rowIdx) {
- return tableServiciosAcabado.cell( rowIdx, 0 ).data() == ? true : false;
- } );
- if(row_indexes.length > 0){
- tableServiciosAcabado.row(row_indexes[0]).remove().draw()
- check_serv_acabado_error()
- }
- }
- }
-
- $('#insertar_serv_acabado').on('click', function(){
- const tarifa_text = $('#add_servicio_acabado_list').select2('data')[0].text.trim();
+ window.serviciosencuadernadosList = ;
- if(tarifa_text.length > 0){
- var table = $("#tableOfServiciosAcabado").DataTable();
- var rows = table.rows().data().toArray();
- var found = rows.some(row => row[1] === tarifa_text);
-
- if(!found)
- get_tarifas_acabado($('#add_servicio_acabado_list').select2('data')[0].id);
- else
- popErrorAlert("= lang("Presupuestos.errores.error_servicios_duplicados") ?>", 'serv-acabado-alert');
- }
- check_serv_acabado_error();
- })
+ window.serviciosmanipuladoList = ;
+ window.serviciospreimpresionList = ;
- function insertar_acabado_exterior($servicio_id, $uso=""){
-
- const tarifa_text = '(' +$uso + ')'
-
- var tablaAcabados = $("#tableOfServiciosAcabado").DataTable()
- tablaAcabados.rows().every(function () {
- var data = this.data();
- if(data[1].includes(tarifa_text)){
- this.remove().draw(false);
- }
- })
-
- get_tarifas_acabado($servicio_id, $uso);
- tablaAcabados.draw();
- check_serv_acabado_error()
+ window.routes_servicios = {
+ dataTableOfPresupuestoAcabados: "=route_to('dataTableOfPresupuestoAcabados') ?>",
+ dataTableOfPresupuestoPreimpresion: "=route_to('dataTableOfPresupuestoPreimpresion') ?>",
+ dataTableOfPresupuestoEncuadernaciones: "=route_to('dataTableOfPresupuestoEncuadernaciones') ?>",
+ dataTableOfPresupuestoManipulados: "=route_to('dataTableOfPresupuestoManipulados') ?>",
+ menuItemsOfPresupuestoEncuadernaciones: '= route_to("menuItemsOfPresupuestoEncuadernaciones") ?>',
}
-
-
init_servicio_acabado()
-= $this->endSection() ?>
-
-
-
-
-= $this->section("additionalInlineJs") ?>
-
- var tableServiciosEnc = new DataTable('#tableOfServiciosEncuadernacion',{
- scrollX: true,
- searching: false,
- paging: false,
- info: false,
- ordering: false,
- responsive: true,
- select: false,
- language: {
- url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
- },
- "drawCallback": function(settings ) {
- updateTotales(false, true, false)
- }
-
- });
-
-
- function init_servicio_encuadernado(){
- const serviciosencuadernadosList = ;
-
- $('#add_servicio_enc_list').select2({
- allowClear: false,
- minimumResultsForSearch: -1,
- placeholder: '= lang("Presupuestos.servicioEncuadernadoList") ?>'
- })
-
- serviciosencuadernadosList.forEach((element) =>{
-
- const tarifa_id = element.tarifa_encuadernado_id
- var proveedor_nombre = element.proveedor===null?'= lang("Presupuestos.no_disponible") ?>': element.proveedor
-
- tableServiciosEnc.row.add([
- element.tarifa_encuadernado_id,
- element.nombre,
- '' +
- '' +
- proveedor_nombre +
- ' ' +
- ' ',
- '' + parseFloat(element.precio_unidad).toFixed(2) + ' ',
- ' ',
- '' + parseFloat(element.margen).toFixed(2) + ' ',
- ' '
- ]).draw(false)
-
- $('#proveedor_enc_' + element.tarifa_encuadernado_id).select2({
- allowClear: false,
- minimumResultsForSearch: -1,
- ajax: {
- url: '= route_to("menuItemsOfPresupuestoEncuadernaciones") ?>',
- type: 'post',
- dataType: 'json',
-
- data: function (params) {
-
- if(parseInt($('#tirada').val())>0){
- var tirada = parseInt($('#tirada').val())
- }
- else{
- var tirada = 0
- }
- return {
- tarifa_id: tarifa_id,
- paginas: parseInt($('#paginas').val())>0?parseInt($('#paginas').val()):0,
- tirada: tirada,
- ancho: ancho_libro,
- alto: alto_libro,
- searchtxt: params.term, // search term
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- };
- },
- delay: 60,
- processResults: function (response) {
- yeniden(response.= csrf_token() ?>);
- return {
- results: response.menu
- };
- },
- cache: true
- }
- });
- $('#proveedor_enc_' + element.tarifa_encuadernado_id).on('change', proveedor_enc_event)
- });
-
- check_serv_enc_error()
-
- }
-
- function proveedor_enc_event(){
- const dimension = getDimensionLibro();
- if(parseInt($('#tirada').val())>0){
- var tirada = parseInt($('#tirada').val())
- }
- else{
- var tirada = 0
- }
-
- var datos = {
- tarifa_encuadernacion_id: this.id.split('_')[2],
- paginas: parseInt($('#paginas').val())>0?parseInt($('#paginas').val()):0,
- tirada: tirada,
- ancho: dimension.ancho,
- alto: dimension.alto,
- proveedor_id: parseInt($('#' + this.id).select2('data')[0].id),
- POD: ,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- };
-
- $.ajax({
- type: "POST",
- url: '=route_to('dataTableOfPresupuestoEncuadernaciones') ?>',
- data: datos,
- success: function (data) {
-
- $('#precio_unidad_encuadernado_' + datos.tarifa_encuadernacion_id).text(parseFloat(data.values[0].precio_unidad).toFixed(2))
- $('#precio_total_encuadernado_' + datos.tarifa_encuadernacion_id).val(parseFloat(data.values[0].total).toFixed(2))
- $('#enc_margen_' + datos.tarifa_encuadernacion_id).val(parseFloat(data.values[0].margen).toFixed(2))
- yeniden(data.= csrf_token() ?>);
- return true;
- },
- error: function(e){
- return false;
- }
- })
- return false;
- }
-
-
- function check_serv_enc_error(){
-
- var htmlString = '';
-
- $('#tableOfServiciosEncuadernacion tr').each(function(){
- if($(this).find('td').eq(3).text() == '0.00'){
- htmlString = `
-
-
-
-
-
-
= lang("Presupuestos.errores.error_servicios_anadidos") ?>
-
-
`;
- }
- })
- $('#serv-enc-error').html(htmlString)
- }
-
-
- async function get_tarifas_enc(tipo=null, tarifa_id = -1){
- const dimension = getDimensionLibro();
-
- if(parseInt($('#tirada').val())>0){
- var tirada = parseInt($('#tirada').val())
- }
- else{
- var tirada = 0
- }
-
- var datos = {
- tarifa_encuadernacion_id : tarifa_id,
- solapas: $('#solapas').is(':checked')?1:0,
- paginas: parseInt($('#paginas').val())>0?parseInt($('#paginas').val()):0,
- tirada: tirada,
- ancho: dimension.ancho,
- alto: dimension.alto,
- POD: ,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- };
-
- if(tipo != null){
- datos['tipo'] = tipo;
- datos['tipo_impresion_id'] = ;
- }
-
- $.ajax({
- type: "POST",
- url: '=route_to('dataTableOfPresupuestoEncuadernaciones') ?>',
- data: datos,
- success: function (data) {
-
- if(tipo=='default')
- tableServiciosEnc.clear().draw()
-
- data.values.forEach((row) => {
-
- tableServiciosEnc.row.add([
- row.tarifa_id,
- row.tarifa_nombre,
- '' +
- '' +
- row.proveedor +
- ' ' +
- ' ',
- '' + parseFloat(row.precio_unidad).toFixed(2) + ' ',
- ' ',
- '' + parseFloat(row.margen).toFixed(2) + ' ',
- ' '
- ]).draw(false)
-
- $('#proveedor_enc_' + row.tarifa_id).select2({
- allowClear: false,
- minimumResultsForSearch: -1,
- ajax: {
- url: '= route_to("menuItemsOfPresupuestoEncuadernaciones") ?>',
- type: 'post',
- dataType: 'json',
-
- data: function (params) {
-
- if( parseInt( $('#tirada').val() )>0){
- var tirada = parseInt($('#tirada').val())
- }
- else{
- var tirada = 0
- }
- return {
- tarifa_id: row.tarifa_id,
- paginas: parseInt($('#paginas').val())>0?parseInt($('#paginas').val()):0,
- tirada: tirada,
- ancho: ancho_libro,
- alto: alto_libro,
- searchtxt: params.term, // search term
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- };
- },
- delay: 60,
- processResults: function (response) {
- yeniden(response.= csrf_token() ?>);
- return {
- results: response.menu
- };
- },
- cache: true
- }
- });
-
- $('#proveedor_enc_' + row.tarifa_id).on('change', proveedor_enc_event)
-
-
- });
-
- check_serv_enc_error()
- yeniden(data.= csrf_token() ?>);
- return true;
- },
- error: function(e){
- return false;
- }
- })
- return false;
- }
-
-
- $('#insertar_serv_enc').on('click', function(){
- const tarifa_text = $('#add_servicio_enc_list').select2('data')[0].text.trim()
-
- if( $('#add_servicio_enc_list').select2('data')[0].text.trim().length > 0){
- if($('#tableOfServiciosEncuadernacion tr > td:contains(' + tarifa_text + ')').length == 0)
- get_tarifas_enc('tarifa', $('#add_servicio_enc_list').select2('data')[0].id);
- else{
- popErrorAlert("= lang("Presupuestos.errores.error_servicios_duplicados") ?>", 'serv-enc-alert')
- }
- }
- check_serv_enc_error()
- })
-
init_servicio_encuadernado()
-= $this->endSection() ?>
-
-
-
-
-= $this->section("additionalInlineJs") ?>
-
- var tableServiciosManipulado = new DataTable('#tableOfServiciosManipulado',{
- scrollX: true,
- searching: false,
- paging: false,
- info: false,
- ordering: false,
- responsive: true,
- select: false,
- language: {
- url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
- },
- "drawCallback": function(settings ) {
- updateTotales(false, true, false)
- }
-
- });
-
- function init_servicio_manipulado(){
- const serviciosmanipuladoList = ;
-
- $('#add_servicio_manipulado_list').select2({
- allowClear: false,
- minimumResultsForSearch: -1,
- placeholder: '= lang("Presupuestos.servicioManipuladoList") ?>'
- })
-
- serviciosmanipuladoList.forEach((element) =>{
-
- tableServiciosManipulado.row.add([
- element.tarifa_manipulado_id,
- element.nombre,
- '' + parseFloat(element.precio_unidad).toFixed(2) + ' ',
- ' ',
- '' + parseFloat(element.margen).toFixed(2) + ' ',
- ' '
- ]).draw(false)
-
- })
- check_serv_manipulado_error()
- }
-
- function check_serv_manipulado_error(){
-
- var htmlString = '';
-
- $('#tableOfServiciosManipulado tr').each(function(){
- if($(this).find('td').eq(2).text() == '0.00'){
- htmlString = `
-
-
-
-
-
-
= lang("Presupuestos.errores.error_servicios_anadidos") ?>
-
-
`;
- }
- })
- $('#serv-manipulado-error').html(htmlString)
- }
-
- async function get_tarifas_manipulado(tipo=null, tarifa_id = -1){
-
- if(parseInt($('#tirada').val())>0){
- var tirada = parseInt($('#tirada').val())
- }
- else{
- var tirada = 0
- }
-
- var datos = {
- tarifa_manipulado_id : tarifa_id,
- tirada: tirada,
- POD: ,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- };
-
- if(tipo != null){
- datos['tipo'] = tipo;
- datos['solapas'] = $('#solapas').is(':checked')?1:0;
- datos['tipo_impresion_id'] = ;
- }
-
-
-
- $.ajax({
- type: "POST",
- url: '=route_to('dataTableOfPresupuestoManipulados') ?>',
- data: datos,
- success: function (data) {
-
- if(tipo=='default')
- tableServiciosManipulado.clear().draw()
-
- data.values.forEach((row) => {
-
- tableServiciosManipulado.row.add([
- row.tarifa_id,
- row.tarifa_nombre,
- '' + parseFloat(row.precio_unidad).toFixed(2) + ' ',
- ' ',
- '' + parseFloat(row.margen).toFixed(2) + ' ',
- ' '
- ]).draw(false)
- });
-
- check_serv_manipulado_error()
- yeniden(data.= csrf_token() ?>);
- return true;
- },
- error: function(e){
- return false;
- }
- })
- return false;
- }
-
- $('#insertar_serv_manipulado').on('click', function(){
- const tarifa_text = $('#add_servicio_manipulado_list').select2('data')[0].text.trim()
-
- if( $('#add_servicio_manipulado_list').select2('data')[0].text.trim().length > 0){
- if($('#tableOfServiciosManipulado tr > td:contains(' + tarifa_text + ')').length == 0){
- get_tarifas_manipulado(null, $('#add_servicio_manipulado_list').select2('data')[0].id);
- }
- else{
- popErrorAlert("= lang("Presupuestos.errores.error_servicios_duplicados") ?>", 'serv-manipulado-alert')
- }
- }
- check_serv_manipulado_error()
- })
-
-
- function servicioGuardas(add_service = false){
- if(add_service){
- $('#add_servicio_manipulado_list').val()
- $('#insertar_serv_manipulado').click()
- }
- else{
- var row_indexes = tableServiciosManipulado.rows().eq( 0 ).filter( function (rowIdx) {
- return tableServiciosManipulado.cell( rowIdx, 0 ).data() == ? true : false;
- } );
- if(row_indexes.length > 0){
- tableServiciosManipulado.row(row_indexes[0]).remove().draw()
- check_serv_manipulado_error()
- }
- }
- }
-
init_servicio_manipulado()
-= $this->endSection() ?>
-
-
-
-
-
-= $this->section("additionalInlineJs") ?>
-
- var tableServiciosPreimpresion = new DataTable('#tableOfServiciosPreimpresion',{
- scrollX: true,
- searching: false,
- paging: false,
- info: false,
- ordering: false,
- responsive: true,
- select: false,
- language: {
- url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
- },
- "drawCallback": function(settings ) {
- updateTotales(false, true, false)
- }
-
- });
-
-
- function init_servicio_preimpresion(){
- const serviciospreimpresionList = ;
-
- $('#add_servicio_preimpresion_list').select2({
- allowClear: false,
- minimumResultsForSearch: -1,
- placeholder: '= lang("Presupuestos.servicioPreimpresionList") ?>'
- })
-
- serviciospreimpresionList.forEach((element) =>{
-
- tableServiciosPreimpresion.row.add([
- element.tarifa_preimpresion_id,
- element.nombre,
- ' ',
- '' + parseFloat(element.margen).toFixed(2) + ' ',
- ' '
- ]).draw(false)
-
- })
- check_serv_preimpresion_error()
- }
-
- function check_serv_preimpresion_error(){
-
- var htmlString = '';
-
- $('#tableOfServiciosPreimpresion tr').each(function(){
-
- if(parseFloat($(this).find('td:eq(2) input').val()) == '0'){
- htmlString = `
-
-
-
-
-
-
= lang("Presupuestos.errores.error_servicios_anadidos") ?>
-
-
`;
- }
- })
- $('#serv-preimpresion-error').html(htmlString)
- }
-
- function get_tarifas_preimpresion(tarifa_id = -1){
-
- var datos = {
- tarifa_preimpresion_id : tarifa_id,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- };
-
-
- $.ajax({
- type: "POST",
- url: '=route_to('dataTableOfPresupuestoPreimpresiones') ?>',
- data: datos,
- success: function (data) {
-
- data.values.forEach((row) => {
-
- tableServiciosPreimpresion.row.add([
- row.tarifa_id,
- row.tarifa_nombre,
- ' ',
- '' + parseFloat(row.margen).toFixed(2) + ' ',
- ' '
- ]).draw(false)
- });
-
- check_serv_preimpresion_error()
- yeniden(data.= csrf_token() ?>);
- return true;
- },
- error: function(e){
- return false;
- }
- })
- return false;
- }
-
-
- function servicioPrototipo(){
- if($('#prototipo').prop('checked')){
- $('#add_servicio_preimpresion_list').val()
- $('#insertar_serv_preimpresion').click()
- }
- else{
- var row_indexes = tableServiciosPreimpresion.rows().eq( 0 ).filter( function (rowIdx) {
- return tableServiciosPreimpresion.cell( rowIdx, 0 ).data() == ? true : false;
- } );
- if(row_indexes.length > 0){
- tableServiciosPreimpresion.row(row_indexes[0]).remove().draw()
- check_serv_preimpresion_error()
- }
- }
- }
-
- function servicioFerro(){
- var row_indexes = tableServiciosPreimpresion.rows().eq( 0 ).filter( function (rowIdx) {
- return tableServiciosPreimpresion.cell( rowIdx, 0 ).data() == ? true : false;
- } );
- if($('#ferro').prop('checked')){
- if(row_indexes.length == 0){
- $('#add_servicio_preimpresion_list').val()
- $('#insertar_serv_preimpresion').click()
- }
- }
- else{
- if(row_indexes.length > 0){
- tableServiciosPreimpresion.row(row_indexes[0]).remove().draw()
- check_serv_preimpresion_error()
- }
- }
- }
-
- $('#insertar_serv_preimpresion').on('click', function(){
- const tarifa_text = $('#add_servicio_preimpresion_list').select2('data')[0].text.trim()
-
- if( $('#add_servicio_preimpresion_list').select2('data')[0].text.trim().length > 0){
- if($('#tableOfServiciosPreimpresion tr > td:contains(' + tarifa_text + ')').length == 0)
- get_tarifas_preimpresion($('#add_servicio_preimpresion_list').select2('data')[0].id);
- else{
- popErrorAlert("= lang("Presupuestos.errores.error_servicios_duplicados") ?>", 'serv-preimpresion-alert')
- }
- }
- check_serv_preimpresion_error()
- })
-
-
init_servicio_preimpresion()
-
-
- // Definición de varibles para el js (actualizar el lang)
- lang_text_cubierta = '= lang("Presupuestos.cubierta") ?>';
- lang_text_sobrecubierta = '= lang("Presupuestos.sobrecubierta") ?>';
= $this->endSection() ?>
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..1b46bc0f
--- /dev/null
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.js
@@ -0,0 +1,4432 @@
+/***********************
+ * Funcionamiento general de la página
+ ************************/
+function fill_lp_from_bbdd(){
+
+ window.lineasPresupuestoList.forEach(function(lp) {
+
+ const formas = JSON.parse(lp.formas)
+ lp.dimensiones_maquina = [formas.maquina_ancho, formas.maquina_alto]
+ lp.dimensiones_maquina_impresion = [formas.maquina_impresion_ancho, formas.maquina_impresion_alto]
+ lp.num_formas = {
+ value : formas.formas,
+ num_formas_verticales : formas.formas_v,
+ num_formas_horizontales : formas.formas_h,
+ posicion_formas : formas.formas_orientacion
+ }
+ lp['tipo_maquina'] = lp['maquina_tipo']
+ lp['precio_impresion_horas'] = lp['precio_impresion']
+ lp['margen_impresion_horas'] = lp['margen_impresion']
+ lp['precio_libro'] = lp['libro']
+ lp['precio_pedido'] = lp['total_papel_pedido']
+ lp['total_impresion'] = lp['total_linea']
+ lp['precios_pliegos'] = lp['pliegos_precio']
+ lp['papel_generico_id'] = lp['papel_id']
+
+ dateObj = new Date(lp['tiempo_maquina'] * 1000);
+ hours = dateObj.getUTCHours();
+ minutes = dateObj.getUTCMinutes();
+ seconds = dateObj.getSeconds();
+ lp['tiempo_maquina'] = hours.toString().padStart(2, '0') + ':' +
+ minutes.toString().padStart(2, '0') + ':' +
+ seconds.toString().padStart(2, '0');
+
+ if(lp.maquina_tipo=='inkjet'){
+
+ lp.datosTipologias = {
+ negro: lp.rotativa_negro,
+ cyan: lp.rotativa_cyan,
+ magenta: lp.rotativa_magenta,
+ amarillo: lp.rotativa_amarillo,
+ cg: lp.rotativa_cg,
+ gota_negro: lp.rotativa_gota_negro,
+ gota_color: lp.rotativa_gota_color,
+ }
+
+ lp['paginas_color'] = lp['rotativa_pag_color']
+
+ lp['totalImpresion'] = lp['rotativa_total_impresion']
+ lp['a_favor_fibra'] = lp['rotativa_a_favor_fibra']
+
+ lp['resolucion'] = lp['rotativa_resolucion']
+ lp['superficie'] = lp['rotativa_area_paginas']
+
+ lp['num_gotas_negro'] = lp['rotativa_num_gotas_negro']
+ lp['num_gotas_cyan'] = lp['rotativa_num_gotas_cyan']
+ lp['num_gotas_magenta'] = lp['rotativa_num_gotas_magenta']
+ lp['num_gotas_amarillo'] = lp['rotativa_num_gotas_amarillo']
+ lp['num_gotas_cg'] = lp['rotativa_num_gotas_cg']
+
+ lp['precio_pagina_negro'] = lp['rotativa_precio_pag_negro']
+ lp['precio_pagina_color'] = lp['rotativa_precio_pag_color']
+ lp['factor_altura'] = lp['rotativa_factor_altura']
+ lp['factor_anchura'] = lp['rotativa_factor_anchura']
+ lp['paginas_por_pliego'] = lp['rotativa_pag_por_pliego']
+
+ lp['clicks_libro'] = lp['rotativa_clicks_libro']
+ lp['peso_gotas_negro'] = lp['rotativa_peso_gotas_negro']
+ lp['peso_gotas_cyan'] = lp['rotativa_peso_gotas_cyan']
+ lp['peso_gotas_magenta'] = lp['rotativa_peso_gotas_magenta']
+ lp['peso_gotas_amarillo'] = lp['rotativa_peso_gotas_amarillo']
+ lp['peso_gotas_cg'] = lp['rotativa_peso_gotas_cg']
+ lp['clicks_pedido'] = lp['rotativa_clicks_total']
+ lp['precio_click_pedido'] = lp['precio_click_pedido']
+ lp['margen_click_pedido'] = lp['margen_click_pedido']
+ lp['precio_tinta'] = lp['rotativa_precio_tinta']
+
+
+ lp['peso_gotas_negro_pedido'] = lp['rotativa_peso_gotas_negro_pedido']
+ lp['peso_gotas_cyan_pedido'] = lp['rotativa_peso_gotas_cyan_pedido']
+ lp['peso_gotas_magenta_pedido'] = lp['rotativa_peso_gotas_magenta_pedido']
+ lp['peso_gotas_amarillo_pedido'] = lp['rotativa_peso_gotas_amarillo_pedido']
+ lp['peso_gotas_cg_pedido'] = lp['rotativa_peso_gotas_cg_pedido']
+
+ }
+ if(lp.tipo.includes('rot')){
+
+ lp['maquina_velocidad'] = lp['rotativa_mxm']
+ lp['metros_papel_libro'] = lp['rotativa_metros_libro']
+ lp['metros_papel_total'] = lp['rotativa_metros_total']
+ lp['velocidad_corte'] = lp['rotativa_velocidad_corte']
+ lp['precio_hora_corte'] = lp['rotativa_precio_hora_corte']
+ lp['tiempo_corte'] = lp['rotativa_tiempo_corte']
+ lp['total_corte'] = lp['rotativa_total_corte']
+ }
+
+ lp['areaPaginas'] = lp['rotativa_superficie']
+
+
+ data = processRowData(lp, lp.tipo, lp.tipo.replace(/_/g, '-'));
+
+ var row = tableLineasPresupuesto.row("#" + lp.tipo);
+
+ tableLineasPresupuesto.row.add(data).draw()
+ row = tableLineasPresupuesto.row("#" + lp.tipo);
+
+ row.child(format(row.data())).show();
+
+ switch(lp.tipo){
+ case 'lp_bn':
+ eventos_lp_bn(lp.maquina_tipo=='inkjet'?true:false)
+ break
+ case 'lp_bnhq':
+ eventos_lp_bnhq(lp.maquina_tipo=='inkjet'?true:false)
+ break
+ case 'lp_color':
+ eventos_lp_color(lp.maquina_tipo=='inkjet'?true:false)
+ break
+ case 'lp_colorhq':
+ eventos_lp_colorhq(lp.maquina_tipo=='inkjet'?true:false)
+ break
+ case 'lp_rot_bn':
+ eventos_lp_rot_bn()
+ break
+ case 'lp_rot_color':
+ eventos_lp_rot_color()
+ break
+ case 'lp_cubierta':
+ eventos_lp_cubierta()
+ break
+ case 'lp_sobrecubierta':
+ eventos_lp_sobrecubierta()
+ break
+ case 'lp_guardas':
+ eventos_lp_guardas()
+ lp['paginas_impresion'] = lp.paginas_impresion
+ break
+ }
+
+ })
+
+}
+
+
+async function fill_bbdd_from_lp(presupuesto_id){
+
+ data=[];
+
+ tableLineasPresupuesto.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
+ var rowData = this.data();
+ const formas = {
+ maquina_ancho: rowData.maquina_ancho,
+ maquina_alto: rowData.maquina_alto,
+ maquina_impresion_ancho: rowData.maquina_impresion_ancho,
+ maquina_impresion_alto: rowData.maquina_impresion_alto,
+ formas: rowData.formas,
+ formas_v: rowData.formas_v,
+ formas_h: rowData.formas_h,
+ formas_orientacion: rowData.formas_orientacion,
+ }
+
+ var t_maq_str = rowData.tiempo.split(':'); // split it at the colons
+ var t_maq = 0
+
+ if(t_maq_str.length == 3)
+ t_maq = (+t_maq_str[0]) * 3600 + (+t_maq_str[1]) * 60 + (+t_maq_str[2]);
+
+ linea_data = {
+ presupuesto_id: presupuesto_id,
+ tipo: rowData.row_id,
+ paginas: (rowData.row_id=='lp_guardas')?(($('#tipo_impresion_id').val() == 1 || $('#tipo_impresion_id').val() == 3)?8:4):rowData.paginas,
+ papel_id: rowData.papel,
+ gramaje: rowData.gramaje,
+ papel_impresion_id: rowData.papel_impresion_id,
+ papel_impresion: rowData.papel_impresion,
+ maquina_id: rowData.maquina_id,
+ maquina: rowData.maquina,
+ maquina_tipo: rowData.maquinaTipo,
+ tiempo_maquina: t_maq,
+ pliegos_libro: rowData.numeroPliegos,
+ pliegos_pedido: rowData.pliegosPedido,
+ pliegos_precio: rowData.precioPliego,
+ libro: rowData.libro,
+ total_papel_pedido: rowData.totalPapelPedido,
+ margen_papel_pedido: rowData.margenPapelPedido,
+ mano: rowData.lomo,
+ peso: rowData.peso,
+ precio_click: rowData.click,
+ precio_click_pedido: rowData.totalClicks,
+ margen_click_pedido: rowData.margenClicks,
+ check_papel_total: $('#' + rowData.row_id + '_checkPapel').is(":checked")?1:0,
+ check_impresion_total: $('#' + rowData.row_id + '_checkClicks').is(":checked")?1:0,
+ tarifa_impresion_id: rowData.tarifa_impresion_id,
+ formas: JSON.stringify(formas),
+
+ horas_maquina: rowData.horasMaquina,
+ precio_hora: rowData.precioHora,
+ precio_impresion: rowData.precioImpresion,
+ margen_impresion: rowData.margenImpresion,
+ total_linea: rowData.total_linea,
+ }
+
+ if(rowData.row_id=='lp_guardas')
+ linea_data.paginas_impresion = rowData.paginas_impresion
+
+ // maquina rotativa o inkjet
+ if(linea_data.maquina_tipo=='inkjet'){
+
+ linea_data.rotativa_pag_color = rowData.numPagColor
+
+ linea_data.rotativa_total_impresion = rowData.totalImpresion
+ linea_data.rotativa_a_favor_fibra = rowData.aFavorFibra,
+ linea_data.rotativa_negro = rowData.cobNegro
+ linea_data.rotativa_cyan = rowData.cobCyan
+ linea_data.rotativa_magenta = rowData.cobMagenta
+ linea_data.rotativa_amarillo = rowData.cobAmarillo
+ linea_data.rotativa_cg = rowData.cobCG
+ linea_data.rotativa_gota_negro = rowData.gotaNegro
+ linea_data.rotativa_gota_color = rowData.gotaColor
+
+
+ linea_data.rotativa_resolucion = rowData.resolucion
+ linea_data.rotativa_area_paginas = rowData.areaPaginas
+
+ linea_data.rotativa_num_gotas_negro = rowData.gotaNegro
+ linea_data.rotativa_num_gotas_cyan = rowData.gotasCyan
+ linea_data.rotativa_num_gotas_magenta = rowData.gotasMagenta
+ linea_data.rotativa_num_gotas_amarillo = rowData.gotasAmarillo
+ linea_data.rotativa_num_gotas_cg = rowData.gotasCG
+
+ linea_data.rotativa_precio_pag_negro = rowData.precioPagNegro
+ linea_data.rotativa_precio_pag_color = rowData.precioPagColor
+ linea_data.rotativa_factor_altura = rowData.factorAltura
+ linea_data.rotativa_factor_anchura = rowData.factorAnchura
+ linea_data.rotativa_pag_por_pliego = rowData.paginasPliego
+
+ linea_data.rotativa_clicks_libro = rowData.clicksLibro
+ linea_data.rotativa_peso_gotas_negro = rowData.gTintaNegro
+ linea_data.rotativa_peso_gotas_cyan = rowData.gTintaCyan
+ linea_data.rotativa_peso_gotas_magenta = rowData.gTintaMagenta
+ linea_data.rotativa_peso_gotas_amarillo = rowData.gTintaAmarillo
+ linea_data.rotativa_peso_gotas_cg = rowData.gTintaCG
+ linea_data.rotativa_clicks_total = rowData.clicksPedido
+ linea_data.precio_click_pedido = rowData.totalClicksPedido
+ linea_data.rotativa_precio_tinta = rowData.totalTinta
+
+
+ linea_data.rotativa_peso_gotas_negro_pedido = rowData.gTintaNegroPed
+ linea_data.rotativa_peso_gotas_cyan_pedido = rowData.gTintaCyanPed
+ linea_data.rotativa_peso_gotas_magenta_pedido = rowData.gTintaMagentaPed
+ linea_data.rotativa_peso_gotas_amarillo_pedido = rowData.gTintaAmarilloPed
+ linea_data.rotativa_peso_gotas_cg_pedido = rowData.gTintaCGPed
+
+ }
+ if(linea_data.tipo.includes('rot')){
+
+ linea_data.rotativa_mxm = rowData.metrosMinuto
+ linea_data.rotativa_metros_libro = rowData.metrosPapelLibro
+ linea_data.rotativa_metros_total = rowData.metrosPapelTotal
+ linea_data.rotativa_velocidad_corte = rowData.velocidadCorte
+ linea_data.rotativa_precio_hora_corte = rowData.precioHoraCorte
+ linea_data.rotativa_tiempo_corte = rowData.tiempoCorte
+ linea_data.rotativa_total_corte = rowData.totalCorte
+ linea_data.rotativa_a_favor_fibra = rowData.aFavorFibra==true?1:0
+ }
+
+ data.push(linea_data)
+ } );
+
+ var datos = {
+ tipo: 'lineasPresupuesto',
+ datos: data,
+ presupuesto_id: presupuesto_id,
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.updateDataOfCosidotapablanda,
+
+ data: datos,
+ dataType: 'json',
+ success:function(response){
+
+ token=response[window.csrf_token];
+ yeniden(token);
+ }
+ }).fail(function (jqXHR, textStatus, error) {
+ // Handle error here
+ console.log(jqXHR)
+ });
+
+}
+
+function checkPaginasPresupuesto(){
+
+ cantidad_total = 0
+
+ tableLineasPresupuesto.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
+ var rowData = this.data();
+ if(rowData.row_id != 'lp_cubierta' && rowData.row_id != 'lp_sobrecubierta' && rowData.row_id != 'lp_guardas')
+ cantidad_total += parseInt(rowData.paginas)
+ })
+ htmlString = ''
+
+ if(cantidad_total != parseInt($('#paginas').val())){
+ htmlString = `
+
+
+
+
+
+
= lang("Presupuestos.errores.paginasLP") ?>
+
+
`;
+ }
+ $('#divAlarmasLineasPresupuesto').html(htmlString)
+}
+
+// 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 = ''+
+ ' '+
+ ' '+
+ ''+
+ '' +
+ ' '
+
+
+
+
+ value += ' '
+
+ if(d.maquinaTipo=='inkjet'){
+ value +=
+ ''+
+ ' '+
+ ' '+
+ ''+
+ '' +
+
+ ' ' +
+ ' ' +
+ ''+
+ ' '+
+ ' '+
+ ''+
+ '' +
+ ((!d.row_id.includes('rot'))?
+ '
' +
+ window.Presupuestos.factorAltura +
+ ' ' +
+ '
' +
+ '
' +
+ window.Presupuestos.factorAnchura +
+ ' ' +
+ '
':'') +
+ (d.row_id.includes('rot')?'
' +
+ '
' +
+ ' ' +
+ ''+
+ ' '+
+ ' '+
+ ''+
+ '' +
+ (d.row_id.includes('rot')?'
': '
') +
+ window.Presupuestos.metrosPapelLibro +
+ ' ' +
+ '
' +
+ (d.row_id.includes('rot')?'
' +
+ ' ' +
+ ''+
+ ' '+
+ ' '+
+ ''+
+ '' +
+ ((!d.row_id.includes('rot'))?'
' +
+ window.Presupuestos.resolucion +
+ ' ' +
+ '
':'') +
+ ((!d.row_id.includes('rot'))?'
' +
+ window.Presupuestos.areaPaginas +
+ ' ' +
+ '
':'') +
+ (d.row_id.includes('rot')?'
': '
') +
+ window.Presupuestos.velocidadCorte +
+ ' ' +
+ '
' +
+ (d.row_id.includes('rot')?'
': '
') +
+ window.Presupuestos.precioHoraCorte +
+ ' ' +
+ '
' +
+ (d.row_id.includes('rot')?'
' +
+ '
' +
+ ' '
+ }
+
+ 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 = ''
+ if(data==2){
+ select += ''
+ }
+ else{
+ select += ' '
+ }
+ select +='' + window.Presupuestos.unaCara + '
'
+ select += ' '
+ if(data==4){
+ select += ''
+ }
+ else{
+ select += ' '
+ }
+ select +='' + window.Presupuestos.dosCaras + '
'
+ select += ' '
+ select += ' '
+
+ return select;
+ }
+ else if(row.row_id == "lp_guardas"){
+ select = ''
+ if(row.paginas_impresion==0){
+ select += ''
+ }
+ else{
+ select += ' '
+ }
+ select +='' + window.Presupuestos.sinImpresion + '
'
+ select += ' '
+ if(row.paginas_impresion==4){
+ select += ''
+ }
+ else{
+ select += ' '
+ }
+ select +='' + window.Presupuestos.unaCara + '
'
+ select += ' '
+ if(row.paginas_impresion==8){
+ select += ''
+ }
+ else{
+ select += ' '
+ }
+ select +='' + window.Presupuestos.dosCaras + '
'
+ select += ' '
+ select += ' '
+
+ return select;
+
+ }
+ else{
+ return '';
+ }
+ }
+ },
+ {data: 'papel',
+ render: function ( data, type, row, meta ) {
+ var select = $('')
+ .attr('id', row.row_id + '_papel')
+ .attr('name', row.row_id + '_papel')
+ .addClass('form-control form-select-sm lp-cell lp-select')
+ .css('min-width', '150px')
+
+ var papelList
+ if(row.row_id == 'lp_bn'){
+ papelList = window.papelGenericoNegroList
+ }
+ else if (row.row_id == 'lp_bnhq'){
+ papelList = window.papelGenericoNegroHQList
+ }
+ else if (row.row_id == 'lp_color'){
+ papelList = window.papelGenericoColorList
+ }
+ else if (row.row_id == 'lp_colorhq'){
+ papelList = window.papelGenericoColorHQList
+ }
+ else if (row.row_id == 'lp_cubierta'){
+ papelList = window.papelGenericoCubiertaList
+ }
+ else if (row.row_id == 'lp_sobrecubierta'){
+ papelList = window.papelGenericoSobrecubiertaList
+ }
+ else if (row.row_id == 'lp_guardas'){
+ papelList = window.papelGenericoGuardasList
+ }
+ else if (row.row_id == 'lp_rot_bn'){
+ papelList = window.papelGenericoRotativaNegroList
+ }
+ else if (row.row_id == 'lp_rot_color'){
+ papelList = window.papelGenericoRotativaColorList
+ }
+
+ papelList.forEach((element) => {
+ var option
+ if(element.id == data)
+ option = ''+element.nombre+' ';
+ else
+ option = ''+element.nombre+' ';
+ select.append(option);
+
+ });
+ return select[0].outerHTML
+ }
+ },
+ {data: 'gramaje',
+ 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 = ''+ parseInt(data)+' ';
+ select.append(option);
+
+ return select[0].outerHTML
+ }
+ },
+ {data: 'papel_impresion',
+ render: function ( data, type, row, meta ) {
+ var select = $('')
+ .attr('id', row.row_id + '_papelImpresion')
+ .attr('name', row.row_id + '_papelImpresion')
+ .addClass('form-control form-select-sm lp-cell lp-select ' + row.row_class + '-select')
+ .css('min-width', '150px')
+
+ var option = ''+ data +' ';
+ select.append(option);
+
+ return select[0].outerHTML
+ }
+ },
+ {data: 'maquina',
+ 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 = ''+ data +' ';
+ 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 = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_bn.png") ?>'
+ else
+ icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_inkjet_bn.png") ?>'
+ }
+
+ else if(rowId=='lp_bnhq'){
+ if(row.tipo_maquina=='toner')
+ icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_bnhq.png") ?>'
+ else
+ icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_inkjet_bn.png") ?>'
+ }
+ else if(rowId=='lp_color'){
+ if(row.tipo_maquina=='toner')
+ icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_color.png") ?>'
+ else
+ icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_inkjet_color.png") ?>'
+ }
+ else if(rowId=='lp_colorhq'){
+ if(row.tipo_maquina=='toner')
+ icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_colorhq.png") ?>'
+ else
+ icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_inkjet_color.png") ?>'
+ }
+
+ else if(rowId=='lp_cubierta')
+ icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_cubierta.png") ?>'
+ else if(rowId=='lp_sobrecubierta')
+ icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_sobrecubierta.png") ?>'
+ else if(rowId=='lp_guardas')
+ icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_guardas.png") ?>'
+ else if(rowId=='lp_rot_bn')
+ icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_rotativa_bn.png") ?>'
+ else if(rowId=='lp_rot_color')
+ icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_rotativa_color.png") ?>'
+
+ 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(), '= lang("Presupuestos.cubierta") ?>')
+ }
+ }
+
+ 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(), '= lang("Presupuestos.sobrecubierta") ?>')
+ }
+ }
+ }
+
+ 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;number', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_bn_gramaje').append(option);
+ });
+ $('#lp_bn_gramaje').val('')
+ }
+ });
+}
+
+
+
+
+async function set_lp_bn_papelImpresion(){
+
+ var datos = {
+ tipo: 'papelImpresion',
+ uso: 'negro',
+ datos: $('#lp_bn_papel option:selected').val() ,
+ gramaje: $('#lp_bn_gramaje option:selected').text().trim() ,
+ tipoLinea: "negro",
+ };
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_bn_papelImpresion').empty()
+ $('#lp_bn_maquina').empty()
+ clear_lp_bn(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_bn_papelImpresion').append(option);
+ });
+ $('#lp_bn_papelImpresion').val('')
+ }
+ });
+}
+
+
+async function set_lp_bn_maquina(){
+
+ var datos = {
+ tipo: 'maquina',
+ uso: 'negro',
+ tipoLinea: "interior",
+ is_rotativa: 0,
+ ancho: getDimensionLibro().ancho,
+ alto: getDimensionLibro().alto,
+ datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()),
+ papel_impresion: $('#lp_bn_papelImpresion option:selected').val() ,
+ };
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_bn_maquina').empty()
+ clear_lp_bn(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
+ $('#lp_bn_maquina').append(option);
+ });
+ $('#lp_bn_maquina').val('')
+ }
+ });
+}
+
+
+
+async function calcularPresupuesto_bn(input_data={}, updatedTipologias = false){
+
+ const dimension = getDimensionLibro();
+
+ if(Object.keys(input_data).length == 0){
+
+ input_data = {
+ paginas:parseInt($('#lp_bn_paginas').val()),
+ papel_generico_id: $('#lp_bn_papel option:selected').val(),
+ papel_generico: $('#lp_bn_papel option:selected').text().trim(),
+ gramaje: $('#lp_bn_gramaje option:selected').text().trim(),
+ maquina_id: $('#lp_bn_maquina option:selected').val(),
+ papel_impresion_id: $('#lp_bn_papelImpresion option:selected').val()
+ }
+ }
+
+ var datos = {
+ tipo_impresion_id: $('#tipo_impresion_id').val(),
+ type: 'interior',
+ color: 0,
+ 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);
+
+ // Si es inkjet, existe este check
+ if ($('#lp_bn_aFavorFibra').length){
+ datos.a_favor_fibra = $('#lp_bn_aFavorFibra').prop('checked')
+ }
+
+ if(updatedTipologias && $('#lp_bn_gotaNegro').length){
+ datos.gota_negro= $('#lp_bn_gotaNegro').val()
+ datos.gota_color= $('#lp_bn_gotaColor').val()
+ datos.negro= $('#lp_bn_cobNegro').val()
+ datos.cyan= $('#lp_bn_cobCyan').val()
+ datos.magenta= $('#lp_bn_cobMagenta').val()
+ datos.amarillo= $('#lp_bn_cobAmarillo').val()
+ if ($('#lp_bn_cobCG').length){
+ datos.cg = $('#lp_bn_cobCG').val()
+ }
+ }
+
+ await $.ajax({
+ type: "POST",
+ url: "/cosidotapablanda/datatable",
+ data: datos,
+ success: function (data) {
+
+ if(data.lineas.length >0){
+
+ $.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 COLOR
+ ************************/
+async function set_lp_color_gramaje(){
+
+ var datos = {
+ tipo: 'gramajeLineasPresupuesto',
+ uso: 'interior',
+ datos: $('#lp_color_papel option:selected').val() ,
+ tipoLinea: "color",
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ clear_lp_color(true)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_color_gramaje').append(option);
+ });
+ $('#lp_color_gramaje').val('')
+ }
+ });
+}
+
+
+async function set_lp_color_papelImpresion(){
+
+ var datos = {
+ tipo: 'papelImpresion',
+ uso: 'color',
+ datos: $('#lp_color_papel option:selected').val() ,
+ gramaje: $('#lp_color_gramaje option:selected').text().trim() ,
+ tipoLinea: "color",
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_color_papelImpresion').empty()
+ $('#lp_color_maquina').empty()
+ clear_lp_color(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_color_papelImpresion').append(option);
+ });
+ $('#lp_color_papelImpresion').val('')
+ }
+ });
+}
+
+
+async function set_lp_color_maquina(){
+
+ var datos = {
+ tipo: 'maquina',
+ uso: 'color',
+ tipoLinea: "interior",
+ is_rotativa: 0,
+ ancho: getDimensionLibro().ancho,
+ alto: getDimensionLibro().alto,
+ datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()),
+ papel_impresion: $('#lp_color_papelImpresion option:selected').val() ,
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_color_maquina').empty()
+ clear_lp_color(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
+ $('#lp_color_maquina').append(option);
+ });
+ $('#lp_color_maquina').val('')
+ }
+ });
+}
+
+
+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
+ ************************/
+async function set_lp_bnhq_gramaje(){
+
+ var datos = {
+ tipo: 'gramajeLineasPresupuesto',
+ uso: 'interior',
+ datos: $('#lp_bnhq_papel option:selected').val() ,
+ tipoLinea: "negrohq",
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ clear_lp_bnhq(true)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_bnhq_gramaje').append(option);
+ });
+ $('#lp_bnhq_gramaje').val('')
+ }
+ });
+}
+
+
+async function set_lp_bnhq_papelImpresion(){
+
+ var datos = {
+ tipo: 'papelImpresion',
+ uso: 'negrohq',
+ datos: $('#lp_bnhq_papel option:selected').val() ,
+ gramaje: $('#lp_bnhq_gramaje option:selected').text().trim() ,
+ tipoLinea: "negrohq",
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_bnhq_papelImpresion').empty()
+ $('#lp_bnhq_maquina').empty()
+ clear_lp_bnhq(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_bnhq_papelImpresion').append(option);
+ });
+ $('#lp_bnhq_papelImpresion').val('')
+ }
+ });
+}
+
+
+async function set_lp_bnhq_maquina(){
+
+ var datos = {
+ tipo: 'maquina',
+ uso: 'negrohq',
+ tipoLinea: "interior",
+ is_rotativa: 0,
+ ancho: getDimensionLibro().ancho,
+ alto: getDimensionLibro().alto,
+ datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()),
+ papel_impresion: $('#lp_bnhq_papelImpresion option:selected').val() ,
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_bnhq_maquina').empty()
+ clear_lp_bnhq(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
+ $('#lp_bnhq_maquina').append(option);
+ });
+ $('#lp_bnhq_maquina').val('')
+ }
+ });
+}
+
+
+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
+ ************************/
+async function set_lp_colorhq_gramaje(){
+
+ var datos = {
+ tipo: 'gramajeLineasPresupuesto',
+ uso: 'interior',
+ datos: $('#lp_colorhq_papel option:selected').val() ,
+ tipoLinea: "colorhq",
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ clear_lp_colorhq(true)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_colorhq_gramaje').append(option);
+ });
+ $('#lp_colorhq_gramaje').val('')
+ }
+ });
+}
+
+
+
+
+async function set_lp_colorhq_papelImpresion(){
+
+ var datos = {
+ tipo: 'papelImpresion',
+ uso: 'colorhq',
+ datos: $('#lp_colorhq_papel option:selected').val() ,
+ gramaje: $('#lp_colorhq_gramaje option:selected').text().trim() ,
+ tipoLinea: "colorhq",
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_colorhq_papelImpresion').empty()
+ $('#lp_colorhq_maquina').empty()
+ clear_lp_colorhq(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_colorhq_papelImpresion').append(option);
+ });
+ $('#lp_colorhq_papelImpresion').val('')
+ }
+ });
+}
+
+
+async function set_lp_colorhq_maquina(){
+
+ var datos = {
+ tipo: 'maquina',
+ uso: 'colorhq',
+ tipoLinea: "interior",
+ is_rotativa: 0,
+ ancho: getDimensionLibro().ancho,
+ alto: getDimensionLibro().alto,
+ datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()),
+ papel_impresion: $('#lp_colorhq_papelImpresion option:selected').val() ,
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_colorhq_maquina').empty()
+ clear_lp_colorhq(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
+ $('#lp_colorhq_maquina').append(option);
+ });
+ $('#lp_colorhq_maquina').val('')
+ }
+ });
+}
+
+
+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
+ ************************/
+async function set_lp_rot_bn_gramaje(){
+
+ var datos = {
+ tipo: 'gramajeLineasPresupuesto',
+ uso: 'rotativa',
+ datos: $('#lp_rot_bn_papel option:selected').val() ,
+ tipoLinea: "negro",
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ clear_lp_rot_bn(true)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_rot_bn_gramaje').append(option);
+ });
+ $('#lp_rot_bn_gramaje').val('')
+ }
+ });
+
+}
+
+
+async function set_lp_rot_bn_papelImpresion(){
+
+ var datos = {
+ tipo: 'papelImpresion',
+ uso: 'rotativa',
+ datos: $('#lp_rot_bn_papel option:selected').val() ,
+ gramaje: $('#lp_rot_bn_gramaje option:selected').text().trim() ,
+ tipoLinea: "negro",
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_rot_bn_papelImpresion').empty()
+ $('#lp_rot_bn_maquina').empty()
+ clear_lp_rot_bn(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_rot_bn_papelImpresion').append(option);
+ });
+ $('#lp_rot_bn_papelImpresion').val('')
+ }
+ });
+}
+
+async function set_lp_rot_bn_maquina(){
+
+ var datos = {
+ tipo: 'maquina',
+ uso: 'negro',
+ tipoLinea: "interior",
+ is_rotativa: 1,
+ ancho: getDimensionLibro().ancho,
+ alto: getDimensionLibro().alto,
+ datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()),
+ papel_impresion: $('#lp_rot_bn_papelImpresion option:selected').val() ,
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_rot_bn_maquina').empty()
+ clear_lp_rot_bn(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
+ $('#lp_rot_bn_maquina').append(option);
+ });
+ $('#lp_rot_bn_maquina').val('')
+ }
+ });
+}
+
+
+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
+ ************************/
+async function set_lp_rot_color_gramaje(){
+
+ var datos = {
+ tipo: 'gramajeLineasPresupuesto',
+ uso: 'rotativa',
+ datos: $('#lp_rot_color_papel option:selected').val() ,
+ tipoLinea: "color",
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ clear_lp_rot_color(true)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_rot_color_gramaje').append(option);
+ });
+ $('#lp_rot_color_gramaje').val('')
+ }
+ });
+
+}
+
+
+async function set_lp_rot_color_papelImpresion(){
+
+ var datos = {
+ tipo: 'papelImpresion',
+ uso: 'rotativa',
+ datos: $('#lp_rot_color_papel option:selected').val() ,
+ gramaje: $('#lp_rot_color_gramaje option:selected').text().trim() ,
+ tipoLinea: "color",
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_rot_color_papelImpresion').empty()
+ $('#lp_rot_color_maquina').empty()
+ clear_lp_rot_color(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_rot_color_papelImpresion').append(option);
+ });
+ $('#lp_rot_color_papelImpresion').val('')
+ }
+ });
+}
+
+
+async function set_lp_rot_color_maquina(){
+
+ var datos = {
+ tipo: 'maquina',
+ uso: 'color',
+ tipoLinea: "interior",
+ is_rotativa: 1,
+ ancho: getDimensionLibro().ancho,
+ alto: getDimensionLibro().alto,
+ datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()),
+ papel_impresion: $('#lp_rot_color_papelImpresion option:selected').val() ,
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_rot_color_maquina').empty()
+ clear_lp_rot_color(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
+ $('#lp_rot_color_maquina').append(option);
+ });
+ $('#lp_rot_color_maquina').val('')
+ }
+ });
+}
+
+
+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
+ ************************/
+async function set_lp_cubierta_gramaje(){
+
+ var datos = {
+ tipo: 'gramajeLineasPresupuesto',
+ uso: 'cubierta',
+ datos: $('#lp_cubierta_papel option:selected').val() ,
+ tipoLinea: "colorhq",
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ clear_lp_cubierta(true)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_cubierta_gramaje').append(option);
+ });
+ $('#lp_cubierta_gramaje').val('')
+ }
+ });
+
+}
+
+
+async function set_lp_cubierta_papelImpresion(){
+
+ var datos = {
+ tipo: 'papelImpresion',
+ uso: 'cubierta',
+ datos: $('#lp_cubierta_papel option:selected').val() ,
+ gramaje: $('#lp_cubierta_gramaje option:selected').text().trim() ,
+ tipoLinea: "colorhq",
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_cubierta_papelImpresion').empty()
+ $('#lp_cubierta_maquina').empty()
+ clear_lp_cubierta(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_cubierta_papelImpresion').append(option);
+ });
+ $('#lp_cubierta_papelImpresion').val('')
+ }
+ });
+}
+
+
+async function set_lp_cubierta_maquina(){
+
+ var datos = {
+ tipo: 'maquina',
+ uso: 'colorhq',
+ tipoLinea: "cubierta",
+ uso_tarifa: "cubierta",
+ is_rotativa: 0,
+ ancho: getDimensionLibro().ancho,
+ alto: getDimensionLibro().alto,
+ datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()),
+ papel_impresion: $('#lp_cubierta_papelImpresion option:selected').val() ,
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_cubierta_maquina').empty()
+ clear_lp_cubierta(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
+ $('#lp_cubierta_maquina').append(option);
+ });
+ $('#lp_cubierta_maquina').val('')
+ }
+ });
+}
+
+
+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
+ ************************/
+async function set_lp_sobrecubierta_gramaje(){
+
+ var datos = {
+ tipo: 'gramajeLineasPresupuesto',
+ uso: 'sobrecubierta',
+ datos: $('#lp_sobrecubierta_papel option:selected').val() ,
+ tipoLinea: "colorhq",
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ clear_lp_sobrecubierta(true)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_sobrecubierta_gramaje').append(option);
+ });
+ $('#lp_sobrecubierta_gramaje').val('')
+ }
+ });
+
+}
+
+
+async function set_lp_sobrecubierta_papelImpresion(){
+
+ var datos = {
+ tipo: 'papelImpresion',
+ uso: 'sobrecubierta',
+ datos: $('#lp_sobrecubierta_papel option:selected').val() ,
+ gramaje: $('#lp_sobrecubierta_gramaje option:selected').text().trim() ,
+ tipoLinea: "colorhq",
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_sobrecubierta_papelImpresion').empty()
+ $('#lp_sobrecubierta_maquina').empty()
+ clear_lp_sobrecubierta(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_sobrecubierta_papelImpresion').append(option);
+ });
+ $('#lp_sobrecubierta_papelImpresion').val('')
+ }
+ });
+}
+
+
+async function set_lp_sobrecubierta_maquina(){
+
+ var datos = {
+ tipo: 'maquina',
+ uso: 'colorhq',
+ tipoLinea: "sobrecubierta",
+ uso_tarifa: "sobrecubierta",
+ is_rotativa: 0,
+ ancho: getDimensionLibro().ancho,
+ alto: getDimensionLibro().alto,
+ datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()),
+ papel_impresion: $('#lp_sobrecubierta_papelImpresion option:selected').val() ,
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_sobrecubierta_maquina').empty()
+ clear_lp_sobrecubierta(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
+ $('#lp_sobrecubierta_maquina').append(option);
+ });
+ $('#lp_sobrecubierta_maquina').val('')
+ }
+ });
+}
+
+
+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(){
+
+ var datos = {
+ 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() ,
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_guardas_maquina').empty()
+ clear_lp_guardas(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
+ $('#lp_guardas_maquina').append(option);
+ });
+ $('#lp_guardas_maquina').val('')
+ }
+ });
+}
+
+async function set_lp_guardas_papelImpresion(){
+
+ var datos = {
+ tipo: 'papelImpresion',
+ uso: 'guardas',
+ datos: $('#lp_guardas_papel option:selected').val() ,
+ gramaje: 170 ,
+ tipoLinea: "colorhq",
+ }
+ datos = Object.assign(datos, window.token_ajax);
+
+ await $.ajax({
+ type: 'post',
+ url: window.routes_lp.menuItemsOfCosidotapablanda,
+ beforeSend: function() {
+ $('#lp_guardas_papelImpresion').empty()
+ $('#lp_guardas_maquina').empty()
+ clear_lp_guardas(false)
+ },
+ data: datos,
+ dataType: 'json',
+ success: function (data) {
+ yeniden(data[window.csrf_token]);
+ $.each(data.menu, function(item){
+ var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
+ $('#lp_guardas_papelImpresion').append(option);
+ });
+ $('#lp_guardas_papelImpresion').val('')
+ }
+ });
+}
\ No newline at end of file
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php
index 49105ce8..be3fab63 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php
@@ -72,4381 +72,31 @@
-
+
= $this->section("additionalInlineJs") ?>
-const papelGenericoNegroList = ;
-const papelGenericoNegroHQList = ;
-const papelGenericoColorList = ;
-const papelGenericoColorHQList = ;
-const papelGenericoCubiertaList = ;
-const papelGenericoSobrecubiertaList = ;
-const papelGenericoRotativaNegroList = ;
-const papelGenericoRotativaColorList = ;
+window.papelGenericoNegroList = ;
+window.papelGenericoNegroHQList = ;
+window.papelGenericoColorList = ;
+window.papelGenericoColorHQList = ;
+window.papelGenericoCubiertaList = ;
+window.papelGenericoSobrecubiertaList = ;
+window.papelGenericoRotativaNegroList = ;
+window.papelGenericoRotativaColorList = ;
- const papelGenericoGuardasList = ;
+ window.papelGenericoGuardasList = ;
-// 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 = ''+
- ' '+
- ' '+
- ''+
- '' +
- ' '
-
-
-
-
- value += ' '
-
- if(d.maquinaTipo=='inkjet'){
- value +=
- ''+
- ' '+
- ' '+
- ''+
- '' +
-
- ' ' +
- ' ' +
- ''+
- ' '+
- ' '+
- ''+
- '' +
- ((!d.row_id.includes('rot'))?
- '
' +
- '= lang('Presupuestos.factorAltura') ?>' +
- ' ' +
- '
' +
- '
' +
- '= lang('Presupuestos.factorAnchura') ?>' +
- ' ' +
- '
':'') +
- (d.row_id.includes('rot')?'
' +
- '
' +
- ' ' +
- ''+
- ' '+
- ' '+
- ''+
- '' +
- (d.row_id.includes('rot')?'
': '
') +
- '= lang('Presupuestos.metrosPapelLibro') ?>' +
- ' ' +
- '
' +
- (d.row_id.includes('rot')?'
' +
- ' ' +
- ''+
- ' '+
- ' '+
- ''+
- '' +
- ((!d.row_id.includes('rot'))?'
' +
- '= lang('Presupuestos.resolucion') ?>' +
- ' ' +
- '
':'') +
- ((!d.row_id.includes('rot'))?'
' +
- '= lang('Presupuestos.areaPaginas') ?>' +
- ' ' +
- '
':'') +
- (d.row_id.includes('rot')?'
': '
') +
- '= lang('Presupuestos.velocidadCorte') ?>' +
- ' ' +
- '
' +
- (d.row_id.includes('rot')?'
': '
') +
- '= lang('Presupuestos.precioHoraCorte') ?>' +
- ' ' +
- '
' +
- (d.row_id.includes('rot')?'
' +
- '
' +
- ' '
- }
-
- 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 = ''
- if(data==2){
- select += ''
- }
- else{
- select += ' '
- }
- select +='= lang('Presupuestos.1cara') ?>
'
- select += ' '
- if(data==4){
- select += ''
- }
- else{
- select += ' '
- }
- select +='= lang('Presupuestos.2caras') ?>
'
- select += ' '
- select += ' '
-
- return select;
- }
- else if(row.row_id == "lp_guardas"){
- select = ''
- if(row.paginas_impresion==0){
- select += ''
- }
- else{
- select += ' '
- }
- select +='= lang('Presupuestos.sinImpresion') ?>
'
- select += ' '
- if(row.paginas_impresion==4){
- select += ''
- }
- else{
- select += ' '
- }
- select +='= lang('Presupuestos.1cara') ?>
'
- select += ' '
- if(row.paginas_impresion==8){
- select += ''
- }
- else{
- select += ' '
- }
- select +='= lang('Presupuestos.2caras') ?>
'
- select += ' '
- select += ' '
-
- return select;
-
- }
- else{
- return '';
- }
- }
- },
- {data: 'papel',
- render: function ( data, type, row, meta ) {
- var select = $('')
- .attr('id', row.row_id + '_papel')
- .attr('name', row.row_id + '_papel')
- .addClass('form-control form-select-sm lp-cell lp-select')
- .css('min-width', '150px')
-
- var papelList
- if(row.row_id == 'lp_bn'){
- papelList = papelGenericoNegroList
- }
- else if (row.row_id == 'lp_bnhq'){
- papelList = papelGenericoNegroHQList
- }
- else if (row.row_id == 'lp_color'){
- papelList = papelGenericoColorList
- }
- else if (row.row_id == 'lp_colorhq'){
- papelList = papelGenericoColorHQList
- }
- else if (row.row_id == 'lp_cubierta'){
- papelList = papelGenericoCubiertaList
- }
- else if (row.row_id == 'lp_sobrecubierta'){
- papelList = papelGenericoSobrecubiertaList
- }
- else if (row.row_id == 'lp_guardas'){
- papelList = papelGenericoGuardasList
- }
- else if (row.row_id == 'lp_rot_bn'){
- papelList = papelGenericoRotativaNegroList
- }
- else if (row.row_id == 'lp_rot_color'){
- papelList = papelGenericoRotativaColorList
- }
-
- papelList.forEach((element) => {
- var option
- if(element.id == data)
- option = ''+element.nombre+' ';
- else
- option = ''+element.nombre+' ';
- select.append(option);
-
- });
- return select[0].outerHTML
- }
- },
- {data: 'gramaje',
- 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 = ''+ parseInt(data)+' ';
- select.append(option);
-
- return select[0].outerHTML
- }
- },
- {data: 'papel_impresion',
- render: function ( data, type, row, meta ) {
- var select = $('')
- .attr('id', row.row_id + '_papelImpresion')
- .attr('name', row.row_id + '_papelImpresion')
- .addClass('form-control form-select-sm lp-cell lp-select ' + row.row_class + '-select')
- .css('min-width', '150px')
-
- var option = ''+ data +' ';
- select.append(option);
-
- return select[0].outerHTML
- }
- },
- {data: 'maquina',
- 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 = ''+ data +' ';
- 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()
-
- 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 = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_bn.png") ?>'
- else
- icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_inkjet_bn.png") ?>'
- }
-
- else if(rowId=='lp_bnhq'){
- if(row.tipo_maquina=='toner')
- icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_bnhq.png") ?>'
- else
- icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_inkjet_bn.png") ?>'
- }
- else if(rowId=='lp_color'){
- if(row.tipo_maquina=='toner')
- icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_color.png") ?>'
- else
- icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_inkjet_color.png") ?>'
- }
- else if(rowId=='lp_colorhq'){
- if(row.tipo_maquina=='toner')
- icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_colorhq.png") ?>'
- else
- icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_inkjet_color.png") ?>'
- }
-
- else if(rowId=='lp_cubierta')
- icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_cubierta.png") ?>'
- else if(rowId=='lp_sobrecubierta')
- icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_sobrecubierta.png") ?>'
- else if(rowId=='lp_guardas')
- icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_guardas.png") ?>'
- else if(rowId=='lp_rot_bn')
- icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_rotativa_bn.png") ?>'
- else if(rowId=='lp_rot_color')
- icon = '= site_url("themes/vuexy/img/safekat/presupuestos/icon_rotativa_color.png") ?>'
-
- 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(), '= lang("Presupuestos.cubierta") ?>')
- }
- }
-
- 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(), '= lang("Presupuestos.sobrecubierta") ?>')
- }
- }
- }
-
- 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)
- }
-
-});
-
-
-$('#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;number', 'divAlarmasLineasPresupuesto');
- break
- }
-
- var data = processRowData({tipo_maquina: 'toner'}, 'lp_bn', 'lp-bn');
- tableLineasPresupuesto.row.add(data).draw()
- eventos_lp_bn()
- break
-
- case 'lp_bnhq':
- var hayLinea = false
- for(let number=0;number', 'divAlarmasLineasPresupuesto');
- break
- }
-
- var data = processRowData({tipo_maquina: 'toner'}, 'lp_bnhq', 'lp-bnhq');
- tableLineasPresupuesto.row.add(data).draw()
- eventos_lp_bnhq()
- break
-
- case 'lp_color':
- var hayLinea = false
- for(let number=0;number', 'divAlarmasLineasPresupuesto');
- break
- }
-
- var data = processRowData({tipo_maquina: 'toner'}, 'lp_color', 'lp-color');
- tableLineasPresupuesto.row.add(data).draw()
- eventos_lp_color()
- break
-
- case 'lp_colorhq':
- var hayLinea = false
- for(let number=0;number', 'divAlarmasLineasPresupuesto');
- break
- }
-
- var data = processRowData({tipo_maquina: 'toner'}, 'lp_colorhq', 'lp-colorhq');
- tableLineasPresupuesto.row.add(data).draw()
- eventos_lp_colorhq()
- break
-
- case 'lp_rot_bn':
- var hayLinea = false
- for(let number=0;number', 'divAlarmasLineasPresupuesto');
- break
- }
-
- var data = processRowData({tipo_maquina: 'toner'}, 'lp_rot_bn', 'lp-rot-bn');
- tableLineasPresupuesto.row.add(data).draw()
- eventos_lp_rot_bn()
- break
-
- case 'lp_rot_color':
- var hayLinea = false
- for(let number=0;number', 'divAlarmasLineasPresupuesto');
- break
- }
-
- var data = processRowData({tipo_maquina: 'toner'}, 'lp_rot_color', 'lp-rot-color');
- tableLineasPresupuesto.row.add(data).draw()
- eventos_lp_rot_color()
- break
-
- case 'lp_cubierta':
- var hayLinea = false
- for(let number=0;number', 'divAlarmasLineasPresupuesto');
- break
- }
-
- var data = processRowData({tipo_maquina: 'toner'}, 'lp_cubierta', 'lp-cubierta');
- tableLineasPresupuesto.row.add(data).draw()
- eventos_lp_cubierta()
- break
-
- case 'lp_sobrecubierta':
- var hayLinea = false
- for(let number=0;number', 'divAlarmasLineasPresupuesto');
- break
- }
-
- var data = processRowData({tipo_maquina: 'toner'}, 'lp_sobrecubierta', 'lp-sobrecubierta');
- tableLineasPresupuesto.row.add(data).draw()
- eventos_lp_sobrecubierta()
- break
-
- case 'lp_guardas':
- var hayLinea = false
- for(let number=0;number', 'divAlarmasLineasPresupuesto');
- break
- }
-
- var data = processRowData({tipo_maquina: 'toner'}, 'lp_guardas', 'lp-guardas');
- tableLineasPresupuesto.row.add(data).draw()
- $('#lp_guardas_gramaje').empty()
- var o = new Option("170", "170");
- $('#lp_guardas_gramaje').append(o)
- eventos_lp_guardas()
- servicioGuardas(true)
- break
- default:
- break
- }
- $("#tableLineasPresupuesto").DataTable().columns.adjust();
-})
-
-
-
-
-= $this->endSection() ?>
-
-
-
-
-= $this->section("additionalInlineJs") ?>
-async function set_lp_bn_gramaje(){
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- clear_lp_bn(true)
- },
- data: {
- tipo: 'gramajeLineasPresupuesto',
- uso: 'interior',
- datos: $('#lp_bn_papel option:selected').val() ,
- tipoLinea: "negro",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_bn_gramaje').append(option);
- });
- $('#lp_bn_gramaje').val('')
- }
- });
-}
-
-
-
-
-async function set_lp_bn_papelImpresion(){
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_bn_papelImpresion').empty()
- $('#lp_bn_maquina').empty()
- clear_lp_bn(false)
- },
- data: {
- tipo: 'papelImpresion',
- uso: 'negro',
- datos: $('#lp_bn_papel option:selected').val() ,
- gramaje: $('#lp_bn_gramaje option:selected').text().trim() ,
- tipoLinea: "negro",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_bn_papelImpresion').append(option);
- });
- $('#lp_bn_papelImpresion').val('')
- }
- });
-}
-
-
-async function set_lp_bn_maquina(){
-
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_bn_maquina').empty()
- clear_lp_bn(false)
- },
- data: {
- tipo: 'maquina',
- uso: 'negro',
- tipoLinea: "interior",
- is_rotativa: 0,
- ancho: getDimensionLibro().ancho,
- alto: getDimensionLibro().alto,
- datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()),
- papel_impresion: $('#lp_bn_papelImpresion option:selected').val() ,
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
- $('#lp_bn_maquina').append(option);
- });
- $('#lp_bn_maquina').val('')
- }
- });
-}
-
-
-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 calcularPresupuesto_bn(input_data={}, updatedTipologias = false){
-
- const dimension = getDimensionLibro();
-
- if(Object.keys(input_data).length == 0){
-
- input_data = {
- paginas:parseInt($('#lp_bn_paginas').val()),
- papel_generico_id: $('#lp_bn_papel option:selected').val(),
- papel_generico: $('#lp_bn_papel option:selected').text().trim(),
- gramaje: $('#lp_bn_gramaje option:selected').text().trim(),
- maquina_id: $('#lp_bn_maquina option:selected').val(),
- papel_impresion_id: $('#lp_bn_papelImpresion option:selected').val()
- }
- }
-
- var datos = {
- tipo_impresion_id: ,
- type: 'interior',
- color: 0,
- 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(),
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- };
-
- // Si es inkjet, existe este check
- if ($('#lp_bn_aFavorFibra').length){
- datos.a_favor_fibra = $('#lp_bn_aFavorFibra').prop('checked')
- }
-
- if(updatedTipologias && $('#lp_bn_gotaNegro').length){
- datos.gota_negro= $('#lp_bn_gotaNegro').val()
- datos.gota_color= $('#lp_bn_gotaColor').val()
- datos.negro= $('#lp_bn_cobNegro').val()
- datos.cyan= $('#lp_bn_cobCyan').val()
- datos.magenta= $('#lp_bn_cobMagenta').val()
- datos.amarillo= $('#lp_bn_cobAmarillo').val()
- if ($('#lp_bn_cobCG').length){
- datos.cg = $('#lp_bn_cobCG').val()
- }
- }
-
- $.ajax({
- type: "POST",
- url: "/cosidotapablanda/datatable",
- data: datos,
- success: function (data) {
-
- if(data.lineas.length >0){
-
- $.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.= csrf_token() ?>);
-
- },
- error: function(e){
-
- }
- })
-}
-
-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()
-
- // 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);
- }
-}
-= $this->endSection() ?>
-
-
-
-
-= $this->section("additionalInlineJs") ?>
-async function set_lp_color_gramaje(){
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- clear_lp_color(true)
- },
- data: {
- tipo: 'gramajeLineasPresupuesto',
- uso: 'interior',
- datos: $('#lp_color_papel option:selected').val() ,
- tipoLinea: "color",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_color_gramaje').append(option);
- });
- $('#lp_color_gramaje').val('')
- }
- });
-}
-
-
-
-
-async function set_lp_color_papelImpresion(){
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_color_papelImpresion').empty()
- $('#lp_color_maquina').empty()
- clear_lp_color(false)
- },
- data: {
- tipo: 'papelImpresion',
- uso: 'color',
- datos: $('#lp_color_papel option:selected').val() ,
- gramaje: $('#lp_color_gramaje option:selected').text().trim() ,
- tipoLinea: "color",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_color_papelImpresion').append(option);
- });
- $('#lp_color_papelImpresion').val('')
- }
- });
-}
-
-
-async function set_lp_color_maquina(){
-
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_color_maquina').empty()
- clear_lp_color(false)
- },
- data: {
- tipo: 'maquina',
- uso: 'color',
- tipoLinea: "interior",
- is_rotativa: 0,
- ancho: getDimensionLibro().ancho,
- alto: getDimensionLibro().alto,
- datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()),
- papel_impresion: $('#lp_color_papelImpresion option:selected').val() ,
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
- $('#lp_color_maquina').append(option);
- });
- $('#lp_color_maquina').val('')
- }
- });
-}
-
-
-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 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: ,
- 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(),
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- };
-
- 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')
- }
-
- $.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.= csrf_token() ?>);
-
- },
- error: function(e){
-
- }
- })
-}
-
-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()
-
- // 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);
- }
-}
-
-= $this->endSection() ?>
-
-
-
-
-= $this->section("additionalInlineJs") ?>
-async function set_lp_bnhq_gramaje(){
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- clear_lp_bnhq(true)
- },
- data: {
- tipo: 'gramajeLineasPresupuesto',
- uso: 'interior',
- datos: $('#lp_bnhq_papel option:selected').val() ,
- tipoLinea: "negrohq",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_bnhq_gramaje').append(option);
- });
- $('#lp_bnhq_gramaje').val('')
- }
- });
-}
-
-
-async function set_lp_bnhq_papelImpresion(){
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_bnhq_papelImpresion').empty()
- $('#lp_bnhq_maquina').empty()
- clear_lp_bnhq(false)
- },
- data: {
- tipo: 'papelImpresion',
- uso: 'negrohq',
- datos: $('#lp_bnhq_papel option:selected').val() ,
- gramaje: $('#lp_bnhq_gramaje option:selected').text().trim() ,
- tipoLinea: "negrohq",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_bnhq_papelImpresion').append(option);
- });
- $('#lp_bnhq_papelImpresion').val('')
- }
- });
-}
-
-
-async function set_lp_bnhq_maquina(){
-
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_bnhq_maquina').empty()
- clear_lp_bnhq(false)
- },
- data: {
- tipo: 'maquina',
- uso: 'negrohq',
- tipoLinea: "interior",
- is_rotativa: 0,
- ancho: getDimensionLibro().ancho,
- alto: getDimensionLibro().alto,
- datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()),
- papel_impresion: $('#lp_bnhq_papelImpresion option:selected').val() ,
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
- $('#lp_bnhq_maquina').append(option);
- });
- $('#lp_bnhq_maquina').val('')
- }
- });
-}
-
-
-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);
- }
-}
-
-
-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: ,
- 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(),
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- };
-
- 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
- }
-
- $.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.= 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()
-
- // 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);
- }
-}
-
-= $this->endSection() ?>
-
-
-
-
-= $this->section("additionalInlineJs") ?>
-async function set_lp_colorhq_gramaje(){
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- clear_lp_colorhq(true)
- },
- data: {
- tipo: 'gramajeLineasPresupuesto',
- uso: 'interior',
- datos: $('#lp_colorhq_papel option:selected').val() ,
- tipoLinea: "colorhq",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_colorhq_gramaje').append(option);
- });
- $('#lp_colorhq_gramaje').val('')
- }
- });
-}
-
-
-
-
-async function set_lp_colorhq_papelImpresion(){
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_colorhq_papelImpresion').empty()
- $('#lp_colorhq_maquina').empty()
- clear_lp_colorhq(false)
- },
- data: {
- tipo: 'papelImpresion',
- uso: 'colorhq',
- datos: $('#lp_colorhq_papel option:selected').val() ,
- gramaje: $('#lp_colorhq_gramaje option:selected').text().trim() ,
- tipoLinea: "colorhq",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_colorhq_papelImpresion').append(option);
- });
- $('#lp_colorhq_papelImpresion').val('')
- }
- });
-}
-
-
-async function set_lp_colorhq_maquina(){
-
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_colorhq_maquina').empty()
- clear_lp_colorhq(false)
- },
- data: {
- tipo: 'maquina',
- uso: 'colorhq',
- tipoLinea: "interior",
- is_rotativa: 0,
- ancho: getDimensionLibro().ancho,
- alto: getDimensionLibro().alto,
- datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()),
- papel_impresion: $('#lp_colorhq_papelImpresion option:selected').val() ,
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
- $('#lp_colorhq_maquina').append(option);
- });
- $('#lp_colorhq_maquina').val('')
- }
- });
-}
-
-
-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);
- }
-}
-
-
-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: ,
- 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(),
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- };
-
- 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
- }
-
- $.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.= 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()
-
- // 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);
- }
-}
-= $this->endSection() ?>
-
-
-
-
-= $this->section("additionalInlineJs") ?>
-async function set_lp_rot_bn_gramaje(){
-
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- clear_lp_rot_bn(true)
- },
- data: {
- tipo: 'gramajeLineasPresupuesto',
- uso: 'rotativa',
- datos: $('#lp_rot_bn_papel option:selected').val() ,
- tipoLinea: "negro",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_rot_bn_gramaje').append(option);
- });
- $('#lp_rot_bn_gramaje').val('')
- }
- });
-
-}
-
-
-async function set_lp_rot_bn_papelImpresion(){
-
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_rot_bn_papelImpresion').empty()
- $('#lp_rot_bn_maquina').empty()
- clear_lp_rot_bn(false)
- },
- data: {
- tipo: 'papelImpresion',
- uso: 'rotativa',
- datos: $('#lp_rot_bn_papel option:selected').val() ,
- gramaje: $('#lp_rot_bn_gramaje option:selected').text().trim() ,
- tipoLinea: "negro",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_rot_bn_papelImpresion').append(option);
- });
- $('#lp_rot_bn_papelImpresion').val('')
- }
- });
-}
-
-
-async function set_lp_rot_bn_maquina(){
-
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_rot_bn_maquina').empty()
- clear_lp_rot_bn(false)
- },
- data: {
- tipo: 'maquina',
- uso: 'negro',
- tipoLinea: "interior",
- is_rotativa: 1,
- ancho: getDimensionLibro().ancho,
- alto: getDimensionLibro().alto,
- datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()),
- papel_impresion: $('#lp_rot_bn_papelImpresion option:selected').val() ,
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
- $('#lp_rot_bn_maquina').append(option);
- });
- $('#lp_rot_bn_maquina').val('')
- }
- });
-}
-
-
-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: ,
- 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,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- };
-
- 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.= 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()
-
- // 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);
-
-}
-= $this->endSection() ?>
-
+window.lineasPresupuestoList = ;
+window.routes_lp = {
+ menuItemsOfCosidotapablanda: '= route_to("menuItemsOfCosidotapablanda") ?>',
+ updateDataOfCosidotapablanda: '= route_to("updateDataOfCosidotapablanda") ?>',
-
-
-
-= $this->section("additionalInlineJs") ?>
-async function set_lp_rot_color_gramaje(){
-
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- clear_lp_rot_color(true)
- },
- data: {
- tipo: 'gramajeLineasPresupuesto',
- uso: 'rotativa',
- datos: $('#lp_rot_color_papel option:selected').val() ,
- tipoLinea: "color",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_rot_color_gramaje').append(option);
- });
- $('#lp_rot_color_gramaje').val('')
- }
- });
-
-}
-
-
-async function set_lp_rot_color_papelImpresion(){
-
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_rot_color_papelImpresion').empty()
- $('#lp_rot_color_maquina').empty()
- clear_lp_rot_color(false)
- },
- data: {
- tipo: 'papelImpresion',
- uso: 'rotativa',
- datos: $('#lp_rot_color_papel option:selected').val() ,
- gramaje: $('#lp_rot_color_gramaje option:selected').text().trim() ,
- tipoLinea: "color",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_rot_color_papelImpresion').append(option);
- });
- $('#lp_rot_color_papelImpresion').val('')
- }
- });
-}
-
-
-async function set_lp_rot_color_maquina(){
-
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_rot_color_maquina').empty()
- clear_lp_rot_color(false)
- },
- data: {
- tipo: 'maquina',
- uso: 'color',
- tipoLinea: "interior",
- is_rotativa: 1,
- ancho: getDimensionLibro().ancho,
- alto: getDimensionLibro().alto,
- datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()),
- papel_impresion: $('#lp_rot_color_papelImpresion option:selected').val() ,
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
- $('#lp_rot_color_maquina').append(option);
- });
- $('#lp_rot_color_maquina').val('')
- }
- });
-}
-
-
-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);
- }
-}
-
-
-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: ,
- 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,
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- };
-
- 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()
- }
-
- $.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.= 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()
-
- // 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);
-}
-= $this->endSection() ?>
-
-
-
-
-
-= $this->section("additionalInlineJs") ?>
-async function set_lp_cubierta_gramaje(){
-
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- clear_lp_cubierta(true)
- },
- data: {
- tipo: 'gramajeLineasPresupuesto',
- uso: 'cubierta',
- datos: $('#lp_cubierta_papel option:selected').val() ,
- tipoLinea: "colorhq",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_cubierta_gramaje').append(option);
- });
- $('#lp_cubierta_gramaje').val('')
- }
- });
-
-}
-
-
-async function set_lp_cubierta_papelImpresion(){
-
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_cubierta_papelImpresion').empty()
- $('#lp_cubierta_maquina').empty()
- clear_lp_cubierta(false)
- },
- data: {
- tipo: 'papelImpresion',
- uso: 'cubierta',
- datos: $('#lp_cubierta_papel option:selected').val() ,
- gramaje: $('#lp_cubierta_gramaje option:selected').text().trim() ,
- tipoLinea: "colorhq",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_cubierta_papelImpresion').append(option);
- });
- $('#lp_cubierta_papelImpresion').val('')
- }
- });
-}
-
-
-async function set_lp_cubierta_maquina(){
-
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_cubierta_maquina').empty()
- clear_lp_cubierta(false)
- },
- data: {
- tipo: 'maquina',
- uso: 'colorhq',
- tipoLinea: "cubierta",
- uso_tarifa: "cubierta",
- is_rotativa: 0,
- ancho: getDimensionLibro().ancho,
- alto: getDimensionLibro().alto,
- datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()),
- papel_impresion: $('#lp_cubierta_papelImpresion option:selected').val() ,
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
- $('#lp_cubierta_maquina').append(option);
- });
- $('#lp_cubierta_maquina').val('')
- }
- });
-}
-
-
-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();
- }
-}
-
-
-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: ,
- 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(),
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- }
-
- $.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.= 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()
-
- }
-
- $("#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()
- }
-}
-
-
-
-
-
-
-
-async function set_lp_sobrecubierta_gramaje(){
-
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- clear_lp_sobrecubierta(true)
- },
- data: {
- tipo: 'gramajeLineasPresupuesto',
- uso: 'sobrecubierta',
- datos: $('#lp_sobrecubierta_papel option:selected').val() ,
- tipoLinea: "colorhq",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_sobrecubierta_gramaje').append(option);
- });
- $('#lp_sobrecubierta_gramaje').val('')
- }
- });
-
-}
-
-
-async function set_lp_sobrecubierta_papelImpresion(){
-
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_sobrecubierta_papelImpresion').empty()
- $('#lp_sobrecubierta_maquina').empty()
- clear_lp_sobrecubierta(false)
- },
- data: {
- tipo: 'papelImpresion',
- uso: 'sobrecubierta',
- datos: $('#lp_sobrecubierta_papel option:selected').val() ,
- gramaje: $('#lp_sobrecubierta_gramaje option:selected').text().trim() ,
- tipoLinea: "colorhq",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_sobrecubierta_papelImpresion').append(option);
- });
- $('#lp_sobrecubierta_papelImpresion').val('')
- }
- });
-}
-
-
-async function set_lp_sobrecubierta_maquina(){
-
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_sobrecubierta_maquina').empty()
- clear_lp_sobrecubierta(false)
- },
- data: {
- tipo: 'maquina',
- uso: 'colorhq',
- tipoLinea: "sobrecubierta",
- uso_tarifa: "sobrecubierta",
- is_rotativa: 0,
- ancho: getDimensionLibro().ancho,
- alto: getDimensionLibro().alto,
- datos: parseInt($('#tirada').val()) + parseInt($('#merma').val()),
- papel_impresion: $('#lp_sobrecubierta_papelImpresion option:selected').val() ,
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
- $('#lp_sobrecubierta_maquina').append(option);
- });
- $('#lp_sobrecubierta_maquina').val('')
- }
- });
-}
-
-
-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();
-}
-
-
-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: ,
- 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(),
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- }
-
- $.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.= 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()
-
- }
-
- $("#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
}
-
-/********************************
-***************************** */
-
-
- 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);
-}
-
-
-function calcularPresupuesto_guardas(fromComparador=false, input_data={}){
-
- const dimension = getDimensionLibro();
-
- if(Object.keys(input_data).length == 0){
-
- input_data = {
- paginas: ,
- 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: ,
- type: 'guardas',
- color: 1,
- hq: 1,
- paginas: ,
- 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(),
- = csrf_token() ?? "token" ?> : = csrf_token() ?>v
- };
-
- $.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.= 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()
-
- // 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: '= route_to("menuItemsOfCosidotapablanda") ?>',
- 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() ,
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].maquina_id, 'text':data.menu[item].maquina})
- $('#lp_guardas_maquina').append(option);
- });
- $('#lp_guardas_maquina').val('')
- }
- });
-}
-
-async function set_lp_guardas_papelImpresion(){
- await $.ajax({
- type: 'post',
- url: '= route_to("menuItemsOfCosidotapablanda") ?>',
- beforeSend: function() {
- $('#lp_guardas_papelImpresion').empty()
- $('#lp_guardas_maquina').empty()
- clear_lp_guardas(false)
- },
- data: {
- tipo: 'papelImpresion',
- uso: 'guardas',
- datos: $('#lp_guardas_papel option:selected').val() ,
- gramaje: 170 ,
- tipoLinea: "colorhq",
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success: function (data) {
- yeniden(data.= csrf_token() ?>);
- $.each(data.menu, function(item){
- var option = $(' ', {'value':data.menu[item].id, 'text':data.menu[item].text})
- $('#lp_guardas_papelImpresion').append(option);
- });
- $('#lp_guardas_papelImpresion').val('')
- }
- });
-}
-
-
-
-
fill_lp_from_bbdd()
-function fill_lp_from_bbdd(){
-
- const lineasPresupuestoList = ;
- lineasPresupuestoList.forEach(function(lp) {
-
- const formas = JSON.parse(lp.formas)
- lp.dimensiones_maquina = [formas.maquina_ancho, formas.maquina_alto]
- lp.dimensiones_maquina_impresion = [formas.maquina_impresion_ancho, formas.maquina_impresion_alto]
- lp.num_formas = {
- value : formas.formas,
- num_formas_verticales : formas.formas_v,
- num_formas_horizontales : formas.formas_h,
- posicion_formas : formas.formas_orientacion
- }
- lp['tipo_maquina'] = lp['maquina_tipo']
- lp['precio_impresion_horas'] = lp['precio_impresion']
- lp['margen_impresion_horas'] = lp['margen_impresion']
- lp['precio_libro'] = lp['libro']
- lp['precio_pedido'] = lp['total_papel_pedido']
- lp['total_impresion'] = lp['total_linea']
- lp['precios_pliegos'] = lp['pliegos_precio']
- lp['papel_generico_id'] = lp['papel_id']
-
- dateObj = new Date(lp['tiempo_maquina'] * 1000);
- hours = dateObj.getUTCHours();
- minutes = dateObj.getUTCMinutes();
- seconds = dateObj.getSeconds();
- lp['tiempo_maquina'] = hours.toString().padStart(2, '0') + ':' +
- minutes.toString().padStart(2, '0') + ':' +
- seconds.toString().padStart(2, '0');
-
- if(lp.maquina_tipo=='inkjet'){
-
- lp.datosTipologias = {
- negro: lp.rotativa_negro,
- cyan: lp.rotativa_cyan,
- magenta: lp.rotativa_magenta,
- amarillo: lp.rotativa_amarillo,
- cg: lp.rotativa_cg,
- gota_negro: lp.rotativa_gota_negro,
- gota_color: lp.rotativa_gota_color,
- }
-
- lp['paginas_color'] = lp['rotativa_pag_color']
-
- lp['totalImpresion'] = lp['rotativa_total_impresion']
- lp['a_favor_fibra'] = lp['rotativa_a_favor_fibra']
-
- lp['resolucion'] = lp['rotativa_resolucion']
- lp['superficie'] = lp['rotativa_area_paginas']
-
- lp['num_gotas_negro'] = lp['rotativa_num_gotas_negro']
- lp['num_gotas_cyan'] = lp['rotativa_num_gotas_cyan']
- lp['num_gotas_magenta'] = lp['rotativa_num_gotas_magenta']
- lp['num_gotas_amarillo'] = lp['rotativa_num_gotas_amarillo']
- lp['num_gotas_cg'] = lp['rotativa_num_gotas_cg']
-
- lp['precio_pagina_negro'] = lp['rotativa_precio_pag_negro']
- lp['precio_pagina_color'] = lp['rotativa_precio_pag_color']
- lp['factor_altura'] = lp['rotativa_factor_altura']
- lp['factor_anchura'] = lp['rotativa_factor_anchura']
- lp['paginas_por_pliego'] = lp['rotativa_pag_por_pliego']
-
- lp['clicks_libro'] = lp['rotativa_clicks_libro']
- lp['peso_gotas_negro'] = lp['rotativa_peso_gotas_negro']
- lp['peso_gotas_cyan'] = lp['rotativa_peso_gotas_cyan']
- lp['peso_gotas_magenta'] = lp['rotativa_peso_gotas_magenta']
- lp['peso_gotas_amarillo'] = lp['rotativa_peso_gotas_amarillo']
- lp['peso_gotas_cg'] = lp['rotativa_peso_gotas_cg']
- lp['clicks_pedido'] = lp['rotativa_clicks_total']
- lp['precio_click_pedido'] = lp['precio_click_pedido']
- lp['margen_click_pedido'] = lp['margen_click_pedido']
- lp['precio_tinta'] = lp['rotativa_precio_tinta']
-
-
- lp['peso_gotas_negro_pedido'] = lp['rotativa_peso_gotas_negro_pedido']
- lp['peso_gotas_cyan_pedido'] = lp['rotativa_peso_gotas_cyan_pedido']
- lp['peso_gotas_magenta_pedido'] = lp['rotativa_peso_gotas_magenta_pedido']
- lp['peso_gotas_amarillo_pedido'] = lp['rotativa_peso_gotas_amarillo_pedido']
- lp['peso_gotas_cg_pedido'] = lp['rotativa_peso_gotas_cg_pedido']
-
- }
- if(lp.tipo.includes('rot')){
-
- lp['maquina_velocidad'] = lp['rotativa_mxm']
- lp['metros_papel_libro'] = lp['rotativa_metros_libro']
- lp['metros_papel_total'] = lp['rotativa_metros_total']
- lp['velocidad_corte'] = lp['rotativa_velocidad_corte']
- lp['precio_hora_corte'] = lp['rotativa_precio_hora_corte']
- lp['tiempo_corte'] = lp['rotativa_tiempo_corte']
- lp['total_corte'] = lp['rotativa_total_corte']
- }
-
- lp['areaPaginas'] = lp['rotativa_superficie']
-
-
- data = processRowData(lp, lp.tipo, lp.tipo.replace(/_/g, '-'));
-
- var row = tableLineasPresupuesto.row("#" + lp.tipo);
-
- tableLineasPresupuesto.row.add(data).draw()
- row = tableLineasPresupuesto.row("#" + lp.tipo);
-
- row.child(format(row.data())).show();
-
- switch(lp.tipo){
- case 'lp_bn':
- eventos_lp_bn(lp.maquina_tipo=='inkjet'?true:false)
- break
- case 'lp_bnhq':
- eventos_lp_bnhq(lp.maquina_tipo=='inkjet'?true:false)
- break
- case 'lp_color':
- eventos_lp_color(lp.maquina_tipo=='inkjet'?true:false)
- break
- case 'lp_colorhq':
- eventos_lp_colorhq(lp.maquina_tipo=='inkjet'?true:false)
- break
- case 'lp_rot_bn':
- eventos_lp_rot_bn()
- break
- case 'lp_rot_color':
- eventos_lp_rot_color()
- break
- case 'lp_cubierta':
- eventos_lp_cubierta()
- break
- case 'lp_sobrecubierta':
- eventos_lp_sobrecubierta()
- break
- case 'lp_guardas':
- eventos_lp_guardas()
- lp['paginas_impresion'] = lp.paginas_impresion
- break
- }
-
- })
-
-}
-
-
-async function fill_bbdd_from_lp(presupuesto_id){
-
- data=[];
-
- tableLineasPresupuesto.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
- var rowData = this.data();
- const formas = {
- maquina_ancho: rowData.maquina_ancho,
- maquina_alto: rowData.maquina_alto,
- maquina_impresion_ancho: rowData.maquina_impresion_ancho,
- maquina_impresion_alto: rowData.maquina_impresion_alto,
- formas: rowData.formas,
- formas_v: rowData.formas_v,
- formas_h: rowData.formas_h,
- formas_orientacion: rowData.formas_orientacion,
- }
-
- var t_maq_str = rowData.tiempo.split(':'); // split it at the colons
- var t_maq = 0
-
- if(t_maq_str.length == 3)
- t_maq = (+t_maq_str[0]) * 3600 + (+t_maq_str[1]) * 60 + (+t_maq_str[2]);
-
- linea_data = {
- presupuesto_id: presupuesto_id,
- tipo: rowData.row_id,
- paginas: (rowData.row_id=='lp_guardas')?():rowData.paginas,
- papel_id: rowData.papel,
- gramaje: rowData.gramaje,
- papel_impresion_id: rowData.papel_impresion_id,
- papel_impresion: rowData.papel_impresion,
- maquina_id: rowData.maquina_id,
- maquina: rowData.maquina,
- maquina_tipo: rowData.maquinaTipo,
- tiempo_maquina: t_maq,
- pliegos_libro: rowData.numeroPliegos,
- pliegos_pedido: rowData.pliegosPedido,
- pliegos_precio: rowData.precioPliego,
- libro: rowData.libro,
- total_papel_pedido: rowData.totalPapelPedido,
- margen_papel_pedido: rowData.margenPapelPedido,
- mano: rowData.lomo,
- peso: rowData.peso,
- precio_click: rowData.click,
- precio_click_pedido: rowData.totalClicks,
- margen_click_pedido: rowData.margenClicks,
- check_papel_total: $('#' + rowData.row_id + '_checkPapel').is(":checked")?1:0,
- check_impresion_total: $('#' + rowData.row_id + '_checkClicks').is(":checked")?1:0,
- tarifa_impresion_id: rowData.tarifa_impresion_id,
- formas: JSON.stringify(formas),
-
- horas_maquina: rowData.horasMaquina,
- precio_hora: rowData.precioHora,
- precio_impresion: rowData.precioImpresion,
- margen_impresion: rowData.margenImpresion,
- total_linea: rowData.total_linea,
- }
-
- if(rowData.row_id=='lp_guardas')
- linea_data.paginas_impresion = rowData.paginas_impresion
-
- // maquina rotativa o inkjet
- if(linea_data.maquina_tipo=='inkjet'){
-
- linea_data.rotativa_pag_color = rowData.numPagColor
-
- linea_data.rotativa_total_impresion = rowData.totalImpresion
- linea_data.rotativa_a_favor_fibra = rowData.aFavorFibra,
- linea_data.rotativa_negro = rowData.cobNegro
- linea_data.rotativa_cyan = rowData.cobCyan
- linea_data.rotativa_magenta = rowData.cobMagenta
- linea_data.rotativa_amarillo = rowData.cobAmarillo
- linea_data.rotativa_cg = rowData.cobCG
- linea_data.rotativa_gota_negro = rowData.gotaNegro
- linea_data.rotativa_gota_color = rowData.gotaColor
-
-
- linea_data.rotativa_resolucion = rowData.resolucion
- linea_data.rotativa_area_paginas = rowData.areaPaginas
-
- linea_data.rotativa_num_gotas_negro = rowData.gotaNegro
- linea_data.rotativa_num_gotas_cyan = rowData.gotasCyan
- linea_data.rotativa_num_gotas_magenta = rowData.gotasMagenta
- linea_data.rotativa_num_gotas_amarillo = rowData.gotasAmarillo
- linea_data.rotativa_num_gotas_cg = rowData.gotasCG
-
- linea_data.rotativa_precio_pag_negro = rowData.precioPagNegro
- linea_data.rotativa_precio_pag_color = rowData.precioPagColor
- linea_data.rotativa_factor_altura = rowData.factorAltura
- linea_data.rotativa_factor_anchura = rowData.factorAnchura
- linea_data.rotativa_pag_por_pliego = rowData.paginasPliego
-
- linea_data.rotativa_clicks_libro = rowData.clicksLibro
- linea_data.rotativa_peso_gotas_negro = rowData.gTintaNegro
- linea_data.rotativa_peso_gotas_cyan = rowData.gTintaCyan
- linea_data.rotativa_peso_gotas_magenta = rowData.gTintaMagenta
- linea_data.rotativa_peso_gotas_amarillo = rowData.gTintaAmarillo
- linea_data.rotativa_peso_gotas_cg = rowData.gTintaCG
- linea_data.rotativa_clicks_total = rowData.clicksPedido
- linea_data.precio_click_pedido = rowData.totalClicksPedido
- linea_data.rotativa_precio_tinta = rowData.totalTinta
-
-
- linea_data.rotativa_peso_gotas_negro_pedido = rowData.gTintaNegroPed
- linea_data.rotativa_peso_gotas_cyan_pedido = rowData.gTintaCyanPed
- linea_data.rotativa_peso_gotas_magenta_pedido = rowData.gTintaMagentaPed
- linea_data.rotativa_peso_gotas_amarillo_pedido = rowData.gTintaAmarilloPed
- linea_data.rotativa_peso_gotas_cg_pedido = rowData.gTintaCGPed
-
- }
- if(linea_data.tipo.includes('rot')){
-
- linea_data.rotativa_mxm = rowData.metrosMinuto
- linea_data.rotativa_metros_libro = rowData.metrosPapelLibro
- linea_data.rotativa_metros_total = rowData.metrosPapelTotal
- linea_data.rotativa_velocidad_corte = rowData.velocidadCorte
- linea_data.rotativa_precio_hora_corte = rowData.precioHoraCorte
- linea_data.rotativa_tiempo_corte = rowData.tiempoCorte
- linea_data.rotativa_total_corte = rowData.totalCorte
- linea_data.rotativa_a_favor_fibra = rowData.aFavorFibra==true?1:0
- }
-
- data.push(linea_data)
- } );
-
-
- await $.ajax({
- type: 'post',
- url: '= route_to("updateDataOfCosidotapablanda") ?>',
-
- data: {
- tipo: 'lineasPresupuesto',
- datos: data,
- presupuesto_id: presupuesto_id,
- = csrf_token() ?? "token" ?>: = csrf_token() ?>v
- },
- dataType: 'json',
- success:function(response){
-
- token=response.= csrf_token() ?>;
- yeniden(token);
- }
- }).fail(function (jqXHR, textStatus, error) {
- // Handle error here
- console.log(jqXHR)
- });
-
-}
-
-function updateLineasPresupuesto(){
-
- $('#tableLineasPresupuesto tbody tr:visible ').each(function(){
-
- if(this.id.endsWith('lp_bn')){
- calcularPresupuesto_bn({}, true);
- }
- else if(this.id.endsWith('lp_bnhq')){
- calcularPresupuesto_bnhq({}, true);
- }
- else if(this.id.endsWith('lp_color')){
- calcularPresupuesto_color({}, true);
- }
- else if(this.id.endsWith('lp_colorhq')){
- calcularPresupuesto_colorhq({}, true);
- }
- else if(this.id.endsWith('lp_rot_bn')){
- calcularPresupuesto_rot_bn(false, true, {})
- }
- else if(this.id.endsWith('lp_rot_color')){
- calcularPresupuesto_rot_color(false, true, {})
- }
- else if(this.id.endsWith('_cubierta')){
- calcularPresupuesto_cubierta(false, {})
- }
- else if(this.id.endsWith('_guardas')){
- calcularPresupuesto_guardas(false, {})
- }
- })
-
-}
-
-function checkPaginasPresupuesto(){
-
- cantidad_total = 0
-
- tableLineasPresupuesto.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
- var rowData = this.data();
- if(rowData.row_id != 'lp_cubierta' && rowData.row_id != 'lp_sobrecubierta' && rowData.row_id != 'lp_guardas')
- cantidad_total += parseInt(rowData.paginas)
- })
- htmlString = ''
-
- if(cantidad_total != parseInt($('#paginas').val())){
- htmlString = `
-
-
-
-
-
-
= lang("Presupuestos.errores.paginasLP") ?>
-
-
`;
- }
- $('#divAlarmasLineasPresupuesto').html(htmlString)
-}
-
checkPaginasPresupuesto()
= $this->endSection() ?>
\ No newline at end of file
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm.php
index ee35fd5f..34bb8273 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm.php
@@ -250,7 +250,14 @@ $('#saveDireccionEnvio').on('click', function(){
})
}
checkInsertar()
- updateTotales(false, false, true)
+ //updateTotales(false, false, true)
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: true,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: true
+ })
$('#addressForm').modal("hide");
}
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestos.js b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestos.js
new file mode 100644
index 00000000..8e85a96a
--- /dev/null
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestos.js
@@ -0,0 +1,91 @@
+async function updatePresupuesto(
+ {
+ update_lineas = false,
+ update_servicios = false,
+ update_envios = false,
+ update_resumen = false,
+ update_tiradas_alternativas = false
+ }) {
+
+ new Promise(
+ async function(resolve, reject){
+ if(update_lineas){
+ await updateLineasPresupuesto()
+ }
+ else
+ resolve()
+ }
+ ).then(function(){
+ new Promise(
+ async function(resolve, reject){
+ if(update_servicios){
+ await actualizar_servicios()
+ }
+ else
+ resolve()
+ }
+ )
+ }).then(function(){
+ new Promise(
+ function(resolve, reject){
+ if(update_envios){
+ updateTablaEnvios()
+ }
+ else
+ resolve()
+ }
+ )
+ }).then(function(){
+ new Promise(
+ function(resolve, reject){
+ if(update_resumen){
+ updateTotales()
+ }
+ else
+ resolve()
+ }
+ )
+ }).then(function(){
+ new Promise(
+ async function(resolve, reject){
+ if(update_tiradas_alternativas){
+ await actualizar_tiradas_alternativas()
+ }
+ else
+ resolve()
+ }
+ )
+ })
+}
+
+async function updateLineasPresupuesto(){
+
+ $('#tableLineasPresupuesto tbody tr:visible ').each(async function(){
+
+ if(this.id.endsWith('lp_bn')){
+ await calcularPresupuesto_bn({}, true);
+ }
+ else if(this.id.endsWith('lp_bnhq')){
+ await calcularPresupuesto_bnhq({}, true);
+ }
+ else if(this.id.endsWith('lp_color')){
+ await calcularPresupuesto_color({}, true);
+ }
+ else if(this.id.endsWith('lp_colorhq')){
+ await calcularPresupuesto_colorhq({}, true);
+ }
+ else if(this.id.endsWith('lp_rot_bn')){
+ await calcularPresupuesto_rot_bn(false, true, {})
+ }
+ else if(this.id.endsWith('lp_rot_color')){
+ await calcularPresupuesto_rot_color(false, true, {})
+ }
+ else if(this.id.endsWith('_cubierta')){
+ await calcularPresupuesto_cubierta(false, {})
+ }
+ else if(this.id.endsWith('_guardas')){
+ await calcularPresupuesto_guardas(false, {})
+ }
+ })
+
+}
\ No newline at end of file
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php
index 32c509ad..769457c9 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php
@@ -77,205 +77,7 @@
-
-
-
-= $this->section("additionalInlineJs") ?>
-
-
-
-function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){
- var totalPapel = 0
- var margenPapel = 0
-
- var totalImpresion = 0
- var totalImpresionforMargen = 0
- var margenImpresion = 0
-
- var totalServicios = 0
- var margenServicios = 0
-
- var totalEnvios = 0
- var margenEnvios = 0
-
- if(updateLP){
- if(typeof tableLineasPresupuesto !== 'undefined'){
- tableLineasPresupuesto.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
- var rowData = this.data();
-
- if(rowData.check_papel_total){
- totalPapel += parseFloat($('#' + rowData.row_id + '_totalPapelPedido').val())
- margenPapel += parseFloat($('#' + rowData.row_id + '_margenPapelPedido').val())
-
- }
- if(rowData.check_impresion_total){
- totalImpresion += parseFloat($('#' + rowData.row_id + '_precioImpresion').val())
- totalImpresion += parseFloat($('#' + rowData.row_id + '_totalClicks').val())
-
- if(rowData.maquinaTipo=='inkjet'){
- totalImpresion += parseFloat(rowData.totalTinta)
- totalImpresion += parseFloat(rowData.totalCorte)
- }
- margenImpresion += parseFloat($('#' + rowData.row_id + '_margenImpresion').val())
- margenImpresion += parseFloat($('#' + rowData.row_id + '_margenClicks').val())
- if(!isNaN(parseFloat($('#' + rowData.row_id + 'lp_bn_totalTinta').val())))
- totalImpresion += parseFloat($('#' + rowData.row_id + 'lp_bn_totalTinta').val())
- }
- })
- }
-
- totalImpresion -= margenImpresion
- totalPapel -= margenPapel
-
- var porcentajeMargenPapel = isNaN(margenPapel/(totalPapel)*100.0)?0:margenPapel/(totalPapel)*100.0
- $('#porcentajeMargenPapel').text(porcentajeMargenPapel.toFixed(0) + '%')
- $('#totalCostePapel').text(totalPapel.toFixed(2)+ '€')
- $('#margenPapel').text(margenPapel.toFixed(2) + '€')
-
- var porcentajeMargenImpresion = isNaN(margenImpresion/(totalImpresion)*100.0)?0:margenImpresion/(totalImpresion)*100.0
- $('#porcentajeMargenImpresion').text(porcentajeMargenImpresion.toFixed(0) + '%')
- $('#totalCosteImpresion').text(totalImpresion.toFixed(2) + '€')
- $('#margenImpresion').text(margenImpresion.toFixed(2) + '€')
- }
- else{
- totalPapel = parseFloat($('#totalCostePapel').text().replace('€', ''))
- margenPapel = parseFloat($('#margenPapel').text().replace('€', ''))
- totalImpresion = parseFloat($('#totalCosteImpresion').text().replace('€', ''))
- margenImpresion = parseFloat($('#margenImpresion').text().replace('€', ''))
- }
-
- if(updateServicios){
-
- if ( typeof tableServiciosEnc !== 'undefined' && tableServiciosEnc.rows().count() > 0){
- $('#tableOfServiciosEncuadernacion tbody tr').each(function(){
- var currentRow = $(this).closest("tr");
- var subId = $('#tableOfServiciosEncuadernacion').DataTable().cell(currentRow,0).node().innerHTML;
- var total = parseFloat($('#precio_total_encuadernado_' + subId)[0].value)
- totalServicios += total
- margenServicios += (total*parseFloat($('#enc_margen_' + subId)[0].innerHTML)/100.0)
- })
- }
-
- if ( typeof tableServiciosAcabado !== 'undefined' && tableServiciosAcabado.rows().count() > 0){
- $('#tableOfServiciosAcabado tbody tr').each(function(){
- var currentRow = $(this).closest("tr");
- var subId = $('#tableOfServiciosAcabado').DataTable().cell(currentRow,0).node().innerHTML;
- var total = parseFloat($('#precio_total_acabado_' + subId)[0].value)
- totalServicios += total
- margenServicios += (total*parseFloat($('#acabado_margen_' + subId)[0].innerHTML)/100.0)
- })
- }
-
- if ( typeof tableServiciosPreimpresion !== 'undefined' && tableServiciosPreimpresion.rows().count() > 0){
-
- $('#tableOfServiciosPreimpresion tbody tr').each(function(){
- var currentRow = $(this).closest("tr");
- var subId = $('#tableOfServiciosPreimpresion').DataTable().cell(currentRow,0).node().innerHTML;
- var total = parseFloat($('#precio_preimpresion_' + subId)[0].value)
- totalServicios += total
- margenServicios += (total*parseFloat($('#preimpresion_margen_' + subId)[0].innerHTML)/100.0)
- })
- }
-
- if ( typeof tableServiciosManipulado !== 'undefined' && tableServiciosManipulado.rows().count() > 0){
-
- $('#tableOfServiciosManipulado tbody tr').each(function(){
- var currentRow = $(this).closest("tr");
- var subId = $('#tableOfServiciosManipulado').DataTable().cell(currentRow,0).node().innerHTML;
- var total = parseFloat($('#precio_total_manipulado_' + subId)[0].value)
- totalServicios += total
- margenServicios += (total*parseFloat($('#manipulado_margen_' + subId)[0].innerHTML)/100.0)
- })
- }
-
- totalServicios -= margenServicios;
- var porcentajeMargenServicios = margenServicios/(margenServicios+totalServicios)*100
- $('#porcentajeMargenServicios').text(isNaN(porcentajeMargenServicios.toFixed(0))?0:porcentajeMargenServicios.toFixed(0) + '%')
- $('#totalServicios').text(totalServicios.toFixed(2) + '€')
- $('#margenServicios').text(margenServicios.toFixed(2) + '€')
- }
- else{
-
- totalServicios = parseFloat($('#totalServicios').text().replace('€', ''))
- margenServicios = parseFloat($('#margenServicios').text().replace('€', ''))
- }
-
- if(updateEnvio){
-
- if ( typeof tableEnvios !== 'undefined' && tableEnvios.rows().count() > 0){
- tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) {
- var data = this.data()
- totalEnvios += parseFloat(data.precio)
- margenEnvios += parseFloat((data.precio)*data.margen/100)
- } );
- }
-
- totalEnvios -= margenEnvios
- $('#totalEnvios').text(totalEnvios.toFixed(2) + '€')
- $('#margenEnvios').text(margenEnvios.toFixed(2) + '€')
- }
- else{
- totalEnvios = parseFloat($('#totalEnvios').text().replace('€', ''))
- margenEnvios = parseFloat($('#margenEnvios').text().replace('€', ''))
- }
-
- var totalCostes = totalPapel + totalImpresion + totalServicios + totalEnvios
- var totalMargenes = margenPapel + margenImpresion + margenServicios + margenEnvios
- $('#totalCostes').text((totalCostes).toFixed(2) + '€')
- $('#totalMargenes').text((totalMargenes).toFixed(2) + '€')
-
- if($('#total_descuentoPercent').val()<0){
- $('#total_descuentoPercent').val(0)
- }
- var totalAntesDescuento = totalCostes + totalMargenes
- var totalDescuento = totalAntesDescuento * parseInt($('#total_descuentoPercent').val())/100
- var totalPresupuesto = totalAntesDescuento - totalDescuento
- var precioUnidad = totalPresupuesto/parseInt($('#tirada').val())
-
- $('#totalAntesDescuento').text((totalAntesDescuento).toFixed(2) + '€')
- $('#descuentoTotal').text((totalDescuento).toFixed(2) + '€')
- $('#totalDespuesDecuento').text((totalPresupuesto).toFixed(2) + '€')
- $('#precioUnidadPresupuesto').text((precioUnidad).toFixed(2) + '€')
-
-}
-
-function getValuesResumenForm(){
- var formResumen = ""
- formResumen += '&total_coste_papel=' + $('#totalCostePapel').text().replace('€', '')
- formResumen += '&total_margen_papel=' + $('#margenPapel').text().replace('€', '')
- formResumen += '&total_margenPercent_papel=' + $('#porcentajeMargenPapel').text().replace('%', '')
-
- formResumen += '&total_coste_impresion=' + $('#totalCosteImpresion').text().replace('€', '')
- formResumen += '&total_margen_impresion=' + $('#margenImpresion').text().replace('€', '')
- formResumen += '&total_margenPercent_impresion=' + $('#porcentajeMargenImpresion').text().replace('%', '')
-
- formResumen += '&total_coste_servicios=' + $('#totalServicios').text().replace('€', '')
- formResumen += '&total_margen_servicios=' + $('#margenServicios').text().replace('€', '')
- formResumen += '&total_margenPercent_servicios=' + $('#porcentajeMargenServicios').text().replace('%', '')
-
- formResumen += '&total_coste_envios=' + $('#totalEnvios').text().replace('€', '')
- formResumen += '&total_margen_envios=' + $('#margenEnvios').text().replace('€', '')
-
- formResumen += '&total_costes=' + $('#totalCostes').text().replace('€', '')
- formResumen += '&total_margenes=' + $('#totalMargenes').text().replace('€', '')
-
- formResumen += '&total_antes_descuento=' + $('#totalAntesDescuento').text().replace('€', '')
- formResumen += '&total_descuento=' + $('#descuentoTotal').text().replace('€', '')
- formResumen += '&total_descuentoPercent=' + $('#total_descuentoPercent').val()
- formResumen += '&total_presupuesto=' + $('#totalDespuesDecuento').text().replace('€', '')
- formResumen += '&total_precio_unidad=' + $('#precioUnidadPresupuesto').text().replace('€', '')
-
- return formResumen
-}
-$(".update-totales").on("change", function(){
- updateTotales(true, true, true)
-})
-
-= $this->endSection() ?>
-
-
-
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestos.js b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestos.js
new file mode 100644
index 00000000..94166ddd
--- /dev/null
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestos.js
@@ -0,0 +1,195 @@
+function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){
+ var totalPapel = 0
+ var margenPapel = 0
+
+ var totalImpresion = 0
+ var totalImpresionforMargen = 0
+ var margenImpresion = 0
+
+ var totalServicios = 0
+ var margenServicios = 0
+
+ var totalEnvios = 0
+ var margenEnvios = 0
+
+ if(updateLP){
+ if(typeof $("#tableLineasPresupuesto").DataTable() !== 'undefined'){
+ $("#tableLineasPresupuesto").DataTable().rows().every( function ( rowIdx, tableLoop, rowLoop ) {
+ var rowData = this.data();
+
+ if(rowData.check_papel_total){
+ totalPapel += parseFloat($('#' + rowData.row_id + '_totalPapelPedido').val())
+ margenPapel += parseFloat($('#' + rowData.row_id + '_margenPapelPedido').val())
+
+ }
+ if(rowData.check_impresion_total){
+ totalImpresion += parseFloat($('#' + rowData.row_id + '_precioImpresion').val())
+ totalImpresion += parseFloat($('#' + rowData.row_id + '_totalClicks').val())
+
+ if(rowData.maquinaTipo=='inkjet'){
+ totalImpresion += parseFloat(rowData.totalTinta)
+ totalImpresion += parseFloat(rowData.totalCorte)
+ }
+ margenImpresion += parseFloat($('#' + rowData.row_id + '_margenImpresion').val())
+ margenImpresion += parseFloat($('#' + rowData.row_id + '_margenClicks').val())
+ if(!isNaN(parseFloat($('#' + rowData.row_id + 'lp_bn_totalTinta').val())))
+ totalImpresion += parseFloat($('#' + rowData.row_id + 'lp_bn_totalTinta').val())
+ }
+ })
+ }
+
+ totalImpresion -= margenImpresion
+ totalPapel -= margenPapel
+
+ var porcentajeMargenPapel = isNaN(margenPapel/(totalPapel)*100.0)?0:margenPapel/(totalPapel)*100.0
+ $('#porcentajeMargenPapel').text(porcentajeMargenPapel.toFixed(0) + '%')
+ $('#totalCostePapel').text(totalPapel.toFixed(2)+ '€')
+ $('#margenPapel').text(margenPapel.toFixed(2) + '€')
+
+ var porcentajeMargenImpresion = isNaN(margenImpresion/(totalImpresion)*100.0)?0:margenImpresion/(totalImpresion)*100.0
+ $('#porcentajeMargenImpresion').text(porcentajeMargenImpresion.toFixed(0) + '%')
+ $('#totalCosteImpresion').text(totalImpresion.toFixed(2) + '€')
+ $('#margenImpresion').text(margenImpresion.toFixed(2) + '€')
+ }
+ else{
+ totalPapel = parseFloat($('#totalCostePapel').text().replace('€', ''))
+ margenPapel = parseFloat($('#margenPapel').text().replace('€', ''))
+ totalImpresion = parseFloat($('#totalCosteImpresion').text().replace('€', ''))
+ margenImpresion = parseFloat($('#margenImpresion').text().replace('€', ''))
+ }
+
+ if(updateServicios){
+
+ if ( typeof $("#tableOfServiciosEncuadernacion").DataTable() !== 'undefined' && $("#tableOfServiciosEncuadernacion").DataTable().rows().count() > 0){
+ $('#tableOfServiciosEncuadernacion tbody tr').each(function(){
+ var currentRow = $(this).closest("tr");
+ var subId = $('#tableOfServiciosEncuadernacion').DataTable().cell(currentRow,0).node().innerHTML;
+ var total = parseFloat($('#precio_total_encuadernado_' + subId)[0].value)
+ totalServicios += total
+ margenServicios += (total*parseFloat($('#enc_margen_' + subId)[0].innerHTML)/100.0)
+ })
+ }
+
+ if ( typeof $("#tableOfServiciosAcabado").DataTable() !== 'undefined' && $("#tableOfServiciosAcabado").DataTable().rows().count() > 0){
+ $('#tableOfServiciosAcabado tbody tr').each(function(){
+ var currentRow = $(this).closest("tr");
+ var subId = $('#tableOfServiciosAcabado').DataTable().cell(currentRow,0).node().innerHTML;
+ var total = parseFloat($('#precio_total_acabado_' + subId)[0].value)
+ totalServicios += total
+ margenServicios += (total*parseFloat($('#acabado_margen_' + subId)[0].innerHTML)/100.0)
+ })
+ }
+
+ if ( typeof $("#tableOfServiciosPreimpresion").DataTable() !== 'undefined' && $("#tableOfServiciosPreimpresion").DataTable().rows().count() > 0){
+
+ $('#tableOfServiciosPreimpresion tbody tr').each(function(){
+ var currentRow = $(this).closest("tr");
+ var subId = $('#tableOfServiciosPreimpresion').DataTable().cell(currentRow,0).node().innerHTML;
+ var total = parseFloat($('#precio_preimpresion_' + subId)[0].value)
+ totalServicios += total
+ margenServicios += (total*parseFloat($('#preimpresion_margen_' + subId)[0].innerHTML)/100.0)
+ })
+ }
+
+ if ( typeof $("#tableOfServiciosManipulado").DataTable() !== 'undefined' && $("#tableOfServiciosManipulado").DataTable().rows().count() > 0){
+
+ $('#tableOfServiciosManipulado tbody tr').each(function(){
+ var currentRow = $(this).closest("tr");
+ var subId = $('#tableOfServiciosManipulado').DataTable().cell(currentRow,0).node().innerHTML;
+ var total = parseFloat($('#precio_total_manipulado_' + subId)[0].value)
+ totalServicios += total
+ margenServicios += (total*parseFloat($('#manipulado_margen_' + subId)[0].innerHTML)/100.0)
+ })
+ }
+
+ totalServicios -= margenServicios;
+ var porcentajeMargenServicios = margenServicios/(margenServicios+totalServicios)*100
+ $('#porcentajeMargenServicios').text(isNaN(porcentajeMargenServicios.toFixed(0))?0:porcentajeMargenServicios.toFixed(0) + '%')
+ $('#totalServicios').text(totalServicios.toFixed(2) + '€')
+ $('#margenServicios').text(margenServicios.toFixed(2) + '€')
+ }
+ else{
+
+ totalServicios = parseFloat($('#totalServicios').text().replace('€', ''))
+ margenServicios = parseFloat($('#margenServicios').text().replace('€', ''))
+ }
+
+ if(updateEnvio){
+
+ if ( typeof $('#tableOfDireccionesEnvio').DataTable() !== 'undefined' && $('#tableOfDireccionesEnvio').DataTable().rows().count() > 0){
+ $('#tableOfDireccionesEnvio').DataTable().rows().every( function ( rowIdx, tableLoop, rowLoop ) {
+ var data = this.data()
+ totalEnvios += parseFloat(data.precio)
+ margenEnvios += parseFloat((data.precio)*data.margen/100)
+ } );
+ }
+
+ totalEnvios -= margenEnvios
+ $('#totalEnvios').text(totalEnvios.toFixed(2) + '€')
+ $('#margenEnvios').text(margenEnvios.toFixed(2) + '€')
+ }
+ else{
+ totalEnvios = parseFloat($('#totalEnvios').text().replace('€', ''))
+ margenEnvios = parseFloat($('#margenEnvios').text().replace('€', ''))
+ }
+
+ var totalCostes = totalPapel + totalImpresion + totalServicios + totalEnvios
+ var totalMargenes = margenPapel + margenImpresion + margenServicios + margenEnvios
+ $('#totalCostes').text((totalCostes).toFixed(2) + '€')
+ $('#totalMargenes').text((totalMargenes).toFixed(2) + '€')
+
+ if($('#total_descuentoPercent').val()<0){
+ $('#total_descuentoPercent').val(0)
+ }
+ var totalAntesDescuento = totalCostes + totalMargenes
+ var totalDescuento = totalAntesDescuento * parseInt($('#total_descuentoPercent').val())/100
+ var totalPresupuesto = totalAntesDescuento - totalDescuento
+ var precioUnidad = totalPresupuesto/parseInt($('#tirada').val())
+
+ $('#totalAntesDescuento').text((totalAntesDescuento).toFixed(2) + '€')
+ $('#descuentoTotal').text((totalDescuento).toFixed(2) + '€')
+ $('#totalDespuesDecuento').text((totalPresupuesto).toFixed(2) + '€')
+ $('#precioUnidadPresupuesto').text((precioUnidad).toFixed(2) + '€')
+}
+
+function getValuesResumenForm(){
+ var formResumen = ""
+ formResumen += '&total_coste_papel=' + $('#totalCostePapel').text().replace('€', '')
+ formResumen += '&total_margen_papel=' + $('#margenPapel').text().replace('€', '')
+ formResumen += '&total_margenPercent_papel=' + $('#porcentajeMargenPapel').text().replace('%', '')
+
+ formResumen += '&total_coste_impresion=' + $('#totalCosteImpresion').text().replace('€', '')
+ formResumen += '&total_margen_impresion=' + $('#margenImpresion').text().replace('€', '')
+ formResumen += '&total_margenPercent_impresion=' + $('#porcentajeMargenImpresion').text().replace('%', '')
+
+ formResumen += '&total_coste_servicios=' + $('#totalServicios').text().replace('€', '')
+ formResumen += '&total_margen_servicios=' + $('#margenServicios').text().replace('€', '')
+ formResumen += '&total_margenPercent_servicios=' + $('#porcentajeMargenServicios').text().replace('%', '')
+
+ formResumen += '&total_coste_envios=' + $('#totalEnvios').text().replace('€', '')
+ formResumen += '&total_margen_envios=' + $('#margenEnvios').text().replace('€', '')
+
+ formResumen += '&total_costes=' + $('#totalCostes').text().replace('€', '')
+ formResumen += '&total_margenes=' + $('#totalMargenes').text().replace('€', '')
+
+ formResumen += '&total_antes_descuento=' + $('#totalAntesDescuento').text().replace('€', '')
+ formResumen += '&total_descuento=' + $('#descuentoTotal').text().replace('€', '')
+ formResumen += '&total_descuentoPercent=' + $('#total_descuentoPercent').val()
+ formResumen += '&total_presupuesto=' + $('#totalDespuesDecuento').text().replace('€', '')
+ formResumen += '&total_precio_unidad=' + $('#precioUnidadPresupuesto').text().replace('€', '')
+
+ return formResumen
+}
+
+
+
+
+$(".update-totales").on("change", function(){
+ updatePresupuesto({
+ update_lineas: false,
+ update_servicios: false,
+ update_envios: false,
+ update_resumen: true,
+ update_tiradas_alternativas: false
+ })
+})
\ No newline at end of file
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_tiradasAlternativasItems.js b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_tiradasAlternativasItems.js
index 3449163d..859b1e5a 100644
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_tiradasAlternativasItems.js
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_tiradasAlternativasItems.js
@@ -5,6 +5,7 @@ const lastColNr_tiradasAlt = $('#tableTiradas').find("tr:first th").length - 1;
// Función para generar los botones de acción de la tabla de tiradas
const actionBtns_tiradasAlt = function (data) {
return `
+
`;
};
@@ -22,7 +23,7 @@ var tableTiradas;
initTableTiradas();
fill_tiradas_alternativas();
- $('.tiradas-alternativas').each(function() {
+ /*$('.tiradas-alternativas').each(function() {
if ($(this).is('input')) {
$(this).bind('change', update_tiradas_alternativas);
} else if ($(this).is('button')) {
@@ -34,21 +35,23 @@ var tableTiradas;
// para los botones de borrar
$(this).bind('click', update_tiradas_alternativas);
}
- });
+ });*/
})();
-function update_tiradas_alternativas(){
- // se obtiene la primera columna de la tabla de tiradas
- const data = tableTiradas.rows().data().toArray();
- // se borra la tabla de tiradas
- tableTiradas.clear().draw();
- const tiradas = data.map(row => row.tirada);
- // por cada tirada, se añade una fila a la tabla de tiradas
- tiradas.forEach(tirada => {
- add_tirada_alternativa(tirada);
- });
+async function actualizar_tiradas_alternativas(){
+ if(tableTiradas !== undefined && tableTiradas.rows().count() > 0){
+ // se obtiene la primera columna de la tabla de tiradas
+ const data = tableTiradas.rows().data().toArray();
+ // se borra la tabla de tiradas
+ tableTiradas.clear().draw();
+ const tiradas = data.map(row => row.tirada);
+ // por cada tirada, se añade una fila a la tabla de tiradas
+ await tiradas.forEach(async function(tirada){
+ await add_tirada_alternativa(tirada);
+ });
+ }
}
@@ -62,7 +65,7 @@ $('#add_tirada_alt').on('click', function () {
// Funcion para añadir una tirada alternativa
-function add_tirada_alternativa(tirada_alt) {
+async function add_tirada_alternativa(tirada_alt) {
// se comprueba que la tirada no existe ya en la tabla
const exists = tableTiradas.rows().data().toArray().some(row => row.tirada == tirada_alt);
@@ -92,7 +95,7 @@ function add_tirada_alternativa(tirada_alt) {
datos = Object.assign(datos, window.token_ajax);
// Se realiza la petición AJAX
- $.ajax({
+ await $.ajax({
type: "POST",
url: window.get_tirada_url,
data: datos,
@@ -109,28 +112,38 @@ function add_tirada_alternativa(tirada_alt) {
if(data.lineas.length >0){
// Se cogen los valores de la linea con los datos correspondientes
- $.each(data.lineas, function(key, value) {
+ data.lineas.forEach(function(value) {
coste_total += value.total_coste;
margen_total += value.total_margen;
});
+
+ //console.log(datos.tirada);
// Se obtiene el precio de los servicios
const valueAcabados = await get_servAcabados_tiradasAlternativas(parseInt(datos.tirada));
- costes_servicios += valueAcabados.coste;
- margen_servicios += valueAcabados.margen;
+ costes_servicios += parseFloat(valueAcabados.coste);
+ margen_servicios += parseFloat(valueAcabados.margen);
+
+ //console.log('coste acabados ('+ datos.tirada +'): ' + valueAcabados.coste);
const valueEncuadernacion = await get_servEncuadernacion_tiradasAlternativas(
parseInt(datos.tirada), parseInt( $('#paginas').val()), parseInt(dimension.ancho), parseInt(dimension.alto));
- costes_servicios += valueEncuadernacion.coste;
- margen_servicios += valueEncuadernacion.margen;
+ costes_servicios += parseFloat(valueEncuadernacion.coste);
+ margen_servicios += parseFloat(valueEncuadernacion.margen);
+
+ //console.log('coste encuadernacion ('+ datos.tirada +'): ' + valueEncuadernacion.coste);
const valueManipulado = await get_servManipulado_tiradasAlternativas(parseInt(datos.tirada));
- costes_servicios += valueManipulado.coste;
- margen_servicios += valueManipulado.margen;
+ costes_servicios += parseFloat(valueManipulado.coste);
+ margen_servicios += parseFloat(valueManipulado.margen);
+
+ //console.log('coste manipulado ('+ datos.tirada +'): ' + valueManipulado.coste);
const valuePreimpresion = await get_servPreimpresion_tiradasAlternativas(parseInt(datos.tirada));
- costes_servicios += valuePreimpresion.coste;
- margen_servicios += valuePreimpresion.margen;
+ costes_servicios += parseFloat(valuePreimpresion.coste);
+ margen_servicios += parseFloat(valuePreimpresion.margen);
+
+ //console.log('coste preimpresion ('+ datos.tirada +'): ' + valuePreimpresion.coste);
const valueTransporte = await get_coste_envio_tiradasAlternativas(parseInt(datos.tirada));
coste_envio = valueTransporte.coste;
@@ -157,7 +170,7 @@ function add_tirada_alternativa(tirada_alt) {
}
else {
var htmlString = '';
- if(!typeIsOk){
+ if(typeIsOk){
htmlString = `
@@ -180,7 +193,11 @@ function add_tirada_alternativa(tirada_alt) {
`;
}
- $('#alert-tiradas_alt').html(htmlString);
+ $('#alert-tiradas_alt').hide().empty().html(htmlString).fadeIn("slow", function(){
+ setTimeout(function(){
+ $('#alert-tiradas_alt').fadeOut("slow");
+ }, 5000);
+ });
}
@@ -212,7 +229,7 @@ function initTableTiradas() {
"paging": false,
"info": false,
"searching": false,
- "ordering": false,
+ "ordering": true,
"autoWidth": false,
"responsive": true,
"columnDefs": [
@@ -238,6 +255,7 @@ function initTableTiradas() {
className: 'row-edit dt-center'
}
],
+ order: [[0, 'asc']]
});
}
@@ -251,6 +269,19 @@ $(document).on('click', '.btn-delete-tirada', function (e) {
})
+// Función para usar la tirada alternativa como tirada principal
+$(document).on('click', '.comfirm-tirada-alt', function (e) {
+
+ const row = $(this).closest('tr');
+ const data = tableTiradas.row(row).data();
+
+ updateTablaEnvios($('#tirada').val(), data.tirada).then(function(){
+ $('#tirada').val(data.tirada);
+ $('#tirada').trigger('change', [false]);
+ })
+})
+
+
// Función para generar el JSON de las lineas de presupuesto para calcular las tiradas
function generate_json_tiradas() {
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/viewCosidotapablandaForm.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/viewCosidotapablandaForm.php
index 1e354ad2..c9d2cec4 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/viewCosidotapablandaForm.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/viewCosidotapablandaForm.php
@@ -243,6 +243,12 @@
const url = window.location.href;
const url_parts = url.split('/');
+if (url_parts[url_parts.length - 2] == 'edit') {
+ id = url_parts[url_parts.length - 1];
+} else {
+ id = -1;
+}
+
= $this->section("additionalInlineJs") ?>
@@ -250,15 +256,7 @@ const url_parts = url.split('/');
function generate_json_tiradas() {
const data = tableTiradas.rows().data().toArray();
$('#tirada_alternativa_json_data').val(JSON.stringify(data));
- }
-
-
- if (url_parts[url_parts.length - 2] == 'edit') {
- id = url_parts[url_parts.length - 1];
- } else {
- id = -1;
- }
-
+ }
$('#presupuestoForm').on("submit", function(event) {
event.preventDefault();
@@ -298,6 +296,10 @@ const url_parts = url.split('/');
+
+
+
+
@@ -306,7 +308,7 @@ const url_parts = url.split('/');
window.token_ajax= {= csrf_token() ?? "token" ?>: = csrf_token() ?>v};
window.csrf_token = '= csrf_token() ?>';
-
+
= $this->endSection() ?>
@@ -327,12 +329,17 @@ const url_parts = url.split('/');
+
+
+
+
+
= $this->endSection() ?>