diff --git a/src/js/controller.js b/src/js/controller.js index 86e8ceb..9d92941 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -14,8 +14,13 @@ angular.module('focaModalPrecioCondicion') $timeout, $filter, $scope, $uibModal, $uibModalInstance, focaModalService, focaModalPrecioCondicionService, idListaPrecio, idCliente ) { - $scope.plazos = [{ dias: 0 }]; - $scope.editingPlazo = false; + $scope.plazos = [ + { + dias: 0, + id_cliente: idCliente, + activo: true + } + ]; $scope.openModalListaDePrecios = false; $scope.associatedList = true; $scope.listaDePreciosAlternativa = null; @@ -26,16 +31,17 @@ angular.module('focaModalPrecioCondicion') //Metodo para traer la lista de precio asociada al cliente focaModalPrecioCondicionService.getListaPrecio(idListaPrecio) .then(function (res) { - console.log("Lista de precios", res); $scope.listaDePreciosAsociada = res.data[0]; }) - .catch(function (e) { console.log(e) }); + .catch(function (e) { console.error(e) }); focaModalPrecioCondicionService.getPlazosByIdCliente(idCliente) .then(function (res) { - console.log(res); - $scope.plazos = res.data; + console.log("Plazos ", res); + res.data.forEach(function (item) { + $scope.plazos.push(item); + }); }) - .catch(function (e) { console.log(e) }); + .catch(function (e) { console.error(e) }); } //#region Metodos para la lista de precios @@ -63,11 +69,11 @@ angular.module('focaModalPrecioCondicion') $scope.listaDePreciosAlternativa = res; console.log(res); }).catch(function (e) { - console.log(e); + console.error(e); }); }); }; - $scope.selectListaDePrecios = function (listaDePrecios) { + $scope.selectListaDePrecios = function () { $scope.associatedList = true; }; $scope.verListaProductos = function (id) { @@ -93,22 +99,21 @@ angular.module('focaModalPrecioCondicion') }) .catch(function (e) { console.log(e) }); }; - $scope.closeModalPrecioCondicion = function () { - $uibModalInstance.dismiss('cancel'); - }; - $scope.guardarPrecioCondicion = function () { - $uibModalInstance.close(!$scope.associatedList ? $scope.listaDePreciosAsociada : $scope.listaDePreciosAlternativa); - } //#endregion //#region Metodos para los plazos - $scope.addMorePlazos = function () { - if ($scope.plazos.length < 4) { - $scope.plazos.unshift({ dias: 0 }); + $scope.addPlazo = function () { + if ($scope.plazos.length === 100) return; + for (var i = 1; i < $scope.plazos.length; i++) { + if ($scope.plazos[0].dias == $scope.plazos[i].dias) { + focaModalService.alert("Ya existe un plazo con este valor"); + return; + } } + $scope.plazos.unshift({ dias: 0, id_cliente: idCliente, activo: true }); }; - $scope.editPlazo = function () { - $scope.editingPlazo = true; + $scope.deletePlazo = function (index) { + $scope.plazos[index].activo = false; }; $scope.validateMinMax = function (plazo, min, max) { plazo.dias = parseInt(plazo.dias); @@ -126,6 +131,23 @@ angular.module('focaModalPrecioCondicion') } }; //#endregion + + $scope.closeModalPrecioCondicion = function () { + $uibModalInstance.dismiss('cancel'); + }; + $scope.guardarPrecioCondicion = function () { + $scope.plazos.shift(); + focaModalPrecioCondicionService.createPlazo($scope.plazos) + .then(function (res) { + var caca = $filter('filter')($scope.plazos, { activo: true }, true) + console.log(caca); + var precioCondicion = { + listaPrecio: $scope.associatedList ? $scope.listaDePreciosAsociada : $scope.listaDePreciosAlternativa, + plazoPago: $filter('filter')($scope.plazos, { activo: true }, true) + }; + $uibModalInstance.close(precioCondicion); + }) + .catch(function (e) { console.error(e) }) + } } - ] - ); + ]);