From 8154619bbb8ee7e70122d0f6aaedb367b6d35ffe Mon Sep 17 00:00:00 2001 From: Jaime Jimenez Date: Mon, 18 Dec 2023 19:44:53 +0100 Subject: [PATCH] formulario direcciones presupuestos 2 --- .../Clientes/Clientedirecciones.php | 53 ++++++++++------- .../Clientes/ClienteDireccionesModel.php | 20 +++++++ .../_presupuestoDireccionesForm.php | 58 ++++++++++++++++--- 3 files changed, 102 insertions(+), 29 deletions(-) diff --git a/ci4/app/Controllers/Clientes/Clientedirecciones.php b/ci4/app/Controllers/Clientes/Clientedirecciones.php index 20334f59..5d5e25ec 100755 --- a/ci4/app/Controllers/Clientes/Clientedirecciones.php +++ b/ci4/app/Controllers/Clientes/Clientedirecciones.php @@ -52,29 +52,42 @@ class Clientedirecciones extends \App\Controllers\GoBaseResourceController { if ($this->request->isAJAX()) { $reqData = $this->request->getPost(); - if (!isset($reqData['draw']) || !isset($reqData['columns'])) { - $errstr = 'No data available in response to this specific request.'; - $response = $this->respond(Collection::datatable([], 0, 0, $errstr), 400, $errstr); - return $response; + + $tipo = $reqData['tipo'] ?? 0; + + if(is_null($tipo)){ + if (!isset($reqData['draw']) || !isset($reqData['columns'])) { + $errstr = 'No data available in response to this specific request.'; + $response = $this->respond(Collection::datatable([], 0, 0, $errstr), 400, $errstr); + return $response; + } + $start = $reqData['start'] ?? 0; + $length = $reqData['length'] ?? 5; + $search = $reqData['search']['value']; + $requestedOrder = $reqData['order']['0']['column'] ?? 1; + $order = ClienteDireccionesModel::SORTABLE[$requestedOrder >= 0 ? $requestedOrder : 1]; + $dir = $reqData['order']['0']['dir'] ?? 'asc'; + + $id_C = $reqData['cliente_id'] ?? -1; + + + $resourceData = $this->model->getResource($search, $id_C)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject(); + + + return $this->respond(Collection::datatable( + $resourceData, + $this->model->getResource()->countAllResults(), + $this->model->getResource("", $id_C)->countAllResults() + )); } - $start = $reqData['start'] ?? 0; - $length = $reqData['length'] ?? 5; - $search = $reqData['search']['value']; - $requestedOrder = $reqData['order']['0']['column'] ?? 1; - $order = ClienteDireccionesModel::SORTABLE[$requestedOrder >= 0 ? $requestedOrder : 1]; - $dir = $reqData['order']['0']['dir'] ?? 'asc'; + else{ + $id = $reqData['id'] ?? -1; - $id_C = $reqData['cliente_id'] ?? -1; + $resourceData = $this->model->getDireccion($id); + - - $resourceData = $this->model->getResource($search, $id_C)->orderBy($order, $dir)->limit($length, $start)->get()->getResultObject(); - - - return $this->respond(Collection::datatable( - $resourceData, - $this->model->getResource()->countAllResults(), - $this->model->getResource("", $id_C)->countAllResults() - )); + return $resourceData; + } } else { return $this->failUnauthorized('Invalid request', 403); } diff --git a/ci4/app/Models/Clientes/ClienteDireccionesModel.php b/ci4/app/Models/Clientes/ClienteDireccionesModel.php index 10711637..4d0b7d0f 100755 --- a/ci4/app/Models/Clientes/ClienteDireccionesModel.php +++ b/ci4/app/Models/Clientes/ClienteDireccionesModel.php @@ -127,6 +127,26 @@ class ClienteDireccionesModel extends \App\Models\GoBaseModel ->groupEnd(); } + public function getDireccion($id = -1) + { + $builder = $this->db + ->table($this->table . " t1") + ->select( + "t1.id AS id, t1.cliente_id AS cliente_id, t2.nombre as cliente_nombre, t1.att AS att, t1.alias AS alias, + t1.email AS email, t1.direccion AS direccion, t1.pais_id AS pais_id, t3.nombre AS pais, + t1.ccaa_id AS ccaa_id, t4.nombre AS ccaa_nombre, + t1.municipio AS municipio, t1.provincia AS provincia, t1.cp AS cp, t1.telefono AS telefono" + ); + + $builder->where('t1.id', $id); + $builder->join("clientes t2", "t1.cliente_id = t2.id", "left"); + $builder->join("lg_paises t3", "t1.pais_id = t3.id", "left"); + $builder->join("lg_comunidades_autonomas t4", "t1.ccaa_id = t4.id", "left"); + + + return $builder->get()->getResultObject(); + } + public function getMenuDirecciones($cliente_id=-1){ $builder = diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm.php index 63211ec0..ef737def 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm.php @@ -25,19 +25,19 @@ - +
- +
- +
@@ -47,7 +47,7 @@ -
@@ -92,7 +92,7 @@ - + @@ -105,7 +105,7 @@ - + @@ -114,7 +114,7 @@ - + @@ -177,6 +177,46 @@ $('#add_clientedAdd').select2({ } }) +$('#add_clientedAdd').on('select2:select', function (e) { + var data = e.params.data; + + $.ajax({ + type: "POST", + url: '', + data: function (params) { + return { + id: data.id, + : v + }; + }, + success: function (data) { + console.log(data) + /*data.values.forEach((row) => { + + tableServiciosAcabado.row.add([ + row.tarifa_id, + row.tarifa_nombre, + '' + parseFloat(row.precio_unidad).toFixed(2) + '', + '', + '', + '' + ]).draw(false) + }); + yeniden(data.); + */ + + return true; + }, + error: function(e){ + return false; + } + }) + return false; +}); + +$('.new-address').on('change', function(){ + $('#add_clientedAdd').val(null).trigger('change'); +}) $('#add_pais_id').on('change', function(){ var nombre_pais = $("#add_pais_id option:selected" ).text().trim();