This commit is contained in:
2021-08-03 08:15:30 +02:00
13 changed files with 272 additions and 26 deletions

View File

@@ -109,7 +109,7 @@
<span class="info-box-icon"><i class="glyphicon glyphicon-file"></i></span>
<div class="info-box-content">
<span class="info-box-number">DEVIS</span>
<span class="info-box-text">EN ATTENTE </span>
<span class="info-box-text">EN COURS </span>
<span class="info-box-number"><span class="badge bg-PE">${nb_de_restants.nb_PE}</span>
<span class="badge bg-ME">${nb_de_restants.nb_ME}</span>
<span class="badge bg-PL">${nb_de_restants.nb_PL}</span></span>

View File

@@ -64,14 +64,14 @@
<p>Dernière modif. le <b>${entete.DATEMAJ.strftime('%d/%m/%Y à %H:%M')}</b> par <b>${entete.USERMAJ}</b></p>
<p>
<a class="btn btn-warning" role="button" href="#"
data-toggle="modal" data-target="#confirmCloture"><span class="glyphicon glyphicon-check"></span> Modif. statut</a>
data-toggle="modal" data-target="#confirmCloture" tal:condition="access > 0"><span class="glyphicon glyphicon-check"></span> Modif. statut</a>
</p>
</div>
</div>
</div> <!-- row -->
<!-- ENTETE entete -->
<table class="table table-bordered table-condensed">
<table class="table table-bordered table-condensed" tal:condition="access > 0">
<tr class="well">
<th class="text-right">Total HT</th>
<th class="text-right">Total TVA</th>
@@ -98,9 +98,9 @@
<tr tal:repeat="detail details">
<td>${detail.REF}</td>
<td>${detail.LIB}</td>
<td class="text-right">${layout.to_euro(detail.QTE)}</td>
<td class="text-right">${layout.to_euroz(detail.PRIXHT)}</td>
<td class="text-right">${layout.to_euroz(detail.MTHT)}</td>
<td class="text-right">${detail.QTE}</td>
<td class="text-right"><span tal:condition="access > 0">${layout.to_euroz(detail.PRIXHT)}</span></td>
<td class="text-right"><span tal:condition="access > 0">${layout.to_euroz(detail.MTHT)}</span></td>
<td class="text-center">${detail.USERMAJ}</td>
</tr>
</table>
@@ -133,13 +133,12 @@
<div class="row">
<label class="control-label col-xs-4" for="motif">Motif :</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="motif" name="motif" value=""
placeholder="65 caractères maximum"
data-fv-notempty="true"
data-fv-notempty-message="Veuillez remplir un motif"
data-fv-stringlength="true"
data-fv-stringlength-max="65"
data-fv-stringlength-message="65 caractères maximum"/>
<select class="form-control" id="motif" name="motif">
<option selected> </option>
<div tal:repeat="item motif">
<option>${item.code} | ${item.libelle}</option>
</div>
</select>
</div>
</div>
<br>

View File

@@ -129,7 +129,7 @@
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#tab_suivi"><b>SUIVI du DOSSIER</b></a></li>
<li tal:condition="access > 0">
<li>
<a data-toggle="tab" href="#tab_documents"><b>DEVIS - FACTURES</b></a></li>
<li tal:condition="access > 0">
<a data-toggle="tab" href="#tab_attaches"><b>DOCUMENTS ATTACHES</b></a></li>
@@ -209,7 +209,7 @@
</td>
<td>${detail.date.strftime('%d-%m-%Y')}</td>
<td>${detail.nomcli}</td>
<td class="text-right">${layout.to_euro(detail.montant)}</td>
<td class="text-right"><span tal:condition="access > 0">${layout.to_euro(detail.montant)}</span></td>
<td class="text-center">${detail.status}</td>
</tr>
</table>
@@ -343,13 +343,12 @@
<div class="row">
<label class="control-label col-xs-4" for="motif">Motif :</label>
<div class="col-xs-8">
<input class="form-control" type="text" id="motif" name="motif" value=""
placeholder="65 caractères maximum"
data-fv-notempty="true"
data-fv-notempty-message="Veuillez remplir un motif"
data-fv-stringlength="true"
data-fv-stringlength-max="65"
data-fv-stringlength-message="65 caractères maximum"/>
<select class="form-control" id="motif" name="motif">
<option selected> </option>
<div tal:repeat="item motif">
<option>${item.code} | ${item.libelle}</option>
</div>
</select>
</div>
</div>
<br>

View File

@@ -37,6 +37,20 @@
</div>
</div>
<h2>Evolution du CA sur les 3 dernières années (global)</h2>
<div class="row">
<!-- camembert 1 -->
<div class="col-sm-4">
<div id="chart_ca_3y_1_x" style="width: 100%; height: 500px;"></div>
</div>
<div class="col-sm-4">
<div id="chart_ca_3y_2_x" style="width: 100%; height: 500px;"></div>
</div>
<div class="col-sm-4">
<div id="chart_ca_3y_3_x" style="width: 100%; height: 500px;"></div>
</div>
</div>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
@@ -48,6 +62,10 @@
var dataSet_ca_3y_2 = ${chart_ca_3y_2};
var dataSet_ca_3y_3 = ${chart_ca_3y_3};
var dataSet_ca_3y_1_x = ${chart_ca_3y_1_x};
var dataSet_ca_3y_2_x = ${chart_ca_3y_2_x};
var dataSet_ca_3y_3_x = ${chart_ca_3y_3_x};
function drawChart() {
var data_ca_12m = google.visualization.arrayToDataTable(dataSet_ca_12m);
@@ -55,6 +73,10 @@
var data_ca_3y_2 = google.visualization.arrayToDataTable(dataSet_ca_3y_2);
var data_ca_3y_3 = google.visualization.arrayToDataTable(dataSet_ca_3y_3);
var data_ca_3y_1_x = google.visualization.arrayToDataTable(dataSet_ca_3y_1_x);
var data_ca_3y_2_x = google.visualization.arrayToDataTable(dataSet_ca_3y_2_x);
var data_ca_3y_3_x = google.visualization.arrayToDataTable(dataSet_ca_3y_3_x);
var options_ca_12m = {
title: '${title}',
vAxis: {title: "Chiffre d'Affaires en €"},
@@ -80,6 +102,21 @@
pieHole: 0.3,
};
var options_ca_3y_1_x = {
title: '${title1}',
colors: ['gray', 'green', '#3366cc', 'purple', 'ff9900', 'dc3912'],
};
var options_ca_3y_2_x = {
title: '${title2}',
colors: ['gray', 'green', '#3366cc', 'purple', 'ff9900', 'dc3912'],
};
var options_ca_3y_3_x = {
title: '${title3}',
colors: ['gray', 'green', '#3366cc', 'purple', 'ff9900', 'dc3912'],
};
var chart_ca_12m = new google.visualization.ColumnChart(document.getElementById('chart_ca_12m'));
chart_ca_12m.draw(data_ca_12m, options_ca_12m);
@@ -89,6 +126,13 @@
chart_ca_3y_2.draw(data_ca_3y_2, options_ca_3y_2);
var chart_ca_3y_3 = new google.visualization.PieChart(document.getElementById('chart_ca_3y_3'));
chart_ca_3y_3.draw(data_ca_3y_3, options_ca_3y_3);
var chart_ca_3y_1_x = new google.visualization.PieChart(document.getElementById('chart_ca_3y_1_x'));
chart_ca_3y_1_x.draw(data_ca_3y_1_x, options_ca_3y_1_x);
var chart_ca_3y_2_x = new google.visualization.PieChart(document.getElementById('chart_ca_3y_2_x'));
chart_ca_3y_2_x.draw(data_ca_3y_2_x, options_ca_3y_2_x);
var chart_ca_3y_3_x = new google.visualization.PieChart(document.getElementById('chart_ca_3y_3_x'));
chart_ca_3y_3_x.draw(data_ca_3y_3_x, options_ca_3y_3_x);
}
</script>

View File

@@ -0,0 +1,63 @@
<metal:block use-macro="main_template">
<div metal:fill-slot="content">
<br />
<div class="row">
<form method="POST" id="frm" class="form-horizontal">
<div class="form-group">
<label class="control-label col-sm-2">Societe</label>
<div class="col-sm-4">
<select class="form-control" id="societe" name="societe" onChange="$('#frm').submit()">
<tal:block tal:repeat="item societes">
<option value="${item}" tal:attributes="selected societe==item and 'selected' or None"> ${item}</option>
</tal:block>
</select>
</div>
</div>
</form>
</div>
<div class="row">
<!-- CAMENBERT DU NOMBRE DE DEVIS FACTURES -->
<div id="chart_devis_fact" style="width: 100%; height: 500px;"></div>
</div>
<div class="row">
<!-- CAMEMBERT DU NOMBRE DE FACTURES AVEC DEVIS -->
<div id="chart_fact" style="width: 100%; height: 500px;"></div>
</div>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load("current", {packages:["corechart"]});
google.charts.setOnLoadCallback(drawChart);
var dataSet_devis_fact = ${chart_devis_fact};
var dataSet_fact = ${chart_fact};
function drawChart() {
var data_devis_fact = google.visualization.arrayToDataTable(dataSet_devis_fact);
var data_fact = google.visualization.arrayToDataTable(dataSet_fact);
var options_devis_fact = {
title: '${title}',
pieHole: 0.4,
};
var options_fact = {
title: '${title}',
pieHole: 0.4,
};
var chart_devis_fact = new google.visualization.PieChart(document.getElementById('chart_devis_fact'));
chart_devis_fact.draw(data_devis_fact, options_devis_fact);
var chart_fact = new google.visualization.PieChart(document.getElementById('chart_fact'));
chart_fact.draw(data_fact, options_fact);
}
</script>
</div><!-- content -->
</metal:block>

View File

@@ -28,7 +28,12 @@
<a href="${request.application_url}/ca_clients/PE" tal:condition="access > 0">
<span class="glyphicon glyphicon-equalizer logo-warning"></span>
<h4>CA / TYPE CLIENTS</h4></a>
</div>
</div>
<div class="col-sm-3">
<a href="${request.application_url}/pourcentage_devis/PE" tal:condition="access > 0">
<span class="glyphicon glyphicon-equalizer logo-warning"></span>
<h4>POURCENTAGE DEVIS</h4></a>
</div>
</div>
</div>