$(document).ready(function() { chat_calendar() ; chat_datepicker() ; chat_vrac() ; chat_email_masse() ; $('button[data-toggle=popover]').popover() ; chat_ordre_produits() ; chat_index_commandes_liste_produits() ; chat_index_commandes_points_vente() ; chat_btn_plus_moins() ; chat_commandeauto() ; }) ; function chat_commandeauto() { // dates $('#commandeautoform-date_debut, #commandeautoform-date_fin').datepicker() ; } function chat_index_commandes_points_vente() { $('#commandes-points-vente .liste-commandes a').unbind('click').click(function() { var id_pv = $(this).data('pv-id') ; // affiche la commande var id_commande = $(this).data('id-commande') ; chat_index_commandes_affiche_commande(id_commande) ; }) ; $('#commandes-points-vente .bloc-point-vente').each(function() { var id_pv = $(this).data('id-pv') ; // edit $('#point-vente-'+id_pv+' .btn-edit').unbind('click').click(function() { // boutons $('#point-vente-'+id_pv+' .buttons-edit-remove').hide() ; $('#point-vente-'+id_pv+' .buttons-save-cancel').show() ; $('#point-vente-'+id_pv+' .tr-total').hide() ; // inputs chat_index_commandes_inputs_commande(id_pv, true) ; }) ; // remove $('#point-vente-'+id_pv+' .btn-remove').unbind('click').click(function() { var id_commande = $(this).data('id-commande') ; $(this).attr('disabled', 'disabled') ; $.get('index.php',{ r: 'commande/ajax-delete', date: $('#date-production').val(), id_commande: id_commande }, function(data) { $('#point-vente-'+id_pv+' .btn-remove').removeAttr('disabled') ; if($('#point-vente-'+id_pv+' .liste-commandes li').size()) { if($('#point-vente-'+id_pv+' .liste-commandes li:last-child a').is('.active')) { var commande_next = $('#point-vente-'+id_pv+' .liste-commandes a.active').parent().prev().find('a') ; } else { var commande_next = $('#point-vente-'+id_pv+' .liste-commandes a.active').parent().next().find('a') ; } $('#point-vente-'+id_pv+' .liste-commandes a.active').parent().remove() ; if($('#point-vente-'+id_pv+' .liste-commandes li').size()) { chat_index_commandes_affiche_commande(commande_next.data('id-commande')) ; } else { $('#point-vente-'+id_pv+' .liste-commandes').hide() ; $('#point-vente-'+id_pv+' .creer-commande').trigger('click') ; } } chat_index_commandes_maj_recap_pv(id_pv, data.total_pv) ; chat_index_commandes_maj_total_commandes() ; chat_alert('success','Commande supprimée') ; }, 'json') ; }); // cancel $('#point-vente-'+id_pv+' .btn-cancel').unbind('click').click(function() { $('#point-vente-'+id_pv+' .buttons-edit-remove').show() ; $('#point-vente-'+id_pv+' .buttons-save-cancel').hide() ; chat_index_commandes_affiche_commande($(this).data('id-commande')) ; }) ; // save $('#point-vente-'+id_pv+' .btn-save').unbind('click').click(function() { var tab_produits = {} ; var cpt_produits = 0 ; $('#point-vente-'+id_pv+' .table-produits tr').each(function() { tab_produits[$(this).data('id-produit')] = $(this).find('.quantite').val() ; if($(this).find('.quantite').val()) cpt_produits ++ ; }) ; if(cpt_produits) { // création if($(this).hasClass('is-create')) { if($('#point-vente-'+id_pv+' .user-id').val() || $('#point-vente-'+id_pv+' .username').val().length) { $(this).attr('disabled', 'disabled') ; $.get('index.php',{ r: 'commande/ajax-create', date: $('#date-production').val(), id_pv: id_pv, id_user: $('#point-vente-'+id_pv+' .user-id').val(), username: $('#point-vente-'+id_pv+' .username').val(), produits: JSON.stringify(tab_produits) }, function(data) { $('#point-vente-'+id_pv+' .btn-save').removeAttr('disabled') ; $('#point-vente-'+id_pv+' .btn-save').removeClass('is-create') ; $('#point-vente-'+id_pv+' .liste-commandes').append(data.commande) ; chat_index_commandes_points_vente() ; chat_index_commandes_maj_recap_pv(id_pv, data.total_pv) ; $('#point-vente-'+id_pv+' .buttons-edit-remove').show() ; $('#point-vente-'+id_pv+' .buttons-save-cancel').hide() ; $('#point-vente-'+id_pv+' .btn-create').removeClass('is-create') ; $('#point-vente-'+id_pv+' .user-id').val(0) ; $('#point-vente-'+id_pv+' .user-id').val('') ; chat_index_commandes_affiche_commande(data.id_commande) ; chat_alert('success', 'Commande créée') ; }, 'json') ; } else { chat_alert('danger', 'Veuillez choisir ou saisir un nom d\'utilisateur') ; } } // modification else { var id_commande = $(this).data('id-commande') ; $(this).attr('disabled', 'disabled') ; $.get('index.php',{ r: 'commande/ajax-update', id_commande: id_commande, produits: JSON.stringify(tab_produits), date: $('#date-production').val() }, function(data) { $('#point-vente-'+id_pv+' .btn-save').removeAttr('disabled') ; $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+']').data('commande',data.json_commande); $('#point-vente-'+id_pv+' a[data-id-commande='+id_commande+'] .montant').html(data.total_commande) ; chat_index_commandes_affiche_commande(id_commande) ; chat_index_commandes_maj_recap_pv(id_pv, data.total_pv) ; $('#point-vente-'+id_pv+' .buttons-edit-remove').show() ; $('#point-vente-'+id_pv+' .buttons-save-cancel').hide() ; chat_alert('success','Commande modifiée') ; }, 'json') ; } } else { chat_alert('danger', 'Veuillez saisir au moins un produit') ; } chat_index_commandes_maj_total_commandes() ; }) ; // create $('.creer-commande').unbind('click').click(function() { var id_pv = $(this).data('pv-id') ; $('#point-vente-'+id_pv+' .liste-commandes a.active').removeClass('active') ; $('#point-vente-'+id_pv+' .tr-total').hide() ; $('#point-vente-'+id_pv+' .buttons-edit-remove').hide() ; $('#point-vente-'+id_pv+' .the-title').hide() ; $('#point-vente-'+id_pv+' .buttons-save-cancel').show() ; $('#point-vente-'+id_pv+' .choix-user').show() ; $('#point-vente-'+id_pv+' .choix-user .user-id').val(0) ; $('#point-vente-'+id_pv+' .choix-user .username').val('') ; $('#point-vente-'+id_pv+' .commentaire').hide() ; $('#point-vente-'+id_pv+' .btn-save').addClass('is-create'); if($('#point-vente-'+id_pv+' .liste-commandes li').size() == 0) { $('#point-vente-'+id_pv+' .btn-cancel').hide() ; } else { $('#point-vente-'+id_pv+' .btn-cancel').show() ; } chat_index_commandes_inputs_commande(id_pv, false) ; $('#point-vente-'+id_pv+' .title-user').show() ; }) ; }) ; $('#commandes-points-vente .liste-commandes').each(function() { $(this).find('a:first').trigger('click') ; }) ; } function chat_index_commandes_maj_total_commandes() { $.get('index.php',{ r: 'commande/ajax-total-commandes', date: $('#date-production').val() }, function(data) { $('#bloc-totaux').html(data.html_totaux) ; }, 'json') ; } function chat_index_commandes_maj_recap_pv(id_pv, total) { $('#point-vente-'+id_pv+' .recap-pv .recettes').html(total) ; var nb_commandes = $('#point-vente-'+id_pv+' .liste-commandes li').size() ; if(nb_commandes == 0) { $('#point-vente-'+id_pv+' .recap-pv .commandes').html('Aucune commande') ; $('#point-vente-'+id_pv+' .recap-pv .recettes').hide() ; } else if(nb_commandes == 1) { $('#point-vente-'+id_pv+' .recap-pv .commandes').html('1 commande') ; $('#point-vente-'+id_pv+' .recap-pv .recettes').show() ; } else { $('#point-vente-'+id_pv+' .recap-pv .commandes').html(nb_commandes+' commandes') ; $('#point-vente-'+id_pv+' .recap-pv .recettes').show() ; } $('#btn-point-vente-'+id_pv+' .badge').html(nb_commandes) ; } function chat_index_commandes_inputs_commande(id_pv, use_quantite) { $('#point-vente-'+id_pv+' .table-produits tr').each(function() { var quantite = '' ; if(use_quantite) quantite = $(this).find('.td-commande').html() ; var id_produit = $(this).data('id-produit') ; $(this).find('.td-commande').html('
'+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ '
') ; }) ; // plus / moins chat_btn_plus_moins() ; } function chat_btn_plus_moins() { $('.btn-plus').each(function() { $(this).click(function() { var input = $(this).parent().parent().find('input') ; var value = input.val() ; if(value) value ++ ; else value = 1 ; input.val(value) ; }) ; }) ; $('.btn-moins').each(function() { $(this).click(function() { var input = $(this).parent().parent().find('input') ; var value = input.val() ; if(value && value > 1) value -- ; else value = '' ; input.val(value) ; }) ; }) ; } function chat_index_commandes_affiche_commande(id_commande) { var link = $("a[data-id-commande="+id_commande+"]") ; var id_pv = link.data('pv-id') ; $('#point-vente-'+id_pv+' .liste-commandes a').removeClass('active') ; link.addClass('active') ; // set id_commande $('#point-vente-'+id_pv+' .btn-cancel').data('id-commande',id_commande) ; $('#point-vente-'+id_pv+' .btn-save').data('id-commande',id_commande) ; $('#point-vente-'+id_pv+' .btn-remove').data('id-commande',id_commande) ; $('#point-vente-'+id_pv+' .btn-create').removeClass('is-create') ; $('#point-vente-'+id_pv+' .buttons-edit-remove').show() ; $('#point-vente-'+id_pv+' .buttons-save-cancel').hide() ; $('#point-vente-'+id_pv+' .choix-user').hide() ; $('#point-vente-'+id_pv+' .the-title').show() ; $('#point-vente-'+id_pv+' .td-commande').html('') ; $('#point-vente-'+id_pv+' .td-total').html('') ; $('#point-vente-'+id_pv+' tr').removeClass('active') ; var commande = link.data('commande') ; if(!$.isPlainObject(link.data('commande'))) { commande = JSON.parse(link.data('commande')) ; } $.each(commande.produits, function(i, item) { $('#point-vente-'+id_pv+' .produit-'+i+' .td-commande').html(item) ; $('#point-vente-'+id_pv+' .produit-'+i).addClass('active') ; }) ; $('#point-vente-'+id_pv+' .td-total').html(''+commande.montant+' €') ; $('#point-vente-'+id_pv+' .tr-total').show() ; var commentaire = link.data('commentaire') ; if(commentaire) { $('#point-vente-'+id_pv+' .commentaire').html(commentaire).show() ; } else { $('#point-vente-'+id_pv+' .commentaire').hide() ; } $('#point-vente-'+id_pv+' .title-user span.the-title').html(link.find('.user').html()+" "+link.data('date')+"") ; $('#point-vente-'+id_pv+' .title-user').show() ; $('#point-vente-'+id_pv+' .tr-total').show() ; } function chat_index_commandes_liste_produits() { $('#produits-production .td-max input').click(function() { $(this).select() ; }) ; $('#produits-production .td-actif input').change(function() { if($(this).prop('checked')) { $(this).parent().parent().addClass('active') ; } else { $(this).parent().parent().removeClass('active(') ; } }) ; } function chat_alert(type, message) { var id = 'alert-'+$('#alerts-fixed .alert').size() + 1 ; $('#alerts-fixed').append('
'+message+'
') ; setTimeout('$("#'+id+'").fadeOut();',3000) ; } function chat_ordre_produits() { var fixHelper = function(e, ui) { ui.children().each(function() { $(this).width($(this).width()); }); return ui; }; $(".produit-index table tbody").sortable({ items: "> tr", appendTo: "parent", cursor: "move", placeholder: "ui-state-highlight", handle: '.btn-order', //helper: "clone" helper: fixHelper, stop: function(event, ui) { var tab_ordre = {} ; var ordre = 1 ; $(".produit-index table tbody tr").each(function() { tab_ordre[$(this).attr('data-key')] = ordre ; ordre++ ; }) ; console.log(tab_ordre) ; $.get('index.php',{ r: 'produit/ordre', tab: JSON.stringify(tab_ordre) }) ; } }).disableSelection(); } function chat_email_masse() { $('#ids-users .label').click(function() { if($(this).hasClass('label-default')) { $(this).removeClass('label\-default') ; $(this).addClass('label-danger') ; } else if($(this).hasClass('label-danger')) $(this).removeClass('label-danger').addClass('label-default') ; }) ; $('#email-masse-form button[type=submit]').click(function() { $(this).attr('disabled','disabled').html('Envoyer ...') ; chat_email_masse_send() ; return false ; }) ; } function chat_email_masse_send() { var user = $('#ids-users .label-default:first') ; if(user.size()) { $('input[name=id_user]').val(user.data('id')) ; $.post('index.php?r=user/mail',$('#email-masse-form').serialize(), function(retour) { user.removeClass('label-default').addClass('label-success') ; setTimeout("chat_email_masse_send()",30000) ; }) ; } else { alert('Fini !') ; } } function chat_vrac() { $('.edit-vrac').click(function() { if($('.vrac').css('display') == 'none') $('.vrac').show() ; else $('.vrac').hide() ; }) ; } function chat_datepicker() { $('.datepicker').datepicker({dateFormat:'dd/mm/yy'}) ; } function chat_calendar() { if($('#page-commande').size()) { var events = new Array ; $('ul#jours-production li').each(function() { var date = $(this).html() ; events.push({ title: 'Production', start: date, allDay: true }) ; }) ; jQuery('#calendar').fullCalendar({ header: { left:"prev,next", center: "title", //right:"month,agendaWeek,agendaDay" right:"" }, lang:"fr-fr", loading:function loading(bool) { if (bool) $('#loading').show(); else $('#loading').hide(); }, dayClick: function(date, jsEvent, view) { var url = $(location).attr('href') ; var tab_url = url.split('?') ; $(location).attr('href',tab_url[0]+'?r=commande/index&date='+date.format()); }, eventRender: function (event, element) { var dataToFind = moment(event.start).format('YYYY-MM-DD'); $("td[data-date='"+dataToFind+"']").addClass('dayWithEvent'); }, //eventBackgroundColor: '#000000', events: events, id:"calendar" }); if($('#current-date').val()) $('td[data-date='+$('#current-date').val()+']').addClass('current-date') ; } } /* French initialisation for the jQuery UI date picker plugin. */ /* Written by Keith Wood (kbwood{at}iinet.com.au), Stéphane Nahmani (sholby@sholby.net), Stéphane Raimbault */ (function( factory ) { if ( typeof define === "function" && define.amd ) { // AMD. Register as an anonymous module. define([ "../jquery.ui.datepicker" ], factory ); } else { // Browser globals factory( jQuery.datepicker ); } }(function( datepicker ) { datepicker.regional['fr'] = { closeText: 'Fermer', prevText: 'Précédent', nextText: 'Suivant', currentText: 'Aujourd\'hui', monthNames: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'], monthNamesShort: ['janv.', 'févr.', 'mars', 'avril', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'], dayNames: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'], dayNamesShort: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'], dayNamesMin: ['D','L','M','M','J','V','S'], weekHeader: 'Sem.', dateFormat: 'dd/mm/yy', firstDay: 1, isRTL: false, showMonthAfterYear: false, yearSuffix: ''}; datepicker.setDefaults(datepicker.regional['fr']); return datepicker.regional['fr']; }));