This commit is contained in:
Masroor Ehsan 2025-01-06 19:15:25 +06:00
parent ca4b510743
commit 4838c45289
9 changed files with 154 additions and 38 deletions

View File

@ -57,9 +57,9 @@ public function dataTable(QueryBuilder $query): EloquentDataTable
})
->editColumn('history', function (Study $study) {
return sprintf('
<a href="#" class="btn btn-sm btn-outline-light" data-toggle="modal" data-target="#historyModal" data-study-id="#" data-url="#">
<i class="fa-light fa-file-prescription %s"></i>
</a>
<a href="#" data-id="' . _h($study->id) . '" class="btn btn-sm btn-outline-light show-attach">
<i class="fa-light fa-file-prescription %s"></i>
</a>
', blank($study->body_part_examined) ? 'text-muted' : 'text-primary');
})
->orderColumn('patient_name', 'patient_name $1')

View File

@ -3,6 +3,7 @@
namespace App\Http\Controllers\Staff;
use App\Http\Controllers\HashidControllerBase;
use App\Models\Enums\Permission;
use App\Models\Study;
use App\Services\AuditTrail\Activity;
@ -51,6 +52,15 @@ public function show()
$data['Station'] = $properties->get('station_name');
$data['Operator'] = $properties->get('operators_name');
return view('staff.studies.show-details', compact('data'));
return view('staff.studies.show-details', compact('data', 'study'));
}
public function attachments()
{
$this->decodeKeys();
$study = Study::findOrFail($this->key);
$allow_delete = auth()->user()->may(Permission::AttachmentUpload);
return view('staff.history.partials._uploaded-studies-list', compact('study', 'allow_delete'));
}
}

View File

@ -94,6 +94,8 @@
@section('content')
@include('staff.worklist.partials._study-info-header', ['study' => $study])
<div class="row g-6">
<div class="col-8">

View File

@ -0,0 +1,33 @@
<div class="card shadow-none bg-transparent border mb-4">
<div class="card-body">
<h5 class="card-title">Clinical History</h5>
{!! $details->clinical_history !!}
</div>
</div>
@if(!blank($details->surgical_history))
<div class="card shadow-none bg-transparent border mb-4">
<div class="card-body">
<h5 class="card-title">Surgical History</h5>
{!! $details->surgical_history !!}
</div>
</div>
@endif
@if(!blank($details->lab_results))
<div class="card shadow-none bg-transparent border mb-4">
<div class="card-body">
<h5 class="card-title">Lab Results</h5>
{!! $details->lab_results !!}
</div>
</div>
@endif
@if(!blank($details->clinical_diagnosis))
<div class="card shadow-none bg-transparent border mb-4">
<div class="card-body">
<h5 class="card-title">Clinical Diagnosis</h5>
{!! $details->clinical_diagnosis !!}
</div>
</div>
@endif

View File

@ -25,36 +25,13 @@
@endsection
@section('content')
<div class="row">
<div class="col-8">
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
{{ __('History') }}
</h2>
<div class="row">
<div class="col-8">
<div class="card shadow-none bg-transparent border mb-4">
<div class="card-body">
<h5 class="card-title">Clinical History</h5>
{!! $details->clinical_history !!}
</div>
</div>
<div class="card shadow-none bg-transparent border mb-4">
<div class="card-body">
<h5 class="card-title">Surgical History</h5>
{!! $details->surgical_history !!}
</div>
</div>
<div class="card shadow-none bg-transparent border mb-4">
<div class="card-body">
<h5 class="card-title">Lab Results</h5>
{!! $details->lab_results !!}
</div>
</div>
<div class="card shadow-none bg-transparent border mb-4">
<div class="card-body">
<h5 class="card-title">Clinical Diagnosis</h5>
{!! $details->clinical_diagnosis !!}
</div>
</div>
@include('staff.history.partials._history', ['details' => $details])
</div>
<div class="col-4">

View File

@ -3,7 +3,7 @@
@endphp
<div class="fs-6 text-nowrap table-responsive">
<table class="table table-sm table-bordered">
<table class="table table-sm table-bordered mb-4">
<tbody>
@foreach ($chunks as $chunk)
<tr>
@ -15,4 +15,6 @@
@endforeach
</tbody>
</table>
@include('staff.history.partials._history', ['details' => $study->details])
</div>

View File

@ -43,11 +43,20 @@
$('body').on('click', '.showStudy', function () {
var study_id = $(this).data('id');
$.get("{{ route('staff.studies.show') }}", {hashid: study_id}, function (data) {
$('#studyDetails').html(data);
$('#studyModal').modal('show');
$('#study-details').html(data);
$('#study-modal').modal('show');
});
});
$('body').on('click', '.show-attach', function () {
var study_id = $(this).data('id');
$.get("{{ route('staff.studies.attach') }}", {hashid: study_id}, function (data) {
$('#study-details').html(data);
$('#study-modal').modal('show');
});
});
});
</script>
@endsection
@ -58,15 +67,30 @@
{{ $dataTable->table(['class' => 'table table-sm'], true) }}
</div>
<div class="modal fade" id="studyModal" tabindex="-1" aria-labelledby="studyModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal fade" id="study-modal" tabindex="-1" aria-labelledby="studyModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="studyModalLabel">Study Information</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div id="studyDetails"></div>
<div id="study-details"></div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="attach-modal" tabindex="-1" aria-labelledby="label-attach" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="label-attach">Attached Docs</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div id="attach-details"></div>
</div>
</div>
</div>

View File

@ -0,0 +1,67 @@
<div class="col-12">
<div class="card">
<div class="card-widget-separator-wrapper">
<div class="card-body card-widget-separator">
<div class="row gy-4 gy-sm-1">
<div class="col-sm-6 col-lg-3">
<div
class="d-flex justify-content-between align-items-start card-widget-1 border-end pb-4 pb-sm-0">
<div>
<h4 class="mb-0">{{ $study->patient_id }}</h4>
<p class="mb-0">Patient ID</p>
</div>
<div class="avatar me-sm-6">
<span class="avatar-initial rounded-3 bg-label-secondary">
<i class="ri-map-pin-user-line text-heading ri-26px"></i>
</span>
</div>
</div>
<hr class="d-none d-sm-block d-lg-none me-6">
</div>
<div class="col-sm-6 col-lg-3">
<div
class="d-flex justify-content-between align-items-start card-widget-2 border-end pb-4 pb-sm-0">
<div>
<h4 class="mb-0">{{ $study->patient_name }}</h4>
<p class="mb-0">Patient Name</p>
</div>
<div class="avatar me-lg-6">
<span class="avatar-initial rounded-3 bg-label-secondary">
<i class="ri-user-line text-heading ri-26px"></i>
</span>
</div>
</div>
<hr class="d-none d-sm-block d-lg-none">
</div>
<div class="col-sm-6 col-lg-3">
<div
class="d-flex justify-content-between align-items-start border-end pb-4 pb-sm-0 card-widget-3">
<div>
<h4 class="mb-0">{{ $study->study_description }}</h4>
<p class="mb-0">Study</p>
</div>
<div class="avatar me-sm-6">
<span class="avatar-initial rounded-3 bg-label-secondary">
<i class="ri-stack-line text-heading ri-26px"></i>
</span>
</div>
</div>
</div>
<div class="col-sm-6 col-lg-3">
<div class="d-flex justify-content-between align-items-start">
<div>
<h4 class="mb-0">{{ $study->study_date->format('D M d, Y H:i A') }}</h4>
<p class="mb-0">Study Date</p>
</div>
<div class="avatar">
<span class="avatar-initial rounded-3 bg-label-secondary">
<i class="ri-calendar-line text-heading ri-26px"></i>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -54,6 +54,7 @@
Route::group(['prefix' => 'studies', 'as' => 'studies.'], function () {
Route::get('show', [StudiesController::class, 'show'])->name('show');
Route::get('attach', [StudiesController::class, 'attachments'])->name('attach');
});
Route::group(['prefix' => 'history', 'as' => 'history.'], function () {