Commit 6768e62d481bb3062752ac60f2a82b2ec92e1de7
1 parent
0e77d80eee
Exists in
master
refactor
Showing
2 changed files
with
85 additions
and
125 deletions
Show diff stats
src/js/controller.js
... | ... | @@ -4,39 +4,54 @@ angular.module('focaModalDetalleHojaRuta') |
4 | 4 | '$filter', |
5 | 5 | '$scope', |
6 | 6 | '$uibModalInstance', |
7 | - 'parametrosDetalleHojaRuta', | |
8 | - function($filter, $scope, $uibModalInstance, parametrosDetalleHojaRuta) { | |
9 | - $scope.paso = 0; | |
10 | - $scope.parametrosDetalleHojaRuta = parametrosDetalleHojaRuta; | |
7 | + 'remito', | |
8 | + function($filter, $scope, $uibModalInstance, remito) { | |
9 | + $scope.remito = remito; | |
11 | 10 | $scope.aceptar = function() { |
12 | - var parametrosDetalleHojaRuta = { | |
13 | - remito: $scope.parametrosDetalleHojaRuta.remito, | |
14 | - cliente: $scope.parametrosDetalleHojaRuta.cliente, | |
15 | - domicilio: $scope.parametrosDetalleHojaRuta.domicilio, | |
16 | - producto: $scope.parametrosDetalleHojaRuta.producto, | |
17 | - litros: $scope.parametrosDetalleHojaRuta.litros, | |
18 | - litrosDescargados: $scope.parametrosDetalleHojaRuta.litrosDescargados, | |
19 | - numeroRecibo: $scope.parametrosDetalleHojaRuta.numeroRecibo, | |
20 | - observaciones: $scope.parametrosDetalleHojaRuta.observaciones | |
21 | - }; | |
22 | - $uibModalInstance.close(parametrosDetalleHojaRuta); | |
11 | + var articulos = articulosDescargados(); | |
12 | + var cisternaMovimientos = []; | |
13 | + var hojaRutaMovimientos = []; | |
14 | + for(var i = 0; i < articulos.length; i++) { | |
15 | + var cisternaMovimiento = { | |
16 | + idRemito: $scope.remito.id, | |
17 | + cantidad: articulos[i].aCargar, | |
18 | + metodo: 'descarga' | |
19 | + } | |
20 | + var hojaRutaMovimiento = { | |
21 | + idRemito: $scope.remito.id, | |
22 | + reciboDescarga: articulos[i].numeroRecibo | |
23 | + } | |
24 | + cisternaMovimientos.push(cisternaMovimiento); | |
25 | + hojaRutaMovimientos.push(hojaRutaMovimiento); | |
26 | + } | |
27 | + var result = { | |
28 | + cisternaMovimientos: cisternaMovimientos, | |
29 | + hojaRutaMovimientos: hojaRutaMovimientos, | |
30 | + idHojaRuta: $scope.remito.idHojaRuta | |
31 | + } | |
32 | + $uibModalInstance.close(result); | |
23 | 33 | }; |
24 | 34 | |
25 | 35 | $scope.cancel = function() { |
26 | 36 | $uibModalInstance.dismiss('cancel'); |
27 | 37 | }; |
28 | - | |
38 | + | |
29 | 39 | $scope.validar = function() { |
30 | - return $scope.formDetalleHojaRuta.$pristine || | |
31 | - !$scope.parametrosDetalleHojaRuta.litrosDescargados || | |
32 | - $scope.parametrosDetalleHojaRuta.litrosDescargados < 1 || | |
33 | - !$scope.parametrosDetalleHojaRuta.numeroRecibo || | |
34 | - $scope.parametrosDetalleHojaRuta.numeroRecibo < 1; | |
40 | + if(!articulosDescargados().length) { | |
41 | + return true; | |
42 | + } | |
43 | + return false; | |
1 |
|
|
35 | 44 | }; |
36 | 45 | |
37 | - $scope.irPaso = function(paso) { | |
38 | - $scope.paso = paso; | |
39 | - }; | |
46 | + function articulosDescargados() { | |
47 | + var articulosDescargados = $scope.remito.articulosRemito.filter( | |
48 | + function(articulo) { | |
49 | + if(articulo.aCargar && articulo.numeroRecibo) { | |
50 | + return articulo; | |
51 | + } | |
52 | + }); | |
53 | + return articulosDescargados; | |
54 | + } | |
40 | 55 | } |
41 | 56 | ] |
42 | 57 | ); |
src/views/modal-detalle-hoja-ruta.html
1 | 1 | <div class="modal-header py-1"> |
2 | - <h5 class="modal-title">Detalle de hoja de ruta</h5> | |
2 | + <h5 class="modal-title">Detalle de descarga</h5> | |
3 | 3 | </div> |
4 | 4 | <div class="modal-body" id="modal-body"> |
5 | 5 | <form name="formDetalleHojaRuta"> |
6 | 6 | <div class="form-group row"> |
7 | - <div class="col-6 px-2"> | |
8 | - <label class="col-12 col-sm-6 px-0 mb-0"> | |
9 | - <b>Remito</b> | |
7 | + <div class="col-12 px-0"> | |
8 | + <label class="form-control-sm"> | |
9 | + <b>Remito Nº</b> | |
10 | + <span ng-bind="[remito.numeroRemito, remito.sucursal] | comprobante"/> | |
10 | 11 | </label> |
11 | - <div class="col-12 col-sm-6 px-0"> | |
12 | - <span ng-bind="parametrosDetalleHojaRuta.remito"/> | |
13 | - </div> | |
14 | 12 | </div> |
15 | - <div class="col-6 px-2"> | |
16 | - <label class="col-12 col-sm-6 px-0 mb-0"> | |
13 | + <div class="col-12 px-0"> | |
14 | + <label class="form-control-sm"> | |
17 | 15 | <b>Cliente</b> |
18 | 16 | </label> |
19 | - <div class="col-12 col-sm-6 px-0"> | |
20 | - <span ng-bind="parametrosDetalleHojaRuta.cliente"/> | |
21 | - </div> | |
17 | + <span ng-bind="remito.nombreCliente"/> | |
22 | 18 | </div> |
23 | - <div class="col-6 px-2"> | |
24 | - <label class="col-12 col-sm-6 px-0 mb-0"> | |
19 | + <div class="col-12 px-0"> | |
20 | + <label class="form-control-sm"> | |
25 | 21 | <b>Domicilio</b> |
22 | + <span ng-bind="remito.domicilioStamp"/> | |
26 | 23 | </label> |
27 | - <div class="col-12 col-sm-6 px-0"> | |
28 | - <span ng-bind="parametrosDetalleHojaRuta.domicilio"/> | |
29 | - </div> | |
30 | 24 | </div> |
31 | - <div class="col-6 px-2"> | |
32 | - <label class="col-12 col-sm-6 px-0 mb-0"> | |
33 | - <b>Contacto</b> | |
34 | - </label> | |
35 | - <div class="col-12 col-sm-6 px-0"> | |
36 | - <span ng-bind="parametrosDetalleHojaRuta.contacto"/> | |
37 | - </div> | |
38 | - </div> | |
39 | - <div class="col-6 px-2"> | |
40 | - <label class="col-12 col-sm-6 px-0 mb-0"> | |
41 | - <b>Teléfono</b> | |
42 | - </label> | |
43 | - <div class="col-12 col-sm-6 px-0"> | |
44 | - <span ng-bind="parametrosDetalleHojaRuta.telefonoContacto"/> | |
45 | - </div> | |
25 | + <div class="col-12 px-0"> | |
26 | + <table class="table table-sm"> | |
27 | + <thead> | |
28 | + <tr> | |
29 | + <th>Articulo</th> | |
30 | + <th>Total</th> | |
31 | + <th>A descargar</th> | |
32 | + <th>Nº Recibo</th> | |
33 | + </tr> | |
34 | + </thead> | |
35 | + <tbody> | |
36 | + <tr ng-repeat="(key, articulo) in remito.articulosRemito"> | |
37 | + <td ng-bind="articulo.descripcion"></td> | |
38 | + <td ng-bind="articulo.cantidad"></td> | |
39 | + <td><input | |
40 | + class="form-control form-control-sm" | |
41 | + type="number" | |
42 | + ng-model="articulo.aCargar" | |
43 | + foca-focus="key === 0"/></td> | |
44 | + <td><input | |
45 | + class="form-control form-control-sm" | |
46 | + type="number" | |
47 | + ng-model="articulo.numeroRecibo"/></td> | |
48 | + </tr> | |
49 | + </tbody> | |
50 | + </table> | |
46 | 51 | </div> |
47 | - <div class="col-6 px-2"> | |
48 | - <label class="col-12 col-sm-6 px-0 mb-0"> | |
49 | - <b>Producto</b> | |
52 | + <div class="col-12 px-0 py-0"> | |
53 | + <label class="form-control-sm"> | |
54 | + <b>Observaciones</b> | |
50 | 55 | </label> |
51 | - <div class="col-12 col-sm-6 px-0"> | |
52 | - <span ng-bind="parametrosDetalleHojaRuta.producto"/> | |
53 | - </div> | |
54 | - </div> | |
55 | - <div class="col-6 px-2"> | |
56 | - <label class="col-12 col-sm-6 px-0 mb-0"> | |
57 | - <b>Litros</b> | |
58 | - </label> | |
59 | - <div class="col-12 col-sm-6 px-0"> | |
60 | - <span ng-bind="parametrosDetalleHojaRuta.litros"/> | |
61 | - </div> | |
62 | - </div> | |
63 | - <div class="w-100"></div> | |
64 | - <div class="form-group col-6 px-0"> | |
65 | - <label | |
66 | - class="col-12 col-sm-3 col-form-label col-form-label-sm px-2" | |
67 | - >Litros descargados</label> | |
68 | - <div class="col-12 col-sm-3 px-2"> | |
69 | - <input | |
70 | - type="number" | |
71 | - min="0" | |
72 | - step="1" | |
73 | - class="form-control form-control-sm" | |
74 | - id="litrosDescargados" | |
75 | - name="litrosDescargados" | |
76 | - placeholder="Litros descargados" | |
77 | - ng-model="parametrosDetalleHojaRuta.litrosDescargados" | |
78 | - foca-focus="paso === 0" | |
79 | - ng-keypress="$event.keyCode === 13 && irPaso(1)" | |
80 | - foca-tipo-input | |
81 | - teclado-virtual | |
82 | - /> | |
83 | - </div> | |
84 | - </div> | |
85 | - <div class="form-group col-6 px-0"> | |
86 | - <label | |
87 | - class="col-12 col-sm-3 col-form-label col-form-label-sm px-2" | |
88 | - >Nº recibo</label> | |
89 | - <div class="col-12 col-sm-33 px-2"> | |
90 | - <input | |
91 | - type="number" | |
92 | - min="0" | |
93 | - step="0.01" | |
94 | - class="form-control form-control-sm" | |
95 | - id="numeroRecibo" | |
96 | - name="numeroRecibo" | |
97 | - placeholder="Nº Recibo" | |
98 | - ng-model="parametrosDetalleHojaRuta.numeroRecibo" | |
99 | - foca-focus="paso === 1" | |
100 | - ng-keypress="$event.keyCode == 13 && validar() && aceptar()" | |
101 | - foca-tipo-input | |
102 | - teclado-virtual | |
103 | - /> | |
104 | - </div> | |
105 | 56 | </div> |
106 | - <div class="row"> | |
107 | - <div class="form-group col-12 pr-0"> | |
108 | - <label | |
109 | - class="col-12 col-sm-3 col-form-label col-form-label-sm px-2" | |
110 | - >Observaciones</label> | |
111 | - <textarea | |
112 | - ng-model="parametrosDetalleHojaRuta.observaciones" | |
113 | - class="form-control mx-2" | |
114 | - rows="5" | |
115 | - teclado-virtual | |
116 | - ></textarea> | |
117 | - </div> | |
57 | + <div class="col-12 pl-0"> | |
58 | + <textarea | |
59 | + ng-model="remito.observaciones" | |
60 | + class="form-control mx-2" | |
61 | + rows="5" | |
62 | + ></textarea> | |
118 | 63 | </div> |
119 | 64 | </div> |
120 | 65 | </form> |