Commit 085458a11e3c3a10e85a880fa6459b05ee6031c1
Exists in
master
Merge branch 'master' into 'master'
Master See merge request !12
Showing
2 changed files
Show diff stats
src/js/controllerItem.js
| 1 | angular.module('focaAbmVendedorCobrador') | 1 | angular.module('focaAbmVendedorCobrador') |
| 2 | .controller('focaAbmVendedorCobradorController', [ | 2 | .controller('focaAbmVendedorCobradorController', [ |
| 3 | '$scope', 'focaAbmVendedorCobradorService', '$routeParams', 'focaBotoneraLateralService', | 3 | '$scope', 'focaAbmVendedorCobradorService', '$routeParams', 'focaBotoneraLateralService', |
| 4 | '$timeout', '$uibModal', '$location', 'focaModalService', | 4 | '$timeout', '$uibModal', '$location', 'focaModalService', |
| 5 | function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService, | 5 | function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService, |
| 6 | $timeout, $uibModal, $location, focaModalService) { | 6 | $timeout, $uibModal, $location, focaModalService) { |
| 7 | 7 | ||
| 8 | $scope.now = new Date(); | 8 | $scope.now = new Date(); |
| 9 | $scope.focused = 0; | 9 | $scope.focused = 0; |
| 10 | $scope.vendedorCobrador = { | 10 | $scope.vendedorCobrador = { |
| 11 | ES_COBRADOR: false, | 11 | ES_COBRADOR: false, |
| 12 | DNI: ' ', | 12 | DNI: ' ', |
| 13 | ClaVen: '', | 13 | ClaVen: '', |
| 14 | ComVen: '0.00', | 14 | ComVen: '0.00', |
| 15 | comisionCobrador: '0.00', | 15 | comisionCobrador: '0.00', |
| 16 | provincia: { | 16 | provincia: { |
| 17 | NOMBRE: '' | 17 | NOMBRE: '' |
| 18 | }, | 18 | }, |
| 19 | localidad: { | 19 | localidad: { |
| 20 | NOMBRE: ' ' | 20 | NOMBRE: ' ' |
| 21 | } | 21 | } |
| 22 | }; | 22 | }; |
| 23 | $scope.options = [ | 23 | $scope.options = [ |
| 24 | { | 24 | { |
| 25 | label: 'Vendedor', | 25 | label: 'Vendedor', |
| 26 | value: 1 | 26 | value: 1 |
| 27 | }, | 27 | }, |
| 28 | { | 28 | { |
| 29 | label: 'Cobrador', | 29 | label: 'Cobrador', |
| 30 | value: 2 | 30 | value: 2 |
| 31 | }, | 31 | }, |
| 32 | { | 32 | { |
| 33 | label: 'Vendedor y cobrador', | 33 | label: 'Vendedor y cobrador', |
| 34 | value: 3 | 34 | value: 3 |
| 35 | } | 35 | } |
| 36 | ]; | 36 | ]; |
| 37 | //SETEO BOTONERA LATERAL | 37 | //SETEO BOTONERA LATERAL |
| 38 | $timeout(function() { | 38 | $timeout(function() { |
| 39 | focaBotoneraLateralService.showSalir(false); | 39 | focaBotoneraLateralService.showSalir(false); |
| 40 | focaBotoneraLateralService.showPausar(true); | 40 | focaBotoneraLateralService.showPausar(true); |
| 41 | focaBotoneraLateralService.showCancelar(false); | 41 | focaBotoneraLateralService.showCancelar(false); |
| 42 | focaBotoneraLateralService.showGuardar(true, $scope.guardar); | 42 | focaBotoneraLateralService.showGuardar(true, $scope.guardar); |
| 43 | focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar); | 43 | focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar); |
| 44 | }); | 44 | }); |
| 45 | focaAbmVendedorCobradorService | 45 | focaAbmVendedorCobradorService |
| 46 | .getCodigoSiguiente() | 46 | .getCodigoSiguiente() |
| 47 | .then(function(res) { | 47 | .then(function(res) { |
| 48 | $scope.vendedorCobrador.CodVen = res.data.mayor; | 48 | $scope.vendedorCobrador.CodVen = res.data.mayor; |
| 49 | }); | 49 | }); |
| 50 | focaAbmVendedorCobradorService | 50 | focaAbmVendedorCobradorService |
| 51 | .getVendedorCobradorById($routeParams.id) | 51 | .getVendedorCobradorById($routeParams.id) |
| 52 | .then(function(res) { | 52 | .then(function(res) { |
| 53 | if(res.data){ | 53 | if(res.data){ |
| 54 | $scope.edicion = true; | 54 | $scope.edicion = true; |
| 55 | $scope.vendedorCobrador = res.data; | 55 | $scope.vendedorCobrador = res.data; |
| 56 | delete $scope.vendedorCobrador.FCVEN; | 56 | delete $scope.vendedorCobrador.FCVEN; |
| 57 | delete $scope.vendedorCobrador.FEC; | 57 | delete $scope.vendedorCobrador.FEC; |
| 58 | } | 58 | } |
| 59 | }); | 59 | }); |
| 60 | 60 | ||
| 61 | $scope.guardar = function() { | 61 | $scope.guardar = function() { |
| 62 | if($scope.vendedorCobrador.ClaVen !== $scope.vendedorCobrador.ClaVen2) { | 62 | var vendedorCobrador = angular.copy($scope.vendedorCobrador); |
| 63 | if (vendedorCobrador.ClaVen !== vendedorCobrador.ClaVen2) { | ||
| 63 | focaModalService.alert('Las contraseñas deben coincidir'); | 64 | focaModalService.alert('Las contraseñas deben coincidir'); |
| 64 | return; | 65 | return; |
| 65 | } | 66 | } |
| 66 | $scope.vendedorCobrador.PciVen = $scope.vendedorCobrador.provincia.ID; | 67 | vendedorCobrador.PciVen = vendedorCobrador.provincia.ID; |
| 67 | $scope.vendedorCobrador.LocVen = $scope.vendedorCobrador.localidad.ID; | 68 | vendedorCobrador.LocVen = vendedorCobrador.localidad.ID; |
| 68 | 69 | ||
| 69 | delete $scope.vendedorCobrador.provincia; | 70 | delete vendedorCobrador.provincia; |
| 70 | delete $scope.vendedorCobrador.localidad; | 71 | delete vendedorCobrador.localidad; |
| 71 | delete $scope.vendedorCobrador.ClaVen2; | 72 | delete vendedorCobrador.ClaVen2; |
| 72 | if($scope.vendedorCobrador.rol == 1) { | 73 | if (vendedorCobrador.rol == 1) { |
| 73 | delete $scope.vendedorCobrador.comisionCobrador; | 74 | delete vendedorCobrador.comisionCobrador; |
| 74 | }else if($scope.vendedorCobrador.rol == 2) { | 75 | } else if (vendedorCobrador.rol == 2) { |
| 75 | delete $scope.vendedorCobrador.ComVen; | 76 | delete vendedorCobrador.ComVen; |
| 76 | } | 77 | } |
| 78 | vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar'; | ||
| 77 | 79 | ||
| 78 | focaAbmVendedorCobradorService | 80 | focaAbmVendedorCobradorService |
| 79 | .guardarVendedorCobrador($scope.vendedorCobrador) | 81 | .guardarVendedorCobrador(vendedorCobrador) |
| 80 | .then(function() { | 82 | .then(function() { |
| 81 | $location.path('/vendedor-cobrador'); | 83 | $location.path('/vendedor-cobrador'); |
| 84 | }) | ||
| 85 | .catch(function(err) { | ||
| 86 | if (err.status === 409) { | ||
| 87 | focaModalService.alert(err.data); | ||
| 88 | } | ||
| 82 | }); | 89 | }); |
| 83 | }; | 90 | }; |
| 84 | 91 | ||
| 85 | $scope.seleccionarProvincia = function(key) { | 92 | $scope.seleccionarProvincia = function(key) { |
| 86 | if(key === 13) { | 93 | if(key === 13) { |
| 87 | var parametrosModal = { | 94 | var parametrosModal = { |
| 88 | query: '/provincia', | 95 | query: '/provincia', |
| 89 | columnas: [ | 96 | columnas: [ |
| 90 | { | 97 | { |
| 91 | propiedad: 'ID', | 98 | propiedad: 'ID', |
| 92 | nombre: 'Codigo', | 99 | nombre: 'Codigo', |
| 93 | filtro: { | 100 | filtro: { |
| 94 | nombre: 'rellenarDigitos', | 101 | nombre: 'rellenarDigitos', |
| 95 | parametro: 3} | 102 | parametro: 3} |
| 96 | }, | 103 | }, |
| 97 | { | 104 | { |
| 98 | propiedad: 'NOMBRE', | 105 | propiedad: 'NOMBRE', |
| 99 | nombre: 'Nombre' | 106 | nombre: 'Nombre' |
| 100 | } | 107 | } |
| 101 | ], | 108 | ], |
| 102 | titulo:'Búsqueda de provincias', | 109 | titulo:'Búsqueda de provincias', |
| 103 | size: 'md' | 110 | size: 'md' |
| 104 | }; | 111 | }; |
| 105 | focaModalService.modal(parametrosModal).then(function(provincia) { | 112 | focaModalService.modal(parametrosModal).then(function(provincia) { |
| 106 | $scope.vendedorCobrador.provincia = provincia; | 113 | $scope.vendedorCobrador.provincia = provincia; |
| 107 | $timeout(function() { | 114 | $timeout(function() { |
| 108 | $scope.focused = 5; | 115 | $scope.focused = 5; |
| 109 | }); | 116 | }); |
| 110 | }, function() { | 117 | }, function() { |
| 111 | //TODO: función llamada cuando cancela el modal | 118 | //TODO: función llamada cuando cancela el modal |
| 112 | }); | 119 | }); |
| 113 | } | 120 | } |
| 114 | }; | 121 | }; |
| 115 | $scope.seleccionarLocalidad = function(key) { | 122 | $scope.seleccionarLocalidad = function(key) { |
| 116 | if(!$scope.vendedorCobrador.provincia.ID) { | 123 | if(!$scope.vendedorCobrador.provincia.ID) { |
| 117 | focaModalService.alert('Seleccione una provincia'); | 124 | focaModalService.alert('Seleccione una provincia'); |
| 118 | return; | 125 | return; |
| 119 | } | 126 | } |
| 120 | if(key === 13) { | 127 | if(key === 13) { |
| 121 | var parametrosModal = { | 128 | var parametrosModal = { |
| 122 | query: '/localidad/' + $scope.vendedorCobrador.provincia.ID, | 129 | query: '/localidad/' + $scope.vendedorCobrador.provincia.ID, |
| 123 | columnas: [ | 130 | columnas: [ |
| 124 | { | 131 | { |
| 125 | propiedad: 'ID', | 132 | propiedad: 'ID', |
| 126 | nombre: 'Código', | 133 | nombre: 'Código', |
| 127 | filtro: { | 134 | filtro: { |
| 128 | nombre: 'rellenarDigitos', | 135 | nombre: 'rellenarDigitos', |
| 129 | parametro: 3 | 136 | parametro: 3 |
| 130 | } | 137 | } |
| 131 | }, | 138 | }, |
| 132 | { | 139 | { |
| 133 | propiedad: 'NOMBRE', | 140 | propiedad: 'NOMBRE', |
| 134 | nombre: 'Nombre' | 141 | nombre: 'Nombre' |
| 135 | } | 142 | } |
| 136 | ], | 143 | ], |
| 137 | titulo:'Búsqueda de localidades', | 144 | titulo:'Búsqueda de localidades', |
| 138 | size: 'md' | 145 | size: 'md' |
| 139 | }; | 146 | }; |
| 140 | focaModalService.modal(parametrosModal).then(function(localidad) { | 147 | focaModalService.modal(parametrosModal).then(function(localidad) { |
| 141 | $scope.vendedorCobrador.localidad = localidad; | 148 | $scope.vendedorCobrador.localidad = localidad; |
| 142 | $timeout(function() { | 149 | $timeout(function() { |
| 143 | $scope.focused = 6; | 150 | $scope.focused = 6; |
| 144 | }); | 151 | }); |
| 145 | }, function() { | 152 | }, function() { |
| 146 | //TODO: función llamada cuando cancela el modal | 153 | //TODO: función llamada cuando cancela el modal |
| 147 | }); | 154 | }); |
| 148 | } | 155 | } |
| 149 | }; | 156 | }; |
| 150 | 157 | ||
| 151 | $scope.cancelar = function() { | 158 | $scope.cancelar = function() { |
| 152 | $location.path('/vendedor-cobrador'); | 159 | $location.path('/vendedor-cobrador'); |
| 153 | }; | 160 | }; |
| 154 | 161 | ||
| 155 | $scope.next = function(key) { | 162 | $scope.next = function(key) { |
| 156 | if(key === 13) $scope.focused++; | 163 | if(key === 13) $scope.focused++; |
| 157 | }; | 164 | }; |
| 158 | } | 165 | } |
| 159 | ]); | 166 | ]); |
| 160 | 167 |
src/views/foca-abm-vendedor-cobrador-listado.html
| 1 | <div class="row"> | 1 | <div class="row"> |
| 2 | <foca-cabecera-facturador | 2 | <foca-cabecera-facturador |
| 3 | titulo="'Vendedores / Cobradores'" | 3 | titulo="'Vendedores / Cobradores'" |
| 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 | <div class="form-group input-group mt-3 px-5"> | 10 | <div class="form-group input-group mt-3 px-5"> |
| 11 | <input | 11 | <input |
| 12 | type="text" | 12 | type="text" |
| 13 | class="form-control form-control-sm" | 13 | class="form-control form-control-sm" |
| 14 | id="search" | 14 | id="search" |
| 15 | placeholder="Búsqueda" | 15 | placeholder="Búsqueda" |
| 16 | teclado-virtual | 16 | teclado-virtual |
| 17 | ng-keypress="search($event.keyCode)" | 17 | ng-keypress="search($event.keyCode)" |
| 18 | ng-model="filters" | 18 | ng-model="filters" |
| 19 | foca-focus="true" | 19 | foca-focus="true" |
| 20 | /> | 20 | /> |
| 21 | <div class="input-group-append"> | 21 | <div class="input-group-append"> |
| 22 | <button | 22 | <button |
| 23 | ladda="searchLoading" | 23 | ladda="searchLoading" |
| 24 | class="btn btn-outline-secondary" | 24 | class="btn btn-outline-secondary" |
| 25 | type="button" | 25 | type="button" |
| 26 | ng-click="search(13)" | 26 | ng-click="search(13)" |
| 27 | > | 27 | > |
| 28 | <i class="fa fa-search" aria-hidden="true"></i> | 28 | <i class="fa fa-search" aria-hidden="true"></i> |
| 29 | </button> | 29 | </button> |
| 30 | </div> | 30 | </div> |
| 31 | </div> | 31 | </div> |
| 32 | <table class="table table-default table-hover table-sm table-abm table-striped mb-0"> | 32 | <table class="table table-default table-hover table-sm table-abm table-striped mb-0"> |
| 33 | <thead> | 33 | <thead> |
| 34 | <tr> | 34 | <tr> |
| 35 | <th class="text-center">Código</th> | 35 | <th class="text-center">Código</th> |
| 36 | <th>Nombre</th> | 36 | <th>Nombre</th> |
| 37 | <th>Tipo</th> | 37 | <th>Tipo</th> |
| 38 | <th class="text-center"> | 38 | <th class="text-center"> |
| 39 | <button | 39 | <button |
| 40 | class="btn btn-outline-debo boton-accion" | 40 | class="btn btn-outline-debo boton-accion" |
| 41 | title="Agregar" | 41 | title="Agregar" |
| 42 | ng-click="editar(0)" | 42 | ng-click="editar(0)" |
| 43 | ><i class="fa fa-plus"></i> | 43 | ><i class="fa fa-plus"></i> |
| 44 | </button> | 44 | </button> |
| 45 | </th> | 45 | </th> |
| 46 | </tr> | 46 | </tr> |
| 47 | </thead> | 47 | </thead> |
| 48 | <tbody> | 48 | <tbody> |
| 49 | <tr ng-repeat="vendedorCobrador in currentPageVendedoresCobradores"> | 49 | <tr ng-repeat="vendedorCobrador in currentPageVendedoresCobradores"> |
| 50 | <td ng-bind="vendedorCobrador.CodVen" class="text-center"></td> | 50 | <td ng-bind="vendedorCobrador.CodVen" class="text-center"></td> |
| 51 | <td ng-bind="vendedorCobrador.NomVen"></td> | 51 | <td ng-bind="vendedorCobrador.NomVen"></td> |
| 52 | <td ng-bind="vendedorCobrador.ES_COBRADOR ? 'Cobrador' : 'Vendedor'"></td> | 52 | <td ng-if="vendedorCobrador.rol == 1">Vendedor</td> |
| 53 | <td ng-if="vendedorCobrador.rol == 2">Cobrador</td> | ||
| 54 | <td ng-if="vendedorCobrador.rol == 3">Vendedor / Cobrador</td> | ||
| 55 | <td ng-if="!vendedorCobrador.rol"></td> | ||
| 53 | <td class="text-center"> | 56 | <td class="text-center"> |
| 54 | <button | 57 | <button |
| 55 | class="btn btn-outline-dark boton-accion" | 58 | class="btn btn-outline-dark boton-accion" |
| 56 | title="Editar" | 59 | title="Editar" |
| 57 | ng-click="editar(vendedorCobrador.CodVen)" | 60 | ng-click="editar(vendedorCobrador.CodVen)" |
| 58 | > | 61 | > |
| 59 | <i class="fa fa-pencil"></i> | 62 | <i class="fa fa-pencil"></i> |
| 60 | </button> | 63 | </button> |
| 61 | <button | 64 | <button |
| 62 | class="btn btn-outline-dark boton-accion" | 65 | class="btn btn-outline-dark boton-accion" |
| 63 | title="Eliminar" | 66 | title="Eliminar" |
| 64 | ng-click="eliminar(vendedorCobrador)" | 67 | ng-click="eliminar(vendedorCobrador)" |
| 65 | > | 68 | > |
| 66 | <i class="fa fa-trash"></i> | 69 | <i class="fa fa-trash"></i> |
| 67 | </button> | 70 | </button> |
| 68 | </td> | 71 | </td> |
| 69 | </tr> | 72 | </tr> |
| 70 | </body> | 73 | </body> |
| 71 | </table> | 74 | </table> |
| 72 | </div> | 75 | </div> |
| 73 | </div> | 76 | </div> |
| 74 | <div class="row"> | 77 | <div class="row"> |
| 75 | <nav ng-show="currentPageVendedoresCobradores.length > 0" class="mr-auto"> | 78 | <nav ng-show="currentPageVendedoresCobradores.length > 0" class="mr-auto"> |
| 76 | <ul class="pagination pagination-sm mb-0"> | 79 | <ul class="pagination pagination-sm mb-0"> |
| 77 | <li class="page-item" ng-class="{'disabled': currentPage == 1}"> | 80 | <li class="page-item" ng-class="{'disabled': currentPage == 1}"> |
| 78 | <a class="page-link" href="javascript:void()" ng-click="selectPage(currentPage - 1)"> | 81 | <a class="page-link" href="javascript:void()" ng-click="selectPage(currentPage - 1)"> |
| 79 | <span aria-hidden="true">«</span> | 82 | <span aria-hidden="true">«</span> |
| 80 | <span class="sr-only">Anterior</span> | 83 | <span class="sr-only">Anterior</span> |
| 81 | </a> | 84 | </a> |
| 82 | </li> | 85 | </li> |
| 83 | <li | 86 | <li |
| 84 | class="page-item" | 87 | class="page-item" |
| 85 | ng-repeat="pagina in paginas" | 88 | ng-repeat="pagina in paginas" |
| 86 | ng-class="{'active': pagina == currentPage}" | 89 | ng-class="{'active': pagina == currentPage}" |
| 87 | > | 90 | > |
| 88 | <a | 91 | <a |
| 89 | class="page-link" | 92 | class="page-link" |
| 90 | href="javascript:void()" | 93 | href="javascript:void()" |
| 91 | ng-click="selectPage(pagina)" | 94 | ng-click="selectPage(pagina)" |
| 92 | ng-bind="pagina" | 95 | ng-bind="pagina" |
| 93 | ></a> | 96 | ></a> |
| 94 | </li> | 97 | </li> |
| 95 | <li class="page-item" ng-class="{'disabled': currentPage == lastPage}"> | 98 | <li class="page-item" ng-class="{'disabled': currentPage == lastPage}"> |
| 96 | <a class="page-link" href="javascript:void()" ng-click="selectPage(currentPage + 1)"> | 99 | <a class="page-link" href="javascript:void()" ng-click="selectPage(currentPage + 1)"> |
| 97 | <span aria-hidden="true">»</span> | 100 | <span aria-hidden="true">»</span> |
| 98 | <span class="sr-only">Siguiente</span> | 101 | <span class="sr-only">Siguiente</span> |
| 99 | </a> | 102 | </a> |
| 100 | </li> | 103 | </li> |
| 101 | </ul> | 104 | </ul> |
| 102 | </nav> | 105 | </nav> |
| 103 | </div> | 106 | </div> |
| 104 | 107 |