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