Commit 443e05cbae1cccb59b049a85298a5dabff631bef

Authored by Jose Pinto
1 parent 9374474ca0
Exists in master

ok package json, ok idVisita

1 { 1 {
2 "name": "foca-activar-hoja-ruta", 2 "name": "foca-agendar-visita",
3 "version": "0.0.1", 3 "version": "0.0.1",
4 "description": "", 4 "description": "",
5 "main": "index.js", 5 "main": "index.js",
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 jasmine-core pre-commit angular angular-ladda ladda@1.0.6 angular-route bootstrap ui-bootstrap4 font-awesome gulp gulp-angular-templatecache gulp-connect gulp-clean gulp-htmlmin gulp-jshint gulp-rename gulp-replace gulp-sequence gulp-uglify-es gulp-uglify jquery jshint pump git+ssh://git@debonline.dyndns.org:npm/foca-directivas.git git+ssh://git@debonline.dyndns.org:npm/foca-modal-remito.git" 11 "install-dev": "npm install -D jasmine-core pre-commit angular angular-ladda ladda@1.0.6 angular-route bootstrap ui-bootstrap4 font-awesome gulp gulp-angular-templatecache gulp-connect gulp-clean gulp-htmlmin gulp-jshint gulp-rename gulp-replace gulp-sequence gulp-uglify-es gulp-uglify jquery jshint pump git+ssh://git@debonline.dyndns.org:npm/foca-directivas.git git+ssh://git@debonline.dyndns.org:npm/foca-modal-remito.git"
12 }, 12 },
13 "pre-commit": [ 13 "pre-commit": [
14 "gulp-pre-commit" 14 "gulp-pre-commit"
15 ], 15 ],
16 "repository": {
17 "type": "git",
18 "url": "http://git.focasoftware.com/npm/foca-agendar-visita.git"
19 },
16 "author": "", 20 "author": "",
17 "license": "ISC", 21 "license": "ISC",
18 "devDependencies": { 22 "devDependencies": {
19 "gulp": "^3.9.1", 23 "gulp": "^3.9.1",
20 "gulp-angular-templatecache": "^2.2.6", 24 "gulp-angular-templatecache": "^2.2.6",
21 "gulp-clean": "^0.4.0", 25 "gulp-clean": "^0.4.0",
22 "gulp-connect": "^5.7.0", 26 "gulp-connect": "^5.7.0",
23 "gulp-htmlmin": "^5.0.1", 27 "gulp-htmlmin": "^5.0.1",
24 "gulp-jshint": "^2.1.0", 28 "gulp-jshint": "^2.1.0",
25 "gulp-rename": "^1.4.0", 29 "gulp-rename": "^1.4.0",
26 "gulp-replace": "^1.0.0", 30 "gulp-replace": "^1.0.0",
27 "gulp-uglify": "^3.0.1", 31 "gulp-uglify": "^3.0.1",
28 "jshint": "^2.9.7", 32 "jshint": "^2.9.7",
29 "pre-commit": "^1.2.2", 33 "pre-commit": "^1.2.2",
30 "pump": "^3.0.0" 34 "pump": "^3.0.0"
31 } 35 }
32 } 36 }
33 37
src/js/controller.js
1 angular.module('focaAgendarVisita') 1 angular.module('focaAgendarVisita')
2 .controller('focaAgendarVisitaController', [ 2 .controller('focaAgendarVisitaController', [
3 '$scope', 'focaAgendarVisitaService', '$location', '$timeout', 3 '$scope', 'focaAgendarVisitaService', '$location', '$timeout',
4 '$uibModal', 'focaBotoneraLateralService', '$filter', 'focaLoginService', 4 '$uibModal', 'focaBotoneraLateralService', '$filter', 'focaLoginService',
5 'focaModalService', 'focaSeguimientoService', 5 'focaModalService', 'focaSeguimientoService',
6 function($scope, focaAgendarVisitaService, $location, $timeout, 6 function($scope, focaAgendarVisitaService, $location, $timeout,
7 $uibModal, focaBotoneraLateralService, $filter, focaLoginService, 7 $uibModal, focaBotoneraLateralService, $filter, focaLoginService,
8 focaModalService, focaSeguimientoService 8 focaModalService, focaSeguimientoService
9 ) { 9 ) {
10 $scope.focused = 0; 10 $scope.focused = 0;
11 $scope.rol = 1; 11 $scope.rol = 1;
12 $scope.visita = {}; 12 $scope.visita = {};
13 $scope.now = new Date(); 13 $scope.now = new Date();
14 $scope.botonera = [ 14 $scope.botonera = [
15 { 15 {
16 label: 'Agendar', 16 label: 'Agendar',
17 image: 'precios-condiciones.png' 17 image: 'precios-condiciones.png'
18 } 18 }
19 ]; 19 ];
20 $timeout(function() { 20 $timeout(function() {
21 focaBotoneraLateralService.showSalir(true); 21 focaBotoneraLateralService.showSalir(true);
22 focaBotoneraLateralService.showPausar(true); 22 focaBotoneraLateralService.showPausar(true);
23 focaBotoneraLateralService.showGuardar(true, $scope.guardar); 23 focaBotoneraLateralService.showGuardar(true, $scope.guardar);
24 }); 24 });
25 25
26 $scope.seleccionarCliente = function() { 26 $scope.seleccionarCliente = function() {
27 var modalInstance = $uibModal.open( 27 var modalInstance = $uibModal.open(
28 { 28 {
29 ariaLabelledBy: 'Busqueda de Cliente', 29 ariaLabelledBy: 'Busqueda de Cliente',
30 templateUrl: 'foca-busqueda-cliente-modal.html', 30 templateUrl: 'foca-busqueda-cliente-modal.html',
31 controller: 'focaBusquedaClienteModalController', 31 controller: 'focaBusquedaClienteModalController',
32 resolve: { 32 resolve: {
33 vendedor: function() { return null; } 33 vendedor: function() { return null; }
34 }, 34 },
35 size: 'lg' 35 size: 'lg'
36 } 36 }
37 ); 37 );
38 modalInstance.result.then( 38 modalInstance.result.then(
39 function(cliente) { 39 function(cliente) {
40 $scope.visita.cliente = cliente; 40 $scope.visita.cliente = cliente;
41 } 41 }
42 ); 42 );
43 }; 43 };
44 $scope.seleccionarVisitante = function() { 44 $scope.seleccionarVisitante = function() {
45 var parametrosModal = { 45 var parametrosModal = {
46 query: '/vendedor-cobrador', 46 query: '/vendedor-cobrador',
47 columnas: [ 47 columnas: [
48 { 48 {
49 propiedad: 'NUM', 49 propiedad: 'NUM',
50 nombre: 'Codigo', 50 nombre: 'Codigo',
51 filtro: { 51 filtro: {
52 nombre: 'rellenarDigitos', 52 nombre: 'rellenarDigitos',
53 parametro: 3 53 parametro: 3
54 } 54 }
55 }, 55 },
56 { 56 {
57 propiedad: 'NOM', 57 propiedad: 'NOM',
58 nombre: 'Nombre' 58 nombre: 'Nombre'
59 } 59 }
60 ], 60 ],
61 titulo:'Búsqueda de vendedores y cobradores', 61 titulo:'Búsqueda de vendedores y cobradores',
62 size: 'md' 62 size: 'md'
63 }; 63 };
64 focaModalService.modal(parametrosModal).then(function(vendedorCobrador) { 64 focaModalService.modal(parametrosModal).then(function(vendedorCobrador) {
65 $scope.visita.visitante = vendedorCobrador; 65 $scope.visita.visitante = vendedorCobrador;
66 }); 66 });
67 }; 67 };
68 68
69 $scope.next = function(key) { 69 $scope.next = function(key) {
70 if (key === 13) $scope.focused ++; 70 if (key === 13) $scope.focused ++;
71 }; 71 };
72 72
73 $scope.guardar = function() { 73 $scope.guardar = function() {
74 var rol; 74 var rol;
75 if ($scope.visita.visitante.rol === 1) { 75 if ($scope.visita.visitante.rol === 1) {
76 rol = 'Nota de pedido'; 76 rol = 'Nota de pedido';
77 } else if ($scope.visita.visitante.rol === 2) { 77 } else if ($scope.visita.visitante.rol === 2) {
78 rol = 'Cobranza'; 78 rol = 'Cobranza';
79 } else { 79 } else {
80 rol = ($scope.rol === 1) ? 'Nota de pedido' : 'Cobranza'; 80 rol = ($scope.rol === 1) ? 'Nota de pedido' : 'Cobranza';
81 } 81 }
82 82
83 focaAgendarVisitaService 83 focaAgendarVisitaService
84 .guardarVisita({ 84 .guardarVisita({
85 idVisitante: $scope.visita.visitante.NUM, 85 idVisitante: $scope.visita.visitante.NUM,
86 tipoVisitante: ($scope.visita.visitante.rol !== 3) ?
87 $scope.visita.visitante.rol : $scope.rol,
88 idCliente: $scope.visita.cliente.cod 86 idCliente: $scope.visita.cliente.cod
89 }) 87 })
90 .then(function(data) { 88 .then(function(data) {
91 focaSeguimientoService.guardarPosicion( 89 focaSeguimientoService.guardarPosicion(
92 rol, 90 rol,
93 data.data.id, 91 data.data.id,
94 $scope.visita.observacion, 92 $scope.visita.observacion,
95 true 93 data.data.id
96 ); 94 );
97 }) 95 })
98 .then(function() { 96 .then(function() {
99 $location.path('/'); 97 $location.path('/');
100 }); 98 });
101 }; 99 };
102 } 100 }
103 ]); 101 ]);
104 102
src/views/agendar-visita.html
1 <div class="row"> 1 <div class="row">
2 <foca-cabecera-facturador 2 <foca-cabecera-facturador
3 titulo="'Agendar visita'" 3 titulo="'Agendar visita'"
4 fecha="now" 4 fecha="now"
5 class="mb-0 col-lg-12" 5 class="mb-0 col-lg-12"
6 ></foca-cabecera-facturador> 6 ></foca-cabecera-facturador>
7 </div> 7 </div>
8 <div class="row"> 8 <div class="row">
9 <div class="col-12 col-md-10 p-0 mt-4 border border-white rounded"> 9 <div class="col-12 col-md-10 p-0 mt-4 border border-white rounded">
10 <form class="row py-2 mt-3 botonera-secundaria"> 10 <form class="row py-2 mt-3 botonera-secundaria">
11 <div class="col-md-6"> 11 <div class="col-md-6">
12 <div class="form-group mb-2 col-md-12 d-md-flex"> 12 <div class="form-group mb-2 col-md-12 d-md-flex">
13 <label class="col-form-label col-md-4 col-12">Cliente</label> 13 <label class="col-form-label col-md-4 col-12">Cliente</label>
14 <div class="input-group col-md-8 col-12 pl-0"> 14 <div class="input-group col-md-8 col-12 pl-0">
15 <input 15 <input
16 class="form-control" 16 class="form-control"
17 type="text" 17 type="text"
18 teclado-virtual 18 teclado-virtual
19 ng-model="visita.cliente.nom" 19 ng-model="visita.cliente.nom"
20 foca-focus="focused == 1" 20 foca-focus="focused == 1"
21 ng-focus="focused = 1" 21 ng-focus="focused = 1"
22 ng-keypress="next($event.keyCode)" 22 ng-keypress="next($event.keyCode)"
23 disabled> 23 disabled>
24 <div class="input-group-append"> 24 <div class="input-group-append">
25 <button 25 <button
26 class="btn btn-outline-secondary form-control" 26 class="btn btn-outline-secondary form-control"
27 title="Buscar" 27 title="Buscar"
28 type="button" 28 type="button"
29 ng-click="seleccionarCliente()"> 29 ng-click="seleccionarCliente()">
30 <i class="fa fa-search" aria-hidden="true"></i> 30 <i class="fa fa-search" aria-hidden="true"></i>
31 </button> 31 </button>
32 </div> 32 </div>
33 </div> 33 </div>
34 </div> 34 </div>
35 <div class="form-group mb-2 col-md-12 d-md-flex"> 35 <div class="form-group mb-2 col-md-12 d-md-flex">
36 <label class="col-form-label col-md-4 col-12">Visitante</label> 36 <label class="col-form-label col-md-4 col-12">Visitante</label>
37 <div class="input-group col-md-8 col-12 pl-0"> 37 <div class="input-group col-md-8 col-12 pl-0">
38 <input 38 <input
39 class="form-control" 39 class="form-control"
40 type="text" 40 type="text"
41 teclado-virtual 41 teclado-virtual
42 ng-model="visita.visitante.NOM" 42 ng-model="visita.visitante.NOM"
43 foca-focus="focused == 1" 43 foca-focus="focused == 1"
44 ng-focus="focused = 1" 44 ng-focus="focused = 1"
45 ng-keypress="next($event.keyCode)" 45 ng-keypress="next($event.keyCode)"
46 disabled> 46 disabled>
47 <div class="input-group-append"> 47 <div class="input-group-append">
48 <button 48 <button
49 class="btn btn-outline-secondary form-control" 49 class="btn btn-outline-secondary form-control"
50 title="Buscar" 50 title="Buscar"
51 type="button" 51 type="button"
52 ng-click="seleccionarVisitante()"> 52 ng-click="seleccionarVisitante()">
53 <i class="fa fa-search" aria-hidden="true"></i> 53 <i class="fa fa-search" aria-hidden="true"></i>
54 </button> 54 </button>
55 </div> 55 </div>
56 </div> 56 </div>
57 </div> 57 </div>
58 <div 58 <div
59 class="form-group mb-2 col-md-12 d-md-flex" 59 class="form-group mb-2 col-md-12 d-md-flex"
60 ng-show="visita.visitante.rol === 3"> 60 ng-show="visita.visitante.rol === 3">
61 <label class="col-form-label col-md-4 col-12">Tipo</label> 61 <label class="col-form-label col-md-4 col-12">Tipo</label>
62 <div class="input-group col-md-8 col-12 pl-0"> 62 <div class="input-group col-md-8 col-12 pl-0">
63 <select class="form-control" ng-model="rol"> 63 <select class="form-control" ng-model="rol">
64 <option value="1">Vendedor</option> 64 <option value="1">Vendedor</option>
65 <option value="2">Cobrador</option> 65 <option value="2">Cobrador</option>
66 </select> 66 </select>
67 </div> 67 </div>
68 </div> 68 </div>
69 </div> 69 </div>
70 <div class="form-group mb-2 col-md-6 d-md-flex"> 70 <div class="form-group mb-2 col-md-6 d-md-flex">
71 <label class="col-form-label col-md-4 col-12">Observaciones</label> 71 <label class="col-form-label col-md-4 col-12">Observaciones</label>
72 <div class="input-group col-md-8 col-12 pl-0"> 72 <div class="input-group col-md-8 col-12">
73 <textarea 73 <textarea
74 rows="5" 74 rows="5"
75 class="form-control" 75 class="form-control"
76 teclado-virtual 76 teclado-virtual
77 ng-model="visita.observacion" 77 ng-model="visita.observacion"
78 foca-focus="focused == 1" 78 foca-focus="focused == 1"
79 ng-focus="focused = 1" 79 ng-focus="focused = 1"
80 ng-keypress="next($event.keyCode)"> 80 ng-keypress="next($event.keyCode)">
81 </div> 81 </div>
82 </div> 82 </div>
83 </form> 83 </form>
84 </div> 84 </div>
85 </div> 85 </div>
86 86