radfusion/resources/views/staff/worklist/index.blade.php
2025-01-19 01:12:01 +06:00

232 lines
8.3 KiB
PHP

@php
$configData = App\Services\ThemeHelper::appClasses();
$container = 'container-fluid';
$containerNav = 'container-fluid';
/*
$isNavbar = false;
$navbarType = 'layout-navbar-hidden';
$isMenu = false;
$navbarHideToggle = false;
*/
@endphp
@extends('layouts.layoutMaster')
@section('title', 'Worklist')
@section('vendor-style')
@vite([
'resources/fontawesome/scss/fontawesome.scss',
//'resources/fontawesome/scss/solid.scss',
'resources/fontawesome/scss/light.scss',
'resources/assets/vendor/libs/datatables-bs5/datatables.bootstrap5.scss',
'resources/assets/vendor/libs/datatables-responsive-bs5/responsive.bootstrap5.scss',
//'resources/assets/vendor/libs/datatables-checkboxes-jquery/datatables.checkboxes.scss',
//'resources/assets/vendor/libs/datatables-buttons-bs5/buttons.bootstrap5.scss'
'resources/assets/vendor/libs/flatpickr/flatpickr.scss',
'resources/assets/vendor/libs/bootstrap-datepicker/bootstrap-datepicker.scss',
'resources/assets/vendor/libs/bootstrap-daterangepicker/bootstrap-daterangepicker.scss',
])
@endsection
@section('vendor-script')
<script src="https://code.jquery.com/jquery-3.7.1.min.js" crossorigin="anonymous"></script>
@vite([
'resources/assets/vendor/libs/datatables-bs5/datatables-bootstrap5.js',
'resources/assets/vendor/libs/flatpickr/flatpickr.js',
'resources/assets/vendor/libs/bootstrap-datepicker/bootstrap-datepicker.js',
'resources/assets/vendor/libs/bootstrap-daterangepicker/bootstrap-daterangepicker.js',
])
@endsection
@section('page-script')
@vite([
//'resources/assets/js/forms-pickers.js',
'resources/assets/js/ui-popover.js'
])
{{ $dataTable->scripts() }}
<script type="text/javascript">
$(function () {
$('body').on('click', '.showStudy', function () {
var study_id = $(this).data('id');
$.get("{{ route('staff.studies.show') }}", {hashid: study_id}, function (data) {
$('#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');
});
});
$('body').on('click', '.show-assign', function () {
var study_id = $(this).data('id');
$.get("{{ route('staff.assign.show') }}", {hashid: study_id}, function (data) {
$('#assign-details').html(data);
$('#assign-modal').modal('show');
});
});
$('body').on('click', '.show-reports', function () {
var study_id = $(this).data('id');
$.get("{{ route('staff.report.popup') }}", {hashid: study_id}, function (data) {
$('#report-details').html(data);
$('#report-modal').modal('show');
});
});
});
</script>
<script type="text/javascript">
$(function () {
function generateUrl(status, sf, st) {
const url = new URL("{{ route('staff.worklist.index') }}");
if (status) {
url.searchParams.set('status', status);
}
if (sf) {
url.searchParams.set('s_f', sf);
}
if (st) {
url.searchParams.set('s_t', st);
}
return url.toString();
}
const fp_study = $('#study_date_range').flatpickr({
mode: 'range',
dateFormat: 'Y-m-d'
});
let _status = null;
let _study_from = null;
let _study_to = null;
const tableId = '#worklist-table';
const table = $(tableId).DataTable({
retrieve: true
});
function getActiveTabStatus() {
return $('.nav-tabs .active').attr('id').replace('nav-', '');
}
function filterTableStatus(status) {
_status = status;
table.ajax.url(generateUrl(_status, null, null)).load();
}
function filterTableStudyDate(from, to) {
table.ajax.url(generateUrl(_status, from, to)).load();
}
function filterTable() {
table.ajax.url(generateUrl(_status, _study_from, _study_to)).load();
}
function formatDate(date) {
return new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toISOString().slice(0, 10);
}
filterTableStatus('unread');
$('a[data-bs-toggle="tab"]').on('click', function (e) {
_status = $(e.target).attr('id').replace('nav-', '');
filterTable();
});
$('#study_date_search').on('click', function () {
const dateRange = fp_study.selectedDates;
console.log(dateRange[0].toDateString());
if (dateRange.length == 2) {
_study_from = formatDate(dateRange[0]);
_study_to = formatDate(dateRange[1]);
filterTable();
}
});
});
</script>
@endsection
@section('content')
@include('staff.worklist.partials._stats')
@include('staff.worklist.partials._filter-panel')
@include('staff.worklist.partials._nav-top')
<div class="table-responsive text-nowrap">
{{ $dataTable->table(['class' => 'table table-sm'], true) }}
</div>
<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="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>
</div>
<div class="modal fade" id="assign-modal" tabindex="-1" aria-labelledby="label-assign" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="label-assign">Assign Radiologist</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div id="assign-details"></div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="report-modal" tabindex="-1" aria-labelledby="label-report" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="label-report">Reports</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div id="report-details"></div>
</div>
</div>
</div>
</div>
@endsection