This commit is contained in:
mahdahar 2025-11-17 15:50:30 +07:00
parent c1a4c7bfbe
commit fdde6591e4
5 changed files with 93 additions and 138 deletions

View File

@ -61,7 +61,7 @@ class Filters extends BaseFilters
'after' => [
'pagecache', // Web Page Caching
'performance', // Performance Metrics
'toolbar', // Debug Toolbar
//'toolbar', // Debug Toolbar
],
];
@ -77,7 +77,7 @@ class Filters extends BaseFilters
public array $globals = [
'before' => [
// 'honeypot',
'csrf',
// 'csrf',
// 'invalidchars',
],
'after' => [

View File

@ -1,6 +1,8 @@
<?php
namespace App\Controllers;
use CodeIgniter\Validation\CreditCardRules;
class Admin extends BaseController
{
public function index()
@ -18,6 +20,7 @@ class Admin extends BaseController
// === Variabel counter ===
$CPending = 0; $CPColl = 0; $CColl = 0; $CPRecv = 0;
$CRecv = 0; $CInc = 0; $CPenV = 0; $CFin = 0; $CFinV = 0;
$CTotal = 0;
$dataList = [];
@ -49,7 +52,7 @@ class Admin extends BaseController
case 'FinV': $statscode = 9; $CFinV++; break;
default: $statscode = 0; break;
}
$CTotal++;
// Simpan ke array
$dataList[] = [
'statscode' => $statscode,
@ -75,6 +78,12 @@ class Admin extends BaseController
// === Total counter ===
$counter = [
'pending' => $CPending,
'collect' => $CPColl+$CColl,
'recv' => $CPRecv+$CRecv,
'incomplete' => $CInc+$CPenV,
'complete' => $CFin+$CFinV,
'total' => $CTotal,
/*
'partialCollected' => $CPColl,
'collected' => $CColl,
'partialReceived' => $CPRecv,
@ -83,6 +92,7 @@ class Admin extends BaseController
'pendingValidation' => $CPenV,
'final' => $CFin,
'finalValidation' => $CFinV,
*/
];
$data['dataList'] = $dataList;

View File

@ -15,7 +15,9 @@ class User extends BaseController
public function index()
{
// $db = \Config\Database::connect();
$sql = "SELECT USERID, USERLEVEL from GDC_CMOD.dbo.USERS";
$sql = "select u.USERID, u.USERLEVEL from GDC_CMOD.dbo.USERS u
left join glendb.dbo.USERS u1 on u1.USERID=u.USERID
where u1.LOCKEDACCOUNT is null";
$query = $this->db->query($sql);
$results = $query->getResultArray();
$data['data'] = $results;

View File

@ -24,32 +24,42 @@
</div>
<div class="row">
<form method="GET" action='<?= base_url('/admin') ?>'>
<div class="row align-items-center g-3">
<div class="col-auto fw-semibold text-muted">
Date :
<div class='col'>
<form method="GET" action='<?= base_url('/admin') ?>'>
<div class="row align-items-center g-1">
<div class="col-auto fw-semibold text-muted">
Date :
</div>
<div class="col-auto">
<input type="date" class="form-control form-control-sm" name="date1"
value="<?php echo $date1; ?>" />
</div>
<div class="col-auto">-</div>
<div class="col-auto">
<input type="date" class="form-control form-control-sm" name="date2"
value="<?php echo $date2; ?>" />
</div>
<div class="col-auto">
<button type="submit" class="btn btn-sm btn-primary">Search</button>
</div>
<div class="col-auto"> <button type="button" class="btn btn-sm btn-outline-dark" onclick="window.location.href='<?=base_url();?>';"> RESET </button> </div>
</div>
<div class="col-auto">
<input type="date" class="form-control form-control-sm" name="date1"
value="<?php echo $date1; ?>" />
</div>
<div class="col-auto">-</div>
<div class="col-auto">
<input type="date" class="form-control form-control-sm" name="date2"
value="<?php echo $date2; ?>" />
</div>
<div class="col-auto">
<button type="submit" class="btn btn-sm btn-primary">Search</button>
</div>
<div class="col-auto"> <button type="button" class="btn btn-sm btn-outline-dark" onclick="window.location.href='<?=base_url();?>';"> RESET </button> </div>
<div class="col-auto"> <button type="button" class="btn btn-sm btn-dark" data-bs-toggle="offcanvas" data-bs-target="#offcanvasFilter" aria-controls="offcanvasFilter"> Adv.Filter </button> </div>
</div>
</form>
</form>
</div>
<div id="filterGroup" class="col text-end">
<button class='btn btn-sm btn-outline-secondary' data-type='secondary'><?=$counter['pending'];?> <small>Pending</small></button>
<button class='btn btn-sm btn-outline-info' data-type='info'><?=$counter['collect'];?> <small>Collect</small></button>
<button class='btn btn-sm btn-outline-primary' data-type='primary'><?=$counter['recv'];?> <small>Receive</small></button>
<button class='btn btn-sm btn-outline-warning' data-type='warning'><?=$counter['incomplete'];?> <small>Incomplete</small></button>
<button class='btn btn-sm btn-outline-success' data-type='success'><?=$counter['complete'];?> <small>Complete</small></button>
<button class='btn btn-sm btn-dark' data-type='dark'><?=$counter['total'];?> <small>Total</small></button>
</div>
</div>
<div class="table table-responsive-scroll">
<table id="datatables" class="table table-sm table-hover table-bordered align-middle table-striped">
@ -87,66 +97,25 @@
}
?>
<tr>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
data-bs-target="#detailModal">
<?= esc($row['statscode']) ?>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['statscode']) ?> </td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['reqdate']) ?> </td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['patname']) ?> </td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['sp_accessnumber']) ?> </td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['hostordernumber']) ?> </td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['reff']) ?> </td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['doc']) ?> </td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['tests']) ?> </td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['odr_cresult_to']) ?> </td>
<td> <h6> <span class="px-3 py-2 badge text-success border border-success bg-success-subtle"> _ </span> </h6>
<a href="#" class="text-primary">Result</a><br> <a href="#" class="text-primary" disabled>Invalidation</a><br>
</td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
data-bs-target="#detailModal">
<?= esc($row['reqdate']) ?>
</td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
data-bs-target="#detailModal">
<?= esc($row['patname']) ?>
</td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
data-bs-target="#detailModal">
<?= esc($row['sp_accessnumber']) ?>
</td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
data-bs-target="#detailModal">
<?= esc($row['hostordernumber']) ?>
</td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
data-bs-target="#detailModal">
<?= esc($row['reff']) ?>
</td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
data-bs-target="#detailModal">
<?= esc($row['doc']) ?>
</td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
data-bs-target="#detailModal">
<?= esc($row['tests']) ?>
</td>
<td class="pointercol" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal"
data-bs-target="#detailModal">
<?= esc($row['odr_cresult_to']) ?>
</td>
<td>
<h6>
<span class="px-3 py-2 badge text-success border border-success bg-success-subtle">
_
</span>
</h6>
<a href="#" class="text-primary">Result</a><br>
<a href="#" class="text-primary" disabled>Invalidation</a><br>
</td>
<td class="pointercol <?= esc($class) ?>" data-access="<?= $row['sp_accessnumber'] ?>"
data-bs-toggle="modal" data-bs-target="#detailModal">
<?= esc($row['stats']) ?>
</td>
<td>
<a href="#" class="text-primary">Preview</a> <br/>
<td class="pointercol <?= esc($class) ?>" data-access="<?= $row['sp_accessnumber'] ?>" data-bs-toggle="modal" data-bs-target="#detailModal"> <?= esc($row['stats']) ?> </td>
<td>
<a href="#" class="text-primary">Preview</a> <br/>
<a href="#" class="text-danger">Print</a> | <a href="#" class="text-danger">Eng</a> <br/>
<a href="#" class="text-primary">Pdf</a>
</td>
<td>
<input type="checkbox" name="printed"> Printed<br>
<input type="checkbox" name="hardcopy"> Hardcopy
</td>
<td> <input type="checkbox" name="printed"> Printed<br> <input type="checkbox" name="hardcopy"> Hardcopy </td>
</tr>
<?php endforeach; ?>
</tbody>
@ -168,17 +137,6 @@
</div>
</div>
</div>
<!-- OffCanvas Filter -->
<div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasFilter" aria-labelledby="offcanvasFilterLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasExampleLabel">Advanced Filter</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
orang dalam
</div>
</div>
</div>
@ -187,9 +145,8 @@
<?= $this->section('script') ?>
<script>
$(document).ready(function () {
$('#datatables').DataTable({
table = $('#datatables').DataTable({
layout: {
topStart: 'info',
topEnd: 'search',
bottomStart: null, bottomEnd: null
},
@ -206,18 +163,31 @@
targets: [12]
}
],
language: {
// search: "Cari:",
// lengthMenu: "Tampilkan _MENU_ data",
// info: "Menampilkan _START_ sampai _END_ dari _TOTAL_ data",
// paginate: {
// previous: "Sebelumnya",
// next: "Berikutnya"
// }
},
responsive: true,
});
$('#filterGroup .btn').on('click', function () {
$('#filterGroup .btn').each(function () {
const type = $(this).data('type');
$(this).removeClass(`btn-${type}`).addClass(`btn-outline-${type}`);
});
const type = $(this).data('type');
$(this).removeClass(`btn-outline-${type}`).addClass(`btn-${type}`);
let vals;
if(type=='secondary') { vals = [0]; }
if(type=='info') { vals = ['1','2']; }
if(type=='primary') { vals = ['3','4','5']; }
if(type=='warning') { vals = [6,7]; }
if(type=='success') { vals = [8]; }
if(type=='dark') {vals=[];}
regex = vals.join('|');
table.column(0).search(regex, true, false).draw();
});
});
// Untuk Koment Value
function commentValue() {
const input = prompt("Masukkan Komentar :");

View File

@ -42,36 +42,16 @@
<!-- Untuk User Level -->
<?php if ($row['USERLEVEL'] == 1) : ?>
<td>
<button type="button" class="btn btn-light btn-sm position-relative">
👨🏻‍💻 Admin
<span class="position-absolute top-0 start-100 translate-middle p-2 bg-success border border-light rounded-circle"></span>
</button>
</td>
<td> <button type="button" class="btn btn-light btn-sm position-relative"> 👨🏻‍💻 Admin </button> </td>
<td><span class="badge text-bg-success"><?= $row['USERLEVEL'] ?></span></td>
<?php elseif ($row['USERLEVEL'] == 2) : ?>
<td>
<button type="button" class="btn btn-light btn-sm position-relative">
🩺 Doctor
<span class="position-absolute top-0 start-100 translate-middle p-2 bg-primary border border-light rounded-circle"></span>
</button>
</td>
<td> <button type="button" class="btn btn-light btn-sm position-relative"> 🩺 Doctor </button> </td>
<td><span class="badge text-bg-primary"><?= $row['USERLEVEL'] ?></span></td>
<?php elseif ($row['USERLEVEL'] == 3) : ?>
<td>
<button type="button" class="btn btn-light btn-sm position-relative">
👩🏻‍🏭 Analyst
<span class="position-absolute top-0 start-100 translate-middle p-2 bg-info border border-light rounded-circle"></span>
</button>
</td>
<td> <button type="button" class="btn btn-light btn-sm position-relative"> 👩🏻‍🏭 Analyst </button> </td>
<td><span class="badge text-bg-info"><?= $row['USERLEVEL'] ?></span></td>
<?php elseif ($row['USERLEVEL'] == 4) : ?>
<td>
<button type="button" class="btn btn-light btn-sm position-relative">
👩‍💼 Customer Service
<span class="position-absolute top-0 start-100 translate-middle p-2 bg-warning border border-light rounded-circle"></span>
</button>
</td>
<td> <button type="button" class="btn btn-light btn-sm position-relative"> 👩‍💼 Customer Service </button> </td>
<td><span class="badge text-bg-warning"><?= $row['USERLEVEL'] ?></span></td>
<?php endif; ?>
@ -84,13 +64,6 @@
Edit
</button>
</div>
<div class="col-8">
<form method="POST" action="<?= base_url('admin/user/delete') ?>" onsubmit="return confirm('Yakin ingin menghapus user <?= esc($row['USERID']) ?>?')">
<?= csrf_field() ?>
<input type="hidden" name="userid" value="<?= esc($row['USERID']) ?>">
<button type="submit" class="btn btn-sm btn-outline-danger w-100">🗑 Delete</button>
</form>
</div>
</div>
</td>
</tr>