454 lines
24 KiB
PHP
454 lines
24 KiB
PHP
<?php
|
|
$today = date('Y-m-d');
|
|
$date1 = $_GET['date1'] ?? $today;
|
|
$date2 = $_GET['date2'] ?? $today;
|
|
?>
|
|
<?= $this->extend('_layouts/main.php') ?>
|
|
|
|
<?= $this->section('title') ?>
|
|
<title>Admin Glenlis</title>
|
|
<?= $this->endSection() ?>
|
|
|
|
<?= $this->section('content') ?>
|
|
|
|
<div class="container-fluid px-5">
|
|
|
|
<div class="row">
|
|
|
|
<!-- Accordion Search Detail -->
|
|
<div class="col col-12 mt-3">
|
|
<div class="accordion" id="accordionPanelsStayOpenExample">
|
|
<div class="accordion-item">
|
|
<h2 class="accordion-header">
|
|
<button class="accordion-button" type="button" data-bs-toggle="collapse"
|
|
data-bs-target="#panelsStayOpen-collapseOne" aria-expanded="false"
|
|
aria-controls="panelsStayOpen-collapseOne">
|
|
🔎 Search Form
|
|
</button>
|
|
</h2>
|
|
<div id="panelsStayOpen-collapseOne" class="accordion-collapse collapse show">
|
|
<div class="accordion-body">
|
|
<form method="GET" class="p-1" action='<?= base_url('api/dashboard') ?>'>
|
|
<div class="row align-items-center g-2">
|
|
<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 px-3">LIST</button>
|
|
</div>
|
|
|
|
<div class="col-auto">
|
|
<button type="button" class="btn btn-sm btn-outline-dark px-3"
|
|
onclick="window.location.href='/';">
|
|
RESET
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="accordion-item">
|
|
<h2 class="accordion-header">
|
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
|
|
data-bs-target="#panelsStayOpen-collapseTwo" aria-expanded="false"
|
|
aria-controls="panelsStayOpen-collapseTwo">
|
|
☰ Filter Form
|
|
</button>
|
|
</h2>
|
|
<div id="panelsStayOpen-collapseTwo" class="accordion-collapse collapse">
|
|
<div class="accordion-body">
|
|
<form class="p-1">
|
|
|
|
<!-- Baris 1: Name & Reff -->
|
|
<div class="row mb-2">
|
|
<div class="col-md-6 d-flex align-items-center mb-2 mb-md-0">
|
|
<label class="col-3 col-form-label-sm text-muted fw-semibold">Name :</label>
|
|
<input type="text" class="form-control form-control-sm" id="col2_filter"
|
|
data-column="2" />
|
|
</div>
|
|
<div class="col-md-6 d-flex align-items-center">
|
|
<label class="col-3 col-form-label-sm text-muted fw-semibold">Reff :</label>
|
|
<input type="text" class="form-control form-control-sm" id="col5_filter"
|
|
data-column="5" />
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Baris 2: Test & Doctor -->
|
|
<div class="row mb-2">
|
|
<div class="col-md-6 d-flex align-items-center mb-2 mb-md-0">
|
|
<label class="col-3 col-form-label-sm text-muted fw-semibold">Test :</label>
|
|
<input type="text" class="form-control form-control-sm" id="col7_filter"
|
|
data-column="7" />
|
|
</div>
|
|
<div class="col-md-6 d-flex align-items-center">
|
|
<label class="col-3 col-form-label-sm text-muted fw-semibold">Doctor :</label>
|
|
<input type="text" class="form-control form-control-sm" id="col6_filter"
|
|
data-column="6" />
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Baris 3: Exc & Send To -->
|
|
<div class="row mb-3">
|
|
<div class="col-md-6 d-flex align-items-center mb-2 mb-md-0">
|
|
<label class="col-3 col-form-label-sm text-muted fw-semibold">Exc :</label>
|
|
<input type="text" class="form-control form-control-sm" id="exc" />
|
|
</div>
|
|
<div class="col-md-6 d-flex align-items-center">
|
|
<label class="col-3 col-form-label-sm text-muted fw-semibold">Send to :</label>
|
|
<input type="text" class="form-control form-control-sm" id="col8_filter"
|
|
data-column="8" />
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Card Status Semua Counter -->
|
|
<div class="row justify-content-evenly mt-4">
|
|
<!-- Pending -->
|
|
<div class="col-auto mb-2">
|
|
<div class="card status-card text-center">
|
|
<div class="card-body p-2">
|
|
<div class="status-count text-warning">8</div>
|
|
<div class="status-label text-warning">Pending</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Partial Collected -->
|
|
<div class="col-auto mb-2">
|
|
<div class="card status-card text-center">
|
|
<div class="card-body p-2">
|
|
<div class="status-count text-secondary">7</div>
|
|
<div class="status-label text-secondary">Partial Collected</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Collected -->
|
|
<div class="col-auto mb-2">
|
|
<div class="card status-card text-center">
|
|
<div class="card-body p-2">
|
|
<div class="status-count text-danger">79</div>
|
|
<div class="status-label text-danger">Collected</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Partial Received -->
|
|
<div class="col-auto mb-2">
|
|
<div class="card status-card text-center">
|
|
<div class="card-body p-2">
|
|
<div class="status-count text-info">5</div>
|
|
<div class="status-label text-info">Partial Received</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Received -->
|
|
<div class="col-auto mb-2">
|
|
<div class="card status-card text-center">
|
|
<div class="card-body p-2">
|
|
<div class="status-count text-primary">0</div>
|
|
<div class="status-label text-primary">Received</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Incomplete -->
|
|
<div class="col-auto mb-2">
|
|
<div class="card status-card text-center">
|
|
<div class="card-body p-2">
|
|
<div class="status-count text-warning">0</div>
|
|
<div class="status-label text-warning">Incomplete</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Printed not Complete -->
|
|
<div class="col-auto mb-2">
|
|
<div class="card status-card text-center">
|
|
<div class="card-body p-2">
|
|
<div class="status-count text-muted">2</div>
|
|
<div class="status-label text-muted">Printed<br>Not complete</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Complete -->
|
|
<div class="col-auto mb-2">
|
|
<div class="card status-card text-center">
|
|
<div class="card-body p-2">
|
|
<div class="status-count text-success">10</div>
|
|
<div class="status-label text-success">Complete</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 1-validation -->
|
|
<div class="col-auto mb-2">
|
|
<div class="card status-card text-center">
|
|
<div class="card-body p-2">
|
|
<div class="status-count text-info">4</div>
|
|
<div class="status-label text-info">1-validation</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 2-validation -->
|
|
<div class="col-auto mb-2">
|
|
<div class="card status-card text-center">
|
|
<div class="card-body p-2">
|
|
<div class="status-count text-success">3</div>
|
|
<div class="status-label text-success">2-validation</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Semua Tabel -->
|
|
<div class="col">
|
|
<div class="table-responsive">
|
|
<table id="datatables" class="table table-striped table-hover table-bordered align-middle">
|
|
<thead class="table-primary">
|
|
<tr>
|
|
<th>S</th>
|
|
<th style='width:7%;'>Order Datetime</th>
|
|
<th>Patient Name</th>
|
|
<th>No Lab</th>
|
|
<th>No Register</th>
|
|
<th style='width:10%;'>Reff</th>
|
|
<th>Doctor</th>
|
|
<th style='width:10%;'>Tests</th>
|
|
<th style='width:5%;'>Result To</th>
|
|
<th style='width:8%;'>Validation</th>
|
|
<th style='width:7%;'>Status</th>
|
|
<th style='width:8%;'></th>
|
|
<th style='width:6%;'></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">1</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">2025-10-25 11:25</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">TEGUH PUTRA SIE, MR</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">5102723628</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">01251002841</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">PT. PRUDENTIAL LIFE ASSURANCE</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">✶ HERNI SUPRAPTI, Dr</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">
|
|
(DL), (DBIL), (IBIL), (SGOT), (SGPT), (ALP), (GGT), (ALB), (GLOBU),
|
|
(CHOL), (TG), (HDL), (LDL), (GLUP), (HBA1C), (UL)
|
|
</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">C/W</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 data-bs-toggle="modal" data-bs-target="#detailModal" class='pointercol bg-warning'>Pending</td>
|
|
<td>
|
|
<a href="#" class="text-primary">Preview</a>
|
|
<hr>
|
|
<a href="#" class="text-danger">Print</a> | <a href="#" class="text-danger">Eng</a>
|
|
<hr>
|
|
<a href="#" class="text-primary">Pdf</a>
|
|
</td>
|
|
<td>
|
|
<input type="checkbox" name="printed"> Printed<br>
|
|
<input type="checkbox" name="hardcopy"> Hardcopy
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">1</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">2025-10-25 11:25</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">TEGUH PUTRA SIE, MR</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">5102723628</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">01251002841</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">PT. PRUDENTIAL LIFE ASSURANCE</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">✶ HERNI SUPRAPTI, Dr</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">
|
|
(DL), (DBIL), (IBIL), (SGOT), (SGPT), (ALP), (GGT), (ALB), (GLOBU),
|
|
(CHOL), (TG), (HDL), (LDL), (GLUP), (HBA1C), (UL)
|
|
</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">C/W</td>
|
|
<td>
|
|
<h6>
|
|
<span class="px-3 py-2 badge text-success border border-success bg-success-subtle">
|
|
1
|
|
</span>
|
|
</h6>
|
|
<a href="#" class="text-primary">Result</a><br>
|
|
<a href="#" class="text-primary" disabled>Invalidation</a><br>
|
|
</td>
|
|
<td data-bs-toggle="modal" data-bs-target="#detailModal" class='pointercol bg-warning'>Pending</td>
|
|
<td>
|
|
<a href="#" class="text-primary">Preview</a>
|
|
<hr>
|
|
<a href="#" class="text-danger">Print</a> | <a href="#" class="text-danger">Eng</a>
|
|
<hr>
|
|
<a href="#" class="text-primary">Pdf</a>
|
|
</td>
|
|
<td>
|
|
<input type="checkbox" name="printed"> Printed<br>
|
|
<input type="checkbox" name="hardcopy"> Hardcopy
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">1</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">2025-10-25 11:25</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">TEGUH PUTRA SIE, MR</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">5102723628</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">01251002841</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">PT. PRUDENTIAL LIFE ASSURANCE</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">✶ HERNI SUPRAPTI, Dr</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">
|
|
(DL), (DBIL), (IBIL), (SGOT), (SGPT), (ALP), (GGT), (ALB), (GLOBU),
|
|
(CHOL), (TG), (HDL), (LDL), (GLUP), (HBA1C), (UL)
|
|
</td>
|
|
<td class='pointercol' data-bs-toggle="modal" data-bs-target="#detailModal">C/W</td>
|
|
<td>
|
|
<h6>
|
|
<span class="px-3 py-2 badge text-success border border-success bg-success-subtle">
|
|
2
|
|
</span>
|
|
</h6>
|
|
<a href="#" class="text-primary">Result</a><br>
|
|
<a href="#" class="text-primary" disabled>Invalidation</a><br>
|
|
</td>
|
|
<td data-bs-toggle="modal" data-bs-target="#detailModal" class='pointercol bg-warning'>Pending</td>
|
|
<td>
|
|
<a href="#" class="text-primary">Preview</a>
|
|
<hr>
|
|
<a href="#" class="text-danger">Print</a> | <a href="#" class="text-danger">Eng</a>
|
|
<hr>
|
|
<a href="#" class="text-primary">Pdf</a>
|
|
</td>
|
|
<td>
|
|
<input type="checkbox" name="printed"> Printed<br>
|
|
<input type="checkbox" name="hardcopy"> Hardcopy
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- Modal Specimen Collection-->
|
|
<div class="modal fade" id="detailModal" aria-hidden="true" aria-labelledby="detailModal" tabindex="-1">
|
|
<div class="modal-dialog modal-lg modal-dialog-centered">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h1 class="modal-title fw-bold fs-4" id="detailModal">Specimen Collection <span
|
|
class="text-success">#5111113439</span></h1>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
|
|
<div class="row mb-4">
|
|
<!-- Kolom kiri -->
|
|
<div class="col-md-6">
|
|
<div class="info-pair d-flex">
|
|
<div class="info-label w-50 fw-bold">Patient Name </div>
|
|
<div class="info-value fw-semibold">: Zaka</div>
|
|
</div>
|
|
<div class="info-pair d-flex">
|
|
<div class="info-label w-50 fw-bold">Age</div>
|
|
<div class="info-value fw-semibold">: 23</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Kolom kanan -->
|
|
<div class="col-md-6">
|
|
<div class="info-pair d-flex">
|
|
<div class="info-label w-50 fw-bold">No Lab</div>
|
|
<div class="info-value fw-semibold">: 5111113439</div>
|
|
</div>
|
|
<div class="info-pair d-flex">
|
|
<div class="info-label w-50 fw-bold">Sex</div>
|
|
<div class="info-value fw-semibold">: Female</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<h5 class="card-title fs-4 mb-2"><i class="bi bi-flask-florence-fill"></i> Tube</h5>
|
|
<!-- <hr> -->
|
|
<table class="table fs-6 text-center">
|
|
<thead>
|
|
<tr class=''>
|
|
<th scope="col">Status</th>
|
|
<th scope="col">Sample Name</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><input type="checkbox" name="val"></td>
|
|
<td>101 - EDTA</td>
|
|
|
|
</tr>
|
|
<tr>
|
|
<td><input type="checkbox" name="val"></td>
|
|
<td>200 - Urine</td>
|
|
|
|
</tr>
|
|
<tr>
|
|
<td><input type="checkbox" name="val"></td>
|
|
<td>900 - Other</td>
|
|
</tr>
|
|
<tr class='text-center'>
|
|
<td colspan="2">
|
|
<h6 class="p-0 m-0">
|
|
<i class="bi bi-pencil-square" role="button" onclick="commentValue()"></i>
|
|
</h6>
|
|
</td>
|
|
</tr>
|
|
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<?= $this->endSection() ?>
|
|
|
|
<?= $this->section('script') ?>
|
|
<script>
|
|
// Untuk Koment Value
|
|
function commentValue() {
|
|
const input = prompt("Masukkan Komentar :");
|
|
}
|
|
</script>
|
|
<?= $this->endSection() ?>
|