Merge branch 'main' into mod/direcciones_ferro_prototipo

This commit is contained in:
2025-06-30 16:27:59 +02:00
5 changed files with 98 additions and 49 deletions

View File

@ -161,11 +161,14 @@ return [
'lomo' => 'Lomo', 'lomo' => 'Lomo',
'lomoRedondo' => 'Lomo redondo', 'lomoRedondo' => 'Lomo redondo',
'peso' => 'Peso', 'peso' => 'Peso',
'click' => 'Click', 'click' => 'Click (C+M)',
'totalClicks' => 'Total clicks', 'totalClicks' => 'Total clicks',
'costeClicks' => 'Coste clicks',
'totalClicksMargen' => 'Marge clicks',
'horas' => 'Horas máquina', 'horas' => 'Horas máquina',
'precioHora' => 'Precio hora', 'precioHora' => 'Precio hora (C+M)',
'precioImpresion' => 'Total horas', 'precioImpresion' => 'Coste horas',
'precioImpresionMargen' => 'Margen horas',
'precioPagNegro' => 'Precio pág. negro', 'precioPagNegro' => 'Precio pág. negro',
'precioPagColor' => 'Precio pág. color', 'precioPagColor' => 'Precio pág. color',
'totalTinta' => 'Total tinta', 'totalTinta' => 'Total tinta',

View File

@ -396,6 +396,7 @@ class PresupuestoService extends BaseService
); );
// impresion // impresion
// num_total_clicks = pliegos_pedido * 2 cuando son a doble cara
if ($uso == 'guardas') { if ($uso == 'guardas') {
if (floatval($datosPedido->paginas_impresion) == 0) if (floatval($datosPedido->paginas_impresion) == 0)
$precio_click_pedido = 0; $precio_click_pedido = 0;

View File

@ -1075,56 +1075,62 @@ class LineasPresupuesto {
'<td></td>' + '<td></td>' +
'<td></td>' + '<td></td>' +
'<td colspan="10">' + '<td colspan="10">' +
'<div class="row flex-grow-1 d-flex align-items-end">' + '<div class="lp-row">' +
'<div class="col-md-12 col-lg-1">' + '<div class="lp-cell-auto">' +
window.language.Presupuestos.numeroPliegos + '<label>' + window.language.Presupuestos.numeroPliegos + '</label>' +
'<input readonly id="' + d.row_id + '_numeroPliegos" name="' + d.row_id + '_numeroPliegos" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.numeroPliegos + '">' + '<input readonly id="' + d.row_id + '_numeroPliegos" name="' + d.row_id + '_numeroPliegos" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.numeroPliegos + '">' +
'</div>' + '</div>' +
'<div class="col-md-12 col-lg-1">' + '<div class="lp-cell-auto">' +
window.language.Presupuestos.pliegosPedido + '<label>' + window.language.Presupuestos.pliegosPedido + '</label>' +
'<input readonly id="' + d.row_id + '_pliegosPedido" name="' + d.row_id + '_pliegosPedido" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.pliegosPedido + '">' + '<input readonly id="' + d.row_id + '_pliegosPedido" name="' + d.row_id + '_pliegosPedido" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.pliegosPedido + '">' +
'</div>' + '</div>' +
'<div class="col-md-12 col-lg-1">' + '<div class="lp-cell-auto">' +
window.language.Presupuestos.precioPliego + '<label>' + window.language.Presupuestos.precioPliego + '</label>' +
'<input readonly id="' + d.row_id + '_precioPliego" name="' + d.row_id + '_precioPliego" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.precioPliego + '">' + '<input readonly id="' + d.row_id + '_precioPliego" name="' + d.row_id + '_precioPliego" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.precioPliego + '">' +
'</div>' + '</div>' +
'<div class="col-md-12 col-lg-1">' + '<div class="lp-cell-auto">' +
window.language.Presupuestos.libro + '<label>' + window.language.Presupuestos.libro + '</label>' +
'<input readonly id="' + d.row_id + '_libro" name="' + d.row_id + '_libro" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.libro + '">' + '<input readonly id="' + d.row_id + '_libro" name="' + d.row_id + '_libro" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.libro + '">' +
'</div>' + '</div>' +
'<div class="col-md-12 col-lg-1">' + '<div class="lp-cell-auto">' +
window.language.Presupuestos.totalPapelPedido + '<label>' + window.language.Presupuestos.totalPapelPedido + '</label>' +
'<input readonly id="' + d.row_id + '_totalPapelPedido" name="' + d.row_id + '_totalPapelPedido" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.totalPapelPedido + '">' + '<input readonly id="' + d.row_id + '_totalPapelPedido" name="' + d.row_id + '_totalPapelPedido" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.totalPapelPedido + '">' +
'</div>' + '</div>' +
'<input id="' + d.row_id + '_margenPapelPedido" name="' + d.row_id + '_margenPapelPedido" readonly class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.margenPapelPedido + '" style="display: none;">' + '<input id="' + d.row_id + '_margenPapelPedido" name="' + d.row_id + '_margenPapelPedido" readonly class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.margenPapelPedido + '" style="display: none;">' +
'<div class="d-flex col-md-auto justify-content-center align-items-center">' + '<div class="d-flex col-md-auto justify-content-center align-items-center">' +
'<input id="' + d.row_id + '_checkPapel" name="' + d.row_id + '_checkPapel" class="update-totales" style="bottom:0;width: 15px; padding: 0; margin:0;" type="checkbox" ' + (d.check_papel_total == true ? 'checked' : '') + '>' + '<input id="' + d.row_id + '_checkPapel" name="' + d.row_id + '_checkPapel" class="update-totales" style="bottom:0;width: 15px; padding: 0; margin:0;" type="checkbox" ' + (d.check_papel_total == true ? 'checked' : '') + '>' +
'</div>' + '</div>' +
'<div class="col-md-1 col-lg-1">' + '<div class="lp-cell-auto">' +
window.language.Presupuestos.click + '<label>' + window.language.Presupuestos.click + '</label>' +
'<input readonly id="' + d.row_id + '_click" name="' + d.row_id + '_click" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.click + '">' + '<input readonly id="' + d.row_id + '_click" name="' + d.row_id + '_click" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.click + '">' +
'</div>' + '</div>' +
'<div class="col-md-12 col-lg-1">' + '<div class="lp-cell-auto">' +
window.language.Presupuestos.totalClicks + '<label>' + window.language.Presupuestos.costeClicks + '</label>' +
'<input readonly id="' + d.row_id + '_totalClicks" name="' + d.row_id + '_totalClicks" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.totalClicks + '">' + '<input readonly id="' + d.row_id + '_totalClicks" name="' + d.row_id + '_totalClicks" class="lp-input lp-cell lp-cell-coste ' + d.row_class + '-input" type="text" value="' + (parseFloat(d.totalClicks) - parseFloat(d.margenClicks)).toFixed(2) + '">' +
'</div>' + '</div>' +
'<div class="col-md-12 col-lg-1">' + '<div class="lp-cell-auto">' +
window.language.Presupuestos.horas + '<label>' + window.language.Presupuestos.totalClicksMargen + '</label>' +
'<input id="' + d.row_id + '_margenClicks" name="' + d.row_id + '_margenClicks" readonly class="lp-input lp-cell lp-cell-margen ' + d.row_class + '-input" type="text" value="' + d.margenClicks + '" style="">' +
'</div>' +
'<div class="lp-cell-auto">' +
'<label>' + window.language.Presupuestos.horas + '</label>' +
'<input readonly id="' + d.row_id + '_horasMaquina" name="' + d.row_id + '_horasMaquina" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.horasMaquina + '">' + '<input readonly id="' + d.row_id + '_horasMaquina" name="' + d.row_id + '_horasMaquina" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.horasMaquina + '">' +
'</div>' + '</div>' +
'<div class="col-md-12 col-lg-1">' + '<div class="lp-cell-auto">' +
window.language.Presupuestos.precioHora + '<label>' + window.language.Presupuestos.precioHora + '</label>' +
'<input readonly id="' + d.row_id + '_precioHora" name="' + d.row_id + '_precioHora" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.precioHora + '">' + '<input readonly id="' + d.row_id + '_precioHora" name="' + d.row_id + '_precioHora" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.precioHora + '">' +
'</div>' + '</div>' +
'<div class="col-md-12 col-lg-1">' + '<div class="lp-cell-auto">' +
window.language.Presupuestos.precioImpresion + '<label>' + window.language.Presupuestos.precioImpresion + '</label>' +
'<input readonly id="' + d.row_id + '_precioImpresion" name="' + d.row_id + '_precioImpresion" class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.precioImpresion + '">' + '<input readonly id="' + d.row_id + '_precioImpresion" name="' + d.row_id + '_precioImpresion" class="lp-input lp-cell lp-cell-margen ' + d.row_class + '-input" type="text" value="' + (parseFloat(d.precioImpresion) - parseFloat(d.margenImpresion)).toFixed(2) + '">' +
'</div>' +
'<div class="lp-cell-auto">' +
'<label>' + window.language.Presupuestos.precioImpresionMargen + '</label>' +
'<input id="' + d.row_id + '_margenImpresion" name="' + d.row_id + '_margenImpresion" readonly class="lp-input lp-cell lp-cell-margen ' + d.row_class + '-input" type="text" value="' + d.margenImpresion + '" style="">' +
'</div>' + '</div>' +
'<div class="d-flex col-md-auto justify-content-center align-items-center">' + '<div class="d-flex col-md-auto justify-content-center align-items-center">' +
'<input id="' + d.row_id + '_checkClicks" name="' + d.row_id + '_checkClicks" class="update-totales" style="bottom:0;width: 15px; padding: 0; margin:0;" type="checkbox" ' + (d.check_impresion_total == true ? 'checked' : '') + '>' + '<input id="' + d.row_id + '_checkClicks" name="' + d.row_id + '_checkClicks" class="update-totales" style="bottom:0;width: 15px; padding: 0; margin:0;" type="checkbox" ' + (d.check_impresion_total == true ? 'checked' : '') + '>' +
'</div>' + '</div>' +
'<input id="' + d.row_id + '_margenImpresion" name="' + d.row_id + '_margenImpresion" readonly class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.margenImpresion + '" style="display: none;">' +
'<input id="' + d.row_id + '_margenClicks" name="' + d.row_id + '_margenClicks" readonly class="lp-input lp-cell lp-cell-disabled ' + d.row_class + '-input" type="text" value="' + d.margenClicks + '" style="display: none;">' +
'</div>' + '</div>' +
'</td>' '</td>'
@ -1332,11 +1338,11 @@ class LineasPresupuesto {
'</div>' + '</div>' +
'<div class="col-md-12 col-lg-1">' + '<div class="col-md-12 col-lg-1">' +
window.language.Presupuestos.totalTinta + window.language.Presupuestos.totalTinta +
'<input readonly type="text" id="' + d.row_id + '_totalTinta" name="' + d.row_id + '_totalTinta" class="lp-cell lp-cell-disabled lp-input ' + d.row_class + '-input" readonly value="' + d.totalTinta + '">' + '<input readonly type="text" id="' + d.row_id + '_totalTinta" name="' + d.row_id + '_totalTinta" class="lp-cell lp-cell-coste lp-input ' + d.row_class + '-input" readonly value="' + d.totalTinta + '">' +
'</div>' + '</div>' +
(d.row_id.includes('rot') ? '<div class="col-md-12 col-lg-1">' : '<div class="col-md-12 col-lg-1" style="display:none;">') + (d.row_id.includes('rot') ? '<div class="col-md-12 col-lg-1">' : '<div class="col-md-12 col-lg-1" style="display:none;">') +
window.language.Presupuestos.totalCorte + window.language.Presupuestos.totalCorte +
'<input readonly type="text" id="' + d.row_id + '_totalCorte" name="' + d.row_id + '_totalCorte" class="lp-cell lp-cell-disabled lp-input ' + d.row_class + '-input" readonly value="' + d.totalCorte + '">' + '<input readonly type="text" id="' + d.row_id + '_totalCorte" name="' + d.row_id + '_totalCorte" class="lp-cell lp-cell-coste lp-input ' + d.row_class + '-input" readonly value="' + d.totalCorte + '">' +
'</div>' + '</div>' +
'<div class="col-md-12 col-lg-1">' + '<div class="col-md-12 col-lg-1">' +
window.language.Presupuestos.totalImpresion + window.language.Presupuestos.totalImpresion +

View File

@ -171,7 +171,7 @@ class Resumen {
}) })
} }
totalImpresion -= parseFloat(margenImpresion); //totalImpresion -= parseFloat(margenImpresion);
totalPapel -= parseFloat(margenPapel); totalPapel -= parseFloat(margenPapel);
margenImpresion += parseFloat(margenPorHoras) + parseFloat(costeMaquinaHoras); margenImpresion += parseFloat(margenPorHoras) + parseFloat(costeMaquinaHoras);

View File

@ -48,10 +48,10 @@ table.dataTable.table-hover>tbody>tr.selected:hover>* {
.lp-cell { .lp-cell {
padding-left: 1px; padding-left: 1px;
padding-right: 1px; padding-right: 1px;
margin:0; margin: 0;
} }
.lp-input { .lp-input {
@ -69,25 +69,32 @@ table.dataTable.table-hover>tbody>tr.selected:hover>* {
} }
.lp-td { .lp-td {
padding-left: 1px; padding-left: 1px;
padding-right: 1px; padding-right: 1px;
margin:0 !important; margin: 0 !important;
} }
.lp-header { .lp-header {
text-align: center !important; text-align: center !important;
padding-left: 1px !important; padding-left: 1px !important;
padding-right: 1px !important; padding-right: 1px !important;
padding-top: 1px !important; padding-top: 1px !important;
padding-bottom: 5px !important; padding-bottom: 5px !important;
margin:0 !important; margin: 0 !important;
} }
.lp-cell-disabled { .lp-cell-disabled {
background-color: lavenderblush; background-color: lavenderblush;
} }
.lp-button{ .lp-cell-coste {
background-color: rgb(196, 172, 172);
}
.lp-cell-margen {
background-color: rgb(195, 218, 199);
}
.lp-button {
/*font-size: 1.1em;*/ /*font-size: 1.1em;*/
padding-left: 3px; padding-left: 3px;
padding-right: 3px; padding-right: 3px;
@ -109,20 +116,20 @@ div.draw-rot-shapes {
margin: 2.5% auto; margin: 2.5% auto;
} }
.table-servicios{ .table-servicios {
overflow-x: scroll; overflow-x: scroll;
overflow-y: hidden; overflow-y: hidden;
white-space: nowrap; white-space: nowrap;
} }
.column-input-search { .column-input-search {
min-width: 100px; min-width: 100px;
max-width: 120px; max-width: 120px;
font-size: 0.8rem !important; font-size: 0.8rem !important;
} }
/* CSS class to remove number input spinner */ /* CSS class to remove number input spinner */
.no-spinner { .no-spinner {
/* For Firefox */ /* For Firefox */
-moz-appearance: textfield; -moz-appearance: textfield;
} }
@ -131,4 +138,36 @@ div.draw-rot-shapes {
.no-spinner::-webkit-outer-spin-button { .no-spinner::-webkit-outer-spin-button {
-webkit-appearance: none; -webkit-appearance: none;
margin: 0; margin: 0;
}
.lp-row {
display: flex;
flex-wrap: wrap;
gap: 4px;
overflow-x: auto;
align-items: end;
}
.lp-cell-auto {
display: flex;
flex-direction: column;
flex: 0 0 auto;
/* solo lo que necesita */
margin-inline: 2px;
min-width: 40px;
/* controla hasta dónde puede encoger */
}
.lp-cell-auto label {
font-size: 0.65rem;
text-align: center;
margin-bottom: 2px;
line-height: 1;
}
.lp-cell-auto input {
text-align: center;
min-width: 50px;
width: 100%;
border-radius: 0.25rem !important;
} }