412 lines
15 KiB
PHP
412 lines
15 KiB
PHP
<style>
|
|
.accordion {
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.accordion h4 {
|
|
font-weight: bold;
|
|
cursor: pointer;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
background-color: #438e96;
|
|
color: #fff;
|
|
border-radius: 10px;
|
|
font-size: 17px;
|
|
padding-left: 13px;
|
|
padding-top: 3px;
|
|
padding-bottom: 3px;
|
|
padding-right: 12px;
|
|
}
|
|
|
|
.accordion-content {
|
|
display: none;
|
|
padding: 10px;
|
|
background-color: #bfe0e2;
|
|
margin-top: 5px;
|
|
border-radius: 7px;
|
|
margin: 5px;
|
|
}
|
|
|
|
.accordion-content.show {
|
|
display: block;
|
|
}
|
|
|
|
.arrow {
|
|
transition: transform 0.2s;
|
|
}
|
|
|
|
.arrow.rotate {
|
|
transform: rotate(90deg);
|
|
}
|
|
</style>
|
|
|
|
|
|
<?php
|
|
|
|
if ($ticket_form == 1) {
|
|
include('ticket_form_gmc.php');
|
|
} else {
|
|
include('ticket_form_gpa.php');
|
|
}
|
|
|
|
?>
|
|
|
|
<div class="modal fade" id="empDetailsModal" tabindex="-1" role="dialog" aria-labelledby="empDetailsModalLabel"
|
|
aria-hidden="true" aria-modal="true" data-backdrop="static">
|
|
<div class="modal-dialog modal-lg" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="empDetailsModalLabel">Fetch Employee Data</h5>
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="accordion">
|
|
<!-- Search by Mobile Number -->
|
|
<div>
|
|
<h4 onclick="toggleAccordion('mobileAccordion')">
|
|
Search by Mobile Number
|
|
<span class="arrow" id="mobileArrow">➤</span>
|
|
</h4>
|
|
<div class="accordion-content" id="mobileAccordion">
|
|
<div id="mobileSearch" class="search-method">
|
|
<div class="row">
|
|
<div class="col-md-8">
|
|
<div class="form-group">
|
|
<label>Employee Mobile Number</label>
|
|
<input class="form-control" type="text" id="mobile_number"
|
|
name="mobile_numbers" onkeypress="return onlyNumbers(event)">
|
|
</div>
|
|
<div class="text-danger" id="error_dis"></div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="form-group" style="margin-top: 9px;">
|
|
<br>
|
|
<button class="btn btn-primary"
|
|
onclick="searchMobileNumber($('#mobile_number').val())">Search</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="emp_member_policy_div" style="display:none;">
|
|
<div class="row">
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label>Employee</label>
|
|
<select name="employee_by_number" id="employee_by_number"
|
|
class="form-control SelExample" onchange="get_member_by_employee(this)">
|
|
<option value="0">Select Employee</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label>Member List</label>
|
|
<select name="member_by_number" id="member_by_number"
|
|
class="form-control SelExample"
|
|
onchange="get_emp_policy(this), setMemberDetails(this)">
|
|
<option value="0">Select Member</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label>Policy</label>
|
|
<select id="policy_by_number" name="policy_by_number"
|
|
class="form-control custom-select">
|
|
<option value="">Select Policy</option>
|
|
</select>
|
|
<input type="text" id="policy_name" name="policy_name" hidden>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Search by Client, Branch, and Policy -->
|
|
<div class="mt-4">
|
|
<h4 onclick="toggleAccordion('clientBranchAccordion')">
|
|
Search by Client, Branch, and Policy
|
|
<span class="arrow" id="clientBranchArrow">➤</span>
|
|
</h4>
|
|
<div class="accordion-content" id="clientBranchAccordion">
|
|
<div class="row">
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label>Client</label>
|
|
<select id="emp_client_data_list" name="client"
|
|
class="form-control custom-select" onchange="get_branch_list(this)">
|
|
<option value="">Select Client</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label>Branch</label>
|
|
<select id="emp_client_branch_data_list" name="branch"
|
|
class="form-control custom-select" onchange="get_policies_list(this)">
|
|
<option value="">Select Branch</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label>Policy</label>
|
|
<select id="emp_client_policy_data_list" name="policy_client_branch"
|
|
class="form-control custom-select" onchange="getEmpData(this)">
|
|
<option value="">Select Policy</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label>Employee</label>
|
|
<select name="employee" id="employee" class="form-control SelExample"
|
|
onchange="check_policy_gpa_gmc(this)">
|
|
<option value="0">Select Employee</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<div class="form-group">
|
|
<label>Insured List</label>
|
|
<select name="member" id="member" class="form-control SelExample"
|
|
onchange="member_change_client_branch(this), setMemberDetails(this)">
|
|
<option value="0">Select Member</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- <div class="modal-footer">
|
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Submit</button>
|
|
</div> -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
var client_list = ''; // local variable for storing the client branch list
|
|
var branch_list = ''; // local variable for storing the client branch list
|
|
var policy_list = ''; // local variable for storing the client policy list
|
|
|
|
$(document).ready(function() {
|
|
getClientAndBranchAndPolicy()
|
|
})
|
|
|
|
function toggleAccordion(id) {
|
|
const content = document.getElementById(id);
|
|
const arrow = document.querySelector(`#${id === 'mobileAccordion' ? 'mobileArrow' : 'clientBranchArrow'}`);
|
|
|
|
// Toggle the display of the accordion content
|
|
if (content.classList.contains('show')) {
|
|
content.classList.remove('show');
|
|
arrow.classList.remove('rotate');
|
|
} else {
|
|
content.classList.add('show');
|
|
arrow.classList.add('rotate');
|
|
}
|
|
}
|
|
|
|
function openFetchEmpDataodal() {
|
|
var myModal = new bootstrap.Modal(document.getElementById('empDetailsModal'));
|
|
myModal.show();
|
|
}
|
|
|
|
function getClientAndBranchAndPolicy() {
|
|
$.ajax({
|
|
url: '<?= base_url("/util/getClientAndBranchAndPolicy") ?>',
|
|
type: "GET",
|
|
dataType: 'json',
|
|
success: function(res) {
|
|
|
|
console.log('getClientAndBranchAndPolicy', res);
|
|
if (res.status == true) {
|
|
client_list = res.client_data;
|
|
branch_list = res.branch_data;
|
|
policy_list = res.policy_data;
|
|
appendClients(res.client_data);
|
|
} else {
|
|
console.log('No data found');
|
|
}
|
|
|
|
},
|
|
error: function(xhr, status, error) {
|
|
console.error(xhr.responseText);
|
|
console.error(status, error);
|
|
}
|
|
});
|
|
}
|
|
|
|
function appendClients(data) {
|
|
$('#emp_client_data_list').empty();
|
|
|
|
$('#emp_client_data_list').append($('<option>', {
|
|
value: '',
|
|
text: 'Select Client'
|
|
}));
|
|
|
|
$.each(data, function(index, item) {
|
|
var option = $('<option>', {
|
|
value: item.id,
|
|
text: item.client_name,
|
|
'data-name': item.client_name,
|
|
});
|
|
|
|
$('#emp_client_data_list').append(option);
|
|
});
|
|
|
|
}
|
|
|
|
function appendBranch(data) {
|
|
$('#emp_client_branch_data_list').empty();
|
|
|
|
$('#emp_client_branch_data_list').append($('<option>', {
|
|
value: '',
|
|
text: 'Select Branch'
|
|
}));
|
|
|
|
$.each(data, function(index, item) {
|
|
var option = $('<option>', {
|
|
value: item.id,
|
|
text: item.branch_name,
|
|
'data-name': item.branch_name,
|
|
});
|
|
|
|
$('#emp_client_branch_data_list').append(option);
|
|
});
|
|
|
|
}
|
|
|
|
function appendPolicy(data) {
|
|
|
|
$('#emp_client_policy_data_list').empty();
|
|
|
|
$('#emp_client_policy_data_list').append($('<option>', {
|
|
value: '',
|
|
text: 'Select Policy'
|
|
}));
|
|
|
|
$.each(data, function(index, item) {
|
|
var option = $('<option>', {
|
|
value: item.id,
|
|
text: item.policy_type + '-' + item.policy_no,
|
|
});
|
|
|
|
$('#emp_client_policy_data_list').append(option);
|
|
});
|
|
|
|
}
|
|
|
|
function submitClaimForm(event, form) {
|
|
|
|
event.preventDefault();
|
|
|
|
const formAction = '<?= base_url("ticket/create"); ?>';
|
|
|
|
// Show loader
|
|
$('.loader').fadeIn();
|
|
$('.loader-mask').fadeIn();
|
|
|
|
// Collect IDs and form data
|
|
const formData = new FormData(form);
|
|
|
|
// AJAX request
|
|
$.ajax({
|
|
data: formData,
|
|
url: formAction,
|
|
type: "POST",
|
|
dataType: 'json',
|
|
processData: false,
|
|
contentType: false,
|
|
success: function(response) {
|
|
// Hide loader
|
|
$('.loader').fadeOut();
|
|
$('.loader-mask').delay(350).fadeOut('slow');
|
|
|
|
console.log('Form submitted response:', response);
|
|
|
|
if (response.status === true) {
|
|
toastr.success(response.message, 'SUCCESS');
|
|
} else {
|
|
toastr.error(response.message, 'ERROR');
|
|
}
|
|
},
|
|
error: function(xhr, status, error) {
|
|
console.error(xhr.responseText);
|
|
console.error(status, error);
|
|
|
|
// Hide loader
|
|
$('.loader').fadeOut();
|
|
$('.loader-mask').delay(350).fadeOut('slow');
|
|
}
|
|
});
|
|
}
|
|
|
|
$('#emp_client_data_list').change(function() {
|
|
|
|
let client_id = $(this).val();
|
|
let client_name = $('#emp_client_data_list option:selected').data('name');
|
|
|
|
console.log('client_id', client_id);
|
|
console.log('client_name', client_name);
|
|
|
|
if (branch_list != '') {
|
|
// console.log(branch_list[client_id]);
|
|
let data = branch_list[client_id];
|
|
appendBranch(data);
|
|
}
|
|
|
|
})
|
|
|
|
$('#emp_client_branch_data_list').change(function() {
|
|
|
|
let branch_id = $(this).val();
|
|
|
|
console.log('branch_id', branch_id);
|
|
|
|
if (policy_list != '') {
|
|
// console.log(branch_list[client_id]);
|
|
let data = policy_list[branch_id];
|
|
appendPolicy(data);
|
|
}
|
|
|
|
})
|
|
|
|
function getEmpData(input) {
|
|
|
|
console.log(input)
|
|
let client_policy_id = $(input).val();
|
|
|
|
let url = '<?= base_url('util/getTheEmpDataForClaim/') ?>' + client_policy_id;
|
|
|
|
// Data to send in the AJAX request
|
|
let requestData = {
|
|
client_policy_id: client_policy_id,
|
|
};
|
|
|
|
// Send AJAX request
|
|
sendAjaxRequestForGlobal(url, 'GET', requestData, function(response) {
|
|
console.log('Data fetched successfully:', response);
|
|
|
|
if (response.status) {
|
|
toastr.success(response.message, 'SUCCESS');
|
|
} else {
|
|
toastr.warning(response.message, 'WARNING');
|
|
}
|
|
}, function(xhr, status, error) {
|
|
console.error('Error fetching data:', error);
|
|
console.error(xhr.responseText);
|
|
toastr.error('An error occurred while fetch data.', 'ERROR');
|
|
});
|
|
}
|
|
</script>
|