templates/admin/mini_statistic.html.twig line 1

Open in your IDE?
  1. <div class="container">    
  2.     <div class="row">
  3.         <div class="col-md-4">
  4.             <div class="assie-card-dash-green">
  5.                 <div class="assie-card-body">
  6.                     <h4 class="text-center">{{ 'admin.statistiques.recette' | trans }}</h4>
  7.                     <hr/>
  8.                     <h4 class="text-center">{{ 'admin.statistiques.vendu' | trans }}: {{ chiffreDAffaireDUnePeriode | number_format(0, '', ' ') }} </h4>
  9.                     <h4 class="text-center">{{ 'admin.statistiques.paye' | trans }}: {{ paiementDUnePeriode | number_format(0, '', ' ') }} </h4>
  10.             
  11.                 </div>
  12.             </div>
  13.         </div>
  14.         <div class="col-md-4">
  15.             <div class="assie-card-dash-orange">
  16.                 <div class="assie-card-body">
  17.                     <h3 class="text-center">{{ 'admin.depenses' | trans }}</h3>
  18.                     <hr/>
  19.                     <h3 class="text-center">{{ totalDepenseParDate | number_format(0, '', ' ') }}</h3>
  20.                     <br/>
  21.                 </div>
  22.             </div>
  23.         </div>
  24.         <div class="col-md-4">
  25.             <div class="assie-card-dash-blue">
  26.                 <div class="assie-card-body">
  27.                     <h4 class="text-center">{{ 'admin.solde_timbre_fne' | trans }}</h4>
  28.                     <hr/>
  29.                     <h3 class="text-center">{{ soldeTimbreFNE | number_format(0, '', ' ') }}</h3>
  30.                     <br/>
  31.                 </div>
  32.             </div>
  33.         </div>
  34.     </div>
  35.     <br>
  36.     <div class="row">
  37.         <div class="col-md-4">
  38.             <div class="assie-card-dash-black">
  39.                 <div class="assie-card-body">
  40.                     <h4 class="text-center">{{  'admin.third.label' | trans }}</h4>
  41.                     <hr/>
  42.                     <h3 class="text-center">
  43.                         {% for nb in nombreTiers %}
  44.                                 {{ nb.nombreTotal | number_format(0, '', ' ') }}
  45.                             {% endfor %}
  46.                     </h3>
  47.                 </div>
  48.             </div>
  49.         </div>
  50.         <div class="col-md-4">
  51.             <div class="assie-card-dash-yellow">
  52.                 <div class="assie-card-body">
  53.                     <h4 class="text-center">{{  'admin.products' | trans }}</h4>
  54.                     <hr/>
  55.                     <h3 class="text-center">
  56.                         {% for nb in nombreProduit %}
  57.                                 {{ nb.nombreTotal| number_format(0, '', ' ') }}
  58.                         {% endfor %}
  59.                     </h3>
  60.                 </div>
  61.             </div>
  62.         </div>
  63.         <div class="col-md-4">
  64.             <div class="assie-card-dash-green">
  65.                 <div class="assie-card-body">
  66.                     <h4 class="text-center">{{  'admin.proposals' | trans }}</h4>
  67.                     <hr/>
  68.                     <h3 class="text-center">
  69.                         {% for nb in nombreProduit %}
  70.                                 {{ devisPeriodique | number_format(0, '', ' ') }}
  71.                         {% endfor %}
  72.                     </h3>
  73.                 </div>
  74.             </div>
  75.         </div>
  76.     
  77.     </div>
  78. </div>
  79. <br/>
  80. <br/>
  81.      <div class="wrapper-accueil" id="contenu-propre-espace-de-travail">
  82.         <div class="container-fluid">
  83.             <div class="row">  
  84.              
  85.             </div>
  86.             <div class="row">
  87.                 <div class="col-lg-12 grid-margin stretch-card">
  88.                     <div class="card">
  89.                       <div class="card-body">
  90.                         <h4 class="card-title">{{ 'admin.order_per_month' | trans  }}</h4>
  91.                             {% for cm in commandParMois %}
  92.                                 <span hidden class="commande-par-mois">{{ cm.totalTTC }}</span>
  93.                                 <span hidden class="commande-par-mois-mois">{{ cm.mois }}</span>
  94.                                 <span hidden class="commande-par-mois-paye">{{ cm.montantPaye }}</span>
  95.                             {% endfor %}
  96.                         <canvas id="commandeParMois" style="height:230px"></canvas>
  97.                       </div>
  98.                     </div>
  99.                 </div>
  100.                 <div class="col-lg-12 grid-margin stretch-card">
  101.                     <div class="card">
  102.                       <div class="card-body">
  103.                         <h4 class="card-title">{{ 'admin.order_over_several_years' | trans }}</h4>
  104.                             {% for ca in chiffreDAffaireSurPlsAnnees %}
  105.                                 <span  hidden class="chiffre-affaire">{{ ca.totalTTC }}</span>
  106.                                 <span hidden class="chiffre-affaire-annee">{{ ca.annee }}</span>
  107.                                 <span hidden class="chiffre-affaire-paye">{{ ca.montantPaye }}</span>
  108.                             {% endfor %}
  109.                         <canvas id="commandeSurPlusieursAnnee" style="height:250px"></canvas>
  110.                       </div>
  111.                     </div>
  112.                 </div>
  113.             </div>
  114.         </div>
  115.     </div>
  116.     
  117.     {#<script type="text/javascript" src="{{ asset('assets/js/ab.min.js') }}"></script>#}
  118.   <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.bundle.min.js" integrity="sha512-SuxO9djzjML6b9w9/I07IWnLnQhgyYVSpHZx0JV97kGBfTIsUYlWflyuW4ypnvhBrslz1yJ3R+S14fdCWmSmSA==" crossorigin="anonymous"></script>
  119.     <script>
  120.             var commandeParMois = document.querySelectorAll('.commande-par-mois');
  121.             
  122.             var commandeParMoisMois = document.querySelectorAll('.commande-par-mois-mois');
  123.             var commandeParMoisPaye  = document.querySelectorAll('.commande-par-mois-paye');
  124.             var commandeSurPlusieursAnnee = document.querySelectorAll('.chiffre-affaire');
  125.             var commandeSurPlusieursAnneeAnnee = document.querySelectorAll('.chiffre-affaire-annee');
  126.             var commandeSurPlusieursPaye = document.querySelectorAll('.chiffre-affaire-paye');
  127.             
  128.             var commandeParMoisData = [], commandeParMoisDataLabel = [], commandeParMoisPayeData = [];
  129.             for (var i = 0; i < commandeParMois.length; i++){
  130.                 commandeParMoisData[i] = commandeParMois[i].innerHTML ;
  131.                 
  132.             }
  133.             
  134.             for (var i = 0; i < commandeParMoisMois.length; i++){
  135.                 const rangMois = commandeParMoisMois[i].innerHTML.substring(0, 2) - 1;
  136.                 const laDate = new Date(commandeParMoisMois[i].innerHTML.substring(2), rangMois, 1);
  137.                 const leMois = laDate.toLocaleString('default', { month: 'long' });
  138.     
  139.                 commandeParMoisDataLabel[i] = leMois ;
  140.             }
  141.             
  142.             for(var i = 0; i < commandeParMoisPaye.length; i++){
  143.                 commandeParMoisPayeData[i]  = commandeParMoisPaye[i].innerHTML ;
  144.             }
  145.             
  146.             
  147.             /*
  148.             'rgba(255, 99, 132, 0.2)',
  149.                             'rgba(54, 162, 235, 0.2)',
  150.                             'rgba(255, 206, 86, 0.2)',
  151.                             'rgba(75, 192, 192, 0.2)',
  152.                             'rgba(153, 102, 255, 0.2)',
  153.                             'rgba(255, 159, 64, 0.2)'*/
  154.             var ctx = document.getElementById('commandeParMois').getContext('2d');
  155.             var commandeParMoisChart = new Chart(ctx, {
  156.                 type: 'bar',
  157.                 data: {
  158.                     labels: commandeParMoisDataLabel,
  159.                     datasets: [
  160.                         
  161.                         {
  162.                         label: 'Ventes:',
  163.                         //data: [12, 19, 3, 5, 2, 3],
  164.                         data: commandeParMoisData,
  165.                         backgroundColor: [
  166.                             
  167.                             'rgb(58, 124, 165)',
  168.                             'rgb(58, 124, 165)',
  169.                             'rgb(58, 124, 165)',
  170.                             'rgb(58, 124, 165)',
  171.                             'rgb(58, 124, 165)',
  172.                             'rgb(58, 124, 165)',
  173.                             'rgb(58, 124, 165)',
  174.                             'rgb(58, 124, 165)',
  175.                             'rgb(58, 124, 165)',
  176.                             'rgb(58, 124, 165)',
  177.                             'rgb(58, 124, 165)',
  178.                             'rgb(58, 124, 165)',
  179.                         ],
  180.                         borderColor: [
  181.                             'rgba(58, 124, 165, 1)',
  182.                         ],
  183.                         borderWidth: 2
  184.                     },
  185.                     {
  186.                         label: 'Montant payĆ©',
  187.                         data: commandeParMoisPayeData,
  188.                         backgroundColor: [
  189.                             
  190.                             'rgb(102, 187, 106)',
  191.                             'rgb(102, 187, 106)',
  192.                             'rgb(102, 187, 106)',
  193.                             'rgb(102, 187, 106)',
  194.                             'rgb(102, 187, 106)',
  195.                             'rgb(102, 187, 106)',
  196.                             'rgb(102, 187, 106)',
  197.                             'rgb(102, 187, 106)',
  198.                             'rgb(102, 187, 106)',
  199.                             'rgb(102, 187, 106)',
  200.                             'rgb(102, 187, 106)',
  201.                             'rgb(102, 187, 106)',
  202.                         ],
  203.                         borderColor: [
  204.                             'rgba(102, 187, 106, 1)',
  205.                         ],
  206.                         borderWidth: 2
  207.                     }
  208.                     ]
  209.                 },
  210.                 options: {
  211.                     scales: {
  212.                         yAxes: [{
  213.                             ticks: {
  214.                                 beginAtZero: true
  215.                             }
  216.                         }]
  217.                     }
  218.                 }
  219.             });
  220.             
  221.             var commandeSurPlusieursAnneeData = [], commandeSurPlusieursAnneeDataLabel = [], commandeSurPlusieursPayeData = [];
  222.             for (var i = 0; i < commandeSurPlusieursAnnee.length; i++){
  223.                 commandeSurPlusieursAnneeData[i] = commandeSurPlusieursAnnee[i].innerHTML ;
  224.             }
  225.             
  226.             for (var i = 0; i < commandeSurPlusieursAnneeAnnee.length; i++){    
  227.                 
  228.                 const laDate = new Date(commandeSurPlusieursAnneeAnnee[i].innerHTML.substring(2));
  229.                 const leMois = laDate.toLocaleString('default', { year: 'long' });
  230.     
  231.                 commandeSurPlusieursAnneeDataLabel[i] = commandeSurPlusieursAnneeAnnee[i].innerHTML ;
  232.             }
  233.             for(var i = 0; i < commandeSurPlusieursPaye.length; i++){
  234.                 commandeSurPlusieursPayeData[i] = commandeSurPlusieursPaye[i].innerHTML;
  235.             }
  236.             
  237.             var ctxa = document.getElementById('commandeSurPlusieursAnnee').getContext('2d');
  238.             var commandeSurPlusieursAnneeChart = new Chart(ctxa, {
  239.                 type: 'bar',
  240.                 data: {
  241.                     labels: commandeSurPlusieursAnneeDataLabel,
  242.                     datasets: [
  243.                         {
  244.                         label: 'Ventes:',
  245.                         //data: [12, 19, 3, 5, 2, 3],
  246.                         data: commandeSurPlusieursAnneeData,
  247.                         backgroundColor: [
  248.                                 'rgb(58, 124, 165)',
  249.                         ],
  250.                         borderColor: [
  251.                             'rgba(255, 99, 132, 1)',
  252.                         ],
  253.                         borderWidth: 1
  254.                     },
  255.                     {
  256.                         label: 'Montant payĆ©:',
  257.                         //data: [12, 19, 3, 5, 2, 3],
  258.                         data: commandeSurPlusieursPayeData,
  259.                         backgroundColor: [
  260.                             'rgb(102, 187, 106)',
  261.                         ],
  262.                         borderColor: [
  263.                             'rgba(255, 99, 132, 1)',
  264.                             'rgba(54, 162, 235, 1)',
  265.                             'rgba(255, 206, 86, 1)',
  266.                             'rgba(75, 192, 192, 1)',
  267.                             'rgba(153, 102, 255, 1)',
  268.                             'rgba(255, 159, 64, 1)'
  269.                         ],
  270.                         borderWidth: 1
  271.                     }
  272.                     
  273.                     
  274.                     ]
  275.                 },
  276.                 options: {
  277.                     scales: {
  278.                         yAxes: [{
  279.                             ticks: {
  280.                                 beginAtZero: true
  281.                             }
  282.                         }]
  283.                     }
  284.                 }
  285.             });
  286.             
  287.     </script>