Rapport-Laravel/resources/views/form/rapport-horizon/1775714229-de6790b2-6cea-42...

701 lines
38 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
@include('layouts.shared/title-meta', ['title' => "Form"])
@include('layouts.shared/head-css', ["mode" => $mode ?? '', "demo" => $demo ?? ''])
<link href="{{asset('assets/libs/sweetalert2/sweetalert2.min.css')}}" rel="stylesheet" type="text/css" />
<link href="{{ asset('assets/libs/select2/select2.min.css') }}" rel="stylesheet" type="text/css" />
</head>
<div id="pageloader">
<img src="http://cdnjs.cloudflare.com/ajax/libs/semantic-ui/0.16.1/images/loader-large.gif" alt="processing..." />
</div>
@php
$brandData = [
['brand'=>'JUNIOR LANZOL 15', 'slug'=>'junior_lanzol_15_units','pseudoId'=>'junior_lanzol_15_value'],
['brand'=>'JUNIOR LANZOL 30', 'slug'=>'junior_lanzol_30_units','pseudoId'=>'junior_lanzol_30_value'],
['brand'=>"LEVOFLOX 250 (10'S) IP", 'slug'=>'levoflox_250_10s_ip_units','pseudoId'=>'levoflox_250_10s_ip_value'],
['brand'=>"LEVOFLOX 250 TAB 10'", 'slug'=>'levoflox_250_tab_10_units','pseudoId'=>'levoflox_250_tab_10_value'],
['brand'=>"LEVOFLOX 500 (10'S) IP", 'slug'=>'levoflox_500_10s_ip_units','pseudoId'=>'levoflox_500_10s_ip_value'],
['brand'=>"LEVOFLOX 500 10'S", 'slug'=>'levoflox_500_10s_units','pseudoId'=>'levoflox_500_10s_value'],
['brand'=>"LEVOFLOX 750 (5'S) IP", 'slug'=>'levoflox_750_5s_ip_units','pseudoId'=>'levoflox_750_5s_ip_value'],
['brand'=>"LEVOFLOX 750 TAB 5'S", 'slug'=>'levoflox_750_tab_5s_units','pseudoId'=>'levoflox_750_tab_5s_value'],
['brand'=>'LEVOFLOX INFUSION', 'slug'=>'levoflox_infusion_units','pseudoId'=>'levoflox_infusion_value'],
['brand'=>'METASPRAY 100AQ', 'slug'=>'metaspray_100aq_units','pseudoId'=>'metaspray_100aq_value'],
/*
['brand'=>'MONTAIR FX', 'slug'=>'montair_fx_units','pseudoId'=>'montair_fx_value'], */
['brand'=>'Montair FX 15s', 'slug'=>'montair_fx_15s_units','pseudoId'=>'montair_fx_15s_value'],
['brand'=>'CEFOPROX 100 30ML(60)', 'slug'=>'cefoprox_100_30ml60_units','pseudoId'=>'cefoprox_100_30ml60_value'],
['brand'=>'CEFOPROX 100DT', 'slug'=>'cefoprox_100dt_units','pseudoId'=>'cefoprox_100dt_value'],
['brand'=>"CEFOPROX 200 10'S", 'slug'=>'cefoprox_200_10s_units','pseudoId'=>'cefoprox_200_10s_value'],
['brand'=>'CEFOPROX 50 30ml', 'slug'=>'cefoprox_50_30ml_units','pseudoId'=>'cefoprox_50_30ml_value'],
['brand'=>'CEFOPROX CV 325 TAB', 'slug'=>'cefoprox_cv_325_tab_units','pseudoId'=>'cefoprox_cv_325_tab_value'],
['brand'=>'Cheston DUO 100ml Syrup', 'slug'=>'cheston_duo_100ml_syrup_units','pseudoId'=>'cheston_duo_100ml_syrup_value'],
['brand'=>'Cheston LS Junior 100 ML', 'slug'=>'cheston_ls_junior_100_ml_units','pseudoId'=>'cheston_ls_junior_100_ml_value'],
['brand'=>'Cheston-D Cough Syrup 100 ML', 'slug'=>'cheston_d_cough_syrup_100_ml_units','pseudoId'=>'cheston_d_cough_syrup_100_ml_value'],
['brand'=>"Cheston-D Plus 1 x 10'S", 'slug'=>'cheston_d_plus_1_x_10s_units','pseudoId'=>'cheston_d_plus_1_x_10s_value'],
['brand'=>'Cheston-LS Cough Syrup 100 ML', 'slug'=>'cheston_ls_cough_syrup_100_ml_units','pseudoId'=>'cheston_ls_cough_syrup_100_ml_value'],
['brand'=>'Cheston-LS Junior 60 ML', 'slug'=>'cheston_ls_junior_60_ml_units','pseudoId'=>'cheston_ls_junior_60_ml_value'],
['brand'=>'DALACIN C 150MG CAPS 10s', 'slug'=>'dalacin_c_150mg_caps_10s_units','pseudoId'=>'dalacin_c_150mg_caps_10s_value'],
['brand'=>'DALACIN C 300MG CAPS 10s', 'slug'=>'dalacin_c_300mg_caps_10s_units','pseudoId'=>'dalacin_c_300mg_caps_10s_value'],
['brand'=>'DOLONEX DISP 20MG TABS (IP)', 'slug'=>'dolonex_disp_20mg_tabs_ip_units','pseudoId'=>'dolonex_disp_20mg_tabs_ip_value'],
['brand'=>'DOLONEX IM 20MG/1ML INJ', 'slug'=>'dolonex_im_20mg1ml_inj_units','pseudoId'=>'dolonex_im_20mg1ml_inj_value'],
['brand'=>"DOLONEX IM 40MG 2ML INJ HOSP (IP)", 'slug'=>'dolonex_im_40mg_2ml_inj_hosp_ip_units','pseudoId'=>'dolonex_im_40mg_2ml_inj_hosp_ip_value'],
['brand'=>"DOLONEX IM 40MG/2ML INJ (IP)", 'slug'=>'dolonex_im_40mg2ml_inj_ip_units','pseudoId'=>'dolonex_im_40mg2ml_inj_ip_value'],
['brand'=>'DUONASE - F 70 MD', 'slug'=>'duonase_f_70_md_units','pseudoId'=>'duonase_f_70_md_value'],
['brand'=>"DUONASE NASAL SPRAY", 'slug'=>'duonase_nasal_spray_units','pseudoId'=>'duonase_nasal_spray_value'],
['brand'=>"IBUGESIC PLUS SUSP", 'slug'=>'ibugesic_plus_susp_units','pseudoId'=>'ibugesic_plus_susp_value'],
['brand'=>'IBUGESIC PLUS SUSP 1', 'slug'=>'ibugesic_plus_susp_1_units','pseudoId'=>'ibugesic_plus_susp_1_value'],
['brand'=>"IBUGESIC PLUS SUSPENSION 100ML - ORANGE", 'slug'=>'ibugesic_plus_suspension_100ml_orange_units','pseudoId'=>'ibugesic_plus_suspension_100ml_orange_value'],
['brand'=>"MUCINAC 200 TABLET 1 X 10'S", 'slug'=>'mucinac_200_tablet_1_x_10s_units','pseudoId'=>'mucinac_200_tablet_1_x_10s_value'],
['brand'=>'MUCINAC 600 TABLETS', 'slug'=>'mucinac_600_tablets_units','pseudoId'=>'mucinac_600_tablets_value'],
['brand'=>'Mucinac AB 1 X 10 TABLETS', 'slug'=>'mucinac_ab_1_x_10_tablets_units','pseudoId'=>'mucinac_ab_1_x_10_tablets_value'],
['brand'=>"Mucinac AB Tablet", 'slug'=>'mucinac_ab_tablet_units','pseudoId'=>'mucinac_ab_tablet_value'],
/* ['brand'=>"MUCINAC C Tablets 1 x 15'S", 'slug'=>'mucinac_c_tablets_1_x_15s_units','pseudoId'=>'mucinac_c_tablets_1_x_15s_value'], */
['brand'=>'Mucinac Oral Solution 100ml', 'slug'=>'mucinac_oral_solution_100ml_units','pseudoId'=>'mucinac_oral_solution_100ml_value'],
['brand'=>"NOVAMOX - 500", 'slug'=>'novamox_500_units','pseudoId'=>'novamox_500_value'],
['brand'=>"NOVAMOX 125 REDIUSE 30 ML", 'slug'=>'novamox_125_rediuse_30_ml_units','pseudoId'=>'novamox_125_rediuse_30_ml_value'],
['brand'=>'NOVAMOX 125 REDIUSE 60 ML', 'slug'=>'novamox_125_rediuse_60_ml_units','pseudoId'=>'novamox_125_rediuse_60_ml_value'],
['brand'=>"NOVAMOX 250 DT 15's", 'slug'=>'novamox_250_dt_15s_units','pseudoId'=>'novamox_250_dt_15s_value'],
['brand'=>"NOVAMOX 250 R/U 30", 'slug'=>'novamox_250_ru_30_units','pseudoId'=>'novamox_250_ru_30_value'],
['brand'=>'NOVAMOX 250 REDIUSE', 'slug'=>'novamox_250_rediuse_units','pseudoId'=>'novamox_250_rediuse_value'],
['brand'=>'NOVAMOX 30ML', 'slug'=>'novamox_30ml_units','pseudoId'=>'novamox_30ml_value'],
['brand'=>"NOVAMOX 60ML", 'slug'=>'novamox_60ml_units','pseudoId'=>'novamox_60ml_value'],
['brand'=>"NOVAMOX CV 1000 MG", 'slug'=>'novamox_cv_1000_mg_units','pseudoId'=>'novamox_cv_1000_mg_value'],
['brand'=>"NOVAMOX CV 228.5 DT TABLETS", 'slug'=>'novamox_cv_2285_dt_tablets_units','pseudoId'=>'novamox_cv_2285_dt_tablets_value'],
['brand'=>"NOVAMOX CV 228.5 MG  SYRUP", 'slug'=>'novamox_cv_2285_mg_syrup_units','pseudoId'=>'novamox_cv_2285_mg_syrup_value'],
['brand'=>"NOVAMOX CV 375 TAB 10s", 'slug'=>'novamox_cv_375_tab_10s_units','pseudoId'=>'novamox_cv_375_tab_10s_value'],
['brand'=>"NOVAMOX CV 457 DT 10's", 'slug'=>'novamox_cv_457_dt_10s_units','pseudoId'=>'novamox_cv_457_dt_10s_value'],
['brand'=>"NOVAMOX CV 625 TABLETS 10", 'slug'=>'novamox_cv_625_tablets_10_units','pseudoId'=>'novamox_cv_625_tablets_10_value'],
['brand'=>"NOVAMOX CV DROPS", 'slug'=>'novamox_cv_drops_units','pseudoId'=>'novamox_cv_drops_value'],
['brand'=>'Novamox CV Dry Syrup 30 ML', 'slug'=>'novamox_cv_dry_syrup_30_ml_units','pseudoId'=>'novamox_cv_dry_syrup_30_ml_value'],
['brand'=>'NOVAMOX CV DS', 'slug'=>'novamox_cv_ds_units','pseudoId'=>'novamox_cv_ds_value'],
['brand'=>"NOVAMOX CV FORTE SYP", 'slug'=>'novamox_cv_forte_syp_units','pseudoId'=>'novamox_cv_forte_syp_value'],
['brand'=>"Novamox CV Forte Syp 60 ml", 'slug'=>'novamox_cv_forte_syp_60_ml_units','pseudoId'=>'novamox_cv_forte_syp_60_ml_value'],
['brand'=>"NOVAMOX DROPS", 'slug'=>'novamox_drops_units','pseudoId'=>'novamox_drops_value'],
['brand'=>"NOVAMOX LB 500", 'slug'=>'novamox_lb_500_units','pseudoId'=>'novamox_lb_500_value'],
['brand'=>"NOVAMOX RDU DROPS", 'slug'=>'novamox_rdu_drops_units','pseudoId'=>'novamox_rdu_drops_value'],
['brand'=>"NOVAMOX-125 DT 15'S", 'slug'=>'novamox_125_dt_15s_units','pseudoId'=>'novamox_125_dt_15s_value'],
['brand'=>"NOVAMOX-250 [15'S]", 'slug'=>'novamox_250_15s_units','pseudoId'=>'novamox_250_15s_value'],
['brand'=>"TEDISPAN 200 TABLETS 6S", 'slug'=>'tedispan_200_tablets_6s_units','pseudoId'=>'tedispan_200_tablets_6s_value'],
['brand'=>"RABICIP - L CAPSULES", 'slug'=>'rabicip_l_capsules_units','pseudoId'=>'rabicip_l_capsules_value'],
['brand'=>"RABICIP 20 15'S", 'slug'=>'rabicip_20_15s_units','pseudoId'=>'rabicip_20_15s_value'],
['brand'=>"RABICIP 20 TABLETS 15S", 'slug'=>'rabicip_20_tablets_15s_units','pseudoId'=>'rabicip_20_tablets_15s_value'],
['brand'=>"RABICIP 20mg (IP) 1 x 15s TABLETS", 'slug'=>'rabicip_20mg_ip_1_x_15s_tablets_units','pseudoId'=>'rabicip_20mg_ip_1_x_15s_tablets_value'],
['brand'=>"RABICIP D CAPSULES 1 X 15'S", 'slug'=>'rabicip_d_capsules_1_x_15s_units','pseudoId'=>'rabicip_d_capsules_1_x_15s_value']
];
@endphp
@php
$submissions = Formhelper::getMultiformData($form->partition, $form_id, $form->user_id);
// $submission = null;
// if(isset($submissions->data->submissions) && count($submissions->data->submissions) > 0) {
// $submission = $submissions->data->submissions[0];
// $formdata = $submission->formdata ?? (object)[];
// } else {
// $formdata = [];
// }
$formdata = null;
if (!empty($submissions->data->submissions)) {
foreach ($submissions->data->submissions as $submission) {
if ($submission->id == $id) {
$formdata = $submission->formdata ?? null;
break;
}
}
}
@endphp
<body class="loading">
<div class="account-pages">
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8 col-lg-6 col-xl-5 p-0">
<div class="card bg-pattern">
<div class="card-body p-3 row">
@if(Session::has('error'))<div class="alert alert-danger">{{Session::get('error')}}</div>
<br>@endif
@if(session('success'))<div class=" alert alert-success">{{ session('success') }}
</div>
<br>@endif
<div class="col-8">
<h4 class="page-title">{{$form->title}}</h4>
</div>
@if(!isset($form->is_approval) || (isset($form->is_approval) && $form->is_approval != 'yes'
) )
<div class="col-4">
@if($form->link_type == 'form')
<a href="/form/history" class="float-end pt-1">View History</a>
@else
<a href="{{url()->previous()}}" class="float-end pt-1">Back</a>
@endif
</div>
@endif
@if(isset($form->user_info))
<div class="col-12">
<h6>Submitted By: {{$form->user_info->name}}</h6>
</div>
@endif
<form method="POST" action="/form/submit" id="report-form" enctype="multipart/form-data">
<input type="hidden" name="form_id" value="{{$form_id}}">
<input type="hidden" name="record_date" value="" id="field-record_date">
@csrf
@if($id)
<input type="hidden" name="id" value="{{$id}}">
@endif
@if(isset($form->manager_can_submit) && $form->manager_can_submit == true)
<div class="col-md-12 mb-2">
<label for="field-user_id" class="form-label"> Select User / Territory <span
class="text-danger">*</span> </label>
<select class="form-control" id="field-user_id" name="user_id" required>
<option value=""> -- Select -- </option>
@foreach($form->users as $option)
<option value="{{$option->value}}" hierarchy="{{$option->hierarchy_id}}"
{{isset($question->value) && $question->value == $option->value ? 'selected':''}}>
{{$option->display}}
</option>
@endforeach
</select>
<input type="hidden" id="field-hierarchy_id" name="hierarchy_id" value="">
</div>
@endif
@foreach($questions as $question)
<div class="col-md-12 mb-2">
<label for="field-{{$question->code}}" class="form-label">{{$question->question}}
{!!$question->required == 'yes' ? '<span class="text-danger">*</span>':''!!}
</label>
@switch($question->type)
@case('hidden')
<input type="{{$question->type}}" id="field-{{$question->code}}"
name="{{$question->code}}"
value="{{isset($question->value)?$question->value:''}}">
@break
@case('text')
@case('email')
@case('tel')
@case('date')
<input type="{{$question->type}}" id="field-{{$question->code}}"
name="{{$question->code}}" class="form-control"
{{$question->required == 'yes'?'required':'' }}
value="{{isset($question->value)?$question->value:''}}">
@break
@case('number')
<input type="{{$question->type}}" min="0" max="9999999999" step="0.01"
id="field-{{$question->code}}" name="{{$question->code}}" class="form-control"
{{$question->required == 'yes'?'required':'' }}
value="{{isset($question->value)?$question->value:0}}">
@break
@case('textarea')
<textarea id="field-{{$question->code}}" name="{{$question->code}}"
class="form-control"
{{$question->required == 'yes'?'required':'' }}>{{isset($question->value)?$question->value:''}}</textarea>
@break
@case('dropdown')
<select class="form-control" id="field-{{ $question->code }}" name="{{ $question->code }}" {{ $question->required == 'yes' ? 'required' : '' }}>
<option value=""> -- Select -- </option>
@foreach ($question->options as $option)
@php $spec = $option->contact->speciality ?? ''; @endphp
<option value="{{ $option->value }}"
{{ isset($question->value) && $question->value == $option->value ? 'selected' : '' }}
msl_code="{{ $option->contact->msl_code ?? '' }}"
speciality="{{ $spec }}">
{{ $option->display }}
</option>
@endforeach
</select>
@break
@case('checkbox')
@foreach($question->options as $option)
<div class="form-check mb-2 form-check-primary">
<input class="form-check-input" type="checkbox"
id="field-{{$question->code}}-{{$option->value}}"
name="{{$question->code}}[]" value="{{$option->value}}"
{{isset($question->value) && $question->value != '' && in_array($option->value, $question->value) ? 'checked':''}}>
<label class="form-check-label"
for="field-{{$question->code}}-{{$option->value}}">{{$option->display}}</label>
</div>
@endforeach
@break
@case('file')
@if(!isset($form->is_approval) || (isset($form->is_approval) && $form->is_approval
!= 'yes' ) )
<input type="file" id="field-{{$question->code}}" name="{{$question->code}}"
class="form-control" value="" {{$question->required == 'yes'?'required':'' }}>
@elseif(isset($question->value))
<img src="{{$question->value}}" class="img-fluid">
@endif
@break
@case('multitextbox')
<div class="row">
<div style="width: auto; overflow-y: auto; overflow-x: auto;">
<table class="table tableclass">
<thead id="heading">
<tr>
<th>Brand</th>
<th>Units</th>
<th>Value</th>
</tr>
</thead>
<tbody>
@foreach($brandData as $brand)
<tr>
<td>{{ $brand['brand'] }}</td>
<td>
<input type="number" id="field-{{ $brand['slug'] }}"
name="{{ $brand['slug'] }}"
class="form-control form-control-large" value="{{ $id && isset($formdata) && isset($formdata->{$brand['slug']}) ? $formdata->{$brand['slug']} : 0 }}" >
</td>
<td>
<input type="number" id="field-{{ $brand['pseudoId'] }}"
name="{{ $brand['pseudoId'] }}"
class="form-control form-control-large" readonly="true" value="{{ $id && isset($formdata) && isset($formdata->{$brand['pseudoId']}) ? $formdata->{$brand['pseudoId']} : 0 }}">
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<!-- @foreach($question->options as $option)
<div class="col-6">{{$option->display}}</div>
<div class="col-6 mb-1">
<input type="number" id="field-{{$option->value}}" name="{{$option->value}}" class="form-control" required value="{{isset($option->val)?$option->val:0}}">
</div>
@endforeach -->
</div>
@break
@endswitch
</div>
@endforeach
@if(!isset($form->is_approval) || (isset($form->is_approval) && $form->is_approval !=
'yes' ) )
<div class="text-center d-grid mt-3">
<button class="btn btn-primary" type="submit" id="submit-btn"> Submit </button>
</div>
@endif
</form>
</div> <!-- end card-body -->
</div>
<!-- end card -->
<!-- end row -->
</div> <!-- end col -->
</div>
<!-- end row -->
</div>
<!-- end container -->
</div>
<!-- end page -->
<style type="text/css">
#pageloader {
background: rgba(255, 255, 255, 0.8);
display: none;
height: 100%;
position: fixed;
width: 100%;
z-index: 9999;
}
#pageloader img {
left: 50%;
margin-left: -32px;
margin-top: -32px;
position: absolute;
top: 50%;
}
</style>
@include('layouts.shared/footer-script')
<script src="{{asset('assets/libs/sweetalert2/sweetalert2.min.js')}}"></script>
<script src="{{ asset('assets/libs/select2/select2.min.js') }}"></script>
<script type="text/javascript">
jQuery(document).ready(function($) {
$('[data-toggle="select2"]').select2();
let selected_user_id = ''
$('#field-user_id').change(function() {
$("#pageloader").fadeIn();
selected_user_id = $(this).val()
hierarchy = $('option:selected', this).attr('hierarchy');
$('#field-hierarchy_id').val(hierarchy)
event.preventDefault();
$.ajax({
type: "GET",
url: '/form/getdoctorlist?partition={{$form->partition}}&hierarchy=' +
hierarchy,
processData: false,
contentType: false,
success: function(data) {
$("#pageloader").fadeOut();
$('#field-contact_id').html('')
$('#field-contact_id').append($("<option></option>").attr("value", '')
.text('-- Select --'));
for (let itm of data) {
if(itm.contact.c2c == 'Yes') {
$('#field-contact_id').append($("<option></option>").attr("value",
itm.value).text(itm.display).attr("speciality", itm
.contact.speciality));
}
}
$('#field-contact_id').change(function() {
$('#field-speciality').val($('option:selected', this).attr(
'speciality'))
})
},
});
console.log(hierarchy)
})
$('#field-contact_id').change(function() {
$('#field-speciality').val($('option:selected', this).attr('speciality'))
});
$('#field-contact_id').change(function() {
$('#field-msl_code').val($('option:selected', this).attr('msl_code'))
});
$('#field-chemist_name,#field-contact_id,#field-msl_code,#field-speciality').parent().hide();
$('#field-chemist_name,#field-contact_id,#field-msl_code,#field-speciality').attr('required',false);
$('#field-speciality,#field-msl_code').attr('readonly',true);
$('#field-pob_type').on('change',function(){
let value=$(this).val();
console.log("Value is : ",value);
if(value==='Doctor'){
$('#field-chemist_name').parent().hide();
$('#field-chemist_name').attr('required',false);
$('#field-contact_id,#field-msl_code,#field-speciality').parent().show();
$('#field-contact_id,#field-msl_code,#field-speciality').attr('required',true);
}
else if(value==='Chemist'){
$('#field-contact_id,#field-msl_code,#field-speciality').parent().hide();
$('#field-contact_id,#field-msl_code,#field-speciality').attr('required',false);
$('#field-chemist_name').parent().show();
$('#field-chemist_name').attr('required',true);
}
else{
$('#field-chemist_name,#field-contact_id,#field-msl_code,#field-speciality').parent().hide();
$('#field-chemist_name,#field-contact_id,#field-msl_code,#field-speciality').attr('required',false);
}
})
const products = {
"junior_lanzol_15": 154.63,
"junior_lanzol_30": 165.61,
"levoflox_250_10s_ip": 39.20,
"levoflox_250_tab_10": 39.20,
"levoflox_500_10s_ip": 73.19,
"levoflox_500_10s": 73.19,
"levoflox_750_5s_ip": 50.67,
"levoflox_750_tab_5s": 50.67,
"levoflox_infusion": 217.11,
"metaspray_100aq": 454.72,
"montair_fx": 158.96,
"montair_fx_15s": 307.73,
"cefoprox_100_30ml60": 195.91,
"cefoprox_100dt": 153.44,
"cefoprox_200_10s": 199.70,
"cefoprox_50_30ml": 105.24,
"cefoprox_cv_325_tab": 332.14,
"cheston_duo_100ml_syrup": 94.29,
"cheston_ls_junior_100_ml": 82.23,
"cheston_d_cough_syrup_100_ml": 96.62,
"cheston_d_plus_1_x_10s": 39.92,
"cheston_ls_cough_syrup_100_ml": 99.50,
"cheston_ls_junior_60_ml": 49.33,
"dalacin_c_150mg_caps_10s": 140.47,
"dalacin_c_300mg_caps_10s": 243.75,
"dolonex_disp_20mg_tabs_ip": 204.79,
"dolonex_im_20mg1ml_inj": 30.24,
"dolonex_im_40mg_2ml_inj_hosp_ip": 55.30,
"dolonex_im_40mg2ml_inj_ip": 55.30,
"duonase_f_70_md": 455.86,
"duonase_nasal_spray": 462.13,
"ibugesic_plus_susp": 37.48,
"ibugesic_plus_susp_1": 47.44,
"ibugesic_plus_suspension_100ml_orange": 47.44,
"mucinac_200_tablet_1_x_10s": 125.97,
"mucinac_600_tablets": 279.00,
"mucinac_ab_1_x_10_tablets": 109.81,
"mucinac_ab_tablet": 199.31,
"mucinac_c_tablets_1_x_15s": 369.15,
"mucinac_oral_solution_100ml": 111.86,
"novamox_500": 89.87,
"novamox_125_rediuse_30_ml": 24.95,
"novamox_125_rediuse_60_ml": 49.91,
"novamox_250_dt_15s": 147.57,
"novamox_250_ru_30": 38.16,
"novamox_250_rediuse": 76.31,
"novamox_30ml": 24.95,
"novamox_60ml": 49.91,
"novamox_cv_1000_mg": 421.74,
"novamox_cv_2285_dt_tablets": 158.79,
"novamox_cv_2285_mg_syrup": 98.87,
"novamox_cv_375_tab_10s": 234.08,
"novamox_cv_457_dt_10s": 257.26,
"novamox_cv_625_tablets_10": 148.95,
"novamox_cv_drops": 91.43,
"novamox_cv_dry_syrup_30_ml": 49.43,
"novamox_cv_ds": 49.43,
"novamox_cv_forte_syp": 184.18,
"novamox_cv_forte_syp_60_ml": 227.76,
"novamox_drops": 61.98,
"novamox_lb_500": 186.64,
"novamox_rdu_drops": 58.44,
"novamox_125_dt_15s": 85.14,
"novamox_250_15s": 29.75,
"tedispan_200_tablets_6s": 777.90,
"rabicip_l_capsules": 219.20,
"rabicip_20_15s": 139.12,
"rabicip_20_tablets_15s": 139.12,
"rabicip_20mg_ip_1_x_15s_tablets": 139.12,
"rabicip_d_capsules_1_x_15s": 263.05,
// 👉 Continue adding all products same way
};
$(document).on('input', '[id$="_units"]', function () {
let totalValue = 0;
let totalUnits = 0;
$.each(products, function (key, price) {
let unitField = $(`#field-${key}_units`);
let valueField = $(`#field-${key}_value`);
let units = parseFloat(unitField.val()) || 0;
let value = units * price;
// Set individual value
valueField.val(value.toFixed(1));
totalValue += value;
totalUnits += units;
});
$('#field-total_pob_value').val(totalValue.toFixed(1));
$('#field-total_pob_units').val(totalUnits);
$.each(productGroups, function(groupName, keys) {
calculateGroupTotals(groupName, keys);
});
});
$('#field-total_pob_value,#field-total_pob_units').attr('readonly',true);
$('#field-pob_type').trigger('change');
$(document).on('input', '[id$="_units"]', function () {
// Remove anything that is not a digit
this.value = this.value.replace(/[^0-9]/g, '');
});
$('#field-upload_supporting_document').on('change', function () {
let file = this.files[0];
if (file) {
let allowedTypes = ['image/png', 'image/jpg', 'image/jpeg'];
if (!allowedTypes.includes(file.type)) {
alert('Only PNG, JPG, and JPEG files are allowed.');
$(this).val(''); // reset input
}
}
});
const productGroups = {
junior_lazol: ["junior_lanzol_15", "junior_lanzol_30"],
levoflox: [
"levoflox_250_10s_ip",
"levoflox_250_tab_10",
"levoflox_500_10s_ip",
"levoflox_500_10s",
"levoflox_750_5s_ip",
"levoflox_750_tab_5s",
"levoflox_infusion"
],
metaspray: ["metaspray_100aq"],
montair:["montair_fx","montair_fx_15s"],
cefoprox:["cefoprox_100_30ml60","cefoprox_100dt","cefoprox_200_10s","cefoprox_50_30ml","cefoprox_cv_325_tab"],
cheston:["cheston_duo_100ml_syrup","cheston_ls_junior_100_ml","cheston_d_cough_syrup_100_ml","cheston_d_plus_1_x_10s","cheston_ls_cough_syrup_100_ml","cheston_ls_junior_60_ml"],
dalacin:["dalacin_c_150mg_caps_10s","dalacin_c_300mg_caps_10s"],
dolonex:["dolonex_disp_20mg_tabs_ip","dolonex_im_20mg1ml_inj","dolonex_im_40mg_2ml_inj_hosp_ip","dolonex_im_40mg2ml_inj_ip"],
duonase:["duonase_f_70_md","duonase_nasal_spray"],
ibugesic:["ibugesic_plus_susp","ibugesic_plus_susp_1","ibugesic_plus_suspension_100ml_orange"],
mucinac:["mucinac_200_tablet_1_x_10s","mucinac_600_tablets","mucinac_ab_1_x_10_tablets","mucinac_ab_tablet","mucinac_c_tablets_1_x_15s","mucinac_oral_solution_100ml"],
novamox:["novamox_500","novamox_125_rediuse_30_ml","novamox_125_rediuse_60_ml","novamox_250_dt_15s","novamox_250_ru_30","novamox_250_rediuse","novamox_30ml","novamox_60ml","novamox_cv_1000_mg","novamox_cv_2285_dt_tablets","novamox_cv_2285_mg_syrup","novamox_cv_375_tab_10s","novamox_cv_457_dt_10s","novamox_cv_625_tablets_10","novamox_cv_drops","novamox_cv_dry_syrup_30_ml","novamox_cv_ds","novamox_cv_forte_syp","novamox_cv_forte_syp_60_ml","novamox_drops","novamox_lb_500","novamox_rdu_drops","novamox_125_dt_15s","novamox_250_15s"],
tedispan:["tedispan_200_tablets_6s"],
rabicip:["rabicip_l_capsules","rabicip_20_15s","rabicip_20_tablets_15s","rabicip_20mg_ip_1_x_15s_tablets","rabicip_d_capsules_1_x_15s"],
};
function calculateGroupTotals(groupName, keys) {
let totalUnits = 0;
let totalValue = 0;
keys.forEach(key => {
totalUnits += parseInt($(`#field-${key}_units`).val()) || 0;
totalValue += parseFloat($(`#field-${key}_value`).val()) || 0;
});
$(`#field-${groupName}_units`).val(totalUnits);
$(`#field-${groupName}_value`).val(totalValue.toFixed(1));
}
$('#report-form').append('<input type="hidden" id="field-junior_lazol_units" name="junior_lazol_units" />');
$('#report-form').append('<input type="hidden" id="field-junior_lazol_value" name="junior_lazol_value" />');
$('#report-form').append('<input type="hidden" id="field-levoflox_units" name="levoflox_units" />');
$('#report-form').append('<input type="hidden" id="field-levoflox_value" name="levoflox_value" />');
$('#report-form').append('<input type="hidden" id="field-metaspray_units" name="metaspray_units" />');
$('#report-form').append('<input type="hidden" id="field-metaspray_value" name="metaspray_value" />');
$('#report-form').append('<input type="hidden" id="field-montair_units" name="montair_units" />');
$('#report-form').append('<input type="hidden" id="field-montair_value" name="montair_value" />');
$('#report-form').append('<input type="hidden" id="field-cefoprox_units" name="cefoprox_units" />');
$('#report-form').append('<input type="hidden" id="field-cefoprox_value" name="cefoprox_value" />');
$('#report-form').append('<input type="hidden" id="field-cheston_units" name="cheston_units" />');
$('#report-form').append('<input type="hidden" id="field-cheston_value" name="cheston_value" />');
$('#report-form').append('<input type="hidden" id="field-dalacin_units" name="dalacin_units" />');
$('#report-form').append('<input type="hidden" id="field-dalacin_value" name="dalacin_value" />');
$('#report-form').append('<input type="hidden" id="field-dolonex_units" name="dolonex_units" />');
$('#report-form').append('<input type="hidden" id="field-dolonex_value" name="dolonex_value" />');
$('#report-form').append('<input type="hidden" id="field-duonase_units" name="duonase_units" />');
$('#report-form').append('<input type="hidden" id="field-duonase_value" name="duonase_value" />');
$('#report-form').append('<input type="hidden" id="field-ibugesic_units" name="ibugesic_units" />');
$('#report-form').append('<input type="hidden" id="field-ibugesic_value" name="ibugesic_value" />');
$('#report-form').append('<input type="hidden" id="field-mucinac_units" name="mucinac_units" />');
$('#report-form').append('<input type="hidden" id="field-mucinac_value" name="mucinac_value" />');
$('#report-form').append('<input type="hidden" id="field-novamox_units" name="novamox_units" />');
$('#report-form').append('<input type="hidden" id="field-novamox_value" name="novamox_value" />');
$('#report-form').append('<input type="hidden" id="field-tedispan_units" name="tedispan_units" />');
$('#report-form').append('<input type="hidden" id="field-tedispan_value" name="tedispan_value" />');
$('#report-form').append('<input type="hidden" id="field-rabicip_units" name="rabicip_units" />');
$('#report-form').append('<input type="hidden" id="field-rabicip_value" name="rabicip_value" />');
$('#report-form').on('submit', function(event) {
event.preventDefault();
$("#pageloader").fadeIn();
$.ajax({
type: "POST",
url: '/form/ajaxsubmit',
data: new FormData($('#report-form')[0]),
processData: false,
contentType: false,
success: function(data) {
$("#pageloader").fadeOut();
if (data.status == 'success') {
Swal.fire({
title: 'Great!',
text: 'Your data is successfully submitted!',
icon: 'success'
})
$('#report-form').trigger("reset");
$('#field-user_id').val(selected_user_id)
$('#field-user_id').trigger("change");
} else {
Swal.fire({
icon: 'error',
title: 'Data not submitted',
text: 'Something went wrong, please try again after some time!'
})
}
},
});
});
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0');
var yyyy = today.getFullYear();
today = yyyy + '-' + mm + '-' + dd;
var plandateField = document.getElementById('field-record_date');
plandateField.setAttribute('max', today);
});
</script>
</body>
</html>