add date on dashboard

This commit is contained in:
mahdahar 2024-12-07 09:25:13 +07:00
parent 4254ab3924
commit 532316aa76
10 changed files with 70 additions and 24 deletions

View File

@ -72,12 +72,15 @@ class Filters extends BaseFilters
'before' => [ 'before' => [
'role' => [ 'except' => [ 'role' => [ 'except' => [
'auth/*', 'setup', 'api/*' 'auth/*', 'setup', 'api/*'
]] ]],
// 'honeypot', // 'honeypot',
// 'csrf', // 'csrf',
// 'invalidchars', // 'invalidchars',
], ],
'after' => [ 'after' => [
'toolbar' => [
'except' => ['api/*', 'prints/*', 'prints/result_test/*'],
],
// 'honeypot', // 'honeypot',
// 'secureheaders', // 'secureheaders',
], ],

View File

@ -23,7 +23,7 @@ $routes->get('/', 'Auth::redirects');
$routes->get('changePass/', 'Auth::changePass'); $routes->get('changePass/', 'Auth::changePass');
// API - Dashboard // API - Dashboard
$routes->get('/api/dashboard/index', 'API_Dashboard::index'); $routes->POST('/api/dashboard/index', 'API_Dashboard::index');
// API - Tubes // API - Tubes
$routes->get('/tubes/collect/(:any)/(:any)', 'API_Tubes::collect/$1/$2'); $routes->get('/tubes/collect/(:any)/(:any)', 'API_Tubes::collect/$1/$2');
@ -80,6 +80,6 @@ $routes->group('fo', ['filter' => 'role:fo'], static function ($routes) {
}); });
// Printers // Printers
$routes->get('/prints/single_sample/(:any)/(:any)', 'PrinterController::printSingleSampleBarcode/$1/$2'); $routes->get('prints/single_sample/(:any)/(:any)', 'PrinterController::printSingleSampleBarcode/$1/$2');
$routes->get('/prints/all_sample', 'PrinterController::printAllSampleBarcode'); $routes->get('prints/all_sample', 'PrinterController::printAllSampleBarcode');
$routes->get('/prints/result_test/(:any)', 'PrinterController::printResultTest/$1'); $routes->get('prints/result_test/(:any)', 'PrinterController::printResultTest/$1');

View File

@ -119,4 +119,5 @@ class Toolbar extends BaseConfig
public array $watchedExtensions = [ public array $watchedExtensions = [
'php', 'css', 'js', 'html', 'svg', 'json', 'env', 'php', 'css', 'js', 'html', 'svg', 'json', 'env',
]; ];
} }

View File

@ -8,6 +8,8 @@ class API_Dashboard extends ResourceController {
public function index() { public function index() {
$db = \Config\Database::connect(); $db = \Config\Database::connect();
$date1 = $this->request->getPost('date1');
$date2 = $this->request->getPost('date2');
$sql = "select sr.COLLECTIONDATE, sr.SP_ACCESSNUMBER, sr.HOSTORDERNUMBER, p.PATNUMBER, p.NAME, $sql = "select sr.COLLECTIONDATE, sr.SP_ACCESSNUMBER, sr.HOSTORDERNUMBER, p.PATNUMBER, p.NAME,
TESTS=stuff(( select ', '+'('+T.SP_TESTCODE+')' from TESTS=stuff(( select ', '+'('+T.SP_TESTCODE+')' from
( select T.SP_TESTCODE from SP_TESTS T ( select T.SP_TESTCODE from SP_TESTS T
@ -49,7 +51,7 @@ end STATS
from SP_REQUESTS sr from SP_REQUESTS sr
left join PATIENTS p on p.PATID=sr.PATID left join PATIENTS p on p.PATID=sr.PATID
left join REQUESTS r on r.ACCESSNUMBER=sr.SP_ACCESSNUMBER left join REQUESTS r on r.ACCESSNUMBER=sr.SP_ACCESSNUMBER
where sr.COLLECTIONDATE between '2024-11-13 00:00' and '2024-11-21 23:59' where sr.COLLECTIONDATE between '$date1 00:00' and '$date2 23:59'
order by sr.COLLECTIONDATE desc"; order by sr.COLLECTIONDATE desc";
$query = $db->query($sql); $query = $db->query($sql);
$results = $query->getResultArray(); $results = $query->getResultArray();

View File

@ -244,7 +244,7 @@ P1
$headPage = " $headPage = "
<div id='page'> <div id='page'>
<div id='pagetop' style='height:0.01cm'> </div> <div id='pagetop' style='height:0.01cm'> </div>
<img src='http://cmod.id/assets/img/padma-header.png' class='img' /> <img src='".base_url()."assets/img/padma-header.png' class='img' />
<div id='dinfo'> <div id='dinfo'>
@ -415,7 +415,7 @@ P1
} }
public function printResultTest($access) { public function printResultTest($access) {
$data_mentah = [ $data_mentah = [
[ [
"chapter_eng" => "IMUNOLOGY 4 PANEL", "chapter_eng" => "IMUNOLOGY 4 PANEL",

View File

@ -7,6 +7,7 @@
<div class="card border-0"> <div class="card border-0">
<div class="card-body"> <div class="card-body">
Date : <input class='date1' type='date' value=''> - <input class='date2' type='date'> <button onclick='index()'>search</button> <br/>
<div class="table-responsive"> <div class="table-responsive">
<table id="myTable" class="table"> <table id="myTable" class="table">
<thead> <thead>
@ -37,13 +38,21 @@
<?= $this->section('script') ?> <?= $this->section('script') ?>
<script> <script>
let curDate = new Date().toJSON().slice(0, 10);
console.log(curDate);
$('.date1').val(curDate);
$('.date2').val(curDate);
index(); index();
function index() { function index() {
let url = '<?=base_url('');?>api/dashboard/index'; let url = '<?=base_url('');?>api/dashboard/index';
date1 = $('.date1').val();
date2 = $('.date2').val();
$.ajax({ $.ajax({
url: url, url: url,
method: 'GET', method: 'POST',
success: function(response) { data : {date1:date1, date2:date2},
success: function(response) {
/* /*
// counter // counter
*/ */
@ -73,6 +82,7 @@ function index() {
/* /*
// table // table
*/ */
$("#myTable").DataTable().destroy();
$("#table-body").html(""); $("#table-body").html("");
var data = response['data']; var data = response['data'];
for (var i = 0; i < data.length; i++) { for (var i = 0; i < data.length; i++) {

View File

@ -41,7 +41,7 @@ function index() {
let url = '<?=base_url('');?>api/dashboard/index'; let url = '<?=base_url('');?>api/dashboard/index';
$.ajax({ $.ajax({
url: url, url: url,
method: 'GET', method: 'POST',
success: function(response) { success: function(response) {
/* /*
// counter // counter

View File

@ -1,4 +1,4 @@
<?= $this->extend('user/layout/main.php') ?> <?= $this->extend('admin/layout/main.php') ?>
<?= $this->section('content') ?> <?= $this->section('content') ?>
@ -7,6 +7,7 @@
<div class="card border-0"> <div class="card border-0">
<div class="card-body"> <div class="card-body">
Date : <input class='date1' type='date' value=''> - <input class='date2' type='date'> <button onclick='index()'>search</button> <br/>
<div class="table-responsive"> <div class="table-responsive">
<table id="myTable" class="table"> <table id="myTable" class="table">
<thead> <thead>
@ -17,6 +18,7 @@
<th>Hosp</th> <th>Hosp</th>
<th>Test</th> <th>Test</th>
<th>Status</th> <th>Status</th>
<th></th>
</thead> </thead>
<tbody id="table-body"> <tbody id="table-body">
</tbody> </tbody>
@ -36,13 +38,21 @@
<?= $this->section('script') ?> <?= $this->section('script') ?>
<script> <script>
let curDate = new Date().toJSON().slice(0, 10);
console.log(curDate);
$('.date1').val(curDate);
$('.date2').val(curDate);
index(); index();
function index() { function index() {
let url = '<?=base_url('');?>api/dashboard/index'; let url = '<?=base_url('');?>api/dashboard/index';
date1 = $('.date1').val();
date2 = $('.date2').val();
$.ajax({ $.ajax({
url: url, url: url,
method: 'GET', method: 'POST',
success: function(response) { data : {date1:date1, date2:date2},
success: function(response) {
/* /*
// counter // counter
*/ */
@ -72,6 +82,7 @@ function index() {
/* /*
// table // table
*/ */
$("#myTable").DataTable().destroy();
$("#table-body").html(""); $("#table-body").html("");
var data = response['data']; var data = response['data'];
for (var i = 0; i < data.length; i++) { for (var i = 0; i < data.length; i++) {
@ -117,7 +128,8 @@ function index() {
} }
let datarow = '<tr class="align-middle" ' + datafilter + ' >' + let datarow = '<tr class="align-middle" ' + datafilter + ' >' +
'<td>' + colldate + '</td> <td>' + patnumber + '</td> <td>' + accessnumber + '</td> <td>' + patname + '</td> <td>' + hon + '</td> <td>' + tests + '</td>' + '<td>' + colldate + '</td> <td>' + patnumber + '</td> <td>' + accessnumber + '</td> <td>' + patname + '</td> <td>' + hon + '</td> <td>' + tests + '</td>' +
"<td role='button' class='"+bgcolor+" text-center align-middle' onclick='viewAccess("+accessnumber+")'>"+stattext+"</td>" + '</tr>'; "<td role='button' class='"+bgcolor+" text-center align-middle' onclick='viewAccess("+accessnumber+")'>"+stattext+"</td>" +
"<td role='button' class='text-center align-middle' onclick='resultPdfAccess("+accessnumber+")'> <i class='bi bi-filetype-pdf'></i> </td>" +'</tr>';
$("#table-body").append(datarow); $("#table-body").append(datarow);
} }
$('#myTable').DataTable(); $('#myTable').DataTable();
@ -164,10 +176,14 @@ function index() {
} }
function viewAccess(access) { function viewAccess(access) {
let url = '<?=base_url();?>fo/dashboard/viewAccess/'+access; let url = '<?=base_url();?>admin/dashboard/viewAccess/'+access;
$('.modal-content').load(url, function(){ $('.modal-content').load(url, function(){
$('#modal').modal('show'); $('#modal').modal('show');
}); });
} }
function resultPdfAccess(access) {
let url = '<?=base_url();?>prints/result_test/'+access;
window.open(url, '_blank');
}
</script> </script>
<?= $this->endSection() ?> <?= $this->endSection() ?>

View File

@ -5,10 +5,8 @@
<link rel='stylesheet' href='<?=base_url();?>assets/css/pdf.css' /> <link rel='stylesheet' href='<?=base_url();?>assets/css/pdf.css' />
</head> </head>
<body style='-webkit-print-color-adjust:exact;'> <body style='-webkit-print-color-adjust:exact;'>
<?php echo $data; ?> <?php echo $data; ?>
</body> </body>
</html> </html>

View File

@ -1,4 +1,4 @@
<?= $this->extend('user/layout/main.php') ?> <?= $this->extend('admin/layout/main.php') ?>
<?= $this->section('content') ?> <?= $this->section('content') ?>
@ -7,6 +7,7 @@
<div class="card border-0"> <div class="card border-0">
<div class="card-body"> <div class="card-body">
Date : <input class='date1' type='date' value=''> - <input class='date2' type='date'> <button onclick='index()'>search</button> <br/>
<div class="table-responsive"> <div class="table-responsive">
<table id="myTable" class="table"> <table id="myTable" class="table">
<thead> <thead>
@ -17,6 +18,7 @@
<th>Hosp</th> <th>Hosp</th>
<th>Test</th> <th>Test</th>
<th>Status</th> <th>Status</th>
<th></th>
</thead> </thead>
<tbody id="table-body"> <tbody id="table-body">
</tbody> </tbody>
@ -36,13 +38,21 @@
<?= $this->section('script') ?> <?= $this->section('script') ?>
<script> <script>
let curDate = new Date().toJSON().slice(0, 10);
console.log(curDate);
$('.date1').val(curDate);
$('.date2').val(curDate);
index(); index();
function index() { function index() {
let url = '<?=base_url('');?>api/dashboard/index'; let url = '<?=base_url('');?>api/dashboard/index';
date1 = $('.date1').val();
date2 = $('.date2').val();
$.ajax({ $.ajax({
url: url, url: url,
method: 'GET', method: 'POST',
success: function(response) { data : {date1:date1, date2:date2},
success: function(response) {
/* /*
// counter // counter
*/ */
@ -72,6 +82,7 @@ function index() {
/* /*
// table // table
*/ */
$("#myTable").DataTable().destroy();
$("#table-body").html(""); $("#table-body").html("");
var data = response['data']; var data = response['data'];
for (var i = 0; i < data.length; i++) { for (var i = 0; i < data.length; i++) {
@ -117,7 +128,8 @@ function index() {
} }
let datarow = '<tr class="align-middle" ' + datafilter + ' >' + let datarow = '<tr class="align-middle" ' + datafilter + ' >' +
'<td>' + colldate + '</td> <td>' + patnumber + '</td> <td>' + accessnumber + '</td> <td>' + patname + '</td> <td>' + hon + '</td> <td>' + tests + '</td>' + '<td>' + colldate + '</td> <td>' + patnumber + '</td> <td>' + accessnumber + '</td> <td>' + patname + '</td> <td>' + hon + '</td> <td>' + tests + '</td>' +
"<td role='button' class='"+bgcolor+" text-center align-middle' onclick='viewAccess("+accessnumber+")'>"+stattext+"</td>" + '</tr>'; "<td role='button' class='"+bgcolor+" text-center align-middle' onclick='viewAccess("+accessnumber+")'>"+stattext+"</td>" +
"<td role='button' class='text-center align-middle' onclick='resultPdfAccess("+accessnumber+")'> <i class='bi bi-filetype-pdf'></i> </td>" +'</tr>';
$("#table-body").append(datarow); $("#table-body").append(datarow);
} }
$('#myTable').DataTable(); $('#myTable').DataTable();
@ -164,10 +176,14 @@ function index() {
} }
function viewAccess(access) { function viewAccess(access) {
let url = '<?=base_url();?>user/dashboard/viewAccess/'+access; let url = '<?=base_url();?>admin/dashboard/viewAccess/'+access;
$('.modal-content').load(url, function(){ $('.modal-content').load(url, function(){
$('#modal').modal('show'); $('#modal').modal('show');
}); });
} }
function resultPdfAccess(access) {
let url = '<?=base_url();?>prints/result_test/'+access;
window.open(url, '_blank');
}
</script> </script>
<?= $this->endSection() ?> <?= $this->endSection() ?>