Merge branch 'mod/lineas_presupuesto_costes_margenes' into 'main'

coste-margen de clicks y horas en las lineas y añadidos colores. se toca...

See merge request jjimenez/safekat!873
This commit is contained in:
2025-06-30 14:26:06 +00:00
5 changed files with 98 additions and 49 deletions

View File

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

View File

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

View File

@ -1075,56 +1075,62 @@ class LineasPresupuesto {
'<td></td>' +
'<td></td>' +
'<td colspan="10">' +
'<div class="row flex-grow-1 d-flex align-items-end">' +
'<div class="col-md-12 col-lg-1">' +
window.language.Presupuestos.numeroPliegos +
'<div class="lp-row">' +
'<div class="lp-cell-auto">' +
'<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 + '">' +
'</div>' +
'<div class="col-md-12 col-lg-1">' +
window.language.Presupuestos.pliegosPedido +
'<div class="lp-cell-auto">' +
'<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 + '">' +
'</div>' +
'<div class="col-md-12 col-lg-1">' +
window.language.Presupuestos.precioPliego +
'<div class="lp-cell-auto">' +
'<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 + '">' +
'</div>' +
'<div class="col-md-12 col-lg-1">' +
window.language.Presupuestos.libro +
'<div class="lp-cell-auto">' +
'<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 + '">' +
'</div>' +
'<div class="col-md-12 col-lg-1">' +
window.language.Presupuestos.totalPapelPedido +
'<div class="lp-cell-auto">' +
'<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 + '">' +
'</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;">' +
'<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' : '') + '>' +
'</div>' +
'<div class="col-md-1 col-lg-1">' +
window.language.Presupuestos.click +
'<div class="lp-cell-auto">' +
'<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 + '">' +
'</div>' +
'<div class="col-md-12 col-lg-1">' +
window.language.Presupuestos.totalClicks +
'<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 + '">' +
'<div class="lp-cell-auto">' +
'<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-coste ' + d.row_class + '-input" type="text" value="' + (parseFloat(d.totalClicks) - parseFloat(d.margenClicks)).toFixed(2) + '">' +
'</div>' +
'<div class="col-md-12 col-lg-1">' +
window.language.Presupuestos.horas +
'<div class="lp-cell-auto">' +
'<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 + '">' +
'</div>' +
'<div class="col-md-12 col-lg-1">' +
window.language.Presupuestos.precioHora +
'<div class="lp-cell-auto">' +
'<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 + '">' +
'</div>' +
'<div class="col-md-12 col-lg-1">' +
window.language.Presupuestos.precioImpresion +
'<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 + '">' +
'<div class="lp-cell-auto">' +
'<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-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 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' : '') + '>' +
'</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>' +
'</td>'
@ -1332,11 +1338,11 @@ class LineasPresupuesto {
'</div>' +
'<div class="col-md-12 col-lg-1">' +
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>' +
(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 +
'<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 class="col-md-12 col-lg-1">' +
window.language.Presupuestos.totalImpresion +

View File

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

View File

@ -48,10 +48,10 @@ table.dataTable.table-hover>tbody>tr.selected:hover>* {
.lp-cell {
padding-left: 1px;
padding-right: 1px;
margin:0;
.lp-cell {
padding-left: 1px;
padding-right: 1px;
margin: 0;
}
.lp-input {
@ -69,25 +69,32 @@ table.dataTable.table-hover>tbody>tr.selected:hover>* {
}
.lp-td {
padding-left: 1px;
padding-right: 1px;
margin:0 !important;
padding-left: 1px;
padding-right: 1px;
margin: 0 !important;
}
.lp-header {
.lp-header {
text-align: center !important;
padding-left: 1px !important;
padding-right: 1px !important;
padding-top: 1px !important;
padding-bottom: 5px !important;
margin:0 !important;
padding-left: 1px !important;
padding-right: 1px !important;
padding-top: 1px !important;
padding-bottom: 5px !important;
margin: 0 !important;
}
.lp-cell-disabled {
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;*/
padding-left: 3px;
padding-right: 3px;
@ -109,20 +116,20 @@ div.draw-rot-shapes {
margin: 2.5% auto;
}
.table-servicios{
.table-servicios {
overflow-x: scroll;
overflow-y: hidden;
white-space: nowrap;
}
.column-input-search {
min-width: 100px;
max-width: 120px;
font-size: 0.8rem !important;
font-size: 0.8rem !important;
}
/* CSS class to remove number input spinner */
.no-spinner {
.no-spinner {
/* For Firefox */
-moz-appearance: textfield;
}
@ -131,4 +138,36 @@ div.draw-rot-shapes {
.no-spinner::-webkit-outer-spin-button {
-webkit-appearance: none;
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;
}