ikinci temizlik tamamlandı
This commit is contained in:
@@ -0,0 +1,161 @@
|
||||
<?php
|
||||
$data = j(setting("ndtCalculation"));
|
||||
|
||||
$stats = [];
|
||||
$statsData = [];
|
||||
|
||||
foreach($data AS $d) {
|
||||
foreach($d AS $field => $value) {
|
||||
if(strpos($field, "backlog") !== false) {
|
||||
$field = str_replace("_backlog", "", $field);
|
||||
$field = strtoupper($field);
|
||||
if(!isset($stats[$field])) {
|
||||
$stats[$field] = 0;
|
||||
}
|
||||
if($value>0) {
|
||||
$stats[$field] += $value;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
foreach($stats AS $log => $value) {
|
||||
|
||||
$statsData[] = [
|
||||
'log_name' => $log,
|
||||
'val' => $value,
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$labels = implode("','",array_keys($stats));
|
||||
$datas = implode(",",array_values($stats));
|
||||
$totalCount = array_sum(array_values($stats));
|
||||
?>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<canvas class="d-none" id="ndtBacklogStats"></canvas>
|
||||
<div id="ndtBacklogChart"></div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
|
||||
<table class="table table-sm table-bordered table-striped">
|
||||
|
||||
<tr>
|
||||
<th>{{e2("Status")}}</th>
|
||||
<th>{{e2("Count")}}</th>
|
||||
<th>{{e2("%")}}</th>
|
||||
</tr>
|
||||
|
||||
<?php foreach($stats AS $label => $stat) {
|
||||
?>
|
||||
<tr>
|
||||
<td>{{$label}}</td>
|
||||
<td>{{$stat}}</td>
|
||||
<td>%{{round($stat * 100 / $totalCount, 0)}}</td>
|
||||
</tr>
|
||||
<?php
|
||||
} ?>
|
||||
|
||||
<tr>
|
||||
<th>{{e2("Total")}}</th>
|
||||
<th>{{$totalCount}}</th>
|
||||
<th>%100</th>
|
||||
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
$(() => {
|
||||
|
||||
const ndtBacklogData = <?php echo json_encode_tr($statsData) ?>;
|
||||
|
||||
$('#ndtBacklogChart').dxPieChart({
|
||||
type: 'doughnut',
|
||||
// palette: 'Pastel',
|
||||
dataSource: ndtBacklogData,
|
||||
// title: '{{e2("Spool List")}}',
|
||||
tooltip: {
|
||||
enabled: true,
|
||||
// format: 'millions',
|
||||
customizeTooltip(arg) {
|
||||
console.log(arg);
|
||||
return {
|
||||
text: `${arg.valueText} - ${(arg.percent * 100).toFixed(2)}%`,
|
||||
};
|
||||
},
|
||||
},
|
||||
legend: {
|
||||
horizontalAlignment: 'center',
|
||||
verticalAlignment: 'top',
|
||||
margin: 0,
|
||||
visible: true
|
||||
},
|
||||
export: {
|
||||
enabled: true,
|
||||
},
|
||||
series: [{
|
||||
argumentField: 'log_name',
|
||||
label: {
|
||||
visible: true,
|
||||
connector: {
|
||||
visible: true,
|
||||
},
|
||||
customizeText: function (arg) {
|
||||
|
||||
return arg.percentText;
|
||||
}
|
||||
},
|
||||
}],
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
<script>
|
||||
const ctx2 = document.getElementById('ndtBacklogStats');
|
||||
|
||||
var options = {
|
||||
tooltips: {
|
||||
enabled: true
|
||||
},
|
||||
plugins: {
|
||||
datalabels: {
|
||||
formatter: (value, ctx) => {
|
||||
|
||||
let sum = ctx.dataset._meta[0].total;
|
||||
let percentage = (value * 100 / sum).toFixed(2) + "%";
|
||||
return percentage;
|
||||
|
||||
|
||||
},
|
||||
color: '#fff',
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
new Chart(ctx2, {
|
||||
type: 'doughnut',
|
||||
data: {
|
||||
labels: ['<?php echo $labels ?>'],
|
||||
datasets: [{
|
||||
label: '# {{e2("Count")}}',
|
||||
data: [<?php echo $datas ?>],
|
||||
borderWidth: 1
|
||||
}]
|
||||
},
|
||||
options: options
|
||||
});
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user