Files
2026-06-06 10:05:39 +07:00

478 lines
21 KiB
PHP

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>View Patient Cleft Lip Data</title>
<link rel="shortcut icon" type="image/jpg" href="{{ asset('main/assets/images/logos/logo.jpg') }}" />
<link rel="stylesheet" href="{{ asset('main/assets/css/styles.min.css') }}" />
</head>
<body class="bg-1">
<!-- Body Wrapper -->
<div class="page-wrapper" id="main-wrapper" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full"
data-sidebar-position="fixed" data-header-position="fixed">
<!-- Sidebar Start -->
<aside class="left-sidebar">
<!-- Sidebar scroll-->
<div>
<div class="brand-logo d-flex align-items-center justify-content-between">
<a href="{{ route('landing') }}" class="text-nowrap logo-img">
<img src="{{ asset('main/assets/images/logos/logo_landscape.png') }}" width="100%" alt="Logo" />
</a>
<div class="close-btn d-xl-none d-block sidebartoggler cursor-pointer" id="sidebarCollapse">
<i class="ti ti-x fs-8"></i>
</div>
</div>
<!-- Sidebar navigation-->
<nav class="sidebar-nav scroll-sidebar" data-simplebar="">
<ul id="sidebarnav">
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">Home</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-layout-dashboard"></i>
</span>
<span class="hide-menu">Dashboard</span>
</a>
</li>
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">NAVIGATIONS</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('browse_data') }}" aria-expanded="false">
<span>
<i class="ti ti-article"></i>
</span>
<span class="hide-menu">Browse Data</span>
</a>
</li>
@if (in_array(Auth::user()->user_type, ['operator', 'admin']))
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('upload_data') }}" aria-expanded="false">
<span>
<i class="ti ti-alert-circle"></i>
</span>
<span class="hide-menu">Upload Data</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('my_data') }}" aria-expanded="false">
<span>
<i class="ti ti-cards"></i>
</span>
<span class="hide-menu">My Data</span>
</a>
</li>
@endif
@if (in_array(Auth::user()->user_type, ['admin']))
<li class="nav-small-cap">
<i class="ti ti-dots nav-small-cap-icon fs-4"></i>
<span class="hide-menu">ADMIN</span>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('admin_dashboard') }}" aria-expanded="false">
<span>
<i class="ti ti-file-description"></i>
</span>
<span class="hide-menu">Administrator</span>
</a>
</li>
<li class="sidebar-item">
<a class="sidebar-link" href="{{ route('request_log') }}" aria-expanded="false">
<span>
<i class="ti ti-book"></i>
</span>
<span class="hide-menu">Check Data Requests</span>
</a>
</li>
@endif
</ul>
</nav>
<!-- End Sidebar navigation -->
</div>
<!-- End Sidebar scroll-->
</aside>
<!-- Sidebar End -->
<!-- Main wrapper -->
<div class="body-wrapper">
<!-- Header Start -->
<header class="app-header">
<nav class="navbar navbar-expand-lg navbar-light">
<ul class="navbar-nav">
<li class="nav-item d-block d-xl-none">
<a class="nav-link sidebartoggler nav-icon-hover" id="headerCollapse" href="javascript:void(0)">
<i class="ti ti-menu-2"></i>
</a>
</li>
</ul>
<div class="navbar-collapse justify-content-end px-0" id="navbarNav">
<ul class="navbar-nav flex-row ms-auto align-items-center justify-content-end">
<a href="{{ route('landing') }}" target="_blank" class="btn btn-primary">Landing Page</a>
<li class="nav-item dropdown">
<a class="nav-link nav-icon-hover" href="javascript:void(0)" id="drop2" data-bs-toggle="dropdown"
aria-expanded="false">
<img src="{{ asset('main/assets/images/profile/user-1.jpg') }}" alt="User Profile" width="35" height="35" class="rounded-circle">
</a>
<div class="dropdown-menu dropdown-menu-end dropdown-menu-animate-up" aria-labelledby="drop2">
<div class="message-body">
<a href="#" id="logout-link" class="btn btn-outline-primary mx-3 mt-2 d-block">Logout</a>
<form id="logout-form" method="POST" action="{{ route('logout') }}" style="display: none;">
@csrf
</form>
</div>
</div>
</li>
</ul>
</div>
</nav>
</header>
<div class="container-fluid">
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
@if(session('error'))
<div class="alert alert-danger">
{{ session('error') }}
</div>
@endif
<div class="card card-bg" style="background-color: #ffcd87; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.8);">
<div class="card-body">
<div class="card" style="background-color: #3a4b51; box-shadow: 0 4px 8px rgba(58, 75, 81, 0.8);">
<div class="card-body">
<div class="row mb-2 align-items-center">
<div class="col-md-6">
<h3 class="fw-semibold mb-2" style="color: #ffffff;">Data Pasien</h3>
</div>
<div class="col-md-6 text-md-end mb-4">
<a href="{{ route('browse_data') }}" class="btn btn-warning">Go Back</a>
<button id="requestDataBtn" class="btn btn-secondary">Request Data</button>
<button id="cancelRequestBtn" class="btn btn-danger" style="display: none;">Cancel Request</button>
<button id="downloadDataBtn" class="btn btn-success" style="display: none;">Download Data</button>
</div>
</div>
<div class="row mb-5">
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Nama pasien:</label>
<p class="form-control-static">{{ $operation->nama }}</p>
</div>
<div class="mb-3">
<label class="form-label">Tanggal Lahir:</label>
<p class="form-control-static">{{ $operation->tanggal_lahir }}</p>
</div>
<div class="mb-3">
<label class="form-label">Umur pasien:</label>
<p class="form-control-static">{{ $operation->umur }} tahun</p>
</div>
<div class="mb-3">
<label class="form-label">Alamat pasien:</label>
<p class="form-control-static">{{ $operation->alamat }}</p>
</div>
<div class="mb-3">
<label class="form-label">Suku:</label>
<p class="form-control-static">{{ $operation->suku }}</p>
</div>
</div>
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Kelainan kongenital penyerta:</label>
<p class="form-control-static">{{ $operation->kelainan_kongenital }}</p>
</div>
<div class="mb-3">
<label class="form-label">Tanggal Operasi:</label>
<p class="form-control-static">{{ $operation->tanggal_operasi }}</p>
</div>
<div class="mb-3">
<label class="form-label">Teknik operasi yang digunakan:</label>
<p class="form-control-static">{{ $operation->teknikoperasi }}</p>
</div>
<div class="mb-3">
<label class="form-label">Nama penyelenggara:</label>
<p class="form-control-static">{{ $operation->operator }}</p>
</div>
<div class="mb-3">
<label class="form-label">Lokasi operasi:</label>
<p class="form-control-static">{{ $operation->lokasioperasi }}</p>
</div>
</div>
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Pasien merupakan anak ke-berapa:</label>
<p class="form-control-static">{{ $operation->anak_ke }}</p>
</div>
<div class="mb-3">
<label class="form-label">Jenis kelamin pasien:</label>
<p class="form-control-static">{{ $operation->kelamin }}</p>
</div>
<div class="mb-3">
<label class="form-label">Jenis kelainan cleft:</label>
<p class="form-control-static">{{ $operation->jenis_cleft }}</p>
</div>
<div class="mb-3">
<label class="form-label">Jenis terapi:</label>
<p class="form-control-static">{{ $operation->jenis_terapi }}</p>
</div>
<div class="mb-3">
<label class="form-label">Diagnosa:</label>
<p class="form-control-static">{{ $operation->diagnosa }}</p>
</div>
</div>
</div>
<div class="row mb-5">
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Riwayat kehamilan ibu dari pasien:</label>
<p class="form-control-static">{{ $operation->riwayathamil }}</p>
</div>
<div class="mb-3">
<label class="form-label">Riwayat keluarga pasien:</label>
<p class="form-control-static">{{ $operation->riwayatkeluarga }}</p>
</div>
<div class="mb-3">
<label class="form-label">Riwayat kawin kerabat:</label>
<p class="form-control-static">{{ $operation->riwayat_kawin_kerabat }}</p>
</div>
</div>
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Riwayat penyakit terdahulu:</label>
<p class="form-control-static">{{ $operation->riwayat_penyakit_terdahulu }}</p>
</div>
<div class="mb-3">
<label class="form-label">Follow-up:</label>
<p class="form-control-static">{{ $operation->followup }}</p>
</div>
</div>
<div class="col-md-4">
<div class="mb-3">
<label class="form-label">Data diunggah oleh:</label>
<p class="form-control-static">{{ $operation->created_by_name }}</p>
</div>
<div class="mb-3">
<label class="form-label">Tanggal pembuatan data:</label>
<p class="form-control-static">{{ $operation->created_at }}</p>
</div>
<div class="mb-3">
<label class="form-label">Tanggal terakhir update data:</label>
<p class="form-control-static">{{ $operation->updated_at }}</p>
</div>
</div>
</div>
<div class="row mb-5">
<div class="col-md-4 mb-3">
<div class="image-container">
@if($preOpPhoto)
<figure>
<img src="{{ asset($preOpPhoto->gambar) }}" alt="Pre-Op Image" width="300">
<figcaption style="color: #ffffff;">Pre-Op (Sebelum Operasi)</figcaption>
</figure>
@endif
</div>
</div>
<div class="col-md-4 mb-3">
<div class="image-container">
@if($postOpPhoto)
<figure>
<img src="{{ asset($postOpPhoto->gambar) }}" alt="Post-Op Image" width="300">
<figcaption style="color: #ffffff;">Post-Op (Setelah Operasi)</figcaption>
</figure>
@endif
</div>
</div>
<!-- <div class="col-md-4 mb-3">
<div class="image-container">
@if($kontrolPhoto)
<figure>
<img src="{{ asset($kontrolPhoto->gambar) }}" alt="Control Image" width="300">
<figcaption style="color: #ffffff;">Control (Foto Kontrol Setelah Operasi)</figcaption>
</figure>
@endif
</div>
</div> -->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="{{ asset('main/assets/libs/jquery/dist/jquery.min.js') }}"></script>
<script src="{{ asset('main/assets/libs/bootstrap/dist/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('main/assets/js/sidebarmenu.js') }}"></script>
<script src="{{ asset('main/assets/js/app.min.js') }}"></script>
<!-- Logout button script -->
<script>
document.getElementById('logout-link').addEventListener('click', function(event) {
event.preventDefault();
document.getElementById('logout-form').submit();
});
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const requestDataBtn = document.getElementById('requestDataBtn');
const cancelRequestBtn = document.getElementById('cancelRequestBtn');
const downloadDataBtn = document.getElementById('downloadDataBtn');
let modalInstance = null;
// Function to check the latest request status
function checkLatestRequest() {
fetch(`/api/check-request/{{ $operation->id }}`)
.then(response => response.json())
.then(data => {
if (data.request) {
switch (data.request.status) {
case 'Pending':
requestDataBtn.textContent = 'Request Pending';
requestDataBtn.disabled = true;
requestDataBtn.classList.remove('btn-primary', 'btn-danger');
requestDataBtn.classList.add('btn-secondary');
cancelRequestBtn.style.display = 'inline-block';
break;
case 'Approved':
requestDataBtn.textContent = 'Request Approved';
requestDataBtn.disabled = true;
requestDataBtn.classList.remove('btn-primary', 'btn-danger');
requestDataBtn.classList.add('btn-success');
downloadDataBtn.style.display = 'inline-block';
break;
case 'Rejected':
requestDataBtn.textContent = 'Request Rejected';
requestDataBtn.disabled = false;
requestDataBtn.classList.remove('btn-primary', 'btn-secondary');
requestDataBtn.classList.add('btn-danger');
requestDataBtn.onclick = showRejectionReason;
break;
}
}
});
}
// Check the latest request status on page load
checkLatestRequest();
// Function to show rejection reason
function showRejectionReason() {
if (modalInstance) {
modalInstance.show();
return;
}
fetch(`/api/rejection-reason/{{ $operation->id }}`)
.then(response => response.json())
.then(data => {
// Create modal elements
const modal = document.createElement('div');
modal.className = 'modal fade';
modal.id = 'rejectionModal';
modal.setAttribute('tabindex', '-1');
modal.setAttribute('aria-labelledby', 'rejectionModalLabel');
modal.setAttribute('aria-hidden', 'true');
modal.innerHTML = `
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="rejectionModalLabel">Request Rejected</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="mb-3">
<label class="form-label">Reason for rejection:</label>
<p>${data.keterangan}</p>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" id="newRequestBtn">Make New Request</button>
</div>
</div>
</div>
`;
// Append modal to body
document.body.appendChild(modal);
// Show modal
modalInstance = new bootstrap.Modal(modal);
modalInstance.show();
// Add event listener to "Make New Request" button
document.getElementById('newRequestBtn').addEventListener('click', function() {
modalInstance.hide();
window.location.href = "{{ route('operations.request_data', ['id' => $operation->id]) }}";
});
// Remove modal instance when it's hidden
modal.addEventListener('hidden.bs.modal', function() {
modalInstance = null;
});
});
}
// Function to make a new request
function makeNewRequest() {
fetch(`/api/make-new-request/{{ $operation->id }}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content')
}
})
.then(response => response.json())
.then(data => {
if (data.success) {
alert('New request submitted successfully');
location.reload();
} else {
alert('Failed to submit new request. Please try again.');
}
});
}
// Event listener for Request Data button
requestDataBtn.addEventListener('click', function() {
if (requestDataBtn.textContent === 'Request Rejected') {
} else {
window.location.href = "{{ route('operations.request_data', ['id' => $operation->id]) }}";
}
});
// Event listener for Cancel Request button
cancelRequestBtn.addEventListener('click', function() {
if (confirm('Are you sure you want to cancel this request?')) {
window.location.href = `/cancel-request/{{ $operation->id }}`;
}
});
// Event listener for Download Data button
downloadDataBtn.addEventListener('click', function() {
window.location.href = "{{ route('operations.download', ['id' => $operation->id]) }}";
});
});
</script>
</body>
</html>