PageSourceSearch

https://macieenligne.ci/assets/frontend/js/simulateur.js?v=2.0.1

js macieenligne.ci collected 2026-10-02 00:27:40 UTC 14,571 bytes, 392 lines download raw bytes

1//Nombre entier
2function verif_num(champ){
3  var chiffres = new RegExp('[0-9]');
4  for(x = 0; x < champ.value.length; x++){
5    verif = chiffres.test(champ.value.charAt(x));
6    if(verif == false){
7      champ.value = champ.value.substr(0,x) + champ.value.substr(x+1,champ.value.length-x+1); x--;
8    }
9  }
10}
11//Date
12$(document).ready(function(){
13  $('.datepicker').datepicker({
14    dateFormat: 'dd/mm/yy'
15  });
16  var patterns = [
17    'DD/MM/YYYY',
18  ];
19  var defaultValues = [
20    Date.now(),
21  ]
22  var isUtc = [
23    true,
24  ]
25  var options;
26  var masks = [];
27  var mask;
28  var setErrorFunction = function(isValid, input){
29    if(isValid == false){
30      input.css('border', '1px solid #DF2A10');
31    }else{
32      input.css('border', '1px solid #028618');
33    }
34  }
35  options = {
36    $el: $('#maskInput1'),
37    mask: patterns[0],
38    errorFunction: setErrorFunction,
39    defaultValue: defaultValues[0],
40    isUtc: isUtc[0]
41  }
42  mask = Mask.newMask(options);
43  masks.push(mask);
44});
45//Date fin
46$(document).on('change', '.date_deb', function(){
47  Datefinauto($(this).val());
48});
49function Datefinauto(datedeb){
50  var datasT = {datedeb:datedeb};
51  $.ajaxSetup({
52    headers: {
53      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
54    }
55  });
56  $.ajax({
57    type: 'POST',
58    data: datasT,
59    url: '/datefin',
60    success: function(response){
61      $('.date_fin').val(response);
62    }
63  });
64}
65//Saisi quantité
66$('#search').on('keyup', function(){
67  var libelle = $(this).val();
68  Resxagence(libelle);
69});
70//Liste des Reseaux agences
71function Resxagence(libelle){
72  var datasT = {libelle:libelle};
73  $.ajaxSetup({
74    headers: {
75      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
76    }
77  });
78  $.ajax({
79    type: 'POST',
80    data: datasT,
81    url: '/resxagence',
82    beforeSend: function(){
83      $('.resxagence').addClass('text-center').css('color', '#F8942F').html('<i class="fa fa-spinner fa-pulse fa-5x"></i>');
84    },
85    success: function(response){
86      $('.resxagence').removeClass('text-center').html(response);
87    }
88  });
89}
90$(document).on('click', '.modalresx', function(e){
91  e.preventDefault();
92  var id = $(this).attr('data-id');
93  $.ajax({
94    type: 'GET',
95    url: '/modalresx/'+id,
96    beforeSend: function(){
97      $('.resxagence').append('<i class="fa fa-spinner fa-pulse fa-5x" style="color:#F8942F;position: absolute;top: 0;left: 0;right: 0;margin: auto;"></i>');
98    },
99    success: function(response){
100      var splitter = response.split('*');
101      $('.fa-spinner').remove();
102      $('.headerPopup').html('Information agence');
103      var body = '<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 text-center" style="line-height: 1.5;"><b>'+ splitter[0] +'</b><br>'+ splitter[1] +'<br>'+ splitter[2] +'<br>'+ splitter[3] +'</div>';
104      $('.bodyPopup').html(body);
105      if(splitter[4] == 0){
106        var footer = '<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12" style="padding: 5px;"><a href="#" class="creation-btn btn-lg" data-dismiss="modal">Fermer</a></div>';
107      }else{
108        var footer = '<div class="col-lg-6 col-md-6 col-sm-6 col-xs-12" style="padding: 5px;"><a href="#" class="creation-btn btn-lg" data-dismiss="modal" style="padding: 7px 15px;">Fermer</a></div><div class="col-lg-6 col-md-6 col-sm-6 col-xs-12" style="padding: 5px;"><a href="'+splitter[4]+'" target="_blank" class="btn btn-modal btn-lg" style="padding: 7px 15px;">Itinéraire</a></div>';
109      }
110      $('.footerPopup').html(footer);
111      $('#popupCIE').modal('show');
112    }
113  });
114});
115//Affichage des zones
116$('.blk-simuler').on('click', function(){
117  var block = $(this).attr('class');
118  var num = $(this).attr('data-h');
119  $('.blksi1').attr('data-h', 1);
120  $('.blksi2').attr('data-h', 2);
121  $('.blk-zonetxt').css('display', 'block');
122  $('.blk-simuler').css('background', '#FFF');
123  $('.simulerBill, .simulerPower').css('display', 'none');
124  if(num != 0){
125    $(this).attr('data-h', 0);
126    $('.blk-zonetxt').css('display', 'none');
127    if(num == 1){
128      $('.blksi1').css('background', '#D3EAE6');
129      $('.simulerBill').css('display', 'block');
130    }else{
131      $('.blksi2').css('background', '#F4E2DF');
132      $('.simulerPower').css('display', 'block');
133    }
134  }
135});
136//Affichage des factures
137$('.img-bill').on('click', function(){
138  let img = 'simuler_bill.png';
139  var type = $(this).attr('alt');
140  if(type == 'codetarif'){
141    img = 'simuler_codetarif.png';
142  }
143  if(type == 'typbranch'){
144    img = 'simuler_typbranch.png';
145  }
146  if(type == 'powersubs'){
147    img = 'simuler_powersubs.png';
148  }
149  $('.img-bill').attr('src', '/assets/frontend/img/icone-info-circle1.svg');
150  $(this).attr('src', '/assets/frontend/img/icone-info-circle2.svg');
151  let src = '/assets/frontend/img/'+ img;
152  $('.bill-simuler').attr('src', src);
153});
154//Code tarif
155$.ajax({
156  type: 'GET',
157  url: '/codetarif',
158  success: function(response){
159    $('#codetarif').html(response);
160  }
161});
162//Exploitation
163$.ajax({
164  type: 'GET',
165  url: '/exploitation',
166  success: function(response){
167    $('#exploitation').html(response);
168  }
169});
170//Liste des appareils
171$(document).on('click', '.blk-img-equip', function(){
172  var id = $(this).attr('data-id');
173  $('.title-appareil, .cat_'+id).css('display', 'block');
174  $('.title-categorie, .blk-categorie').css('display', 'none');
175});
176//Nombre App
177$(document).on('keyup', '.appareil', function(){
178  var id = $(this).attr('id_cat');
179  Totalapps(id);
180});
181//Add appareils
182$(document).on('click', '.addApp', function(){
183  var count = $(this).siblings('input').val();
184  var id = $(this).siblings('input').attr('id_cat');
185  if(count == '') count = 1;
186  else count++;
187  $(this).siblings('input').val(count);
188  Totalapps(id);
189});
190//Add appareils
191$(document).on('click', '.delApp', function(){
192  var count = $(this).siblings('input').val();
193  var id = $(this).siblings('input').attr('id_cat');
194  if((count == '')||(count == 0)) count = '';
195  else count--;
196  $(this).siblings('input').val(count);
197  Totalapps(id);
198});
199function Totalapps(id){
200  var totalApp = 0;
201  $('.cat_'+id).find('.appareil').each(function(){
202    if(jQuery.trim($(this).val()) !== ''){
203      var number = $(this).val();
204      totalApp += parseInt(number);
205    }
206  });
207  var equi = 'équipement';
208  if(totalApp != 0){
209    if(totalApp > 1) var equi = 'équipements';
210    $('.ico-nbre_'+id).css('background', '#213F49').html(totalApp);
211  }else
212    $('.ico-nbre_'+id).css('background', 'none').html('');
213  $('.nbrapps_'+id).html(totalApp);
214  $('.totalapp_'+id).html('<strong>'+totalApp+'</strong> '+equi);
215  var countApp = 0;
216  $('.list-apps').find('.appareil').each(function(){
217    if(jQuery.trim($(this).val()) !== ''){
218      var number = $(this).val();
219      countApp += parseInt(number);
220    }
221    $('#totalApp').val(countApp);
222  });
223}
224//Liste des categorie
225$(document).on('click', '.addlist', function(){
226  $('.list-apps').css('display', 'none');
227  $('.blk-categorie').css('display', 'block');
228  var nbr = $('#totalApp').val();
229  if(nbr == 0) $('.btn-power').css('display', 'none');
230  else $('.btn-power').css('display', 'block');
231});
232//Vider la liste des appareils
233$(document).on('click', '.cancel', function(){
234  $('.list-apps').css('display', 'none');
235  $('.blk-categorie').css('display', 'block');
236  var totalApp = 0;
237  var id = $(this).attr('id_cat');
238  $('.cat_'+id).find('.appareil').each(function(){
239    if(jQuery.trim($(this).val()) !== ''){
240      var number = $(this).val();
241      totalApp += parseInt(number);
242      $(this).val('');
243    }
244  });
245  Totalapps(id);
246  var nbr = $('#totalApp').val();
247  if(nbr == 0) $('.btn-power').css('display', 'none');
248  else $('.btn-power').css('display', 'block');
249});
250//Vider la liste des catégorie
251$(document).on('click', '.reset', function(){
252  $('.nbrapps').html(0);
253  $('#totalApp').val(0);
254  $('.appareil').val('');
255  $('.blk-categorie').css('display', 'block');
256  $('.ico-nbre').css('background', 'none').html('');
257  $('.list-apps, .btn-power').css('display', 'none');
258  $('.totalapp').html('<strong>0</strong> équipement');
259});
260//Catégories d’appareils
261$.ajax({
262  type: 'GET',
263  url: '/listcatapps',
264  success: function(response){
265    var splitter = response.split('*');
266    $('.blk-appareil').html(splitter[2]);
267    $('.blk-categorie').html(splitter[1]);
268    $('.list-puissance').html(splitter[0]);
269  }
270});
271//Liste des Puissance souscrite
272$('.powersubs').on('change', function(){
273  var codetarif = $('#codetarif').val();
274  var typbranch = $('#typbranch').val();
275  if((codetarif != '')&&(typbranch != '')){
276    Powersubs(codetarif, typbranch);
277  }
278});
279function Powersubs(codetarif, typbranch){
280  $('#powersubs').html('');
281  var datasT = {codetarif:codetarif, typbranch:typbranch};
282  $.ajaxSetup({
283    headers: {
284      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
285    }
286  });
287  $.ajax({
288    type: 'POST',
289    data: datasT,
290    url: '/powersubs',
291    success: function(response){
292      $('#powersubs').html(response);
293    }
294  });
295}
296//Simulateur de Facture
297$('#simulerfact').on('click', function(){
298  var hasError = false;
299  var datasT = new FormData();
300  $('.msgError').css('display', 'none').html('');
301  $('.simulerfact').find('input, select').each(function(){
302    datasT.append(this.name, $(this).val());
303  });
304  $('.fieldError').removeClass('fieldError');
305  $('.simulerfact .requiredField').each(function(){
306    if(jQuery.trim($(this).val()) === ''){
307      $(this).addClass('fieldError');
308      $('.msgError').css({'display':'block', 'margin-top':'10px'}).html('Veuillez renseigner les champs obligatoires.');
309      hasError = true;
310    }
311  });
312  if(!hasError){
313    $('.simulerfact .number').each(function(){
314      var regex = /^[0-9\s]*$/;
315      if((jQuery.trim($(this).val()) !== '')&&(!regex.test($(this).val()))){
316        $(this).addClass('fieldError');
317        var msgError = $(this).attr('placeholder');
318        $('.msgError').css({'display':'block', 'margin-top':'10px'}).html(msgError +' non valide.');
319        hasError = true;
320        return false;
321      }
322    });
323  }
324  if(!hasError){
325    $.ajaxSetup({
326      headers: {
327        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
328      }
329    });
330    $.ajax({
331      type: 'POST',
332      data: datasT,
333      contentType: false, 
334      processData: false,
335      url: '/simulerfact',
336      beforeSend: function(){
337        $('#simulerfact').addClass('not-active').val('Patienter...');
338      },
339      success: function(response){
340        var splitter = response.split('*');
341        if(splitter[0] == 'success'){
342          var body = '<div class="col-md-5"><h5>'+ splitter[1] +' '+ splitter[2] +'</h5><p>'+ splitter[3] +' kWh<br><span>(Ancien index)</span></p></div><div class="col-md-2"></div><div class="col-md-5"><h5>'+ splitter[4] +' '+ splitter[5] +'</h5><p>'+ splitter[6] +' kWh<br><span>(Nouvel index)</span></p></div><div style="text-align: left; margin-left: 15px; font-size: 13px;color: #000;"><strong>Consommation</strong></div><div class="conso">'+ splitter[7] +' kWh</div><div style="text-align: left; margin-left: 15px; font-size: 13px;color: #000; margin-top: 8px;"><strong>Montant</strong></div><div class="conso" style="color: #009C80">'+ splitter[8] +' F CFA</div>';
343            $('.simulerfact-body').html(body);
344            $('.simulerfact-popup').trigger('click');
345        }else{
346          $('.msgError').css({'display':'block', 'margin-top':'10px'}).html(response);
347        }
348        $('#simulerfact').removeClass('not-active').val('Simuler');
349      }
350    });
351  }
352});
353//Simulateur de Puissance
354$(document).on('click', '.submitpower', function(){
355  var i = 0;
356  var selectAapp = [];
357  $('.blk-appareil .appareil').each(function(){
358    if(jQuery.trim($(this).val()) !== ''){
359      if($(this).val() != 0){
360        selectAapp.push({'id':$(this).attr('id_app'), 'power':$(this).attr('data-power'), 'number':$(this).val()});
361        i++;
362      }
363    }
364  });
365  if(i !== 0){
366    $.ajaxSetup({
367      headers: {
368        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
369      }
370    });
371    var datasT = {appareil:selectAapp};
372    $.ajax({
373      type: 'POST',
374      data: datasT,
375      url: '/simulerpower',
376      beforeSend: function(){
377        $('.submitpower').addClass('not-active').val('Patienter...');
378      },
379      success: function(response){
380        var splitter = response.split('*');
381        if(splitter[0] == 'success'){
382          var body = '<div class="col-lg-6 col-md-6 col-sm-6 col-xs-12" style="margin-bottom: 30px;"><div style="text-align: left; margin-left: 15px; font-size: 13px;color: #000; margin-top: 8px;"><strong>Type de branchement</strong></div><div class="conso" style="color: #009C80">'+ splitter[1] +'</div></div><div class="col-lg-6 col-md-6 col-sm-6 col-xs-12" style="margin-bottom: 30px;"><div style="text-align: left; margin-left: 15px; font-size: 13px;color: #000; margin-top: 8px;"><strong>Avance sur consommation</strong></div><div class="conso" style="color: #009C80">'+ splitter[2] +' F CFA</div></div><div class="col-lg-6 col-md-6 col-sm-6 col-xs-12"><div style="text-align: left; margin-left: 15px; font-size: 13px;color: #000;"><strong>Puissance totale</strong></div><div class="conso" style="font-weight: normal;"><strong>'+ splitter[3] +'</strong> kWh <strong>-------- '+ splitter[4] +'</strong> A</div></div><div class="col-lg-6 col-md-6 col-sm-6 col-xs-12"><div style="text-align: left; margin-left: 15px; font-size: 13px;color: #000;"><strong>Puissance conseillée</strong></div><div class="conso" style="font-weight: normal;"><strong>'+ splitter[5] +'</strong> kWh <strong>-------- '+ splitter[6] +'</strong> A</div></div><div class="col-lg-12 col-md-12 col-sm-12 col-xs-12" style="padding: 30px;text-align: justify;">Le résultat de cette simulation est non contractuel. Il revêt un caractère strictement informatif.<ul class="list icon-list dot-list"><li><i class="fa fa-circle"></i>Le montant indiqué ne prend pas en compte le coût du branchement.</li><li style="line-height: normal;"><i class="fa fa-circle"></i>Si votre puissance est supérieure ou égale à 30 A, vous avez la possibilité de souscrire à un branchement de type Triphasé. Rendez-vous en agence pour plus d’informations.</li><li><i class="fa fa-circle"></i>L’avance sur consommation n’est pas exigé pour les clients prépayés</li><li>&nbsp;</li></ul></div>';
383            $('.simulerpower-body').html(body);
384            $('.simulerpower-popup').trigger('click');
385        }else{
386          $('.msgError').css({'display':'block', 'margin-top':'10px'}).html(response);
387        }
388        $('.submitpower').removeClass('not-active').val('Simuler');
389      }
390    });
391  }
392});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.