Commit 61cf6ef413e205841a6d4f7c3716a5280b2a42c1

Authored by Jose Pinto
1 parent 8d5a298bc6
Exists in master

Nuevo diseño

1 <html ng-app="focaAbmChofer"> 1 <html ng-app="focaAbmChofer">
2 <head> 2 <head>
3 <meta charset="UTF-8"/> 3 <meta charset="UTF-8"/>
4 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 4 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
5 5
6 <!--CSS--> 6 <!--CSS-->
7 <link href="node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"/> 7 <link href="node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet"/>
8 <link href="node_modules/font-awesome/css/font-awesome.min.css" rel="stylesheet"/> 8 <link href="node_modules/font-awesome/css/font-awesome.min.css" rel="stylesheet"/>
9 9
10 <!--VENDOR JS--> 10 <!--VENDOR JS-->
11 <script src="node_modules/jquery/dist/jquery.min.js"></script> 11 <script src="node_modules/jquery/dist/jquery.min.js"></script>
12 <script src="node_modules/bootstrap/dist/js/bootstrap.min.js"></script> 12 <script src="node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
13 <script src="node_modules/angular/angular.min.js"></script> 13 <script src="node_modules/angular/angular.min.js"></script>
14 <script src="node_modules/angular-route/angular-route.min.js"></script> 14 <script src="node_modules/angular-route/angular-route.min.js"></script>
15 <script src="node_modules/ui-bootstrap4/dist/ui-bootstrap-tpls.js"></script> 15 <script src="node_modules/ui-bootstrap4/dist/ui-bootstrap-tpls.js"></script>
16 <script src="node_modules/foca-modal/dist/foca-modal.min.js"></script> 16 <script src="node_modules/foca-modal/dist/foca-modal.min.js"></script>
17 <script src="node_modules/foca-directivas/dist/foca-directivas.min.js"></script>
18
17 19
18 <!-- BUILD --> 20 <!-- BUILD -->
19 <script src="src/js/app.js"></script> 21 <script src="src/js/app.js"></script>
20 <script src="src/js/controller.js"></script> 22 <script src="src/js/controller.js"></script>
21 <script src="src/js/route.js"></script> 23 <script src="src/js/route.js"></script>
22 <script src="src/js/service.js"></script> 24 <script src="src/js/service.js"></script>
23 <!-- /BUILD --> 25 <!-- /BUILD -->
24 26
25 <!-- CONFIG PARA DEVELOP --> 27 <!-- CONFIG PARA DEVELOP -->
26 <script src="src/etc/develop.js"></script> 28 <script src="src/etc/develop.js"></script>
27 </head> 29 </head>
28 <body style="background: #afafaf;padding: 25px"> 30 <body style="background: #afafaf;padding: 25px">
29 <div class="container-fluid pt-3 pb-3" ng-view style="background: #fff"></div> 31 <div class="container-fluid pt-3 pb-3" ng-view style="background: #fff"></div>
30 </body> 32 </body>
31 </html> 33 </html>
32 34
1 { 1 {
2 "name": "foca-abm-chofer", 2 "name": "foca-abm-chofer",
3 "version": "0.0.1", 3 "version": "0.0.1",
4 "description": "Abm de chofer", 4 "description": "Abm de chofer",
5 "main": "index.html", 5 "main": "index.html",
6 "scripts": { 6 "scripts": {
7 "test": "echo \"Error: no test specified\" && exit 1", 7 "test": "echo \"Error: no test specified\" && exit 1",
8 "compile": "gulp uglify", 8 "compile": "gulp uglify",
9 "gulp-pre-commit": "gulp pre-commit", 9 "gulp-pre-commit": "gulp pre-commit",
10 "postinstall": "npm run compile && gulp clean-post-install", 10 "postinstall": "npm run compile && gulp clean-post-install",
11 "install-dev": "npm install -D angular bootstrap ui-bootstrap4 font-awesome jquery gulp gulp-connect jasmine-core pre-commit gulp-angular-templatecache gulp-htmlmin gulp-jshint gulp-rename gulp-replace gulp-uglify-es gulp-uglify gulp-clean jshint pump git+http://git.focasoftware.com/npm/foca-modal.git" 11 "install-dev": "npm install -D angular bootstrap ui-bootstrap4 font-awesome jquery gulp gulp-connect jasmine-core pre-commit gulp-angular-templatecache gulp-htmlmin gulp-jshint gulp-rename gulp-replace gulp-uglify-es gulp-uglify gulp-clean jshint pump git+http://git.focasoftware.com/npm/foca-modal.git"
12 }, 12 },
13 "pre-commit": [ 13 "pre-commit": [
14 "gulp-pre-commit" 14 "gulp-pre-commit"
15 ], 15 ],
16 "repository": { 16 "repository": {
17 "type": "git", 17 "type": "git",
18 "url": "http://git.focasoftware.com/npm/foca-abm-chofer.git" 18 "url": "http://git.focasoftware.com/npm/foca-abm-chofer.git"
19 }, 19 },
20 "author": "Foca Software", 20 "author": "Foca Software",
21 "license": "ISC", 21 "license": "ISC",
22 "peerDependencies": { 22 "peerDependencies": {
23 "angular": "^1.7.x", 23 "angular": "^1.7.x",
24 "angular-route": "^1.7.x", 24 "angular-route": "^1.7.x",
25 "bootstrap": "^4.1.x", 25 "bootstrap": "^4.1.x",
26 "jquery": "^3.3.x", 26 "jquery": "^3.3.x",
27 "font-awesome": "^4.7.x", 27 "font-awesome": "^4.7.x",
28 "gulp": "^3.9.x", 28 "gulp": "^3.9.x",
29 "gulp-concat": "2.6.x", 29 "gulp-concat": "2.6.x",
30 "gulp-jshint": "^2.1.x", 30 "gulp-jshint": "^2.1.x",
31 "gulp-rename": "^1.4.x", 31 "gulp-rename": "^1.4.x",
32 "gulp-replace": "^1.0.x", 32 "gulp-replace": "^1.0.x",
33 "gulp-uglify-es": "^1.0.x", 33 "gulp-uglify-es": "^1.0.x",
34 "jshint": "^2.9.x", 34 "jshint": "^2.9.x",
35 "pump": "^3.0.x" 35 "pump": "^3.0.x"
36 }, 36 },
37 "devDependencies": { 37 "devDependencies": {
38 "angular": "^1.7.5", 38 "angular": "^1.7.5",
39 "angular-route": "^1.7.5", 39 "angular-route": "^1.7.5",
40 "bootstrap": "^4.1.3", 40 "bootstrap": "^4.1.3",
41 "foca-directivas": "git+http://git.focasoftware.com/npm/foca-directivas.git",
41 "foca-modal": "git+http://git.focasoftware.com/npm/foca-modal.git", 42 "foca-modal": "git+http://git.focasoftware.com/npm/foca-modal.git",
42 "font-awesome": "^4.7.0", 43 "font-awesome": "^4.7.0",
43 "gulp": "^3.9.1", 44 "gulp": "^3.9.1",
44 "gulp-angular-templatecache": "^2.2.5", 45 "gulp-angular-templatecache": "^2.2.5",
45 "gulp-clean": "^0.4.0", 46 "gulp-clean": "^0.4.0",
46 "gulp-connect": "^5.6.1", 47 "gulp-connect": "^5.6.1",
47 "gulp-htmlmin": "^5.0.1", 48 "gulp-htmlmin": "^5.0.1",
48 "gulp-jshint": "^2.1.0", 49 "gulp-jshint": "^2.1.0",
49 "gulp-rename": "^1.4.0", 50 "gulp-rename": "^1.4.0",
50 "gulp-replace": "^1.0.0", 51 "gulp-replace": "^1.0.0",
51 "gulp-uglify": "^3.0.1", 52 "gulp-uglify": "^3.0.1",
52 "gulp-uglify-es": "^1.0.4", 53 "gulp-uglify-es": "^1.0.4",
53 "jasmine-core": "^3.3.0", 54 "jasmine-core": "^3.3.0",
54 "jquery": "^3.3.1", 55 "jquery": "^3.3.1",
55 "jshint": "^2.9.6", 56 "jshint": "^2.9.6",
56 "pre-commit": "^1.2.2", 57 "pre-commit": "^1.2.2",
57 "pump": "^3.0.0", 58 "pump": "^3.0.0",
58 "ui-bootstrap4": "^3.0.5" 59 "ui-bootstrap4": "^3.0.5"
59 } 60 }
60 } 61 }
61 62
src/js/controller.js
1 angular.module('focaAbmChofer') 1 angular.module('focaAbmChofer')
2 .controller('focaAbmChoferesController', [ 2 .controller('focaAbmChoferesController', [
3 '$scope', 'focaAbmChoferService', '$location', 3 '$scope', 'focaAbmChoferService', '$location', '$uibModal',
4 'focaModalService', 'focaBotoneraLateralService', '$timeout', 4 'focaModalService', 'focaBotoneraLateralService', '$timeout',
5 function($scope, focaAbmChoferService, $location, focaModalService, 5 function($scope, focaAbmChoferService, $location, $uibModal, focaModalService,
6 focaBotoneraLateralService, $timeout) { 6 focaBotoneraLateralService, $timeout) {
7 7
8 $scope.now = new Date();
8 $scope.filters = ''; 9 $scope.filters = '';
9 $scope.choferes = []; 10 $scope.choferes = [];
10 $scope.choferesFiltrados = []; 11 $scope.botonera = ['Transportista'];
11 12 $scope.focused = 1;
12 focaAbmChoferService.getChoferes().then(function(datos) {
13 $scope.choferes = datos.data;
14 $scope.choferesFiltrados = $scope.choferes;
15 });
16 13
17 //SETEO BOTONERA LATERAL 14 //SETEO BOTONERA LATERAL
18 $timeout(function() { 15 $timeout(function() {
19 focaBotoneraLateralService.showSalir(true); 16 focaBotoneraLateralService.showSalir(true);
20 focaBotoneraLateralService.showPausar(false); 17 focaBotoneraLateralService.showPausar(false);
21 focaBotoneraLateralService.showCancelar(false); 18 focaBotoneraLateralService.showCancelar(false);
22 focaBotoneraLateralService.showGuardar(false); 19 focaBotoneraLateralService.showGuardar(false);
23 }); 20 });
24 21
22 if(focaAbmChoferService.transportistaSeleccionado.COD) {
23 elegirTransportista(focaAbmChoferService.transportistaSeleccionado);
24 }
25
25 $scope.editar = function(id) { 26 $scope.editar = function(id) {
26 $location.path('/chofer/' + id); 27 $location.path('/chofer/' + id + '/' + $scope.idTransportista);
27 }; 28 };
28 29
29 $scope.solicitarConfirmacion = function(chofer) { 30 $scope.solicitarConfirmacion = function(chofer) {
30 focaModalService.confirm('¿Está seguro que desea borrar el chofer ' + 31 focaModalService.confirm('¿Está seguro que desea borrar el chofer ' +
31 chofer.nombre + ' ?').then(function(confirmed) { 32 chofer.nombre + ' ?').then(function(confirmed) {
32 if(confirmed) { 33 if(confirmed) {
33 focaAbmChoferService.deleteChofer(chofer.id); 34 focaAbmChoferService.deleteChofer(chofer.id);
34 $scope.choferes.splice($scope.choferes.indexOf(chofer), 1); 35 $scope.choferes.splice($scope.choferes.indexOf(chofer), 1);
35 } 36 }
36 }); 37 });
37 }; 38 };
38
39 39
40 $scope.seleccionarTransportista = function() {
41 var modalInstance = $uibModal.open(
42 {
43 ariaLabelledBy: 'Busqueda de Transportista',
44 templateUrl: 'modal-proveedor.html',
45 controller: 'focaModalProveedorCtrl',
46 size: 'lg',
47 resolve: {
48 transportista: function() {
49 return true;
50 }
51 }
52 }
53 );
54 modalInstance.result.then(
55 function(transportista) {
56 elegirTransportista(transportista);
57 focaAbmChoferService.transportistaSeleccionado = transportista;
58 }, function() {}
59 );
60 };
61
62 function elegirTransportista(transportista) {
63 buscar(transportista.COD);
64 var codigo = ('00000' + transportista.COD).slice(-5);
65 $scope.idTransportista = transportista.COD;
66 $timeout(function() {
67 $scope.$broadcast('addCabecera', {
68 label: 'Transportista:',
69 valor: codigo + ' - ' + transportista.NOM
70 });
71 });
72 }
73
74 function buscar(id) {
75 focaAbmChoferService.getChoferPorTransportista(id).then(function(res) {
76 $scope.choferes = res.data;
77 });
78 }
40 } 79 }
41 ]) 80 ])
42 .controller('focaAbmChoferController', [ 81 .controller('focaAbmChoferController', [
43 '$scope', 'focaAbmChoferService', '$routeParams', 82 '$scope', 'focaAbmChoferService', '$routeParams',
44 '$location', 'focaBotoneraLateralService', '$timeout', 83 '$location', 'focaBotoneraLateralService', '$timeout',
45 function($scope, focaAbmChoferService, $routeParams, 84 function($scope, focaAbmChoferService, $routeParams,
46 $location, focaBotoneraLateralService, $timeout) { 85 $location, focaBotoneraLateralService, $timeout) {
47 86 $scope.nuevo = $routeParams.id === '0';
48 $scope.chofer = {}; 87 $scope.chofer = {};
49 $scope.transportistas = []; 88 $scope.transportistas = [];
89 $scope.now = new Date();
90 $scope.next = function(key) {
91 if (key === 13) $scope.focused++;
92 };
50 93
51 //SETEO BOTONERA LATERAL 94 //SETEO BOTONERA LATERAL
52 $timeout(function() { 95 $timeout(function() {
53 focaBotoneraLateralService.showSalir(false); 96 focaBotoneraLateralService.showSalir(false);
54 focaBotoneraLateralService.showPausar(true); 97 focaBotoneraLateralService.showPausar(true);
55 focaBotoneraLateralService.showCancelar(true); 98 focaBotoneraLateralService.showCancelar(true);
56 focaBotoneraLateralService.showGuardar(true, $scope.guardar); 99 focaBotoneraLateralService.showGuardar(true, $scope.guardar);
57 }); 100 });
58 101
102 if($scope.nuevo) {
103 focaAbmChoferService
104 .getTransportistaPorId($routeParams.idTransportista)
105 .then(function(res) {
106 var codigo = ('00000' + res.data.COD).slice(-5);
107 $scope.chofer.idTransportista = res.data.COD;
108 $scope.chofer.transportista = res.data;
109 $scope.$broadcast('addCabecera', {
110 label: 'Transportista:',
111 valor: codigo + ' - ' + res.data.NOM
112 });
113 });
114 }
115
59 focaAbmChoferService.getChofer($routeParams.id).then(function(res) { 116 focaAbmChoferService.getChofer($routeParams.id).then(function(res) {
60 if(res.data) $scope.chofer = res.data; 117 if(res.data) {
118 var codigo = ('00000' + res.data.transportista.COD).slice(-5);
119 $scope.chofer = res.data;
120 $scope.$broadcast('addCabecera', {
121 label: 'Transportista:',
122 valor: codigo + ' - ' + res.data.transportista.NOM
123 });
124 }
61 }); 125 });
62 126
63 focaAbmChoferService.getTransportistas().then(function(res) { 127 focaAbmChoferService.getTransportistas().then(function(res) {
64 $scope.transportistas = res.data; 128 $scope.transportistas = res.data;
65 }); 129 });
66 130
67 $scope.cancelar = function() { 131 $scope.cancelar = function() {
68 $location.path('/chofer'); 132 $location.path('/chofer');
69 }; 133 };
70 134
71 $scope.guardar = function() { 135 $scope.guardar = function() {
72 $scope.chofer.idTransportista = $scope.chofer.transportista.COD; 136 $scope.chofer.idTransportista = $routeParams.idTransportista;
73 delete $scope.chofer.transportista; 137 delete $scope.chofer.transportista;
74 focaAbmChoferService.guardarChofer($scope.chofer).then(function() { 138 focaAbmChoferService.guardarChofer($scope.chofer).then(function() {
75 $location.path('/chofer'); 139 $location.path('/chofer');
1 angular.module('focaAbmChofer') 1 angular.module('focaAbmChofer')
2 .config([ 2 .config([
3 '$routeProvider', 3 '$routeProvider',
4 function($routeProvider) { 4 function($routeProvider) {
5 $routeProvider.when('/chofer', { 5 $routeProvider.when('/chofer', {
6 controller: 'focaAbmChoferesController', 6 controller: 'focaAbmChoferesController',
7 templateUrl: 'src/views/foca-abm-choferes-listado.html' 7 templateUrl: 'src/views/foca-abm-choferes-listado.html'
8 }); 8 });
9 } 9 }
10 ]) 10 ])
11 .config([ 11 .config([
12 '$routeProvider', 12 '$routeProvider',
13 function($routeProvider) { 13 function($routeProvider) {
14 $routeProvider.when('/chofer/:id', { 14 $routeProvider.when('/chofer/:id/:idTransportista', {
15 controller: 'focaAbmChoferController', 15 controller: 'focaAbmChoferController',
16 templateUrl: 'src/views/foca-abm-choferes-item.html' 16 templateUrl: 'src/views/foca-abm-choferes-item.html'
17 }); 17 });
18 } 18 }
19 ]); 19 ]);
20 20
1 angular.module('focaAbmChofer') 1 angular.module('focaAbmChofer')
2 .factory('focaAbmChoferService', ['$http', 'API_ENDPOINT', function($http, API_ENDPOINT) { 2 .factory('focaAbmChoferService', ['$http', 'API_ENDPOINT', function($http, API_ENDPOINT) {
3 return { 3 return {
4 getChoferes: function() { 4 getChoferes: function() {
5 return $http.get(API_ENDPOINT.URL + '/chofer'); 5 return $http.get(API_ENDPOINT.URL + '/chofer');
6 }, 6 },
7 getChofer: function(id) { 7 getChofer: function(id) {
8 return $http.get(API_ENDPOINT.URL + '/chofer/' + id); 8 return $http.get(API_ENDPOINT.URL + '/chofer/' + id);
9 }, 9 },
10 getChoferPorTransportista: function(id) {
11 return $http.get(API_ENDPOINT.URL + '/chofer/transportista/' + id);
12 },
10 guardarChofer: function(chofer) { 13 guardarChofer: function(chofer) {
11 return $http.post(API_ENDPOINT.URL + '/chofer', {chofer: chofer}); 14 return $http.post(API_ENDPOINT.URL + '/chofer', {chofer: chofer});
12 }, 15 },
13 getTransportistas: function() { 16 getTransportistas: function() {
14 return $http.get(API_ENDPOINT.URL + '/transportista'); 17 return $http.get(API_ENDPOINT.URL + '/transportista');
15 }, 18 },
19 getTransportistaPorId: function(id) {
20 return $http.get(API_ENDPOINT.URL + '/transportista/' + id);
21 },
16 deleteChofer: function(id) { 22 deleteChofer: function(id) {
17 return $http.delete(API_ENDPOINT.URL + '/chofer/' + id); 23 return $http.delete(API_ENDPOINT.URL + '/chofer/' + id);
18 } 24 },
25 transportistaSeleccionado: {}
19 }; 26 };
20 }]); 27 }]);
21 28
src/views/foca-abm-choferes-item.html
1 <h4 class="pt-4">Chofer</h4> 1 <div class="row">
2 <form name="formChofer"> 2 <foca-cabecera-facturador
3 <input type="hidden" name="id" ng-model="chofer.id" /> 3 titulo="'Chofer'"
4 <div class="form-group row"> 4 fecha="now"
5 <label class="offset-sm-1 col-sm-2 col-form-label">Transportista</label> 5 class="mb-0 col-lg-12"
6 <div class="col-sm-4"> 6 ></foca-cabecera-facturador>
7 <select class="form-control" ng-model="chofer.transportista" 7 </div>
8 ng-options="transportista as transportista.NOM for transportista in transportistas" 8 <div class="row">
9 > 9 <form name="formChofer" class="col-md-12">
10 </select> 10 <input type="hidden" name="id" ng-model="chofer.id" />
11 </div> 11 <div class="form-group row">
12 </div> 12 <label class="offset-sm-1 col-sm-2 col-form-label">Transportista</label>
13 <div class="form-group row"> 13 <div class="col-sm-4">
14 <label class="offset-sm-1 col-sm-2 col-form-label">Nombre</label> 14 <input
15 <div class="col-sm-4"> 15 class="form-control"
16 <input 16 type="text"
17 class="form-control" 17 teclado-virtual
18 type="text" 18 ng-model="chofer.transportista.NOM"
19 teclado-virtual 19 readonly
20 ng-model="chofer.nombre" 20 />
21 ng-required="true" 21 </div>
22 />
23 </div> 22 </div>
24 </div> 23 <div class="form-group row">
25 <div class="form-group row"> 24 <label class="offset-sm-1 col-sm-2 col-form-label">Nombre</label>
26 <label class="offset-sm-1 col-sm-2 col-form-label">DNI</label>
27 <div class="col-sm-4"> 25 <div class="col-sm-4">
28 <input 26 <input
29 class="form-control" 27 class="form-control"
30 type="text" 28 type="text"
31 teclado-virtual 29 teclado-virtual
32 ng-model="chofer.dni" 30 ng-model="chofer.nombre"
33 ng-required="true" 31 ng-required="true"
32 ng-keypress="next($event.keyCode)"
33 foca-focus="focused == 1"
34 ng-focus="focused = 1"
34 /> 35 />
35 </div> 36 </div>
36 </div> 37 </div>
37 <div class="form-group row"> 38 <div class="form-group row">
38 <label class="offset-sm-1 col-sm-2 col-form-label">Teléfono</label> 39 <label class="offset-sm-1 col-sm-2 col-form-label">DNI</label>
39 <div class="col-sm-4"> 40 <div class="col-sm-4">
40 <input 41 <input
41 class="form-control" 42 class="form-control"
42 type="text" 43 type="number"
43 teclado-virtual 44 teclado-virtual
44 ng-model="chofer.telefono" 45 ng-model="chofer.dni"
45 ng-required="true" 46 ng-required="true"
46 /> 47 ng-keypress="next($event.keyCode)"
48 foca-focus="focused == 2"
49 ng-focus="focused = 2"
50 />
51 </div>
52 </div>
53 <div class="form-group row">
54 <label class="offset-sm-1 col-sm-2 col-form-label">Teléfono</label>
55 <div class="col-sm-4">
56 <input
57 class="form-control"
58 type="text"
59 teclado-virtual
60 ng-model="chofer.telefono"
61 ng-required="true"
62 ng-keypress="next($event.keyCode)"
63 foca-focus="focused == 3"
64 ng-focus="focused = 3"
65 />
66 </div>
47 </div> 67 </div>
48 </div> 68 </form>
src/views/foca-abm-choferes-listado.html
1 <div class="row"> 1 <div class="row">
2 <div class="col-12 col-md-10 pt-4 pr-4 pl-4"> 2 <foca-cabecera-facturador
3 <h4 class="mb-4">Choferes</h4> 3 titulo="'Choferes'"
4 <div class="form-group input-group"> 4 fecha="now"
5 <input 5 class="mb-0 col-lg-12"
6 type="text" 6 ></foca-cabecera-facturador>
7 class="form-control form-control-sm" 7 </div>
8 id="search" 8 <div class="row">
9 placeholder="Búsqueda" 9 <div class="col-12 col-md-10 p-0 mt-4 border border-white rounded">
10 ng-model="filters" 10 <div class="row px-5 py-2 botonera-secundaria">
11 teclado-virtual 11 <div class="col-12">
12 ng-keypress="busquedaPress($event.keyCode)" 12 <foca-botonera-facturador botones="botonera" extra="5" class="row"></foca-botonera-facturador>
13 />
14 <div class="input-group-append">
15 <button
16 ladda="searchLoading"
17 class="btn btn-outline-secondary"
18 type="button"
19 ng-click="busquedaPress(13)"
20 >
21 <i class="fa fa-search" aria-hidden="true"></i>
22 </button>
23 </div> 13 </div>
24 </div> 14 </div>
25 <table class="table table-sm table-striped table-dark mb-0"> 15 <table class="table table-default table-hover table-sm table-abm table-striped mb-0">
26 <thead> 16 <thead>
27 <tr> 17 <tr>
28 <th>Código</th> 18 <th>Código</th>
29 <th>Nombre</th> 19 <th>Nombre</th>
30 <th>DNI</th> 20 <th>DNI</th>
31 <th>Teléfono</th> 21 <th>Teléfono</th>
32 <th>Transportista</th>
33 <th class="text-center"> 22 <th class="text-center">
34 <button class="btn btn-default boton-accion" ng-click="editar(0)"> 23 <button
24 ng-disabled="!idTransportista"
25 title="Agregar"
26 class="btn btn-outline-debo boton-accion"
27 ng-click="editar(0)">
35 <i class="fa fa-plus"></i> 28 <i class="fa fa-plus"></i>
36 </button> 29 </button>
37 </th> 30 </th>
38 </tr> 31 </tr>
39 </thead> 32 </thead>
40 <tbody> 33 <tbody>
41 <tr ng-repeat="chofer in choferes | filter:filters"> 34 <tr ng-repeat="chofer in choferes | filter:filters">
42 <td ng-bind="chofer.id"></td> 35 <td ng-bind="chofer.id"></td>
43 <td ng-bind="chofer.nombre"></td> 36 <td ng-bind="chofer.nombre"></td>
44 <td ng-bind="chofer.dni"></td> 37 <td ng-bind="chofer.dni"></td>
45 <td ng-bind="chofer.telefono"></td> 38 <td ng-bind="chofer.telefono"></td>
46 <td ng-bind="chofer.transportista.NOM || 'No tiene'"></td>
47 <td class="text-center"> 39 <td class="text-center">
48 <button 40 <button
49 class="btn btn-default boton-accion" 41 class="btn btn-outline-dark boton-accion"
42 title="Editar"
50 ng-click="editar(chofer.id)" 43 ng-click="editar(chofer.id)"
51 > 44 >
52 <i class="fa fa-pencil"></i> 45 <i class="fa fa-pencil"></i>
53 </button> 46 </button>
54 <button 47 <button
55 class="btn btn-default boton-accion" 48 class="btn btn-outline-dark boton-accion"
49 title="Eliminar"
56 ng-click="solicitarConfirmacion(chofer)" 50 ng-click="solicitarConfirmacion(chofer)"
57 > 51 >
58 <i class="fa fa-trash"></i> 52 <i class="fa fa-trash"></i>
59 </button> 53 </button>
60 </td> 54 </td>
61 </tr> 55 </tr>
62 </body> 56 </body>