Commit f4c819c10638d75d8fa71c24bb27c718233ff32f

Authored by Eric Fernandez
Exists in master

Merge branch 'master' into 'master'

Master

See merge request modulos-npm/foca-crear-nota-pedido!13
src/js/controller.js
... ... @@ -3,7 +3,7 @@ angular.module('focaCrearNotaPedido')
3 3 ['$scope', '$uibModal', '$location', 'crearNotaPedidoService', 'focaModalService',
4 4 function($scope, $uibModal, $location, crearNotaPedidoService, focaModalService) {
5 5 $scope.show = false;
6   - $scope.edit = false;
  6 + $scope.cargando = true;
7 7 $scope.dateOptions = {
8 8 maxDate: new Date(),
9 9 minDate: new Date(2010, 0, 1)
... ... @@ -60,25 +60,28 @@ angular.module('focaCrearNotaPedido')
60 60 $scope.crearNotaPedido = function() {
61 61 var notaPedido = {
62 62 id: 0,
63   - precioCondicion: $scope.notaPedido.precioCondicion,
64 63 fechaCarga: $scope.notaPedido.fechaCarga,
65   - vendedor: $scope.notaPedido.vendedor,
66   - cliente: $scope.notaPedido.cliente,
67   - producto: $scope.notaPedido.producto,
  64 + vendedor: $scope.notaPedido.vendedor.nombre,
  65 + cliente: $scope.notaPedido.cliente.nombre,
  66 + domicilio: $scope.notaPedido.domicilio.id,
  67 + precioCondicion: $scope.notaPedido.precioCondicion,
68 68 bomba: $scope.notaPedido.bomba,
69   - petrolera: $scope.notaPedido.petrolera,
70   - domicilio: $scope.notaPedido.domicilio,
71   - kilometros: $scope.notaPedido.kilometros,
72   - jurisdiccionIIBB: $scope.notaPedido.jurisdiccionIIBB,
73   - costoFinanciacion: $scope.notaPedido.costoFinanciacion,
74 69 flete: $scope.notaPedido.flete,
75   - costoUnitarioKmFlete: $scope.notaPedido.costoUnitarioKmFlete,
76   - total: $scope.articulosTabla[0].subTotal
  70 + total: $scope.getTotal()
77 71 };
78 72 crearNotaPedidoService.crearNotaPedido(notaPedido).then(
79 73 function() {
80   - focaModalService('Nota pedido creada');
81   - $location.path('/venta-nota-pedido');
  74 + focaModalService.alert('Nota pedido creada');
  75 + // $location.path('/venta-nota-pedido');
  76 + // var flete = {
  77 + // idNotaPedido: data.data.id,
  78 + // idTransportista: $scope.notaPedido.fleteId,
  79 + // idChofer: $scope.chofer.id,
  80 + // idVehiculo: $scope.vehiculo.id,
  81 + // kilometros: $scope.notaPedido.kilometros,
  82 + // costoKilometro: $scope.notaPedido.costoUnitarioKmFlete
  83 + // };
  84 + //TO DO - Insert de flete
82 85 }
83 86 );
84 87 var articulosNotaPedido = $scope.articulosTabla;
... ... @@ -90,6 +93,7 @@ angular.module('focaCrearNotaPedido')
90 93 }
91 94 );
92 95 }
  96 +
93 97 };
94 98 $scope.siguienteTab = function() {
95 99 $scope.active = 1;
... ... @@ -121,9 +125,10 @@ angular.module('focaCrearNotaPedido')
121 125 nombre: producto.descripcion,
122 126 precio: producto.precio.toFixed(2),
123 127 costoUnitario: producto.costo,
124   - cantidad: 1
  128 + edit: false
125 129 };
126 130 $scope.articuloACargar = newArt;
  131 + $scope.cargando = false;
127 132 }, function() {
128 133 // funcion ejecutada cuando se cancela el modal
129 134 }
... ... @@ -247,8 +252,11 @@ angular.module('focaCrearNotaPedido')
247 252 function(flete) {
248 253 $scope.choferes = '';
249 254 $scope.vehiculos = '';
  255 + $scope.notaPedido.chofer = '';
  256 + $scope.notaPedido.vehiculo = '';
  257 + $scope.notaPedido.costoUnitarioKmFlete = '';
250 258 $scope.notaPedido.fleteNombre = flete.nombre;
251   - $scope.notaPedido.costoUnitarioKmFlete = flete.costoKilometro;
  259 + $scope.notaPedido.fleteId = flete.id;
252 260 $scope.choferes = flete.chofer;
253 261 $scope.vehiculos = flete.vehiculo;
254 262 }, function() {
... ... @@ -259,20 +267,31 @@ angular.module('focaCrearNotaPedido')
259 267 };
260 268 $scope.agregarATabla = function(key) {
261 269 if(key === 13) {
  270 + if($scope.articuloACargar.cantidad === undefined ||
  271 + $scope.articuloACargar.cantidad === 0 ||
  272 + $scope.articuloACargar.cantidad === null ){
  273 + focaModalService.alert('El valor debe ser al menos 1');
  274 + return;
  275 + }
262 276 $scope.articulosTabla.unshift($scope.articuloACargar);
263   - $scope.articuloACargar = undefined;
  277 + $scope.cargando = true;
264 278 }
265 279 };
266 280 $scope.quitarArticulo = function(key) {
267 281 $scope.articulosTabla.splice(key, 1);
268 282 };
269   - $scope.editarArticulo = function(key) {
  283 + $scope.editarArticulo = function(key, articulo) {
270 284 if(key === 13) {
271   - $scope.edit = false;
272   - }
  285 + if(articulo.cantidad === null || articulo.cantidad === 0 ||
  286 + articulo.cantidad === undefined){
  287 + focaModalService.alert('El valor debe ser al menos 1');
  288 + return;
  289 + }
  290 + articulo.edit = false;
  291 + }
273 292 };
274   - $scope.cambioEdit = function() {
275   - $scope.edit = !$scope.edit ? true : false;
  293 + $scope.cambioEdit = function(articulo) {
  294 + articulo.edit = true;
276 295 };
277 296 $scope.limpiarFlete = function() {
278 297 $scope.notaPedido.fleteNombre = '';
... ... @@ -295,6 +314,10 @@ angular.module('focaCrearNotaPedido')
295 314 $scope.domicilio.dom = '';
296 315 $scope.notaPedido.flete = 0;
297 316 };
  317 + $scope.resetFilter = function() {
  318 + $scope.articuloACargar = {};
  319 + $scope.cargando = true;
  320 + };
298 321 }
299 322 ]
300 323 )
... ... @@ -55,6 +55,9 @@ angular.module('focaCrearNotaPedido')
55 55 },
56 56 getPlazoPagoByPrecioCondicion: function(id) {
57 57 return $http.get(route + '/plazo-pago/precio-condicion/'+ id);
  58 + },
  59 + crearFlete: function(flete) {
  60 + return $http.post(route + '/flete', {flete : flete});
58 61 }
59 62 };
60 63 }]);
src/views/nota-pedido.html
... ... @@ -59,15 +59,10 @@
59 59 <input
60 60 class="form-control selectable"
61 61 type="text"
62   - ng-model="domicilio.dom"
63   - ng-click="abrirModalDomicilio()"
  62 + ng-model="domicilio"
64 63 placeholder="Seleccione Domicilio"
65   - uib-typeahead="
66   - domi.dom
67   - for domi
68   - in domiciliosCliente
69   - "
70 64 typeahead-min-length="0"
  65 + uib-typeahead="domi as domi.dom for domi in domiciliosCliente"
71 66 >
72 67 </div>
73 68 <div class="form-group col-12 col-sm-6 col-md-4">
... ... @@ -141,7 +136,7 @@
141 136 ng-show="notaPedido.flete == 1"
142 137 ng-model="notaPedido.chofer"
143 138 placeholder="Seleccione Chofer"
144   - uib-typeahead="chofer.nombre for chofer in choferes"
  139 + uib-typeahead="chofer as chofer.nombre for chofer in choferes"
145 140 typeahead-min-length="0"
146 141 >
147 142 </div>
... ... @@ -152,7 +147,7 @@
152 147 ng-show="notaPedido.flete == 1"
153 148 ng-model="notaPedido.vehiculo"
154 149 placeholder="Seleccione Vehรญculo"
155   - uib-typeahead="vehiculo.tractor for vehiculo in vehiculos"
  150 + uib-typeahead="vehiculo as vehiculo.tractor for vehiculo in vehiculos"
156 151 typeahead-min-length="0"
157 152 >
158 153 </div>
... ... @@ -179,7 +174,13 @@
179 174 </div>
180 175 </div>
181 176 <div class="col-auto my-2">
182   - <button ng-click="crearPedidoDemo()" type="button" title="Crear nota pedido" class="btn btn-primary float-right">Crear</button>
  177 + <button
  178 + ng-click="crearNotaPedido()"
  179 + type="button"
  180 + title="Crear nota pedido"
  181 + class="btn btn-primary float-right">
  182 + Guardar
  183 + </button>
183 184 </div>
184 185 </div>
185 186 <div class="row">
... ... @@ -205,15 +206,19 @@
205 206 </tr>
206 207 </thead>
207 208 <tbody>
208   - <tr ng-show="!articuloACargar">
209   - <td colspan="2"><input placeholder="Seleccione Articulo" class="form-control" readonly ng-click="seleccionarArticulo()"></td>
  209 + <tr ng-show="cargando">
  210 + <td colspan="2"><input
  211 + placeholder="Seleccione Articulo"
  212 + class="form-control"
  213 + readonly
  214 + ng-click="seleccionarArticulo()"></td>
210 215 <td></td>
211 216 <td></td>
212 217 <td></td>
213 218 <td></td>
214 219 <td></td>
215 220 </tr>
216   - <tr ng-show="articuloACargar">
  221 + <tr ng-show="!cargando">
217 222 <td><input
218 223 class="form-control"
219 224 ng-model="articuloACargar.sector"
... ... @@ -234,9 +239,9 @@
234 239 class="form-control"
235 240 type="number"
236 241 min="1"
237   - value="1"
238 242 ng-model="articuloACargar.cantidad"
239   - foca-focus="articuloACargar.cantidad == 1"
  243 + foca-focus="!cargando"
  244 + esc-key="resetFilter()"
240 245 ng-keypress="agregarATabla($event.keyCode)"></td>
241 246 <td><input
242 247 class="form-control"
... ... @@ -254,15 +259,19 @@
254 259 <td ng-bind="articulo.descripcion"></td>
255 260 <td ng-bind="articulo.precio | currency:'$'"></td>
256 261 <td><input
257   - ng-show="edit"
  262 + ng-show="articulo.edit"
258 263 ng-model="articulo.cantidad"
259 264 class="form-control"
260 265 type="number"
261 266 min="1"
262   - value="1"
263   - foca-focus="edit"
264   - ng-keypress="editarArticulo($event.keyCode)">
265   - <i class="selectable" ng-click="cambioEdit()" ng-hide="edit" ng-bind="articulo.cantidad"></i>
  267 + foca-focus="articulo.edit"
  268 + ng-keypress="editarArticulo($event.keyCode, articulo)">
  269 + <i
  270 + class="selectable"
  271 + ng-click="cambioEdit(articulo)"
  272 + ng-hide="articulo.edit"
  273 + ng-bind="articulo.cantidad">
  274 + </i>
266 275 </td>
267 276 <td ng-bind="(articulo.precio * articulo.cantidad) | currency: '$'"></td>
268 277 <td class="text-center">