trabajando en servicios acabado

This commit is contained in:
2025-01-10 00:05:35 +01:00
parent 7e7c686f79
commit 7bb7b807a5
13 changed files with 82 additions and 1154 deletions

View File

@ -76,6 +76,8 @@ $routes->group('tarifas', ['namespace' => 'App\Controllers\Tarifas'], function (
$routes->get('delete/(:num)', 'TarifaAcabados::delete/$1', ['as' => 'tarifaAcabadoDelete']);
$routes->post('datatable', 'TarifaAcabados::datatable', ['as' => 'tarifaAcabadoDT']);
$routes->get('select', 'TarifaAcabados::show_select', ["as" => "showSelectTarifaAcabado"]);
$routes->get('gettarifas', 'TarifaAcabados::getSelect2');
$routes->group('lineas', ['namespace' => 'App\Controllers\Tarifas\Acabados'], function ($routes) {
$routes->post('datatable', 'TarifaAcabadosLineas::datatable', ['as' => 'tarifaAcabadoLineasDT']);
$routes->post('datatable_editor', 'TarifaAcabadosLineas::datatable_editor', ['as' => 'tarifaAcabadoLineasDTE']);
@ -652,10 +654,10 @@ $routes->group('presupuestocliente', ['namespace' => 'App\Controllers\Presupuest
$routes->resource('presupuestocliente', ['namespace' => 'App\Controllers\Presupuestos', 'controller' => 'Presupuestocliente', 'except' => 'show,new,create,update']);
$routes->group('serviciosacabados', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) {
$routes->post('datatable', 'Presupuestoacabados::datatable', ['as' => 'dataTableOfPresupuestoAcabados']);
$routes->post('getvalues', 'Presupuestoacabados::getRowValues');
$routes->post('menuitems', 'Presupuestoacabados::menuItems', ['as' => 'menuItemsOfPresupuestoAcabados']);
$routes->post('edit/(:num)', 'Presupuestoacabados::edit/$1', ['as' => 'updatePresupuestoacabados']);
$routes->get('getacabados', 'Presupuestoacabados::getAcabados');
$routes->get('cargar', 'Presupuestoacabados::cargar');
});
$routes->group('serviciosencuadernaciones', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) {

View File

@ -92,7 +92,27 @@ class Presupuestoacabados extends \App\Controllers\BaseResourceController
return $this->respond($data);
}
public function datatable()
public function cargar()
{
if($this->request->isAJAX()) {
$presupuesto_id = $this->request->getGet('presupuesto_id') ?? null;
$rows = $this->model->getResource($presupuesto_id)->get()->getResultObject();
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
$data = [
'rows' => $rows,
$csrfTokenName => $newTokenHash
];
return $this->respond($data);
} else {
return $this->failUnauthorized('Invalid request', 403);
}
}
public function getRowValues()
{
if ($this->request->isAJAX()) {
$reqData = $this->request->getPost();
@ -100,7 +120,7 @@ class Presupuestoacabados extends \App\Controllers\BaseResourceController
$tarifa_acabado_id = $reqData['tarifa_acabado_id'] ?? 0;
$tirada = $reqData['tirada'] ?? 0;
$proveedor_id = $reqData['proveedor_id'] ?? -1;
$POD = $reqData['POD'] ?? 0;
$POD = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value;
$newTokenHash = csrf_hash();
$csrfTokenName = csrf_token();
@ -195,4 +215,6 @@ class Presupuestoacabados extends \App\Controllers\BaseResourceController
return $this->failUnauthorized('Invalid request', 403);
}
}
}

View File

@ -336,4 +336,25 @@ class TarifaAcabados extends BaseResourceController
}
return $this->response->setJSON($query->get()->getResultObject());
}
public function getSelect2()
{
if ($this->request->isAJAX()) {
$query = $this->model->builder()->select(
[
"id",
"nombre as name"
]
)->where("deleted_at", null);
if ($this->request->getGet("q")) {
$query->groupStart()
->orLike("lg_tarifas_acabado.nombre", $this->request->getGet("q"))
->groupEnd();
}
return $this->response->setJSON($query->get()->getResultObject());
} else {
return $this->failUnauthorized('Invalid request', 403);
}
}
}

View File

@ -9,6 +9,7 @@ return [
'id' => 'ID',
'moduleTitle' => 'Tarifas Acabado',
'nombre' => 'Nombre',
'margen' => 'Margen',
'precioMin' => 'Precio Mínimo',
'importeFijo' => 'Importe Fijo',
'mostrar_en_presupuesto' => 'Mostrar en presupuesto',

View File

@ -76,8 +76,10 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel
$ret_array[] = (object)[
'tarifa_id'=> $tarifa_value[0]->tarifa_acabado_id,
'tarifa_nombre'=> $tarifa_value[0]->tarifa_acabado_nombre,
'precio_unidad'=> $result_data[0],
'total'=> $result_data[1],
'nombre'=> $tarifa_value[0]->tarifa_acabado_nombre,
'precio_unidad'=> round($result_data[0], 2),
'total'=> round($result_data[1], 2),
'precio_total'=> round($result_data[1], 2),
'margen'=> $result_data[2],
'proveedor' => $tarifa_value[0]->proveedor_nombre,
'proveedor_id' => $tarifa_value[0]->proveedor_id,
@ -88,9 +90,13 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel
$ret_array[] = (object)[
'tarifa_id'=> $tarifa_acabado_id,
'tarifa_nombre'=> $modelTarifa->getNombreTarifaAcabado($tarifa_acabado_id)[0]->nombre,
'nombre'=> $modelTarifa->getNombreTarifaAcabado($tarifa_acabado_id)[0]->nombre,
'precio_unidad' => 0,
'total' => 0,
'precio_total' => 0,
'margen' => 0,
'total'=> 0,
'proveedor' => '',
'proveedor_id' => 0,
];
return $ret_array;
}
@ -194,7 +200,7 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel
$builder = $this->db
->table($this->table . " t1")
->select(
"t1.id AS id, t1.tarifa_acabado_id AS tarifa_acabado_id, t1.precio_unidad AS precio_unidad,
"t1.id AS id, t1.tarifa_acabado_id AS tarifa_acabado_id, t1.tarifa_acabado_id AS tarifa_id, t1.precio_unidad AS precio_unidad,
t1.precio_total AS precio_total, t1.margen AS margen, t2.nombre AS nombre, t1.cubierta AS cubierta, t1.sobrecubierta AS sobrecubierta,
t1.proveedor_id AS proveedor_id, t3.nombre AS proveedor,"
);

View File

@ -1,14 +1,8 @@
/****************************************************************************************
* Seccion para las funciones generales de la pagina
***************************************************************************************/
/*
$('.nav-servicios button').on('shown.bs.tab', function(){
$("#tableOfServiciosEncuadernacion").DataTable().columns.adjust();
$("#tableOfServiciosPreimpresion").DataTable().columns.adjust();
$("#tableOfServiciosManipulado").DataTable().columns.adjust();
$("#tableOfServiciosAcabado").DataTable().columns.adjust();
$("#tableOfServiciosExtra").DataTable().columns.adjust();
})
$('#serv_default').on('click', function(){
@ -159,12 +153,12 @@ function save_servicios(){
})
)
}
*/
/****************************************************************************************
* Seccion para los servicios de acabado
***************************************************************************************/
var tableServiciosAcabado = new DataTable('#tableOfServiciosAcabado',{
/*var tableServiciosAcabado = new DataTable('#tableOfServiciosAcabado',{
scrollX: true,
searching: false,
paging: false,
@ -625,7 +619,7 @@ async function get_servAcabados_tiradasAlternativas(tirada){
return serviciosAcabados;
}
*/
/****************************************************************************************
* Seccion para los servicios de encuadernación
***************************************************************************************/
@ -1116,6 +1110,7 @@ async function get_servEncuadernacion_tiradasAlternativas(tirada, paginas, ancho
/****************************************************************************************
* Seccion para los servicios de manipulado
***************************************************************************************/
/*
var tableServiciosManipulado = new DataTable('#tableOfServiciosManipulado',{
scrollX: true,
searching: false,
@ -1369,6 +1364,7 @@ async function get_servManipulado_tiradasAlternativas(tirada){
}
return serviciosManipulado;
}
*/
/****************************************************************************************
* Seccion para los servicios de preimpresión

View File

@ -93,7 +93,7 @@
<th><?= lang('Proveedores.proveedor') ?></th>
<th><?= lang('Presupuestos.precioUnidad') ?></th>
<th><?= lang('Presupuestos.precioTotal') ?></th>
<th></th>
<th><?= lang('Tarifaacabado.margen') ?></th>
<th class="text-nowrap"><?= lang('Basic.global.Action') ?></th>
</tr>
</thead>
@ -103,12 +103,6 @@
<div class="row mb-3 px-4">
<div class="col-md-12 col-lg-4 py-4">
<select id="add_servicio_acabado_list" class="select2bs2" style="width: 100%;">
<option></option>
<?php foreach ($serviciosAcabado as $item) : ?>
<option value="<?= $item->value ?>" >
<?= $item->label ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div class="col-md-12 col-lg-4 px-2 py-4">

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@
<?= $this->section("content") ?>
<div class="row">
<div id="mainContainer" class="row">
<div class="col-12">
<h3 class="card-title"><?= $boxTitle ?? $pageTitle ?></h3>
<form id="presupuestoForm" class="card-body" method="post" action="<?= $formAction ?>">
@ -302,16 +302,7 @@
<script src="<?= site_url("themes/vuexy/vendor/libs/datatables-sk/plugins/select/dataTables.select.min.js") ?>"></script>
<script src="<?= site_url('themes/vuexy/js/datatables-editor/dataTables.editor.min.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/autosize/autosize.js') ?>"></script>
<script src="<?= site_url('js_loader/translate_js/Presupuestos') ?>"></script>
<?php if (str_contains($formAction, 'edit')): ?>
<!---<script src="<?= site_url('js_loader/datosEnvios_js') ?>"></script>
<script src="<?= site_url('js_loader/resumenPresupuestos_js') ?>"></script>
<script src="<?= site_url('js_loader/presupuestos_js') ?>"></script>
<script src="<?= site_url('js_loader/comparadorPresupuestoAdmin_js') ?>"></script>
<script src="<?= site_url('js_loader/previsualizador_js') ?>"></script>
<script src="<?= site_url('js_loader/lineasPresupuesto_js') ?>"></script>
<script src="<?= site_url('js_loader/tiradasAlternativas_js') ?>"></script>
<script src="<?= site_url('js_loader/datosServicios_js') ?>"></script> -->
<script src="<?= site_url('themes/vuexy/vendor/libs/two/two.js') ?>"></script>
<script src="<?= site_url('themes/vuexy/vendor/libs/perfect-scrollbar/perfect-scrollbar.js') ?>"></script>