Commit e700d7112a73b8ca1d3e769cd1cd85bb226d1990
Exists in
master
Merge branch 'master' into 'master'
Master(efernandez) See merge request modulos-npm/foca-crear-nota-pedido!15
Showing
4 changed files
Show diff stats
package.json
... | ... | @@ -8,7 +8,7 @@ |
8 | 8 | "compile": "gulp uglify", |
9 | 9 | "gulp-pre-commit": "gulp pre-commit", |
10 | 10 | "postinstall": "npm run compile && gulp clean-post-install", |
11 | - "install-dev": "npm install -D jasmine-core pre-commit angular angular-route bootstrap ui-bootstrap4 font-awesome gulp gulp-angular-templatecache gulp-connect gulp-clean gulp-htmlmin gulp-jshint gulp-rename gulp-replace gulp-sequence gulp-uglify-es gulp-uglify jquery jshint pump git+https://debo.suite.repo/modulos-npm/foca-directivas.git git+https://debo.suite.repo/modulos-npm/foca-modal-vendedores.git git+https://debo.suite.repo/modulos-npm/foca-modal-petroleras.git git+https://debo.suite.repo/nguarnieri/foca-modal-busqueda-productos git+https://debo.suite.repo/modulos-npm/foca-busqueda-cliente.git git+https://debo.suite.repo/modulos-npm/foca-modal-precio-condiciones.git git+https://debo.suite.repo/modulos-npm/foca-modal-flete git+https://debo.suite.repo/modulos-npm/foca-modal.git" | |
11 | + "install-dev": "npm install -D jasmine-core pre-commit angular angular-route bootstrap ui-bootstrap4 font-awesome gulp gulp-angular-templatecache gulp-connect gulp-clean gulp-htmlmin gulp-jshint gulp-rename gulp-replace gulp-sequence gulp-uglify-es gulp-uglify jquery jshint pump git+https://debo.suite.repo/modulos-npm/foca-directivas.git git+https://debo.suite.repo/modulos-npm/foca-modal-vendedores.git git+https://debo.suite.repo/modulos-npm/foca-modal-petroleras.git git+https://debo.suite.repo/modulos-npm/foca-modal-busqueda-productos git+https://debo.suite.repo/modulos-npm/foca-busqueda-cliente.git git+https://debo.suite.repo/modulos-npm/foca-modal-precio-condiciones.git git+https://debo.suite.repo/modulos-npm/foca-modal-flete git+https://debo.suite.repo/modulos-npm/foca-modal.git" | |
12 | 12 | }, |
13 | 13 | "pre-commit": [ |
14 | 14 | "gulp-pre-commit" |
... | ... | @@ -22,7 +22,7 @@ |
22 | 22 | "peerDependencies": { |
23 | 23 | "foca-busqueda-cliente": "git+https://debo.suite.repo/modulos-npm/foca-busqueda-cliente.git", |
24 | 24 | "foca-directivas": "git+https://debo.suite.repo/modulos-npm/foca-directivas.git", |
25 | - "foca-modal-busqueda-productos": "git+https://debo.suite.repo/nguarnieri/foca-modal-busqueda-productos", | |
25 | + "foca-modal-busqueda-productos": "git+https://debo.suite.repo/modulos-npm/foca-modal-busqueda-productos", | |
26 | 26 | "foca-modal-petroleras": "git+https://debo.suite.repo/modulos-npm/foca-modal-petroleras.git", |
27 | 27 | "foca-modal-vendedores": "git+https://debo.suite.repo/modulos-npm/foca-modal-vendedores.git" |
28 | 28 | }, |
... | ... | @@ -33,7 +33,7 @@ |
33 | 33 | "foca-busqueda-cliente": "git+https://debo.suite.repo/modulos-npm/foca-busqueda-cliente.git", |
34 | 34 | "foca-directivas": "git+https://debo.suite.repo/modulos-npm/foca-directivas.git", |
35 | 35 | "foca-modal": "git+https://debo.suite.repo/modulos-npm/foca-modal.git", |
36 | - "foca-modal-busqueda-productos": "git+https://debo.suite.repo/nguarnieri/foca-modal-busqueda-productos", | |
36 | + "foca-modal-busqueda-productos": "git+https://debo.suite.repo/modulos-npm/foca-modal-busqueda-productos", | |
37 | 37 | "foca-modal-flete": "git+https://debo.suite.repo/modulos-npm/foca-modal-flete", |
38 | 38 | "foca-modal-petroleras": "git+https://debo.suite.repo/modulos-npm/foca-modal-petroleras.git", |
39 | 39 | "foca-modal-precio-condiciones": "git+https://debo.suite.repo/modulos-npm/foca-modal-precio-condiciones.git", |
src/js/controller.js
1 | 1 | angular.module('focaCrearNotaPedido') |
2 | 2 | .controller('notaPedidoCtrl', |
3 | - ['$scope', '$uibModal', '$location', 'crearNotaPedidoService', 'focaModalService', | |
4 | - function($scope, $uibModal, $location, crearNotaPedidoService, focaModalService) { | |
3 | + ['$scope', '$uibModal', 'crearNotaPedidoService', 'focaModalService', | |
4 | + function($scope, $uibModal, crearNotaPedidoService, focaModalService) { | |
5 | 5 | $scope.show = false; |
6 | 6 | $scope.cargando = true; |
7 | 7 | $scope.dateOptions = { |
... | ... | @@ -10,12 +10,12 @@ angular.module('focaCrearNotaPedido') |
10 | 10 | }; |
11 | 11 | $scope.notaPedido = { |
12 | 12 | vendedor: {}, |
13 | - cliente: {} | |
13 | + cliente: {}, | |
14 | + domicilio: { dom: ''} | |
14 | 15 | }; |
15 | 16 | $scope.articulosTabla = []; |
16 | 17 | var idLista; |
17 | - var notaPedidoTemp = crearNotaPedidoService.getNotaPedido(); | |
18 | - $scope.domiciliosCliente = crearNotaPedidoService.getDomicilios(1); | |
18 | + var notaPedidoTemp = crearNotaPedidoService.getNotaPedido(); | |
19 | 19 | crearNotaPedidoService.getPrecioCondicion().then( |
20 | 20 | function(res) { |
21 | 21 | $scope.precioCondiciones = res.data; |
... | ... | @@ -33,81 +33,77 @@ angular.module('focaCrearNotaPedido') |
33 | 33 | $scope.articulosTabla = res.data; |
34 | 34 | } |
35 | 35 | ); |
36 | - crearNotaPedidoService.getDomiciliosByIdNotaPedido($scope.notaPedido.id).then( | |
37 | - function(res) { | |
38 | - $scope.notaPedido.domicilio = res.data; | |
39 | - } | |
40 | - ); | |
36 | + //TODO DOMICILIOS QUE SE CARGAN AL EDITAR NOTA DE PEDIDO | |
37 | + //(NO REQUERIDO EN ESTA VERSION) | |
38 | + // crearNotaPedidoService.getDomiciliosByIdNotaPedido($scope.notaPedido.id).then( | |
39 | + // function(res) { | |
40 | + // $scope.notaPedido.domicilio = res.data; | |
41 | + // } | |
42 | + // ); | |
41 | 43 | } else { |
42 | - $scope.notaPedido.fechaCarga = new Date(); | |
43 | - $scope.notaPedido.domicilio = [{ id: 0 }]; | |
44 | - $scope.notaPedido.bomba = '1'; | |
44 | + $scope.notaPedido.fechaCarga = new Date(); | |
45 | + $scope.notaPedido.bomba = '0'; | |
45 | 46 | $scope.notaPedido.flete = '0'; |
46 | 47 | idLista = undefined; |
47 | 48 | } |
48 | - $scope.addNewDom = function() { | |
49 | - $scope.notaPedido.domicilio.push({ 'id': 0 }); | |
50 | - }; | |
51 | - $scope.removeNewChoice = function(choice) { | |
52 | - if ($scope.notaPedido.domicilio.length > 1) { | |
53 | - $scope.notaPedido.domicilio.splice($scope.notaPedido.domicilio.findIndex( | |
54 | - function(c) { | |
55 | - return c.$$hashKey === choice.$$hashKey; | |
56 | - } | |
57 | - ), 1); | |
58 | - } | |
59 | - }; | |
49 | + //TO DO - FUNCIONES PARA MULTIPLES DOMICILIOS NO IMPLEMENTADAS EN ESTA DEMO | |
50 | + // $scope.addNewDom = function() { | |
51 | + // $scope.notaPedido.domicilio.push({ 'id': 0 }); | |
52 | + // }; | |
53 | + // $scope.removeNewChoice = function(choice) { | |
54 | + // if ($scope.notaPedido.domicilio.length > 1) { | |
55 | + // $scope.notaPedido.domicilio.splice($scope.notaPedido.domicilio.findIndex( | |
56 | + // function(c) { | |
57 | + // return c.$$hashKey === choice.$$hashKey; | |
58 | + // } | |
59 | + // ), 1); | |
60 | + // } | |
61 | + // }; | |
60 | 62 | $scope.crearNotaPedido = function() { |
63 | + if($scope.articulosTabla.length === 0) { | |
64 | + focaModalService.alert('Debe cargar almenos un articulo'); | |
65 | + return; | |
66 | + } | |
67 | + if($scope.notaPedido.domicilio.id === undefined) { | |
68 | + $scope.notaPedido.domicilio.id = 0; | |
69 | + } | |
70 | + var date = new Date(); | |
61 | 71 | var notaPedido = { |
62 | 72 | id: 0, |
63 | - fechaCarga: $scope.notaPedido.fechaCarga, | |
73 | + fechaCarga: new Date(date.getTime() - (date.getTimezoneOffset() * 60000)) | |
74 | + .toISOString().slice(0, 19).replace('T', ' '), | |
64 | 75 | vendedor: $scope.notaPedido.vendedor.nombre, |
65 | - cliente: $scope.notaPedido.cliente.nombre, | |
66 | - domicilio: $scope.notaPedido.domicilio.id, | |
76 | + idCliente: $scope.notaPedido.cliente.id, | |
77 | + domicilio: $scope.notaPedido.domicilio, | |
67 | 78 | precioCondicion: $scope.notaPedido.precioCondicion, |
68 | 79 | bomba: $scope.notaPedido.bomba, |
69 | 80 | flete: $scope.notaPedido.flete, |
70 | 81 | total: $scope.getTotal() |
71 | 82 | }; |
72 | 83 | crearNotaPedidoService.crearNotaPedido(notaPedido).then( |
73 | - function() { | |
84 | + function(data) { | |
74 | 85 | 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 | |
86 | + if($scope.notaPedido.flete === 1) { | |
87 | + var flete = { | |
88 | + idNotaPedido: data.data.id, | |
89 | + idTransportista: $scope.notaPedido.fleteId, | |
90 | + idChofer: $scope.notaPedido.chofer.id, | |
91 | + idVehiculo: $scope.notaPedido.vehiculo.id, | |
92 | + kilometros: $scope.notaPedido.kilometros, | |
93 | + costoKilometro: $scope.notaPedido.costoUnitarioKmFlete | |
94 | + }; | |
95 | + crearNotaPedidoService.crearFlete(flete); | |
96 | + } | |
97 | + var articulosNotaPedido = $scope.articulosTabla; | |
98 | + for(var i = 0; i < articulosNotaPedido.length; i++) { | |
99 | + delete articulosNotaPedido[i].edit; | |
100 | + articulosNotaPedido[i].idNotaPedido = data.data.id; | |
101 | + crearNotaPedidoService | |
102 | + .crearArticulosParaNotaPedido(articulosNotaPedido[i]); | |
103 | + } | |
104 | + $scope.limpiarPantalla(); | |
85 | 105 | } |
86 | 106 | ); |
87 | - var articulosNotaPedido = $scope.articulosTabla; | |
88 | - for(var i = 0; i< articulosNotaPedido.length;i++) { | |
89 | - delete articulosNotaPedido[i].edit; | |
90 | - crearNotaPedidoService | |
91 | - .crearArticulosParaNotaPedido(articulosNotaPedido[i]).then( | |
92 | - function() { | |
93 | - return; | |
94 | - } | |
95 | - ); | |
96 | - } | |
97 | - $scope.notaPedido.precioCondicion = ''; | |
98 | - $scope.articulosTabla = []; | |
99 | - $scope.notaPedido.fleteNombre = ''; | |
100 | - $scope.notaPedido.chofer = ''; | |
101 | - $scope.notaPedido.vehiculo = ''; | |
102 | - $scope.notaPedido.kilometros = ''; | |
103 | - $scope.notaPedido.costoUnitarioKmFlete = ''; | |
104 | - $scope.notaPedido.vendedor.nombre = ''; | |
105 | - $scope.notaPedido.cliente.nombre = ''; | |
106 | - $scope.domicilio = ''; | |
107 | - $scope.notaPedido.flete = 0; | |
108 | - }; | |
109 | - $scope.siguienteTab = function() { | |
110 | - $scope.active = 1; | |
111 | 107 | }; |
112 | 108 | $scope.seleccionarArticulo = function() { |
113 | 109 | if (idLista === undefined) { |
... | ... | @@ -190,7 +186,25 @@ angular.module('focaCrearNotaPedido') |
190 | 186 | ); |
191 | 187 | modalInstance.result.then( |
192 | 188 | function(cliente) { |
189 | + $scope.limpiarPantalla(); | |
193 | 190 | $scope.notaPedido.cliente.nombre = cliente.nom; |
191 | + $scope.notaPedido.cliente.id = cliente.cod; | |
192 | + crearNotaPedidoService.getDomiciliosByIdCliente(cliente.cod).then( | |
193 | + function(data) { | |
194 | + if(data.data.length === 0){ | |
195 | + focaModalService | |
196 | + .alert('El cliente no tienen domicilios de entrega') | |
197 | + .then( | |
198 | + function() { | |
199 | + $scope.seleccionarCliente(); | |
200 | + $scope.notaPedido.cliente = {nombre: ''}; | |
201 | + } | |
202 | + ); | |
203 | + return; | |
204 | + } | |
205 | + $scope.domiciliosCliente = data.data; | |
206 | + } | |
207 | + ); | |
194 | 208 | }, function() { |
195 | 209 | |
196 | 210 | } |
... | ... | @@ -206,18 +220,11 @@ angular.module('focaCrearNotaPedido') |
206 | 220 | } |
207 | 221 | ); |
208 | 222 | }; |
209 | - $scope.obtenerDomicilios = function(id) { | |
210 | - crearNotaPedidoService.getDomicilios(id).then( | |
211 | - function(res) { | |
212 | - $scope.notaPedido.domicilio = res.data; | |
213 | - } | |
214 | - ); | |
215 | - }; | |
216 | 223 | $scope.getTotal = function() { |
217 | 224 | var total = 0; |
218 | - var array = $scope.articulosTabla; | |
219 | - for (var i = 0; i < array.length; i++) { | |
220 | - total += array[i].precio * array[i].cantidad; | |
225 | + var arrayTempArticulos = $scope.articulosTabla; | |
226 | + for (var i = 0; i < arrayTempArticulos.length; i++) { | |
227 | + total += arrayTempArticulos[i].precio * arrayTempArticulos[i].cantidad; | |
221 | 228 | } |
222 | 229 | return total.toFixed(2); |
223 | 230 | }; |
... | ... | @@ -226,10 +233,6 @@ angular.module('focaCrearNotaPedido') |
226 | 233 | return $scope.articuloACargar.precio * $scope.articuloACargar.cantidad; |
227 | 234 | } |
228 | 235 | }; |
229 | - $scope.cargarArticulos = function() { | |
230 | - idLista = $scope.notaPedido.precioCondicion; | |
231 | - $scope.articulosTabla = []; | |
232 | - }; | |
233 | 236 | $scope.abrirModalListaPrecio = function() { |
234 | 237 | var modalInstance = $uibModal.open( |
235 | 238 | { |
... | ... | @@ -261,11 +264,7 @@ angular.module('focaCrearNotaPedido') |
261 | 264 | ); |
262 | 265 | modalInstance.result.then( |
263 | 266 | function(flete) { |
264 | - $scope.choferes = ''; | |
265 | - $scope.vehiculos = ''; | |
266 | - $scope.notaPedido.chofer = ''; | |
267 | - $scope.notaPedido.vehiculo = ''; | |
268 | - $scope.notaPedido.costoUnitarioKmFlete = ''; | |
267 | + $scope.limpiarFlete(); | |
269 | 268 | $scope.notaPedido.fleteNombre = flete.nombre; |
270 | 269 | $scope.notaPedido.fleteId = flete.id; |
271 | 270 | $scope.choferes = flete.chofer; |
... | ... | @@ -310,25 +309,27 @@ angular.module('focaCrearNotaPedido') |
310 | 309 | $scope.notaPedido.vehiculo = ''; |
311 | 310 | $scope.notaPedido.kilometros = ''; |
312 | 311 | $scope.notaPedido.costoUnitarioKmFlete = ''; |
312 | + $scope.choferes = ''; | |
313 | + $scope.vehiculos = ''; | |
313 | 314 | }; |
314 | - $scope.crearPedidoDemo = function() { | |
315 | - focaModalService.alert('Pedido Creado'); | |
315 | + $scope.limpiarPantalla = function() { | |
316 | + $scope.limpiarFlete(); | |
317 | + $scope.notaPedido.flete = '0'; | |
318 | + $scope.notaPedido.bomba = '0'; | |
316 | 319 | $scope.notaPedido.precioCondicion = ''; |
317 | - $scope.articulosTabla = []; | |
318 | - $scope.notaPedido.fleteNombre = ''; | |
319 | - $scope.notaPedido.chofer = ''; | |
320 | - $scope.notaPedido.vehiculo = ''; | |
321 | - $scope.notaPedido.kilometros = ''; | |
322 | - $scope.notaPedido.costoUnitarioKmFlete = ''; | |
320 | + $scope.articulosTabla = []; | |
323 | 321 | $scope.notaPedido.vendedor.nombre = ''; |
324 | - $scope.notaPedido.cliente.nombre = ''; | |
325 | - $scope.domicilio.dom = ''; | |
326 | - $scope.notaPedido.flete = 0; | |
322 | + $scope.notaPedido.cliente = {nombre: ''}; | |
323 | + $scope.notaPedido.domicilio = {dom: ''}; | |
324 | + $scope.domiciliosCliente = []; | |
327 | 325 | }; |
328 | 326 | $scope.resetFilter = function() { |
329 | 327 | $scope.articuloACargar = {}; |
330 | 328 | $scope.cargando = true; |
331 | 329 | }; |
330 | + $scope.selectFocus = function ($event) { | |
331 | + $event.target.select(); | |
332 | + }; | |
332 | 333 | } |
333 | 334 | ] |
334 | 335 | ) |
src/js/service.js
... | ... | @@ -27,25 +27,9 @@ angular.module('focaCrearNotaPedido') |
27 | 27 | getDomiciliosByIdNotaPedido: function(id) { |
28 | 28 | return $http.get(route +'/nota-pedido/'+id+'/domicilios'); |
29 | 29 | }, |
30 | - //EN DESARROLLO | |
31 | - getDomicilios: function(id) { | |
32 | - // return $http.get(route + '/'+id) | |
33 | - id='le asigno un valor para pasar pre commit'; | |
34 | - var domicilio = [ | |
35 | - { | |
36 | - id: 1, | |
37 | - dom: 'RISSO PATRON 781' | |
38 | - }, | |
39 | - { | |
40 | - id: 2, | |
41 | - dom: 'MARIANO MORENO 533' | |
42 | - }, | |
43 | - { | |
44 | - id: 3, | |
45 | - dom: 'SALTA 796' | |
46 | - } | |
47 | - ]; | |
48 | - return domicilio; | |
30 | + getDomiciliosByIdCliente: function(id) { | |
31 | + var idTipoEntrega = 2;//Solo traigo los domicilios que tienen tipo 2 (tipo entrega) | |
32 | + return $http.get(route + '/domicilio/tipo/' + idTipoEntrega + '/cliente/' + id ); | |
49 | 33 | }, |
50 | 34 | getPrecioCondicion: function() { |
51 | 35 | return $http.get(route + '/precio-condicion'); |
src/views/nota-pedido.html
1 | -<div class="row"> | |
2 | - <div class="col-md-10 col-lg-8 offset-md-1 offset-lg-2"> | |
3 | - <div class="row bg-secondary p-3"> | |
4 | - <div class="form-group col-12 col-sm-6 col-md-4"> | |
5 | - <div class="input-group"> | |
1 | +<form name="formCrearNota" ng-submit="crearNotaPedido()"> | |
2 | + <div class="row"> | |
3 | + <div class="col-md-10 col-lg-8 offset-md-1 offset-lg-2"> | |
4 | + <div class="row bg-secondary p-3"> | |
5 | + <div class="form-group col-12 col-sm-6 col-md-4"> | |
6 | + <div class="input-group"> | |
7 | + <input | |
8 | + type="text" | |
9 | + class="form-control" | |
10 | + uib-datepicker-popup="dd/MM/yyyy" | |
11 | + ng-model="notaPedido.fechaCarga" | |
12 | + is-open="popup1.opened" | |
13 | + datepicker-options="dateOptions" | |
14 | + close-text="Cerrar" | |
15 | + current-text="Hoy" | |
16 | + clear-text="Borrar" | |
17 | + alt-input-formats="altInputFormats" | |
18 | + ng-required="true" | |
19 | + /> | |
20 | + <span class="input-group-append"> | |
21 | + <button type="button" class="btn btn-default" ng-click="popup1.opened = true"> | |
22 | + <i class="fa fa-calendar"></i> | |
23 | + </button> | |
24 | + </span> | |
25 | + </div> | |
26 | + </div> | |
27 | + <div class="form-group col-12 col-sm-6 col-md-4"> | |
28 | + <div class="input-group"> | |
29 | + <input | |
30 | + class="form-control selectable" | |
31 | + type="text" | |
32 | + ng-model="notaPedido.cliente.nombre" | |
33 | + placeholder="Seleccione Cliente" | |
34 | + readonly="true" | |
35 | + ng-click="seleccionarCliente()" | |
36 | + ng-required="true" | |
37 | + > | |
38 | + <span class="input-group-append"> | |
39 | + <button type="button" class="btn btn-default" ng-click="seleccionarCliente()"> | |
40 | + <i class="fa fa-search"></i> | |
41 | + </button> | |
42 | + </span> | |
43 | + </div> | |
44 | + </div> | |
45 | + <div class="form-group col-12 col-sm-6 col-md-4"> | |
46 | + <div class="input-group"> | |
47 | + <input | |
48 | + class="form-control" | |
49 | + type="text" | |
50 | + ng-model="notaPedido.vendedor.nombre" | |
51 | + placeholder="Seleccione Vendedor" | |
52 | + readonly="true" | |
53 | + > | |
54 | + <span class="input-group-append"> | |
55 | + <button type="button" class="btn btn-default" ng-click="seleccionarVendedor()"> | |
56 | + <i class="fa fa-search"></i> | |
57 | + </button> | |
58 | + </span> | |
59 | + </div> | |
60 | + </div> | |
61 | + <div class="form-group col-12 col-sm-6 col-md-4"> | |
6 | 62 | <input |
63 | + class="form-control selectable" | |
7 | 64 | type="text" |
8 | - class="form-control" | |
9 | - uib-datepicker-popup="dd/MM/yyyy" | |
10 | - ng-model="notaPedido.fechaCarga" | |
11 | - is-open="popup1.opened" | |
12 | - datepicker-options="dateOptions" | |
13 | - close-text="Cerrar" | |
14 | - current-text="Hoy" | |
15 | - clear-text="Borrar" | |
16 | - alt-input-formats="altInputFormats" | |
17 | - /> | |
18 | - <span class="input-group-append"> | |
19 | - <button type="button" class="btn btn-default" ng-click="popup1.opened = true"> | |
20 | - <i class="fa fa-calendar"></i> | |
21 | - </button> | |
22 | - </span> | |
65 | + ng-model="notaPedido.domicilio" | |
66 | + placeholder="Seleccione Domicilio" | |
67 | + typeahead-min-length="0" | |
68 | + uib-typeahead="domi as domi.dom for domi in domiciliosCliente" | |
69 | + > | |
23 | 70 | </div> |
24 | - </div> | |
25 | - <div class="form-group col-12 col-sm-6 col-md-4"> | |
26 | - <div class="input-group"> | |
71 | + <div class="form-group col-12 col-sm-6 col-md-4"> | |
27 | 72 | <input |
28 | - class="form-control" | |
73 | + class="form-control selectable" | |
29 | 74 | type="text" |
30 | - ng-model="notaPedido.vendedor.nombre" | |
31 | - placeholder="Seleccione Vendedor" | |
32 | 75 | readonly="true" |
76 | + ng-model="notaPedido.precioCondicion" | |
77 | + ng-click="abrirModalListaPrecio()" | |
78 | + placeholder="Seleccione Lista de precio" | |
33 | 79 | > |
34 | - <span class="input-group-append"> | |
35 | - <button type="button" class="btn btn-default" ng-click="seleccionarVendedor()"> | |
36 | - <i class="fa fa-search"></i> | |
37 | - </button> | |
38 | - </span> | |
39 | 80 | </div> |
40 | - </div> | |
41 | - <div class="form-group col-12 col-sm-6 col-md-4"> | |
42 | - <div class="input-group"> | |
43 | - <input | |
81 | + <div class="form-group col-12 col-sm-6 col-md-4"> | |
82 | + <label>Bomba</label> | |
83 | + <div class="form-check custom-radio custom-control-inline"> | |
84 | + <input | |
85 | + class="form-check-input" | |
86 | + type="radio" | |
87 | + name="radioBomba" | |
88 | + value="1" | |
89 | + ng-model="notaPedido.bomba"> | |
90 | + <label class="form-check-label">Si</label> | |
91 | + </div> | |
92 | + <div class="form-check custom-radio custom-control-inline"> | |
93 | + <input | |
94 | + class="form-check-input" | |
95 | + type="radio" | |
96 | + name="radioBomba" | |
97 | + value="0" | |
98 | + ng-model="notaPedido.bomba"> | |
99 | + <label class="form-check-label">No</label> | |
100 | + </div> | |
101 | + </div> | |
102 | + <div class="form-group col-12 col-sm-6 col-md-4"> | |
103 | + <label>Flete</label> | |
104 | + <div class="form-check custom-radio custom-control-inline"> | |
105 | + <input | |
106 | + ng-change="limpiarFlete()" | |
107 | + class="form-check-input" | |
108 | + type="radio" | |
109 | + name="radioFlete" | |
110 | + value="1" | |
111 | + ng-model="notaPedido.flete"> | |
112 | + <label class="form-check-label">Si</label> | |
113 | + </div> | |
114 | + <div class="form-check custom-radio custom-control-inline"> | |
115 | + <input | |
116 | + class="form-check-input" | |
117 | + type="radio" | |
118 | + name="radioFlete" | |
119 | + value="0" | |
120 | + ng-model="notaPedido.flete"> | |
121 | + <label class="form-check-label">No</label> | |
122 | + </div> | |
123 | + </div> | |
124 | + <div class="form-group col-12 col-sm-6 col-md-4"> | |
125 | + <input | |
44 | 126 | class="form-control selectable" |
45 | 127 | type="text" |
46 | - ng-model="notaPedido.cliente.nombre" | |
47 | - placeholder="Seleccione Cliente" | |
48 | 128 | readonly="true" |
49 | - ng-click="seleccionarCliente()" | |
129 | + ng-show="notaPedido.flete == 1" | |
130 | + ng-model="notaPedido.fleteNombre" | |
131 | + ng-click="abrirModalFlete()" | |
132 | + placeholder="Seleccione Flete" | |
50 | 133 | > |
51 | - <span class="input-group-append"> | |
52 | - <button type="button" class="btn btn-default" ng-click="seleccionarCliente()"> | |
53 | - <i class="fa fa-search"></i> | |
54 | - </button> | |
55 | - </span> | |
56 | 134 | </div> |
57 | - </div> | |
58 | - <div class="form-group col-12 col-sm-6 col-md-4"> | |
59 | - <input | |
60 | - class="form-control selectable" | |
61 | - type="text" | |
62 | - ng-model="domicilio" | |
63 | - placeholder="Seleccione Domicilio" | |
64 | - typeahead-min-length="0" | |
65 | - uib-typeahead="domi as domi.dom for domi in domiciliosCliente" | |
66 | - > | |
67 | - </div> | |
68 | - <div class="form-group col-12 col-sm-6 col-md-4"> | |
69 | - <input | |
70 | - class="form-control selectable" | |
71 | - type="text" | |
72 | - readonly="true" | |
73 | - ng-model="notaPedido.precioCondicion" | |
74 | - ng-click="abrirModalListaPrecio()" | |
75 | - placeholder="Seleccione Lista de precio" | |
76 | - > | |
77 | - </div> | |
78 | - <div class="form-group col-12 col-sm-6 col-md-4"> | |
79 | - <label>Bomba</label> | |
80 | - <div class="form-check custom-radio custom-control-inline"> | |
81 | - <input | |
82 | - class="form-check-input" | |
83 | - type="radio" | |
84 | - name="radioBomba" | |
85 | - value="1" | |
86 | - ng-model="notaPedido.bomba"> | |
87 | - <label class="form-check-label">Si</label> | |
88 | - </div> | |
89 | - <div class="form-check custom-radio custom-control-inline"> | |
135 | + <div class="form-group col-12 col-sm-6 col-md-4"> | |
90 | 136 | <input |
91 | - class="form-check-input" | |
92 | - type="radio" | |
93 | - name="radioBomba" | |
94 | - value="0" | |
95 | - ng-model="notaPedido.bomba"> | |
96 | - <label class="form-check-label">No</label> | |
137 | + class="form-control selectable" | |
138 | + type="text" | |
139 | + ng-show="notaPedido.flete == 1" | |
140 | + ng-model="notaPedido.chofer" | |
141 | + placeholder="Seleccione Chofer" | |
142 | + uib-typeahead="chofer as chofer.nombre for chofer in choferes" | |
143 | + typeahead-min-length="0" | |
144 | + > | |
97 | 145 | </div> |
98 | - </div> | |
99 | - <div class="form-group col-12 col-sm-6 col-md-4"> | |
100 | - <label>Flete</label> | |
101 | - <div class="form-check custom-radio custom-control-inline"> | |
146 | + <div class="form-group col-12 col-sm-6 col-md-4"> | |
102 | 147 | <input |
103 | - ng-change="limpiarFlete()" | |
104 | - class="form-check-input" | |
105 | - type="radio" | |
106 | - name="radioFlete" | |
107 | - value="1" | |
108 | - ng-model="notaPedido.flete"> | |
109 | - <label class="form-check-label">Si</label> | |
110 | - </div> | |
111 | - <div class="form-check custom-radio custom-control-inline"> | |
112 | - <input | |
113 | - class="form-check-input" | |
114 | - type="radio" | |
115 | - name="radioFlete" | |
116 | - value="0" | |
117 | - ng-model="notaPedido.flete"> | |
118 | - <label class="form-check-label">No</label> | |
148 | + class="form-control selectable" | |
149 | + type="text" | |
150 | + ng-show="notaPedido.flete == 1" | |
151 | + ng-model="notaPedido.vehiculo" | |
152 | + placeholder="Seleccione Vehículo" | |
153 | + uib-typeahead="vehiculo as vehiculo.tractor for vehiculo in vehiculos" | |
154 | + typeahead-min-length="0" | |
155 | + > | |
156 | + </div> | |
157 | + <div class="form-group col-12 col-sm-6 col-md-4"> | |
158 | + <input | |
159 | + class="form-control selectable" | |
160 | + type="number" | |
161 | + step="0.01" | |
162 | + ng-show="notaPedido.flete == 1" | |
163 | + ng-model="notaPedido.costoUnitarioKmFlete" | |
164 | + placeholder="Costo por kilómetro" | |
165 | + > | |
166 | + </div> | |
167 | + <div class="form-group col-12 col-sm-6 col-md-4"> | |
168 | + <input | |
169 | + class="form-control selectable" | |
170 | + type="number" | |
171 | + step="0.1" | |
172 | + ng-show="notaPedido.flete == 1" | |
173 | + ng-model="notaPedido.kilometros" | |
174 | + placeholder="Kilómetros recorridos" | |
175 | + > | |
119 | 176 | </div> |
120 | - </div> | |
121 | - <div class="form-group col-12 col-sm-6 col-md-4"> | |
122 | - <input | |
123 | - class="form-control selectable" | |
124 | - type="text" | |
125 | - readonly="true" | |
126 | - ng-show="notaPedido.flete == 1" | |
127 | - ng-model="notaPedido.fleteNombre" | |
128 | - ng-click="abrirModalFlete()" | |
129 | - placeholder="Seleccione Flete" | |
130 | - > | |
131 | - </div> | |
132 | - <div class="form-group col-12 col-sm-6 col-md-4"> | |
133 | - <input | |
134 | - class="form-control selectable" | |
135 | - type="text" | |
136 | - ng-show="notaPedido.flete == 1" | |
137 | - ng-model="notaPedido.chofer" | |
138 | - placeholder="Seleccione Chofer" | |
139 | - uib-typeahead="chofer as chofer.nombre for chofer in choferes" | |
140 | - typeahead-min-length="0" | |
141 | - > | |
142 | - </div> | |
143 | - <div class="form-group col-12 col-sm-6 col-md-4"> | |
144 | - <input | |
145 | - class="form-control selectable" | |
146 | - type="text" | |
147 | - ng-show="notaPedido.flete == 1" | |
148 | - ng-model="notaPedido.vehiculo" | |
149 | - placeholder="Seleccione Vehículo" | |
150 | - uib-typeahead="vehiculo as vehiculo.tractor for vehiculo in vehiculos" | |
151 | - typeahead-min-length="0" | |
152 | - > | |
153 | - </div> | |
154 | - <div class="form-group col-12 col-sm-6 col-md-4"> | |
155 | - <input | |
156 | - class="form-control selectable" | |
157 | - type="number" | |
158 | - step="0.01" | |
159 | - ng-show="notaPedido.flete == 1" | |
160 | - ng-model="notaPedido.costoUnitarioKmFlete" | |
161 | - placeholder="Costo por kilómetro" | |
162 | - > | |
163 | - </div> | |
164 | - <div class="form-group col-12 col-sm-6 col-md-4"> | |
165 | - <input | |
166 | - class="form-control selectable" | |
167 | - type="number" | |
168 | - step="0.1" | |
169 | - ng-show="notaPedido.flete == 1" | |
170 | - ng-model="notaPedido.kilometros" | |
171 | - placeholder="Kilómetros recorridos" | |
172 | - > | |
173 | 177 | </div> |
174 | 178 | </div> |
179 | + <div class="col-auto my-2"> | |
180 | + <button | |
181 | + ng-click="crearNotaPedido()" | |
182 | + type="submit" | |
183 | + title="Crear nota pedido" | |
184 | + class="btn btn-primary float-right"> | |
185 | + Guardar | |
186 | + </button> | |
187 | + </div> | |
175 | 188 | </div> |
176 | - <div class="col-auto my-2"> | |
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> | |
184 | - </div> | |
185 | -</div> | |
189 | +</form> | |
186 | 190 | <div class="row"> |
187 | 191 | <div class="col-md-10 col-lg-8 offset-md-1 offset-lg-2"> |
188 | 192 | <div class="row"> |
... | ... | @@ -211,7 +215,8 @@ |
211 | 215 | placeholder="Seleccione Articulo" |
212 | 216 | class="form-control" |
213 | 217 | readonly |
214 | - ng-click="seleccionarArticulo()"></td> | |
218 | + ng-click="seleccionarArticulo()" | |
219 | + foca-focus="cargando"></td> | |
215 | 220 | <td></td> |
216 | 221 | <td></td> |
217 | 222 | <td></td> |
... | ... | @@ -265,7 +270,9 @@ |
265 | 270 | type="number" |
266 | 271 | min="1" |
267 | 272 | foca-focus="articulo.edit" |
268 | - ng-keypress="editarArticulo($event.keyCode, articulo)"> | |
273 | + ng-keypress="editarArticulo($event.keyCode, articulo)" | |
274 | + ng-focus="selectFocus($event)" | |
275 | + > | |
269 | 276 | <i |
270 | 277 | class="selectable" |
271 | 278 | ng-click="cambioEdit(articulo)" |