nhance/app/Views/ticket_form_handler.php

304 lines
12 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">&times;</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="branch" 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="policy_client_branch" name="policy_client_branch"
class="form-control custom-select" onchange="get_employee_list(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 claimFormSubmit($form_id) {
console.log('claimFormSubmit function called')
console.log('$form_id ', $form_id)
let url = '<?= base_url('/ticket/create') ?>';
console.log('url ', url)
// Data to send in the AJAX request
var formData = new FormData($('#'+$form_id)[0]);
console.log('formData ', formData)
// Send AJAX request
sendAjaxRequestForGlobal(url, 'POST', formData, function(response) {
console.log('Form submitted response:', response);
if (response.status == true) {
toastr.success(response.message, 'SUCCESS');
} else {
toastr.error(response.message, 'ERROR');
}
}, function(xhr, status, error) {
console.error('Error fetching data:', error);
console.error(xhr.responseText);
toastr.error('An error occurred while form submiting.', 'ERROR');
});
}
</script>