prework
This commit is contained in:
parent
e68c88b600
commit
4f1d3e1097
@ -47,6 +47,8 @@ $routes->group('cs', ['filter' => 'role:4'], function($routes) {
|
|||||||
|
|
||||||
// ------------------------------------------------------For API------------------------------------------------------ //
|
// ------------------------------------------------------For API------------------------------------------------------ //
|
||||||
// $routes->get('/api/dashboard', 'ApiDashboard::index');
|
// $routes->get('/api/dashboard', 'ApiDashboard::index');
|
||||||
|
$routes->get('api/result/(:any)', 'Result::show/$1');
|
||||||
|
|
||||||
$routes->get('api/specimen/(:any)', 'Specimen::show/$1');
|
$routes->get('api/specimen/(:any)', 'Specimen::show/$1');
|
||||||
$routes->post('api/specimen/collect/(:any)', 'Specimen::collect/$1');
|
$routes->post('api/specimen/collect/(:any)', 'Specimen::collect/$1');
|
||||||
$routes->post('api/specimen/unreceive/(:any)', 'Specimen::unreceive/$1');
|
$routes->post('api/specimen/unreceive/(:any)', 'Specimen::unreceive/$1');
|
||||||
@ -54,18 +54,21 @@ class ApiDashboard extends ResourceController {
|
|||||||
// Simpan ke array
|
// Simpan ke array
|
||||||
$dataList[] = [
|
$dataList[] = [
|
||||||
'statCode' => $statCode,
|
'statCode' => $statCode,
|
||||||
'reqdate' => $reqdate,
|
'reqdate' => $reqdate,
|
||||||
'patname' => $patname,
|
'patname' => $patname,
|
||||||
'reqnum' => $reqnum,
|
'reqnum' => $reqnum,
|
||||||
'hosnum' => $hosnum,
|
'hosnum' => $hosnum,
|
||||||
'reff' => $row['REFF'] ?? '',
|
'reff' => $row['REFF'] ?? '',
|
||||||
'doc' => $row['DOC'] ?? '',
|
'doc' => $row['DOC'] ?? '',
|
||||||
'tests' => $row['TESTS'] ?? '',
|
'tests' => $row['TESTS'] ?? '',
|
||||||
'stats' => $stats,
|
'stats' => $stats,
|
||||||
'isPrinted'=> $row['ODR_ISPRINTED'] ?? 0,
|
'isPrinted'=> $row['ODR_ISPRINTED'] ?? 0,
|
||||||
'isPending'=> $row['ODR_ISPENDING'] ?? 0,
|
'isPending'=> $row['ODR_ISPENDING'] ?? 0,
|
||||||
'isHardcopy'=> $row['ODR_NFLAGHARDCOPY'] ?? 0,
|
'isHardcopy'=> $row['ODR_NFLAGHARDCOPY'] ?? 0,
|
||||||
'isVal' => $row['ISVAL'] ?? 0,
|
'isVal1' => $row['ISVAL1'] ?? 0,
|
||||||
|
'val1user' => $row['VAL1USER'] ?? '',
|
||||||
|
'isVal2' => $row['ISVAL2'] ?? 0,
|
||||||
|
'val2user' => $row['VAL2USER'] ?? '',
|
||||||
'isDelete' => $isDelete,
|
'isDelete' => $isDelete,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,7 +16,8 @@ class Result extends BaseController {
|
|||||||
->getResultArray();
|
->getResultArray();
|
||||||
$data['status'] = $result[0]['STATS'];
|
$data['status'] = $result[0]['STATS'];
|
||||||
$data['verif'] = $result[0]['ISVAL2'];
|
$data['verif'] = $result[0]['ISVAL2'];
|
||||||
return view('result/result_show',$data);
|
//return view('result/result_show',$data);
|
||||||
|
return view('admin/modal_result',$data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function invalidate($accessnumber) {
|
public function invalidate($accessnumber) {
|
||||||
|
|||||||
@ -117,8 +117,10 @@
|
|||||||
</td>
|
</td>
|
||||||
<td data-acc="<?=$row['sp_accessnumber'];?>">
|
<td data-acc="<?=$row['sp_accessnumber'];?>">
|
||||||
<span class="border border-success rounded p-1 mb-2 me-2"> <?=$row['val'];?> </span>
|
<span class="border border-success rounded p-1 mb-2 me-2"> <?=$row['val'];?> </span>
|
||||||
<?php if($row['val'] == 1) { ?>
|
<?php if($row['val'] != 2) { ?>
|
||||||
<a href="<?=base_url('result/'.$row['sp_accessnumber']);?>" target="_blank" class="btn btn-xs btn-outline-primary px-1 py-0 mb-1">Verify</a> <br/>
|
<!-- <a href="<?=base_url('result/'.$row['sp_accessnumber']);?>" target="_blank" class="btn btn-xs btn-outline-primary px-1 py-0 mb-1">Verify</a> -->
|
||||||
|
<button class='btn btn-xs btn-outline-success px-1 py-0 mb-1' onclick="verify(<?=$row['sp_accessnumber'];?>)" data-bs-toggle="modal" data-bs-target="#verifyModal">Verify</button>
|
||||||
|
<br/>
|
||||||
<?php } else { echo "<br />"; } ?>
|
<?php } else { echo "<br />"; } ?>
|
||||||
<?php if($row['val'] == 2) { ?>
|
<?php if($row['val'] == 2) { ?>
|
||||||
<a href="http://glenlis/spooler_db/main_dev.php?acc=<?=$row['sp_accessnumber'];?>" target="_blank" class="btn btn-xs btn-primary py-0 px-1">Ind</a> |
|
<a href="http://glenlis/spooler_db/main_dev.php?acc=<?=$row['sp_accessnumber'];?>" target="_blank" class="btn btn-xs btn-primary py-0 px-1">Ind</a> |
|
||||||
@ -148,11 +150,22 @@
|
|||||||
<h1 class="modal-title fw-bold fs-4" id="detailModal">Specimen Collection</h1>
|
<h1 class="modal-title fw-bold fs-4" id="detailModal">Specimen Collection</h1>
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body" id="modalContent"> </div>
|
<div class="modal-body" id="specimenModalContent"> </div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="modal fade" id="verifyModal" aria-hidden="true" aria-labelledby="verifyModal" tabindex="-1">
|
||||||
|
<div class="modal-dialog modal-xl modal-dialog-centered">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h1 class="modal-title fw-bold fs-4" id="detailModal">Verification</h1>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body" id="verifyModalContent"> </div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?= $this->endSection() ?>
|
<?= $this->endSection() ?>
|
||||||
@ -236,6 +249,53 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
window.verify = function(accessNumber) {
|
||||||
|
const modalBody = $('#verifyModal .modal-body');
|
||||||
|
modalBody.html('<div class="text-center py-5"><div class="spinner-border text-primary" role="status"><span class="visually-hidden">Loading...</span></div><p class="mt-2">Fetching verification details for #' + accessNumber + '...</p></div>');
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: '<?= base_url('api/result/'); ?>'+accessNumber,
|
||||||
|
method: 'GET', // Or 'POST', depending on your server setup
|
||||||
|
data: { access_number: accessNumber },
|
||||||
|
dataType: 'html',
|
||||||
|
success: function(response) {
|
||||||
|
modalBody.html(response);
|
||||||
|
},
|
||||||
|
error: function(xhr, status, error) {
|
||||||
|
console.error("AJAX Error:", status, error);
|
||||||
|
modalBody.html(`
|
||||||
|
<div class="alert alert-danger" role="alert">
|
||||||
|
<strong>Error loading content:</strong> Could not retrieve verification details.
|
||||||
|
<p class="mt-1 mb-0"><small>Details: ${error}</small></p>
|
||||||
|
</div>
|
||||||
|
`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
function verify(accessnumber) {
|
||||||
|
// toggle checkbox
|
||||||
|
const row = document.getElementById(`row-${accessnumber}-${samplenumber}`);
|
||||||
|
const checkbox = row.querySelector('.coll-checkbox');
|
||||||
|
checkbox.checked = status;
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: `<?=base_url('api/request/collect');?>/${accessnumber}`,
|
||||||
|
type: "POST",
|
||||||
|
contentType: "application/json; charset=utf-8",
|
||||||
|
dataType: "json",
|
||||||
|
data: JSON.stringify({ samplenumber:samplenumber, status:status, userid:"<?=session('userid');?>" }),
|
||||||
|
success: function(response) {
|
||||||
|
console.log("Success:", response);
|
||||||
|
},
|
||||||
|
error: function(xhr, status, error) {
|
||||||
|
console.error("Error:", status, error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
function unreceive(accessnumber, samplenumber) {
|
function unreceive(accessnumber, samplenumber) {
|
||||||
// toggle checkbox
|
// toggle checkbox
|
||||||
const row = document.getElementById(`row-${accessnumber}-${samplenumber}`);
|
const row = document.getElementById(`row-${accessnumber}-${samplenumber}`);
|
||||||
@ -265,7 +325,7 @@
|
|||||||
// Untuk Detail
|
// Untuk Detail
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
const modal = document.getElementById('detailModal');
|
const modal = document.getElementById('detailModal');
|
||||||
const modalContent = document.getElementById('modalContent');
|
const modalContent = document.getElementById('specimenModalContent');
|
||||||
document.querySelectorAll('.pointercol').forEach(td => {
|
document.querySelectorAll('.pointercol').forEach(td => {
|
||||||
td.addEventListener('click', async function () {
|
td.addEventListener('click', async function () {
|
||||||
const access = this.dataset.access;
|
const access = this.dataset.access;
|
||||||
|
|||||||
8
app/Views/admin/modal_result.php
Normal file
8
app/Views/admin/modal_result.php
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<iframe
|
||||||
|
id="result-iframe"
|
||||||
|
title="PHP Embedded Content Demo"
|
||||||
|
class="flex-1"
|
||||||
|
src="http://glenlis/spooler_db/main_dev.php?acc=<?=$accessnumber;?>">
|
||||||
|
|
||||||
|
<p>Your browser does not support iframes. Please contact the technical support.</p>
|
||||||
|
</iframe>
|
||||||
Loading…
x
Reference in New Issue
Block a user