Commit 47bc57f50a176ecc6848dfff9b8c523da933f229
1 parent
7febaeb82a
Exists in
master
and in
1 other branch
agrego llamadas a los modal
varios
Showing
1 changed file
with
101 additions
and
39 deletions
Show diff stats
src/js/controller.js
| 1 | angular.module('focaCrearNotaPedido') | 1 | angular.module('focaCrearNotaPedido') |
| 2 | .controller('notaPedidoCtrl', | 2 | .controller('notaPedidoCtrl', |
| 3 | [ | 3 | [ |
| 4 | '$scope', | 4 | '$scope', |
| 5 | '$uibModal', | 5 | '$uibModal', |
| 6 | 'crearNotaPedidoService', | 6 | 'crearNotaPedidoService', |
| 7 | function ($scope, $uibModal, crearNotaPedidoService) { | 7 | function ($scope, $uibModal, crearNotaPedidoService) { |
| 8 | $scope.notaPedido = {}; | 8 | $scope.notaPedido = {}; |
| 9 | $scope.articulosTabla = []; | ||
| 10 | var idLista; | ||
| 9 | var notaPedidoTemp = crearNotaPedidoService.getNotaPedido(); | 11 | var notaPedidoTemp = crearNotaPedidoService.getNotaPedido(); |
| 10 | var domiciliosCliente = [ | 12 | $scope.domiciliosCliente = crearNotaPedidoService.getDomicilios(1); |
| 11 | { | 13 | crearNotaPedidoService.getPrecioCondicion().then( |
| 12 | dom: 'sanjuan', | 14 | function (res) { |
| 13 | id: 3 | 15 | $scope.precioCondiciones = res.data; |
| 14 | }, | ||
| 15 | { | ||
| 16 | dom: 'mendoza', | ||
| 17 | id: 2 | ||
| 18 | } | 16 | } |
| 19 | ] | 17 | ); |
| 20 | if (notaPedidoTemp != undefined) { | 18 | if (notaPedidoTemp != undefined) { |
| 21 | notaPedidoTemp.fechaCarga = new Date(notaPedidoTemp.fechaCarga); | 19 | notaPedidoTemp.fechaCarga = new Date(notaPedidoTemp.fechaCarga); |
| 22 | $scope.notaPedido = notaPedidoTemp; | 20 | $scope.notaPedido = notaPedidoTemp; |
| 23 | $scope.notaPedido.domicilio = domiciliosCliente; | 21 | $scope.notaPedido.flete = ($scope.notaPedido.flete).toString(); |
| 22 | $scope.notaPedido.bomba = ($scope.notaPedido.bomba).toString(); | ||
| 23 | $scope.notaPedido.precioCondicion = 2; | ||
| 24 | |||
| 24 | } else { | 25 | } else { |
| 25 | $scope.notaPedido.fechaCarga = new Date(); | 26 | $scope.notaPedido.fechaCarga = new Date(); |
| 26 | 27 | $scope.notaPedido.domicilio = [{ id: 0 }] | |
| 27 | $scope.notaPedido.domicilio = domiciliosCliente; | 28 | $scope.notaPedido.bomba = '1'; |
| 29 | $scope.notaPedido.flete = '1'; | ||
| 28 | } | 30 | } |
| 29 | $scope.precioCondiciones = [ | ||
| 30 | { nombre: 'Precio y condicion 1' }, | ||
| 31 | { nombre: 'Precio y condicion 2' }, | ||
| 32 | { nombre: 'Precio y condicion 3' } | ||
| 33 | ] | ||
| 34 | $scope.articulosTabla = [ | ||
| 35 | { | ||
| 36 | codigo: '1', | ||
| 37 | item: 1, | ||
| 38 | nombre: 'naftaaskdahsñodaskdjhañslkdjahslñkjdhalskjdhaksjdhkasjhasddddddddddddddddddddddddddddddddddddddddddddddddd', | ||
| 39 | precio: '14,50', | ||
| 40 | costoUnitario: '14', | ||
| 41 | cantidad: 1, | ||
| 42 | subtotal: '19,22' | ||
| 43 | } | ||
| 44 | ] | ||
| 45 | $scope.notaPedido.bomba = '1'; | ||
| 46 | $scope.notaPedido.flete = '1'; | ||
| 47 | $scope.addNewDom = function () { | 31 | $scope.addNewDom = function () { |
| 48 | $scope.notaPedido.domicilio.push({ 'id': 0 }); | 32 | $scope.notaPedido.domicilio.push({ 'id': 0 }); |
| 49 | } | 33 | } |
| 50 | $scope.removeNewChoice = function (choice) { | 34 | $scope.removeNewChoice = function (choice) { |
| 51 | if ($scope.notaPedido.domicilio.length > 1) { | 35 | if ($scope.notaPedido.domicilio.length > 1) { |
| 52 | $scope.notaPedido.domicilio.splice($scope.notaPedido.domicilio.findIndex(c => c.$$hashKey == choice.$$hashKey), 1) | 36 | $scope.notaPedido.domicilio.splice($scope.notaPedido.domicilio.findIndex(c => c.$$hashKey == choice.$$hashKey), 1) |
| 53 | } | 37 | } |
| 54 | } | 38 | } |
| 55 | $scope.crearNotaPedido = function () { | 39 | $scope.crearNotaPedido = function () { |
| 56 | var notaPedido = { | 40 | var notaPedido = { |
| 57 | idNotaPedido: 0, | 41 | idNotaPedido: 0, |
| 58 | precioCondicion: $scope.notaPedido.precioCondicion, | 42 | precioCondicion: $scope.notaPedido.precioCondicion, |
| 59 | fechaCarga: $scope.notaPedido.clientefechaCarga, | 43 | fechaCarga: $scope.notaPedido.fechaCarga, |
| 60 | vendedor: $scope.notaPedido.vendedor, | 44 | vendedor: $scope.notaPedido.vendedor, |
| 61 | cliente: $scope.notaPedido.cliente, | 45 | cliente: $scope.notaPedido.cliente, |
| 62 | producto: $scope.notaPedido.producto, | 46 | producto: $scope.notaPedido.producto, |
| 63 | bomba: $scope.notaPedido.bomba, | 47 | bomba: $scope.notaPedido.bomba, |
| 64 | petrolera: $scope.notaPedido.petrolera, | 48 | petrolera: $scope.notaPedido.petrolera, |
| 65 | domicilio: $scope.notaPedido.domicilio, | 49 | domicilio: $scope.notaPedido.domicilio, |
| 66 | kilometros: $scope.notaPedido.kilometros, | 50 | kilometros: $scope.notaPedido.kilometros, |
| 67 | jurisdiccionIIBB: $scope.notaPedido.jurisdiccion, | 51 | jurisdiccionIIBB: $scope.notaPedido.jurisdiccionIIBB, |
| 68 | costoFinanciacion: $scope.notaPedido.costoFinanciacion, | 52 | costoFinanciacion: $scope.notaPedido.costoFinanciacion, |
| 69 | flete: $scope.notaPedido.flete, | 53 | flete: $scope.notaPedido.flete, |
| 70 | costoUnitarioKmFlete: $scope.costoUnitarioKmFlete | 54 | costoUnitarioKmFlete: $scope.notaPedido.costoUnitarioKmFlete, |
| 55 | articulosTabla: $scope.articulosTabla | ||
| 71 | } | 56 | } |
| 72 | crearNotaPedidoService.crearNotaPedido(notaPedido).then( | 57 | crearNotaPedidoService.crearNotaPedido(notaPedido).then( |
| 73 | function (res) { | 58 | function (res) { |
| 74 | alert('Nota pedido creada') | 59 | alert('Nota pedido creada') |
| 75 | } | 60 | } |
| 76 | ) | 61 | ) |
| 77 | } | 62 | } |
| 78 | $scope.siguienteTab = function () { | 63 | $scope.siguienteTab = function () { |
| 79 | $scope.active = 1; | 64 | $scope.active = 1; |
| 80 | } | 65 | } |
| 81 | $scope.seleccionarArticulo = function () { | 66 | $scope.seleccionarArticulo = function () { |
| 82 | var modalIntance = $uibModal.open( | 67 | if(idLista==undefined){ |
| 68 | alert('primero seleccione una lista de precio y condicion'); | ||
| 69 | return; | ||
| 70 | } | ||
| 71 | var modalInstance = $uibModal.open( | ||
| 83 | { | 72 | { |
| 84 | ariaLabelledBy: 'Busqueda de Productos', | 73 | ariaLabelledBy: 'Busqueda de Productos', |
| 85 | templateUrl: 'modal-busqueda-productos.html', | 74 | templateUrl: 'modal-busqueda-productos.html', |
| 86 | controller: 'modalBusquedaProductosCtrl', | 75 | controller: 'modalBusquedaProductosCtrl', |
| 87 | size: 'md' | 76 | resolve: {idLista: function() {return idLista}}, |
| 77 | size: 'lg' | ||
| 88 | } | 78 | } |
| 89 | ) | 79 | ) |
| 90 | modalInstance.result.then( | 80 | modalInstance.result.then( |
| 91 | function (producto) { | 81 | function (producto) { |
| 92 | console.info(producto); | 82 | var newArt = |
| 93 | // variable producto tiene el producto seleccionado en el modal | 83 | { |
| 84 | codigo: producto.FiltroSectorCodigo, | ||
| 85 | item: $scope.articulosTabla.length + 1, | ||
| 86 | nombre: producto.descripcion, | ||
| 87 | precio: producto.precio, | ||
| 88 | costoUnitario: producto.costo, | ||
| 89 | cantidad: 1 | ||
| 90 | } | ||
| 91 | $scope.articulosTabla.unshift(newArt); | ||
| 94 | }, function () { | 92 | }, function () { |
| 95 | // funcion ejecutada cuando se cancela el modal | 93 | // funcion ejecutada cuando se cancela el modal |
| 96 | } | 94 | } |
| 97 | ); | 95 | ); |
| 98 | } | 96 | } |
| 97 | $scope.seleccionarVendedor = function () { | ||
| 98 | var modalInstance = $uibModal.open( | ||
| 99 | { | ||
| 100 | ariaLabelledBy: 'Busqueda de Vendedores', | ||
| 101 | templateUrl: 'modal-vendedores.html', | ||
| 102 | controller: 'modalVendedoresCtrl', | ||
| 103 | size: 'lg' | ||
| 104 | } | ||
| 105 | ) | ||
| 106 | modalInstance.result.then( | ||
| 107 | function (vendedor) { | ||
| 108 | $scope.notaPedido.vendedor = vendedor.NomVen; | ||
| 109 | }, function () { | ||
| 110 | |||
| 111 | } | ||
| 112 | ); | ||
| 113 | } | ||
| 114 | $scope.seleccionarPetrolera = function() { | ||
| 115 | var modalInstance = $uibModal.open( | ||
| 116 | { | ||
| 117 | ariaLabelledBy: 'Busqueda de Petrolera', | ||
| 118 | templateUrl: 'modal-petroleras.html', | ||
| 119 | controller: 'modalPetrolerasCtrl', | ||
| 120 | size: 'lg' | ||
| 121 | } | ||
| 122 | ) | ||
| 123 | modalInstance.result.then( | ||
| 124 | function (petrolera) { | ||
| 125 | $scope.notaPedido.petrolera = petrolera.NOM; | ||
| 126 | }, function () { | ||
| 127 | |||
| 128 | } | ||
| 129 | ); | ||
| 130 | } | ||
| 131 | $scope.seleccionarCliente = function() { | ||
| 132 | var modalInstance = $uibModal.open( | ||
| 133 | { | ||
| 134 | ariaLabelledBy: 'Busqueda de Cliente', | ||
| 135 | templateUrl: 'foca-busqueda-cliente-modal.html', | ||
| 136 | controller: 'focaBusquedaClienteModalController', | ||
| 137 | size: 'lg' | ||
| 138 | } | ||
| 139 | ) | ||
| 140 | modalInstance.result.then( | ||
| 141 | function (cliente) { | ||
| 142 | $scope.notaPedido.cliente = cliente.nom; | ||
| 143 | }, function () { | ||
| 144 | |||
| 145 | } | ||
| 146 | ); | ||
| 147 | } | ||
| 99 | $scope.obtenerDomicilios = function (id) { | 148 | $scope.obtenerDomicilios = function (id) { |
| 100 | crearNotaPedidoService.getDomicilios(id).then( | 149 | crearNotaPedidoService.getDomicilios(id).then( |
| 101 | function (res) { | 150 | function (res) { |
| 102 | $scope.notaPedido.domicilio = res.data; | 151 | $scope.notaPedido.domicilio = res.data; |
| 103 | } | 152 | } |
| 104 | ) | 153 | ) |
| 105 | } | 154 | } |
| 155 | $scope.getSubTotal = function(item) { | ||
| 156 | var subTotal=0; | ||
| 157 | var array = $scope.articulosTabla.filter(a=>a.item<=item); | ||
| 158 | for(var i = 0; i< array.length; i++) { | ||
| 159 | subTotal+=array[i].precio*array[i].cantidad | ||
| 160 | } | ||
| 161 | return subTotal.toFixed(2); | ||
| 162 | } | ||
| 163 | $scope.cargarArticulos = function() { | ||
| 164 | idLista=$scope.notaPedido.precioCondicion; |