Commit 6768e62d481bb3062752ac60f2a82b2ec92e1de7

Authored by Eric Fernandez
1 parent 0e77d80eee
Exists in master

refactor

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
  • D3a17936964e5150185f11d6293f69cb?s=40&d=identicon Jose Pinto

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

    Choose File ...   File name...
    Cancel
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>