CRUD laboratory

This commit is contained in:
2026-06-16 15:06:11 +07:00
parent f4c7af85e9
commit 09de1c3e92
12 changed files with 67 additions and 70 deletions

View File

@@ -26,7 +26,7 @@
<div class="col-md-12 grid-margin stretch-card">
<div class="card" style="min-height: 80vh;">
<div class="card-body">
<h4 class="card-title">{{__('laboratory.table_title')}}</h4>
<h4 class="card-title"><i class="mdi mdi-dots-vertical menu-icon"></i> {{__('laboratory.table_title')}}</h4>
<div class="row">
<div class="col-sm-12">
<form method="get" action="{{url('laboratory/search')}}">
@@ -95,7 +95,7 @@
</div>
<!-- Modal Laboratory -->
<div class="modal mt-5 fade modal-primary" id="modal-laboratory">
<div class="modal-dialog modal-xl">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h6 class="modal-title">{{__('_')}}</h6>
@@ -160,7 +160,7 @@
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-inverse-success rounded-25" id="btnSave"><i class="fa fa-floppy-o"></i>&nbsp;&nbsp;<span class="save">{{__('lang.save')}}</span><span class="update" style="display: none">{{__('lang.update')}}</span></button>
<button type="button" class="btn btn-success rounded-25" id="btnSave"><i class="fa fa-floppy-o"></i>&nbsp;&nbsp;<span class="save">{{__('lang.save')}}</span><span class="update" style="display: none">{{__('lang.update')}}</span></button>
<button type="button" class="btn btn-secondary rounded-25 ml-2" data-dismiss='modal'>{{__('lang.cancel')}}</button>
</div>
</div>

View File

@@ -120,7 +120,8 @@
</ul>
<button class="navbar-toggler navbar-toggler-right d-lg-none align-self-center" type="button" data-toggle="offcanvas">
<span class="mdi mdi-backburger text-white"></span>
{{-- <span class="mdi mdi-menu-swap-outline text-white" ></span>--}}
<span class="mdi mdi-menu-swap-outline text-white fa fa-rotate-180" style="font-size: 20pt; top: 20px; padding: 3px; rotate:90deg;"></span>
</button>
</div>
</nav>

View File

@@ -48,16 +48,45 @@
</li>
@endif
<li class="nav-item {{ in_array(request()->segment(1), ['laboratory-profile', 'department', 'sample-type', 'test', 'comment', 'organism', 'antibiotic', 'quantity', 'sample-source', 'patient-type', 'physician', 'lab-users']) ? 'active' : '' }}">
<a class="nav-link" data-toggle="collapse" href="#incident-record" aria-expanded="false" aria-controls="incident-record">
<i class="mdi mdi-oil-temperature menu-icon"></i>
<span class="menu-title text-uppercase">កត់ត្រាឧប្បត្តិហេតុ</span>
<i class="menu-arrow"></i>
</a>
<div class="collapse {{ in_array(request()->segment(1), ['laboratory-profile', 'department', 'sample-type', 'test', 'comment', 'organism', 'antibiotic', 'quantity', 'sample-source', 'patient-type', 'physician', 'lab-users']) ? 'show' : '' }}" id="incident-record">
<ul class="nav flex-column sub-menu">
</ul>
</div>
</li>
<li class="nav-item {{ in_array(request()->segment(1), ['laboratory-profile', 'department', 'sample-type', 'test', 'comment', 'organism', 'antibiotic', 'quantity', 'sample-source', 'patient-type', 'physician', 'lab-users']) ? 'active' : '' }}">
<a class="nav-link" data-toggle="collapse" href="#lab-manager" aria-expanded="false" aria-controls="lab_manager">
<i class="fa fa-folder-open-o menu-icon"></i>
<span class="menu-title text-uppercase">គ្រប់គ្រងសម្ភារៈ</span>
<span class="menu-title text-uppercase">គ្រប់គ្រងសម្ភារៈ និងបរិក្ខារ</span>
<i class="menu-arrow"></i>
</a>
<div class="collapse {{ in_array(request()->segment(1), ['laboratory-profile', 'department', 'sample-type', 'test', 'comment', 'organism', 'antibiotic', 'quantity', 'sample-source', 'patient-type', 'physician', 'lab-users']) ? 'show' : '' }}" id="lab-manager">
<ul class="nav flex-column sub-menu">
<li class="nav-item"> <a class="nav-link" href="">អគារ</a></li>
<li class="nav-item"> <a class="nav-link" href="">បន្ទប់</a></li>
<li class="nav-item"> <a class="nav-link" href="">ទូរបង្កក</a></li>
<li class="nav-item"> <a class="nav-link" href="">ធ្នើ</a></li>
<li class="nav-item"> <a class="nav-link" href="">ប្រអប់សំណាក</a></li>
</ul>
</div>
</li>
<li class="nav-item {{ in_array(request()->segment(1), ['laboratory-profile', 'department', 'sample-type', 'test', 'comment', 'organism', 'antibiotic', 'quantity', 'sample-source', 'patient-type', 'physician', 'lab-users']) ? 'active' : '' }}">
<a class="nav-link" data-toggle="collapse" href="#catalog" aria-expanded="false" aria-controls="catalog">
<i class="mdi mdi-cards-variant menu-icon"></i>
<span class="menu-title text-uppercase">គ្រប់គ្រងបញ្ជីគម្រូ</span>
<i class="menu-arrow"></i>
</a>
<div class="collapse {{ in_array(request()->segment(1), ['laboratory-profile', 'department', 'sample-type', 'test', 'comment', 'organism', 'antibiotic', 'quantity', 'sample-source', 'patient-type', 'physician', 'lab-users']) ? 'show' : '' }}" id="catalog">
<ul class="nav flex-column sub-menu">
<li class="nav-item"> <a class="nav-link" href="">បញ្ជីគម្រូ</a></li>
<li class="nav-item"> <a class="nav-link" href="">ប្រភេទសារពាង្គកាយ/មេរោគ</a></li>
<li class="nav-item"> <a class="nav-link" href="">ប្រភេទសំណាក</a></li>
<li class="nav-item"> <a class="nav-link" href="">ប្រភពសំណាក</a></li>

View File

@@ -75,8 +75,8 @@
? asset('storage/avatars/'.auth()->user()->avatar)
: 'https://ui-avatars.com/api/?name='.urlencode(auth()->user()->name) }}"
class="rounded-circle"
width="100"
height="100">
width="80"
height="80">
</div>
<!-- Name -->
<h6 class="mb-1">{{ auth()->user()->name }}</h6>
@@ -84,11 +84,11 @@
<div class="text-start">
<p>
{{__('general.user_name')}} :
<strong>{{ auth()->user()->email }}</strong>
{{ auth()->user()->email }}
</p>
<p>
{{__('general.user_role')}} :
<strong>{{ auth()->user()->role->name_en }}</strong>
{{ auth()->user()->role->name_en }}
</p>
</div>

View File

@@ -131,7 +131,7 @@
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-info rounded-25" id="btnSave"><i class="fa fa-floppy-o"></i>&nbsp;&nbsp;<span class="save">{{__('general.btn_save')}}</span><span class="update" style="display: none">{{__('lang.update')}}</span></button>
<button type="button" class="btn btn-success rounded-25" id="btnSave"><i class="fa fa-floppy-o"></i>&nbsp;&nbsp;<span class="save">{{__('general.btn_save')}}</span><span class="update" style="display: none">{{__('lang.update')}}</span></button>
<button type="button" class="btn btn-secondary rounded-25 mx-3" data-dismiss='modal'>{{__('general.btn_cancel')}}</button>
</div>
</div>
@@ -158,7 +158,7 @@
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-info rounded-25" onclick="$('#submit_role_permission').click()"><i class="fa fa-floppy-o"></i>&nbsp;&nbsp;<span class="save">{{__('lang.save')}}</span><span class="update" style="display: none">{{__('lang.update')}}</span></button>
<button type="button" class="btn btn-success rounded-25" onclick="$('#submit_role_permission').click()"><i class="fa fa-floppy-o"></i>&nbsp;&nbsp;<span class="save">{{__('lang.save')}}</span><span class="update" style="display: none">{{__('lang.update')}}</span></button>
<button type="button" class="btn btn-secondary rounded-25 mx-3" data-dismiss='modal'>{{__('lang.cancel')}}</button>
</div>
</div>

View File

@@ -90,12 +90,12 @@
<td class="py-1">{{$user->role->name_en}}</td>
<td class="py-1">
@if(\App\Http\Controllers\Helper\GlobalController::user_can(Auth::user()->role_id, ['assign_lab']))
<i class="mdi mdi-domain text-info" style="font-size: 17px; cursor: pointer;" title="{{__('user_account.table_labs')}}" aria-hidden="true" data-action="assign_lab" data-uid="{{$user->id}}" data-toggle="modal" data-target="#modal-user-labs" data-backdrop="static"></i> &nbsp;
<i class="mdi mdi-hospital-building text-info" style="font-size: 17px; cursor: pointer;" title="{{__('user_account.table_labs')}}" aria-hidden="true" data-action="assign_lab" data-uid="{{$user->id}}" data-toggle="modal" data-target="#modal-user-labs" data-backdrop="static"></i> &nbsp;
@endif
@foreach($user->userOrganizations as $userOrganization)
<label class="badge badge-outline-info rounded-25" title="{{$userOrganization->organization->name}}">{{ substr($userOrganization->organization->name,0, strpos($userOrganization->organization->name,' ')).'..'}}</label>
<label class="badge badge-outline-info rounded-25" title="{{$userOrganization->organization->name}}">{{ $userOrganization->organization->name}}</label>
@endforeach
</td>
{{-- <td class="py-1 text-center">--}}
@@ -163,7 +163,7 @@
</div>
<div class="modal-footer">
@if(\App\Http\Controllers\Helper\GlobalController::user_can(Auth::user()->role_id, ['create_user_account']))
<button type="button" class="btn btn-info rounded-25" id="btnSave"><i class="fa fa-floppy-o"></i>&nbsp;&nbsp;<span class="save">{{__('general.btn_save')}}</span><span class="update" style="display: none"><i class="fa fa-floppy-o"></i>{{__('lang.update')}}</span></button>
<button type="button" class="btn btn-success rounded-25" id="btnSave"><i class="fa fa-floppy-o"></i>&nbsp;&nbsp;<span class="save">{{__('general.btn_save')}}</span><span class="update" style="display: none"><i class="fa fa-floppy-o"></i>{{__('lang.update')}}</span></button>
@endif
<button type="button" class="btn btn-secondary rounded-25 mx-3" data-dismiss='modal'>{{__('general.btn_cancel')}}</button>
</div>
@@ -191,13 +191,7 @@
<input type="email" disabled readonly class="form-control" name="email" id="email" />
</div>
<div class="form-group mb-1">
<label for="lab-code" class="control-label">{{__('department.form_laboratory')}}&nbsp;<span class="text-danger">*</span></label>
<div class="form-check" style="width: 250px !important;">
<label class="form-check-label">
<input type="checkbox" class="form-check-input" id="select-all-lab">
{{__('department.form_select_all_lab')}}
</label>
</div>
<label for="lab-code" class="control-label">{{__('laboratory.form_lab_cover')}}&nbsp;<span class="text-danger">*</span></label>
<select class="form-control select2-multiple" multiple="multiple" name="organization_ids" id="organization_ids" style="width: 100% !important;">
@foreach($organizations as $organization)
<option value="{{$organization->id}}">{{$organization->name_en}}</option>
@@ -208,7 +202,7 @@
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-info rounded-25" id="btnAssignLab"><i class="fa fa-floppy-o"></i>&nbsp;&nbsp;<span class="save">{{__('lang.save')}}</span><span class="update" style="display: none">{{__('lang.update')}}</span></button>
<button type="button" class="btn btn-success rounded-25" id="btnAssignLab"><i class="fa fa-floppy-o"></i>&nbsp;&nbsp;<span class="save">{{__('lang.save')}}</span><span class="update" style="display: none">{{__('lang.update')}}</span></button>
<button type="button" class="btn btn-secondary rounded-25 mx-3" data-dismiss='modal'>{{__('lang.cancel')}}</button>
</div>
</div>
@@ -232,11 +226,11 @@
<div class="input-group mb-3">
<input type="password" required class="form-control rounded-right-0" name="password" id="reset-new-password" placeholder="{{__('user_account.form_new_password')}}">
<div class="input-group-append">
<button class="btn btn-secondary px-3" onmouseout="$('#reset-new-password').attr('type','password')" onclick="$('#reset-new-password').attr('type','text')" type="button" style="font-size: 12px; padding: 5px" ><i class="mdi mdi-looks"></i></button>
<button class="btn btn-light px-3" onmouseout="$('#reset-new-password').attr('type','password')" onclick="$('#reset-new-password').attr('type','text')" type="button" style="font-size: 12px; padding: 5px" ><i class="mdi mdi-lightbulb-on-outline"></i></button>
</div>
</div>
<div class="text-right pt-2">
<button type="button" class="btn btn-info rounded-25 px-3" id="btn-reset-password"><i class="fa fa-floppy-o mr-2"></i>{{__('lang.save')}}</button>
<button type="button" class="btn btn-success rounded-25 px-3" id="btn-reset-password"><i class="fa fa-floppy-o mr-2"></i>{{__('lang.save')}}</button>
<button type="button" data-dismiss="modal" aria-label="Close" class="btn btn-secondary px-3 rounded-25 ml-2">{{__('lang.cancel')}}</button>
</div>
</div>
@@ -244,11 +238,6 @@
</div>
</div>
<div class="modal-footer d-none">
<form id="signature-remove-form" action="" method="POST">
@csrf
</form>
</div>
</div>
</div>
</div>
@@ -268,32 +257,19 @@
var get_url = "{{url('user.get')}}";
var assignLabUrl = "{{url('user.assign-labs')}}";
var isManager = 0;
var reset_password_url = "{{url('user.reset_password')}}";
let modal_add_title = "{{__('user_account.form_add_tittle')}}";
let modal_edit_title = "{{__('user_account.form_edit_tittle')}}";
let base_organization_id = "{{Session::get('base_organization_id')}}";
$('#role-id').change(function () {
if($(this).val()==6 || $(this).val()==7){
$('#physician-id').show()
} else $('#physician-id').hide()
})
$('#select-all-lab').click(function () {
if( $('#select-all-lab').is(':checked')){
$('#organization_ids > option').prop("selected", true)
$('#organization_ids').trigger('change')
}else{
$('#organization_ids > option').prop("selected", false)
$('#organization_ids').trigger('change')
}
})
</script>
<script src="{{url(env("APP_URL").'storage/assets/js/admin/user.js')}}"></script>
</body>