428 lines
22 KiB
PHP
428 lines
22 KiB
PHP
<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="approve" reverify="1">
|
|
@if(\App\Http\Controllers\Helper\GlobalController::user_can(Auth::user()->role_id, ['approve_result']) && empty($sample->approved_by))
|
|
<a href="javascript:void(0)" onclick="approveSample({{$sample->id}})" id="approve"><i class="fa fa-check"></i> <b> {{__('sample.btn_approve')}} </b></a>
|
|
@endif
|
|
</li>
|
|
<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'); {{$sample->is_printed==0? 'printRecorder();':''}}" id="doPrinting"><i class="fa fa-print"></i> <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=1.0, maximum-scale=5.0">
|
|
{{--<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')}}');
|
|
font-display: swap;
|
|
}
|
|
|
|
.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: 12pt;
|
|
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;
|
|
}
|
|
.out-of-range {
|
|
font-family: 'SourceSerifPro-Bold', 'serif';
|
|
font-weight: bold;
|
|
font-size: 12pt;
|
|
}
|
|
|
|
.text-center {
|
|
text-align: center;
|
|
}
|
|
.text-left {
|
|
text-align: left;
|
|
}
|
|
.text-right {
|
|
text-align: right;
|
|
}
|
|
.text-top {
|
|
vertical-align: top;
|
|
}
|
|
.text-bottom {
|
|
vertical-align: bottom;
|
|
}
|
|
.text-middle {
|
|
vertical-align: middle;
|
|
}
|
|
.text-bold {
|
|
font-weight: bold;
|
|
}
|
|
.text-no-wrap {
|
|
white-space: nowrap;
|
|
}
|
|
table.test-result {
|
|
line-height: 16px;
|
|
}
|
|
#footer {
|
|
line-height: 17px;
|
|
}
|
|
#footer .laboratory-address td {
|
|
border-top: 1px solid black;
|
|
padding-top: 10px;
|
|
}
|
|
#footer .result-footer-signature td {
|
|
vertical-align: top;
|
|
padding-bottom: 0px;
|
|
}
|
|
|
|
@page {
|
|
margin: 1cm 1cm 0;
|
|
}
|
|
|
|
@media print {
|
|
@page {
|
|
margin: 1cm;
|
|
margin-left: 0.5cm !important;
|
|
}
|
|
|
|
body,
|
|
page[size="A4"] {
|
|
margin: 0;
|
|
margin-left: 0.5cm !important;
|
|
padding: 0;
|
|
box-shadow: none;
|
|
background-color: transparent;
|
|
}
|
|
|
|
/*tbody .sample-result {
|
|
page-break-inside: avoid;
|
|
|
|
}*/
|
|
|
|
body .sample-result .sample-type{
|
|
page-break-inside: avoid;
|
|
}
|
|
|
|
|
|
#result-area thead {display: table-header-group !important;}
|
|
|
|
|
|
#footer {
|
|
display: block;
|
|
position: fixed;
|
|
bottom: 0;
|
|
margin-top: 500px !important;
|
|
padding-bottom: 0px !important;
|
|
}
|
|
|
|
#footer .result-footer-signature td {
|
|
vertical-align: top;
|
|
padding-bottom: 0px;
|
|
}
|
|
|
|
/* table ._department-sample-info tr th:first-child, table ._department-sample-info tr td:first-child{
|
|
width:390px !important;
|
|
}*/
|
|
|
|
table .tname{
|
|
|
|
width:360px !important;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
table .tname{
|
|
|
|
width:360px !important;
|
|
}
|
|
|
|
/*table ._department-sample-info tr th:first-child, table ._department-sample-info tr td:first-child{
|
|
width:390px !important;
|
|
}*/
|
|
|
|
#print_invoice_modal .table-inv th, .table-inv td {
|
|
border: 1px solid black;
|
|
border-collapse: collapse;
|
|
}
|
|
.abnormal{
|
|
font-weight: {{$labSettings->abnormal_result_font_weight==1?'bold':'normal'}} !important;
|
|
color: {{$labSettings->abnormal_text_color}} !important;
|
|
}
|
|
|
|
.patient-info, #footer{
|
|
font-family: "{{(App::isLocale('en') ? 'Times New Roman' : 'Khmer OS Siemreap')}}";
|
|
}
|
|
|
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
<input type="hidden" name="verify" id="verify" value="">
|
|
|
|
<page size="A4">
|
|
<table border="0" id="result-area" width="100%">
|
|
<thead>
|
|
<tr>
|
|
<th style="width:100%" class="text-center">
|
|
@if(!empty($samplePhysician->logo))
|
|
<img src="{{ url(env("APP_URL").'storage/images/physician/'.$samplePhysician->logo) }}" alt="Logo" style="width: 100%">
|
|
@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" > </td>
|
|
</tr>
|
|
</table>
|
|
@endif
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<th class="text-top text-center">
|
|
<div class="{{(App::isLocale('en') ? '' : 'KhmerMoulLight')}}" style="font-size: 13.5pt; text-transform: uppercase; color: #0000ff; font-weight: bold;">{{__('sample.print_title')}}</div>
|
|
</th>
|
|
</tr>
|
|
<tr>
|
|
<th>
|
|
@if($labSettings->result_header_id==1)
|
|
<table width="100%" border="0" class="patient-info">
|
|
<tbody>
|
|
<tr>
|
|
<td width="20%" style="font-size:17px !important; padding-top:1px; line-height:20px; color: #0000ff; font-weight:bold;">{{__('sample.table_patient_name')}}</td>
|
|
<td width="30%" style="font-size:17px !important; padding-top:1px; line-height:20px;" align="left">: {{$sample->patient->name_en}}</td>
|
|
<td width="20%" style="padding-left:0.7cm; padding-top:1px; font-size:17px !important; line-height:20px; color: #0000ff; font-weight:bold;">{{__('sample.form_sample_number')}}</td>
|
|
<td width="30%" style="font-size:17px !important; padding-top:1px; line-height:20px;" align="left">: {{$sample->sample_number}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-size:17px !important; line-height:20px; color: #0000ff; font-weight:bold;">{{__('sample.form_patient_age')}}</td>
|
|
<td width="30%" style="font-size:17px !important; line-height:20px;" align="left">: {{\App\Helpers\Helpers::getAge($sample->patient->dob, $sample->admission_date)}} , <b style="color: #0000ff;">{{__('sample.form_patient_gender')}}</b> : {{\App\Helpers\Helpers::getGender($sample->patient->gender)}}</td>
|
|
<td width="20%" style="padding-left:0.7cm; font-size:17px !important; line-height:20px; color: #0000ff; font-weight:bold;">{{__('sample.table_sample_source')}}</td>
|
|
<td width="30%" style="font-size:17px !important; line-height:20px;" align="left">: {{$sample->sample_source->name_en}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-size:17px !important; line-height:20px; color: #0000ff; font-weight:bold;">{{__('patient.table_phon')}}</td>
|
|
<td width="30%" style="font-size:17px !important; line-height:20px;" align="left">: {{$sample->patient->phone_number}}</td>
|
|
<td width="20%" style="padding-left:0.7cm; font-size:17px !important; line-height:20px; color: #0000ff; font-weight:bold;">{{__('sample.requested_date')}}</td>
|
|
<td width="20%" style="font-size:17px !important; line-height:20px;" align="left">: {{date('d-M-Y H:i',strtotime($sample->collected_date))}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-size:17px !important; padding-bottom:1px; line-height:20px; color: #0000ff; font-weight:bold;">{{__('sample.form_patient_address')}}</td>
|
|
<td width="30%" style="font-size:17px !important; padding-bottom:1px; line-height:20px;" align="left">: {{\App\Helpers\Helpers::getPatientAddress($sample->patient)}}</td>
|
|
<td width="20%" style="padding-left:0.7cm; padding-bottom:1px; font-size:17px !important; line-height:20px; color: #0000ff; font-weight:bold;">{{__('sample.physician_name')}}</td>
|
|
<td width="30%" style="font-size:17px !important; padding-bottom:1px; line-height:20px;" align="left">: {{$samplePhysician->name_en}}</td>
|
|
</tr>
|
|
|
|
</tbody>
|
|
</table>
|
|
@else
|
|
<table width="100%" border="0" class="patient-info">
|
|
<tbody>
|
|
<tr>
|
|
<td width="20%" style="font-size:17px !important; padding-top:2px; line-height:20px; color: #0000ff; font-weight:bold;">{{__('sample.table_patient_name')}}</td>
|
|
<td width="30%" style="font-size:17px !important; padding-top:2px; line-height:20px;" align="left">: {{$sample->patient->name_en}}</td>
|
|
<td width="20%" style="padding-left:0.7cm; padding-top:2px; font-size:17px !important; line-height:20px; color: #0000ff; font-weight:bold;">{{__('sample.form_sample_number')}}</td>
|
|
<td width="30%" style="font-size:17px !important; padding-top:2px; line-height:20px;" align="left">: {{$sample->sample_number}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-size:17px !important; line-height:20px; color: #0000ff; font-weight:bold;">{{__('sample.form_patient_age')}}</td>
|
|
<td width="30%" style="font-size:17px !important; line-height:20px;" align="left">: {{\App\Helpers\Helpers::getAge($sample->patient->dob, $sample->admission_date)}} , <b style="color: #0000ff;">{{__('sample.form_patient_gender')}}</b> : {{\App\Helpers\Helpers::getGender($sample->patient->gender)}}</td>
|
|
<td width="20%" style="padding-left:0.7cm; font-size:17px !important; line-height:20px; color: #0000ff; font-weight:bold;">{{__('sample.requested_date')}}</td>
|
|
<td width="30%" style="font-size:17px !important; line-height:20px;" align="left">: {{date('d-M-Y H:i',strtotime($sample->collected_date))}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td width="20%" style="font-size:17px !important; padding-bottom:2px; line-height:20px; color: #0000ff; font-weight:bold;">{{__('sample.form_patient_address')}}</td>
|
|
<td width="30%" style="font-size:17px !important; padding-bottom:2px; line-height:20px;" align="left">: {{\App\Helpers\Helpers::getPatientAddress($sample->patient)}}</td>
|
|
<td width="20%" style="padding-left:0.7cm; padding-bottom:2px; font-size:17px !important; line-height:20px; color: #0000ff; font-weight:bold;">{{__('sample.physician_name')}}</td>
|
|
<td width="30%" style="font-size:17px !important; padding-bottom:2px; line-height:20px;" align="left">: {{$samplePhysician->name_en}}</td>
|
|
</tr>
|
|
|
|
</tbody>
|
|
</table>
|
|
@endif
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<tfoot>
|
|
<tr>
|
|
<td width="100%">
|
|
<table width="100%" border="0">
|
|
<tbody><tr>
|
|
<td colspan="4" style="height: 240px;"> </td>
|
|
</tr>
|
|
</tbody></table>
|
|
</td>
|
|
</tr>
|
|
</tfoot>
|
|
|
|
<tbody class="sample-result" id="sample-result-print" style="font-size: 12pt;">
|
|
<!-- Comment -->
|
|
</tbody>
|
|
|
|
|
|
|
|
<!-- Note -->
|
|
</table>
|
|
<table id="footer" width="100%" border="0" style="margin-top:20px !important;">
|
|
<tbody>
|
|
<tr style="height:40px !important;"> <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">
|
|
{{__('sample.report_date')}} : {{date('d-M-Y H:i')}} </td>
|
|
</tr>
|
|
<tr class="result-footer-signature">
|
|
<td class="text-center text-no-wrap" valign="bottom">
|
|
{{__('sample.verify_by')}}
|
|
<br>
|
|
@if(!empty($labSettings->verify_label))
|
|
<img id="signature-preview" style="width: 120px !important;" src="{{url(env("APP_URL").'storage/images/avatars/labs/'.$labSettings->verify_label)}}">
|
|
@else
|
|
<br>
|
|
@endif
|
|
</td>
|
|
<td class="text-center text-no-wrap"></td>
|
|
<td class="text-center text-no-wrap">
|
|
{{__('sample.lab_technician')}} <br>
|
|
@if(!empty(\App\Helpers\Helpers::getPrinterSignature($sample->id)))
|
|
<img id="signature-preview" style="width: 120px !important;" src="{{url(env("APP_URL").'storage/images/signature')}}/{{\App\Helpers\Helpers::getPrinterSignature($sample->id)}}">
|
|
@else
|
|
<br>
|
|
@endif
|
|
<p style="text-transform: capitalize;">{{$labSettings->technician_label}}</p>
|
|
</td>
|
|
</tr>
|
|
@if($labSettings->show_result_footer==1)
|
|
<tr>
|
|
<td colspan="3" style="text-align:center; color: #0000ff; border-top:1px solid #000 !important; padding-top:6px;">
|
|
<p style="line-height: 10px !important;">{{ app()->getLocale()=='kh' ? $labSettings->address_kh : $labSettings->address_en}} </p>
|
|
<p style="line-height: 10px !important;">{{$labSettings->phone_number}} {{$labSettings->email}}</p>
|
|
</td>
|
|
</tr>
|
|
@endif
|
|
</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>
|