Commit 83ef82c677029418e5191fa207e9992ec000fd38

Authored by Nicolás Guarnieri
1 parent 1645741a50
Exists in master

cambios cantidad y otros en views

src/js/controller.js
1 angular.module('focaHojaRuta') 1 angular.module('focaHojaRuta')
2 .controller('listaHojaRutaCtrl', 2 .controller('listaHojaRutaCtrl',
3 [ 3 ['$scope', '$filter', '$uibModal', 'hojaRutaService', 'focaSeguimientoService',
4 '$scope', '$filter', '$uibModal', 'hojaRutaService', 'focaSeguimientoService',
5 function($scope, $filter, $uibModal, hojaRutaService, focaSeguimientoService) { 4 function($scope, $filter, $uibModal, hojaRutaService, focaSeguimientoService) {
6 hojaRutaService.getHojasRuta().then(function(res) { 5 hojaRutaService.getHojasRuta().then(function(res) {
7 var hojaRuta = res.data.pop(); 6 var hojaRuta = res.data.pop();
8 $scope.hojasRuta = hojaRuta; 7 $scope.hojasRuta = hojaRuta;
9 $scope.puntoVenta = rellenar(hojaRuta.sucursal, 4); 8 $scope.puntoVenta = $scope.rellenar(hojaRuta.sucursal, 4);
10 $scope.comprobante = rellenar(hojaRuta.numeroHojaRuta, 8); 9 $scope.comprobante = $scope.rellenar(hojaRuta.numeroHojaRuta, 8);
11 addCabecera('Transportista:', hojaRuta.transportista[0].nombre); 10 addCabecera('Transportista:', hojaRuta.transportista[0].nombre);
12 addCabecera('Chofer:', hojaRuta.chofer[0].nombre); 11 addCabecera('Chofer:', hojaRuta.chofer[0].nombre);
13 addCabecera('Vehículo:', hojaRuta.vehiculo[0].tractor); 12 addCabecera('Vehículo:', hojaRuta.vehiculo[0].tractor);
13 console.info(hojaRuta.remito);
14 }); 14 });
15 $scope.cabecera = []; 15 $scope.cabecera = [];
16 $scope.showCabecera = true; 16 $scope.showCabecera = true;
17 17
18 $scope.now = new Date(); 18 $scope.now = new Date();
19 $scope.puntoVenta = '0000'; 19 $scope.puntoVenta = '0000';
20 $scope.comprobante = '00000000'; 20 $scope.comprobante = '00000000';
21 $scope.verDetalle = function(remito) { 21 $scope.verDetalle = function(remito) {
22 var modalInstance = $uibModal.open( 22 var modalInstance = $uibModal.open(
23 { 23 {
24 ariaLabelledBy: 'Detalle hoja ruta', 24 ariaLabelledBy: 'Detalle hoja ruta',
25 templateUrl: 'modal-detalle-hoja-ruta.html', 25 templateUrl: 'modal-detalle-hoja-ruta.html',
26 controller: 'focaModalDetalleHojaRutaController', 26 controller: 'focaModalDetalleHojaRutaController',
27 resolve: { 27 resolve: {
28 parametrosDetalleHojaRuta: function(){ 28 parametrosDetalleHojaRuta: function(){
29 return { 29 return {
30 remito: remito.numeroRemito, 30 remito: remito.numeroRemito,
31 cliente: remito.nombreCliente, 31 cliente: remito.nombreCliente,
32 domicilio: remito.domicilioStamp, 32 domicilio: remito.domicilioStamp,
33 producto: 'Super', 33 producto: 'Super',
34 contacto: remito.nombreCliente, 34 contacto: remito.nombreCliente,
35 telefonoContacto: '-', 35 telefonoContacto: '-',
36 litros: remito.carga 36 litros: remito.carga
37 }; 37 };
38 } 38 }
39 }, 39 },
40 size: 'lg' 40 size: 'lg'
41 } 41 }
42 ); 42 );
43 modalInstance.result.then(function(parametros) { 43 modalInstance.result.then(function(parametros) {
44 // Al guardar los datos del producto entregado logueamos la 44 // Al guardar los datos del producto entregado logueamos la
45 // actividad para su seguimiento. 45 // actividad para su seguimiento.
46 focaSeguimientoService.guardarPosicion( 46 focaSeguimientoService.guardarPosicion(
47 'Entrega de producto', 47 'Entrega de producto',
48 'Remito: ' + $scope.puntoVenta + '-' + $scope.comprobante + '<br/>' + 48 'Remito: ' + $scope.puntoVenta + '-' + $scope.comprobante + '<br/>' +
49 'Producto: ' + parametros.producto + '<br/>' + 49 'Producto: ' + parametros.producto + '<br/>' +
50 'Litros: ' + parametros.litrosDescargados 50 'Litros: ' + parametros.litrosDescargados
51 ); 51 );
52 }); 52 });
53 }; 53 };
54 54
55 function addCabecera(label, valor) { 55 function addCabecera(label, valor) {
56 var propiedad = $filter('filter')($scope.cabecera, {label: label}, true); 56 var propiedad = $filter('filter')($scope.cabecera, {label: label}, true);
57 if(propiedad.length === 1) { 57 if(propiedad.length === 1) {
58 propiedad[0].valor = valor; 58 propiedad[0].valor = valor;
59 } else { 59 } else {
60 $scope.cabecera.push({label: label, valor: valor}); 60 $scope.cabecera.push({label: label, valor: valor});
61 } 61 }
62 } 62 }
63 //TODO Descomentar cuando se use 63 //TODO Descomentar cuando se use
64 // function removeCabecera(label) { 64 // function removeCabecera(label) {
65 // var propiedad = $filter('filter')($scope.cabecera, {label: label}, true); 65 // var propiedad = $filter('filter')($scope.cabecera, {label: label}, true);
66 // if(propiedad.length === 1) { 66 // if(propiedad.length === 1) {
67 // $scope.cabecera.splice($scope.cabecera.indexOf(propiedad[0]), 1); 67 // $scope.cabecera.splice($scope.cabecera.indexOf(propiedad[0]), 1);
68 // } 68 // }
69 // } 69 // }
70 70
71 function rellenar(relleno, longitud) { 71 $scope.rellenar = function(relleno, longitud) {
72 relleno = '' + relleno; 72 relleno = '' + relleno;
73 while (relleno.length < longitud) { 73 while (relleno.length < longitud) {
74 relleno = '0' + relleno; 74 relleno = '0' + relleno;
75 } 75 }
76 76
77 return relleno; 77 return relleno;
78 } 78 };
79 } 79 }
80 ]); 80 ]);
81 81
src/views/lista-hoja-ruta.html
1 <div> 1 <div>
2 <div class="col-md-10 offset-md-1 col-lg-8 offset-lg-2"> 2 <div class="col-md-10 offset-md-1 col-lg-8 offset-lg-2">
3 <div class="row p-1 panel-informativo"> 3 <div class="row p-1 panel-informativo">
4 <div class="col-12"> 4 <div class="col-12">
5 <div class="row"> 5 <div class="row">
6 <div class="col-12 col-sm-4 nota-pedido"> 6 <div class="col-12 col-sm-4 nota-pedido">
7 <h5>Hojas de ruta</h5> 7 <h5>Hojas de ruta</h5>
8 </div> 8 </div>
9 <div class="col-5 col-sm-4 numero-pedido" 9 <div class="col-5 col-sm-4 numero-pedido"
10 >Nº {{puntoVenta}}-{{comprobante}} 10 >Nº {{puntoVenta}}-{{comprobante}}
11 </div> 11 </div>
12 <div class="col-7 col-sm-4 text-right"> 12 <div class="col-7 col-sm-4 text-right">
13 Fecha: 13 Fecha:
14 <span 14 <span
15 ng-show="!datepickerAbierto" 15 ng-show="!datepickerAbierto"
16 ng-bind="now | date:'dd/MM/yyyy HH:mm'" 16 ng-bind="now | date:'dd/MM/yyyy HH:mm'"
17 ng-click="datepickerAbierto = true" 17 ng-click="datepickerAbierto = true"
18 > 18 >
19 </span> 19 </span>
20 <input 20 <input
21 ng-show="datepickerAbierto" 21 ng-show="datepickerAbierto"
22 type="date" 22 type="date"
23 ng-model="now" 23 ng-model="now"
24 ng-change="datepickerAbierto = false" 24 ng-change="datepickerAbierto = false"
25 ng-blur="datepickerAbierto = false" 25 ng-blur="datepickerAbierto = false"
26 class="form-control form-control-sm col-8 float-right" 26 class="form-control form-control-sm col-8 float-right"
27 foca-focus="datepickerAbierto" 27 foca-focus="datepickerAbierto"
28 hasta-hoy 28 hasta-hoy
29 /> 29 />
30 </div> 30 </div>
31 </div> 31 </div>
32 <div class="row"> 32 <div class="row">
33 <div class="col-auto" ng-repeat="cab in cabecera" ng-show="showCabecera"> 33 <div class="col-auto" ng-repeat="cab in cabecera" ng-show="showCabecera">
34 <span class="label" ng-bind="cab.label"></span> 34 <span class="label" ng-bind="cab.label"></span>
35 <span class="valor" ng-bind="cab.valor"></span> 35 <span class="valor" ng-bind="cab.valor"></span>
36 </div> 36 </div>
37 </div> 37 </div>
38 </div> 38 </div>
39 </div> 39 </div>
40 <div class="row p-1 botonera-secundaria"> 40 <div class="row p-1 botonera-secundaria">
41 <div class="col-12"> 41 <div class="col-12">
42 <div class="row"> 42 <div class="row">
43 <div class="col-6 col-sm-3 px-0 py-0" ng-repeat="boton in botonera"> 43 <div class="col-6 col-sm-3 px-0 py-0" ng-repeat="boton in botonera">
44 <button 44 <button
45 type="button" 45 type="button"
46 class="btn btn-default btn-block btn-xs text-left py-2" 46 class="btn btn-default btn-block btn-xs text-left py-2"
47 ng-click="boton.accion()" 47 ng-click="boton.accion()"
48 ng-class="{'d-none d-sm-block': boton.texto == ''}" 48 ng-class="{'d-none d-sm-block': boton.texto == ''}"
49 > 49 >
50 <i 50 <i
51 class="fa fa-arrow-circle-right" 51 class="fa fa-arrow-circle-right"
52 ng-show="boton.texto != ''" 52 ng-show="boton.texto != ''"
53 ></i> 53 ></i>
54 &nbsp; 54 &nbsp;
55 {{boton.texto}} 55 {{boton.texto}}
56 </button> 56 </button>
57 </div> 57 </div>
58 </div> 58 </div>
59 </div> 59 </div>
60 </div> 60 </div>
61 </div> 61 </div>
62 <div class="col-12 col-md-10 col-lg-8 offset-md-1 offset-lg-2"> 62 <div class="col-12 col-md-10 col-lg-8 offset-md-1 offset-lg-2">
63 <div class="row grilla-articulo d-sm-flex"> 63 <div class="row grilla-articulo">
64 <table class="table tabla-articulo table-striped table-sm table-dark"> 64 <table class="table tabla-articulo table-striped table-sm table-dark">
65 <thead> 65 <thead>
66 <tr class="d-flex"> 66 <tr>
67 <th>#</th> 67 <th class="col">#</th>
68 <th>Razon Social</th> 68 <th class="col">Número</th>
69 <th>Domicilio</th> 69 <th class="col">Razon Social</th>
70 <th>#Remito</th> 70 <th class="col">Domicilio</th>
71 <th>Litros</th> 71 <th class="col">Cantidad</th>
72 <th></th> 72 <th style="width: 50px"></th>
73 </tr> 73 </tr>
74 </thead> 74 </thead>
75 <tbody class="tabla-articulo-body"> 75 <tbody class="tabla-articulo-body">
76 <tr 76 <tr
77 ng-repeat="(key, remito) in hojasRuta.remito" class="d-flex" 77 ng-repeat="(key, remito) in hojasRuta.remito"
78 > 78 >
79 <td ng-bind="key + 1"></td> 79 <td ng-bind="key + 1"></td>
80 <td
81 ng-bind="rellenar(remito.numeroRemito, 4) + '-' + rellenar(remito.numeroRemito, 8)"
82 ></td>
80 <td ng-bind="remito.nombreCliente"></td> 83 <td ng-bind="remito.nombreCliente"></td>
81 <td ng-bind="remito.domicilioStamp"></td> 84 <td ng-bind="remito.domicilioStamp"></td>
82 <td ng-bind="remito.numeroRemito"></td> 85 <td ng-bind="remito.carga"></td>
83 <td ng-bind="remito.remitoCarga"></td> 86 <td >
84 <td>
85 <button 87 <button
86 class="btn btn-secondary" 88 class="btn btn-secondary"
87 type="button" 89 type="button"
88 ng-click="verDetalle(remito)" 90 ng-click="verDetalle(remito)"
89 ><i class="fa fa-search" aria-hidden="true"></i> 91 ><i class="fa fa-search" aria-hidden="true"></i>
90 </button> 92 </button>
91 </td> 93 </td>
92 </tr> 94 </tr>
93 </tbody> 95 </tbody>
94 </table> 96 </table>
97
95 </div> 98 </div>
96 </div> 99 </div>
97 </div> 100 </div>