laboratory

This commit is contained in:
2026-06-15 15:55:11 +07:00
parent bfb1af2417
commit f4c7af85e9
4 changed files with 68 additions and 631 deletions

View File

@@ -49,7 +49,7 @@
</div>
<div class="row font-14 py-1">
<span class="float-left col-sm-2">{{__('lab_profile.short_name')}}</span>
<span class=" text-muted col-sm-10">{{$info->short_name}}</span>
<span class=" text-muted col-sm-10">{{$info->code}}</span>
</div>
<div class="row font-14 py-1">
<span class="float-left col-sm-2">{{__('laboratory.phone')}}</span>
@@ -74,19 +74,7 @@
</div>
</div>
</div>
<div class="col-lg-12 pr-4 border rounded-lg pt-3 pl-4 mt-3 bg-light">
<h6 class="text-info">{{__('laboratory.license')}}</h6>
<div class="py-2">
<div class="row font-14 py-1">
<span class="float-left col-sm-2">{{__('laboratory.start_date')}}</span>
<span class="text-muted col-sm-10">{{date('l, F j, Y g:i A', strtotime($info->start_date))}}</span>
</div>
<div class="row font-14 py-1">
<span class="float-left col-sm-2">{{__('laboratory.expiry_date')}}</span>
<span class="text-muted col-sm-10">{{date('l, F j, Y g:i A', strtotime($info->end_date))}}</span>
</div>
</div>
</div>
</div>
</div>
</div>
@@ -123,7 +111,7 @@
<input type="text" class="form-control form-control-sm rounded-right-0" name="name_en" id="lab-name-en" value="{{$info->name_en}}" placeholder="{{__('laboratory.table_name_en')}}">
</div>
<div class="input-group-append">
<input type="text" class="form-control form-control-sm rounded-left-0" style="width: 100px !important;" name="short_name" id="lab-code" value="{{$info->short_name}}" maxlength="10" placeholder="{{__('lab_profile.short_name')}}">
<input type="text" class="form-control form-control-sm rounded-left-0" style="width: 100px !important;" name="code" id="lab-code" value="{{$info->code}}" maxlength="10" placeholder="{{__('lab_profile.short_name')}}">
</div>
</div>
</div>
@@ -133,7 +121,7 @@
<div class="form-group mb-1">
<label for="lab-name-kh">{{__('laboratory.phone')}} </label>
<input type="text" class="form-control form-control-sm" name="phone_number" id="phone-number" value="{{$info->phone_number}}" placeholder="{{__('laboratory.phone')}}"/>
<input type="text" class="form-control form-control-sm" name="phone" id="phone-number" value="{{$info->phone}}" placeholder="{{__('laboratory.phone')}}"/>
</div>
<div class="form-group mb-1">
@@ -185,372 +173,25 @@
let base_url = "{{url('laboratory-profile')}}";
let phone_number = "{{$info->phone_number}}";
let phone = "{{$info->phone_number}}";
let email = "{{$info->email}}";
function generateSlug(text) {
return text
.trim()
.split(/\s+/)
.slice(0, 3)
.slice(0, 4)
.map(word => word[0])
.join('')
.toUpperCase().padEnd(3, 'X');
.toUpperCase().padEnd(4, 'X');
}
document.getElementById('lab-name-en').addEventListener('input', function () {
document.getElementById('lab-name-en').addEventListener('input', function () {
document.getElementById('lab-code').value = generateSlug(this.value);
});
function showPreview(event){
if(event.target.files.length > 0){
var src = URL.createObjectURL(event.target.files[0]);
var preview = document.getElementById("file-ip-1-preview");
preview.src = src;
preview.style.display = "block";
$('#image-upload-form').submit();
}
}
/* alternative logo start */
function showAlternativeLogo(event){
if(event.target.files.length > 0){
var src = URL.createObjectURL(event.target.files[0]);
var preview = document.getElementById("file-ip-2-preview");
preview.src = src;
preview.style.display = "block";
$('#alternative-logo-upload-form').submit();
}
}
$('#alternative-logo-upload-form').submit(function(e) {
e.preventDefault();
var formData = new FormData(this);
$.ajax({
url: '{{'laboratory-profile/alternative-logo/upload'}}',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success:function(res){
handleMessage(res.success, res.message)
}
});
});
$('#btn-remove-alternative-logo').click(function(e) {
$.ajax({
url: '{{'laboratory-profile/alternative-logo/remove'}}',
type: 'POST',
data: {"_token": "{{ csrf_token() }}"},
success:function(res){
$('#file-ip-2-preview').attr('src',"")
handleMessage(res.success, res.message)
}
});
});
/* alterntive logo end */
/* default_footer start */
function showDefaultFooter(event){
if(event.target.files.length > 0){
var src = URL.createObjectURL(event.target.files[0]);
var preview = document.getElementById("file-ip-4-preview");
preview.src = src;
preview.style.display = "block";
$('#default-footer-upload-form').submit();
}
}
$('#default-footer-upload-form').submit(function(e) {
e.preventDefault();
var formData = new FormData(this);
$.ajax({
url: '{{'laboratory-profile/default-footer/upload'}}',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success:function(res){
handleMessage(res.success, res.message)
}
});
});
$('#btn-remove-default-footer').click(function(e) {
$.ajax({
url: '{{'laboratory-profile/default-footer/remove'}}',
type: 'POST',
data: {"_token": "{{ csrf_token() }}"},
success:function(res){
$('#file-ip-4-preview').attr('src',"")
handleMessage(res.success, res.message)
}
});
});
/* default_footer end */
/* alternative footer start */
function showAlternativeFooter(event){
if(event.target.files.length > 0){
var src = URL.createObjectURL(event.target.files[0]);
var preview = document.getElementById("file-ip-3-preview");
preview.src = src;
preview.style.display = "block";
$('#alternative-footer-upload-form').submit();
}
}
$('#alternative-footer-upload-form').submit(function(e) {
e.preventDefault();
var formData = new FormData(this);
$.ajax({
url: '{{'laboratory-profile/alternative-footer/upload'}}',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success:function(res){
handleMessage(res.success, res.message)
}
});
});
$('#btn-remove-alternative-footer').click(function(e) {
$.ajax({
url: '{{'laboratory-profile/alternative-footer/remove'}}',
type: 'POST',
data: {"_token": "{{ csrf_token() }}"},
success:function(res){
$('#file-ip-3-preview').attr('src',"")
handleMessage(res.success, res.message)
}
});
});
/* alternative footer end */
function showPreviewAlterVerifyImage(event){
if(event.target.files.length > 0){
var src = URL.createObjectURL(event.target.files[0]);
var preview = document.getElementById("alter-verify-image-preview");
preview.src = src;
preview.style.display = "block";
$('#alter-verify-image-upload-form').submit();
}
}
$('#alter-verify-image-upload-form').submit(function(e) {
e.preventDefault();
var formData = new FormData(this);
$.ajax({
url: '{{'laboratory-profile/alter-verify-sign/upload'}}',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success:function(res){
handleMessage(res.success, res.message)
}
});
});
$('#btn-remove-alter-verify-label').click(function(e) {
$.ajax({
url: '{{'laboratory-profile/alter-verify-sign/remove'}}',
type: 'POST',
data: {"_token": "{{ csrf_token() }}"},
success:function(res){
$('#alter-verify-image-preview').attr('src',"")
handleMessage(res.success, res.message)
}
});
});
function showPreviewAlterLabtechImage(event){
if(event.target.files.length > 0){
var src = URL.createObjectURL(event.target.files[0]);
var preview = document.getElementById("alter-labtech-image-preview");
preview.src = src;
preview.style.display = "block";
$('#alter-labtech-image-upload-form').submit();
}
}
$('#alter-labtech-image-upload-form').submit(function(e) {
e.preventDefault();
var formData = new FormData(this);
$.ajax({
url: '{{'laboratory-profile/alter-labtech-sign/upload'}}',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success:function(res){
handleMessage(res.success, res.message)
}
});
});
$('#btn-remove-alter-labtech-label').click(function(e) {
$.ajax({
url: '{{'laboratory-profile/alter-labtech-sign/remove'}}',
type: 'POST',
data: {"_token": "{{ csrf_token() }}"},
success:function(res){
$('#alter-labtech-image-preview').attr('src',"")
handleMessage(res.success, res.message)
}
});
});
$('#image-upload-form').submit(function(e) {
e.preventDefault();
var formData = new FormData(this);
$.ajax({
url: '{{'laboratory-profile/avatar/upload'}}',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success:function(res){
handleMessage(res.success, res.message)
}
});
});
$('#btn-remove-lab-logo').click(function(e) {
$.ajax({
url: '{{'laboratory-profile/avatar/remove'}}',
type: 'POST',
data: {"_token": "{{ csrf_token() }}"},
success:function(res){
$('#file-ip-1-preview').attr('src',"")
handleMessage(res.success, res.message)
}
});
});
function postLabConfigure(attr_code, attr_value) {
let url = base_url + '/configure/save';
$.ajax({
url: url,
type:"POST",
data :{
"_token": csrf_token,
attribute_code : attr_code,
attribute_value: attr_value
},
success:function(res){
handleMessage(res.success, res.message)
}
});
}
function postLabSettingSetter() {
let url = base_url + '/save';
technician_label = $('#technician-label').val()
sample_number = $("input[name='sample_number']:checked").attr('data-id')
patient_code = $("input[name='patient_number']:checked").attr('data-id')
discount_type = $("input[name='discount_type']:checked").attr('data-id')
exchange_rate = $('#exchange-rate').val()
abnormal_text_color = $('#abnormal-text-color').val()
show_result_footer = $('input[name="show_result_footer"]:checked').attr('data-id')
abnormal_result_font_weight = $('input[name="abnormal_result_font_weight"]:checked').attr('data-id')
result_header_id = $('input[name="result_header_id"]:checked').attr('data-id')
invoice_template_id = $('input[name="invoice_template_id"]:checked').attr('data-id')
if($('#phone-number').val()!='') phone_number = $('#phone-number').val()
if($('#email').val()!='') email = $('#email').val()
currency = $("input[name='currency']:checked").attr('data-id')
$.ajax({
url: url,
type:"POST",
data :{
"_token": csrf_token,
sample_number : sample_number,
patient_code: patient_code,
discount_type: discount_type,
technician_label: technician_label,
phone_number: phone_number,
email: email,
exchange_rate: exchange_rate,
abnormal_text_color: abnormal_text_color,
show_result_footer: show_result_footer,
abnormal_result_font_weight: abnormal_result_font_weight,
result_header_id: result_header_id,
currency:currency,
invoice_template_id: invoice_template_id
},
success:function(res){
if(res.success){
$('.sample-number-mode-getter label').text(res.data.sample_number == 0 ? 'Manual' : 'Auto-generate')
$('.patient-number-mode-getter label').text(res.data.patient_code == 0 ? 'Manual' : 'Auto-generate')
$('.discount-type-getter label').text(res.data.discount_type == 1 ? '(%) Percentage' : '($) Price')
$('.verify-label-getter label').text(res.data.verify_label)
$('.technician-label-getter label').text(res.data.technician_label)
$('.phone-getter span').text(res.data.phone_number)
$('.email-getter span').text(res.data.email)
$('.base-currency-mode-getter label').text(res.data.currency == 0 ? 'USD ($)' :'Riel (៛)')
$('.invoice-template-mode-getter label').text(res.data.invoice_template_id == 1 ? '{{__('laboratory-profile.invoice_detail')}}' : '{{__('laboratory-profile.invoice_summary')}}')
}
handleMessage(res.success, res.message)
}
});
}
/** verify label image */
$('#verify-image-upload-form').submit(function(e) {
e.preventDefault();
var formData = new FormData(this);
$.ajax({
url: '{{'laboratory-profile/verifies/upload'}}',
type: 'POST',
data: formData,
processData: false,
contentType: false,
success:function(res){
handleMessage(res.success, res.message)
}
});
});
function showPreviewVerifyImage(event){
if(event.target.files.length > 0){
var src = URL.createObjectURL(event.target.files[0]);
var preview = document.getElementById("verify-image-preview");
preview.src = src;
preview.style.display = "block";
$('#verify-image-upload-form').submit();
}
}
$('#btn-remove-verify-label').click(function(e) {
$.ajax({
url: '{{'laboratory-profile/verifies/remove'}}',
type: 'POST',
data: {"_token": "{{ csrf_token() }}"},
success:function(res){
$('#verify-image-preview').attr('src',"")
handleMessage(res.success, res.message)
}
});
});
</script>
</html>