Escolar Documentos
Profissional Documentos
Cultura Documentos
Onde está animais, conforme destacado em amarelo, mudar para a tabela principal;
Em tipos_classes, conforme destacado em amarelo, mudar para a tabela que vai ser montado a
quantidade e o percentual;
dashboardCST.html
<one(titles)>
<gz>menus.menu</gz> /
<gz>telas.tela</gz>
</span>
</one>
</p>
<table class="gz-box">
<tr>
<th>
<script>
</script>
</th>
</tr>
<tr>
<td>
Dashboard 1
<div id="animaisl" class="dv-pt-hdpi dv-pb-hdpi">
</div>
<canvas id="animais" style="display: block; margin: 0 auto; height: 250px; width: 900px;">
</canvas>
</div>
</td>
</tr>
</table>
</div>
<tr>
<th>
</th>
</tr>
<tr>
<tr>
<th>Categoria</th>
<th>Quantidade</th>
<th>Percentual</th>
</tr>
<for(tipos_classes)>
<tr>
<td class="gz-bold"><gz>quantidade</gz></td>
</tr>
</for>
</table>
</td>
</tr>
</table>
<tr>
<th>
Dashboard 2
Gráfico - Totalizador por categoria
</th>
</tr>
<tr>
<td>
</td>
</tr>
</table>
<div class="dv-clear">
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/chart.js@3.7.1/dist/chart.min.js"></script>
Onde está tipos_classes, mudar para a tabela que vai ser gerado a quantidade e o percentual;
dashboard.php
<?php
/**
* @see https://wtag.com.br/getz
*/
use lib\getz;
use src\model;
if (!getActiveSession($_ROOT . $_MODULE)) {
echo "<script>goTo(\"/login/1\");</script>";
} else {
if ($method == "stateRead") {
$daoFactory->beginTransaction();
$response["respondido"][0]["quantidade"] = 0;
$response["respondido"][0]["percentual"] = 0;
Dashboard 3
$response["aguardando"][0]["quantidade"] = 0;
$response["aguardando"][0]["percentual"] = 0;
$response[$response["tipos_classes"][$x]["tipos_classes.tipo_classe"]][0]["quantidade"] = 0;
$response[$response["tipos_classes"][$x]["tipos_classes.tipo_classe"]][0]["percentual"] = 0;
if ($response["animais"][$x]["tipos_classes.tipo_classe"] ==
$response["tipos_classes"][$y]["tipos_classes.tipo_classe"]) {
$response[$response["tipos_classes"][$y]["tipos_classes.tipo_classe"]][0]["quantidade"]++;
if ($response[$response["tipos_classes"][$y]["tipos_classes.tipo_classe"]][0]["quantidade"] > 0) {
$response[$response["tipos_classes"][$y]["tipos_classes.tipo_classe"]][0]["percentual"] =
modelDouble($response[$response["tipos_classes"][$y]["tipos_classes.tipo_classe"]][0]["quantidade"]
* 100 / sizeof($response["animais"]));
} else {
$response[$response["tipos_classes"][$y]["tipos_classes.tipo_classe"]][0]["percentual"] = 0;
$response["tipos_classes"][$x]["quantidade"] = $response[$response["tipos_classes"][$x]["tipos_classes.tipo_classe"]][0]["quanti
$response["tipos_classes"][$x]["percentual"] = $response[$response["tipos_classes"][$x]["tipos_classes.tipo_classe"]][0]["perce
$firstFull[9] = date("Y-m-d");
Dashboard 4
$tipos_classes = $daoFactory->getAnimaisDao()->read(
$daoFactory->close();
?>
handler.js mod/cms
function dashboardHDL() {
ext.js mod/cms
function pizzaComLegenda(id){
// All TRs
var trs = data_table.getElementsByTagName("tr");
// All TRs
tds = trs[i].getElementsByTagName("td");
Dashboard 5
value = parseFloat(tds[td_index].innerHTML);
labelValue = tds[td_index_label].children[0].innerHTML;
data[data.length] = value;
labels[labels.length] = labelValue;
total += value;
// random color
if (id == "idade") {
color = getColorIdade(i);
} else {
color = getColor(i);
}
colors[colors.length] = randomColor();
console.log("data:", data);
console.log("data:", labels);
type: 'pie',
data: {
labels: labels,
datasets: [{
data: data,
backgroundColor: colors,
borderWidth: 1
}]
},
options: {
scales: {
y: {
beginAtZero: true
}
}
});
function randomColor(){
return colors[randomIntFromInterval(0,colors.length -1)];
Dashboard 6
} let colors = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Black', 'Pink', 'darksalmon',
'#801818','#EEDC82', '#C0E8D5', '#A9B2C3'];
Resultado Final:
Dashboard 7