Commit 50b6958db1cc4476ad97e24237936abc193a90ca
1 parent
5c77da4537
Exists in
master
- No mostrar plazos si no existe precio condición.
Showing
3 changed files
with
65 additions
and
50 deletions
Show diff stats
src/js/controller.js
| 1 | angular.module('focaAbmPreciosCondiciones') | 1 | angular.module('focaAbmPreciosCondiciones') |
| 2 | .controller('focaAbmPreciosCondicionesController', [ | 2 | .controller('focaAbmPreciosCondicionesController', [ |
| 3 | '$scope', 'focaAbmPreciosCondicionesService', '$location', '$uibModal', | 3 | '$scope', 'focaAbmPreciosCondicionesService', '$location', '$uibModal', |
| 4 | function($scope, focaAbmPreciosCondicionesService, $location, $uibModal) { | 4 | function($scope, focaAbmPreciosCondicionesService, $location, $uibModal) { |
| 5 | focaAbmPreciosCondicionesService.obtenerPreciosCondiciones().then(function(datos) { | 5 | focaAbmPreciosCondicionesService.obtenerPreciosCondiciones().then(function(datos) { |
| 6 | $scope.preciosCondiciones = datos.data; | 6 | $scope.preciosCondiciones = datos.data; |
| 7 | }); | 7 | }); |
| 8 | $scope.editar = function(id) { | 8 | $scope.editar = function(id) { |
| 9 | $location.path('/precio-condicion/' + id); | 9 | $location.path('/precio-condicion/' + id); |
| 10 | }; | 10 | }; |
| 11 | $scope.solicitarConfirmacion = function(precioCondicion) { | 11 | $scope.solicitarConfirmacion = function(precioCondicion) { |
| 12 | $uibModal.open({ | 12 | $uibModal.open({ |
| 13 | templateUrl: 'foca-abm-precios-condiciones-modal-confirmar.html', | 13 | templateUrl: 'foca-abm-precios-condiciones-modal-confirmar.html', |
| 14 | controller: 'focaAbmPreciosCondicionesModalConfirmarController', | 14 | controller: 'focaAbmPreciosCondicionesModalConfirmarController', |
| 15 | animation: false, | 15 | animation: false, |
| 16 | backdrop: false, | 16 | backdrop: false, |
| 17 | resolve: {precioCondicion: function(){return precioCondicion;}} | 17 | resolve: {precioCondicion: function(){return precioCondicion;}} |
| 18 | }) | 18 | }) |
| 19 | .result.then(function(precioCondicion){ | 19 | .result.then(function(precioCondicion){ |
| 20 | focaAbmPreciosCondicionesService.borrarPrecioCondicion(precioCondicion.id); | 20 | focaAbmPreciosCondicionesService.borrarPrecioCondicion(precioCondicion.id); |
| 21 | $scope.preciosCondiciones.splice( | 21 | $scope.preciosCondiciones.splice( |
| 22 | $scope.preciosCondiciones.indexOf(precioCondicion), 1 | 22 | $scope.preciosCondiciones.indexOf(precioCondicion), 1 |
| 23 | ); | 23 | ); |
| 24 | }); | 24 | }); |
| 25 | }; | 25 | }; |
| 26 | } | 26 | } |
| 27 | ]) | 27 | ]) |
| 28 | .controller('focaAbmPrecioCondicionController', [ | 28 | .controller('focaAbmPrecioCondicionController', [ |
| 29 | '$scope', 'focaAbmPreciosCondicionesService', | 29 | '$scope', 'focaAbmPreciosCondicionesService', |
| 30 | '$routeParams', '$location', '$uibModal', | 30 | '$routeParams', '$location', '$uibModal', |
| 31 | function( | 31 | function( |
| 32 | $scope, focaAbmPreciosCondicionesService, | 32 | $scope, focaAbmPreciosCondicionesService, |
| 33 | $routeParams, $location, $uibModal | 33 | $routeParams, $location, $uibModal |
| 34 | ) { | 34 | ) { |
| 35 | $scope.mostrarPlazos = $routeParams.id > 0; | ||
| 35 | focaAbmPreciosCondicionesService.obtenerPrecioCondicion($routeParams.id) | 36 | focaAbmPreciosCondicionesService.obtenerPrecioCondicion($routeParams.id) |
| 36 | .then(function(datos) { | 37 | .then(function(datos) { |
| 37 | $scope.precioCondicion = { | 38 | $scope.precioCondicion = { |
| 38 | id: 0, | 39 | id: 0, |
| 39 | codigo: '', | 40 | codigo: '', |
| 40 | nombre: '', | 41 | nombre: '', |
| 41 | descripcion: '', | 42 | descripcion: '', |
| 42 | idListaPrecio: 0, | 43 | idListaPrecio: 0, |
| 43 | vigencia: new Date() | 44 | vigencia: new Date() |
| 44 | }; | 45 | }; |
| 45 | if(datos.data.id) { | 46 | if(datos.data.id) { |
| 46 | $scope.precioCondicion = datos.data; | 47 | $scope.precioCondicion = datos.data; |
| 47 | focaAbmPreciosCondicionesService.obtenerPlazoPago(datos.data.id) | 48 | focaAbmPreciosCondicionesService.obtenerPlazoPago(datos.data.id) |
| 48 | .then(function(datos){ | 49 | .then(function(datos){ |
| 49 | $scope.precioCondicion.plazos = datos.data; | 50 | $scope.precioCondicion.plazos = datos.data; |
| 50 | }); | 51 | }); |
| 51 | } | 52 | } |
| 52 | }); | 53 | }); |
| 53 | $scope.cancelar = function() { | 54 | $scope.cancelar = function() { |
| 54 | $location.path('/precio-condicion'); | 55 | $location.path('/precio-condicion'); |
| 55 | }; | 56 | }; |
| 56 | $scope.guardar = function(precioCondicion) { | 57 | $scope.guardar = function(precioCondicion) { |
| 57 | focaAbmPreciosCondicionesService.guardarPrecioCondicion(precioCondicion) | 58 | focaAbmPreciosCondicionesService.guardarPrecioCondicion(precioCondicion) |
| 58 | .then(function() { | 59 | .then(function() { |
| 59 | $location.path('/precio-condicion'); | 60 | $location.path('/precio-condicion'); |
| 60 | }); | 61 | }); |
| 61 | }; | 62 | }; |
| 62 | $scope.editarPlazoPago = function(id) { | 63 | $scope.editarPlazoPago = function(id) { |
| 63 | $location.path( | 64 | $location.path( |
| 64 | '/precio-condicion/' + $scope.precioCondicion.id + | 65 | '/precio-condicion/' + $scope.precioCondicion.id + |
| 65 | '/plazo-pago/' + id | 66 | '/plazo-pago/' + id |
| 66 | ); | 67 | ); |
| 67 | }; | 68 | }; |
| 68 | $scope.solicitarConfirmacionPlazoPago = function(plazoPago) { | 69 | $scope.solicitarConfirmacionPlazoPago = function(plazoPago) { |
| 69 | $uibModal.open({ | 70 | $uibModal.open({ |
| 70 | templateUrl: 'foca-abm-plazos-pago-modal-confirmar.html', | 71 | templateUrl: 'foca-abm-plazos-pago-modal-confirmar.html', |
| 71 | controller: 'focaAbmPlazosPagosModalConfirmarController', | 72 | controller: 'focaAbmPlazosPagosModalConfirmarController', |
| 72 | animation: false, | 73 | animation: false, |
| 73 | backdrop: false, | 74 | backdrop: false, |
| 74 | resolve: {plazoPago: function(){return plazoPago;}} | 75 | resolve: {plazoPago: function(){return plazoPago;}} |
| 75 | }) | 76 | }) |
| 76 | .result.then(function(plazoPago){ | 77 | .result.then(function(plazoPago){ |
| 77 | focaAbmPreciosCondicionesService.borrarPlazoPago(plazoPago.id); | 78 | focaAbmPreciosCondicionesService.borrarPlazoPago(plazoPago.id); |
| 78 | $scope.precioCondicion.plazos.splice( | 79 | $scope.precioCondicion.plazos.splice( |
| 79 | $scope.precioCondicion.plazos.indexOf(plazoPago), 1 | 80 | $scope.precioCondicion.plazos.indexOf(plazoPago), 1 |
| 80 | ); | 81 | ); |
| 81 | }); | 82 | }); |
| 82 | }; | 83 | }; |
| 83 | } | 84 | } |
| 84 | ]) | 85 | ]) |
| 85 | .controller('focaAbmPreciosCondicionesModalConfirmarController', [ | 86 | .controller('focaAbmPreciosCondicionesModalConfirmarController', [ |
| 86 | '$uibModalInstance', '$scope', 'precioCondicion', | 87 | '$uibModalInstance', '$scope', 'precioCondicion', |
| 87 | function($uibModalInstance, $scope, precioCondicion) { | 88 | function($uibModalInstance, $scope, precioCondicion) { |
| 88 | $scope.precioCondicion = precioCondicion; | 89 | $scope.precioCondicion = precioCondicion; |
| 89 | $scope.cancelar = function() { | 90 | $scope.cancelar = function() { |
| 90 | $uibModalInstance.dismiss(); | 91 | $uibModalInstance.dismiss(); |
| 91 | }; | 92 | }; |
| 92 | $scope.borrar = function() { | 93 | $scope.borrar = function() { |
| 93 | $uibModalInstance.close(precioCondicion); | 94 | $uibModalInstance.close(precioCondicion); |
| 94 | }; | 95 | }; |
| 95 | } | 96 | } |
| 96 | ]) | 97 | ]) |
| 97 | .controller('focaAbmPlazosPagosModalConfirmarController', [ | 98 | .controller('focaAbmPlazosPagosModalConfirmarController', [ |
| 98 | '$uibModalInstance', '$scope', 'plazoPago', | 99 | '$uibModalInstance', '$scope', 'plazoPago', |
| 99 | function($uibModalInstance, $scope, plazoPago) { | 100 | function($uibModalInstance, $scope, plazoPago) { |
| 100 | $scope.plazoPago = plazoPago; | 101 | $scope.plazoPago = plazoPago; |
| 101 | $scope.cancelar = function() { | 102 | $scope.cancelar = function() { |
| 102 | $uibModalInstance.dismiss(); | 103 | $uibModalInstance.dismiss(); |
| 103 | }; | 104 | }; |
| 104 | $scope.borrar = function() { | 105 | $scope.borrar = function() { |
| 105 | $uibModalInstance.close(plazoPago); | 106 | $uibModalInstance.close(plazoPago); |
| 106 | }; | 107 | }; |
| 107 | } | 108 | } |
| 108 | ]); | 109 | ]); |
| 109 | 110 |
src/views/foca-abm-precios-condiciones-item.html
| 1 | <h4>Precios y Condiciones</h4> | 1 | <h4>Precios y Condiciones</h4> |
| 2 | <form> | 2 | <form> |
| 3 | <input type="hidden" name="id" ng-model="precioCondicion.id" /> | 3 | <input type="hidden" name="id" ng-model="precioCondicion.id" /> |
| 4 | <div class="form-group row"> | 4 | <div class="form-group row"> |
| 5 | <label class="offset-sm-1 col-sm-2 col-form-label">Código</label> | 5 | <label class="offset-sm-1 col-sm-2 col-form-label">Código</label> |
| 6 | <div class="col-sm-4"> | 6 | <div class="col-sm-4"> |
| 7 | <input | 7 | <input |
| 8 | class="form-control" | 8 | class="form-control" |
| 9 | type="text" | 9 | type="text" |
| 10 | name="codigo" | 10 | name="codigo" |
| 11 | ng-model="precioCondicion.codigo" | 11 | ng-model="precioCondicion.codigo" |
| 12 | autocomplete="off" | ||
| 12 | /> | 13 | /> |
| 13 | </div> | 14 | </div> |
| 14 | </div> | 15 | </div> |
| 15 | <div class="form-group row"> | 16 | <div class="form-group row"> |
| 16 | <label class="offset-sm-1 col-sm-2 col-form-label">Nombre</label> | 17 | <label class="offset-sm-1 col-sm-2 col-form-label">Nombre</label> |
| 17 | <div class="col-sm-4"> | 18 | <div class="col-sm-4"> |
| 18 | <input | 19 | <input |
| 19 | class="form-control" | 20 | class="form-control" |
| 20 | type="text" | 21 | type="text" |
| 21 | name="nombre" | 22 | name="nombre" |
| 22 | ng-model="precioCondicion.nombre" | 23 | ng-model="precioCondicion.nombre" |
| 24 | autocomplete="off" | ||
| 23 | /> | 25 | /> |
| 24 | </div> | 26 | </div> |
| 25 | </div> | 27 | </div> |
| 26 | <div class="form-group row"> | 28 | <div class="form-group row"> |
| 27 | <label class="offset-sm-1 col-sm-2 col-form-label">Descripción</label> | 29 | <label class="offset-sm-1 col-sm-2 col-form-label">Descripción</label> |
| 28 | <div class="col-sm-4"> | 30 | <div class="col-sm-4"> |
| 29 | <input | 31 | <input |
| 30 | class="form-control" | 32 | class="form-control" |
| 31 | type="text" | 33 | type="text" |
| 32 | name="nombre" | 34 | name="nombre" |
| 33 | ng-model="precioCondicion.descripcion" | 35 | ng-model="precioCondicion.descripcion" |
| 36 | autocomplete="off" | ||
| 34 | /> | 37 | /> |
| 35 | </div> | 38 | </div> |
| 36 | </div> | 39 | </div> |
| 37 | <div class="form-group row"> | 40 | <div class="form-group row"> |
| 38 | <label class="offset-sm-1 col-sm-2 col-form-label">Lista de precios</label> | 41 | <label class="offset-sm-1 col-sm-2 col-form-label">Lista de precios</label> |
| 39 | <div class="col-sm-4"> | 42 | <div class="col-sm-4"> |
| 40 | <input | 43 | <input |
| 41 | class="form-control" | 44 | class="form-control" |
| 42 | type="number" | 45 | type="number" |
| 43 | name="nombre" | 46 | name="nombre" |
| 44 | ng-model="precioCondicion.idListaPrecio" | 47 | ng-model="precioCondicion.idListaPrecio" |
| 48 | autocomplete="off" | ||
| 45 | /> | 49 | /> |
| 46 | </div> | 50 | </div> |
| 47 | </div> | 51 | </div> |
| 48 | <div class="form-group row"> | 52 | <div class="form-group row" ng-show="mostrarPlazos"> |
| 49 | <label class="offset-sm-1 col-sm-2 col-form-label">Plazos</label> | 53 | <label class="offset-sm-1 col-sm-2 col-form-label">Plazos</label> |
| 50 | <div class="col-sm-4"> | 54 | <div class="col-sm-4"> |
| 51 | <table class="table table-sm table-hover"> | 55 | <table class="table table-sm table-hover lista"> |
| 52 | <tr> | 56 | <thead> |
| 53 | <th>Item</th> | 57 | <tr> |
| 54 | <th>Dias</th> | 58 | <th>Item</th> |
| 55 | <th colspan="2" class="text-center"> | 59 | <th>Dias</th> |
| 56 | <button class="btn btn-default" ng-click="editarPlazoPago(0)"> | 60 | <th colspan="2" class="text-center"> |
| 57 | <i class="fa fa-plus"></i> | 61 | <button class="btn btn-default boton-accion" ng-click="editarPlazoPago(0)"> |
| 58 | </button> | 62 | <i class="fa fa-plus"></i> |
| 59 | </th> | 63 | </button> |
| 60 | </tr> | 64 | </th> |
| 61 | <tr ng-repeat="plazo in precioCondicion.plazos"> | 65 | </tr> |
| 62 | <td ng-bind="plazo.item"></td> | 66 | </thead> |
| 63 | <td ng-bind="plazo.dias"></td> | 67 | <tbody> |
| 64 | <td class="text-center"> | 68 | <tr ng-repeat="plazo in precioCondicion.plazos"> |
| 65 | <button class="btn btn-default" ng-click="editarPlazoPago(plazo.id)"> | 69 | <td ng-bind="plazo.item"></td> |
| 66 | <i class="fa fa-pencil"></i> | 70 | <td ng-bind="plazo.dias"></td> |
| 67 | </button> | 71 | <td class="text-center"> |
| 68 | <button | 72 | <button class="btn btn-default boton-accion" ng-click="editarPlazoPago(plazo.id)"> |
| 69 | class="btn btn-default" | 73 | <i class="fa fa-pencil"></i> |
| 70 | ng-click="solicitarConfirmacionPlazoPago(plazo)" | 74 | </button> |
| 71 | > | 75 | <button |
| 72 | <i class="fa fa-trash"></i> | 76 | class="btn btn-default boton-accion" |
| 73 | </button> | 77 | ng-click="solicitarConfirmacionPlazoPago(plazo)" |
| 74 | </td> | 78 | > |
| 75 | </tr> | 79 | <i class="fa fa-trash"></i> |
| 80 | </button> | ||
| 81 | </td> | ||
| 82 | </tr> | ||
| 83 | </tbody> | ||
| 76 | </table> | 84 | </table> |
| 77 | </div> | 85 | </div> |
| 78 | </div> | 86 | </div> |
| 79 | <div class="form-group row"> | 87 | <div class="form-group row"> |
| 80 | <div class="col-sm-7 text-right"> | 88 | <div class="col-sm-7 text-right"> |
| 81 | <button class="btn btn-primary" ng-click="guardar(precioCondicion)">Guardar</button> | 89 | <button class="btn btn-primary" ng-click="guardar(precioCondicion)">Guardar</button> |
| 82 | <button class="btn btn-default" ng-click="cancelar()">Cancelar</button> | 90 | <button class="btn btn-default" ng-click="cancelar()">Cancelar</button> |
| 83 | </div> | 91 | </div> |
| 84 | </div> | 92 | </div> |
| 85 | </form> | 93 | </form> |
| 86 | 94 |
src/views/foca-abm-precios-condiciones-listado.html
| 1 | <h4>Precios y Condiciones</h4> | 1 | <div class="lista"> |
| 2 | <table class="table table-sm table-hover table-nonfluid"> | 2 | <h4>Precios y Condiciones</h4> |
| 3 | <tr> | 3 | <table class="table table-sm table-hover table-nonfluid"> |
| 4 | <th>Código</th> | 4 | <thead> |
| 5 | <th>Nombre</th> | 5 | <tr> |
| 6 | <th colspan="2" class="text-center"> | 6 | <th>Código</th> |
| 7 | <button class="btn btn-default" ng-click="editar(0)"> | 7 | <th>Nombre</th> |
| 8 | <i class="fa fa-plus"></i> | 8 | <th colspan="2" class="text-center"> |
| 9 | </button> | 9 | <button class="btn btn-default boton-accion" ng-click="editar(0)"> |
| 10 | </th> | 10 | <i class="fa fa-plus"></i> |
| 11 | </tr> | 11 | </button> |
| 12 | <tr ng-repeat="precioCondicion in preciosCondiciones"> | 12 | </th> |
| 13 | <td ng-bind="precioCondicion.codigo"></td> | 13 | </tr> |
| 14 | <td ng-bind="precioCondicion.nombre"></td> | 14 | </thead> |
| 15 | <td> | 15 | <tbody> |
| 16 | <button class="btn btn-default" ng-click="editar(precioCondicion.id)"> | 16 | <tr ng-repeat="precioCondicion in preciosCondiciones"> |
| 17 | <i class="fa fa-pencil"></i> | 17 | <td ng-bind="precioCondicion.codigo"></td> |
| 18 | </button> | 18 | <td ng-bind="precioCondicion.nombre"></td> |
| 19 | <button class="btn btn-default" ng-click="solicitarConfirmacion(precioCondicion)"> | 19 | <td> |
| 20 | <i class="fa fa-trash"></i> | 20 | <button class="btn btn-default boton-accion" ng-click="editar(precioCondicion.id)"> |
| 21 | </button> | 21 | <i class="fa fa-pencil"></i> |
| 22 | </td> | 22 | </button> |
| 23 | </tr> | 23 | <button class="btn btn-default boton-accion" ng-click="solicitarConfirmacion(precioCondicion)"> |
| 24 | </table> | 24 | <i class="fa fa-trash"></i> |
| 25 | </button> | ||
| 26 | </td> | ||
| 27 | </tr> | ||
| 28 | </tbody> | ||
| 29 | </table> | ||
| 30 | </div> | ||
| 25 | 31 |