|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537 |
- $(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('<div class="input-group">'+
- '<span class="input-group-btn">'+
- '<button class="btn btn-default btn-moins" type="button"><span class="glyphicon glyphicon-minus"></span></button>'+
- '</span>'+
- '<input type="text" class="form-control quantite" value="'+quantite+'" name="produit_'+id_produit+'">'+
- '<span class="input-group-btn">'+
- '<button class="btn btn-default btn-plus" type="button"><span class="glyphicon glyphicon-plus"></span></button>'+
- '</span>'+
- '</div>') ;
- }) ;
-
- // 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('<span>'+commande.montant+' €</span>') ;
- $('#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()+" <small>"+link.data('date')+"</small>") ;
- $('#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('<div id="'+id+'" class="alert alert-'+type+'">'+message+'</div>') ;
- 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 <stephane.raimbault@gmail.com> */
- (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'];
-
- }));
|