Commit 6768e62d481bb3062752ac60f2a82b2ec92e1de7

Authored by Eric Fernandez
1 parent 0e77d80eee
Exists in master

refactor

src/js/controller.js
1 angular.module('focaModalDetalleHojaRuta') 1 angular.module('focaModalDetalleHojaRuta')
2 .controller('focaModalDetalleHojaRutaController', 2 .controller('focaModalDetalleHojaRutaController',
3 [ 3 [
4 '$filter', 4 '$filter',
5 '$scope', 5 '$scope',
6 '$uibModalInstance', 6 '$uibModalInstance',
7 'parametrosDetalleHojaRuta', 7 'remito',
8 function($filter, $scope, $uibModalInstance, parametrosDetalleHojaRuta) { 8 function($filter, $scope, $uibModalInstance, remito) {
9 $scope.paso = 0; 9 $scope.remito = remito;
10 $scope.parametrosDetalleHojaRuta = parametrosDetalleHojaRuta;
11 $scope.aceptar = function() { 10 $scope.aceptar = function() {
12 var parametrosDetalleHojaRuta = { 11 var articulos = articulosDescargados();
13 remito: $scope.parametrosDetalleHojaRuta.remito, 12 var cisternaMovimientos = [];
14 cliente: $scope.parametrosDetalleHojaRuta.cliente, 13 var hojaRutaMovimientos = [];
15 domicilio: $scope.parametrosDetalleHojaRuta.domicilio, 14 for(var i = 0; i < articulos.length; i++) {
16 producto: $scope.parametrosDetalleHojaRuta.producto, 15 var cisternaMovimiento = {
17 litros: $scope.parametrosDetalleHojaRuta.litros, 16 idRemito: $scope.remito.id,
18 litrosDescargados: $scope.parametrosDetalleHojaRuta.litrosDescargados, 17 cantidad: articulos[i].aCargar,
19 numeroRecibo: $scope.parametrosDetalleHojaRuta.numeroRecibo, 18 metodo: 'descarga'
20 observaciones: $scope.parametrosDetalleHojaRuta.observaciones 19 }
21 }; 20 var hojaRutaMovimiento = {
22 $uibModalInstance.close(parametrosDetalleHojaRuta); 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 $scope.cancel = function() { 35 $scope.cancel = function() {
26 $uibModalInstance.dismiss('cancel'); 36 $uibModalInstance.dismiss('cancel');
27 }; 37 };
28 38
29 $scope.validar = function() { 39 $scope.validar = function() {
30 return $scope.formDetalleHojaRuta.$pristine || 40 if(!articulosDescargados().length) {
31 !$scope.parametrosDetalleHojaRuta.litrosDescargados || 41 return true;
32 $scope.parametrosDetalleHojaRuta.litrosDescargados < 1 || 42 }
33 !$scope.parametrosDetalleHojaRuta.numeroRecibo || 43 return false;
1
  • D3a17936964e5150185f11d6293f69cb?s=40&d=identicon Jose Pinto

    no es lo mismo return !articulosDescargados().length; ?

    Choose File ...   File name...
    Cancel
34 $scope.parametrosDetalleHojaRuta.numeroRecibo < 1;
35 }; 44 };
36 45
37 $scope.irPaso = function(paso) { 46 function articulosDescargados() {
38 $scope.paso = paso; 47 var articulosDescargados = $scope.remito.articulosRemito.filter(
39 }; 48 function(articulo) {
49 if(articulo.aCargar && articulo.numeroRecibo) {
50 return articulo;
51 }
52 });
53 return articulosDescargados;
54 }
40 } 55 }
41 ] 56 ]
src/views/modal-detalle-hoja-ruta.html
1 <div class="modal-header py-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 </div> 3 </div>
4 <div class="modal-body" id="modal-body"> 4 <div class="modal-body" id="modal-body">
5 <form name="formDetalleHojaRuta"> 5 <form name="formDetalleHojaRuta">
6 <div class="form-group row"> 6 <div class="form-group row">
7 <div class="col-6 px-2"> 7 <div class="col-12 px-0">
8 <label class="col-12 col-sm-6 px-0 mb-0"> 8 <label class="form-control-sm">
9 <b>Remito</b> 9 <b>Remito Nº</b>
10 <span ng-bind="[remito.numeroRemito, remito.sucursal] | comprobante"/>
10 </label> 11 </label>
11 <div class="col-12 col-sm-6 px-0">
12 <span ng-bind="parametrosDetalleHojaRuta.remito"/>
13 </div>
14 </div> 12 </div>
15 <div class="col-6 px-2"> 13 <div class="col-12 px-0">
16 <label class="col-12 col-sm-6 px-0 mb-0"> 14 <label class="form-control-sm">
17 <b>Cliente</b> 15 <b>Cliente</b>
18 </label> 16 </label>
19 <div class="col-12 col-sm-6 px-0"> 17 <span ng-bind="remito.nombreCliente"/>
20 <span ng-bind="parametrosDetalleHojaRuta.cliente"/>
21 </div>
22 </div> 18 </div>
23 <div class="col-6 px-2"> 19 <div class="col-12 px-0">
24 <label class="col-12 col-sm-6 px-0 mb-0"> 20 <label class="form-control-sm">
25 <b>Domicilio</b> 21 <b>Domicilio</b>
22 <span ng-bind="remito.domicilioStamp"/>
26 </label> 23 </label>
27 <div class="col-12 col-sm-6 px-0">
28 <span ng-bind="parametrosDetalleHojaRuta.domicilio"/>
29 </div>
30 </div> 24 </div>
31 <div class="col-6 px-2"> 25 <div class="col-12 px-0">
32 <label class="col-12 col-sm-6 px-0 mb-0"> 26 <table class="table table-sm">
33 <b>Contacto</b> 27 <thead>
34 </label> 28 <tr>
35 <div class="col-12 col-sm-6 px-0"> 29 <th>Articulo</th>
36 <span ng-bind="parametrosDetalleHojaRuta.contacto"/> 30 <th>Total</th>
37 </div> 31 <th>A descargar</th>
38 </div> 32 <th>Nº Recibo</th>
39 <div class="col-6 px-2"> 33 </tr>
40 <label class="col-12 col-sm-6 px-0 mb-0"> 34 </thead>
41 <b>Teléfono</b> 35 <tbody>
42 </label> 36 <tr ng-repeat="(key, articulo) in remito.articulosRemito">
43 <div class="col-12 col-sm-6 px-0"> 37 <td ng-bind="articulo.descripcion"></td>
44 <span ng-bind="parametrosDetalleHojaRuta.telefonoContacto"/> 38 <td ng-bind="articulo.cantidad"></td>
45 </div> 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 </div> 51 </div>
47 <div class="col-6 px-2"> 52 <div class="col-12 px-0 py-0">
48 <label class="col-12 col-sm-6 px-0 mb-0"> 53 <label class="form-control-sm">
49 <b>Producto</b> 54 <b>Observaciones</b>
50 </label> 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 </div> 56 </div>
106 <div class="row"> 57 <div class="col-12 pl-0">
107 <div class="form-group col-12 pr-0"> 58 <textarea
108 <label 59 ng-model="remito.observaciones"
109 class="col-12 col-sm-3 col-form-label col-form-label-sm px-2" 60 class="form-control mx-2"
110 >Observaciones</label> 61 rows="5"
111 <textarea 62 ></textarea>
112 ng-model="parametrosDetalleHojaRuta.observaciones"
113 class="form-control mx-2"
114 rows="5"
115 teclado-virtual
116 ></textarea>
117 </div>
118 </div> 63 </div>