create TM Request Dashboard
This commit is contained in:
parent
d4d2d9c64d
commit
14a05c0efb
@ -84,6 +84,10 @@ $routes->POST('api/patients/save', 'API_HISPatients::save');
|
||||
$routes->get('api/his/dictTests', 'API_HIS::dictTests');
|
||||
$routes->get('api/his/results/(:any)', 'API_HIS::results/$1');
|
||||
$routes->POST('api/his/requests', 'API_HIS::requests');
|
||||
|
||||
// API - TM Request
|
||||
$routes->post('api/tm/index', 'API_DashboardTM::index');
|
||||
|
||||
// admin
|
||||
$routes->group('admin', ['filter' => 'role:admin'], static function ($routes) {
|
||||
$routes->get('', 'AdminController::index');
|
||||
@ -98,6 +102,7 @@ $routes->group('admin', ['filter' => 'role:admin'], static function ($routes) {
|
||||
$routes->get('dictChapters/', 'AdminController::dictChapters_index');
|
||||
$routes->get('dictMappings/', 'AdminController::dictMappings_index');
|
||||
$routes->get('dictTubes/', 'AdminController::dictTubes_index');
|
||||
$routes->get('tm/', 'AdminController::tm_index');
|
||||
});
|
||||
|
||||
// user
|
||||
|
||||
28
app/Controllers/API_DashboardTM.php
Normal file
28
app/Controllers/API_DashboardTM.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
namespace App\Controllers;
|
||||
|
||||
use CodeIgniter\RESTful\ResourceController;
|
||||
|
||||
class API_DashboardTM extends ResourceController {
|
||||
protected $format = 'json';
|
||||
|
||||
public function index() {
|
||||
$db = \Config\Database::connect();
|
||||
$date1 = $this->request->getPost('date1');
|
||||
$date2 = $this->request->getPost('date2');
|
||||
$sql = "select r.REQID, r.REFFID, sr.SP_ACCESSNUMBER, r.REQTYPE, p.PATNUMBER, p.FIRSTNAME, p.LASTNAME, r.REQDATE, r.LOGDATE,
|
||||
TESTS = STUFF((
|
||||
SELECT ', ',HISCODE
|
||||
FROM cmod.dbo.CM_TM_TESTS
|
||||
WHERE REQID= r.REQID
|
||||
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
|
||||
from cmod.dbo.CM_TM_REQUESTS r
|
||||
left join cmod.dbo.CM_TM_PATIENTS p on r.PATID=p.PATID
|
||||
left join SP_REQUESTS sr on sr.HOSTORDERNUMBER=r.REFFID
|
||||
--where r.REQDATE between '$date1 00:00' and '$date2 23:59'";
|
||||
$query = $db->query($sql);
|
||||
$results = $query->getResultArray();
|
||||
$data['data'] = $results;
|
||||
return $this->respond($data,200);
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,10 @@ class AdminController extends BaseController {
|
||||
return view('admin/dashboard');
|
||||
}
|
||||
|
||||
public function tm_index() {
|
||||
return view('admin/dashboardTM');
|
||||
}
|
||||
|
||||
public function viewAccess($accessnumber): string {
|
||||
|
||||
// Mengetahui Apakah User Bali atau Surabaya
|
||||
|
||||
107
app/Views/admin/dashboardTM.php
Normal file
107
app/Views/admin/dashboardTM.php
Normal file
@ -0,0 +1,107 @@
|
||||
<?= $this->extend('admin/layout/main.php') ?>
|
||||
|
||||
<?= $this->section('content') ?>
|
||||
|
||||
<style>
|
||||
#myTable {
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id='stats' class="d-flex justify-content-between p-0">
|
||||
</div>
|
||||
|
||||
<div class="card border-0">
|
||||
|
||||
<div class="card-body">
|
||||
|
||||
<div class='card-title'><u><h4>Request from Transmedic</h4></u></div>
|
||||
<div class="row d-flex align-items-center">
|
||||
<div class="col col-auto">
|
||||
<b>Date</b> : <input class='date1' type='date' value=''> - <input class='date2' type='date'>
|
||||
</div>
|
||||
<div class="col col-auto">
|
||||
<button class='btn btn-sm btn-primary py-1 px-2 d-flex align-items-center' onclick='index()'><i class="bi bi-calendar2-event"></i> Search</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive mt-3">
|
||||
<table id="myTable" class="table table-hover">
|
||||
<thead class='text-start'>
|
||||
<th>(GMT)</th>
|
||||
<th>Reff#</th>
|
||||
<th>Access#</th>
|
||||
<th>RM#</th>
|
||||
<th>Patient Name</th>
|
||||
<th>Test</th>
|
||||
<th></th>
|
||||
</thead>
|
||||
<tbody id="table-body" class='text-start'>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="modal" aria-hidden="true" tabindex="-1">
|
||||
<div class="modal-dialog modal-lg modal-dialog-centered modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
<?= $this->section('script') ?>
|
||||
<script>
|
||||
let curDate = new Date().toJSON().slice(0, 10);
|
||||
$('.date1').val(curDate);
|
||||
$('.date2').val(curDate);
|
||||
|
||||
index();
|
||||
|
||||
function index() {
|
||||
let url = '<?=base_url();?>api/tm/index';
|
||||
date1 = $('.date1').val();
|
||||
date2 = $('.date2').val();
|
||||
$.ajax({
|
||||
url: url,
|
||||
method: 'POST',
|
||||
data : {date1:date1, date2:date2},
|
||||
success: function(response) {
|
||||
$("#myTable").DataTable().destroy();
|
||||
$("#table-body").html("");
|
||||
var data = response['data'];
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
console.log(data[i]);
|
||||
reqdate = data[i].REQDATE;
|
||||
logdate = data[i].LOGDATE;
|
||||
reffid = data[i].REFFID;
|
||||
accessnumber = data[i].SP_ACCESSNUMBER;
|
||||
patnumber = data[i].PATNUMBER;
|
||||
patname = data[i].FIRSTNAME+' '+data[i].LASTNAME;
|
||||
tests = data[i].TESTS;
|
||||
let datarow = "<tr class='align-middle main_table'>" +
|
||||
"<td> req : " + reqdate + '<br / >log : ' + logdate + '</td> <td>' + reffid + '</td> <td>' + accessnumber + '</td> <td>' + patnumber + '</td> <td>' + patname + '</td> <td>' + tests
|
||||
+ '</td> </tr>';
|
||||
$("#table-body").append(datarow);
|
||||
}
|
||||
//$('#myTable').DataTable();
|
||||
},
|
||||
error: function(response) { console.log(response.responseJSON); }
|
||||
});
|
||||
}
|
||||
|
||||
function viewAccess(access) {
|
||||
let url = '<?=base_url();?>admin/dashboard/viewAccess/'+access;
|
||||
$('.modal-content').load(url, function(){
|
||||
$('#modal').modal('show');
|
||||
});
|
||||
}
|
||||
function resultPdfAccess(access, event) {
|
||||
event.stopPropagation(); // Mencegah klik pada <tr> dieksekusi
|
||||
let url = '<?=base_url();?>printResult/'+access;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
</script>
|
||||
<?= $this->endSection() ?>
|
||||
@ -4,6 +4,7 @@
|
||||
<div class="nav">
|
||||
<div class="sb-sidenav-menu-heading">Main</div>
|
||||
<a class="nav-link" href="<?=base_url();?>admin/"><div class="sb-nav-link-icon"><i class="bi bi-speedometer"></i></div>Dashboard</a>
|
||||
<a class="nav-link" href="<?=base_url();?>admin/tm/"><div class="sb-nav-link-icon"><i class="bi bi-speedometer"></i></div>Dashboard TM</a>
|
||||
<a class="nav-link" href="<?=base_url();?>changePass/"><div class="sb-nav-link-icon"><i class="bi bi-key"></i></div>Change Password</a>
|
||||
<div class="sb-sidenav-menu-heading">HIS</div>
|
||||
<a class="nav-link" href="<?=base_url();?>admin/patients/"><div class="sb-nav-link-icon"><i class="bi bi-person-fill"></i></div>Patient List</a>
|
||||
|
||||
@ -11106,8 +11106,8 @@ body {
|
||||
#layoutSidenav_content {
|
||||
background-color: #F4F6FF;
|
||||
}
|
||||
/*
|
||||
@media (min-width: 992px) {
|
||||
|
||||
@media (min-width: 1300px) {
|
||||
#layoutSidenav #layoutSidenav_nav {
|
||||
transform: translateX(0);
|
||||
}
|
||||
@ -11125,7 +11125,7 @@ body {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
.sb-nav-fixed .sb-topnav {
|
||||
z-index: 1039;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user