init project

This commit is contained in:
2026-05-25 11:08:52 +07:00
parent a388c619b5
commit 895fdd9b83
1437 changed files with 384844 additions and 27 deletions

View File

@@ -0,0 +1,318 @@
<div class="modal fade" id="print_preview_modal" style="padding-top: 40px; background: rgba(0, 0, 0, 0.54); overflow: auto; padding-left: 17px;">
<div class="print-preview-header">
<div class="presult-pagination d-none">
<input type="text" class="page-number" value="1" onfocus="this.select()"> /
<span class="page-count">1</span>
</div>
<ul>
<li style="display: inline-block;" class="print">
@if(\App\Http\Controllers\Helper\GlobalController::user_can(Auth::user()->role_id, ['print_result']))
<a href="javascript:void(0)" onclick="printJS('presult-1', 'html')" id="doPrinting"><i class="fa fa-print"></i>&nbsp;<b>{{__('sample.btn_print')}}</b></a>
@endif
</li>
</ul>
<span class="close-preview" data-dismiss="modal" title="Close"><i class="fa fa-times"></i></span>
</div>
<div class="modal-dialog modal-xxl A4-portrait"><div class="psample-result active" id="presult-1">
<title>Result</title>
<meta name="viewport" content="width=device-width, initial-scale=.5, maximum-scale=12.0, minimum-scale=.25, user-scalable=yes">
{{--<link rel="stylesheet" href="{{url(env("APP_URL").'storage/assets/libs/lightgallery/preview_result.css')}}">--}}
<style>
@font-face {
font-family: 'KhmerOS_muollight';
src: url('{{url(env("APP_URL").'storage/assets/fonts/KhmerOS_muollight.ttf')}}');
}
.KhmerOS {
font-family: 'SourceSerifPro-Regular', 'KhmerOS', 'serif';
}
.KhmerMoulLight {
font-family: 'SourceSerifPro-Regular', 'KhmerOS_muollight', 'serif';
}
.tacteng {
font-family: Tacteng !important;
}
.sourceserifpro-bold {
font-family: 'SourceSerifPro-Bold', 'serif';
}
/*body {
background: rgb(204, 204, 204);
}*/
page[size="A4"] {
background: white;
width: 21cm;
display: block;
margin: 10px auto;
margin-left: 0.5cm !important;
box-shadow: 0 0 0.5cm rgba(0,0,0,0.5);
padding: 1cm;
font-family: 'SourceSerifPro-Regular', 'Noto Sans Khmer', 'serif';
font-size: 13pt;
line-height: 23px;
page-break-after: always;
}
page[size="A4"], th, td {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
page[size="A4"] table {
border-spacing: 2px !important;
border-collapse: separate !important;
}
table th, table td {
text-align: left;
}
table td {
font-weight: normal;
}
table.patient-info, table.department-sample-info {
border: 1px solid #7a7a7a;
line-height: 18px;
padding: 3px;
}
table.patient-info td, table.patient-info th {
vertical-align: top;
}
table.department-sample-info {
background-color: #ebebeb;
}
table.test-result {
font-family: 'SourceSerifPro-Regular', 'serif';
}
table.test-result tr th {
border-bottom: 1px solid black;
}
table.test-result tr th:not(:last-child), table.test-result tr td:not(:last-child) {
padding-right: .2cm;
}
table.test-result tr:first-child + tr td {
padding-top: 5px;
}
p.value-pair {
position: relative;
width: 100%;
margin: 0;
}
p.value-pair:before {
content: '';
display: block;
position: absolute;
width: 100%;
bottom: .25rem;
height: 0;
line-height: 0;
border-bottom: 2px dotted #858585;
}
p.value-pair .name {
background: white;
z-index: 1;
position: relative;
padding-right: 5px;
}
p.value-pair .value {
background: white;
z-index: 1;
right: 0;
position: absolute;
padding-left: 5px;
font-weight: bold;
}
.text-center {
text-align: center;
}
.text-no-wrap {
white-space: nowrap;
}
@page {
margin: 1cm 1cm 0;
}
@media print {
@page {
margin-top: 0.1cm;
margin-left: 0.5cm !important;
}
@page :second {
margin-top: 2cm;
}
body,
page[size="A4"] {
margin-left: 0.1cm !important;
padding-right: 1cm !important;
box-shadow: none;
background-color: transparent;
}
#print_preview_modal .table-inv th, .table-inv td {
border: 1px solid black;
border-collapse: collapse;
}
.bg-light{
background: #e8e8e8 !important;
}
.border-0{
border:none !important;
}
}
#print_preview_modal .table-inv th, .table-inv td {
border: 1px solid black;
border-collapse: collapse;
}
.bg-light{
background: #e8e8e8 !important;
}
.border-0{
border:none !important;
}
</style>
<page size="A4">
<table border="0" width="100%">
<thead>
<tr>
<th style="width:100%" class="text-center">
@if(!empty($samplePhysician->logo))
<img width="100%" class="rounded-0" src="{{ url(env("APP_URL").'storage/images/physician/'.$samplePhysician->logo) }}" />
@else
<table width="100%">
<tr>
<td style="width:120px; vertical-align: top;" class="text-center">
<img src="{{url(env("APP_URL").'storage/images/avatars/labs/'.$labSettings->logo)}}" alt="Logo" style="width: 120px;">
</td>
<td class="text-center">
<p style="line-height: 13px !important; font-size: 15pt; font-weight: bold; color: #0000ff;" class="KhmerMoulLight py-1">{{$labSettings->name_kh}}</p>
<p style="line-height: 13px !important; font-size: 13.5pt; font-weight: bold; color: #0000ff;" class="text-uppercase py-1">{{$labSettings->name_en}}</p>
</td>
<td style="width:120px" >&nbsp;</td>
</tr>
</table>
@endif
</th>
</tr>
<tr>
<td class="text-top text-center">
<div class="" style="font-size: 13pt; font-weight: 600;">{{$report_data['report_name']}}</div>
</td>
</tr>
</table>
@if(!empty($report_data['report_data']) && $report_data['report_id']==1)
<div class="col-sm-12 p-0 mb-1 mt-1">
<div class="table-responsive--">
<table class="table table-bordered table-inv" width="100%" border="0" style="border-collapse: collapse !important; font-size: 11pt">
<thead>
<tr class="bg-light">
<th class="p-1">Item Group</th>
<th class="p-1">Item Name</th>
<th class="p-1">On hand</th>
<th class="p-1">Last Stock In</th>
<th class="p-1">Last Stock Out</th>
</tr>
</thead>
<tbody>
@foreach($report_data['report_data'] as $v)
<tr>
<td class="p-1">{{$v->item_group}}</td>
<td class="p-1">{{$v->item_name}}</td>
<td class="p-1 text-center">{{floatval($v->available_quantity)}}</td>
<td class="p-1 text-center">{{!empty($v->stock_in_date) ? date('d-m-Y',strtotime($v->stock_in_date)) : ''}}</td>
<td class="p-1 text-center">{{!empty($v->stock_out_date) ? date('d-m-Y',strtotime($v->stock_out_date)) : ''}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endif
@if(!empty($report_data['report_data']) && $report_data['report_id']==2)
<div class="col-sm-12 p-0 mb-1 mt-1">
<div class="table-responsive--">
<table class="table table-bordered table-inv" width="100%" border="0" style="border-collapse: collapse !important; font-size: 11pt">
<thead>
<tr class="bg-light">
<th class="p-1">Item Group</th>
<th class="p-1">Item Name</th>
<th class="p-1">Stock In</th>
<th class="p-1">Stock In Date</th>
<th class="p-1">Expire Date</th>
<th class="p-1"># Month</th>
</tr>
</thead>
<tbody>
@foreach($report_data['report_data'] as $v)
<tr>
<td class="p-1">{{$v->item_group}}</td>
<td class="p-1">{{$v->item_name}}</td>
<td class="p-1 text-right">{{$v->stock_in}}</td>
<td class="p-1 text-center">{{!empty($v->stock_in_date) ? date('d-m-Y',strtotime($v->stock_in_date)) : ''}}</td>
<td class="p-1 text-center">{{!empty($v->expiry_date) ? date('d-m-Y',strtotime($v->expiry_date)) : ''}}</td>
<td class="p-1 text-right">{{$v->months}}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endif
<table id="footer_" width="100%" border="0" style="margin-top:20px !important;">
<tbody>
<tr style="height:40px !important;">&nbsp;<br><td colspan="3"></td></tr>
<tr>
<td class="text-center text-no-wrap" style="width: 7cm"></td>
<td style="width: 7cm"></td>
<td class="text-center text-no-wrap" style="width: 7cm">
{{__('Reported By')}} </td>
</tr>
<tr class="result-footer-signature">
<td class="text-center text-no-wrap" valign="bottom">
</td>
<td class="text-center text-no-wrap"></td>
<td class="text-center text-no-wrap">........................ <br>
{{date('d-m-Y H:i')}}<br>
<!--@if(!empty(Auth::user()->signature))-->
<!-- <img id="signature-preview" style="width: 120px !important;" src="{{url(env("APP_URL").'storage/images/signature/'.Auth::user()->signature)}}">-->
<!--@else-->
<!-- <br>-->
<!--@endif-->
<!--<p style="text-transform: capitalize;">{{$labSettings->technician_label}}</p>-->
</td>
</tr>
</tbody></table>
</page>
</div></div>
<button class="previous d-none"><i class="fa fa-chevron-left"></i></button>
<button class="next d-none"><i class="fa fa-chevron-right"></i></button>
</div>