Merge branch 'dev/add_precio_coste_servicios' into 'main'

añadido el coste en las tablas de los servicios

See merge request jjimenez/safekat!333
This commit is contained in:
2024-09-22 09:56:47 +00:00
5 changed files with 123 additions and 40 deletions

View File

@ -19,6 +19,7 @@ return [
'updatedAt' => 'Updated At', 'updatedAt' => 'Updated At',
'userCreatedId' => 'User Created ID', 'userCreatedId' => 'User Created ID',
'userUpdateId' => 'User Update ID', 'userUpdateId' => 'User Update ID',
'coste' => 'Cost',
'validation' => [ 'validation' => [
'nombre' => [ 'nombre' => [
'max_length' => 'The {field} field cannot exceed {param} characters in length.', 'max_length' => 'The {field} field cannot exceed {param} characters in length.',

View File

@ -18,6 +18,7 @@ return [
'updatedAt' => 'Actualizado en', 'updatedAt' => 'Actualizado en',
'userCreatedId' => 'ID Usuario \"Creado en\"', 'userCreatedId' => 'ID Usuario \"Creado en\"',
'userUpdateId' => 'ID Usuario \"Actualizado en\"', 'userUpdateId' => 'ID Usuario \"Actualizado en\"',
'coste' => 'Coste',
'validation' => [ 'validation' => [
'nombre' => [ 'nombre' => [
'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.', 'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.',

View File

@ -18,6 +18,7 @@ return [
'updatedAt' => 'Actualizado en', 'updatedAt' => 'Actualizado en',
'userCreatedId' => 'ID Usuario \"Creado en\"', 'userCreatedId' => 'ID Usuario \"Creado en\"',
'userUpdateId' => 'ID Usuario \"Actualizado en\"', 'userUpdateId' => 'ID Usuario \"Actualizado en\"',
'coste' => 'Coste',
'validation' => [ 'validation' => [
'nombre' => [ 'nombre' => [
'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.', 'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.',

View File

@ -204,6 +204,11 @@ function init_servicio_acabado(){
else if (element.sobrecubierta == 1){ else if (element.sobrecubierta == 1){
nombre_completo += ' (' + window.Presupuestos.sobrecubierta + ')' nombre_completo += ' (' + window.Presupuestos.sobrecubierta + ')'
} }
var precio_unidad = parseFloat(element.precio_unidad).toFixed(2)
var margen = parseFloat(element.margen).toFixed(2)
var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2)
tableServiciosAcabado.row.add([ tableServiciosAcabado.row.add([
element.tarifa_acabado_id, element.tarifa_acabado_id,
nombre_completo, nombre_completo,
@ -212,9 +217,9 @@ function init_servicio_acabado(){
element.proveedor + element.proveedor +
'</option>' + '</option>' +
'</select>', '</select>',
'<span id="precio_unidad_acabado_' + element.tarifa_acabado_id + '">' + parseFloat(element.precio_unidad).toFixed(2) + '</span>', '<span id="precio_unidad_acabado_' + element.tarifa_acabado_id + '">' + precio_unidad_coste + ' / ' + precio_unidad + '</span>',
'<input class="update-totales-servicios" id="precio_total_acabado_' + element.tarifa_acabado_id +'" value="' + parseFloat(element.precio_total).toFixed(2) + '"></input>', '<input class="update-totales-servicios" id="precio_total_acabado_' + element.tarifa_acabado_id +'" value="' + parseFloat(element.precio_total).toFixed(2) + '"></input>',
'<span style="display: none;" class="update-totales" id="acabado_margen_' + element.tarifa_acabado_id + '">' + parseFloat(element.margen).toFixed(2) + '</span>', '<span style="display: none;" class="update-totales" id="acabado_margen_' + element.tarifa_acabado_id + '">' + margen + '</span>',
'<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + element.tarifa_acabado_id +'" data-text="' + nombre_completo + '"></i></a>' '<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + element.tarifa_acabado_id +'" data-text="' + nombre_completo + '"></i></a>'
]).draw(false) ]).draw(false)
@ -301,9 +306,13 @@ function select_acabado_event(){
data: datos, data: datos,
success: function (data) { success: function (data) {
$('#precio_unidad_acabado_' + datos.tarifa_acabado_id).text(parseFloat(data.values[0].precio_unidad).toFixed(2)) var precio_unidad = parseFloat(data.values[0].precio_unidad).toFixed(2)
var margen = parseFloat(data.values[0].margen).toFixed(2)
var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2)
$('#precio_unidad_acabado_' + datos.tarifa_acabado_id).text(precio_unidad_coste + ' / ' + precio_unidad)
$('#precio_total_acabado_' + datos.tarifa_acabado_id).val(parseFloat(data.values[0].total).toFixed(2)) $('#precio_total_acabado_' + datos.tarifa_acabado_id).val(parseFloat(data.values[0].total).toFixed(2))
$('#acabado_margen_' + datos.tarifa_acabado_id).val(parseFloat(data.values[0].margen).toFixed(2)) $('#acabado_margen_' + datos.tarifa_acabado_id).val(margen)
yeniden(data[window.csrf_token]); yeniden(data[window.csrf_token]);
return true; return true;
@ -366,6 +375,10 @@ function get_tarifas_acabado(tarifa_id = -1, uso=null){
if(uso!= null) if(uso!= null)
nombre += ' (' + uso + ')' nombre += ' (' + uso + ')'
var precio_unidad = parseFloat(row.precio_unidad).toFixed(2)
var margen = parseFloat(row.margen).toFixed(2)
var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2)
tableServiciosAcabado.row.add([ tableServiciosAcabado.row.add([
row.tarifa_id, row.tarifa_id,
nombre, nombre,
@ -374,9 +387,9 @@ function get_tarifas_acabado(tarifa_id = -1, uso=null){
row.proveedor + row.proveedor +
'</option>' + '</option>' +
'</select>', '</select>',
'<span id="precio_unidad_acabado_' + row.tarifa_id + '">' + parseFloat(row.precio_unidad).toFixed(2) + '</span>', '<span id="precio_unidad_acabado_' + row.tarifa_id + '">' + precio_unidad_coste + ' / ' + precio_unidad + '</span>',
'<input class="update-totales-servicios" id="precio_total_acabado_' + row.tarifa_id +'" value="' + parseFloat(row.total).toFixed(2) + '"></input>', '<input class="update-totales-servicios" id="precio_total_acabado_' + row.tarifa_id +'" value="' + parseFloat(row.total).toFixed(2) + '"></input>',
'<span style="display: none;" class="update-totales" id="acabado_margen_' + row.tarifa_id + '">' + parseFloat(row.margen).toFixed(2) + '</span>', '<span style="display: none;" class="update-totales" id="acabado_margen_' + row.tarifa_id + '">' + margen + '</span>',
'<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2 tiradas-alternativas" data-id="' + row.tarifa_id +'" data-text="' + nombre +'"></i></a>' '<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2 tiradas-alternativas" data-id="' + row.tarifa_id +'" data-text="' + nombre +'"></i></a>'
]).draw(false) ]).draw(false)
@ -550,7 +563,7 @@ function get_datos_acabado(){
values['proveedor_id'] = $(this).children(":first").select2('data')[0].id values['proveedor_id'] = $(this).children(":first").select2('data')[0].id
break break
case 3: case 3:
values['precio_unidad'] = $(this).text() values['precio_unidad'] = $(this).text().split('/')[1].trim()
break break
case 4: case 4:
values['precio_total'] = $(this).children(":first").val() values['precio_total'] = $(this).children(":first").val()
@ -653,6 +666,10 @@ function init_servicio_encuadernado(){
const tarifa_id = element.tarifa_encuadernado_id const tarifa_id = element.tarifa_encuadernado_id
var proveedor_nombre = element.proveedor===null? window.Presupuestos.no_disponible: element.proveedor var proveedor_nombre = element.proveedor===null? window.Presupuestos.no_disponible: element.proveedor
var precio_unidad = parseFloat(element.precio_unidad).toFixed(2)
var margen = parseFloat(element.margen).toFixed(0)
var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2)
var linea = [ var linea = [
element.tarifa_encuadernado_id, element.tarifa_encuadernado_id,
element.nombre, element.nombre,
@ -661,11 +678,11 @@ function init_servicio_encuadernado(){
proveedor_nombre + proveedor_nombre +
'</option>' + '</option>' +
'</select>', '</select>',
'<span id="precio_unidad_encuadernado_' + element.tarifa_encuadernado_id + '">' + parseFloat(element.precio_unidad).toFixed(2) + '</span>', '<span id="precio_unidad_encuadernado_' + element.tarifa_encuadernado_id + '">' + precio_unidad_coste + ' / ' + precio_unidad + '</span>',
(element.hasOwnProperty('paginas_por_cuadernillo') && element.paginas_por_cuadernillo!=null)?selectForCuadernillos(element.tarifa_encuadernado_id, element.paginas_por_cuadernillo):'', (element.hasOwnProperty('paginas_por_cuadernillo') && element.paginas_por_cuadernillo!=null)?selectForCuadernillos(element.tarifa_encuadernado_id, element.paginas_por_cuadernillo):'',
'<span id="tiempo_encuadernado_' + element.tarifa_encuadernado_id + '">' + convertirTiempo(element.tiempo) + '</span>', '<span id="tiempo_encuadernado_' + element.tarifa_encuadernado_id + '">' + convertirTiempo(element.tiempo) + '</span>',
'<input class="update-totales-servicios" id="precio_total_encuadernado_' + element.tarifa_encuadernado_id +'" value="' + parseFloat(element.precio_total).toFixed(2) + '"></input>', '<input class="update-totales-servicios" id="precio_total_encuadernado_' + element.tarifa_encuadernado_id +'" value="' + parseFloat(element.precio_total).toFixed(2) + '"></input>',
'<span style="display: none;" class="update-totales" id="enc_margen_' + element.tarifa_encuadernado_id + '">' + parseFloat(element.margen).toFixed(2) + '</span>', '<span style="display: none;" class="update-totales" id="enc_margen_' + element.tarifa_encuadernado_id + '">' + margen + '</span>',
'<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + element.tarifa_encuadernado_id +'"></i></a>' '<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + element.tarifa_encuadernado_id +'"></i></a>'
] ]
@ -815,10 +832,14 @@ function select_enc_event(){
data: datos, data: datos,
success: function (data) { success: function (data) {
$('#precio_unidad_encuadernado_' + datos.tarifa_encuadernacion_id).text(parseFloat(data.values[0].precio_unidad).toFixed(2)) var precio_unidad = parseFloat(data.values[0].precio_unidad).toFixed(2)
var margen = parseFloat(data.values[0].margen).toFixed(0)
var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2)
$('#precio_unidad_encuadernado_' + datos.tarifa_encuadernacion_id).text(precio_unidad_coste + ' / ' + precio_unidad)
$('#tiempo_encuadernado_' + datos.tarifa_encuadernacion_id).text(convertirTiempo(data.values[0].tiempo)) $('#tiempo_encuadernado_' + datos.tarifa_encuadernacion_id).text(convertirTiempo(data.values[0].tiempo))
$('#precio_total_encuadernado_' + datos.tarifa_encuadernacion_id).val(parseFloat(data.values[0].total).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)) $('#enc_margen_' + datos.tarifa_encuadernacion_id).val(margen)
yeniden(data[window.csrf_token]); yeniden(data[window.csrf_token]);
return true; return true;
@ -890,6 +911,10 @@ async function get_tarifas_enc(tipo=null, tarifa_id = -1){
data.values.forEach((row) => { data.values.forEach((row) => {
var precio_unidad = parseFloat(row.precio_unidad).toFixed(2)
var margen = parseFloat(row.margen).toFixed(0)
var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2)
tableServiciosEnc.row.add([ tableServiciosEnc.row.add([
row.tarifa_id, row.tarifa_id,
row.tarifa_nombre, row.tarifa_nombre,
@ -898,11 +923,11 @@ async function get_tarifas_enc(tipo=null, tarifa_id = -1){
row.proveedor + row.proveedor +
'</option>' + '</option>' +
'</select>', '</select>',
'<span id="precio_unidad_encuadernado_' + row.tarifa_id + '">' + parseFloat(row.precio_unidad).toFixed(2) + '</span>', '<span id="precio_unidad_encuadernado_' + row.tarifa_id + '">' + precio_unidad_coste + ' / ' + precio_unidad + '</span>',
(row.hasOwnProperty('paginas_por_cuadernillo') && row.paginas_por_cuadernillo!=null)?selectForCuadernillos(row.tarifa_id, 32):'', (row.hasOwnProperty('paginas_por_cuadernillo') && row.paginas_por_cuadernillo!=null)?selectForCuadernillos(row.tarifa_id, 32):'',
'<span id="tiempo_encuadernado_' + row.tarifa_id + '">' + convertirTiempo(row.tiempo) + '</span>', '<span id="tiempo_encuadernado_' + row.tarifa_id + '">' + convertirTiempo(row.tiempo) + '</span>',
'<input class="update-totales-servicios" id="precio_total_encuadernado_' + row.tarifa_id +'" value="' + parseFloat(row.total).toFixed(2) + '"></input>', '<input class="update-totales-servicios" id="precio_total_encuadernado_' + row.tarifa_id +'" value="' + parseFloat(row.total).toFixed(2) + '"></input>',
'<span style="display: none;" class="update-totales" id="enc_margen_' + row.tarifa_id + '">' + parseFloat(row.margen).toFixed(2) + '</span>', '<span style="display: none;" class="update-totales" id="enc_margen_' + row.tarifa_id + '">' + margen + '</span>',
'<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + row.tarifa_id +'"></i></a>' '<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + row.tarifa_id +'"></i></a>'
]).draw(false) ]).draw(false)
@ -1008,7 +1033,7 @@ function get_datos_encuadernacion(){
values['proveedor_id'] = $(this).children(":first").select2('data')[0].id values['proveedor_id'] = $(this).children(":first").select2('data')[0].id
break break
case 3: case 3:
values['precio_unidad'] = $(this).text() values['precio_unidad'] = $(this).text().split('/')[1].trim()
break break
case 4: case 4:
values['paginas_por_cuadernillo'] = $(this).children(":first").val() values['paginas_por_cuadernillo'] = $(this).children(":first").val()
@ -1123,12 +1148,16 @@ function init_servicio_manipulado(){
window.serviciosmanipuladoList.forEach((element) =>{ window.serviciosmanipuladoList.forEach((element) =>{
var precio_unidad = parseFloat(element.precio_unidad).toFixed(2)
var margen = parseFloat(element.margen).toFixed(0)
var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2)
tableServiciosManipulado.row.add([ tableServiciosManipulado.row.add([
element.tarifa_manipulado_id, element.tarifa_manipulado_id,
element.nombre, element.nombre,
'<span id="precio_unidad_manipulado_' + element.tarifa_manipulado_id + '">' + parseFloat(element.precio_unidad).toFixed(2) + '</span>', '<span id="precio_unidad_manipulado_' + element.tarifa_manipulado_id + '">' + precio_unidad_coste + ' / ' + precio_unidad + '</span>',
'<input class="update-totales-servicios" id="precio_total_manipulado_' + element.tarifa_manipulado_id +'" value="' + parseFloat(element.precio_total).toFixed(2) + '"></input>', '<input class="update-totales-servicios" id="precio_total_manipulado_' + element.tarifa_manipulado_id +'" value="' + parseFloat(element.precio_total).toFixed(2) + '"></input>',
'<span style="display: none;" class="update-totales" id="manipulado_margen_' + element.tarifa_manipulado_id + '">' + parseFloat(element.margen).toFixed(2) + '</span>', '<span style="display: none;" class="update-totales" id="manipulado_margen_' + element.tarifa_manipulado_id + '">' + margen + '</span>',
'<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + element.tarifa_manipulado_id +'"></i></a>' '<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + element.tarifa_manipulado_id +'"></i></a>'
]).draw(false) ]).draw(false)
@ -1202,12 +1231,16 @@ async function get_tarifas_manipulado(tipo=null, tarifa_id = -1){
data.values.forEach((row) => { data.values.forEach((row) => {
var precio_unidad = parseFloat(row.precio_unidad).toFixed(2)
var margen = parseFloat(row.margen).toFixed(0)
var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2)
tableServiciosManipulado.row.add([ tableServiciosManipulado.row.add([
row.tarifa_id, row.tarifa_id,
row.tarifa_nombre, row.tarifa_nombre,
'<span id="precio_unidad_manipulado_' + row.tarifa_id + '">' + parseFloat(row.precio_unidad).toFixed(2) + '</span>', '<span id="precio_unidad_manipulado_' + row.tarifa_id + '">' + precio_unidad_coste + ' / ' + precio_unidad + '</span>',
'<input class="update-totales-servicios" id="precio_total_manipulado_' + row.tarifa_id +'" value="' + parseFloat(row.total).toFixed(2) + '"></input>', '<input class="update-totales-servicios" id="precio_total_manipulado_' + row.tarifa_id +'" value="' + parseFloat(row.total).toFixed(2) + '"></input>',
'<span style="display: none;" class="update-totales" id="manipulado_margen_' + row.tarifa_id + '">' + parseFloat(row.margen).toFixed(2) + '</span>', '<span style="display: none;" class="update-totales" id="manipulado_margen_' + row.tarifa_id + '">' + margen + '</span>',
'<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + row.tarifa_id +'"></i></a>' '<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + row.tarifa_id +'"></i></a>'
]).draw(false) ]).draw(false)
@ -1276,7 +1309,7 @@ function get_datos_manipulado(){
values['tarifa_id'] = $(this).text() values['tarifa_id'] = $(this).text()
break break
case 2: case 2:
values['precio_unidad'] = $(this).text() values['precio_unidad'] = $(this).text().split('/')[1].trim()
break break
case 3: case 3:
values['precio_total'] = $(this).children(":first").val() values['precio_total'] = $(this).children(":first").val()
@ -1374,11 +1407,16 @@ function init_servicio_preimpresion(){
window.serviciospreimpresionList.forEach((element) =>{ window.serviciospreimpresionList.forEach((element) =>{
var precio = parseFloat(element.precio).toFixed(2)
var margen = parseFloat(element.margen).toFixed(2)
var coste = (precio/(1+margen/100)).toFixed(2)
tableServiciosPreimpresion.row.add([ tableServiciosPreimpresion.row.add([
element.tarifa_preimpresion_id, element.tarifa_preimpresion_id,
element.nombre, element.nombre,
'<input class="update-totales-servicios" id="precio_preimpresion_' + element.tarifa_preimpresion_id +'" value="' + parseFloat(element.precio).toFixed(2) + '"></input>', '<span id="coste_preimprecion_' + element.tarifa_id + '">' + coste + '</span>',
'<span style="display: none;" class="update-totales" id="preimpresion_margen_' + element.tarifa_preimpresion_id + '">' + parseFloat(element.margen).toFixed(2) + '</span>', '<input class="update-totales-servicios" id="precio_preimpresion_' + element.tarifa_preimpresion_id +'" value="' + precio + '"></input>',
'<span style="display: none;" class="update-totales" id="preimpresion_margen_' + element.tarifa_preimpresion_id + '">' + margen + '</span>',
'<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + element.tarifa_preimpresion_id +'"></i></a>' '<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + element.tarifa_preimpresion_id +'"></i></a>'
]).draw(false) ]).draw(false)
@ -1434,9 +1472,14 @@ function get_tarifas_preimpresion(tarifa_id = -1){
data.values.forEach((row) => { data.values.forEach((row) => {
var precio = parseFloat(row.precio).toFixed(2)
var margen = parseFloat(row.margen).toFixed(2)
var coste = (precio/(1+margen/100)).toFixed(2)
tableServiciosPreimpresion.row.add([ tableServiciosPreimpresion.row.add([
row.tarifa_id, row.tarifa_id,
row.tarifa_nombre, row.tarifa_nombre,
'<span id="coste_preimprecion_' + row.tarifa_id + '">' + coste + '</span>',
'<input class="update-totales-servicios" id="precio_preimpresion_' + row.tarifa_id +'" value="' + parseFloat(row.precio).toFixed(2) + '"></input>', '<input class="update-totales-servicios" id="precio_preimpresion_' + row.tarifa_id +'" value="' + parseFloat(row.precio).toFixed(2) + '"></input>',
'<span style="display: none;" class="update-totales" id="preimpresion_margen_' + row.tarifa_id + '">' + parseFloat(row.margen).toFixed(2) + '</span>', '<span style="display: none;" class="update-totales" id="preimpresion_margen_' + row.tarifa_id + '">' + parseFloat(row.margen).toFixed(2) + '</span>',
'<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + row.tarifa_id +'"></i></a>' '<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + row.tarifa_id +'"></i></a>'
@ -1528,10 +1571,10 @@ function get_datos_preimpresion(){
case 0: case 0:
values['tarifa_id'] = $(this).text() values['tarifa_id'] = $(this).text()
break break
case 2: case 3:
values['precio'] = $(this).children(":first").val() values['precio'] = $(this).children(":first").val()
break break
case 3: case 4:
values['margen'] = $(this).text() values['margen'] = $(this).text()
break break
} }
@ -1627,11 +1670,16 @@ function init_servicio_extra(){
window.serviciosextraList.forEach((element) =>{ window.serviciosextraList.forEach((element) =>{
var precio = parseFloat(element.precio).toFixed(2)
var margen = parseFloat(element.margen).toFixed(2)
var coste = (precio/(1+margen/100)).toFixed(2)
tableServiciosExtra.row.add([ tableServiciosExtra.row.add([
element.tarifa_extra_id, element.tarifa_extra_id,
element.nombre, element.nombre,
'<input class="update-totales-servicios" id="precio_servicioextra_' + element.tarifa_extra_id +'" value="' + parseFloat(element.precio).toFixed(2) + '"></input>', '<span id="coste_servicioextra_' + element.tarifa_id + '">' + coste + '</span>',
'<span style="display: none;" class="update-totales" id="servicioextra_margen_' + element.tarifa_extra_id + '">' + parseFloat(element.margen).toFixed(2) + '</span>', '<input class="update-totales-servicios" id="precio_servicioextra_' + element.tarifa_extra_id +'" value="' + precio + '"></input>',
'<span style="display: none;" class="update-totales" id="servicioextra_margen_' + element.tarifa_extra_id + '">' + margen + '</span>',
'<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + element.tarifa_extra_id +'"></i></a>' '<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + element.tarifa_extra_id +'"></i></a>'
]).draw(false) ]).draw(false)
@ -1687,11 +1735,16 @@ function get_tarifas_extra(tarifa_id = -1){
data.values.forEach((row) => { data.values.forEach((row) => {
var precio = parseFloat(row.precio).toFixed(2)
var margen = parseFloat(row.margen).toFixed(2)
var coste = (precio/(1+margen/100)).toFixed(2)
tableServiciosExtra.row.add([ tableServiciosExtra.row.add([
row.tarifa_id, row.tarifa_id,
row.tarifa_nombre, row.tarifa_nombre,
'<input class="update-totales-servicios" id="precio_servicioextra_' + row.tarifa_id +'" value="' + parseFloat(row.precio).toFixed(2) + '"></input>', '<span id="coste_servicioextra_' + row.tarifa_id + '">' + coste + '</span>',
'<span style="display: none;" class="update-totales" id="servicioextra_margen_' + row.tarifa_id + '">' + parseFloat(row.margen).toFixed(2) + '</span>', '<input class="update-totales-servicios" id="precio_servicioextra_' + row.tarifa_id +'" value="' + precio + '"></input>',
'<span style="display: none;" class="update-totales" id="servicioextra_margen_' + row.tarifa_id + '">' + margen + '</span>',
'<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + row.tarifa_id +'"></i></a>' '<a href="javascript:void(0);"><i class="ti ti-trash ti-sm btn-delete-serv mx-2" data-id="' + row.tarifa_id +'"></i></a>'
]).draw(false) ]).draw(false)
@ -1744,10 +1797,10 @@ function get_datos_serviciosextra(){
case 0: case 0:
values['tarifa_id'] = $(this).text() values['tarifa_id'] = $(this).text()
break break
case 2: case 3:
values['precio'] = $(this).children(":first").val() values['precio'] = $(this).children(":first").val()
break break
case 3: case 4:
values['margen'] = $(this).text() values['margen'] = $(this).text()
break break
} }
@ -1872,6 +1925,11 @@ async function actualizar_servicios(update_preimpresion=false){
.then(response => response.json()) .then(response => response.json())
.then(data => { .then(data => {
data.lines.forEach((line) => { data.lines.forEach((line) => {
var precio_unidad = parseFloat(line[0].precio_unidad).toFixed(2)
var margen = parseFloat(line[0].margen).toFixed(0)
var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2)
$('#proveedor_acabado_' + line[0].tarifa_id).off('change') $('#proveedor_acabado_' + line[0].tarifa_id).off('change')
if(line[0].hasOwnProperty('proveedor_id')){ if(line[0].hasOwnProperty('proveedor_id')){
$('#proveedor_acabado_' + line[0].tarifa_id) $('#proveedor_acabado_' + line[0].tarifa_id)
@ -1881,9 +1939,9 @@ async function actualizar_servicios(update_preimpresion=false){
$('#proveedor_acabado_' + line[0].tarifa_id).empty() $('#proveedor_acabado_' + line[0].tarifa_id).empty()
.append('<option selected="selected" value="' + line[0].proveedor_id + '">' + window.Presupuestos.no_disponible + '</option>') .append('<option selected="selected" value="' + line[0].proveedor_id + '">' + window.Presupuestos.no_disponible + '</option>')
} }
$('#precio_unidad_acabado_' + line[0].tarifa_id).text(parseFloat(line[0].precio_unidad).toFixed(2)) $('#precio_unidad_acabado_' + line[0].tarifa_id).text(precio_unidad_coste + " / " + precio_unidad)
$('#precio_total_acabado_' + line[0].tarifa_id).val(parseFloat(line[0].total).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)) $('#acabado_margen_' + line[0].tarifa_id).text(margen)
$('#proveedor_acabado_' + line[0].tarifa_id).on('change', select_enc_event) $('#proveedor_acabado_' + line[0].tarifa_id).on('change', select_enc_event)
}); });
check_serv_acabado_error() check_serv_acabado_error()
@ -1901,6 +1959,10 @@ async function actualizar_servicios(update_preimpresion=false){
.then(data => { .then(data => {
data.lines.forEach((line) => { data.lines.forEach((line) => {
var precio_unidad = parseFloat(line[0].precio_unidad).toFixed(2)
var margen = parseFloat(line[0].margen).toFixed(0)
var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2)
$('#proveedor_enc_' + line[0].tarifa_id).off('change') $('#proveedor_enc_' + line[0].tarifa_id).off('change')
if(line[0].hasOwnProperty('proveedor_id')){ if(line[0].hasOwnProperty('proveedor_id')){
$('#proveedor_enc_' + line[0].tarifa_id) $('#proveedor_enc_' + line[0].tarifa_id)
@ -1910,9 +1972,9 @@ async function actualizar_servicios(update_preimpresion=false){
$('#proveedor_enc_' + line[0].tarifa_id).empty() $('#proveedor_enc_' + line[0].tarifa_id).empty()
.append('<option selected="selected" value="' + line[0].proveedor_id + '">' + window.Presupuestos.no_disponible + '</option>') .append('<option selected="selected" value="' + line[0].proveedor_id + '">' + window.Presupuestos.no_disponible + '</option>')
} }
$('#precio_unidad_encuadernado_' + line[0].tarifa_id).text(parseFloat(line[0].precio_unidad).toFixed(2)) $('#precio_unidad_encuadernado_' + line[0].tarifa_id).text(precio_unidad_coste + " / " + precio_unidad)
$('#precio_total_encuadernado_' + line[0].tarifa_id).val(parseFloat(line[0].total).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)) $('#enc_margen_' + line[0].tarifa_id).val(margen)
$('#proveedor_enc_' + line[0].tarifa_id).on('change', select_enc_event) $('#proveedor_enc_' + line[0].tarifa_id).on('change', select_enc_event)
}); });
check_serv_enc_error() check_serv_enc_error()
@ -1928,9 +1990,14 @@ async function actualizar_servicios(update_preimpresion=false){
.then(response => response.json()) .then(response => response.json())
.then(data => { .then(data => {
data.lines.forEach((line) => { data.lines.forEach((line) => {
$('#precio_unidad_manipulado_' + line[0].tarifa_id).text(parseFloat(line[0].precio_unidad).toFixed(2))
var precio_unidad = parseFloat(line[0].precio_unidad).toFixed(2)
var margen = parseFloat(line[0].margen).toFixed(0)
var precio_unidad_coste = (precio_unidad/(1+margen/100)).toFixed(2)
$('#precio_unidad_manipulado_' + line[0].tarifa_id).text(precio_unidad_coste + " / " + precio_unidad)
$('#precio_total_manipulado_' + line[0].tarifa_id).val(parseFloat(line[0].total).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)) $('#manipulado_margen_' + line[0].tarifa_id).val(margen)
}); });
check_serv_manipulado_error() check_serv_manipulado_error()
yeniden(data[window.csrf_token]); yeniden(data[window.csrf_token]);
@ -1947,8 +2014,14 @@ async function actualizar_servicios(update_preimpresion=false){
.then(data => { .then(data => {
data.lines.forEach((line) => { 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)) var precio = parseFloat(line[0].total).toFixed(2)
var margen = parseFloat(line[0].margen).toFixed(2)
var coste = (precio/(1+margen/100)).toFixed(2)
$('#coste_preimprecion_' + line[0].tarifa_id).text(coste)
$('#precio_preimpresion_' + line[0].tarifa_id).val(precio)
$('#preimpresion_margen_' + line[0].tarifa_id).val(margen)
}); });
check_serv_preimpresion_error() check_serv_preimpresion_error()
yeniden(data[window.csrf_token]); yeniden(data[window.csrf_token]);
@ -1966,9 +2039,14 @@ async function actualizar_servicios(update_preimpresion=false){
.then(response => response.json()) .then(response => response.json())
.then(data => { .then(data => {
var precio = parseFloat(data[0].total).toFixed(2)
var margen = parseFloat(data[0].margen).toFixed(2)
var coste = (precio/(1+margen/100)).toFixed(2)
data.lines.forEach((line) => { data.lines.forEach((line) => {
$('#precio_serviciosextra_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2)) $('#coste_servicioextra_' + line[0].tarifa_id).text(coste)
$('#serviciosextra_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2)) $('#precio_serviciosextra_' + line[0].tarifa_id).val(precio)
$('#serviciosextra_margen_' + line[0].tarifa_id).val(margen)
}); });
check_serv_preimpresion_error(); check_serv_preimpresion_error();
yeniden(data[window.csrf_token]); yeniden(data[window.csrf_token]);

View File

@ -129,6 +129,7 @@
<tr> <tr>
<th><?= lang('Presupuestos.id') ?></th> <th><?= lang('Presupuestos.id') ?></th>
<th><?= lang('Tarifapreimpresion.tarifapreimpresion') ?></th> <th><?= lang('Tarifapreimpresion.tarifapreimpresion') ?></th>
<th><?= lang('Tarifapreimpresion.coste') ?></th>
<th><?= lang('Presupuestos.precio') ?></th> <th><?= lang('Presupuestos.precio') ?></th>
<th></th> <th></th>
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th> <th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>
@ -246,6 +247,7 @@
<tr> <tr>
<th><?= lang('Presupuestos.id') ?></th> <th><?= lang('Presupuestos.id') ?></th>
<th><?= lang('Tarifaextra.tarifaextra') ?></th> <th><?= lang('Tarifaextra.tarifaextra') ?></th>
<th><?= lang('Tarifaextra.coste') ?></th>
<th><?= lang('Presupuestos.precio') ?></th> <th><?= lang('Presupuestos.precio') ?></th>
<th></th> <th></th>
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th> <th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>