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);
}

File diff suppressed because it is too large Load Diff

View File

@ -15,66 +15,69 @@
</style>
<div class="container-fluid-min">
<h2>Endorsement</h2>
<div class="row">
<div class="col-xl-12">
<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">
<div class="card-body">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<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>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
<div class="form-row">
<div class="form-group col-md-4">
<label>Client</label> <br />
<select class="form-control" id="clients">
<option value="0">Select</option>
</select>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
<div class="form-row">
<div class="form-group col-md-4">
<label>Client</label> <br />
<select class="form-control" id="clients">
<option value="0">Select</option>
</select>
</div>
<div class="form-group col-md-4">
<label>Branch</label> <br />
<select name="branch_id" class="form-control" id="branch_id">
<option value="0">Select</option>
</select>
</div>
<div class="form-group col-md-4">
<label>Policy</label> <br />
<select class="form-control" id="policies">
<option value="0">Select</option>
</select>
</div>
<div class="form-group col-md-4">
<label>Status</label> <br />
<select class="form-control" id="status1">
<option value="0">Select</option>
<?php foreach ($status as $key => $value) { ?>
<option value="<?= $key ?>" <?= (isset($getData) && $getData['status'] == $key) ? 'selected' : '' ?>>
<?= $value ?>
</option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group col-md-4">
<label>Branch</label> <br />
<select name="branch_id" class="form-control" id="branch_id">
<option value="0">Select</option>
</select>
<div class="row">
<div class="col-12" style="text-align: right;">
<a href="<?= base_url("employee/endorsement-list"); ?>" class="btn btn-primary waves-effect waves-light" id="get-emp-list" onclick="fetchEmpolyeeList(event);">Submit</a>
</div>
</div>
<div class="form-group col-md-4">
<label>Policy</label> <br />
<select class="form-control" id="policies">
<option value="0">Select</option>
</select>
</div>
<div class="form-group col-md-4">
<label>Status</label> <br />
<select class="form-control" id="status1">
<option value="0">Select</option>
<?php foreach ($status as $key => $value) { ?>
<option value="<?= $key ?>" <?= (isset($getData) && $getData['status'] == $key) ? 'selected' : '' ?>>
<?= $value ?>
</option>
<?php } ?>
</select>
</div>
<!-- </div> -->
</div>
<div class="row">
<div class="col-12" style="text-align: right;">
<a href="<?= base_url("employee/endorsement-list"); ?>" class="btn btn-primary waves-effect waves-light" id="get-emp-list" onclick="fetchEmpolyeeList(event);">Submit</a>
</div>
</div>
<!-- </div> -->
</div>
</div>
</div>
</div>
</div>
</div>
@ -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);
@ -387,7 +390,7 @@
toastr.warning('No policies found for the selected client branch.');
} else {
// console.log('foundPolicies', foundPolicies);
appendPolicies(foundPolicies);
}
@ -594,35 +597,33 @@
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: [
{
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) {
openTicket();
}
},
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
exportOptions: {
orthogonal: 'sort'
},
className: 'app-btn-primary ',
}
]
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) {
openTicket();
}
],
},
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
exportOptions: {
orthogonal: 'sort'
},
className: 'app-btn-primary ',
}
]
}
],
// buttons: [{
// extend: 'csv',
// text: 'CSV',
@ -648,17 +649,19 @@
});
},
language: {
search: `
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
searchPlaceholder: "Search"
},
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

@ -21,7 +21,7 @@
}
#tickets-table_filter {
float: right;
float: right;
}
.click_hover {
@ -31,212 +31,215 @@
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{
background-color: #F5FFFF;
padding: 25px;
border: 2px solid #fff;
border-radius: 10px;
/* box-shadow: 2px 2px 2px; */
box-shadow: 0px 1px 1px 0px #00000040;
.row.visa_status_count_view .card-header {
background-color: #F5FFFF;
padding: 25px;
border: 2px solid #fff;
border-radius: 10px;
/* box-shadow: 2px 2px 2px; */
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
{
background-color: #00999E;
box-shadow: 0px 2px 4px 0px #00000040;
#categoryFilter_12 a,
#categoryFilter_13 a,
#categoryFilter_14 a {
background-color: #00999E;
box-shadow: 0px 2px 4px 0px #00000040;
}
}
#statusContent{
background-color: #F5FFFF;
border-radius: 10px;
box-shadow: 0px 1px 1px 0px #00000040;
}
#statusContent {
background-color: #F5FFFF;
border-radius: 10px;
box-shadow: 0px 1px 1px 0px #00000040;
}
#statusContent .statusContent-flex{
display:flex;
flex-flow: row wrap;
}
#statusContent .statusContent-flex {
display: flex;
flex-flow: row wrap;
}
.statusContent-flex .my-2{
color:black !important;
}
#statusContent .custom-card{
min-width:300px;
min-height: 50px;
padding:15px;
background-color: white;
color:black;
margin-right:15px;
margin-top :10px;
border-radius: 10px;
box-shadow: 0px 2px 4px 0px #00000024 !important;
}
.statusContent-flex .my-2 {
color: black !important;
}
#statusContent .custom-card {
min-width: 300px;
min-height: 50px;
padding: 15px;
background-color: white;
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="col-12">
<div class="card">
<div class="card-header">
<div class="row" >
<div class="col-3">
<div id="categoryFilter" >
<label for="">Client</label>
<select class="form-control" id="clients" onchange="populateBranches()">
<option value="0">Select Client</option>
<?php foreach ($client_list as $client) { ?>
<option value="<?= $client['id'] ?>"><?= $client['client_name'] ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="col-3">
<div id="categoryFilter_11">
<label for="">Branch</label>
<select name="branch_id" class="form-control" id="branch_id" onchange="populatePolicies()">
<option value="0">Select Branch</option>
</select>
</div>
</div>
<div class="col-3">
<div id="categoryFilter_14">
<label for="">Policy</label>
<select name="client_policy_id" class="form-control" id="client_policy_id">
<option value="0">Select Policy</option>
</select>
</div>
</div>
<div class="col-3">
<div id="categoryFilter_11" >
<a class="btn btn-primary waves-effect waves-light"
style="margin-top:30px !important"
onclick="fetchEmpolyeeList(event);"
data-toggle="tooltip" data-placement="top" title="Search"
id="get-emp-list"><i class="mdi mdi-magnify" aria-hidden="true"></i></a>
</div>
</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>
</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>
</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>
</div>
</div>
</div>
<div class="card-body status-option" id="statusContent" >
<h4>Status</h4>
<div class="text-center">
<div style="margin-left: 60px; margin-top: 0px;">
<div class="statusContent-flex">
<div class="custom-card d-flex justify-content-between" id="emp_count_view_click">
<div>
<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>
</div>
</div>
<div class="custom-card d-flex justify-content-between" id="emp_enrolled_view_click">
<div>
<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>
</div>
</div>
<div class="custom-card d-flex justify-content-between" id="emp_not_enrolled_view_click">
<div>
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Not Enrolled">Not Enroled</span>
</div>
<div>
<span class="my-2"><span data-plugin="counterup" id="emp_not_enrolled_view">0</span>
</div>
</div>
<div class="custom-card d-flex justify-content-between" id="emp_logged_in_view_click">
<div>
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Logged-In">Logged-In</span>
</div>
<div>
<span class="my-2"><span data-plugin="counterup" id="emp_logged_in_view">0</span>
</div>
</div>
<div class="custom-card d-flex justify-content-between" id="emp_not_logged_in_view_click">
<div>
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Not Logged-In">Not Logged-In</span>
</div>
<div>
<span class="my-2"><span data-plugin="counterup" id="emp_not_logged_in_view">0</span>
</div>
</div>
</div><!-- end col -->
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row" id="client_list">
<div class="col-12">
<div class="card">
<div class="row visa_status_count_view">
<div class="col-12">
<div class="card-body">
<table data-custom-table-css="table" class="table table-hover m-0 table-centered dt-responsive w-100" cellspacing="0" id="tickets-table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">S.No&nbsp;</th>
<th class="font-weight-medium">Name</th>
<th class="font-weight-medium">Emp Code</th>
<th class="font-weight-medium">Relationship</th>
<th class="font-weight-medium">Enroled</th>
<th class="font-weight-medium">Logged-In</th>
</tr>
</thead>
<tbody class="font-12">
<!-- Table body -->
</tbody>
</table>
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-3">
<div id="categoryFilter">
<label for="">Client</label>
<select class="form-control" id="clients" onchange="populateBranches()">
<option value="0">Select Client</option>
<?php foreach ($client_list as $client) { ?>
<option value="<?= $client['id'] ?>"><?= $client['client_name'] ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="col-3">
<div id="categoryFilter_11">
<label for="">Branch</label>
<select name="branch_id" class="form-control" id="branch_id" onchange="populatePolicies()">
<option value="0">Select Branch</option>
</select>
</div>
</div>
<div class="col-3">
<div id="categoryFilter_14">
<label for="">Policy</label>
<select name="client_policy_id" class="form-control" id="client_policy_id">
<option value="0">Select Policy</option>
</select>
</div>
</div>
<div class="col-3">
<div id="categoryFilter_11">
<a class="btn btn-primary waves-effect waves-light"
style="margin-top:30px !important"
onclick="fetchEmpolyeeList(event);"
data-toggle="tooltip" data-placement="top" title="Search"
id="get-emp-list"><i class="mdi mdi-magnify" aria-hidden="true"></i></a>
</div>
</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>
</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>
</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>
</div>
</div>
</div>
<div class="card-body status-option" id="statusContent">
<h4>Status</h4>
<div class="text-center">
<div style="margin-left: 60px; margin-top: 0px;">
<div class="statusContent-flex">
<div class="custom-card d-flex justify-content-between" id="emp_count_view_click">
<div>
<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>
</div>
</div>
<div class="custom-card d-flex justify-content-between" id="emp_enrolled_view_click">
<div>
<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>
</div>
</div>
<div class="custom-card d-flex justify-content-between" id="emp_not_enrolled_view_click">
<div>
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Not Enrolled">Not Enroled</span>
</div>
<div>
<span class="my-2"><span data-plugin="counterup" id="emp_not_enrolled_view">0</span>
</div>
</div>
<div class="custom-card d-flex justify-content-between" id="emp_logged_in_view_click">
<div>
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Logged-In">Logged-In</span>
</div>
<div>
<span class="my-2"><span data-plugin="counterup" id="emp_logged_in_view">0</span>
</div>
</div>
<div class="custom-card d-flex justify-content-between" id="emp_not_logged_in_view_click">
<div>
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Not Logged-In">Not Logged-In</span>
</div>
<div>
<span class="my-2"><span data-plugin="counterup" id="emp_not_logged_in_view">0</span>
</div>
</div>
</div><!-- end col -->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row" id="client_list">
<div class="col-12">
<div class="card">
<div class="card-body">
<table data-custom-table-css="table" class="table table-hover m-0 table-centered dt-responsive w-100" cellspacing="0" id="tickets-table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">S.No&nbsp;</th>
<th class="font-weight-medium">Name</th>
<th class="font-weight-medium">Emp Code</th>
<th class="font-weight-medium">Relationship</th>
<th class="font-weight-medium">Enroled</th>
<th class="font-weight-medium">Logged-In</th>
</tr>
</thead>
<tbody class="font-12">
<!-- Table body -->
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Center modal content -->
<div class="modal fade" id="upload_enrollment_model" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="false">
@ -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,19 +334,17 @@
});
}
function filterTable(columnIndex, filterValue)
{
function filterTable(columnIndex, filterValue) {
var table = $('#tickets-table').DataTable();
// Reset the search filter for all columns
table.columns().search('').draw();
// Apply the filter to the specified column
table.column(columnIndex).search(filterValue).draw();
}
function fetchEmpolyeeList(event)
{
function fetchEmpolyeeList(event) {
event.preventDefault();
var client_id = $('#clients').val();
@ -372,7 +370,7 @@
$('.loader-mask').fadeIn();
},
success: function(response) {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
@ -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';
}
@ -433,7 +431,7 @@
var params = new URLSearchParams(window.location.search);
return params.get(name);
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
@ -444,8 +442,7 @@
});
}
$(document).ready(function()
{
$(document).ready(function() {
function getUrlParameter(name) {
var params = new URLSearchParams(window.location.search);
@ -464,22 +461,24 @@
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);
}
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(() => {
// var type = getUrlParameter('type');
console.log("------------------------");
console.log(type);
$('#' + type).click().trigger();
console.log("------------------------");
console.log(type);
$('#' + type).click().trigger();
}, 1000);
$('#clients').select2();
@ -514,50 +513,47 @@
// 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: [{
extend: 'copy',
text: '<i class="mdi mdi-content-copy"></i>',
titleAttr: 'Copy',
filename: 'Enrolment List'
className: 'app-btn-primary ',
},
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'copy',
text: '<i class="mdi mdi-content-copy"></i>',
titleAttr: 'Copy',
filename: 'Enrolment List'
className: 'app-btn-primary ',
},
{
extend: 'csv',
text: '<i class="mdi mdi-file-document"></i>',
titleAttr: 'CSV',
filename: 'Enrolment List'
className: 'app-btn-primary ',
},
{
extend: 'print',
text: '<i class="mdi mdi-printer"></i>',
titleAttr: 'Print',
filename: 'Enrolment List'
className: 'app-btn-primary ',
},
{
extend: 'pdf',
text: '<i class="mdi mdi-file-pdf"></i>',
titleAttr: 'PDF',
filename: 'Enrolment List'
className: 'app-btn-primary ',
}
]
extend: 'csv',
text: '<i class="mdi mdi-file-document"></i>',
titleAttr: 'CSV',
filename: 'Enrolment List'
className: 'app-btn-primary ',
},
{
extend: 'print',
text: '<i class="mdi mdi-printer"></i>',
titleAttr: 'Print',
filename: 'Enrolment List'
className: 'app-btn-primary ',
},
{
extend: 'pdf',
text: '<i class="mdi mdi-file-pdf"></i>',
titleAttr: 'PDF',
filename: 'Enrolment List'
className: 'app-btn-primary ',
}
],
]
}],
initComplete: function() {
// Add custom class to the print button
$('.buttons-print').addClass('buttons-html5');
}
});
$('#emp_enrolled_view_click').on('click', function() {
if ($(this).hasClass('click_hover')) {
// $(this).removeClass('click_hover');
@ -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,8 +664,8 @@
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!",
text: 'Please select the Client and Client Branch.',
@ -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()
@ -853,44 +845,44 @@
return false;
}
Swal.fire({
title: "Do you want to send reminder mail?",
showDenyButton: true,
showCancelButton: false,
confirmButtonText: "Yes,Send",
denyButtonText: "Don't Send"
}).then((result) => {
Swal.fire({
title: "Do you want to send reminder mail?",
showDenyButton: true,
showCancelButton: false,
confirmButtonText: "Yes,Send",
denyButtonText: "Don't Send"
}).then((result) => {
if (result.isConfirmed) {
if (result.isConfirmed) {
$.ajax({
url: '<?= base_url("util/send_manual_reminder/") ?>' + client_id + '/' + client_branch_id + '/' + client_policy_id,
type: "GET",
dataType: 'json',
success: function(res) {
$.ajax({
url: '<?= base_url("util/send_manual_reminder/") ?>' + client_id + '/' + client_branch_id + '/' + client_policy_id,
type: "GET",
dataType: 'json',
success: function(res) {
console.log('send_manual_reminder', res)
console.log('send_manual_reminder', res)
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
if(res.status == false){
toastr.info(res.message, 'INFO');
}else{
toastr.success(res.message, 'SUCCESS');
if (res.status == false) {
toastr.info(res.message, 'INFO');
} else {
toastr.success(res.message, 'SUCCESS');
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}
});
// Swal.fire("Saved!", "", "success");
}
});
});
// Swal.fire("Saved!", "", "success");
}
});
}
</script>
</script>

View File

@ -136,25 +136,22 @@
padding: 0px 40px 0px 40px !important;
}
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[data-sidebar-size=condensed]:not([data-layout=compact]):not(.auth-fluid-pages) {
min-height: 100vh !important;
}
body .content-page {
margin-top: 90px !important;
}
</style>
<!-- navbar -->
<style>
.nav-bar {
position: fixed !important;
z-index: 1000;
position: fixed !important;
z-index: 1000;
width: 90%;
margin-left: 120px !important;
margin-left: 120px !important;
background: #fff;
}
@ -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;
@ -212,7 +208,7 @@
background-color: #D4F5F6;
z-index: 700;
padding: 0 !important;
height: 90% !important;
height: 90% !important;
display: flex;
flex-flow: column wrap;
}
@ -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 */
}
@ -233,9 +230,9 @@
min-height: 43px !important;
}
.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 -->
@ -707,7 +702,7 @@
<!-- table section starts -->
<style>
table[data-custom-table-css="table"] thead th,
table[data-custom-table-css="second-table"] thead th {
table[data-custom-table-css="second-table"] thead th {
background-color: #00999E;
color: #fff !important;
border-top: 0px solid #fff !important;
@ -725,37 +720,37 @@
font-weight: 400 !important;
}
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="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="second-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="second-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="second-table"] {
table[data-custom-table-css="table"],
table[data-custom-table-css="second-table"] {
border-collapse: separate !important;
border-spacing: 0 8px !important;
width: 100% !important;
@ -765,24 +760,19 @@
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;
}
/* ========== SECOND TABLE (white rows) ========== */
table[data-custom-table-css="second-table"] tbody td {
/* ========== SECOND TABLE (white rows) ========== */
table[data-custom-table-css="second-table"] tbody td {
background: #FFFFFF !important;
padding: 12px;
border-top: 0px solid #fff !important;
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>
@ -1018,87 +1087,86 @@
<!-- jodit section -->
<style>
/* ✅ Whole editor box */
.jodit {
border-radius: 10px;
box-shadow: 0px 2px 2px 0px #00000040;
overflow: hidden;
background-color: #F5FFFF !important; /* fallback */
}
/* ✅ Toolbar (header) */
.jodit .jodit-toolbar__box,
.jodit .jodit-toolbar-editor-collection {
background-color: #F5FFFF !important;
border: none !important;
}
/* ✅ Footer / status bar */
.jodit .jodit-status-bar {
background-color: #F5FFFF !important;
border-top: 1px solid #ddd; /* optional: keep a light separator */
}
/* ✅ Editable content (div mode) */
.jodit .jodit-wysiwyg {
background-color: #F5FFFF !important;
color:black !important;
padding: 10px;
}
/* ✅ Editable content (iframe mode) */
.jodit iframe {
background-color: #F5FFFF !important;
border-radius: 0 0 10px 10px;
}
/* ✅ Whole editor box */
.jodit {
border-radius: 10px;
box-shadow: 0px 2px 2px 0px #00000040;
overflow: hidden;
background-color: #F5FFFF !important;
/* fallback */
}
/* ✅ Toolbar (header) */
.jodit .jodit-toolbar__box,
.jodit .jodit-toolbar-editor-collection {
background-color: #F5FFFF !important;
border: none !important;
}
/* ✅ Footer / status bar */
.jodit .jodit-status-bar {
background-color: #F5FFFF !important;
border-top: 1px solid #ddd;
/* optional: keep a light separator */
}
/* ✅ Editable content (div mode) */
.jodit .jodit-wysiwyg {
background-color: #F5FFFF !important;
color: black !important;
padding: 10px;
}
/* ✅ Editable content (iframe mode) */
.jodit iframe {
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 */
}
<style>
/* ✅ Whole editor box */
.modal .jodit {
border-radius: 10px;
box-shadow: 0px 2px 2px 0px #00000040;
overflow: hidden;
background-color: #ECECEC !important;
/* fallback */
}
.modal .jodit p {
background-color: #ECECEC !important; /* fallback */
}
.modal .jodit p {
background-color: #ECECEC !important;
/* fallback */
}
/* ✅ Toolbar (header) */
.modal .jodit .jodit-toolbar__box,
.modal .jodit .jodit-toolbar-editor-collection {
background-color: #ECECEC !important;
border: none !important;
}
/* ✅ Toolbar (header) */
.modal .jodit .jodit-toolbar__box,
.modal .jodit .jodit-toolbar-editor-collection {
background-color: #ECECEC !important;
border: none !important;
}
/* ✅ Footer / status bar */
.modal .jodit .jodit-status-bar {
background-color: #ECECEC !important;
border-top: 1px solid #ddd; /* optional: keep a light separator */
}
/* ✅ Footer / status bar */
.modal .jodit .jodit-status-bar {
background-color: #ECECEC !important;
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;
padding: 10px;
}
/* ✅ Editable content (div mode) */
.modal .jodit .jodit-wysiwyg {
background-color: #ECECEC !important;
color: black !important;
padding: 10px;
}
/* ✅ Editable content (iframe mode) */
.modal .jodit iframe {
background-color: #ECECEC !important;
border-radius: 0 0 10px 10px;
}
</style>
/* ✅ Editable content (iframe mode) */
.modal .jodit iframe {
background-color: #ECECEC !important;
border-radius: 0 0 10px 10px;
}
</style>
<!-- specific tag section starts -->
@ -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;
border-color: #E26728 !important;
}
</style>
<!-- accordian -->
@ -1500,80 +1568,9 @@
}
</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>
<body class="loading" data-layout-mode="" data-layout='{"mode": "light", "width": "fluid", "menuPosition": "fixed", "sidebar": { "color": "light", "size": "condensed", "showuser": false}, "topbar": {"color": "dark"}, "showRightSidebarOnPageLoad": false}'></body>
@ -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>
@ -1627,79 +1624,79 @@
<?php } ?>
<!-- Enrollment process -->
<?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" >
<img style="border-radius: 5px;"
<!-- Enrollment process -->
<?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">
<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>
</a>
<div class="collapse" id="sidebarDashboards">
<ul class="nav-second-level">
<span> Action on Policies </span>
</a>
<div class="collapse" id="sidebarDashboards">
<ul class="nav-second-level">
<li>
<a href="<?= base_url('/employee/upload') ?>">View Inception</a>
</li>
<li>
<a href="<?= base_url('/employee/list') ?>">View Members</a>
</li>
<li>
<a href="<?= base_url('/employee/endorsement-list') ?>">View Endorsement</a>
</li>
<li>
<a href="<?= base_url('/employee/enrollment-list') ?>">View Enrolment</a>
</li>
<li>
<a href="<?= base_url('/employee/test_members_list') ?>">Test Members List</a>
</li>
<li>
<a href="<?= base_url('/employee/retail-endorsement-list') ?>">Retail Endorsement</a>
</li>
</ul>
</div>
</li>
<?php } ?>
<li>
<a href="<?= base_url('/employee/upload') ?>">View Inception</a>
</li>
<li>
<a href="<?= base_url('/employee/list') ?>">View Members</a>
</li>
<li>
<a href="<?= base_url('/employee/endorsement-list') ?>">View Endorsement</a>
</li>
<li>
<a href="<?= base_url('/employee/enrollment-list') ?>">View Enrolment</a>
</li>
<li>
<a href="<?= base_url('/employee/test_members_list') ?>">Test Members List</a>
</li>
<li>
<a href="<?= base_url('/employee/retail-endorsement-list') ?>">Retail Endorsement</a>
</li>
</ul>
</div>
</li>
<?php } ?>
<!-- Masters -->
<?php if (get_role_id() == 1 || get_role_id() == 5) { ?>
<!-- Masters -->
<?php if (get_role_id() == 1 || get_role_id() == 5) { ?>
<li class="li-seperate" id="masters-li">
<a href="#sidebarPolicies" data-toggle="collapse" class=" img-inactive">
<img
<li class="li-seperate" id="masters-li">
<a href="#sidebarPolicies" data-toggle="collapse" class=" img-inactive">
<img
src="<?= base_url() . "public"; ?>/assets/images/masters_sb.png" alt="Logo" height="20">
<span> Masters </span>
</a>
<div class="collapse" id="sidebarPolicies">
<ul class="nav-second-level">
<li>
<a href="<?= base_url('/master/insurer/list') ?>">Insurer</a>
</li>
<li>
<a href="<?= base_url('/master/tpa/list') ?>">TPA</a>
</li>
<li>
<a href="<?= base_url('/master/kyc/list') ?>">KYC</a>
</li>
<li>
<a href="<?= base_url('/master/policy/list') ?>">Policy</a>
</li>
<li>
<a href="<?= base_url('/master/cash_deposite/list') ?>">CD Master</a>
</li>
<li>
<a href="<?= base_url('/master/vehicle/list') ?>">Vehicle Master</a>
</li>
<li>
<a href="<?= base_url('/user/list') ?>"> Users </a>
</li>
</ul>
</div>
</li>
<span> Masters </span>
</a>
<div class="collapse" id="sidebarPolicies">
<ul class="nav-second-level">
<li>
<a href="<?= base_url('/master/insurer/list') ?>">Insurer</a>
</li>
<li>
<a href="<?= base_url('/master/tpa/list') ?>">TPA</a>
</li>
<li>
<a href="<?= base_url('/master/kyc/list') ?>">KYC</a>
</li>
<li>
<a href="<?= base_url('/master/policy/list') ?>">Policy</a>
</li>
<li>
<a href="<?= base_url('/master/cash_deposite/list') ?>">CD Master</a>
</li>
<li>
<a href="<?= base_url('/master/vehicle/list') ?>">Vehicle Master</a>
</li>
<li>
<a href="<?= base_url('/user/list') ?>"> Users </a>
</li>
</ul>
</div>
</li>
<?php } ?>
<?php } ?>
<!-- <li>
<!-- <li>
<?php
$sessionData = get_session_userdata();
$currentUrl = base_url();
@ -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>
@ -1955,8 +1952,8 @@
<!-- Left Sidebar End -->
<!-- ========== Top Bar Start ========== -->
<div class="nav-bar">
<div class="top-navbar-div" >
<div class="nav-bar">
<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>
@ -2001,9 +1998,9 @@
</div>
</div>
</div>
</div>
</div>
<!-- End of Top Bar -->

File diff suppressed because it is too large Load Diff

View File

@ -12,82 +12,90 @@
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 {
color: #00999E !important;
transform: scale(1.5);
color: #00999E !important;
transform: scale(1.5);
}
</style>
<div class="container-fluid-min">
<h2>Retail Endorsement</h2>
<div class="row">
<div class="col-xl-12">
<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">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h5>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
<div class="form-row">
<div class="form-group col-md-4">
<label>Client</label> <br />
<select class="form-control" id="clients">
<option value="0">Select</option>
<?php foreach ($client as $key => $value) { ?>
<option value="<?= $value['id'] ?>" <?= (($getData['client_id'] ?? '') == $value['id']) ? 'selected' : '' ?>>
<?= $value['client_name'] . (!empty($value['short_name']) ? ' ( ' . $value['short_name'] . ' )' : '') ?>
</option>
<?php } ?>
</select>
</div>
<div class="card-body">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<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>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
<div class="form-row">
<div class="form-group col-md-4">
<label>Client</label> <br />
<select class="form-control" id="clients">
<option value="0">Select</option>
<?php foreach ($client as $key => $value) { ?>
<option value="<?= $value['id'] ?>" <?= (($getData['client_id'] ?? '') == $value['id']) ? 'selected' : '' ?>>
<?= $value['client_name'] . (!empty($value['short_name']) ? ' ( ' . $value['short_name'] . ' )' : '') ?>
</option>
<?php } ?>
</select>
</div>
<div class="form-group col-md-4">
<label>Insurer</label> <br />
<select class="form-control" id="insurer">
<option value="0">Select</option>
<?php foreach ($insurer as $key => $value) { ?>
<option value="<?= $value['id'] ?>" <?= (($getData['insurer_id'] ?? '') == $value['id']) ? 'selected' : '' ?>>
<?= $value['name'] . (!empty($value['short_name']) ? ' ( ' . $value['short_name'] . ' )' : '') ?>
</option>
<?php } ?>
</select>
</div>
<div class="form-group col-md-4">
<label>Insurer</label> <br />
<select class="form-control" id="insurer">
<option value="0">Select</option>
<?php foreach ($insurer as $key => $value) { ?>
<option value="<?= $value['id'] ?>" <?= (($getData['insurer_id'] ?? '') == $value['id']) ? 'selected' : '' ?>>
<?= $value['name'] . (!empty($value['short_name']) ? ' ( ' . $value['short_name'] . ' )' : '') ?>
</option>
<?php } ?>
</select>
</div>
<div class="form-group col-md-4">
<label>Status</label> <br />
<select class="form-control" id="status1">
<option value="0">Select</option>
<?php foreach ($status as $key => $value) { ?>
<option value="<?= $key ?>" <?= (($getData['status'] ?? '') == $key) ? 'selected' : '' ?>>
<?= $value ?>
</option>
<?php } ?>
</select>
</div>
<div class="form-group col-md-4">
<label>Status</label> <br />
<select class="form-control" id="status1">
<option value="0">Select</option>
<?php foreach ($status as $key => $value) { ?>
<option value="<?= $key ?>" <?= (($getData['status'] ?? '') == $key) ? 'selected' : '' ?>>
<?= $value ?>
</option>
<?php } ?>
</select>
</div>
</div>
<div class="row">
<div class="col-12" style="text-align: right;">
<a href="<?= base_url("employee/retail-endorsement-list"); ?>" class="btn btn-primary waves-effect waves-light" id="get-emp-list" onclick="fetchEmpolyeeList(event);">Submit</a>
</div>
</div>
<!-- </div> -->
</div>
<div class="row">
<div class="col-12" style="text-align: right;">
<a href="<?= base_url("employee/retail-endorsement-list"); ?>" class="btn btn-primary waves-effect waves-light" id="get-emp-list" onclick="fetchEmpolyeeList(event);">Submit</a>
</div>
</div>
<!-- </div> -->
</div>
</div>
</div>
</div>
</div>
</div>
@ -126,26 +134,26 @@
<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'])):
$cd = date("j F Y", strtotime($employee['created_at']));
$ct = date("h:i a", strtotime($employee['created_at']));
echo $cd . "<br><span class='time'> " . $ct . "</span>";
endif; ?></td>
$cd = date("j F Y", strtotime($employee['created_at']));
$ct = date("h:i a", strtotime($employee['created_at']));
echo $cd . "<br><span class='time'> " . $ct . "</span>";
endif; ?></td>
<td class="text-center"><?php if ($employee['status'] == 'open') {
echo '<span class="badge badge-primary">' . $employee['status'] . '</span>';
} elseif ($employee['status'] == 'inprogress') {
echo '<span class="badge badge-warning">' . $employee['status'] . '</span>';
} elseif ($employee['status'] == 'complete') {
echo '<span class="badge badge-success">' . $employee['status'] . '</span>';
}
?>
echo '<span class="badge badge-primary">' . $employee['status'] . '</span>';
} elseif ($employee['status'] == 'inprogress') {
echo '<span class="badge badge-warning">' . $employee['status'] . '</span>';
} elseif ($employee['status'] == 'complete') {
echo '<span class="badge badge-success">' . $employee['status'] . '</span>';
}
?>
</td>
<td class="text-center"><a href="#" data-id="<?php echo $employee['id'] ?>" data-eno="<?php echo $employee['endorsement_no'] ?>" data-status="<?php echo $employee['status'] ?>"
class="mdi mdi-pencil text-muted vertical-middle emp_data_model" aria-hidden="true" data-toggle="modal" data-target="#centermodal"></a>
<td class="text-center"><a href="#" data-id="<?php echo $employee['id'] ?>" data-eno="<?php echo $employee['endorsement_no'] ?>" data-status="<?php echo $employee['status'] ?>"
class="mdi mdi-pencil text-muted vertical-middle emp_data_model" aria-hidden="true" data-toggle="modal" data-target="#centermodal"></a>
</td>
</tr>
<?php }
@ -164,46 +172,46 @@
<div class="modal fade font-color-black " id="centermodal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<form id="retailEndorsementForm">
<div class="modal-header">
<h4 class="modal-title title-text" id="myCenterModalLabel" style="font-size:27px !important">Edit Endorsement Details <span id="heading"></span></h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<form id="retailEndorsementForm">
<div class="modal-header">
<h4 class="modal-title title-text" id="myCenterModalLabel" style="font-size:27px !important">Edit Endorsement Details <span id="heading"></span></h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<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() ?>"/>
<div class="form-group col-md-12">
<label for="endorsement_no" class="sub-title-text ">Endorsement Number<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="endorsement_no" placeholder="Enter Endorsement Number" name="endorsement_no" required>
</div>
<div class="modal-body">
<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() ?>" />
<div class="form-group col-md-12">
<label for="edit_status" class="sub-title-text ">Status<span class="text-danger">*</span></label>
<select class="form-control" id="edit_status" name="status" required>
<option value="">Select Status</option>
<?php foreach ($status as $key => $value) { ?>
<option value="<?= $key ?>"><?= $value ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group col-md-12">
<label for="endorsement_no" class="sub-title-text ">Endorsement Number<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="endorsement_no" placeholder="Enter Endorsement Number" name="endorsement_no" required>
</div>
<div class="form-group col-md-12">
<label for="edit_status" class="sub-title-text ">Status<span class="text-danger">*</span></label>
<select class="form-control" id="edit_status" name="status" required>
<option value="">Select Status</option>
<?php foreach ($status as $key => $value) { ?>
<option value="<?= $key ?>"><?= $value ?></option>
<?php } ?>
</select>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn app-btn-outline-secondary mr-2 " type="button" data-dismiss="modal" aria-hidden="true">Cancel</button>
<button type="submit" class="btn app-btn-secondary" id="btnSubmit" onclick="submitRetailEndorsement(event)">Save</button>
</div>
</form>
</div>
<div class="modal-footer">
<button class="btn app-btn-outline-secondary mr-2 " type="button" data-dismiss="modal" aria-hidden="true">Cancel</button>
<button type="submit" class="btn app-btn-secondary" id="btnSubmit" onclick="submitRetailEndorsement(event)">Save</button>
</div>
</form>
</div>
</div>
</div>
@ -222,7 +230,7 @@
console.log("window loaded");
});
// Function to convert object to query parameters
function objectToQueryString(obj) {
return Object.keys(obj).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join('&');
@ -234,7 +242,7 @@
var client_id = $('#clients').val();
var insurer_id = $('#insurer').val();
var status = $('#status1').val();
var queryParams = {
client_id: client_id,
insurer_id: insurer_id,
@ -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)
});
@ -276,19 +284,19 @@
var endorsement_no = document.getElementById('endorsement_no').value.trim();
var edit_status = document.getElementById('edit_status').value.trim();
if (endorsement_no === "" || edit_status === "") {
toastr.warning('Please fill all required fields.', 'Warning');
form.classList.add('was-validated');
return;
}
$.ajax({
url: "<?= base_url('/employee/retail-endorsement-save') ?>",
type: "POST",
data: formData,
processData: false,
contentType: false,
processData: false,
contentType: false,
dataType: 'json',
success: function(response) {
if (response.status === "success") {
@ -311,17 +319,17 @@
});
}
function fetchRetailEndorsementData(id,eno,status) {
function fetchRetailEndorsementData(id, eno, status) {
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
var form = document.getElementById('retailEndorsementForm');
form.reset();
form.reset();
$("#edit_id").val(id);
$("#endorsement_no").val(eno);
$("#edit_status").val(status);
$("#edit_id").val(id);
$("#endorsement_no").val(eno);
$("#edit_status").val(status);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
@ -353,33 +361,29 @@
// }
// }
// }],
buttons: [
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'Retail-Endorsement-List',
exportOptions: {
columns: ':not(:last-child)',
format: {
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
}
}
}
},
]
buttons: [{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'Retail-Endorsement-List',
exportOptions: {
columns: ':not(:last-child)',
format: {
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
}
}
}
],
}, ]
}],
initComplete: function(settings, json) {
$('.my_class').css({
"position": "relative",
@ -387,17 +391,19 @@
});
},
language: {
search: `
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
searchPlaceholder: "Search"
},
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

@ -156,49 +156,6 @@
</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">
<thead class="bg-light">
@ -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()