CHANGE_MAIL_TEMPLATE_REFACTOR - VADIVEL J 2025-09-26

This commit is contained in:
vadivelJ96 2025-09-26 15:04:13 +05:30
parent 95704465b4
commit 5474d6b90c
8 changed files with 2958 additions and 3031 deletions

View File

@ -135,6 +135,9 @@ class EmployeeController extends AdminController
// dd($this->request->getGet()); // dd($this->request->getGet());
$this->myLogger->logme('error', 'list called'); $this->myLogger->logme('error', 'list called');
$data['page_name'] = "Members";
$this->loadLayout('employee_list', $data); $this->loadLayout('employee_list', $data);
} }
@ -789,6 +792,9 @@ class EmployeeController extends AdminController
} }
$this->myLogger->logme('error', 'list called'); $this->myLogger->logme('error', 'list called');
$data['page_name'] = "Endorsement";
$this->loadLayout('endorsement_list', $data); $this->loadLayout('endorsement_list', $data);
} }
@ -833,6 +839,9 @@ class EmployeeController extends AdminController
// dd($data); // dd($data);
$this->myLogger->logme('error', 'list called'); $this->myLogger->logme('error', 'list called');
$data['page_name'] = "Enrollment";
return $this->loadLayout('enrollment_list', $data); return $this->loadLayout('enrollment_list', $data);
} }
@ -3042,6 +3051,8 @@ class EmployeeController extends AdminController
// print_r($data); die; // print_r($data); die;
// } // }
$data['page_name'] = "Retail Endorsement";
$this->loadLayout('retail_endorsement_list', $data); $this->loadLayout('retail_endorsement_list', $data);
} }

View File

@ -1,25 +1,25 @@
<style> <style>
.table th, .table th,
.table td { .table td {
padding: 8px; padding: 8px;
} }
table.dataTable tbody td { table.dataTable tbody td {
padding: 4px 4px !important; padding: 4px 4px !important;
} }
.select2-selection__choice { .select2-selection__choice {
background-color: #0a8794 !important; background-color: #0a8794 !important;
color: white !important; color: white !important;
font-weight: bold; font-weight: bold;
} }
.select2-selection__choice__remove { .select2-selection__choice__remove {
color: white !important; color: white !important;
margin-right: 5px; margin-right: 5px;
} }
.custom-dropdown-menu { .custom-dropdown-menu {
display: none; display: none;
position: absolute; position: absolute;
background-color: #ffffff !important; background-color: #ffffff !important;
@ -29,41 +29,36 @@ table.dataTable tbody td {
min-width: 10rem; min-width: 10rem;
z-index: 9999; z-index: 9999;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
} }
.custom-dropdown-menu .dropdown-item { .custom-dropdown-menu .dropdown-item {
display: block !important; display: block !important;
width: 100% !important; width: 100% !important;
padding: 0.5rem 1rem !important; padding: 0.5rem 1rem !important;
color: #212529 !important; color: #212529 !important;
text-decoration: none !important; text-decoration: none !important;
background-color: transparent !important; background-color: transparent !important;
} }
.custom-dropdown-menu .dropdown-item:hover { .custom-dropdown-menu .dropdown-item:hover {
background-color: #f8f9fa !important; background-color: #f8f9fa !important;
color: #16181b !important; color: #16181b !important;
cursor: pointer !important; cursor: pointer !important;
}
.row{
margin-right:20px !important;
margin-left:30px !important;
} }
</style> </style>
<div class="row"> <div class="row">
<div class="col-xl-12"> <div class="col-xl-12">
<div class="card-body">
<div id="accordion" class="mb-3"> <div id="accordion" class="mb-3">
<div class="card mb-1"> <div class="card mb-1">
<h3 class="m-1"> <h4>
<span>Members</span> Filter
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne" <a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true"> aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i> <i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a> </a>
</h3> </h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion"> <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body"> <div class="card-body">
<!-- <div class="text-center"> --> <!-- <div class="text-center"> -->
@ -95,7 +90,7 @@ table.dataTable tbody td {
<label>Status</label> <br /> <label>Status</label> <br />
<select class="form-control" name="status2[]" id="status2" multiple> <select class="form-control" name="status2[]" id="status2" multiple>
<option value="0">Select</option> <option value="0">Select</option>
<?php foreach($status as $key => $value) { ?> <?php foreach ($status as $key => $value) { ?>
<option value="<?= $key ?>" <option value="<?= $key ?>"
<?php <?php
if ((!isset($getData) || in_array('active', $getData['status'])) && $key == 'active') { if ((!isset($getData) || in_array('active', $getData['status'])) && $key == 'active') {
@ -140,107 +135,110 @@ table.dataTable tbody td {
</div> </div>
</div> </div>
</div> </div>
</div>
</div> </div>
<?php // include('employee_data_list.php');?> <?php // include('employee_data_list.php');
?>
<div id="employee_table_list"></div> <div id="employee_table_list"></div>
<!-- end row --> <!-- end row -->
<div id="loader" class="loader" style="display:none;">SPINNER</div> <div id="loader" class="loader" style="display:none;">SPINNER</div>
<script> <script>
// document.addEventListener("DOMContentLoaded", function () { // document.addEventListener("DOMContentLoaded", function () {
// const table = document.getElementById("tickets-table"); // const table = document.getElementById("tickets-table");
// // Create custom dropdown // // Create custom dropdown
// function createCustomDropdown(row) { // function createCustomDropdown(row) {
// // Get the original dropdown items // // Get the original dropdown items
// const originalDropdown = row.querySelector('.dropdown-menu'); // const originalDropdown = row.querySelector('.dropdown-menu');
// if (!originalDropdown) return null; // if (!originalDropdown) return null;
// // Create new dropdown with proper background and spacing // // Create new dropdown with proper background and spacing
// const customDropdown = document.createElement('div'); // const customDropdown = document.createElement('div');
// customDropdown.className = 'custom-dropdown-menu'; // customDropdown.className = 'custom-dropdown-menu';
// // Copy inner content while maintaining icon alignment // // Copy inner content while maintaining icon alignment
// customDropdown.innerHTML = originalDropdown.innerHTML; // customDropdown.innerHTML = originalDropdown.innerHTML;
// return customDropdown; // return customDropdown;
// } // }
// let activeDropdown = null; // let activeDropdown = null;
// // Add click event listener to rows // // Add click event listener to rows
// table.querySelectorAll("tbody tr").forEach(row => { // table.querySelectorAll("tbody tr").forEach(row => {
// const customDropdown = createCustomDropdown(row); // const customDropdown = createCustomDropdown(row);
// if (!customDropdown) return; // if (!customDropdown) return;
// document.body.appendChild(customDropdown); // document.body.appendChild(customDropdown);
// row.addEventListener("click", function(event) { // row.addEventListener("click", function(event) {
// // Ignore clicks on the action column // // Ignore clicks on the action column
// if (event.target.closest('td:last-child')) { // if (event.target.closest('td:last-child')) {
// return; // return;
// } // }
// // Hide any active dropdown // // Hide any active dropdown
// if (activeDropdown) { // if (activeDropdown) {
// activeDropdown.style.display = 'none'; // activeDropdown.style.display = 'none';
// } // }
// // Get click position // // Get click position
// const rect = event.target.getBoundingClientRect(); // const rect = event.target.getBoundingClientRect();
// // Position the dropdown with some offset // // Position the dropdown with some offset
// customDropdown.style.display = 'block'; // customDropdown.style.display = 'block';
// customDropdown.style.position = 'fixed'; // customDropdown.style.position = 'fixed';
// customDropdown.style.left = `${rect.left}px`; // customDropdown.style.left = `${rect.left}px`;
// customDropdown.style.top = `${rect.bottom + 5}px`; // Add 5px gap // customDropdown.style.top = `${rect.bottom + 5}px`; // Add 5px gap
// // Set as active dropdown // // Set as active dropdown
// activeDropdown = customDropdown; // activeDropdown = customDropdown;
// event.stopPropagation(); // event.stopPropagation();
// }); // });
// // Preserve click handlers and add auto-close // // Preserve click handlers and add auto-close
// customDropdown.querySelectorAll('.dropdown-item').forEach(item => { // customDropdown.querySelectorAll('.dropdown-item').forEach(item => {
// item.addEventListener('click', function(e) { // item.addEventListener('click', function(e) {
// const onclickAttr = this.getAttribute('onclick'); // const onclickAttr = this.getAttribute('onclick');
// if (onclickAttr) { // if (onclickAttr) {
// eval(onclickAttr); // eval(onclickAttr);
// } // }
// const href = this.getAttribute('href'); // const href = this.getAttribute('href');
// if (href && href !== '#') { // if (href && href !== '#') {
// window.location.href = href; // window.location.href = href;
// } // }
// // Close the dropdown after handling the click // // Close the dropdown after handling the click
// if (activeDropdown) { // if (activeDropdown) {
// activeDropdown.style.display = 'none'; // activeDropdown.style.display = 'none';
// activeDropdown = null; // activeDropdown = null;
// } // }
// e.stopPropagation(); // e.stopPropagation();
// }); // });
// }); // });
// }); // });
// // Close dropdown when clicking outside // // Close dropdown when clicking outside
// document.addEventListener("click", function() { // document.addEventListener("click", function() {
// if (activeDropdown) { // if (activeDropdown) {
// activeDropdown.style.display = 'none'; // activeDropdown.style.display = 'none';
// activeDropdown = null; // activeDropdown = null;
// } // }
// }); // });
// }); // });
// document.addEventListener("DOMContentLoaded", init); // document.addEventListener("DOMContentLoaded", init);
function init() { function init() {
const table = document.getElementById("tickets-table"); const table = document.getElementById("tickets-table");
let activeDropdown = null; let activeDropdown = null;
@ -336,19 +334,17 @@ function init() {
activeDropdown = null; activeDropdown = null;
} }
} }
} }
</script> </script>
<script> <script>
$(document).ready(function() {
$(document).ready(function() {
// Initialize select2 // Initialize select2
$("#clients").select2(); $("#clients").select2();
$("#policies").select2(); $("#policies").select2();
$("#branch_id").select2(); $("#branch_id").select2();
$("#status2").select2({ $("#status2").select2({
placeholder : 'Select Status' placeholder: 'Select Status'
}); });
$("textarea.select2-search__field").attr('rows', '1'); $("textarea.select2-search__field").attr('rows', '1');
@ -357,19 +353,19 @@ $(document).ready(function() {
// if ($('.select2-selection__arrow').length > 0) { // if ($('.select2-selection__arrow').length > 0) {
// $('.select2-selection__arrow').removeClass('select2-selection__arrow').addClass('fa fa-chevron-down'); // $('.select2-selection__arrow').removeClass('select2-selection__arrow').addClass('fa fa-chevron-down');
// } // }
}); });
// Declare a global variable to store API response data // Declare a global variable to store API response data
var clientPolicies = []; var clientPolicies = [];
var clientPoliciesWithBranch = { var clientPoliciesWithBranch = {
policies: [] policies: []
}; };
var client_id = '<?= isset($getData) ? $getData['client_id'] : '0' ?>'; var client_id = '<?= isset($getData) ? $getData['client_id'] : '0' ?>';
var client_branch_id = '<?= isset($getData) ? $getData['branch_id'] : '0' ?>'; var client_branch_id = '<?= isset($getData) ? $getData['branch_id'] : '0' ?>';
var statusData = <?= json_encode(isset($getData['status']) ? $getData['status'] : []) ?>; var statusData = <?= json_encode(isset($getData['status']) ? $getData['status'] : []) ?>;
$(document).ready(function() { $(document).ready(function() {
// Loop through each item in statusData and set the option as selected. // Loop through each item in statusData and set the option as selected.
statusData.forEach(function(status) { statusData.forEach(function(status) {
$('#status2 option[value="' + status + '"]').prop('selected', true); $('#status2 option[value="' + status + '"]').prop('selected', true);
@ -377,22 +373,22 @@ $(document).ready(function() {
// Refresh the select element (necessary if you are using a plugin like Select2). // Refresh the select element (necessary if you are using a plugin like Select2).
$('#status2').trigger('change'); $('#status2').trigger('change');
}); });
$(document).ready(function() { $(document).ready(function() {
console.log("document loaded"); console.log("document loaded");
//fetchClientPolicies(); //fetchClientPolicies();
}); });
$(window).on("load", function() { $(window).on("load", function() {
console.log("window loaded"); console.log("window loaded");
fetchClientPolicies(); fetchClientPolicies();
}); });
function fetchClientPolicies() { function fetchClientPolicies() {
$('#loader').show(); $('#loader').show();
var apiURL = '<?php echo base_url();?>' + 'util/clients-with-policies'; var apiURL = '<?php echo base_url(); ?>' + 'util/clients-with-policies';
console.log('fetchClientPolicies'); console.log('fetchClientPolicies');
// console.log(apiURL); // console.log(apiURL);
$.ajax({ $.ajax({
@ -422,7 +418,7 @@ function fetchClientPolicies() {
//this function for reselect the policy //this function for reselect the policy
setTimeout(function() { setTimeout(function() {
if (client_id != 0 ) { if (client_id != 0) {
var foundPolicies = clientPolicies.find(function(item) { var foundPolicies = clientPolicies.find(function(item) {
// console.log(typeof item.id) // console.log(typeof item.id)
return item.id == client_id; return item.id == client_id;
@ -432,7 +428,7 @@ function fetchClientPolicies() {
}, 500); }, 500);
setTimeout(function() { setTimeout(function() {
if (client_branch_id != 0 ) { if (client_branch_id != 0) {
var foundPolicies = clientPoliciesWithBranch.policies.filter(function(item) { var foundPolicies = clientPoliciesWithBranch.policies.filter(function(item) {
// console.log('item', item); // console.log('item', item);
@ -464,9 +460,9 @@ function fetchClientPolicies() {
}); });
$('#loader').hide(); $('#loader').hide();
} }
function appendClients(data) { function appendClients(data) {
var clientID = <?= isset($getData) ? $getData['client_id'] : '0' ?>; var clientID = <?= isset($getData) ? $getData['client_id'] : '0' ?>;
$.each(data, function(index, item) { $.each(data, function(index, item) {
var option = $('<option>', { var option = $('<option>', {
@ -478,9 +474,9 @@ function appendClients(data) {
} }
$('#clients').append(option); $('#clients').append(option);
}); });
} }
function appendBranch(data) { function appendBranch(data) {
$('#branch_id').empty(); $('#branch_id').empty();
$('#branch_id').append($('<option>', { $('#branch_id').append($('<option>', {
@ -497,9 +493,9 @@ function appendBranch(data) {
} }
$('#branch_id').append(option); $('#branch_id').append(option);
}); });
} }
function appendPolicies(data) { function appendPolicies(data) {
$('#policies').empty(); $('#policies').empty();
$('#policies').append($('<option>', { $('#policies').append($('<option>', {
@ -507,22 +503,22 @@ function appendPolicies(data) {
text: 'Select' text: 'Select'
})); }));
var PolicyID = <?= isset($getData) ? $getData['policy_id'] : '0'?>; var PolicyID = <?= isset($getData) ? $getData['policy_id'] : '0' ?>;
// console.log(PolicyID) // console.log(PolicyID)
$.each(data, function(index, item) { $.each(data, function(index, item) {
var option = $('<option>', { var option = $('<option>', {
value: item.client_policy_id, value: item.client_policy_id,
// text: `${item.name ?? ''} - ${item.policy_no ?? ''} - ${item.policy_type ?? ''}` // text: `${item.name ?? ''} - ${item.policy_no ?? ''} - ${item.policy_type ?? ''}`
text:`${item.policy_type ?? ''} - ${item.policy_no ?? ''}` text: `${item.policy_type ?? ''} - ${item.policy_no ?? ''}`
}); });
if (PolicyID == item.client_policy_id) { if (PolicyID == item.client_policy_id) {
option.attr('selected', true); option.attr('selected', true);
} }
$('#policies').append(option); $('#policies').append(option);
}); });
} }
$(document).ready(function() { $(document).ready(function() {
$('#clients').on('change', function() { $('#clients').on('change', function() {
@ -543,9 +539,9 @@ $(document).ready(function() {
// console.log(foundPolicies.branchs); // console.log(foundPolicies.branchs);
appendBranch(foundPolicies.branchs); appendBranch(foundPolicies.branchs);
}); });
}); });
$(document).ready(function() { $(document).ready(function() {
$('#branch_id').on('change', function() { $('#branch_id').on('change', function() {
@ -572,16 +568,16 @@ $(document).ready(function() {
} }
}); });
}); });
// Function to convert object to query parameters // Function to convert object to query parameters
function objectToQueryString(obj) { function objectToQueryString(obj) {
return Object.keys(obj).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join('&'); return Object.keys(obj).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join('&');
} }
function fetchEmpolyeeList(event = null) { function fetchEmpolyeeList(event = null) {
if(event){ if (event) {
event.preventDefault(); // Prevent default action event.preventDefault(); // Prevent default action
} }
@ -608,9 +604,9 @@ function fetchEmpolyeeList(event = null) {
client_id: client_id, client_id: client_id,
policy_id: policy_id, policy_id: policy_id,
branch_id: branch_id, branch_id: branch_id,
emp_code : emp_code, emp_code: emp_code,
emp_name : emp_name, emp_name: emp_name,
status : statusArray, status: statusArray,
}; };
const queryString = objectToQueryString(queryParams); const queryString = objectToQueryString(queryParams);
@ -629,34 +625,33 @@ function fetchEmpolyeeList(event = null) {
method: 'GET', method: 'GET',
data: queryParams, data: queryParams,
success: function(response) { success: function(response) {
if(response.status == true){ if (response.status == true) {
$('#employee_table_list').html(response.html); $('#employee_table_list').html(response.html);
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
setTimeout(function(){ setTimeout(function() {
init() init()
}, 1000) }, 1000)
} }
}, },
error: function(xhr, status, error) { error: function(xhr, status, error) {
console.error('Error:', error); console.error('Error:', error);
toastr.error('Failed to fetch Data','Error'); toastr.error('Failed to fetch Data', 'Error');
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
} }
}); });
} }
document.getElementById('toggleIcon').addEventListener('click', function() { document.getElementById('toggleIcon').addEventListener('click', function() {
var icon = document.getElementById('icon'); var icon = document.getElementById('icon');
icon.classList.toggle('mdi-chevron-down'); icon.classList.toggle('mdi-chevron-down');
icon.classList.toggle('mdi-chevron-up'); icon.classList.toggle('mdi-chevron-up');
}); });
function sendManualEcard(input) function sendManualEcard(input) {
{
console.log('sendManualEcard function called'); console.log('sendManualEcard function called');
var client_id = $('#clients').val() var client_id = $('#clients').val()
@ -667,8 +662,7 @@ function sendManualEcard(input)
console.log('client_id', client_id); console.log('client_id', client_id);
console.log('client_branch_id', client_branch_id); console.log('client_branch_id', client_branch_id);
if(client_id == 0 || client_branch_id == 0 || policy_id == 0) if (client_id == 0 || client_branch_id == 0 || policy_id == 0) {
{
Swal.fire({ Swal.fire({
title: "warning!", title: "warning!",
text: 'Please select the Client, Client Branch and Policy.', text: 'Please select the Client, Client Branch and Policy.',
@ -689,7 +683,7 @@ function sendManualEcard(input)
if (result.isConfirmed) { if (result.isConfirmed) {
$.ajax({ $.ajax({
url: '<?= base_url("util/send_manual_ecard/") ?>' + client_id + '/' + client_branch_id+'/'+policy_id, url: '<?= base_url("util/send_manual_ecard/") ?>' + client_id + '/' + client_branch_id + '/' + policy_id,
type: "GET", type: "GET",
dataType: 'json', dataType: 'json',
success: function(res) { success: function(res) {
@ -699,9 +693,9 @@ function sendManualEcard(input)
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
if(res.status == false){ if (res.status == false) {
toastr.info(res.message, 'INFO'); toastr.info(res.message, 'INFO');
}else{ } else {
toastr.success(res.message, 'SUCCESS'); toastr.success(res.message, 'SUCCESS');
} }
@ -717,6 +711,5 @@ function sendManualEcard(input)
} }
}); });
} }
</script> </script>

View File

@ -15,17 +15,18 @@
</style> </style>
<div class="container-fluid-min"> <div class="container-fluid-min">
<h2>Endorsement</h2>
<div class="row"> <div class="row">
<div class="col-xl-12"> <div class="col-xl-12">
<div class="card-body">
<div id="accordion" class="mb-3"> <div id="accordion" class="mb-3">
<div class="card mb-1"> <div class="card mb-1">
<label id="filterAccordion" class="m-1 d-flex justify-content-between align-items-center"> <h4>
<span class="font-color-black">Filters</span> Filter
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne" aria-expanded="true"> <a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i> <i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a> </a>
</label> </h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion"> <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body"> <div class="card-body">
<!-- <div class="text-center"> --> <!-- <div class="text-center"> -->
@ -76,6 +77,8 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</div> </div>
<div class="row" id="client_list"> <div class="row" id="client_list">
@ -333,7 +336,7 @@
var option = $('<option>', { var option = $('<option>', {
value: item.client_policy_id, value: item.client_policy_id,
// text: `${item.name ?? ''} - ${item.policy_no ?? ''} - ${item.policy_type ?? ''}` // text: `${item.name ?? ''} - ${item.policy_no ?? ''} - ${item.policy_type ?? ''}`
text:`${item.policy_type ?? ''} - ${item.policy_no ?? ''}` text: `${item.policy_type ?? ''} - ${item.policy_no ?? ''}`
}); });
if (PolicyID == item.client_policy_id) { if (PolicyID == item.client_policy_id) {
option.attr('selected', true); option.attr('selected', true);
@ -594,8 +597,7 @@
dom: "<'row'<'col-12 d-flex justify-content-between align-items-center'<'datatable-search dataTables_filter'f><'datatable-buttons dt-buttons'B>>>" + dom: "<'row'<'col-12 d-flex justify-content-between align-items-center'<'datatable-search dataTables_filter'f><'datatable-buttons dt-buttons'B>>>" +
"<'row'<'col-sm-12'tr>>" + "<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", "<'row'<'col-sm-5'i><'col-sm-7'p>>",
buttons: [ buttons: [{
{
text: '<i class="mdi mdi-plus" ></i><span class=" btn-custom"> Create New Ticket </span>', text: '<i class="mdi mdi-plus" ></i><span class=" btn-custom"> Create New Ticket </span>',
className: 'btn app-btn-primary mr-2', className: 'btn app-btn-primary mr-2',
action: function(e, dt, node, config) { action: function(e, dt, node, config) {
@ -606,8 +608,7 @@
extend: 'collection', extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>', text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ', className: 'btn app-btn-secondary ',
buttons: [ buttons: [{
{
extend: 'csv', extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>', text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ', className: 'app-btn-primary ',
@ -657,8 +658,10 @@
}, },
paging: true, paging: true,
// pagingType: 'full_numbers' // pagingType: 'full_numbers'
columnDefs: [ columnDefs: [{
{ type: 'scientific', targets: 0 } // Apply custom sorting type to the first column type: 'scientific',
targets: 0
} // Apply custom sorting type to the first column
], ],
}); });

View File

@ -31,17 +31,20 @@
box-shadow: 6px 5px 8px 0 #00000036; box-shadow: 6px 5px 8px 0 #00000036;
cursor: pointer; cursor: pointer;
} }
.click_hover .text-muted{
.click_hover .text-muted {
color: #fff !important; color: #fff !important;
} }
.click_hover span{
.click_hover span {
color: #fff !important; color: #fff !important;
} }
.card { .card {
border-radius: 10px; border-radius: 10px;
} }
.row.visa_status_count_view .card-header{ .row.visa_status_count_view .card-header {
background-color: #F5FFFF; background-color: #F5FFFF;
padding: 25px; padding: 25px;
border: 2px solid #fff; border: 2px solid #fff;
@ -50,63 +53,61 @@
box-shadow: 0px 1px 1px 0px #00000040; box-shadow: 0px 1px 1px 0px #00000040;
} }
.row.visa_status_count_view .card-header #categoryFilter_11 a{ .row.visa_status_count_view .card-header #categoryFilter_11 a {
background-color: #D4F5F6 !important; background-color: #D4F5F6 !important;
font-weight:800; font-weight: 800;
color:#000 !important; color: #000 !important;
border : 1px solid #D4F5F6 !important; border: 1px solid #D4F5F6 !important;
border-radius: 15px; border-radius: 15px;
padding : 5px 10px; padding: 5px 10px;
} }
#categoryFilter_12 a , #categoryFilter_12 a,
#categoryFilter_13 a , #categoryFilter_13 a,
#categoryFilter_14 a #categoryFilter_14 a {
{
background-color: #00999E; background-color: #00999E;
box-shadow: 0px 2px 4px 0px #00000040; box-shadow: 0px 2px 4px 0px #00000040;
} }
#statusContent{ #statusContent {
background-color: #F5FFFF; background-color: #F5FFFF;
border-radius: 10px; border-radius: 10px;
box-shadow: 0px 1px 1px 0px #00000040; box-shadow: 0px 1px 1px 0px #00000040;
} }
#statusContent .statusContent-flex{ #statusContent .statusContent-flex {
display:flex; display: flex;
flex-flow: row wrap; flex-flow: row wrap;
} }
.statusContent-flex .my-2{ .statusContent-flex .my-2 {
color:black !important; color: black !important;
} }
#statusContent .custom-card{ #statusContent .custom-card {
min-width:300px; min-width: 300px;
min-height: 50px; min-height: 50px;
padding:15px; padding: 15px;
background-color: white; background-color: white;
color:black; color: black;
margin-right:15px; margin-right: 15px;
margin-top :10px; margin-top: 10px;
border-radius: 10px; border-radius: 10px;
box-shadow: 0px 2px 4px 0px #00000024 !important; box-shadow: 0px 2px 4px 0px #00000024 !important;
} }
</style> </style>
<div class="container-fluid-min"> <div class="container-fluid-min">
<h2>Enrollment</h2> <div class="row visa_status_count_view">
<div class="row visa_status_count_view">
<div class="col-12"> <div class="col-12">
<div class="card-body">
<div class="card"> <div class="card">
<div class="card-header"> <div class="card-header">
<div class="row" > <div class="row">
<div class="col-3"> <div class="col-3">
<div id="categoryFilter" > <div id="categoryFilter">
<label for="">Client</label> <label for="">Client</label>
<select class="form-control" id="clients" onchange="populateBranches()"> <select class="form-control" id="clients" onchange="populateBranches()">
<option value="0">Select Client</option> <option value="0">Select Client</option>
@ -133,7 +134,7 @@
</div> </div>
</div> </div>
<div class="col-3"> <div class="col-3">
<div id="categoryFilter_11" > <div id="categoryFilter_11">
<a class="btn btn-primary waves-effect waves-light" <a class="btn btn-primary waves-effect waves-light"
style="margin-top:30px !important" style="margin-top:30px !important"
onclick="fetchEmpolyeeList(event);" onclick="fetchEmpolyeeList(event);"
@ -143,21 +144,21 @@
</div> </div>
<div class="col-6" style="margin-right: 15px; margin-top:30px; "> <div class="col-6" style="margin-right: 15px; margin-top:30px; ">
<span id="categoryFilter_12" style="margin-right: 15px;"> <span id="categoryFilter_12" style="margin-right: 15px;">
<a class="btn btn-primary waves-effect waves-light" onclick="sendManualReminder(this)" data-toggle="tooltip" data-placement="top" title="Send Reminder"><span >Send Remainder</span></a> <a class="btn btn-primary waves-effect waves-light" onclick="sendManualReminder(this)" data-toggle="tooltip" data-placement="top" title="Send Reminder"><span>Send Remainder</span></a>
</span> </span>
<span id="categoryFilter_13" style="margin-right: 15px;"> <span id="categoryFilter_13" style="margin-right: 15px;">
<a class="btn btn-primary waves-effect waves-light" onclick="uploadEnrollmentFile(this)" data-toggle="tooltip" data-placement="top" title="Enrollment File Upload"><span >File Upload</span></a> <a class="btn btn-primary waves-effect waves-light" onclick="uploadEnrollmentFile(this)" data-toggle="tooltip" data-placement="top" title="Enrollment File Upload"><span>File Upload</span></a>
</span> </span>
<button id="categoryFilter_14" type="button" class="btn btn-link visa_status_button" onclick="toggleContent()" data-toggle="tooltip" data-placement="top" > <button id="categoryFilter_14" type="button" class="btn btn-link visa_status_button" onclick="toggleContent()" data-toggle="tooltip" data-placement="top">
<a class="btn btn-primary waves-effect waves-light" data-toggle="tooltip" data-placement="top" title="View Status"><span >View Status</span></a> <a class="btn btn-primary waves-effect waves-light" data-toggle="tooltip" data-placement="top" title="View Status"><span>View Status</span></a>
</button> </button>
</div> </div>
</div> </div>
</div> </div>
<div class="card-body status-option" id="statusContent" > <div class="card-body status-option" id="statusContent">
<h4>Status</h4> <h4>Status</h4>
<div class="text-center"> <div class="text-center">
@ -168,7 +169,7 @@
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Emp Count">Emp Count</span> <span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Emp Count">Emp Count</span>
</div> </div>
<div> <div>
<span class="my-2"><span data-plugin="counterup" id="emp_count_view" >0</span> <span class="my-2"><span data-plugin="counterup" id="emp_count_view">0</span>
</div> </div>
</div> </div>
<div class="custom-card d-flex justify-content-between" id="emp_enrolled_view_click"> <div class="custom-card d-flex justify-content-between" id="emp_enrolled_view_click">
@ -176,7 +177,7 @@
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Enrolled">Enroled</span> <span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Enrolled">Enroled</span>
</div> </div>
<div> <div>
<span class="my-2"><span data-plugin="counterup" id="emp_enrolled_view" >0</span> <span class="my-2"><span data-plugin="counterup" id="emp_enrolled_view">0</span>
</div> </div>
</div> </div>
<div class="custom-card d-flex justify-content-between" id="emp_not_enrolled_view_click"> <div class="custom-card d-flex justify-content-between" id="emp_not_enrolled_view_click">
@ -211,9 +212,11 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="row" id="client_list"> </div>
</div>
<div class="row" id="client_list">
<div class="col-12"> <div class="col-12">
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
@ -235,7 +238,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- Center modal content --> <!-- Center modal content -->
@ -247,7 +250,7 @@
<button type="button" id="close_btn" class="close" data-dismiss="modal" aria-hidden="true">×</button> <button type="button" id="close_btn" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form class="parsley-examples" method="post" id="uploadForm" action="<?php echo base_url().'employee/upload'?>" enctype="multipart/form-data"> <form class="parsley-examples" method="post" id="uploadForm" action="<?php echo base_url() . 'employee/upload' ?>" enctype="multipart/form-data">
<input type="hidden" id="file_client_id" name="client_id"> <input type="hidden" id="file_client_id" name="client_id">
<input type="hidden" id="file_branch_id" name="branch_id"> <input type="hidden" id="file_branch_id" name="branch_id">
<input type="hidden" id="file_upload_actions" name="upload-action-type" value="enrollment"> <input type="hidden" id="file_upload_actions" name="upload-action-type" value="enrollment">
@ -256,7 +259,7 @@
<div class="form-group col-md-12"> <div class="form-group col-md-12">
<label for="policy_id">Client Policy<span class="text-danger">*</span></label> <label for="policy_id">Client Policy<span class="text-danger">*</span></label>
<select class="form-control" id="policy_id" name="policy_id" required> <select class="form-control" id="policy_id" name="policy_id" required>
<option selected >Select Client Policy</option> <option selected>Select Client Policy</option>
</select> </select>
</div> </div>
</div> </div>
@ -278,9 +281,7 @@
</div><!-- /.modal --> </div><!-- /.modal -->
<script> <script>
function populateBranches() {
function populateBranches()
{
var clientId = document.getElementById('clients').value; var clientId = document.getElementById('clients').value;
var branchDropdown = document.getElementById('branch_id'); var branchDropdown = document.getElementById('branch_id');
@ -302,8 +303,7 @@
}); });
} }
function populatePolicies() function populatePolicies() {
{
console.log('populatePolicies function called'); console.log('populatePolicies function called');
var clientId = document.getElementById('clients').value; var clientId = document.getElementById('clients').value;
@ -334,8 +334,7 @@
}); });
} }
function filterTable(columnIndex, filterValue) function filterTable(columnIndex, filterValue) {
{
var table = $('#tickets-table').DataTable(); var table = $('#tickets-table').DataTable();
// Reset the search filter for all columns // Reset the search filter for all columns
@ -345,8 +344,7 @@
table.column(columnIndex).search(filterValue).draw(); table.column(columnIndex).search(filterValue).draw();
} }
function fetchEmpolyeeList(event) function fetchEmpolyeeList(event) {
{
event.preventDefault(); event.preventDefault();
var client_id = $('#clients').val(); var client_id = $('#clients').val();
@ -396,17 +394,17 @@
var loggedIn_count = 0; var loggedIn_count = 0;
data.forEach(function(employee, index) { data.forEach(function(employee, index) {
if(employee.emp_status !== 'draft'){ if (employee.emp_status !== 'draft') {
var enrolled = 'Yes'; var enrolled = 'Yes';
enrolled_count++; enrolled_count++;
}else{ } else {
var enrolled = 'No'; var enrolled = 'No';
} }
if(employee.user_type === 'employee'){ if (employee.user_type === 'employee') {
var loggedIn = 'Yes'; var loggedIn = 'Yes';
loggedIn_count++; loggedIn_count++;
}else{ } else {
var loggedIn = 'No'; var loggedIn = 'No';
} }
@ -444,8 +442,7 @@
}); });
} }
$(document).ready(function() $(document).ready(function() {
{
function getUrlParameter(name) { function getUrlParameter(name) {
var params = new URLSearchParams(window.location.search); var params = new URLSearchParams(window.location.search);
@ -464,7 +461,7 @@
if (branch_id) { if (branch_id) {
setTimeout(function() { // Ensure branches are populated before setting branch ID setTimeout(function() { // Ensure branches are populated before setting branch ID
$('#branch_id').val(branch_id).trigger('change'); $('#branch_id').val(branch_id).trigger('change');
if($('#branch_id').val() != 0){ if ($('#branch_id').val() != 0) {
$('#get-emp-list').click().trigger(); $('#get-emp-list').click().trigger();
} }
}, 500); }, 500);
@ -472,7 +469,9 @@
} }
if (history.pushState) { if (history.pushState) {
var newUrl = window.location.protocol + "//" + window.location.host + window.location.pathname; var newUrl = window.location.protocol + "//" + window.location.host + window.location.pathname;
window.history.pushState({path: newUrl}, '', newUrl); window.history.pushState({
path: newUrl
}, '', newUrl);
} }
setTimeout(() => { setTimeout(() => {
@ -514,13 +513,11 @@
// filename: 'Enrolment List' // filename: 'Enrolment List'
// } // }
// ], // ],
buttons: [ buttons: [{
{
extend: 'collection', extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>', text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ', className: 'btn app-btn-secondary ',
buttons: [ buttons: [{
{
extend: 'copy', extend: 'copy',
text: '<i class="mdi mdi-content-copy"></i>', text: '<i class="mdi mdi-content-copy"></i>',
titleAttr: 'Copy', titleAttr: 'Copy',
@ -549,8 +546,7 @@
className: 'app-btn-primary ', className: 'app-btn-primary ',
} }
] ]
} }],
],
initComplete: function() { initComplete: function() {
// Add custom class to the print button // Add custom class to the print button
$('.buttons-print').addClass('buttons-html5'); $('.buttons-print').addClass('buttons-html5');
@ -565,7 +561,7 @@
$(this).removeClass('click_hover'); $(this).removeClass('click_hover');
}); });
table.columns().search('').draw(); // Clear all filters and show all data table.columns().search('').draw(); // Clear all filters and show all data
}else{ } else {
$('.click_hover').each(function() { $('.click_hover').each(function() {
$(this).removeClass('click_hover'); $(this).removeClass('click_hover');
}); });
@ -581,7 +577,7 @@
$(this).removeClass('click_hover'); $(this).removeClass('click_hover');
}); });
table.columns().search('').draw(); // Clear all filters and show all data table.columns().search('').draw(); // Clear all filters and show all data
}else{ } else {
$('.click_hover').each(function() { $('.click_hover').each(function() {
$(this).removeClass('click_hover'); $(this).removeClass('click_hover');
}); });
@ -597,7 +593,7 @@
$(this).removeClass('click_hover'); $(this).removeClass('click_hover');
}); });
table.columns().search('').draw(); // Clear all filters and show all data table.columns().search('').draw(); // Clear all filters and show all data
}else{ } else {
$('.click_hover').each(function() { $('.click_hover').each(function() {
$(this).removeClass('click_hover'); $(this).removeClass('click_hover');
}); });
@ -613,7 +609,7 @@
$(this).removeClass('click_hover'); $(this).removeClass('click_hover');
}); });
table.columns().search('').draw(); // Clear all filters and show all data table.columns().search('').draw(); // Clear all filters and show all data
}else{ } else {
$('.click_hover').each(function() { $('.click_hover').each(function() {
$(this).removeClass('click_hover'); $(this).removeClass('click_hover');
}); });
@ -629,7 +625,7 @@
$(this).removeClass('click_hover'); $(this).removeClass('click_hover');
}); });
table.columns().search('').draw(); // Clear all filters and show all data table.columns().search('').draw(); // Clear all filters and show all data
}else{ } else {
$('.click_hover').each(function() { $('.click_hover').each(function() {
$(this).removeClass('click_hover'); $(this).removeClass('click_hover');
}); });
@ -641,8 +637,7 @@
toggleContent(); toggleContent();
}); });
function toggleContent() function toggleContent() {
{
var content = document.getElementById("statusContent"); var content = document.getElementById("statusContent");
var toggleIcon = document.getElementById("toggleIcon"); var toggleIcon = document.getElementById("toggleIcon");
if (content.style.display === "none") { if (content.style.display === "none") {
@ -659,8 +654,7 @@
//---------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------
function uploadEnrollmentFile(input) function uploadEnrollmentFile(input) {
{
console.log('uploadEnrollmentFile called'); console.log('uploadEnrollmentFile called');
var client_id = $('#clients').val() var client_id = $('#clients').val()
@ -670,7 +664,7 @@
console.log('client_id', client_id); console.log('client_id', client_id);
console.log('client_branch_id', client_branch_id); console.log('client_branch_id', client_branch_id);
if(client_id == 0 && client_branch_id == 0){ if (client_id == 0 && client_branch_id == 0) {
Swal.fire({ Swal.fire({
title: "warning!", title: "warning!",
@ -716,8 +710,7 @@
} }
function appendpolicy(data) function appendpolicy(data) {
{
$('#policy_id').empty(); $('#policy_id').empty();
$('#policy_id').append($('<option>', { $('#policy_id').append($('<option>', {
@ -729,7 +722,7 @@
$.each(data, function(index, item) { $.each(data, function(index, item) {
var option = $('<option>', { var option = $('<option>', {
value: item.id, value: item.id,
text:`${item.policy_name ?? ''} - ${item.policy_no ?? ''}` text: `${item.policy_name ?? ''} - ${item.policy_no ?? ''}`
}); });
$('#policy_id').append(option); $('#policy_id').append(option);
}); });
@ -749,7 +742,7 @@
return; return;
} }
if(client_id == 0 && client_branch_id == 0){ if (client_id == 0 && client_branch_id == 0) {
toastr.warning('Select Client and Client Branch'); toastr.warning('Select Client and Client Branch');
return false; return false;
} }
@ -813,8 +806,7 @@
}); });
function sendManualReminder(input) function sendManualReminder(input) {
{
console.log('sendManualReminder function called'); console.log('sendManualReminder function called');
var client_id = $('#clients').val() var client_id = $('#clients').val()
@ -874,9 +866,9 @@
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow'); $('.loader-mask').delay(350).fadeOut('slow');
if(res.status == false){ if (res.status == false) {
toastr.info(res.message, 'INFO'); toastr.info(res.message, 'INFO');
}else{ } else {
toastr.success(res.message, 'SUCCESS'); toastr.success(res.message, 'SUCCESS');
} }

View File

@ -136,20 +136,17 @@
padding: 0px 40px 0px 40px !important; padding: 0px 40px 0px 40px !important;
} }
body[data-sidebar-size=condensed]:not([data-layout=compact]):not(.auth-fluid-pages) body[data-sidebar-size=condensed]:not([data-layout=compact]):not(.auth-fluid-pages) {
{
min-height: 100vh !important; min-height: 100vh !important;
} }
body .content-page{ body .content-page {
margin-top:90px !important; margin-top: 90px !important;
} }
</style> </style>
<!-- navbar --> <!-- navbar -->
<style> <style>
.nav-bar { .nav-bar {
position: fixed !important; position: fixed !important;
z-index: 1000; z-index: 1000;
@ -164,7 +161,7 @@
flex-shrink: 1 !important; flex-shrink: 1 !important;
justify-content: space-between; justify-content: space-between;
margin-top: 20px; margin-top: 20px;
margin-left:20px; margin-left: 20px;
} }
@ -190,7 +187,6 @@
<!-- sidebar --> <!-- sidebar -->
<style> <style>
#side-menu .menu-logo a:hover { #side-menu .menu-logo a:hover {
background-color: transparent !important; background-color: transparent !important;
color: inherit !important; color: inherit !important;
@ -220,7 +216,8 @@
/* every <li> inside should be allowed to shrink */ /* every <li> inside should be allowed to shrink */
.left-side-menu li { .left-side-menu li {
flex-shrink: 1 !important; flex-shrink: 1 !important;
min-height: 0 !important; /* prevents flex bugs */ min-height: 0 !important;
/* prevents flex bugs */
} }
@ -234,8 +231,8 @@
} }
.li-seperate{ .li-seperate {
margin:10px 0px; margin: 10px 0px;
} }
.img-active { .img-active {
@ -246,8 +243,6 @@
padding: 8px !important; padding: 8px !important;
min-height: 43px !important; min-height: 43px !important;
} }
</style> </style>
<!-- rightbar --> <!-- rightbar -->
@ -725,36 +720,36 @@
font-weight: 400 !important; font-weight: 400 !important;
} }
table[data-custom-table-css="table"] thead th:first-child , table[data-custom-table-css="table"] thead th:first-child,
table[data-custom-table-css="second-table"] thead th:first-child { table[data-custom-table-css="second-table"] thead th:first-child {
border-top-left-radius: 15px !important; border-top-left-radius: 15px !important;
border-bottom-left-radius: 15px !important; border-bottom-left-radius: 15px !important;
} }
table[data-custom-table-css="table"] thead th:last-child , table[data-custom-table-css="table"] thead th:last-child,
table[data-custom-table-css="second-table"] thead th:last-child { table[data-custom-table-css="second-table"] thead th:last-child {
border-top-right-radius: 15px !important; border-top-right-radius: 15px !important;
border-bottom-right-radius: 15px !important; border-bottom-right-radius: 15px !important;
} }
table[data-custom-table-css="table"] tbody tr td:first-child , table[data-custom-table-css="table"] tbody tr td:first-child,
table[data-custom-table-css="second-table"] tbody tr td:first-child { table[data-custom-table-css="second-table"] tbody tr td:first-child {
border-top-left-radius: 15px !important; border-top-left-radius: 15px !important;
border-bottom-left-radius: 15px !important; border-bottom-left-radius: 15px !important;
} }
table[data-custom-table-css="table"] tbody tr td:last-child , table[data-custom-table-css="table"] tbody tr td:last-child,
table[data-custom-table-css="second-table"] tbody tr td:last-child { table[data-custom-table-css="second-table"] tbody tr td:last-child {
border-top-right-radius: 15px !important; border-top-right-radius: 15px !important;
border-bottom-right-radius: 15px !important; border-bottom-right-radius: 15px !important;
} }
table[data-custom-table-css="table"] tbody tr:hover td , table[data-custom-table-css="table"] tbody tr:hover td,
table[data-custom-table-css="second-table"] tbody tr:hover td { table[data-custom-table-css="second-table"] tbody tr:hover td {
background-color: #e0e0e0; background-color: #e0e0e0;
} }
table[data-custom-table-css="table"] , table[data-custom-table-css="table"],
table[data-custom-table-css="second-table"] { table[data-custom-table-css="second-table"] {
border-collapse: separate !important; border-collapse: separate !important;
border-spacing: 0 8px !important; border-spacing: 0 8px !important;
@ -765,10 +760,6 @@
padding: 15px !important; padding: 15px !important;
} }
table[data-custom-table="table"] thead.bg-light tr[role="row"]{
display:none !important;
}
table[data-custom-table-css="table"] thead.bg-light { table[data-custom-table-css="table"] thead.bg-light {
background-color: transparent !important; background-color: transparent !important;
} }
@ -782,7 +773,6 @@
border-bottom: 2px solid #F5FFFF !important; border-bottom: 2px solid #F5FFFF !important;
font-weight: 400 !important; font-weight: 400 !important;
} }
</style> </style>
<!-- Datatable section starts --> <!-- Datatable section starts -->
@ -861,6 +851,85 @@
.buttons-html5 { .buttons-html5 {
margin-right: 10px !important; margin-right: 10px !important;
} }
.dataTables_scrollBody thead.bg-light tr,
.dataTables_scrollBody thead tr {
visibility: collapse !important;
/* hides + removes row space */
height: 0 !important;
}
.dataTables_scrollBody thead.bg-light th {
padding: 0 !important;
margin: 0 !important;
border: none !important;
height: 0 !important;
line-height: 0 !important;
overflow: hidden !important;
}
/* Wrapper around the search input */
.datatable-search-wrapper {
position: relative;
display: inline-block;
width: 100%;
}
/* The search input itself */
.dataTables_filter input {
background: #F0F0F0 !important;
color: #707070 !important;
font-weight: 400 !important;
box-shadow: 0px 2px 4px 0px #00000024 !important;
border-color: #F0F0F0 !important;
margin-left: 1px !important;
}
/* Placeholder styling */
.dataTables_filter input::placeholder {
color: #707070 !important;
font-weight: 400 !important;
}
/* The magnify icon */
.datatable-search-icon {
position: absolute !important;
right: 12px !important;
top: 50% !important;
transform: translateY(-50%) !important;
color: #707070 !important;
font-size: 18px !important;
pointer-events: none;
/* prevents blocking typing */
}
.datatable-search {
margin-right: auto;
}
.datatable-buttons {
margin-left: auto;
}
/* Fix DataTables buttons alignment inside card-body */
.card-body .card-body .dt-buttons,
.card-body .card-body .datatable-buttons {
margin-right: 0 !important;
padding-right: 2.25rem !important;
/* match card-body padding */
}
/* Applies only to tables with data-custom-table-css="table" */
table[data-custom-table-css="table"] tbody tr td {
padding: 8px 10px !important; /* spacing */
line-height: 20px; /* consistent spacing for text */
min-height: 40px; /* makes sense here if you use display:block */
vertical-align: middle; /* aligns text properly */
}
</style> </style>
@ -1023,7 +1092,8 @@
border-radius: 10px; border-radius: 10px;
box-shadow: 0px 2px 2px 0px #00000040; box-shadow: 0px 2px 2px 0px #00000040;
overflow: hidden; overflow: hidden;
background-color: #F5FFFF !important; /* fallback */ background-color: #F5FFFF !important;
/* fallback */
} }
/* ✅ Toolbar (header) */ /* ✅ Toolbar (header) */
@ -1036,13 +1106,14 @@
/* ✅ Footer / status bar */ /* ✅ Footer / status bar */
.jodit .jodit-status-bar { .jodit .jodit-status-bar {
background-color: #F5FFFF !important; background-color: #F5FFFF !important;
border-top: 1px solid #ddd; /* optional: keep a light separator */ border-top: 1px solid #ddd;
/* optional: keep a light separator */
} }
/* ✅ Editable content (div mode) */ /* ✅ Editable content (div mode) */
.jodit .jodit-wysiwyg { .jodit .jodit-wysiwyg {
background-color: #F5FFFF !important; background-color: #F5FFFF !important;
color:black !important; color: black !important;
padding: 10px; padding: 10px;
} }
@ -1051,25 +1122,22 @@
background-color: #F5FFFF !important; background-color: #F5FFFF !important;
border-radius: 0 0 10px 10px; border-radius: 0 0 10px 10px;
} }
</style> </style>
<!-- jodit section inside modal --> <!-- jodit section inside modal -->
<style> <style>
/* ✅ Whole editor box */ /* ✅ Whole editor box */
.modal .jodit { .modal .jodit {
border-radius: 10px; border-radius: 10px;
box-shadow: 0px 2px 2px 0px #00000040; box-shadow: 0px 2px 2px 0px #00000040;
overflow: hidden; overflow: hidden;
background-color: #ECECEC !important; /* fallback */ background-color: #ECECEC !important;
/* fallback */
} }
.modal .jodit p { .modal .jodit p {
background-color: #ECECEC !important; /* fallback */ background-color: #ECECEC !important;
/* fallback */
} }
/* ✅ Toolbar (header) */ /* ✅ Toolbar (header) */
@ -1082,13 +1150,14 @@
/* ✅ Footer / status bar */ /* ✅ Footer / status bar */
.modal .jodit .jodit-status-bar { .modal .jodit .jodit-status-bar {
background-color: #ECECEC !important; background-color: #ECECEC !important;
border-top: 1px solid #ddd; /* optional: keep a light separator */ border-top: 1px solid #ddd;
/* optional: keep a light separator */
} }
/* ✅ Editable content (div mode) */ /* ✅ Editable content (div mode) */
.modal .jodit .jodit-wysiwyg { .modal .jodit .jodit-wysiwyg {
background-color: #ECECEC !important; background-color: #ECECEC !important;
color:black !important; color: black !important;
padding: 10px; padding: 10px;
} }
@ -1097,7 +1166,6 @@
background-color: #ECECEC !important; background-color: #ECECEC !important;
border-radius: 0 0 10px 10px; border-radius: 0 0 10px 10px;
} }
</style> </style>
@ -1160,10 +1228,14 @@
/* Cancel Bootstrap's .form-control for file inputs */ /* Cancel Bootstrap's .form-control for file inputs */
input[type="file"].form-control { input[type="file"].form-control {
height: auto !important; /* remove forced height */ height: auto !important;
padding: initial !important; /* reset padding */ /* remove forced height */
font-size: inherit !important; /* reset font size */ padding: initial !important;
line-height: normal !important; /* reset line height */ /* reset padding */
font-size: inherit !important;
/* reset font size */
line-height: normal !important;
/* reset line height */
} }
@ -1200,9 +1272,8 @@
button[type="submit"], button[type="submit"],
.buttons-collection, .buttons-collection,
input[type="submit"], input[type="submit"],
#get-emp-list , #get-emp-list,
.submit-btn .submit-btn {
{
color: #fff !important; color: #fff !important;
background-color: #E26728 !important; background-color: #E26728 !important;
border-color: #E26728 !important; border-color: #E26728 !important;
@ -1218,14 +1289,11 @@
} }
.cancel-btn, .cancel-btn,
.modal-footer .cancel-btn .modal-footer .cancel-btn {
{ color: #000000 !important;
color: #000000!important;
background-color: #ffffff !important; background-color: #ffffff !important;
border-color: #E26728 !important; border-color: #E26728 !important;
} }
</style> </style>
<!-- accordian --> <!-- accordian -->
@ -1500,78 +1568,7 @@
} }
</style> </style>
<style>
.dataTables_scrollBody thead.bg-light tr
{
visibility: collapse !important; /* hides + removes row space */
height: 0 !important;
}
.dataTables_scrollBody thead.bg-light th
{
padding: 0 !important;
margin: 0 !important;
border: none !important;
height: 0 !important;
line-height: 0 !important;
overflow: hidden !important;
}
/* Wrapper around the search input */
.datatable-search-wrapper {
position: relative;
display: inline-block;
width: 100%;
}
/* The search input itself */
.dataTables_filter input {
background: #F0F0F0 !important;
color: #707070 !important;
font-weight: 400 !important;
box-shadow: 0px 2px 4px 0px #00000024 !important;
border-color: #F0F0F0 !important;
margin-left : 1px !important;
}
/* Placeholder styling */
.dataTables_filter input::placeholder {
color: #707070 !important;
font-weight: 400 !important;
}
/* The magnify icon */
.datatable-search-icon {
position: absolute !important;
right: 12px !important;
top: 50% !important;
transform: translateY(-50%) !important;
color: #707070 !important;
font-size: 18px !important;
pointer-events: none; /* prevents blocking typing */
}
.datatable-search {
margin-right: auto;
}
.datatable-buttons {
margin-left: auto;
}
/* Fix DataTables buttons alignment inside card-body */
.card-body .card-body .dt-buttons
,
.card-body .card-body .datatable-buttons {
margin-right: 0 !important;
padding-right: 2.25rem !important; /* match card-body padding */
}
</style>
</head> </head>
@ -1602,16 +1599,16 @@
<li class="menu-logo"> <li class="menu-logo">
<a href="<?= base_url('/dashboard/view') ?>"> <a href="<?= base_url('/dashboard/view') ?>">
<img src="<?= base_url() . "public"; ?>/assets/images/Nhance_Favi.png" alt="Logo" > <img src="<?= base_url() . "public"; ?>/assets/images/Nhance_Favi.png" alt="Logo">
</a> </a>
</li> </li>
<li class="li-seperate" id="dashboard-li" > <li class="li-seperate" id="dashboard-li">
<a href="<?= base_url('/dashboard/view') ?>" class="img-inactive"> <a href="<?= base_url('/dashboard/view') ?>" class="img-inactive">
<i class="ri-dashboard-line" style="color:black;"></i> <i class="ri-dashboard-line" style="color:black;"></i>
<span> Dashboard </span> <span style="color: #02a8b5;"> Dashboard </span>
</a> </a>
</li> </li>
@ -1628,9 +1625,9 @@
<!-- Enrollment process --> <!-- Enrollment process -->
<?php if (in_array(get_role_id(), [1,2,3,5]) || in_array(ENROLLMENT_TEAM_ID, user_team())) { ?> <?php if (in_array(get_role_id(), [1, 2, 3, 5]) || in_array(ENROLLMENT_TEAM_ID, user_team())) { ?>
<li class="li-seperate" id="action-on-policies-li"> <li class="li-seperate" id="action-on-policies-li">
<a href="#sidebarDashboards" data-toggle="collapse" class="waves-effect img-inactive" > <a href="#sidebarDashboards" data-toggle="collapse" class="waves-effect img-inactive">
<img style="border-radius: 5px;" <img style="border-radius: 5px;"
src="<?= base_url() . "public"; ?>/assets/images/action_on_policies_sb.png" alt="Logo" height="20"> src="<?= base_url() . "public"; ?>/assets/images/action_on_policies_sb.png" alt="Logo" height="20">
<span> Action on Policies </span> <span> Action on Policies </span>
@ -1762,7 +1759,7 @@
<?php } ?> <?php } ?>
<!-- Tickets --> <!-- Tickets -->
<?php if (in_array(get_role_id(), [1, 2, 3, 4, 5]) || in_array(CLAIMS_TEAM_ID, user_team())) { ?> <?php if (in_array(get_role_id(), [1, 2, 3, 4, 5]) || in_array(CLAIMS_TEAM_ID, user_team())) { ?>
<li class="li-seperate" id="tickets-li" > <li class="li-seperate" id="tickets-li">
<a id="tickets" href="<?= base_url('/ticketList?return_type=web') ?>" class="waves-effect img-inactive"> <a id="tickets" href="<?= base_url('/ticketList?return_type=web') ?>" class="waves-effect img-inactive">
<img src="<?= base_url() . "public"; ?>/assets/images/ticket.png" alt="Logo" height="20"> <img src="<?= base_url() . "public"; ?>/assets/images/ticket.png" alt="Logo" height="20">
<span>Tickets</span> <span>Tickets</span>
@ -1956,7 +1953,7 @@
<!-- ========== Top Bar Start ========== --> <!-- ========== Top Bar Start ========== -->
<div class="nav-bar"> <div class="nav-bar">
<div class="top-navbar-div" > <div class="top-navbar-div">
<div class="top-navbar-title"> <div class="top-navbar-title">
<h5>Welcome <?= (isset(get_session_userdata()->first_name) ? get_session_userdata()->first_name : 'NOT SET') ?> </h5> <h5>Welcome <?= (isset(get_session_userdata()->first_name) ? get_session_userdata()->first_name : 'NOT SET') ?> </h5>
</div> </div>

View File

@ -265,82 +265,54 @@
<div class="col-6" style="align-self: center;"> <div class="col-6" style="align-self: center;">
<h4 style="position: relative;">Policy List </h4> <h4 style="position: relative;">Policy List </h4>
</div> </div>
<div> <div class="table-responsive">
<table data-custom-table-css="table" class="table mb-0 nowrap w-100 table-centered" cellspacing="0" id="tickets-table">
<thead class="bg-light">
<tr>
<th><div class="column-header">S.No&nbsp;</div></th>
<th><div class="column-header">Issuer&nbsp;</div></th>
<th><div class="column-header">Business Type&nbsp;</div></th>
<th><div class="column-header">Client Type&nbsp;</div></th>
<th><div class="column-header">Client / Branch&nbsp;</div></th>
<th><div class="column-header">Insurer&nbsp;</div></th>
<th><div class="column-header">Policy&nbsp;</div></th>
<th><div class="column-header">Policy No&nbsp;</div></th>
<th><div class="column-header">Policy Issue Date&nbsp;</div></th>
<th><div class="column-header">D.O.C&nbsp;</div></th>
<th><div class="column-header">D.O.E&nbsp;</div></th>
<th><div class="column-header">No of Insured&nbsp;</div></th>
<th><div class="column-header">No of Dependents&nbsp;</div></th>
<th><div class="column-header">Status&nbsp;</div></th>
<th><div class="column-header">User&nbsp;</div></th>
<th><div class="column-header">Action</div></th>
</tr>
</thead>
<div class="col-3" id="status_change" style="text-align: right; position: relative;top: 56px; left: 291px;">
<!-- <button type="button" id="btnAdd" class="btn btn-primary waves-effect waves-light" onclick="hide_list_show_add();">Add</button> -->
</div>
</div>
<div>
<table data-custom-table-css="table" class="table table-striped mb-0 nowrap" cellspacing="0" id="tickets-table"> <table data-custom-table-css="table" class="table table-striped mb-0 nowrap" cellspacing="0" id="tickets-table">
<thead class="bg-light"> <thead class="bg-light">
<tr> <tr>
<th> <th>
<div class="column-header">S.No.</div> <div class="column-header">S.No&nbsp;</div>
</th> </th>
<th> <th>
<div class="column-header">Issuer</div> <div class="column-header">Issuer&nbsp;</div>
</th> </th>
<th> <th>
<div class="column-header">Business Type</div> <div class="column-header">Business Type&nbsp;</div>
</th> </th>
<th> <th>
<div class="column-header">Client Type</div> <div class="column-header">Client Type&nbsp;</div>
</th> </th>
<th> <th>
<div class="column-header">Client / Branch</div> <div class="column-header">Client / Branch&nbsp;</div>
</th> </th>
<th> <th>
<div class="column-header">Insurer</div> <div class="column-header">Insurer&nbsp;</div>
</th> </th>
<th> <th>
<div class="column-header">Policy</div> <div class="column-header">Policy&nbsp;</div>
</th> </th>
<th> <th>
<div class="column-header">Policy No</div> <div class="column-header">Policy No&nbsp;</div>
</th> </th>
<th> <th>
<div class="column-header">Policy Issue Date</div> <div class="column-header">Policy Issue Date&nbsp;</div>
</th> </th>
<th> <th>
<div class="column-header">D.O.C</div> <div class="column-header">D.O.C&nbsp;</div>
</th> </th>
<th> <th>
<div class="column-header">D.O.E</div> <div class="column-header">D.O.E&nbsp;</div>
</th> </th>
<th> <th>
<div class="column-header">No of Insured</div> <div class="column-header">No of Insured&nbsp;</div>
</th> </th>
<th> <th>
<div class="column-header">No of Dependents</div> <div class="column-header">No of Dependents&nbsp;</div>
</th> </th>
<th> <th>
<div class="column-header">Status</div> <div class="column-header">Status&nbsp;</div>
</th> </th>
<th> <th>
<div class="column-header">User</div> <div class="column-header">User&nbsp;</div>
</th> </th>
<th> <th>
<div class="column-header">Action</div> <div class="column-header">Action</div>
@ -351,7 +323,7 @@
<tbody> <tbody>
<?php foreach ($inception_data_list as $index => $row) { ?> <?php foreach ($inception_data_list as $index => $row) { ?>
<tr> <tr>
<td class="text-center"><?php echo $index+1; ?></td> <td class="text-center"><?php echo $index + 1; ?></td>
<td><?php echo $issuer[$row['issuer']] ?: 'N/A'; ?></td> <td><?php echo $issuer[$row['issuer']] ?: 'N/A'; ?></td>
<td><?php echo $issuing_type[$row['issue_type']] ?: 'N/A'; ?></td> <td><?php echo $issuing_type[$row['issue_type']] ?: 'N/A'; ?></td>
<td><?php echo $client_type[$row['client_type']] ?? '-'; ?></td> <td><?php echo $client_type[$row['client_type']] ?? '-'; ?></td>
@ -392,15 +364,15 @@
</div> </div>
</div> </div>
</div> </div>
</div><!-- end col --> </div><!-- end col -->
<!-- end table row --> <!-- end table row -->
<?php include('pt_form_file_upload_tab.php'); ?> <?php include('pt_form_file_upload_tab.php'); ?>
<div class="modal fade" id="file_upload" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal fade" id="file_upload" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog modal-full-width"> <div class="modal-dialog modal-full-width">
<div class="modal-content"> <div class="modal-content">
@ -425,8 +397,8 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<script> <script>
document.addEventListener("DOMContentLoaded", function() { document.addEventListener("DOMContentLoaded", function() {
const table = document.getElementById("tickets-table"); const table = document.getElementById("tickets-table");
@ -520,9 +492,9 @@
} }
}); });
}); });
</script> </script>
<script> <script>
var client_list = ''; // local variable for storing the client branch list var client_list = ''; // local variable for storing the client branch list
var branch_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 var policy_list = ''; // local variable for storing the client policy list
@ -559,10 +531,10 @@
e.preventDefault(); e.preventDefault();
toastr.warning('Please select Client and Client Branch before filling out the form.'); toastr.warning('Please select Client and Client Branch before filling out the form.');
}); });
}); });
// select2 document ready // select2 document ready
$(document).ready(function(){ $(document).ready(function() {
getClientAndBranchAndPolicy() getClientAndBranchAndPolicy()
addHTMLInput(); addHTMLInput();
@ -595,10 +567,10 @@ $(document).ready(function(){
$('#serviced_by').select2(); $('#serviced_by').select2();
$('#policy_type_id').select2(); $('#policy_type_id').select2();
$('#ppteam').select2(); $('#ppteam').select2();
}) })
// Datatable document ready // Datatable document ready
$(document).ready(function() { $(document).ready(function() {
var ticketsTable = $('#tickets-table'); var ticketsTable = $('#tickets-table');
@ -630,8 +602,7 @@ $(document).ready(function() {
// } // }
// } // }
// ], // ],
buttons: [ buttons: [{
{
text: '<i class="mdi mdi-plus" ></i><span class=" btn-custom"> Add </span>', text: '<i class="mdi mdi-plus" ></i><span class=" btn-custom"> Add </span>',
className: 'btn app-btn-primary mr-2', className: 'btn app-btn-primary mr-2',
action: function(e, dt, node, config) { action: function(e, dt, node, config) {
@ -642,14 +613,12 @@ $(document).ready(function() {
extend: 'collection', extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>', text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ', className: 'btn app-btn-secondary ',
buttons: [ buttons: [{
{
extend: 'csv', extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>', text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ', className: 'app-btn-primary ',
title: 'Policy-Tranction-Inception-List', title: 'Policy-Tranction-Inception-List',
} }]
]
} }
], ],
language: { language: {
@ -667,10 +636,10 @@ $(document).ready(function() {
} else { } else {
console.error("Table not found."); console.error("Table not found.");
} }
}); });
// Date document ready // Date document ready
$(document).ready(function(){ $(document).ready(function() {
var today = new Date(); var today = new Date();
@ -736,12 +705,11 @@ $(document).ready(function(){
}) })
//-------------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------------
function hide_list_show_add() function hide_list_show_add() {
{
$('#page_title').text('Add Policy') $('#page_title').text('Add Policy')
$('#inception_form_id')[0].reset(); $('#inception_form_id')[0].reset();
$('#client_id').val('').change().prop('disabled', false); $('#client_id').val('').change().prop('disabled', false);
@ -768,20 +736,18 @@ function hide_list_show_add()
$('#inception_filter').hide() $('#inception_filter').hide()
$('#policyholdernamediv').hide(); $('#policyholdernamediv').hide();
$('.branchdiv').show(); $('.branchdiv').show();
} }
function show_list_hide_add() function show_list_hide_add() {
{
$('#pt_onboarding').hide() $('#pt_onboarding').hide()
$('#inception_list').show() $('#inception_list').show()
$('#inception_filter').show(); $('#inception_filter').show();
$('#nav_pills').empty() $('#nav_pills').empty()
$('#tab_content').empty() $('#tab_content').empty()
count = 0 count = 0
} }
function getClientAndBranchAndPolicy() function getClientAndBranchAndPolicy() {
{
$.ajax({ $.ajax({
url: '<?= base_url("/util/getClientAndBranchAndPolicy") ?>', url: '<?= base_url("/util/getClientAndBranchAndPolicy") ?>',
type: "GET", type: "GET",
@ -789,7 +755,7 @@ function getClientAndBranchAndPolicy()
success: function(res) { success: function(res) {
console.log('getClientAndBranchAndPolicy', res); console.log('getClientAndBranchAndPolicy', res);
if(res.status == true){ if (res.status == true) {
client_list = res.client_data; client_list = res.client_data;
branch_list = res.branch_data; branch_list = res.branch_data;
policy_list = res.policy_data; policy_list = res.policy_data;
@ -798,9 +764,11 @@ function getClientAndBranchAndPolicy()
appendClients(res.client_data); appendClients(res.client_data);
appendVehicles(res.vehicle_data); appendVehicles(res.vehicle_data);
appendOwner(client_list) appendOwner(client_list)
}else{ } else {
console.log('No data found'); console.log('No data found');
} }
}
});
} }
// Check on page load // Check on page load
@ -816,7 +784,7 @@ function getClientAndBranchAndPolicy()
e.preventDefault(); e.preventDefault();
toastr.warning('Please select Client and Client Branch before filling out the form.'); toastr.warning('Please select Client and Client Branch before filling out the form.');
}); });
});
// select2 document ready // select2 document ready
$(document).ready(function() { $(document).ready(function() {
@ -1798,10 +1766,10 @@ function getClientAndBranchAndPolicy()
if (charcode >= 48 && charcode <= 57 || charcode == 46) return true; if (charcode >= 48 && charcode <= 57 || charcode == 46) return true;
return false; return false;
} }
</script> </script>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
// getURLParams() // getURLParams()
$('#client_id_for_search').select2(); $('#client_id_for_search').select2();
@ -1992,4 +1960,4 @@ function getClientAndBranchAndPolicy()
} }
}); });
} }
</script> </script>

View File

@ -12,12 +12,16 @@
position: relative; position: relative;
left: 79px; left: 79px;
} }
.emp_data_model { .emp_data_model {
font-size: 17px; /* keep fixed size */ font-size: 17px;
/* keep fixed size */
color: #555 !important; color: #555 !important;
cursor: pointer; cursor: pointer;
transition: transform 0.2s, color 0.2s; /* smooth hover effect */ transition: transform 0.2s, color 0.2s;
display: inline-block; /* important for transform */ /* smooth hover effect */
display: inline-block;
/* important for transform */
} }
.emp_data_model:hover { .emp_data_model:hover {
@ -27,16 +31,18 @@
</style> </style>
<div class="container-fluid-min"> <div class="container-fluid-min">
<h2>Retail Endorsement</h2>
<div class="row"> <div class="row">
<div class="col-xl-12"> <div class="col-xl-12">
<div class="card-body">
<div id="accordion" class="mb-3"> <div id="accordion" class="mb-3">
<div class="card mb-1"> <div class="card mb-1">
<h5 class="m-1"> <h4>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne" aria-expanded="true"> Filter
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i> <i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a> </a>
</h5> </h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion"> <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body"> <div class="card-body">
<!-- <div class="text-center"> --> <!-- <div class="text-center"> -->
@ -89,6 +95,8 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</div> </div>
<div class="row" id="client_list"> <div class="row" id="client_list">
@ -126,8 +134,8 @@
<td class="text-center"><?php echo $employee['policy_number'] ?></td> <td class="text-center"><?php echo $employee['policy_number'] ?></td>
<td class="text-center"><?php echo $employee['endorsement_no'] ?></td> <td class="text-center"><?php echo $employee['endorsement_no'] ?></td>
<td class="text-center"><?php echo $employee['endorsement_description'] ?></td> <td class="text-center"><?php echo $employee['endorsement_description'] ?></td>
<td class="text-center"><?php echo $employee['client_name'] ? $employee['client_name'] .' ( '. $employee['client_short_name'] .' ) ' : 'N/A' ?></td> <td class="text-center"><?php echo $employee['client_name'] ? $employee['client_name'] . ' ( ' . $employee['client_short_name'] . ' ) ' : 'N/A' ?></td>
<td class="text-center"><?php echo $employee['insurer_name'] ? $employee['insurer_name'] .' ( '. $employee['insurer_short_name'] .' ) ' : 'N/A' ?></td> <td class="text-center"><?php echo $employee['insurer_name'] ? $employee['insurer_name'] . ' ( ' . $employee['insurer_short_name'] . ' ) ' : 'N/A' ?></td>
<td class="text-center"><?php echo $employee['agent_name'] ?? 'N/A' ?></td> <td class="text-center"><?php echo $employee['agent_name'] ?? 'N/A' ?></td>
<td class="text-center"><?php echo $employee['manager_name'] ?? 'N/A' ?></td> <td class="text-center"><?php echo $employee['manager_name'] ?? 'N/A' ?></td>
<td class="text-center"><?php if (!empty($employee['created_at'])): <td class="text-center"><?php if (!empty($employee['created_at'])):
@ -176,7 +184,7 @@
<div class="form-row"> <div class="form-row">
<input type="hidden" id="edit_id" name="id"> <input type="hidden" id="edit_id" name="id">
<input type="hidden" id="updated_by" name="updated_by" value="<?= get_session_userid(); ?>"> <input type="hidden" id="updated_by" name="updated_by" value="<?= get_session_userid(); ?>">
<input type="hidden" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>"/> <input type="hidden" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
<div class="form-group col-md-12"> <div class="form-group col-md-12">
@ -260,7 +268,7 @@
var eno = $(this).data('eno'); var eno = $(this).data('eno');
var status = $(this).data('status'); var status = $(this).data('status');
// console.log(val); // console.log(val);
fetchRetailEndorsementData(id,eno,status) fetchRetailEndorsementData(id, eno, status)
}); });
@ -311,7 +319,7 @@
}); });
} }
function fetchRetailEndorsementData(id,eno,status) { function fetchRetailEndorsementData(id, eno, status) {
$('.loader').fadeIn(); $('.loader').fadeIn();
$('.loader-mask').fadeIn(); $('.loader-mask').fadeIn();
@ -353,13 +361,11 @@
// } // }
// } // }
// }], // }],
buttons: [ buttons: [{
{
extend: 'collection', extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>', text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ', className: 'btn app-btn-secondary ',
buttons: [ buttons: [{
{
extend: 'csv', extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>', text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ', className: 'app-btn-primary ',
@ -367,19 +373,17 @@
exportOptions: { exportOptions: {
columns: ':not(:last-child)', columns: ':not(:last-child)',
format: { format: {
body: function (data, row, column, node) { body: function(data, row, column, node) {
// Convert data to string to avoid scientific notation in CSV // Convert data to string to avoid scientific notation in CSV
if (!isNaN(data) && parseFloat(data) > 1e20) { if (!isNaN(data) && parseFloat(data) > 1e20) {
return `'${data}`; return `'${data}`;
} }
return data.toString();// Ensures all data is treated as strings return data.toString(); // Ensures all data is treated as strings
} }
} }
} }
}, }, ]
] }],
}
],
initComplete: function(settings, json) { initComplete: function(settings, json) {
$('.my_class').css({ $('.my_class').css({
"position": "relative", "position": "relative",
@ -396,8 +400,10 @@
}, },
paging: true, paging: true,
// pagingType: 'full_numbers' // pagingType: 'full_numbers'
columnDefs: [ columnDefs: [{
{ type: 'scientific', targets: 0 } // Apply custom sorting type to the first column type: 'scientific',
targets: 0
} // Apply custom sorting type to the first column
], ],
}); });

View File

@ -155,49 +155,6 @@
<h4 style="position: relative;">Variance Report</h4> <h4 style="position: relative;">Variance Report</h4>
</div> </div>
</div>
<div class="table-responsive">
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap">
<thead class="bg-light">
<tr>
<th>S.No</th>
<th>Client</th>
<th>Client Branch</th>
<th>Insurer</th>
<th>Insurer Branch</th>
<th>Policy</th>
<th>Endorsement No</th>
<th>Premium</th>
<th>Statement Premium</th>
<th>Premium Variance</th>
<th>Expected Amount</th>
<th>Statement Amount</th>
<th>Variance</th>
</tr>
</thead>
<tbody>
<?php if (isset($varience_list)) { ?>
<?php foreach ($varience_list as $index => $row) { ?>
<tr>
<td><?= $index + 1 ?></td>
<td><?php echo $row['client_name']; ?></td>
<td><?php echo $row['client_branch_name']; ?></td>
<td><?php echo $row['insurer_name']; ?></td>
<td><?php echo $row['insurer_branch_name']; ?></td>
<td><?php echo $row['policy_type'] . ' - ' . $row['policy_no']; ?></td>
<td><?php echo $row['endorsement_no']; ?></td>
<td class="right-align-input"><?php echo $row['original_premium']; ?></td>
<td class="right-align-input"><?php echo isset($row['statement_premium']) ? $row['statement_premium'] : '0.00'; ?></td>
<td class="right-align-input"><?php echo $row['premium_variance_amt']; ?></td>
<td class="right-align-input"><?php echo $row['exp_amt']; ?></td>
<td class="right-align-input"><?php echo isset($row['statement_amount']) ? $row['statement_amount'] : '0.00'; ?></td>
<td class="right-align-input"><?php echo isset($row['variance_amt']) ? $row['variance_amt'] : '0.00'; ?></td>
</tr>
<?php } ?>
<?php } ?>
</tbody>
</table>
</div> </div>
<div class="table-responsive"> <div class="table-responsive">
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap"> <table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap">
@ -546,9 +503,9 @@ function getClientAndBranchAndPolicy()
error: function(xhr, status, error) { error: function(xhr, status, error) {
console.error(xhr.responseText); console.error(xhr.responseText);
console.error(status, error); console.error(status, error);
>>>>>>> 3e7d3426 (FIX_XL button and Search)
} }
}); });
}
$(document).ready(function() { $(document).ready(function() {
getClientAndBranchAndPolicy() getClientAndBranchAndPolicy()