clqms-server/app/Views/prodinst_detail.php
2025-08-15 09:45:16 +07:00

112 lines
2.4 KiB
PHP

<?= $this->extend('layouts/main.php') ?>
<?= $this->section('content') ?>
<?php
$prodinstname = $prodinst[0]['prodinstname'];
$testpermonth = number_format($testcount / ( $days/30 ));
?>
<main id="main" class="main">
<div class="pagetitle">
<h1><?=$prodinstname;?></h1>
</div>
<div class='row'>
<div class="col-xxl-3 col-md-4">
<div class="card info-card sales-card">
<div class="card-body">
<h5 class="card-title">Test Count</h5>
<div class="d-flex align-items-center">
<div class="ps-3">
<h3><?=$testcount;?></h3>
<span>Total test</span>
</div>
</div>
</div>
</div>
</div>
<div class="col-xxl-3 col-md-4">
<div class="card info-card sales-card">
<div class="card-body">
<h5 class="card-title">Test Count (avg)</h5>
<div class="d-flex align-items-center">
<div class="ps-3">
<h3><?=$testpermonth;?></h3>
<span>Test per month</span>
</div>
</div>
</div>
</div>
</div>
<div class="col-xxl-3 col-md-4">
<div class="card info-card sales-card">
<div class="card-body">
<h5 class="card-title">Total Days</h5>
<div class="d-flex align-items-center">
<div class="ps-3">
<h3><?=$days;?></h3>
<span>Days</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card">
<div class="card-body">
<div class='card-title d-flex'>
<h5><b>Detail</b></h5>
</div>
First data : <?=$firstdate;?><br/>
Last data : <?=$lastdate;?><br/>
<div> <canvas id="myChart"></canvas> </div>
</div>
</div>
</main>
<?= $this->endSection() ?>
<?= $this->section('script') ?>
<?php
// chart data
function monthNumberToName($monthNumber) {
return date('F', mktime(0, 0, 0, $monthNumber, 1));
}
$months = '';
$countpm = '';
foreach($counts as $data) {
$qmonth = $data['month'];
$monthname = monthNumberToName($qmonth);
$months .= "'$monthname',";
$qcount = $data['count'];
$countpm .= "$qcount,";
}
$months = rtrim($months,',');
$countpm = rtrim($countpm,',');
?>
<script>
const ctx = document.getElementById('myChart');
new Chart(ctx, {
type: 'bar',
data: {
labels: [ <?=$months;?> ],
datasets: [{
label: '# of Tests',
data: [ <?=$countpm;?> ],
borderWidth: 1
}]
},
options: {
scales: {
y: {
beginAtZero: true
}
}
}
});
</script>
<?= $this->endSection() ?>