',
'
' + parseFloat(row.precio_unidad).toFixed(2) + '',
- '
' + convertirTiempo(row.tiempo) + '',
+ (row.hasOwnProperty('paginas_por_cuadernillo') && row.paginas_por_cuadernillo!=null)?selectForCuadernillos(row.tarifa_id, 32):'',
+ '
' + convertirTiempo(row.tiempo) + '',
'
',
'
' + parseFloat(row.margen).toFixed(2) + '',
'
'
@@ -745,7 +923,7 @@ async function get_tarifas_enc(tipo=null, tarifa_id = -1){
data: function (params) {
if( parseInt( $('#tirada').val() )>0){
- var tirada = parseInt($('#tirada').val())
+ var tirada = parseInt($('#tirada').val()) + parseInt($('#merma').val())
}
else{
var tirada = 0
@@ -755,8 +933,8 @@ async function get_tarifas_enc(tipo=null, tarifa_id = -1){
tarifa_id: row.tarifa_id,
paginas: parseInt($('#paginas').val())>0?parseInt($('#paginas').val()):0,
tirada: tirada,
- ancho: ancho_libro,
- alto: alto_libro,
+ ancho: dimension.ancho,
+ alto: dimension.alto,
searchtxt: params.term, // search term
}
return_data = Object.assign(return_data, window.token_ajax);
@@ -773,9 +951,17 @@ async function get_tarifas_enc(tipo=null, tarifa_id = -1){
}
});
- $('#proveedor_enc_' + row.tarifa_id).on('change', proveedor_enc_event)
-
+ $('#proveedor_enc_' + row.tarifa_id).on('change', select_enc_event)
+
+ if(row.hasOwnProperty('paginas_por_cuadernillo') && row.paginas_por_cuadernillo!=null){
+ $('#cuadernillos_' + row.tarifa_id).select2({
+ allowClear: false,
+ minimumResultsForSearch: -1,
+ });
+
+ $('#cuadernillos_' + row.tarifa_id).on('change', select_enc_event)
+ }
});
check_serv_enc_error()
yeniden(data[window.csrf_token]);
@@ -821,16 +1007,21 @@ function get_datos_encuadernacion(){
case 3:
values['precio_unidad'] = $(this).text()
break
- case 4:
+ case 4:
+ values['paginas_por_cuadernillo'] = $(this).children(":first").val()
+ // Si el valor es "undefined" se pone a null
+ if(values['paginas_por_cuadernillo'] == "undefined")
+ values['paginas_por_cuadernillo'] = null
+ case 5:
values['tiempo'] = $(this).text()
// se pasa el string hh:mm:ss a horas
if(values['tiempo'] != null)
values['tiempo'] = parseInt(values['tiempo'].split(':')[0]) + parseInt(values['tiempo'].split(':')[1])/60 + parseInt(values['tiempo'].split(':')[2])/3600
break
- case 5:
+ case 6:
values['precio_total'] = $(this).children(":first").val()
break
- case 6:
+ case 7:
values['margen'] = $(this).text()
break
}
@@ -1678,9 +1869,19 @@ async function actualizar_servicios(update_preimpresion=false){
.then(response => response.json())
.then(data => {
data.lines.forEach((line) => {
+ $('#proveedor_acabado_' + line[0].tarifa_id).off('change')
+ if(line[0].hasOwnProperty('proveedor_id')){
+ $('#proveedor_acabado_' + line[0].tarifa_id)
+ .append('
')
+ }
+ else{
+ $('#proveedor_acabado_' + line[0].tarifa_id).empty()
+ .append('
')
+ }
$('#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))
+ $('#proveedor_acabado_' + line[0].tarifa_id).on('change', select_enc_event)
});
check_serv_acabado_error()
yeniden(data[window.csrf_token]);
@@ -1709,7 +1910,7 @@ async function actualizar_servicios(update_preimpresion=false){
$('#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)
+ $('#proveedor_enc_' + line[0].tarifa_id).on('change', select_enc_event)
});
check_serv_enc_error()
yeniden(data[window.csrf_token]);
diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php
index 09eb3fef..e54931d2 100644
--- a/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php
+++ b/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php
@@ -90,6 +90,7 @@
| = lang('Presupuestos.id') ?> |
= lang('Tarifaacabado.tarifaacabado') ?> |
+ = lang('Proveedores.proveedor') ?> |
= lang('Presupuestos.precioUnidad') ?> |
= lang('Presupuestos.precioTotal') ?> |
|
@@ -167,6 +168,7 @@
= lang('Presupuestos.tarifa') ?> |
= lang('Proveedores.proveedor') ?> |
= lang('Presupuestos.precioUnidad') ?> |
+ = lang('Presupuestos.paginasCuadernillo') ?> |
= lang('Presupuestos.tiempo') ?> |
= lang('Presupuestos.precioTotal') ?> |
|
@@ -296,6 +298,7 @@
window.routes_servicios = {
dataTableOfPresupuestoAcabados: "=route_to('dataTableOfPresupuestoAcabados') ?>",
+ menuItemsOfPresupuestoAcabados: '= route_to("menuItemsOfPresupuestoAcabados") ?>',
dataTableOfPresupuestoPreimpresion: "=route_to('dataTableOfPresupuestoPreimpresiones') ?>",
dataTableOfPresupuestoEncuadernaciones: "=route_to('dataTableOfPresupuestoEncuadernaciones') ?>",
dataTableOfPresupuestoManipulados: "=route_to('dataTableOfPresupuestoManipulados') ?>",
diff --git a/ci4/app/Views/themes/vuexy/form/tarifas/acabado/viewTarifaAcabadoForm.php b/ci4/app/Views/themes/vuexy/form/tarifas/acabado/viewTarifaAcabadoForm.php
index 658d1510..022b3896 100644
--- a/ci4/app/Views/themes/vuexy/form/tarifas/acabado/viewTarifaAcabadoForm.php
+++ b/ci4/app/Views/themes/vuexy/form/tarifas/acabado/viewTarifaAcabadoForm.php
@@ -45,12 +45,13 @@
+ | = lang('TarifaAcabadoLineas.proveedor') ?> |
= lang('TarifaAcabadoLineas.tiradaMin') ?> |
= lang('TarifaAcabadoLineas.precioMax') ?> |
= lang('TarifaAcabadoLineas.tiradaMax') ?> |
= lang('TarifaAcabadoLineas.precioMin') ?> |
= lang('TarifaAcabadoLineas.margen') ?> |
- |
+ |
@@ -85,7 +86,7 @@
};
- editor = new $.fn.dataTable.Editor( {
+ var editor = new $.fn.dataTable.Editor( {
ajax: {
url: "= route_to('tarifaAcabadoLineasDTE') ?>",
headers: {
@@ -94,7 +95,11 @@
},
table : "#tableOfTarifaacabadolineas",
idSrc: 'id',
- fields: [ {
+ fields: [
+ {
+ name: "proveedor_id",
+ type: "select",
+ }, {
name: "tirada_min"
}, {
name: "precio_max"
@@ -107,6 +112,9 @@
}, {
"name": "tarifa_acabado_id",
"type": "hidden"
+ },{
+ name: "proveedor_nombre",
+ "type": "hidden"
},{
"name": "deleted_at",
"type": "hidden"
@@ -117,6 +125,10 @@
]
} );
+ // Generación de la lista de proveedores (id, nombre) para encuadernación
+ const suppliersList = ;
+ editor.field( 'proveedor_id' ).update( suppliersList );
+
editor.on( 'preSubmit', function ( e, d, type ) {
if ( type === 'create'){
d.data[0]['tarifa_acabado_id'] = id;
@@ -141,18 +153,94 @@
});
+ function searchProviders(){
+ var values = [];
+ $('#select_Proveedor').find(':selected').each(function () {
+ values.push($(this).val());
+ });
+ theTable.column(0).search(values).draw();
+ }
+
+
+ // Setup - add a text input to each footer cell
+ $('#tableOfTarifaacabadolineas thead tr').clone(true).appendTo('#tableOfTarifaacabadolineas thead');
+ $('#tableOfTarifaacabadolineas thead tr:eq(1) th').each(function (i) {
+ if (!$(this).hasClass("noFilter")) {
+ var title = $(this).text();
+ title = title.replace(/ /g, "_").replace(/\./g, "_");
+
+
+ if(i==0){
+
+ // Agregar un selector en la primera columna
+ $(this).html(``);
+
+ // Agregar opciones al selector
+ var selector = $('select', this);
+ const suppliersList = ;
+ //selector.append(''); // Opción vacía
+ for (j = 0; j < suppliersList.length; j++) {
+ selector.append('');
+ };
+
+ $('#select_' + title).select2({
+ multiple: true,
+ placeholder: ""
+ });
+
+
+ selector.bind('select2:select', searchProviders);
+ selector.bind('select2:unselect', searchProviders);
+
+ $('#select_' + title).val("").trigger('change');
+
+ }
+ else{
+
+
+ $(this).html(`
+
+
+
+
+ `);
+
+
+
+ $('input', this).on('change clear', function () {
+ var minInputValue = parseFloat($(`#min_${title}`).val().replace(',','.')) || "";
+ var maxInputValue = parseFloat($(`#max_${title}`).val().replace(',','.')) || "";
+
+
+ if (theTable.column(i).search() !== [minInputValue,maxInputValue]) {
+ theTable
+ .column(i)
+ .search([minInputValue,maxInputValue])
+ .draw();
+ }
+ });
+ }
+ }
+ else {
+ $(this).html('');
+ }
+ });
+
+
var theTable = $('#tableOfTarifaacabadolineas').DataTable( {
- serverSide: true,
+ orderCellsTop: true,
+ serverSide: true,
processing: true,
autoWidth: true,
responsive: true,
+ fixedHeader: true,
lengthMenu: [ 5, 10, 25],
order: [[ 0, "asc" ], [ 1, "asc" ]],
pageLength: 10,
lengthChange: true,
- searching: false,
paging: true,
info: false,
+ stateSave: false,
dom: '<"mt-4"><"float-end"B><"float-start"l><"mt-4 mb-3"p>',
ajax : $.fn.dataTable.pipeline( {
url: '= route_to('tarifaAcabadoLineasDT') ?>',
@@ -164,6 +252,12 @@
async: true,
}),
columns: [
+ { 'data': 'proveedor_id',
+ render: function(data, type, row, meta) {
+ var value = suppliersList.find(element => element.value === data);
+ return value['label'];
+ },
+ },
{ 'data': 'tirada_min' },
{ 'data': 'precio_max' },
{ 'data': 'tirada_max' },
@@ -180,7 +274,6 @@
searchable: false,
targets: [lastColNr]
},
- {"orderData": [ 0, 1 ], "targets": 0 },
],
language: {
@@ -244,6 +337,7 @@
=$this->section('css') ?>
">
+ ">
=$this->endSection() ?>
diff --git a/ci4/app/Views/themes/vuexy/form/tarifas/encuadernacion/viewTarifaEncuadernacionForm.php b/ci4/app/Views/themes/vuexy/form/tarifas/encuadernacion/viewTarifaEncuadernacionForm.php
index 82c2353a..6c09faa8 100644
--- a/ci4/app/Views/themes/vuexy/form/tarifas/encuadernacion/viewTarifaEncuadernacionForm.php
+++ b/ci4/app/Views/themes/vuexy/form/tarifas/encuadernacion/viewTarifaEncuadernacionForm.php
@@ -49,11 +49,11 @@
= lang('TarifaEncuadernacionTiradas.proveedor') ?> |
= lang('TarifaEncuadernacionTiradas.tiradaMin') ?> |
= lang('TarifaEncuadernacionTiradas.tiradaMax') ?> |
- = lang('Tarifaencuadernacion.precioMin') ?> |
+ = lang('Tarifaencuadernacion.importeMin') ?> |
= lang('Tarifaencuadernacion.importeFijo') ?> |
|
-
+
diff --git a/ci4/app/Views/themes/vuexy/main/menus/configuracion_menu.php b/ci4/app/Views/themes/vuexy/main/menus/configuracion_menu.php
index e7a37b69..38a75716 100644
--- a/ci4/app/Views/themes/vuexy/main/menus/configuracion_menu.php
+++ b/ci4/app/Views/themes/vuexy/main/menus/configuracion_menu.php
@@ -75,6 +75,13 @@ if (
+ user()->can('proveedores.menu')) { ?>
+
+
user()->can('ubicaciones.menu')) { ?>