1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
| var chezYenApp = angular.module("chezYenApp", []);
chezYenApp.controller("produitsConditionnesCtrl", function($scope, $http){
$scope.produitsConditionnes = [];
$scope.listeProduits = [];
$scope.myProduit = []; //par défaut, le premier produit sera affiché dans le select du nouveau ProdCond.
$scope.listeConditionnements = [];
$scope.myConditionnement = []; //par défaut, le premier conditionnement sera affiché dans le select du nouveau ProdCond.
$scope.produitConditionneModif;
$scope.readonly = true;
$scope.enCarte;
$http.get('../gestProduitsConditionnes/repertoire').then (function(response) {
$scope.produitsConditionnes = response.data.produitsConditionnes;
$scope.listeProduits = response.data.listeProduits;
$scope.myProduit = $scope.listeProduits[0];
$scope.listeConditionnements = response.data.listeConditionnements;
$scope.myConditionnement = $scope.listeConditionnements[0];
});
$scope.nouveauProduitConditionne = function(myProduit,myConditionnement,conditionnement_prix){
console.log("myProduit : " + myProduit.idProduit + ", myConditi : " + myConditionnement.idConditionnement + ", prix condi : " + conditionnement_prix);
console.log("en carte ? : " + $scope.enCarte);
$http.post('../gestProduitsConditionnes/nouveau', {
"produitID":myProduit.idProduit,
"conditionnementID":myConditionnement.idConditionnement,
"produitConditionnePrix":conditionnement_prix
}).success(function(response) {
$('#panelNouveauProduitConditionne').slideToggle(600);
console.log("prodCond a pousser : " + response.produitConditionne);
if(response.produitConditionne != null) {
$scope.produitsConditionnes.push(response.produitConditionne);
console.log("produit conditionné sauvegardé.")
} else {
console.log("pas de produit conditionné sauvegardé car il existe peut-être déjà.")
}
});
}
$scope.modifier_produit_conditionne = function(idProduitConditionne) {
console.log("modifier prodCond id : " + idProduitConditionne);
$http.post('../gestProduitsConditionnes/modification', {
"produitConditionneID":idProduitConditionne
}).then(function successCallback(response){
console.log('popup modif');
$scope.produitConditionneModif = response.data.produitConditionne;
console.log("produitConditionne à modifier : " + $scope.produitConditionneModif.idProduitConditionne);
openPopUp('popUpModif');
return false;
});
}
$scope.validerModif = function(idProduitConditionne, prixTotal) {
console.log("validerModif de prodCondId : " + idProduitConditionne + " et prix total : " + prixTotal);
if(idProduitConditionne != null && idProduitConditionne > 0 && prixTotal!= "" && prixTotal >= 0 && prixTotal != null) {
$http.post('../gestProduitsConditionnes/validerModif', {
"produitConditionneID": idProduitConditionne,
"produitConditionnePrix": prixTotal
}).success(function(response){
$scope.produitsConditionnes = response.data.produitsConditionnes;
});
fermeturePopUp();
}
}
//gestion des cases à cocher
$scope.types = [];
$scope.availableTypes = {
'enCarte': 'en carte ?'
}
});
//Ouverture PopUp
function openPopUp(popID) {
console.log('ouverture popup ' + popID);
var largeur_fenetre = $(window).width();
if(largeur_fenetre < 1500) {
var popWidth = largeur_fenetre - largeur_fenetre * 0.1; // la largeur
} else {
var popWidth = largeur_fenetre - largeur_fenetre * 0.3; //la largeur
}
//faire apparaitre la popup
$('#' + popID).fadeIn().css({
'width': Number(popWidth)
});
//Récupération du margin, qui permettra de centrer la fenetre - on ajuste de 80px en conformité avec le CSS
var popMargTop = ($('#' + popID).height() + 80) / 2;
var popMargLeft = ($('#' + popID).width() + 80) / 2;
//on affecte le margin
$('#' + popID).css({
'margin-top': -popMargTop,
'margin-left': -popMargLeft
});
//Effet fade-In du fond opaque
$('body').append('<div id="fade"></div>'); // ajout du fond opaque noir
//Apparition du fond - .css({'filter' : 'alpha(opacity=80)'}) pour corriger les bogues de IE
$('fade').css({
'filter': 'alpha(opacity=80)'
}).fadeIn();
}
function fermeturePopUp() {
console.log("fermeture de la popUp");
$('fade, .popup_Block').fadeOut(function() {
$('#fade, a.close').remove(); //...ils disparaissent ensemble
});
} |
Partager