diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index 45970118..a44885c5 100644 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -589,6 +589,7 @@ $routes->resource('presupuestocliente', ['namespace' => 'App\Controllers\Presupu $routes->group('serviciosacabados', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) { $routes->post('datatable', 'Presupuestoacabados::datatable', ['as' => 'dataTableOfPresupuestoAcabados']); + $routes->post('menuitems', 'Presupuestoacabados::menuItems', ['as' => 'menuItemsOfPresupuestoAcabados']); $routes->post('edit/(:num)', 'Presupuestoacabados::edit/$1', ['as' => 'updatePresupuestoacabados']); }); diff --git a/ci4/app/Controllers/Presupuestos/Presupuestoacabados.php b/ci4/app/Controllers/Presupuestos/Presupuestoacabados.php index 47f2eb68..48fa392c 100755 --- a/ci4/app/Controllers/Presupuestos/Presupuestoacabados.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestoacabados.php @@ -99,12 +99,13 @@ 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; $newTokenHash = csrf_hash(); $csrfTokenName = csrf_token(); - $values = $this->model->getPrecioTarifa($tarifa_acabado_id, $tirada, $POD); + $values = $this->model->getPrecioTarifa($tarifa_acabado_id, $tirada, $proveedor_id, $POD); $data = [ 'values' => $values, @@ -119,4 +120,39 @@ class Presupuestoacabados extends \App\Controllers\BaseResourceController } + public function menuItems() + { + if ($this->request->isAJAX()) { + + $reqData = $this->request->getPost(); + try{ + + $tarifa_id = $reqData['tarifa_id'] ?? -1; + $tirada = $reqData['tirada'] ?? 0; + + $newTokenHash = csrf_hash(); + $csrfTokenName = csrf_token(); + + $menu = $this->model->getProveedoresForSelector($tarifa_id, $tirada); + + $data = [ + 'menu' => $menu, + $csrfTokenName => $newTokenHash + ]; + + } + catch(Exception $e){ + $data = [ + 'error' => $e, + $csrfTokenName => $newTokenHash + ]; + } + finally{ + return $this->respond($data); + } + + } else { + return $this->failUnauthorized('Invalid request', 403); + } + } } diff --git a/ci4/app/Controllers/Tarifas/Acabados/TarifaAcabados.php b/ci4/app/Controllers/Tarifas/Acabados/TarifaAcabados.php index 3c1c7236..eb9e47eb 100644 --- a/ci4/app/Controllers/Tarifas/Acabados/TarifaAcabados.php +++ b/ci4/app/Controllers/Tarifas/Acabados/TarifaAcabados.php @@ -5,6 +5,10 @@ use App\Entities\Tarifas\Acabados\TarifaAcabadoEntity; use App\Models\Collection; use App\Models\Tarifas\Acabados\TarifaAcabadoModel; +use App\Models\Compras\ProveedorModel; +use App\Models\Compras\ProveedorTipoModel; + + class TarifaAcabados extends BaseResourceController { @@ -217,6 +221,7 @@ class TarifaAcabados extends BaseResourceController endif; // ($requestMethod === 'post') $this->viewData['tarifaacabadoEntity'] = $tarifaacabadoEntity; + $this->viewData['proveedores'] = $this->getProveedores(); $this->viewData['formAction'] = route_to('updateTarifaAcabado', $id); @@ -305,4 +310,12 @@ class TarifaAcabados extends BaseResourceController } } + private function getProveedores(){ + $provTipoModel = new ProveedorTipoModel(); + $provModel = new ProveedorModel(); + + $tipoId = $provTipoModel->getTipoId("Acabados"); + return $provModel->getProvList($tipoId); + } + } diff --git a/ci4/app/Controllers/Tarifas/Acabados/TarifaAcabadosLineas.php b/ci4/app/Controllers/Tarifas/Acabados/TarifaAcabadosLineas.php index 15f7e901..e3021245 100644 --- a/ci4/app/Controllers/Tarifas/Acabados/TarifaAcabadosLineas.php +++ b/ci4/app/Controllers/Tarifas/Acabados/TarifaAcabadosLineas.php @@ -213,13 +213,14 @@ class TarifaAcabadosLineas extends \App\Controllers\BaseResourceController $id_TA = $reqData['id_tarifaacabado'] ?? -1; + $searchValues = get_filter_datatables_columns($reqData); - $resourceData = $this->model->getResource("", $id_TA)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject(); - + $resourceData = $this->model->getResource($searchValues, $id_TA)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject(); + return $this->respond(Collection::datatable( $resourceData, $this->model->getResource()->countAllResults(), - $this->model->getResource($search, $id_TA)->countAllResults() + $this->model->getResource($searchValues, $id_TA)->countAllResults() )); } else { return $this->failUnauthorized('Invalid request', 403); @@ -280,6 +281,7 @@ class TarifaAcabadosLineas extends \App\Controllers\BaseResourceController ->validator('Validate::notEmpty', array( 'message' => lang('TarifaAcabadoLineas.validation.margen.required')) ), + Field::inst('proveedor_id'), Field::inst('tarifa_acabado_id'), Field::inst('user_created_id'), Field::inst('created_at'), @@ -297,6 +299,7 @@ class TarifaAcabadosLineas extends \App\Controllers\BaseResourceController $process_data['tirada_min'] = $data['data'][$pkey]['tirada_min']; $process_data['tirada_max'] = $data['data'][$pkey]['tirada_max']; + $process_data['proveedor_id'] = $data['data'][$pkey]['proveedor_id']; $response = $this->model->checkIntervals($process_data, $pkey, $data['data'][$pkey]['tarifa_acabado_id']); // No se pueden duplicar valores al crear o al editar if (!empty($response)) { diff --git a/ci4/app/Entities/Presupuestos/PresupuestoAcabadosEntity.php b/ci4/app/Entities/Presupuestos/PresupuestoAcabadosEntity.php index 71c10315..02af9b3a 100755 --- a/ci4/app/Entities/Presupuestos/PresupuestoAcabadosEntity.php +++ b/ci4/app/Entities/Presupuestos/PresupuestoAcabadosEntity.php @@ -9,6 +9,7 @@ class PresupuestoAcabadosEntity extends \CodeIgniter\Entity\Entity "id" => null, "presupuesto_id" => null, "tarifa_acabado_id" => null, + "proveedor_id" => null, "precio_unidad" => null, "precio_total" => null, "margen" => null, @@ -20,6 +21,7 @@ class PresupuestoAcabadosEntity extends \CodeIgniter\Entity\Entity protected $casts = [ "presupuesto_id" => "int", "tarifa_acabado_id" => "int", + "proveedor_id" => "int", "precio_unidad" => "float", "precio_total" => "float", "margen" => "float", diff --git a/ci4/app/Entities/Tarifas/Acabados/TarifaAcabadoLineaEntity.php b/ci4/app/Entities/Tarifas/Acabados/TarifaAcabadoLineaEntity.php index fb9ad299..b50a8c7f 100644 --- a/ci4/app/Entities/Tarifas/Acabados/TarifaAcabadoLineaEntity.php +++ b/ci4/app/Entities/Tarifas/Acabados/TarifaAcabadoLineaEntity.php @@ -8,6 +8,7 @@ class TarifaAcabadoLineaEntity extends \CodeIgniter\Entity\Entity protected $attributes = [ "id" => null, "tarifa_acabado_id" => 0, + "proveedor_id" => 0, "tirada_min" => 0, "tirada_max" => 0, "precio_min" => 0, @@ -21,6 +22,7 @@ class TarifaAcabadoLineaEntity extends \CodeIgniter\Entity\Entity ]; protected $casts = [ "tarifa_acabado_id" => "int", + "proveedor_id" => "int", "tirada_min" => "int", "tirada_max" => "int", "precio_min" => "float", diff --git a/ci4/app/Language/en/TarifaAcabadoLineas.php b/ci4/app/Language/en/TarifaAcabadoLineas.php index 35361c39..71c6e647 100755 --- a/ci4/app/Language/en/TarifaAcabadoLineas.php +++ b/ci4/app/Language/en/TarifaAcabadoLineas.php @@ -6,6 +6,7 @@ return [ 'id' => 'ID', 'moduleTitle' => 'Finish rates Lines', 'deleteLine' => 'the selected register', + 'proveedor' => 'Provider', 'precioMax' => 'Max Price', 'precioMin' => 'Min Price', 'precioUnidad' => 'Price Unit', diff --git a/ci4/app/Language/es/TarifaAcabadoLineas.php b/ci4/app/Language/es/TarifaAcabadoLineas.php index 47b1b295..eecfe599 100755 --- a/ci4/app/Language/es/TarifaAcabadoLineas.php +++ b/ci4/app/Language/es/TarifaAcabadoLineas.php @@ -6,6 +6,7 @@ return [ 'id' => 'ID', 'moduleTitle' => 'Tarifa Acabado Líneas', 'deleteLine' => 'el registro seleccionado', + 'proveedor' => 'Proveedor', 'precioMax' => 'Precio T. Mín', 'precioMin' => 'Precio T. Máx', 'precioUnidad' => 'Precio Unidad', diff --git a/ci4/app/Language/es/Tarifaencuadernacion.php b/ci4/app/Language/es/Tarifaencuadernacion.php index 6627cc2d..34c01087 100755 --- a/ci4/app/Language/es/Tarifaencuadernacion.php +++ b/ci4/app/Language/es/Tarifaencuadernacion.php @@ -13,6 +13,7 @@ return [ 'precioMax' => 'Precio T. Mín', 'precioMin' => 'Precio T. Máx', 'importeFijo' => 'Importe Fijo', + 'importeMin' => 'Importe mínimo', 'tarifaencuadernacion' => 'Tarifa Encuadernación', 'tarifaencuadernacionList' => 'Lista Tarifas Encuadernación', 'tarifasencuadernacion' => 'Tarifas Encuadernación', diff --git a/ci4/app/Models/Presupuestos/PresupuestoAcabadosModel.php b/ci4/app/Models/Presupuestos/PresupuestoAcabadosModel.php index 9eadaf14..08d98bfb 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoAcabadosModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoAcabadosModel.php @@ -17,11 +17,12 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel const SORTABLE = [ 0 => "t2.nombre", - 1 => "t1.precio_unidad", - 2 => "t1.precio_total" + 1 => "t1.proveedor_id", + 2 => "t1.precio_unidad", + 3 => "t1.precio_total" ]; - protected $allowedFields = ["presupuesto_id", "tarifa_acabado_id", "nombre", "precio_total", "precio_unidad", "margen", "cubierta", "sobrecubierta"]; + protected $allowedFields = ["presupuesto_id", "tarifa_acabado_id", "proveedor_id", "nombre", "precio_total", "precio_unidad", "margen", "cubierta", "sobrecubierta"]; protected $returnType = "App\Entities\Presupuestos\PresupuestoAcabadosEntity"; protected $useTimestamps = true; @@ -46,10 +47,29 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel ], ]; - public function getPrecioTarifa($tarifa_acabado_id, $tirada, $POD){ + + public function getProveedoresForSelector($tarifa_acabado_id, $tirada){ + + $proveedores = []; + $modelTarifa = model('App\Models\Tarifas\Acabados\TarifaAcabadoModel'); + + $tarifa_value = $modelTarifa->getTarifaPresupuestoAcabado($tarifa_acabado_id, $tirada); + + if (count($tarifa_value)>0) { + foreach($tarifa_value as $tarifa) + array_push($proveedores, + (object)[ + 'id'=> $tarifa->proveedor_id, + 'text'=> $tarifa->proveedor_nombre, + ]); + } + return $proveedores; + } + + public function getPrecioTarifa($tarifa_acabado_id, $tirada, $proveedor_id, $POD){ $modelTarifa = model('App\Models\Tarifas\Acabados\TarifaAcabadoModel'); - $tarifa_value = $modelTarifa->getTarifaPresupuestoAcabado($tarifa_acabado_id, $tirada); + $tarifa_value = $modelTarifa->getTarifaPresupuestoAcabado($tarifa_acabado_id, $tirada, $proveedor_id); if (count($tarifa_value)>0) { $result_data = $this->calcularTarifa($tarifa_value[0], $tirada, $POD<$tirada?false:true); @@ -59,6 +79,8 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel 'precio_unidad'=> $result_data[0], 'total'=> $result_data[1], 'margen'=> $result_data[2], + 'proveedor' => $tarifa_value[0]->proveedor_nombre, + 'proveedor_id' => $tarifa_value[0]->proveedor_id, ]; return $ret_array; } @@ -119,6 +141,8 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel foreach($tarifas as $tarifa){ + $proveedor = $tarifa->proveedor_id=='undefined'?'NULL':$tarifa->proveedor_id; + $builder = $this->db ->table($this->table . " t1"); $builder->select("id"); @@ -132,6 +156,7 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel ->table($this->table . " t1") ->where('presupuesto_id', $presupuesto_id) ->where('tarifa_acabado_id', $tarifa->tarifa_id) + ->set('proveedor_id', $proveedor) ->set('precio_unidad', $tarifa->precio_unidad) ->set('precio_total', $tarifa->precio_total) ->set('margen', $tarifa->margen) @@ -146,6 +171,7 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel ->table($this->table . " t1") ->set('presupuesto_id', $presupuesto_id) ->set('tarifa_acabado_id', $tarifa->tarifa_id) + ->set('proveedor_id', $proveedor, false) ->set('precio_unidad', $tarifa->precio_unidad) ->set('precio_total', $tarifa->precio_total) ->set('margen', $tarifa->margen) @@ -169,11 +195,13 @@ class PresupuestoAcabadosModel extends \App\Models\BaseModel ->table($this->table . " t1") ->select( "t1.id AS id, t1.tarifa_acabado_id AS tarifa_acabado_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.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," ); $builder->where('t1.presupuesto_id', $presupuesto_id); $builder->join("lg_tarifa_acabado t2", "t1.tarifa_acabado_id = t2.id", "left"); + $builder->join("lg_proveedores t3", "t1.proveedor_id = t3.id", "left"); return $builder; } diff --git a/ci4/app/Models/Presupuestos/PresupuestoModel.php b/ci4/app/Models/Presupuestos/PresupuestoModel.php index 6c8bc26a..85eb6e8f 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoModel.php @@ -162,7 +162,7 @@ class PresupuestoModel extends \App\Models\BaseModel ], "pais_id" => [ "label" => "Presupuestos.paisId", - "rules" => "required|integer|greater_than[0]", + "rules" => "integer", ], "cliente_id" => [ "label" => "Presupuestos.clienteId", diff --git a/ci4/app/Models/Tarifas/Acabados/TarifaAcabadoLineaModel.php b/ci4/app/Models/Tarifas/Acabados/TarifaAcabadoLineaModel.php index 84e890cc..67ee7a73 100644 --- a/ci4/app/Models/Tarifas/Acabados/TarifaAcabadoLineaModel.php +++ b/ci4/app/Models/Tarifas/Acabados/TarifaAcabadoLineaModel.php @@ -1,6 +1,9 @@ "t1.tirada_min", - 1 => "t1.tirada_max", - 2 => "t1.precio_min", - 3 => "t1.precio_max", - 4 => "t1.margen", + 0 => "t3.nombre", + 1 => "t1.tirada_min", + 2 => "t1.precio_max", + 3 => "t1.tirada_max", + 4 => "t1.precio_min", + 5 => "t1.margen", ]; protected $allowedFields = [ + "proveedor_id", "tirada_min", "tirada_max", "precio_min", @@ -126,12 +131,12 @@ class TarifaAcabadoLineaModel extends \App\Models\BaseModel * * @return \CodeIgniter\Database\BaseBuilder */ - public function getResource(string $search = "", $tarifa_acabado_id = -1) + public function getResource($search = [], $tarifa_acabado_id = -1) { $builder = $this->db ->table($this->table . " t1") ->select( - "t1.id AS id, t1.tirada_min AS tirada_min, t1.tirada_max AS tirada_max, t1.precio_min AS precio_min, t1.precio_max AS precio_max, t1.margen AS margen, t2.id AS tarifa_acabado" + "t1.id AS id, t1.proveedor_id AS proveedor_id, t3.nombre AS proveedor_nombre, t1.tirada_min AS tirada_min, t1.tirada_max AS tirada_max, t1.precio_min AS precio_min, t1.precio_max AS precio_max, t1.margen AS margen, t2.id AS tarifa_acabado" ); //JJO @@ -139,21 +144,66 @@ class TarifaAcabadoLineaModel extends \App\Models\BaseModel $builder->where("t1.is_deleted", 0); $builder->join("lg_tarifa_acabado t2", "t1.tarifa_acabado_id = t2.id", "left"); + $builder->join("lg_proveedores t3", "t1.proveedor_id = t3.id", "left"); - return empty($search) - ? $builder - : $builder - ->groupStart() - ->like("t1.tirada_min", $search) - ->orLike("t1.tirada_max", $search) - ->orLike("t1.precio_min", $search) - ->orLike("t1.precio_max", $search) - ->orLike("t1.tirada_min", $search) - ->orLike("t1.tirada_max", $search) - ->orLike("t1.precio_min", $search) - ->orLike("t1.precio_max", $search) - ->groupEnd(); + if (empty($search)) + return $builder; + else { + $filterEnabled = 0; + + foreach ($search as $col_search) { + if($col_search[0] != 0){ + if(strlen($col_search[2]) > 1){ + $values = explode(",",$col_search[2]); + $min_val = floatval($values[0]); + $max_val = floatval($values[1]); + if(!is_nan($min_val) && !is_null($min_val) && strlen($values[0]) > 0){ + if($filterEnabled == 0){ + $builder->groupStart(); + $filterEnabled = 1; + } + $builder->where(self::SORTABLE[$col_search[0]] . " >=", $min_val); + } + if(!is_nan($max_val) && !is_null($max_val) && strlen($values[1]) > 0){ + if($filterEnabled == 0){ + $builder->groupStart(); + $filterEnabled = 1; + } + $builder->where(self::SORTABLE[$col_search[0]] . " <", $max_val); + } + } + } + else{ + if(strlen($col_search[2]) > 1){ + $values = explode(",",$col_search[2]); + if(count($values) > 1){ + foreach ($values as $value) { + if($filterEnabled == 0){ + $builder->groupStart(); + $filterEnabled = 1; + } + $builder->orWhere("t1.proveedor_id", $value); + } + } + else{ + if($filterEnabled == 0){ + $builder->groupStart(); + $filterEnabled = 1; + } + $builder->where("t1.proveedor_id", $col_search[2]); + } + } + } + + } + if($filterEnabled == 1){ + $builder->groupEnd(); + } + + + return $builder; + } } public function findLineasForTarifaAcabado(int $tarifaacabado_id){ @@ -181,6 +231,7 @@ class TarifaAcabadoLineaModel extends \App\Models\BaseModel ->select("id, tirada_min, tirada_max") ->where("is_deleted", 0) ->where("tarifa_acabado_id", $id_tarifa_acabado) + ->where("proveedor_id", $data["proveedor_id"]) ->get()->getResultObject(); diff --git a/ci4/app/Models/Tarifas/Acabados/TarifaAcabadoModel.php b/ci4/app/Models/Tarifas/Acabados/TarifaAcabadoModel.php index 3d2e3162..4ae2b09f 100644 --- a/ci4/app/Models/Tarifas/Acabados/TarifaAcabadoModel.php +++ b/ci4/app/Models/Tarifas/Acabados/TarifaAcabadoModel.php @@ -114,16 +114,17 @@ class TarifaAcabadoModel extends \App\Models\BaseModel return $builder->orderBy("t1.nombre", "asc")->get()->getResultObject(); } - public function getTarifaPresupuestoAcabado($tarifa_id, $tirada){ + public function getTarifaPresupuestoAcabado($tarifa_id, $tirada, $proveedor_id = -1){ $builder = $this->db ->table($this->table . " t1") ->select( "t1.id AS tarifa_acabado_id, t1.nombre AS tarifa_acabado_nombre, t1.precio_min AS tarifa_precio_min, t1.importe_fijo AS tarifa_importe_fijo, t1.acabado_cubierta AS acabado_cubierta, t1.acabado_sobrecubierta AS acabado_sobrecubierta, t2.id AS tarifa_linea_id, t2.tirada_min AS tirada_min, t2.tirada_max AS tirada_max, - t2.precio_min AS precio_min, t2.precio_max AS precio_max, t2.margen AS margen" + t2.precio_min AS precio_min, t2.precio_max AS precio_max, t2.margen AS margen, t2.proveedor_id AS proveedor_id, t3.nombre AS proveedor_nombre" ) ->join("tarifa_acabado_lineas t2", "t1.id = t2.tarifa_acabado_id", "left") + ->join("lg_proveedores t3", "t2.proveedor_id = t3.id", "left") ->where("t1.is_deleted", 0) //->where("t1.mostrar_en_presupuesto", 1) ->where("t2.is_deleted", 0); @@ -132,6 +133,9 @@ class TarifaAcabadoModel extends \App\Models\BaseModel $builder->where('t2.tirada_min <=', $tirada); $builder->where('t2.tirada_max >=', $tirada); + if($proveedor_id != -1){ + $builder->where('t2.proveedor_id', $proveedor_id); + } return $builder->get()->getResultObject(); } diff --git a/ci4/app/Services/PresupuestoClienteService.php b/ci4/app/Services/PresupuestoClienteService.php index ecb1f1ad..bf6c6408 100644 --- a/ci4/app/Services/PresupuestoClienteService.php +++ b/ci4/app/Services/PresupuestoClienteService.php @@ -385,7 +385,7 @@ class PresupuestoClienteService extends BaseService $POD = $data['POD'] ?? -1; $model = model('App\Models\Presupuestos\PresupuestoAcabadosModel'); - $values = $model->getPrecioTarifa($tarifa_id, $tirada, $POD); + $values = $model->getPrecioTarifa($tarifa_id, $tirada, -1, $POD); // proveedor más barato return $values; } diff --git a/ci4/app/Services/PresupuestoService.php b/ci4/app/Services/PresupuestoService.php index e42fb832..781b8127 100755 --- a/ci4/app/Services/PresupuestoService.php +++ b/ci4/app/Services/PresupuestoService.php @@ -1353,7 +1353,14 @@ class PresupuestoService extends BaseService $model = new PresupuestoAcabadosModel(); foreach ($servicios as $servicio) { - $nueva_tarifa = $model->getPrecioTarifa($servicio->tarifa_acabado_id, $input_data['tirada'], $input_data['POD']); + // Si es un presupuesto duplicado hay que buscar el proveedor más barato + if($input_data['is_duplicado']){ + $nueva_tarifa = $model->getPrecioTarifa($servicio->tarifa_acabado_id, $input_data['tirada'], -1, $input_data['POD']); + } + else{ + $nueva_tarifa = $model->getPrecioTarifa($servicio->tarifa_acabado_id, $input_data['tirada'], $servicio->proveedor_id, $input_data['POD']); + } + if($nueva_tarifa && count($nueva_tarifa)>0){ if(round($nueva_tarifa[0]->precio_unidad, 2) != round($servicio->precio_unidad,2) || $nueva_tarifa[0]->margen != $servicio->margen){ diff --git a/ci4/app/Views/themes/vuexy/form/pedidos/_albaranesItems.php b/ci4/app/Views/themes/vuexy/form/pedidos/_albaranesItems.php index 981e9dd4..d9306818 100644 --- a/ci4/app/Views/themes/vuexy/form/pedidos/_albaranesItems.php +++ b/ci4/app/Views/themes/vuexy/form/pedidos/_albaranesItems.php @@ -598,6 +598,16 @@ $(document).on('change', '.albaran_linea', function(){ $(document).on('click', '#borrar_albaranes', function(){ + asyncConfirmDialogWithParams( + "Borrar albaranes", + "¿Está seguro de borrar los albaranes? Esta acción no se puede deshacer.", + borrar_albaranes, function(){}, []) + + +}); + +function borrar_albaranes(){ + // seleccionan todos los accordion dentro del body del accordion accordioAlbaranes $('.accordion-albaran').each(function() { // Aquí puedes trabajar con cada acordeón interno encontrado @@ -617,12 +627,12 @@ $(document).on('click', '#borrar_albaranes', function(){ } } }); - }); -}); + }); +} + + +function borrar_albaran(albaran_id){ -$(document).on('click', '.borrar-albaran', function(){ - - var albaran_id = $(this).attr('id').split('_').slice(-1)[0]; var url = '= route_to('borrarAlbaran', ':id') ?>'; url = url.replace(':id', albaran_id ); $.ajax({ @@ -637,7 +647,18 @@ $(document).on('click', '.borrar-albaran', function(){ } } } - }); + }); +} + + +$(document).on('click', '.borrar-albaran', function(){ + + var albaran_id = $(this).attr('id').split('_').slice(-1)[0]; + + asyncConfirmDialogWithParams( + "Borrar albarán", + "¿Está seguro de borrar el albarán? Esta acción no se puede deshacer.", + borrar_albaran, function(){}, [albaran_id]) }); $(document).on('click', '.nueva-linea-albaran', function(){ diff --git a/ci4/app/Views/themes/vuexy/form/pedidos/viewPedidoForm.php b/ci4/app/Views/themes/vuexy/form/pedidos/viewPedidoForm.php index 773ab727..e63cd721 100644 --- a/ci4/app/Views/themes/vuexy/form/pedidos/viewPedidoForm.php +++ b/ci4/app/Views/themes/vuexy/form/pedidos/viewPedidoForm.php @@ -27,6 +27,7 @@ += view("themes/_commonPartialsBs/_modalConfirmDialog") ?> = $this->endSection() ?> diff --git a/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoItems.php b/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoItems.php index ec087bb1..f4410468 100644 --- a/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoItems.php +++ b/ci4/app/Views/themes/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoItems.php @@ -126,7 +126,7 @@