mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Merge branch 'main' into dev/chat
This commit is contained in:
@ -9,8 +9,6 @@ class TarifaextraEntity extends \CodeIgniter\Entity\Entity
|
||||
"id" => null,
|
||||
"nombre" => null,
|
||||
"precio" => null,
|
||||
"precio_min" => 0,
|
||||
"importe_fijo" => 0,
|
||||
"margen" => 0,
|
||||
"mostrar_en_presupuesto" => 1,
|
||||
"user_created_id" => 1,
|
||||
@ -22,8 +20,6 @@ class TarifaextraEntity extends \CodeIgniter\Entity\Entity
|
||||
];
|
||||
protected $casts = [
|
||||
"precio" => "float",
|
||||
"precio_min" => "float",
|
||||
"importe_fijo" => "float",
|
||||
"margen" => "float",
|
||||
"mostrar_en_presupuesto" => "int",
|
||||
"user_created_id" => "int",
|
||||
|
||||
@ -9,8 +9,6 @@ class TarifapreimpresionEntity extends \CodeIgniter\Entity\Entity
|
||||
"id" => null,
|
||||
"nombre" => null,
|
||||
"precio" => null,
|
||||
"precio_min" => 0,
|
||||
"importe_fijo" => 0,
|
||||
"margen" => 0,
|
||||
"mostrar_en_presupuesto" => 1,
|
||||
"user_created_id" => 1,
|
||||
@ -22,8 +20,6 @@ class TarifapreimpresionEntity extends \CodeIgniter\Entity\Entity
|
||||
];
|
||||
protected $casts = [
|
||||
"precio" => "float",
|
||||
"precio_min" => "float",
|
||||
"importe_fijo" => "float",
|
||||
"margen" => "float",
|
||||
"mostrar_en_presupuesto" => "int",
|
||||
"user_created_id" => "int",
|
||||
|
||||
@ -13,7 +13,7 @@ return [
|
||||
'nombre' => 'Name',
|
||||
'precioMax' => 'Price Max',
|
||||
'precioMin' => 'Price Min',
|
||||
'precioMin' => 'Min Price',
|
||||
'importeMinimo' => 'Min Price',
|
||||
'importeFijo' => 'Fixed amount',
|
||||
'mostrar_en_presupuesto' => 'Show in budget',
|
||||
'margen' => 'Margin',
|
||||
|
||||
@ -19,6 +19,7 @@ return [
|
||||
'updatedAt' => 'Updated At',
|
||||
'userCreatedId' => 'User Created ID',
|
||||
'userUpdateId' => 'User Update ID',
|
||||
'coste' => 'Cost',
|
||||
'validation' => [
|
||||
'nombre' => [
|
||||
'max_length' => 'The {field} field cannot exceed {param} characters in length.',
|
||||
|
||||
@ -18,6 +18,7 @@ return [
|
||||
'updatedAt' => 'Actualizado en',
|
||||
'userCreatedId' => 'ID Usuario \"Creado en\"',
|
||||
'userUpdateId' => 'ID Usuario \"Actualizado en\"',
|
||||
'coste' => 'Coste',
|
||||
'validation' => [
|
||||
'nombre' => [
|
||||
'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.',
|
||||
|
||||
@ -10,6 +10,7 @@ return [
|
||||
'id' => 'ID',
|
||||
'moduleTitle' => 'Tarifas Manipulado',
|
||||
'nombre' => 'Nombre',
|
||||
'importeMinimo' => 'Importe mínimo',
|
||||
'precioMax' => 'Precio T. Mín',
|
||||
'precioMin' => 'Precio T. Máx',
|
||||
'importeFijo' => 'Importe Fijo',
|
||||
|
||||
@ -18,6 +18,7 @@ return [
|
||||
'updatedAt' => 'Actualizado en',
|
||||
'userCreatedId' => 'ID Usuario \"Creado en\"',
|
||||
'userUpdateId' => 'ID Usuario \"Actualizado en\"',
|
||||
'coste' => 'Coste',
|
||||
'validation' => [
|
||||
'nombre' => [
|
||||
'max_length' => 'El campo {field} no puede exceder {param} caracteres en longitud.',
|
||||
|
||||
@ -209,6 +209,7 @@ class ProveedorModel extends \App\Models\BaseModel
|
||||
->select(
|
||||
"t1.id AS value, t1.nombre AS label, t1.propiedades AS options")
|
||||
->where("tipo_id", $tipoId)
|
||||
->where("is_deleted", 0)
|
||||
->orderBy('t1.nombre', 'asc');
|
||||
|
||||
return $builder->get()->getResultObject();
|
||||
|
||||
@ -283,6 +283,13 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel
|
||||
$total = $precio_unidad * $tirada;
|
||||
$margen = floatval($tarifa->margen);
|
||||
|
||||
if($tarifa->tarifa_precio_min > $total){
|
||||
$total = $total-($total * $margen/100.0);
|
||||
$margen = round(100.0 * (floatval($tarifa->tarifa_precio_min) - $total) / floatval($tarifa->tarifa_precio_min), 0);
|
||||
$total = floatval($tarifa->tarifa_precio_min);
|
||||
$precio_unidad = round(floatval($total / $tirada), 2);
|
||||
}
|
||||
|
||||
if (!$is_POD){
|
||||
$total += floatval($tarifa->tarifa_importe_fijo);
|
||||
}
|
||||
|
||||
@ -324,6 +324,13 @@ class PresupuestoEncuadernacionesModel extends \App\Models\BaseModel
|
||||
$total = $precio_unidad * $ejemplares;
|
||||
$margen = floatval($tarifa->margen);
|
||||
|
||||
if($tarifa->tarifa_precio_min > $total){
|
||||
$total = $total-($total * $margen/100.0);
|
||||
$margen = round(100.0 * (floatval($tarifa->tarifa_precio_min) - $total) / floatval($tarifa->tarifa_precio_min), 0);
|
||||
$total = floatval($tarifa->tarifa_precio_min);
|
||||
$precio_unidad = round(floatval($total / $ejemplares), 2);
|
||||
}
|
||||
|
||||
if (!$is_POD){
|
||||
$total += floatval($tarifa->tarifa_importe_fijo);
|
||||
}
|
||||
|
||||
@ -84,6 +84,13 @@ class PresupuestoManipuladosModel extends \App\Models\BaseModel
|
||||
$total = $precio_unidad * $tirada;
|
||||
$margen = floatval($tarifa->margen);
|
||||
|
||||
if($tarifa->tarifa_precio_min > $total){
|
||||
$total = $total-($total * $margen/100.0);
|
||||
$margen = round(100.0 * (floatval($tarifa->tarifa_precio_min) - $total) / floatval($tarifa->tarifa_precio_min), 0);
|
||||
$total = floatval($tarifa->tarifa_precio_min);
|
||||
$precio_unidad = round(floatval($total / $tirada), 2);
|
||||
}
|
||||
|
||||
if (!$is_POD){
|
||||
$total += floatval($tarifa->tarifa_importe_fijo);
|
||||
}
|
||||
|
||||
@ -69,7 +69,6 @@ class PresupuestoPreimpresionesModel extends \App\Models\BaseModel
|
||||
];
|
||||
return $ret_array;
|
||||
}
|
||||
return [];
|
||||
}
|
||||
|
||||
private function calcularTarifa($tarifa){
|
||||
|
||||
@ -15,8 +15,6 @@ class TarifaextraModel extends \App\Models\BaseModel
|
||||
protected $allowedFields = [
|
||||
"nombre",
|
||||
"precio",
|
||||
"precio_min",
|
||||
"importe_fijo",
|
||||
"margen",
|
||||
"mostrar_en_presupuesto",
|
||||
"deleted_at",
|
||||
@ -39,14 +37,6 @@ class TarifaextraModel extends \App\Models\BaseModel
|
||||
"label" => "Tarifaextra.nombre",
|
||||
"rules" => "trim|required|max_length[255]",
|
||||
],
|
||||
"precio" => [
|
||||
"label" => "Tarifaextra.precio",
|
||||
"rules" => "required|decimal",
|
||||
],
|
||||
"precio_min" => [
|
||||
"label" => "Tarifaextra.precioMin",
|
||||
"rules" => "required|decimal",
|
||||
],
|
||||
"importe_fijo" => [
|
||||
"label" => "Tarifaextra.importeFijo",
|
||||
"rules" => "required|decimal",
|
||||
@ -66,14 +56,6 @@ class TarifaextraModel extends \App\Models\BaseModel
|
||||
"decimal" => "Tarifaextra.validation.precio.decimal",
|
||||
"required" => "Tarifaextra.validation.precio.required",
|
||||
],
|
||||
"precio_min" => [
|
||||
"required" => "Tarifaextra.validation.precio_min.required",
|
||||
"decimal" => "Tarifaextra.validation.precio_min.decimal",
|
||||
],
|
||||
"importe_fijo" => [
|
||||
"required" => "Tarifaextra.validation.importe_fijo.required",
|
||||
"decimal" => "Tarifaextra.validation.importe_fijo.decimal",
|
||||
],
|
||||
"margen" => [
|
||||
"required" => "Tarifaextra.validation.margen.required",
|
||||
"decimal" => "Tarifaextra.validation.margen.decimal",
|
||||
|
||||
@ -15,8 +15,6 @@ class TarifapreimpresionModel extends \App\Models\BaseModel
|
||||
protected $allowedFields = [
|
||||
"nombre",
|
||||
"precio",
|
||||
"precio_min",
|
||||
"importe_fijo",
|
||||
"margen",
|
||||
"mostrar_en_presupuesto",
|
||||
"deleted_at",
|
||||
@ -43,14 +41,6 @@ class TarifapreimpresionModel extends \App\Models\BaseModel
|
||||
"label" => "Tarifapreimpresion.precio",
|
||||
"rules" => "required|decimal",
|
||||
],
|
||||
"precio_min" => [
|
||||
"label" => "Tarifapreimpresion.precioMin",
|
||||
"rules" => "required|decimal",
|
||||
],
|
||||
"importe_fijo" => [
|
||||
"label" => "Tarifapreimpresion.importeFijo",
|
||||
"rules" => "required|decimal",
|
||||
],
|
||||
"margen" => [
|
||||
"label" => "Tarifapreimpresion.margen",
|
||||
"rules" => "required|decimal",
|
||||
@ -66,14 +56,6 @@ class TarifapreimpresionModel extends \App\Models\BaseModel
|
||||
"decimal" => "Tarifapreimpresion.validation.precio.decimal",
|
||||
"required" => "Tarifapreimpresion.validation.precio.required",
|
||||
],
|
||||
"precio_min" => [
|
||||
"required" => "Tarifapreimpresion.validation.precio_min.required",
|
||||
"decimal" => "Tarifapreimpresion.validation.precio_min.decimal",
|
||||
],
|
||||
"importe_fijo" => [
|
||||
"required" => "Tarifapreimpresion.validation.importe_fijo.required",
|
||||
"decimal" => "Tarifapreimpresion.validation.importe_fijo.decimal",
|
||||
],
|
||||
"margen" => [
|
||||
"required" => "Tarifapreimpresion.validation.margen.required",
|
||||
"decimal" => "Tarifapreimpresion.validation.margen.decimal",
|
||||
|
||||
@ -200,62 +200,80 @@
|
||||
<h6> Color del interior </h6>
|
||||
|
||||
<div class="row-color">
|
||||
|
||||
<div class="row mb-2 col-sm-6">
|
||||
|
||||
<div class="container col col-sm-3 d-flex justify-content-center">
|
||||
<!-- Fila 1 -->
|
||||
<div class="row mb-2">
|
||||
<!-- Imagen 1 (Color Negro) -->
|
||||
<div class="col-sm-4 offset-sm-1 d-flex flex-column align-items-center justify-content-center">
|
||||
<div id="colorNegroDiv" class="form-check change-tipo-impresion custom-option-color custom-option custom-option-image custom-option-image-radio">
|
||||
<label class="form-check-label custom-option-content" for="colorNegro">
|
||||
<span class="custom-option-body">
|
||||
<img style="height:150px;width:240px" src="<?= site_url("assets/img/bn.png") ?>" alt="">
|
||||
<img style="height:150px;width:240px" src="<?= site_url('assets/img/bn.png') ?>" alt="">
|
||||
</span>
|
||||
</label>
|
||||
<input name="colorNegro" class="form-check-input calcular-presupuesto" type="radio" value="colorNegro" id="colorNegro"
|
||||
<input name="colorNegro" class="form-check-input calcular-presupuesto" type="radio" value="colorNegro" id="colorNegro"
|
||||
<?php echo ($datosPresupuesto->color_impresion == 'negro' ? ' checked=""': ''); ?> >
|
||||
</div>
|
||||
<!-- Texto alineado debajo de la imagen -->
|
||||
<div>
|
||||
<h6 class="mt-2 text-center">Blanco y Negro Estándar</h6>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container col col-sm-3 d-flex justify-content-center">
|
||||
<!-- Imagen 2 (Color Negro HQ) -->
|
||||
<div class="col-sm-4 d-flex flex-column align-items-center justify-content-center">
|
||||
<div id="colorNegroHqDiv" class="form-check change-tipo-impresion custom-option-color custom-option custom-option-image custom-option-image-radio">
|
||||
<label class="form-check-label custom-option-content" for="colorNegroHq">
|
||||
<span class="custom-option-body">
|
||||
<img style="height:150px;width:240px" src="<?= site_url("assets/img//bn_hq.png") ?>" alt="">
|
||||
<img style="height:150px;width:240px" src="<?= site_url('assets/img/bn_hq.png') ?>" alt="">
|
||||
</span>
|
||||
</label>
|
||||
<input name="colorNegroHq" class="form-check-input calcular-presupuesto" type="radio" value="colorNegroHq" id="colorNegroHq"
|
||||
<?php echo ($datosPresupuesto->color_impresion == 'negroHq' ? ' checked=""': ''); ?> >
|
||||
</div>
|
||||
<!-- Texto alineado debajo de la imagen -->
|
||||
<div>
|
||||
<h6 class="mt-2 text-center">Blanco y Negro Premium</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div> <!-- //.row -->
|
||||
|
||||
</div> <!--//.row -->
|
||||
<div class="row col-sm-6">
|
||||
|
||||
<div class="container col col-sm-3 d-flex justify-content-center">
|
||||
<!-- Fila 2 -->
|
||||
<div class="row mb-2">
|
||||
<!-- Imagen 3 (Color) -->
|
||||
<div class="col-sm-4 offset-sm-1 d-flex flex-column align-items-center justify-content-center">
|
||||
<div id="colorColorDiv" class="form-check change-tipo-impresion custom-option-color custom-option custom-option-image custom-option-image-radio">
|
||||
<label class="form-check-label custom-option-content" for="colorColor">
|
||||
<span class="custom-option-body">
|
||||
<img style="height:150px;width:240px" src="<?= site_url("assets/img/color.png") ?>" alt="">
|
||||
<img style="height:150px;width:240px" src="<?= site_url('assets/img/color.png') ?>" alt="">
|
||||
</span>
|
||||
</label>
|
||||
<input name="colorColor" class="form-check-input calcular-presupuesto" type="radio" value="colorColor" id="colorColor"
|
||||
<input name="colorColor" class="form-check-input calcular-presupuesto" type="radio" value="colorColor" id="colorColor"
|
||||
<?php echo ($datosPresupuesto->color_impresion == 'color' ? ' checked=""': ''); ?> >
|
||||
</div>
|
||||
<!-- Texto alineado debajo de la imagen -->
|
||||
<div>
|
||||
<h6 class="mt-2 text-center">Color Estándar</h6>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container col col-sm-3 d-flex justify-content-center">
|
||||
<!-- Imagen 4 (Color HQ) -->
|
||||
<div class="col-sm-4 d-flex flex-column align-items-center justify-content-center">
|
||||
<div id="colorColorHqDiv" class="form-check change-tipo-impresion custom-option-color custom-option custom-option-image custom-option-image-radio">
|
||||
<label class="form-check-label custom-option-content" for="colorColorHq">
|
||||
<span class="custom-option-body">
|
||||
<img style="height:150px;width:240px" src="<?= site_url("assets/img//color_hq.png") ?>" alt="">
|
||||
<img style="height:150px;width:240px" src="<?= site_url('assets/img/color_hq.png') ?>" alt="">
|
||||
</span>
|
||||
</label>
|
||||
<input name="colorColorHq" class="form-check-input calcular-presupuesto" type="radio" value="colorColorHq" id="colorColorHq"
|
||||
<?php echo ($datosPresupuesto->color_impresion == 'colorHq' ? ' checked=""': ''); ?> >
|
||||
</div>
|
||||
<!-- Texto alineado debajo de la imagen -->
|
||||
<div>
|
||||
<h6 class="mt-2 text-center">Color Premium</h6>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div> <!--//.row -->
|
||||
</div> <!--//.row-color -->
|
||||
</div> <!-- //.row -->
|
||||
</div> <!-- //.row-color -->
|
||||
|
||||
<div id="pagColorDiv" class="row">
|
||||
<div class="col-sm-3 mb-3">
|
||||
|
||||
@ -204,6 +204,11 @@ function init_servicio_acabado(){
|
||||
else if (element.sobrecubierta == 1){
|
||||
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([
|
||||
element.tarifa_acabado_id,
|
||||
nombre_completo,
|
||||
@ -212,9 +217,9 @@ function init_servicio_acabado(){
|
||||
element.proveedor +
|
||||
'</option>' +
|
||||
'</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>',
|
||||
'<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>'
|
||||
]).draw(false)
|
||||
|
||||
@ -300,10 +305,14 @@ function select_acabado_event(){
|
||||
url: window.routes_servicios.dataTableOfPresupuestoAcabados,
|
||||
data: datos,
|
||||
success: function (data) {
|
||||
|
||||
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(parseFloat(data.values[0].precio_unidad).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))
|
||||
$('#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]);
|
||||
return true;
|
||||
@ -366,6 +375,10 @@ function get_tarifas_acabado(tarifa_id = -1, uso=null){
|
||||
if(uso!= null)
|
||||
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([
|
||||
row.tarifa_id,
|
||||
nombre,
|
||||
@ -374,9 +387,9 @@ function get_tarifas_acabado(tarifa_id = -1, uso=null){
|
||||
row.proveedor +
|
||||
'</option>' +
|
||||
'</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>',
|
||||
'<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>'
|
||||
]).draw(false)
|
||||
|
||||
@ -550,7 +563,7 @@ function get_datos_acabado(){
|
||||
values['proveedor_id'] = $(this).children(":first").select2('data')[0].id
|
||||
break
|
||||
case 3:
|
||||
values['precio_unidad'] = $(this).text()
|
||||
values['precio_unidad'] = $(this).text().split('/')[1].trim()
|
||||
break
|
||||
case 4:
|
||||
values['precio_total'] = $(this).children(":first").val()
|
||||
@ -653,6 +666,10 @@ function init_servicio_encuadernado(){
|
||||
const tarifa_id = element.tarifa_encuadernado_id
|
||||
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 = [
|
||||
element.tarifa_encuadernado_id,
|
||||
element.nombre,
|
||||
@ -661,11 +678,11 @@ function init_servicio_encuadernado(){
|
||||
proveedor_nombre +
|
||||
'</option>' +
|
||||
'</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):'',
|
||||
'<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>',
|
||||
'<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>'
|
||||
]
|
||||
|
||||
@ -814,11 +831,15 @@ function select_enc_event(){
|
||||
url: window.routes_servicios.dataTableOfPresupuestoEncuadernaciones,
|
||||
data: datos,
|
||||
success: function (data) {
|
||||
|
||||
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(parseFloat(data.values[0].precio_unidad).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))
|
||||
$('#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]);
|
||||
return true;
|
||||
@ -889,6 +910,10 @@ async function get_tarifas_enc(tipo=null, tarifa_id = -1){
|
||||
tableServiciosEnc.clear().draw()
|
||||
|
||||
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([
|
||||
row.tarifa_id,
|
||||
@ -898,11 +923,11 @@ async function get_tarifas_enc(tipo=null, tarifa_id = -1){
|
||||
row.proveedor +
|
||||
'</option>' +
|
||||
'</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):'',
|
||||
'<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>',
|
||||
'<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>'
|
||||
]).draw(false)
|
||||
|
||||
@ -1008,7 +1033,7 @@ function get_datos_encuadernacion(){
|
||||
values['proveedor_id'] = $(this).children(":first").select2('data')[0].id
|
||||
break
|
||||
case 3:
|
||||
values['precio_unidad'] = $(this).text()
|
||||
values['precio_unidad'] = $(this).text().split('/')[1].trim()
|
||||
break
|
||||
case 4:
|
||||
values['paginas_por_cuadernillo'] = $(this).children(":first").val()
|
||||
@ -1122,13 +1147,17 @@ function init_servicio_manipulado(){
|
||||
})
|
||||
|
||||
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([
|
||||
element.tarifa_manipulado_id,
|
||||
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>',
|
||||
'<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>'
|
||||
]).draw(false)
|
||||
|
||||
@ -1202,12 +1231,16 @@ async function get_tarifas_manipulado(tipo=null, tarifa_id = -1){
|
||||
|
||||
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([
|
||||
row.tarifa_id,
|
||||
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>',
|
||||
'<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>'
|
||||
]).draw(false)
|
||||
|
||||
@ -1276,7 +1309,7 @@ function get_datos_manipulado(){
|
||||
values['tarifa_id'] = $(this).text()
|
||||
break
|
||||
case 2:
|
||||
values['precio_unidad'] = $(this).text()
|
||||
values['precio_unidad'] = $(this).text().split('/')[1].trim()
|
||||
break
|
||||
case 3:
|
||||
values['precio_total'] = $(this).children(":first").val()
|
||||
@ -1374,11 +1407,16 @@ function init_servicio_preimpresion(){
|
||||
|
||||
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([
|
||||
element.tarifa_preimpresion_id,
|
||||
element.nombre,
|
||||
'<input class="update-totales-servicios" id="precio_preimpresion_' + element.tarifa_preimpresion_id +'" value="' + parseFloat(element.precio).toFixed(2) + '"></input>',
|
||||
'<span style="display: none;" class="update-totales" id="preimpresion_margen_' + element.tarifa_preimpresion_id + '">' + parseFloat(element.margen).toFixed(2) + '</span>',
|
||||
'<span id="coste_preimprecion_' + element.tarifa_id + '">' + coste + '</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>'
|
||||
]).draw(false)
|
||||
|
||||
@ -1433,10 +1471,15 @@ function get_tarifas_preimpresion(tarifa_id = -1){
|
||||
success: function (data) {
|
||||
|
||||
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([
|
||||
row.tarifa_id,
|
||||
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>',
|
||||
'<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>'
|
||||
@ -1528,10 +1571,10 @@ function get_datos_preimpresion(){
|
||||
case 0:
|
||||
values['tarifa_id'] = $(this).text()
|
||||
break
|
||||
case 2:
|
||||
case 3:
|
||||
values['precio'] = $(this).children(":first").val()
|
||||
break
|
||||
case 3:
|
||||
case 4:
|
||||
values['margen'] = $(this).text()
|
||||
break
|
||||
}
|
||||
@ -1627,11 +1670,16 @@ function init_servicio_extra(){
|
||||
|
||||
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([
|
||||
element.tarifa_extra_id,
|
||||
element.nombre,
|
||||
'<input class="update-totales-servicios" id="precio_servicioextra_' + element.tarifa_extra_id +'" value="' + parseFloat(element.precio).toFixed(2) + '"></input>',
|
||||
'<span style="display: none;" class="update-totales" id="servicioextra_margen_' + element.tarifa_extra_id + '">' + parseFloat(element.margen).toFixed(2) + '</span>',
|
||||
'<span id="coste_servicioextra_' + element.tarifa_id + '">' + coste + '</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>'
|
||||
]).draw(false)
|
||||
|
||||
@ -1687,11 +1735,16 @@ function get_tarifas_extra(tarifa_id = -1){
|
||||
|
||||
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([
|
||||
row.tarifa_id,
|
||||
row.tarifa_nombre,
|
||||
'<input class="update-totales-servicios" id="precio_servicioextra_' + row.tarifa_id +'" value="' + parseFloat(row.precio).toFixed(2) + '"></input>',
|
||||
'<span style="display: none;" class="update-totales" id="servicioextra_margen_' + row.tarifa_id + '">' + parseFloat(row.margen).toFixed(2) + '</span>',
|
||||
'<span id="coste_servicioextra_' + row.tarifa_id + '">' + coste + '</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>'
|
||||
]).draw(false)
|
||||
|
||||
@ -1744,10 +1797,10 @@ function get_datos_serviciosextra(){
|
||||
case 0:
|
||||
values['tarifa_id'] = $(this).text()
|
||||
break
|
||||
case 2:
|
||||
case 3:
|
||||
values['precio'] = $(this).children(":first").val()
|
||||
break
|
||||
case 3:
|
||||
case 4:
|
||||
values['margen'] = $(this).text()
|
||||
break
|
||||
}
|
||||
@ -1872,6 +1925,11 @@ async function actualizar_servicios(update_preimpresion=false){
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
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')
|
||||
if(line[0].hasOwnProperty('proveedor_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()
|
||||
.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))
|
||||
$('#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)
|
||||
});
|
||||
check_serv_acabado_error()
|
||||
@ -1900,6 +1958,10 @@ async function actualizar_servicios(update_preimpresion=false){
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
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')
|
||||
if(line[0].hasOwnProperty('proveedor_id')){
|
||||
@ -1910,9 +1972,9 @@ async function actualizar_servicios(update_preimpresion=false){
|
||||
$('#proveedor_enc_' + line[0].tarifa_id).empty()
|
||||
.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))
|
||||
$('#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)
|
||||
});
|
||||
check_serv_enc_error()
|
||||
@ -1928,9 +1990,14 @@ async function actualizar_servicios(update_preimpresion=false){
|
||||
.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))
|
||||
|
||||
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))
|
||||
$('#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()
|
||||
yeniden(data[window.csrf_token]);
|
||||
@ -1947,8 +2014,14 @@ async function actualizar_servicios(update_preimpresion=false){
|
||||
.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))
|
||||
|
||||
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()
|
||||
yeniden(data[window.csrf_token]);
|
||||
@ -1965,10 +2038,15 @@ async function actualizar_servicios(update_preimpresion=false){
|
||||
})
|
||||
.then(response => response.json())
|
||||
.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) => {
|
||||
$('#precio_serviciosextra_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2))
|
||||
$('#serviciosextra_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2))
|
||||
$('#coste_servicioextra_' + line[0].tarifa_id).text(coste)
|
||||
$('#precio_serviciosextra_' + line[0].tarifa_id).val(precio)
|
||||
$('#serviciosextra_margen_' + line[0].tarifa_id).val(margen)
|
||||
});
|
||||
check_serv_preimpresion_error();
|
||||
yeniden(data[window.csrf_token]);
|
||||
|
||||
@ -129,6 +129,7 @@
|
||||
<tr>
|
||||
<th><?= lang('Presupuestos.id') ?></th>
|
||||
<th><?= lang('Tarifapreimpresion.tarifapreimpresion') ?></th>
|
||||
<th><?= lang('Tarifapreimpresion.coste') ?></th>
|
||||
<th><?= lang('Presupuestos.precio') ?></th>
|
||||
<th></th>
|
||||
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>
|
||||
@ -246,6 +247,7 @@
|
||||
<tr>
|
||||
<th><?= lang('Presupuestos.id') ?></th>
|
||||
<th><?= lang('Tarifaextra.tarifaextra') ?></th>
|
||||
<th><?= lang('Tarifaextra.coste') ?></th>
|
||||
<th><?= lang('Presupuestos.precio') ?></th>
|
||||
<th></th>
|
||||
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>
|
||||
|
||||
@ -47,7 +47,8 @@
|
||||
<dt class="col-5 fw-normal text-end">Total Costes</dt>
|
||||
<dd id="totalCostes" class="col-6 text-end"><?= old('0', $presupuestoEntity->total_costes) ?>€</dd>
|
||||
<dt class="col-5 fw-normal text-end">Total Margen</dt>
|
||||
<dd id="totalMargenes" class="col-6 text-end"><?= old('0', $presupuestoEntity->total_margenes) ?>€</dd>
|
||||
<dd id="porcentajeMargen" class="col-3 text-end py-1"><?= old('0', round(100*$presupuestoEntity->total_margenes/($presupuestoEntity->total_costes+$presupuestoEntity->total_margenes),0)) ?>%</dd>
|
||||
<dd id="totalMargenes" class="col-3 text-end py-1"><?= old('0', $presupuestoEntity->total_margenes) ?>€</dd>
|
||||
</dl>
|
||||
|
||||
<hr class="mx-n4">
|
||||
|
||||
@ -16,7 +16,11 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){
|
||||
var sumForFactor = 0.0
|
||||
var sumForFactorPonderado = 0.0
|
||||
|
||||
|
||||
var margenPorHoras = 0.0;
|
||||
|
||||
if(updateLP){
|
||||
|
||||
if(typeof $("#tableLineasPresupuesto").DataTable() !== 'undefined'){
|
||||
$("#tableLineasPresupuesto").DataTable().rows().every( function ( rowIdx, tableLoop, rowLoop ) {
|
||||
var rowData = this.data();
|
||||
@ -30,7 +34,8 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){
|
||||
|
||||
}
|
||||
if(rowData.check_impresion_total){
|
||||
totalImpresion += parseFloat($('#' + rowData.row_id + '_precioImpresion').val())
|
||||
//totalImpresion += parseFloat($('#' + rowData.row_id + '_precioImpresion').val())
|
||||
margenPorHoras += parseFloat($('#' + rowData.row_id + '_precioImpresion').val())
|
||||
totalImpresion += parseFloat($('#' + rowData.row_id + '_totalClicks').val())
|
||||
|
||||
sumForFactor += parseFloat($('#' + rowData.row_id + '_totalClicks').val())
|
||||
@ -41,8 +46,10 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){
|
||||
|
||||
sumForFactor += (parseFloat(rowData.totalTinta) + parseFloat(rowData.totalCorte))
|
||||
}
|
||||
margenImpresion += parseFloat($('#' + rowData.row_id + '_margenImpresion').val())
|
||||
//margenImpresion += parseFloat($('#' + rowData.row_id + '_margenImpresion').val())
|
||||
//margenPorHoras += parseFloat($('#' + rowData.row_id + '_margenImpresion').val())
|
||||
margenImpresion += parseFloat($('#' + rowData.row_id + '_margenClicks').val())
|
||||
|
||||
|
||||
sumForFactor -= parseFloat($('#' + rowData.row_id + '_margenClicks').val())
|
||||
|
||||
@ -56,6 +63,8 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){
|
||||
|
||||
totalImpresion -= margenImpresion
|
||||
totalPapel -= margenPapel
|
||||
|
||||
margenImpresion += margenPorHoras
|
||||
|
||||
var porcentajeMargenPapel = isNaN(margenPapel/(totalPapel)*100.0)?0:margenPapel/(totalPapel)*100.0
|
||||
$('#porcentajeMargenPapel').text(porcentajeMargenPapel.toFixed(0) + '%')
|
||||
@ -150,7 +159,7 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){
|
||||
|
||||
sumForFactorPonderado += totalServicios;
|
||||
|
||||
var porcentajeMargenServicios = margenServicios/(margenServicios+totalServicios)*100
|
||||
var porcentajeMargenServicios = margenServicios/(totalServicios)*100
|
||||
$('#porcentajeMargenServicios').text(isNaN(porcentajeMargenServicios.toFixed(0))?0:porcentajeMargenServicios.toFixed(0) + '%')
|
||||
$('#totalServicios').text((addSeparatorsNF(totalServicios.toFixed(2), ".", ",", ".")) + "€")
|
||||
$('#margenServicios').text((addSeparatorsNF(margenServicios.toFixed(2), ".", ",", ".")) + "€")
|
||||
@ -189,10 +198,13 @@ function updateTotales(updateLP=true, updateServicios=true, updateEnvio=true){
|
||||
|
||||
var totalCostes = parseFloat(totalPapel.toFixed(2)) + parseFloat(totalImpresion.toFixed(2)) + parseFloat(totalServicios.toFixed(2)) + parseFloat(totalEnvios.toFixed(2))
|
||||
var totalMargenes = parseFloat(margenPapel.toFixed(2)) + parseFloat(margenImpresion.toFixed(2)) + parseFloat(margenServicios.toFixed(2)) + parseFloat(margenEnvios.toFixed(2))
|
||||
var porcentajeMargen = (100*totalMargenes/(totalCostes+totalMargenes)).toFixed(0)
|
||||
$('#totalCostes').text((addSeparatorsNF(totalCostes.toFixed(2), ".", ",", ".")) + "€")
|
||||
$('#totalMargenes').text((addSeparatorsNF(totalMargenes.toFixed(2), ".", ",", ".")) + "€")
|
||||
$('#totalCostes').attr('val',(totalCostes).toFixed(2) + '€')
|
||||
$('#totalMargenes').attr('val',(totalMargenes).toFixed(2) + '€')
|
||||
$('#porcentajeMargen').text(porcentajeMargen + '%')
|
||||
$('#porcentajeMargen').attr('val',porcentajeMargen)
|
||||
|
||||
if($('#total_descuentoPercent').val()<0){
|
||||
$('#total_descuentoPercent').val(0)
|
||||
|
||||
@ -31,34 +31,6 @@
|
||||
>
|
||||
</div><!--//.mb-3 -->
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="precio_min" class="form-label">
|
||||
<?= lang('Tarifaextra.precioMin') ?>*
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="precio_min"
|
||||
name="precio_min"
|
||||
required
|
||||
class="form-control"
|
||||
value="<?= old('precio_min', $tarifaextraEntity->precio_min) ?>"
|
||||
>
|
||||
</div><!--//.mb-3 -->
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="importe_fijo" class="form-label">
|
||||
<?= lang('Tarifaextra.importeFijo') ?>*
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="importe_fijo"
|
||||
name="importe_fijo"
|
||||
required
|
||||
class="form-control"
|
||||
value="<?= old('importe_fijo', $tarifaextraEntity->importe_fijo) ?>"
|
||||
>
|
||||
</div><!--//.mb-3 -->
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="margen" class="form-label">
|
||||
<?= lang('Tarifaextra.margen') ?>*
|
||||
|
||||
@ -17,8 +17,6 @@
|
||||
<tr>
|
||||
<th><?= lang('Tarifaextra.nombre') ?></th>
|
||||
<th><?= lang('Tarifaextra.precio') ?></th>
|
||||
<th><?= lang('Tarifaextra.precioMin') ?></th>
|
||||
<th><?= lang('Tarifaextra.importeFijo') ?></th>
|
||||
<th><?= lang('Tarifaextra.margen') ?></th>
|
||||
<th><?= lang('Tarifaextra.mostrar_en_presupuesto') ?></th>
|
||||
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>
|
||||
@ -33,12 +31,6 @@
|
||||
<td class="align-middle">
|
||||
<?= esc($item->precio) ?>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<?= esc($item->precio_min) ?>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<?= esc($item->importe_fijo) ?>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<?= esc($item->margen) ?>
|
||||
</td>
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="nombre" class="form-label">
|
||||
<?=lang('Tarifamanipulado.precioMin') ?>*
|
||||
<?=lang('Tarifamanipulado.importeMinimo') ?>*
|
||||
</label>
|
||||
<input type="text" id="precio_min" name="precio_min" class="form-control" value="<?=old('precio_min', $tarifaManipuladoEntity->precio_min) ?>">
|
||||
</div><!--//.mb-3 -->
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?= lang('Tarifamanipulado.nombre') ?></th>
|
||||
<th><?= lang('Tarifamanipulado.precioMin') ?></th>
|
||||
<th><?= lang('Tarifamanipulado.importeMinimo') ?></th>
|
||||
<th><?= lang('Tarifamanipulado.importeFijo') ?></th>
|
||||
<th><?= lang('Tarifamanipulado.mostrar_en_presupuesto') ?></th>
|
||||
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>
|
||||
|
||||
@ -31,34 +31,7 @@
|
||||
>
|
||||
</div><!--//.mb-3 -->
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="precio_min" class="form-label">
|
||||
<?= lang('Tarifapreimpresion.precioMin') ?>*
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="precio_min"
|
||||
name="precio_min"
|
||||
required
|
||||
class="form-control"
|
||||
value="<?= old('precio_min', $tarifapreimpresionEntity->precio_min) ?>"
|
||||
>
|
||||
</div><!--//.mb-3 -->
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="importe_fijo" class="form-label">
|
||||
<?= lang('Tarifapreimpresion.importeFijo') ?>*
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="importe_fijo"
|
||||
name="importe_fijo"
|
||||
required
|
||||
class="form-control"
|
||||
value="<?= old('importe_fijo', $tarifapreimpresionEntity->importe_fijo) ?>"
|
||||
>
|
||||
</div><!--//.mb-3 -->
|
||||
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="margen" class="form-label">
|
||||
<?= lang('Tarifapreimpresion.margen') ?>*
|
||||
|
||||
@ -17,8 +17,6 @@
|
||||
<tr>
|
||||
<th><?= lang('Tarifapreimpresion.nombre') ?></th>
|
||||
<th><?= lang('Tarifapreimpresion.precio') ?></th>
|
||||
<th><?= lang('Tarifapreimpresion.precioMin') ?></th>
|
||||
<th><?= lang('Tarifapreimpresion.importeFijo') ?></th>
|
||||
<th><?= lang('Tarifapreimpresion.margen') ?></th>
|
||||
<th><?= lang('Tarifapreimpresion.mostrar_en_presupuesto') ?></th>
|
||||
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>
|
||||
@ -33,12 +31,6 @@
|
||||
<td class="align-middle">
|
||||
<?= esc($item->precio) ?>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<?= esc($item->precio_min) ?>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<?= esc($item->importe_fijo) ?>
|
||||
</td>
|
||||
<td class="align-middle">
|
||||
<?= esc($item->margen) ?>
|
||||
</td>
|
||||
|
||||
Reference in New Issue
Block a user