Commit 3b341b74ed04aa561446a7862f35c4711bdbab3b

Authored by Nicolás Guarnieri
Exists in master

Merge branch 'master' into 'master'

implentacion modal detalle hoja de ruta

See merge request modulos-npm/foca-hoja-ruta!2
src/js/controller.js
1 angular.module('focaListaHojaRuta') 1 angular.module('focaListaHojaRuta')
2 .controller('listaHojaRutaCtrl', 2 .controller('listaHojaRutaCtrl',
3 [ 3 [
4 '$scope', '$filter', 'hojaRutaService', 4 '$scope', '$filter', '$uibModal', 'hojaRutaService',
5 function($scope, $filter, hojaRutaService) { 5 function($scope, $filter, $uibModal, hojaRutaService) {
6 hojaRutaService.getHojasRuta().then(function(res) { 6 hojaRutaService.getHojasRuta().then(function(res) {
7 $scope.hojasRuta = res.data; 7 $scope.hojasRuta = res.data;
8 }); 8 });
9 $scope.cabecera = []; 9 $scope.cabecera = [];
10 $scope.showCabecera = true; 10 $scope.showCabecera = true;
11 addCabecera('Transportista:', 'Andesmar'); 11 addCabecera('Transportista:', 'Andesmar');
12 addCabecera('Chofer:', 'Carlos'); 12 addCabecera('Chofer:', 'Carlos');
13 addCabecera('Vehículo:', 'SCANIA'); 13 addCabecera('Vehículo:', 'SCANIA');
14 $scope.now = new Date(); 14 $scope.now = new Date();
15 $scope.puntoVenta = '0000'; 15 $scope.puntoVenta = '0000';
16 $scope.comprobante = '00000000'; 16 $scope.comprobante = '00000000';
17 17
18 $scope.verDetalle = function(hojaRuta) {
19 var modalInstance = $uibModal.open(
20 {
21 ariaLabelledBy: 'Detalle hoja ruta',
22 templateUrl: 'modal-detalle-hoja-ruta.html',
23 controller: 'focaModalDetalleHojaRutaController',
24 resolve: {
25 parametrosDetalleHojaRuta: function(){
26 return {
27 remito: '00001-00000001',
28 cliente: 'Rubén Gomez',
29 domicilio: 'Patricias Mendocinas 5050',
30 producto: 'Super',
31 litros: 20
32 };
33 }
34 },
35 size: 'lg'
36 }
37 );
38 modalInstance.result.then(function() {
39
40 })
41 };
42
18 function addCabecera(label, valor) { 43 function addCabecera(label, valor) {
19 var propiedad = $filter('filter')($scope.cabecera, {label: label}, true); 44 var propiedad = $filter('filter')($scope.cabecera, {label: label}, true);
20 if(propiedad.length === 1) { 45 if(propiedad.length === 1) {
21 propiedad[0].valor = valor; 46 propiedad[0].valor = valor;
22 } else { 47 } else {
23 $scope.cabecera.push({label: label, valor: valor}); 48 $scope.cabecera.push({label: label, valor: valor});
24 } 49 }
25 } 50 }
26 51
27 function removeCabecera(label) { 52 function removeCabecera(label) {
28 var propiedad = $filter('filter')($scope.cabecera, {label: label}, true); 53 var propiedad = $filter('filter')($scope.cabecera, {label: label}, true);
29 if(propiedad.length === 1) { 54 if(propiedad.length === 1) {
30 $scope.cabecera.splice($scope.cabecera.indexOf(propiedad[0]), 1); 55 $scope.cabecera.splice($scope.cabecera.indexOf(propiedad[0]), 1);
31 } 56 }
32 } 57 }
33 58
34 function rellenar(relleno, longitud) { 59 function rellenar(relleno, longitud) {
35 relleno = '' + relleno; 60 relleno = '' + relleno;
36 while (relleno.length < longitud) { 61 while (relleno.length < longitud) {
37 relleno = '0' + relleno; 62 relleno = '0' + relleno;
38 } 63 }
39 64
40 return relleno; 65 return relleno;
41 } 66 }
42 } 67 }
43 ]); 68 ]);
44 69
45 70
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 <a 37 <a
38 class="btn col-12 btn-secondary d-sm-none" 38 class="btn col-12 btn-secondary d-sm-none"
39 ng-show="cabecera.length > 0" 39 ng-show="cabecera.length > 0"
40 ng-click="showCabecera = !showCabecera" 40 ng-click="showCabecera = !showCabecera"
41 > 41 >
42 <i 42 <i
43 class="fa fa-chevron-down" 43 class="fa fa-chevron-down"
44 ng-hide="showCabecera" 44 ng-hide="showCabecera"
45 aria-hidden="true" 45 aria-hidden="true"
46 > 46 >
47 </i> 47 </i>
48 <i 48 <i
49 class="fa fa-chevron-up" 49 class="fa fa-chevron-up"
50 ng-show="showCabecera" 50 ng-show="showCabecera"
51 aria-hidden="true"> 51 aria-hidden="true">
52 </i> 52 </i>
53 </a> 53 </a>
54 </div> 54 </div>
55 </div> 55 </div>
56 </div> 56 </div>
57 <div class="row p-1 botonera-secundaria"> 57 <div class="row p-1 botonera-secundaria">
58 <div class="col-12"> 58 <div class="col-12">
59 <div class="row"> 59 <div class="row">
60 <div class="col-6 col-sm-3 px-0 py-0" ng-repeat="boton in botonera"> 60 <div class="col-6 col-sm-3 px-0 py-0" ng-repeat="boton in botonera">
61 <button 61 <button
62 type="button" 62 type="button"
63 class="btn btn-default btn-block btn-xs text-left py-2" 63 class="btn btn-default btn-block btn-xs text-left py-2"
64 ng-click="boton.accion()" 64 ng-click="boton.accion()"
65 ng-class="{'d-none d-sm-block': boton.texto == ''}" 65 ng-class="{'d-none d-sm-block': boton.texto == ''}"
66 > 66 >
67 <i 67 <i
68 class="fa fa-arrow-circle-right" 68 class="fa fa-arrow-circle-right"
69 ng-show="boton.texto != ''" 69 ng-show="boton.texto != ''"
70 ></i> 70 ></i>
71 &nbsp; 71 &nbsp;
72 {{boton.texto}} 72 {{boton.texto}}
73 </button> 73 </button>
74 </div> 74 </div>
75 </div> 75 </div>
76 </div> 76 </div>
77 </div> 77 </div>
78 </div> 78 </div>
79 <div class="col-12 col-md-10 col-lg-8 offset-md-1 offset-lg-2"> 79 <div class="col-12 col-md-10 col-lg-8 offset-md-1 offset-lg-2">
80 <div class="row grilla-articulo d-none d-sm-flex"> 80 <div class="row grilla-articulo d-none d-sm-flex">
81 <table class="table tabla-articulo table-striped table-sm table-dark"> 81 <table class="table tabla-articulo table-striped table-sm table-dark">
82 <thead> 82 <thead>
83 <tr class="d-flex"> 83 <tr class="d-flex">
84 <th>#</th> 84 <th>#</th>
85 <th>Sucursal</th> 85 <th>Sucursal</th>
86 <th>#HojaRuta</th> 86 <th>#HojaRuta</th>
87 <th></th>
87 </tr> 88 </tr>
88 </thead> 89 </thead>
89 <tbody class="tabla-articulo-body"> 90 <tbody class="tabla-articulo-body">
90 <tr 91 <tr
91 ng-repeat="(key, hojaRuta) in hojasRuta" class="d-flex" 92 ng-repeat="(key, hojaRuta) in hojasRuta" class="d-flex"
92 > 93 >
93 <td ng-bind="key + 1"></td> 94 <td ng-bind="key + 1"></td>
94 <td ng-bind="hojaRuta.sucursal"></td> 95 <td ng-bind="hojaRuta.sucursal"></td>
95 <td ng-bind="hojaRuta.numeroHojaRuta"></td> 96 <td ng-bind="hojaRuta.numeroHojaRuta"></td>
97 <td>
98 <button
99 class="btn btn-secondary"
100 type="button"
101 ng-click="verDetalle(hojaRuta)"
102 ><i class="fa fa-search" aria-hidden="true"></i>
103 </button>
104 </td>
96 </tr> 105 </tr>
97 </tbody> 106 </tbody>
98 </table> 107 </table>
99 </div> 108 </div>
100 </div> 109 </div>
101 </div> 110 </div>
102 111