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> |