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

View File

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

View File

@ -15,17 +15,18 @@
</style>
<div class="container-fluid-min">
<h2>Endorsement</h2>
<div class="row">
<div class="col-xl-12">
<div class="card-body">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<label id="filterAccordion" class="m-1 d-flex justify-content-between align-items-center">
<span class="font-color-black">Filters</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne" aria-expanded="true">
<h4>
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>
</a>
</label>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
@ -76,6 +77,8 @@
</div>
</div>
</div>
</div>
</div>
<div class="row" id="client_list">
@ -333,7 +336,7 @@
var option = $('<option>', {
value: item.client_policy_id,
// 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) {
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>>>" +
"<'row'<'col-sm-12'tr>>" +
"<'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>',
className: 'btn app-btn-primary mr-2',
action: function(e, dt, node, config) {
@ -606,8 +608,7 @@
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
buttons: [{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
@ -657,8 +658,10 @@
},
paging: true,
// pagingType: 'full_numbers'
columnDefs: [
{ type: 'scientific', targets: 0 } // Apply custom sorting type to the first column
columnDefs: [{
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;
cursor: pointer;
}
.click_hover .text-muted{
.click_hover .text-muted {
color: #fff !important;
}
.click_hover span{
.click_hover span {
color: #fff !important;
}
.card {
border-radius: 10px;
}
.row.visa_status_count_view .card-header{
.row.visa_status_count_view .card-header {
background-color: #F5FFFF;
padding: 25px;
border: 2px solid #fff;
@ -50,63 +53,61 @@
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;
font-weight:800;
color:#000 !important;
border : 1px solid #D4F5F6 !important;
font-weight: 800;
color: #000 !important;
border: 1px solid #D4F5F6 !important;
border-radius: 15px;
padding : 5px 10px;
padding: 5px 10px;
}
#categoryFilter_12 a ,
#categoryFilter_13 a ,
#categoryFilter_14 a
{
#categoryFilter_12 a,
#categoryFilter_13 a,
#categoryFilter_14 a {
background-color: #00999E;
box-shadow: 0px 2px 4px 0px #00000040;
}
#statusContent{
#statusContent {
background-color: #F5FFFF;
border-radius: 10px;
box-shadow: 0px 1px 1px 0px #00000040;
}
#statusContent .statusContent-flex{
display:flex;
#statusContent .statusContent-flex {
display: flex;
flex-flow: row wrap;
}
.statusContent-flex .my-2{
color:black !important;
.statusContent-flex .my-2 {
color: black !important;
}
#statusContent .custom-card{
min-width:300px;
#statusContent .custom-card {
min-width: 300px;
min-height: 50px;
padding:15px;
padding: 15px;
background-color: white;
color:black;
margin-right:15px;
margin-top :10px;
color: black;
margin-right: 15px;
margin-top: 10px;
border-radius: 10px;
box-shadow: 0px 2px 4px 0px #00000024 !important;
}
</style>
<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="card-body">
<div class="card">
<div class="card-header">
<div class="row" >
<div class="row">
<div class="col-3">
<div id="categoryFilter" >
<div id="categoryFilter">
<label for="">Client</label>
<select class="form-control" id="clients" onchange="populateBranches()">
<option value="0">Select Client</option>
@ -133,7 +134,7 @@
</div>
</div>
<div class="col-3">
<div id="categoryFilter_11" >
<div id="categoryFilter_11">
<a class="btn btn-primary waves-effect waves-light"
style="margin-top:30px !important"
onclick="fetchEmpolyeeList(event);"
@ -143,21 +144,21 @@
</div>
<div class="col-6" style="margin-right: 15px; margin-top:30px; ">
<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 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>
<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>
<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>
</button>
</div>
</div>
</div>
<div class="card-body status-option" id="statusContent" >
<div class="card-body status-option" id="statusContent">
<h4>Status</h4>
<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>
</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 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>
</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 class="custom-card d-flex justify-content-between" id="emp_not_enrolled_view_click">
@ -211,9 +212,11 @@
</div>
</div>
</div>
</div>
<div class="row" id="client_list">
</div>
</div>
<div class="row" id="client_list">
<div class="col-12">
<div class="card">
<div class="card-body">
@ -235,7 +238,7 @@
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Center modal content -->
@ -247,7 +250,7 @@
<button type="button" id="close_btn" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<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_branch_id" name="branch_id">
<input type="hidden" id="file_upload_actions" name="upload-action-type" value="enrollment">
@ -256,7 +259,7 @@
<div class="form-group col-md-12">
<label for="policy_id">Client Policy<span class="text-danger">*</span></label>
<select class="form-control" id="policy_id" name="policy_id" required>
<option selected >Select Client Policy</option>
<option selected>Select Client Policy</option>
</select>
</div>
</div>
@ -278,9 +281,7 @@
</div><!-- /.modal -->
<script>
function populateBranches()
{
function populateBranches() {
var clientId = document.getElementById('clients').value;
var branchDropdown = document.getElementById('branch_id');
@ -302,8 +303,7 @@
});
}
function populatePolicies()
{
function populatePolicies() {
console.log('populatePolicies function called');
var clientId = document.getElementById('clients').value;
@ -334,8 +334,7 @@
});
}
function filterTable(columnIndex, filterValue)
{
function filterTable(columnIndex, filterValue) {
var table = $('#tickets-table').DataTable();
// Reset the search filter for all columns
@ -345,8 +344,7 @@
table.column(columnIndex).search(filterValue).draw();
}
function fetchEmpolyeeList(event)
{
function fetchEmpolyeeList(event) {
event.preventDefault();
var client_id = $('#clients').val();
@ -396,17 +394,17 @@
var loggedIn_count = 0;
data.forEach(function(employee, index) {
if(employee.emp_status !== 'draft'){
if (employee.emp_status !== 'draft') {
var enrolled = 'Yes';
enrolled_count++;
}else{
} else {
var enrolled = 'No';
}
if(employee.user_type === 'employee'){
if (employee.user_type === 'employee') {
var loggedIn = 'Yes';
loggedIn_count++;
}else{
} else {
var loggedIn = 'No';
}
@ -444,8 +442,7 @@
});
}
$(document).ready(function()
{
$(document).ready(function() {
function getUrlParameter(name) {
var params = new URLSearchParams(window.location.search);
@ -464,7 +461,7 @@
if (branch_id) {
setTimeout(function() { // Ensure branches are populated before setting branch ID
$('#branch_id').val(branch_id).trigger('change');
if($('#branch_id').val() != 0){
if ($('#branch_id').val() != 0) {
$('#get-emp-list').click().trigger();
}
}, 500);
@ -472,7 +469,9 @@
}
if (history.pushState) {
var newUrl = window.location.protocol + "//" + window.location.host + window.location.pathname;
window.history.pushState({path: newUrl}, '', newUrl);
window.history.pushState({
path: newUrl
}, '', newUrl);
}
setTimeout(() => {
@ -514,13 +513,11 @@
// filename: 'Enrolment List'
// }
// ],
buttons: [
{
buttons: [{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
buttons: [{
extend: 'copy',
text: '<i class="mdi mdi-content-copy"></i>',
titleAttr: 'Copy',
@ -549,8 +546,7 @@
className: 'app-btn-primary ',
}
]
}
],
}],
initComplete: function() {
// Add custom class to the print button
$('.buttons-print').addClass('buttons-html5');
@ -565,7 +561,7 @@
$(this).removeClass('click_hover');
});
table.columns().search('').draw(); // Clear all filters and show all data
}else{
} else {
$('.click_hover').each(function() {
$(this).removeClass('click_hover');
});
@ -581,7 +577,7 @@
$(this).removeClass('click_hover');
});
table.columns().search('').draw(); // Clear all filters and show all data
}else{
} else {
$('.click_hover').each(function() {
$(this).removeClass('click_hover');
});
@ -597,7 +593,7 @@
$(this).removeClass('click_hover');
});
table.columns().search('').draw(); // Clear all filters and show all data
}else{
} else {
$('.click_hover').each(function() {
$(this).removeClass('click_hover');
});
@ -613,7 +609,7 @@
$(this).removeClass('click_hover');
});
table.columns().search('').draw(); // Clear all filters and show all data
}else{
} else {
$('.click_hover').each(function() {
$(this).removeClass('click_hover');
});
@ -629,7 +625,7 @@
$(this).removeClass('click_hover');
});
table.columns().search('').draw(); // Clear all filters and show all data
}else{
} else {
$('.click_hover').each(function() {
$(this).removeClass('click_hover');
});
@ -641,8 +637,7 @@
toggleContent();
});
function toggleContent()
{
function toggleContent() {
var content = document.getElementById("statusContent");
var toggleIcon = document.getElementById("toggleIcon");
if (content.style.display === "none") {
@ -659,8 +654,7 @@
//----------------------------------------------------------------------------------------------------
function uploadEnrollmentFile(input)
{
function uploadEnrollmentFile(input) {
console.log('uploadEnrollmentFile called');
var client_id = $('#clients').val()
@ -670,7 +664,7 @@
console.log('client_id', client_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({
title: "warning!",
@ -716,8 +710,7 @@
}
function appendpolicy(data)
{
function appendpolicy(data) {
$('#policy_id').empty();
$('#policy_id').append($('<option>', {
@ -729,7 +722,7 @@
$.each(data, function(index, item) {
var option = $('<option>', {
value: item.id,
text:`${item.policy_name ?? ''} - ${item.policy_no ?? ''}`
text: `${item.policy_name ?? ''} - ${item.policy_no ?? ''}`
});
$('#policy_id').append(option);
});
@ -749,7 +742,7 @@
return;
}
if(client_id == 0 && client_branch_id == 0){
if (client_id == 0 && client_branch_id == 0) {
toastr.warning('Select Client and Client Branch');
return false;
}
@ -813,8 +806,7 @@
});
function sendManualReminder(input)
{
function sendManualReminder(input) {
console.log('sendManualReminder function called');
var client_id = $('#clients').val()
@ -874,9 +866,9 @@
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
if(res.status == false){
if (res.status == false) {
toastr.info(res.message, 'INFO');
}else{
} else {
toastr.success(res.message, 'SUCCESS');
}

View File

@ -136,20 +136,17 @@
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;
}
body .content-page{
margin-top:90px !important;
body .content-page {
margin-top: 90px !important;
}
</style>
<!-- navbar -->
<style>
.nav-bar {
position: fixed !important;
z-index: 1000;
@ -164,7 +161,7 @@
flex-shrink: 1 !important;
justify-content: space-between;
margin-top: 20px;
margin-left:20px;
margin-left: 20px;
}
@ -190,7 +187,6 @@
<!-- sidebar -->
<style>
#side-menu .menu-logo a:hover {
background-color: transparent !important;
color: inherit !important;
@ -220,7 +216,8 @@
/* every <li> inside should be allowed to shrink */
.left-side-menu li {
flex-shrink: 1 !important;
min-height: 0 !important; /* prevents flex bugs */
min-height: 0 !important;
/* prevents flex bugs */
}
@ -234,8 +231,8 @@
}
.li-seperate{
margin:10px 0px;
.li-seperate {
margin: 10px 0px;
}
.img-active {
@ -246,8 +243,6 @@
padding: 8px !important;
min-height: 43px !important;
}
</style>
<!-- rightbar -->
@ -725,36 +720,36 @@
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 {
border-top-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 {
border-top-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 {
border-top-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 {
border-top-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 {
background-color: #e0e0e0;
}
table[data-custom-table-css="table"] ,
table[data-custom-table-css="table"],
table[data-custom-table-css="second-table"] {
border-collapse: separate !important;
border-spacing: 0 8px !important;
@ -765,10 +760,6 @@
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 {
background-color: transparent !important;
}
@ -782,7 +773,6 @@
border-bottom: 2px solid #F5FFFF !important;
font-weight: 400 !important;
}
</style>
<!-- Datatable section starts -->
@ -861,6 +851,85 @@
.buttons-html5 {
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>
@ -1023,7 +1092,8 @@
border-radius: 10px;
box-shadow: 0px 2px 2px 0px #00000040;
overflow: hidden;
background-color: #F5FFFF !important; /* fallback */
background-color: #F5FFFF !important;
/* fallback */
}
/* ✅ Toolbar (header) */
@ -1036,13 +1106,14 @@
/* ✅ Footer / status bar */
.jodit .jodit-status-bar {
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) */
.jodit .jodit-wysiwyg {
background-color: #F5FFFF !important;
color:black !important;
color: black !important;
padding: 10px;
}
@ -1051,25 +1122,22 @@
background-color: #F5FFFF !important;
border-radius: 0 0 10px 10px;
}
</style>
<!-- jodit section inside modal -->
<style>
/* ✅ Whole editor box */
.modal .jodit {
border-radius: 10px;
box-shadow: 0px 2px 2px 0px #00000040;
overflow: hidden;
background-color: #ECECEC !important; /* fallback */
background-color: #ECECEC !important;
/* fallback */
}
.modal .jodit p {
background-color: #ECECEC !important; /* fallback */
background-color: #ECECEC !important;
/* fallback */
}
/* ✅ Toolbar (header) */
@ -1082,13 +1150,14 @@
/* ✅ Footer / status bar */
.modal .jodit .jodit-status-bar {
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) */
.modal .jodit .jodit-wysiwyg {
background-color: #ECECEC !important;
color:black !important;
color: black !important;
padding: 10px;
}
@ -1097,7 +1166,6 @@
background-color: #ECECEC !important;
border-radius: 0 0 10px 10px;
}
</style>
@ -1160,10 +1228,14 @@
/* Cancel Bootstrap's .form-control for file inputs */
input[type="file"].form-control {
height: auto !important; /* remove forced height */
padding: initial !important; /* reset padding */
font-size: inherit !important; /* reset font size */
line-height: normal !important; /* reset line height */
height: auto !important;
/* remove forced height */
padding: initial !important;
/* reset padding */
font-size: inherit !important;
/* reset font size */
line-height: normal !important;
/* reset line height */
}
@ -1200,9 +1272,8 @@
button[type="submit"],
.buttons-collection,
input[type="submit"],
#get-emp-list ,
.submit-btn
{
#get-emp-list,
.submit-btn {
color: #fff !important;
background-color: #E26728 !important;
border-color: #E26728 !important;
@ -1218,14 +1289,11 @@
}
.cancel-btn,
.modal-footer .cancel-btn
{
color: #000000!important;
.modal-footer .cancel-btn {
color: #000000 !important;
background-color: #ffffff !important;
border-color: #E26728 !important;
}
</style>
<!-- accordian -->
@ -1500,78 +1568,7 @@
}
</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>
@ -1602,16 +1599,16 @@
<li class="menu-logo">
<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>
</li>
<li class="li-seperate" id="dashboard-li" >
<li class="li-seperate" id="dashboard-li">
<a href="<?= base_url('/dashboard/view') ?>" class="img-inactive">
<i class="ri-dashboard-line" style="color:black;"></i>
<span> Dashboard </span>
<span style="color: #02a8b5;"> Dashboard </span>
</a>
</li>
@ -1628,9 +1625,9 @@
<!-- 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">
<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;"
src="<?= base_url() . "public"; ?>/assets/images/action_on_policies_sb.png" alt="Logo" height="20">
<span> Action on Policies </span>
@ -1762,7 +1759,7 @@
<?php } ?>
<!-- Tickets -->
<?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">
<img src="<?= base_url() . "public"; ?>/assets/images/ticket.png" alt="Logo" height="20">
<span>Tickets</span>
@ -1956,7 +1953,7 @@
<!-- ========== Top Bar Start ========== -->
<div class="nav-bar">
<div class="top-navbar-div" >
<div class="top-navbar-div">
<div class="top-navbar-title">
<h5>Welcome <?= (isset(get_session_userdata()->first_name) ? get_session_userdata()->first_name : 'NOT SET') ?> </h5>
</div>

View File

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

View File

@ -12,12 +12,16 @@
position: relative;
left: 79px;
}
.emp_data_model {
font-size: 17px; /* keep fixed size */
font-size: 17px;
/* keep fixed size */
color: #555 !important;
cursor: pointer;
transition: transform 0.2s, color 0.2s; /* smooth hover effect */
display: inline-block; /* important for transform */
transition: transform 0.2s, color 0.2s;
/* smooth hover effect */
display: inline-block;
/* important for transform */
}
.emp_data_model:hover {
@ -27,16 +31,18 @@
</style>
<div class="container-fluid-min">
<h2>Retail Endorsement</h2>
<div class="row">
<div class="col-xl-12">
<div class="card-body">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne" aria-expanded="true">
<h4>
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>
</a>
</h5>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
@ -89,6 +95,8 @@
</div>
</div>
</div>
</div>
</div>
<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['endorsement_no'] ?></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['insurer_name'] ? $employee['insurer_name'] .' ( '. $employee['insurer_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['agent_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'])):
@ -176,7 +184,7 @@
<div class="form-row">
<input type="hidden" id="edit_id" name="id">
<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">
@ -260,7 +268,7 @@
var eno = $(this).data('eno');
var status = $(this).data('status');
// 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-mask').fadeIn();
@ -353,13 +361,11 @@
// }
// }
// }],
buttons: [
{
buttons: [{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
buttons: [{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
@ -367,19 +373,17 @@
exportOptions: {
columns: ':not(:last-child)',
format: {
body: function (data, row, column, node) {
body: function(data, row, column, node) {
// Convert data to string to avoid scientific notation in CSV
if (!isNaN(data) && parseFloat(data) > 1e20) {
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) {
$('.my_class').css({
"position": "relative",
@ -396,8 +400,10 @@
},
paging: true,
// pagingType: 'full_numbers'
columnDefs: [
{ type: 'scientific', targets: 0 } // Apply custom sorting type to the first column
columnDefs: [{
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>
</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 class="table-responsive">
<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) {
console.error(xhr.responseText);
console.error(status, error);
>>>>>>> 3e7d3426 (FIX_XL button and Search)
}
});
}
$(document).ready(function() {
getClientAndBranchAndPolicy()