Commit 443e05cbae1cccb59b049a85298a5dabff631bef
1 parent
9374474ca0
Exists in
master
ok package json, ok idVisita
Showing
3 changed files
with
7 additions
and
5 deletions
 
Show diff stats
package.json
| 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 |