CHANGE DASHBOARD THEME NEW - VADIVEL J 2025-08-16

This commit is contained in:
vadivelJ96 2025-08-16 12:47:49 +05:30
parent 3a8d09ce34
commit b933a02561
21 changed files with 3129 additions and 891 deletions

View File

@ -634,4 +634,7 @@ $routes->post('newClaim','VidalApiController::newClaim');
$routes->post('enrollment','VidalApiController::enrollment');
$routes->post("ticketCreation", "ThzController::ticketCreation");
$routes->post("ticketCreation", "ThzController::ticketCreation");
$routes->post("ticketList", "ThzController::ticketList");
$routes->post("ticketConversationSave", "ThzController::ticketConversationSave");
$routes->post("conversationListPerTicket", "ThzController::conversationListPerTicket");

View File

@ -33,13 +33,7 @@ class ThzController extends BaseController
$data = $this->request->getJSON(true);
$cleanedData = $this->thzControllerCleaner->ticketCreation($data);
if ($cleanedData === false) {
return $this->response->setJSON((['status' => 'error', 'message' => 'Invalid data given']));
}
$result = $this->thzMasterModel->insert($cleanedData);
$result = $this->thzMasterModel->insert($data);
return $this->response->setJSON((['status' => 'success', 'message' => 'Ticket created successfully']));
@ -49,20 +43,17 @@ class ThzController extends BaseController
$data = $this->request->getJson(true);
$cleanedData = $this->thzControllerCleaner->ticketList($data);
$id = $data['id'] ?? null;
if( $cleanedData === false ) {
return $this->response->setJSON((['status' => 'error', 'message' => 'Invalid data given']));
if ( isset($id) && !empty($id) ) {
//Find Specific Ticket per id
$mobile = $data['mobile'] ?? null;
$result = $this->thzMasterModel->where('mobile',$mobile)->findAll();
}else{
// Find all the Ticket For the Manager who can see all the Tickets
$result = $this->thzMasterModel->findAll();
}
$id = $cleanedData['id'] ?? null;
if (empty($id)) {
$result = $this->thzMasterModel->findAll();
}
$result = $this->thzMasterModel->where('id',$id)->findAll();
if(empty($result)){
return $this->response->setJSON((['status' => 'error', 'message' => 'No tickets found']));
}
@ -71,16 +62,11 @@ class ThzController extends BaseController
}
public function ticketConversationSave(){
$data = $this->request->getJson(true);
$cleanedData = $this->thzControllerCleaner->ticketList($data);
if( $cleanedData === false ) {
return $this->response->setJSON((['status' => 'error', 'message' => 'Invalid data given']));
}
$result = $this->thzMasterNotesModel->insert($data);
if(empty($result)){
@ -92,17 +78,13 @@ class ThzController extends BaseController
}
public function ticketListForUser(){
public function conversationListPerTicket(){
$data = $this->request->getJson(true);
$cleanedData = $this->thzControllerCleaner->ticketList($data);
$thz_id = $data['thz_id'] ?? null;
if( $cleanedData === false ) {
return $this->response->setJSON((['status' => 'error', 'message' => 'Invalid data given']));
}
$result = $this->thzMasterNotesModel->insert($data);
$result = $this->thzMasterNotesModel->conversationListPerTicket($thz_id);
if(empty($result)){
return $this->response->setJSON((['status' => 'error', 'message' => 'No tickets found']));
@ -112,37 +94,6 @@ class ThzController extends BaseController
}
public function conversationListForUserPerTicket(){
$data = $this->request->getJson(true);
$cleanedData = $this->thzControllerCleaner->ticketList($data);
if( $cleanedData === false ) {
return $this->response->setJSON((['status' => 'error', 'message' => 'Invalid data given']));
}
$thz_id = $cleanedData['thz_id'] ?? null;
$result = $this->thzMasterNotesModel->conversationListForUserPerTicket($thz_id);
if(empty($result)){
return $this->response->setJSON((['status' => 'error', 'message' => 'No tickets found']));
}
return $this->response->setJSON((['status' => 'success', 'data' => $result]));
}
public function ticketListForAssignedStaff(){
}
public function conversationListForAssignedStaffPerTicket(){
}

View File

@ -40,7 +40,7 @@ class ThzMasterNotesModel extends Model
protected $beforeDelete = [];
protected $afterDelete = [];
public function conversationListForUserPerTicket($thz_id){
public function conversationListPerTicket($thz_id){
if(empty($thz_id)){
@ -50,6 +50,7 @@ class ThzMasterNotesModel extends Model
$sql = "SELECT
thz_master.*,
thz_master_notes.id,
thz_master_notes.thz_id,
thz_master_notes.notes,
@ -60,6 +61,7 @@ class ThzMasterNotesModel extends Model
thz_master_notes
Join thz_master ON thz_master.thz_id = :thz_id:
WHERE
thz_master_notes.thz_id = :thz_id:
ORDER BY

View File

@ -171,79 +171,109 @@
margin: 0 5px 10px!important;
}
.nav-link{
color:black !important;
background-color: #D4F5F6 !important;
font-size: small;
padding:8px;
border-radius: 10px !important;
}
.nav-link.active-tab {
color: white !important;
background-color: #00999E !important;
font-size: small;
padding:8px;
border-radius: 10px !important;
}
.tab-content-styles{
background-color:#F4F4F4;
margin-right:20px;
border-radius:25px!important;
min-height: 70vh !important;
}
</style>
<p style="color:black;font-size:x-large;margin-left:50px;margin-bottom:20px;"><b>Dashboard</b></p>
<?php if(in_array(get_role_id(), [1,2,3,4,5]) || (in_array(ENROLLMENT_TEAM_ID, user_team()) || in_array(CLAIMS_TEAM_ID, user_team()) || in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team()) || in_array(BUSINESS_TEAM_ID, user_team()))) { ?>
<div class="row" id="client_add" style="margin-top: -32px;">
<div class="col-12">
<!-- <div class="card"> -->
<div class="card-body">
<div class="row" style="padding-bottom: 10px;">
<div class="col-6" style="align-self: center;">
</div>
<div class="col-6" style="text-align: right;">
</div>
</div>
<br>
<br>
<ul class="nav nav-pills navtab-bg">
<?php if(in_array(get_role_id(), [1,2,3,5])) { ?>
<li class="nav-item">
<a href="#pending-actions-dash-tab" data-toggle="tab" aria-expanded="false"
class="nav-link px-3 py-2 active" id="pending_actions_tab">
<span class="mr-1"><i class="mdi mdi-contacts"></i></span>
<li class="nav-item d-flex justify-content-center align-items-center">
<a href="#pending-actions-dash-tab" data-toggle="tab" aria-expanded="false"
class="nav-link px-3 py-1 " id="pending_actions_tab">
<img src="<?= base_url() . "public"; ?>/assets/images/inactive_pending_actions.png" alt="Logo" height="14" class="inactive_pending" >
<img src="<?= base_url() . "public"; ?>/assets/images/active_pending_actions.png" alt="Logo" height="14"
class="active_pending" style="display:none;">
&nbsp;&nbsp;
<span class="d-none d-sm-inline-block">Pending Actions</span>
</a>
</li>
<li class="nav-item">
<a href="#enrollment-dash-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-2" id="enrollemnt_tab">
<span class="mr-1"><i class="fa fa-file"></i></span>
<span class="d-none d-sm-inline-block">Enrolment</span>
</a>
</li>
&nbsp;&nbsp;&nbsp;&nbsp;
<?php } ?>
<?php if(in_array(get_role_id(), [1,2,3,5]) || (get_role_id() == 4 && in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team()) || in_array(BUSINESS_TEAM_ID, user_team()))) { ?>
<li class="nav-item">
<a href="#bds-dash-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-2" id="bds_tab">
<span class="mr-1"><i class="fa fa-file"></i></span>
<li class="nav-item d-flex justify-content-center align-items-center">
<a href="#bds-dash-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-1" id="bds_tab">
<img src="<?= base_url() . "public"; ?>/assets/images/inactive_bds.png" alt="Logo" height="14" class="inactive_bds">
<img src="<?= base_url() . "public"; ?>/assets/images/active_bds.png" alt="Logo" height="14"
class="active_bds" style="display:none;">
&nbsp;&nbsp;
<span class="d-none d-sm-inline-block">BDS</span>
</a>
</li>
&nbsp;&nbsp;&nbsp;&nbsp;
<?php } ?>
<?php if ((get_role_id() == STAFF_ROLE_ID && in_array(CLAIMS_TEAM_ID,user_team())) || in_array(get_role_id(),[1,5])) :?>
<?php
$isActive = get_role_id() == STAFF_ROLE_ID && in_array(CLAIMS_TEAM_ID,user_team()) ? 'active show' : '';
?>
<li class="nav-item">
<a href="#claims-dash-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-2 <?= $isActive?>" id="claims_tab">
<span class="mr-1"><i class="fa fa-file-alt"></i> </span>
<li class="nav-item d-flex justify-content-center align-items-center">
<a href="#claims-dash-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-1" id="claims_tab">
<img src="<?= base_url() . "public"; ?>/assets/images/inactive_claims.png" alt="Logo" height="14" class="inactive_claims">
<img src="<?= base_url() . "public"; ?>/assets/images/active_claims.png" alt="Logo" height="14"
class="active_claims" style="display:none;">
&nbsp;&nbsp;
<span class="d-none d-sm-inline-block">Claims</span>
</a>
</li>
&nbsp;&nbsp;&nbsp;&nbsp;
<?php endif; ?>
<?php if ((get_role_id() == STAFF_ROLE_ID && in_array(ENROLLMENT_TEAM_ID,user_team())) || in_array(get_role_id(),[1,5])) :?>
<?php
$isActive = get_role_id() == STAFF_ROLE_ID && in_array(ENROLLMENT_TEAM_ID,user_team()) ? 'active show' : '';
?>
<li class="nav-item">
<a href="#leads-dash-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-2 <?= $isActive?>" id="leads_tab">
<span class="mr-1"><i class="fa fa-file-alt"></i> </span>
<li class="nav-item d-flex justify-content-center align-items-center">
<a href="#leads-dash-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-1" id="leads_tab" >
<img src="<?= base_url() . "public"; ?>/assets/images/inactive_leads_and_bds_renewal.png" alt="Logo" height="14" class="inactive_leads">
<img src="<?= base_url() . "public"; ?>/assets/images/active_leads_and_bds_renewal.png" alt="Logo" height="14"
class="active_leads" style="display:none;">
&nbsp;&nbsp;
<span class="d-none d-sm-inline-block">Leads and BDS Renewals</span>
</a>
</li>
&nbsp;&nbsp;&nbsp;&nbsp;
<?php endif; ?>
</ul>
<div class="tab-content">
<br>
<div class="tab-content tab-content-styles">
<?php if ((get_role_id() == STAFF_ROLE_ID && in_array(CLAIMS_TEAM_ID,user_team())) || in_array(get_role_id(),[1,5])) :?>
<?php include("claims_dash.php") ?>
<?php endif; ?>
@ -257,7 +287,6 @@
<?php if(in_array(get_role_id(), [1,2,3,5])) { ?>
<?php include('endorsement_dash.php'); ?>
<?php include('enrollment_dash.php'); ?>
<?php } ?>
<!--
<?php // if(in_array(get_role_id(), [1,2,3,5]) || (get_role_id() == 4 && in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team()) || in_array(BUSINESS_TEAM_ID, user_team()))) { ?>
@ -274,5 +303,75 @@
<?php } ?>
<script>
$(document).ready(function(){
$('.nav-link').click(function(){
//image of tabs by default inactive before particular click
$('.inactive_leads').show();
$('.inactive_bds').show();
$('.inactive_claims').show();
$('.inactive_pending').show();
$('.active_leads').hide();
$('.active_bds').hide();
$('.active_claims').hide();
$('.active_pending').hide();
// change bg color of tab
$('.nav-link').removeClass('active-tab');
$(this).addClass('active-tab');
// change active pic for the clicked tab
// #leads-dash-tab
let tab_name = $(this).attr('href').split('-')[0];
tab_name = tab_name.replace('#', '');
console.log(tab_name);
switch (tab_name) {
case "leads":
$('.active_leads').show();
$('.inactive_leads').hide();
break;
case "bds":
$('.active_bds').show();
$('.inactive_bds').hide();
break;
case "claims":
$('.active_claims').show();
$('.inactive_claims').hide();
break;
case "pending":
$('.active_pending').show();
$('.inactive_pending').hide();
break;
default:
break;
}
//clear local storage
localStorage.clear();
let dashboardHistory = {};
let str = window.location.href ;
str = str.endsWith('#') ? str.slice(0, -1) : str;
dashboardHistory['dashboard_url'] = str ;
dashboardHistory['tab'] = $(this).attr('href'); // e.g. #leads-dash-tab
dashboardHistory['tile_params'] = {};
dashboardHistory['function_name'] = '';
localStorage.setItem('dashboardHistory', JSON.stringify(dashboardHistory));
history.pushState({}, '', str);
});
});
</script>

View File

@ -1,9 +1,4 @@
<style>
body{
margin-top:20px;
background:#FAFAFA;
}
.order-card {
color: #fff;
}
@ -105,6 +100,7 @@ body{
padding-bottom: 10px;
padding-left: 25px;
padding-right: 25px;
font-size: small;
}
.order-card i {
@ -123,6 +119,37 @@ body{
margin-top: 0;
margin-bottom: 5px;
}
.inside-tab-content-div{
display:flex;
justify-content:flex-start !important;
flex-flow: row wrap;
}
.dash-card{
background-color:#F4FBFB !important;
border-radius: 15px !important;
border:2px solid #09B9BF;
box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1), 0px 4px 8px rgba(0, 0, 0, 0.2);
min-width: 250px;
}
#bds-dash-tab{
padding-right: 20px;
}
.span-color{
color:#09B9BF !important;
}
.financeStatusTile{margin-left:20px;}
.financePendingTile{margin-left:20px;}
.businessPendingTile{margin-left:20px;}
.businessStatusTile{margin-left:20px;}
</style>
<?php if((get_role_id() == 4 ) && (in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team()) || in_array(BUSINESS_TEAM_ID, user_team()))) { ?>
@ -130,7 +157,7 @@ body{
<?php } ?>
<div class="tab-pane <?= isset($add_active_calss) ? $add_active_calss : 'fade' ?>" id="bds-dash-tab" style="padding-right: 35px;">
<div class="tab-pane <?= isset($add_active_calss) ? $add_active_calss : 'fade' ?>" id="bds-dash-tab" >
<div class="row">
<div class="StatusTileHide" style="display: none; padding-bottom: 10px;padding-left: 17px">
<a href="#" onclick="hide_status_show_pending_tile()" ><i class="fas fa-arrow-left"></i> Back to Overview</a>
@ -140,16 +167,17 @@ body{
</div>
</div>
<div class="row">
<?php if (in_array(BUSINESS_TEAM_ID, user_team()) || in_array(MANAGEMENT_TEAM_ID, user_team())) { ?>
<div class="col inside-tab-content-div">
<?php if (in_array(BUSINESS_TEAM_ID, user_team()) || in_array(MANAGEMENT_TEAM_ID, user_team())) { ?>
<div class="col-md-4 col-xl-3 businessPendingTile">
<div class="card bg-c-Pelorous order-card" onclick="show_business_status_tile(this)">
<div class=" businessPendingTile">
<div class="card dash-card" onclick="show_business_status_tile(this)">
<div class="card-block">
<h6 class="m-b-20 font-15">Business Team Pending</h6>
<h2 class="text-right"><i class="mdi mdi-playlist-check f-left"></i><span><?= $businessTeamCount ?></span></h2>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<h4 class="mb-3" style="color:black;">Business Team Pending</h4>
<h2>
<span class="mb-3 span-color"><?= $businessTeamCount ?>
</h2>
<h6 >&nbsp;<span class="text-danger"> Team Action</span></h6>
</div>
</div>
</div>
@ -167,11 +195,18 @@ body{
// Get the background color for the current tile
$bgColor = $colorShades[$colorSetIndex][$shadeIndex];
?>
<div class="col-md-2 col-xl-1 businessStatusTile" style="display: none;">
<div class="card order-card" style="background: <?= $bgColor ?>;" onclick="linkRedirectForBDS(this, 'B')">
<h2 class="text-center"><span><?= count($value) ?></span></h2>
<h6 class="m-b-20 font-15 text-center"><?= $policyStatus[$status] ?></h6>
<div class=" businessStatusTile" style="display: none;">
<div class="card dash-card">
<div class="card-block" onclick="linkRedirectForBDS(this, 'B')">
<h5 class="text-right">
<span class="f-left" style="color:black;"><?= $policyStatus[$status] ?></span>
<span class="span-color"><?= count($value) ?></span>
</h5>
</div>
</div>
</div>
<?php
@ -183,13 +218,14 @@ body{
<?php if (in_array(FINANCE_TEAM_ID, user_team()) || in_array(MANAGEMENT_TEAM_ID, user_team())) { ?>
<div class="col-md-4 col-xl-3 financePendingTile">
<div class="card bg-c-Pelorous2 order-card" onclick="show_finance_status_tile(this, 'F')">
<div class=" financePendingTile">
<div class="card dash-card" onclick="show_finance_status_tile(this, 'F')">
<div class="card-block">
<h6 class="m-b-20 font-15">Finance Team Pending</h6>
<h2 class="text-right"><i class="mdi mdi-playlist-check f-left"></i><span><?= $financeTeamCount ?></span></h2>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<h4 class="mb-3" style="color:black;">Finance Team Pending</h4>
<h2>
<span class="mb-3 span-color"><?= $financeTeamCount ?>
</h2>
<h6 >&nbsp;<span class="text-danger">Team Action</span></h6>
</div>
</div>
</div>
@ -207,11 +243,18 @@ body{
// Get the background color for the current tile
$bgColor = $colorShades[$colorSetIndex][$shadeIndex];
?>
<div class="col-md-2 col-xl-1 financeStatusTile" style="display: none;">
<div class="card order-card" style="background: <?= $bgColor ?>;" onclick="linkRedirectForBDS(this, 'F')">
<h2 class="text-center"><span><?= count($value) ?></span></h2>
<h6 class="m-b-20 font-15 text-center"><?= $policyStatus[$status] ?></h6>
<div class=" financeStatusTile" style="display: none;">
<div class="card dash-card">
<div class="card-block" onclick="linkRedirectForBDS(this, 'F')">
<h5 class="text-right p-0">
<span class="f-left" style="color:black;"><?= $policyStatus[$status] ?></span>
<span class="span-color"><?= count($value) ?></span>
</h5>
</div>
</div>
</div>
<?php
@ -220,7 +263,7 @@ body{
?>
<?php } ?>
</div>
</div>
</div>
@ -244,12 +287,27 @@ function linkRedirectForBDS(input, team)
if(link){
window.open(link, '_blank');
window.location.href = link;
}
}
function show_business_status_tile(){
let dashboardHistoryString = localStorage.getItem('dashboardHistory');
if (dashboardHistoryString){
let dashboardHistory = JSON.parse(dashboardHistoryString);
dashboardHistory['tile_params'] = { majorType: 0, minorType: 0 };
dashboardHistory['function_name'] = 'show_business_status_tile';
localStorage.setItem('dashboardHistory', JSON.stringify(dashboardHistory));
}
$('.businessStatusTile').show()
$('.StatusTileHide').show()
$("#mainMenuTiles").text("Viewing Details of Business Team Pending");
@ -261,6 +319,20 @@ function show_business_status_tile(){
function show_finance_status_tile(){
let dashboardHistoryString = localStorage.getItem('dashboardHistory');
if (dashboardHistoryString){
let dashboardHistory = JSON.parse(dashboardHistoryString);
dashboardHistory['tile_params'] = { majorType: 0, minorType: 0 };
dashboardHistory['function_name'] = 'show_finance_status_tile';
localStorage.setItem('dashboardHistory', JSON.stringify(dashboardHistory));
}
$('.financeStatusTile').show()
$('.StatusTileHide').show()

View File

@ -1,8 +1,4 @@
<style>
body {
margin-top: 20px;
background: #FAFAFA;
}
.order-card {
color: #fff;
@ -123,57 +119,86 @@
margin-top: 0;
margin-bottom: 5px;
}
.inside-tab-content-div{
display:flex;
justify-content:flex-start !important;
flex-flow: row wrap;
}
.claimTypeTile{
margin-left:20px;
}
.claimStatusTitle{margin-left:20px;}
.dash-card{
background-color:#F4FBFB !important;
border-radius:25px;
border:2px solid #09B9BF;
box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1), 0px 4px 8px rgba(0, 0, 0, 0.2);
min-width: 250px;
}
#claims-dash-tab{
padding-right: 20px;
}
.span-color{
color:#09B9BF !important;
}
</style>
<?php
$isActive = get_role_id() == STAFF_ROLE_ID && in_array(CLAIMS_TEAM_ID,user_team()) ? 'active show' : '';
?>
<div class="tab-pane fade <?= $isActive ?>" id="claims-dash-tab">
<div class="row">
<div class="col-md-4 col-xl-3 claimTypeTile">
<div class="card bg-c-Pelorous order-card" onclick="hideAndShowTile(1,1)">
<div class="card-block">
<h6 class="m-b-20 font-15">GMC</h6>
<h2 class="text-right"><i class="mdi mdi-playlist-check f-left"></i><span><?= isset($claim_data[1]['total']) ? $claim_data[1]['total'] : '0' ?></span></h2>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<div class="col inside-tab-content-div">
<div class="claimTypeTile">
<div class="card dash-card" onclick="hideAndShowTile(1,1)">
<div class="card-block">
<h4 class="mb-3">GMC</h4>
<h2 class="span-color"><span><?= isset($claim_data[1]['total']) ? $claim_data[1]['total'] : '0' ?></span></h2>
<h6><span class="text-danger">All GMC Records</span></h6>
</div>
</div>
</div>
<div class=" claimTypeTile">
<div class="card dash-card" onclick="hideAndShowTile(1,2)">
<div class="card-block">
<h4 class="mb-3">GPA</h4>
<h2 class="span-color"><span><?= isset($claim_data[2]['total']) ? $claim_data[2]['total'] : '0' ?></span></h2>
<h6><span class="text-danger">All GPA Records</span></h6>
</div>
</div>
</div>
</div>
<div class="col-md-4 col-xl-3 claimTypeTile">
<div class="card bg-c-Pelorous order-card" onclick="hideAndShowTile(1,2)">
<div class="card-block">
<h6 class="m-b-20 font-15">GPA</h6>
<h2 class="text-right"><i class="mdi mdi-playlist-check f-left"></i><span><?= isset($claim_data[2]['total']) ? $claim_data[2]['total'] : '0' ?></span></h2>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<div class=" claimTypeTile">
<div class="card dash-card" onclick="hideAndShowTile(1,3)">
<div class="card-block">
<h4 class="mb-3">EDLI</h4>
<h2 class="span-color"><span><?= isset($claim_data[3]['total']) ? $claim_data[3]['total'] : '0' ?></span></h2>
<h6><span class="text-danger">All EDLI Records</span></h6>
</div>
</div>
</div>
<div class=" claimTypeTile">
<div class="card dash-card" onclick="hideAndShowTile(1,4)">
<div class="card-block">
<h4 class="mb-3">GTLI</h4>
<h2 class="span-color"><span><?= isset($claim_data[4]['total']) ? $claim_data[4]['total'] : '0' ?></span></h2>
<h6><span class="text-danger">All GTLI Records</span></h6>
</div>
</div>
</div>
</div>
<div class="col-md-4 col-xl-3 claimTypeTile">
<div class="card bg-c-Pelorous order-card" onclick="hideAndShowTile(1,3)">
<div class="card-block">
<h6 class="m-b-20 font-15">EDLI</h6>
<h2 class="text-right"><i class="mdi mdi-playlist-check f-left"></i><span><?= isset($claim_data[3]['total']) ? $claim_data[3]['total'] : '0' ?></span></h2>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
</div>
</div>
</div>
<div class="col-md-4 col-xl-3 claimTypeTile">
<div class="card bg-c-Pelorous order-card" onclick="hideAndShowTile(1,4)">
<div class="card-block">
<h6 class="m-b-20 font-15">GTLI</h6>
<h2 class="text-right"><i class="mdi mdi-playlist-check f-left"></i><span><?= isset($claim_data[4]['total']) ? $claim_data[4]['total'] : '0' ?></span></h2>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
</div>
</div>
</div>
</div>
<div class="row">
<div class="goBack" style="padding-bottom: 10px;padding-left: 17px;">
<a href="#" onclick="hideAndShowTile('2')" ><i class="fas fa-arrow-left"></i> Back to Overview<br></a>
@ -183,7 +208,8 @@ $isActive = get_role_id() == STAFF_ROLE_ID && in_array(CLAIMS_TEAM_ID,user_team(
</div>
</div>
<div class="row">
<?php
<div class="col inside-tab-content-div">
<?php
$colorSetCount = count($colorShades); // Number of color sets
$shadeCount = count($colorShades[0]); // Number of shades per set
$index = 0;
@ -213,18 +239,25 @@ $isActive = get_role_id() == STAFF_ROLE_ID && in_array(CLAIMS_TEAM_ID,user_team(
$truncatedStatus = strlen($formattedStatus) > 20 ? substr($formattedStatus, 0, 15) . '...' : $formattedStatus;
$showTooltip = strlen($formattedStatus) > 20;
?>
<div class="col-md-2 col-xl-1 claimStatusTitle_<?= $ticketTypeId ?>" style="display: none;">
<div class="card order-card" style="background: <?= $bgColor ?>;" onclick="linkRedirectForClaims(<?= $ticketTypeId ?>, '<?= $status ?>','<?= $statuses[$status . '_ids'] ?? '' ?>')">
<h2 class="text-center"><span><?= $count ?></span></h2>
<h6 class="m-b-20 font-15 text-center"
<?= $showTooltip ? 'data-toggle="tooltip" title="' . htmlspecialchars($formattedStatus, ENT_QUOTES, 'UTF-8') . '"' : '' ?>>
<?= $truncatedStatus ?>
</h6>
<div class="claimStatusTitle claimStatusTitle_<?=$ticketTypeId?>" style="display: none;">
<div class="card dash-card" onclick="linkRedirectForClaims(<?= $ticketTypeId ?>, '<?= $status ?>','<?= $statuses[$status . '_ids'] ?? '' ?>')">
<div class="card-block">
<h5 class="text-right"
<?= $showTooltip ? 'data-toggle="tooltip" title="' . htmlspecialchars($formattedStatus, ENT_QUOTES, 'UTF-8') . '"' : '' ?>>
<span class="f-left"> <?= $truncatedStatus ?> </span>
<span class="span-color"><?= $count ?></span>
</h5>
</div>
</div>
</div>
<?php endforeach; ?>
<?php endforeach; ?>
</div>
</div>
@ -239,6 +272,21 @@ $isActive = get_role_id() == STAFF_ROLE_ID && in_array(CLAIMS_TEAM_ID,user_team(
function hideAndShowTile(type, claimType = null) {
let dashboardHistoryString = localStorage.getItem('dashboardHistory');
if (dashboardHistoryString){
let dashboardHistory = JSON.parse(dashboardHistoryString);
dashboardHistory['tile_params'] = { majorType: type, minorType: claimType };
dashboardHistory['function_name'] = 'hideAndShowTile';
localStorage.setItem('dashboardHistory', JSON.stringify(dashboardHistory));
}
if (type == 1) {
$('.claimTypeTile').hide();
@ -252,8 +300,16 @@ $isActive = get_role_id() == STAFF_ROLE_ID && in_array(CLAIMS_TEAM_ID,user_team(
if (type == 1 && claimType != null) {
if ($('.claimStatusTitle_' + claimType).length > 0) {
console.log("Element exists!");
} else {
console.log("Element does NOT exist!");
}
$('.claimTypeTile').hide();
$('.claimStatusTitle_' + claimType).show();
$('.claimStatusTitle_'+claimType).show();
if (claimType == 1) {
$('#current_tile').text("Viewing Details For : GMC");
@ -312,7 +368,6 @@ $isActive = get_role_id() == STAFF_ROLE_ID && in_array(CLAIMS_TEAM_ID,user_team(
const form = document.createElement('form');
form.method = 'POST';
form.action = url;
form.target = '_blank';
for (const key in data) {
if (data.hasOwnProperty(key)) {

View File

@ -1,9 +1,5 @@
<style>
body{
margin-top:20px;
background:#FAFAFA;
}
.order-card {
color: #fff;
}
@ -135,110 +131,201 @@ body{
padding-left: 25px !important;
padding-right: 25px !important;
padding-top: 10px !important;
padding-bottom: 35% !important;
padding-bottom: 30px !important;
}
.modal-content{
background-color: #F4F4F4 !important;
}
.inside-tab-content-div{
display:flex;
justify-content:flex-start !important;
flex-flow: row wrap;
}
.dash-card{
background-color:#F4FBFB !important;
border-radius:25px;
border:2px solid #09B9BF;
box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1), 0px 4px 8px rgba(0, 0, 0, 0.2);
min-width: 250px !important;
}
#pending-actions-dash-tab{
padding-right: 20px;
}
.span-color{
color:#09B9BF;
}
.endorsement-div{
margin-left:20px;
}
.custom-card{
border-radius: 10px !important;
background-color: white;
box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1), 0px 4px 8px rgba(0, 0, 0, 0.2);
margin-bottom: 5px;
padding : 5px 0px 5px 10px;
border-left: 10px solid #09B9BF;
}
#right-modal .modal-content {
border-radius: 10px !important;
overflow: hidden; /* optional, keeps children inside rounded corners */
}
</style>
<div class="tab-pane active show" id="pending-actions-dash-tab" style="/*padding-left: 35px;*/padding-right: 35px;">
<div class="tab-pane active show" id="pending-actions-dash-tab" >
<div class="row">
<div class="col-md-4 col-xl-3">
<div data-toggle="modal" data-target="#right-modal" class="card bg-c-Pelorous order-card" onclick="getPendingActionClientDataForDashboard(this, 'Inception Pending', 'I')">
<div class="card-block">
<h6 class="m-b-20 font-15">Inception Pending</h6>
<h2 class="text-right"><i class="mdi mdi-account-multiple-plus f-left"></i><span><?= $pendingActionsData['inception'] ?></span></h2>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<div class="inside-tab-content-div">
<div class="endorsement-div">
<div data-toggle="modal" data-target="#right-modal" class="card dash-card"
onclick="getPendingActionClientDataForDashboard(this, 'Inception Pending', 'I')">
<div class="card-block" >
<h4 class="mb-3"><b>Inception Pending</b></h4>
<h2>
<span class="span-color"><?= $pendingActionsData['inception'] ?></span>
</h2>
<h6 >&nbsp;<span class="text-danger">Inception Action</span></h6>
</div>
</div>
</div>
</div>
<div class="col-md-4 col-xl-3">
<div data-toggle="modal" data-target="#right-modal" class="card bg-c-Pelorous2 order-card" onclick="getPendingActionClientDataForDashboard(this, 'Pending Insurer', 'insurer')">
<div class="card-block">
<h6 class="m-b-20 font-15">Pending Insurer</h6>
<h2 class="text-right"><i class="mdi mdi-account-box f-left"></i><span><?= $pendingActionsData['uhid'] ?></span></h2>
<p class="m-b-1">Exported <span class="f-right"><?= $pendingActionsData['uhid_export_count'] ?></span></p>
<p class="m-b-1">Not Exported <span class="f-right"><?= $pendingActionsData['uhid_not_export_count'] ?></span></p>
<div class="endorsement-div">
<div data-toggle="modal" data-target="#right-modal" class="card dash-card"
onclick="getPendingActionClientDataForDashboard(this, 'Pending Insurer', 'insurer')">
<div class=" card-block ">
<h4 class="mb-3">Pending Insurer</h4>
<h2 >
<span class="span-color"><?= $pendingActionsData['uhid'] ?></span>
</h2>
<h6 class="text-right">
<span class="span-color f-left">Exported : <?= $pendingActionsData['uhid_export_count'] ?></span>
<span class="text-danger">Not Exported : <?= $pendingActionsData['uhid_not_export_count'] ?></span>
</h6>
</div>
</div>
</div>
</div>
<div class="col-md-4 col-xl-3">
<div data-toggle="modal" data-target="#right-modal" class="card bg-c-Pelorous3 order-card" onclick="getPendingActionClientDataForDashboard(this, 'Pending TPA', 'TPA')">
<div class="card-block">
<h6 class="m-b-20 font-15">Pending TPA</h6>
<h2 class="text-right"><i class="mdi mdi-signal-variant f-left"></i><span><?= $pendingActionsData['tpa'] ?></span></h2>
<p class="m-b-1">Exported <span class="f-right"><?= $pendingActionsData['tpa_export_count'] ?></span></p>
<p class="m-b-1">Not Exported <span class="f-right"><?= $pendingActionsData['tpa_not_export_count'] ?></span></p>
<div class="endorsement-div">
<div data-toggle="modal" data-target="#right-modal" class="card dash-card"
onclick="getPendingActionClientDataForDashboard(this, 'Pending TPA', 'TPA')">
<div class="card-block">
<h4 class="mb-3">Pending TPA</h4>
<h2>
<span class="span-color"><?= $pendingActionsData['tpa'] ?></span>
</h2>
<h6 class="text-right">
<span class="span-color f-left">Exported : <?= $pendingActionsData['tpa_export_count'] ?></span>
<span class="text-danger">Not Exported : <?= $pendingActionsData['tpa_not_export_count'] ?></span>
</h6>
</div>
</div>
</div>
</div>
<div class="col-md-4 col-xl-3">
<div data-toggle="modal" data-target="#right-modal" class="card bg-c-Grenadier order-card" onclick="getPendingActionClientDataForDashboard(this, 'Correction Pending', 'C')">
<div class="card-block">
<h6 class="m-b-20 font-15">Correction Pending</h6>
<h2 class="text-right"><i class="mdi mdi-account-edit f-left"></i><span><?= $pendingActionsData['correction'] ?></span></h2>
<p class="m-b-1">Exported <span class="f-right"><?= $pendingActionsData['correction_export_count'] ?></span></p>
<p class="m-b-1">Not Exported <span class="f-right"><?= $pendingActionsData['correction_not_export_count'] ?></span></p>
<div class="endorsement-div">
<div data-toggle="modal" data-target="#right-modal" class="card dash-card"
onclick="getPendingActionClientDataForDashboard(this, 'Correction Pending', 'C')">
<div class="card-block">
<h4 class="mb-3">Correction Pending</h4>
<h2 >
<span class="span-color"><?= $pendingActionsData['correction'] ?></span>
</h2>
<h6 class="tex-right">
<span class="span-color">Exported : <?= $pendingActionsData['correction_export_count'] ?></span>
<span class="text-danger f-right">Not Exported : <span ><?= $pendingActionsData['correction_not_export_count'] ?></span></span>
</h6>
</div>
</div>
</div>
</div>
<div class="col-md-4 col-xl-3">
<div data-toggle="modal" data-target="#right-modal" class="card bg-c-Grenadier2 order-card" onclick="getPendingActionClientDataForDashboard(this, 'Deletion Pending', 'D')">
<div class="card-block">
<h6 class="m-b-20 font-15">Deletion Pending</h6>
<h2 class="text-right"><i class="mdi mdi-account-multiple-minus f-left"></i><span><?= $pendingActionsData['deletion'] ?></span></h2>
<p class="m-b-1">Exported <span class="f-right"><?= $pendingActionsData['deletion_export_count'] ?></span></p>
<p class="m-b-1">Not Exported <span class="f-right"><?= $pendingActionsData['deletion_not_export_count'] ?></span></p>
<div class="endorsement-div">
<div data-toggle="modal" data-target="#right-modal" class="card dash-card"
onclick="getPendingActionClientDataForDashboard(this, 'Deletion Pending', 'D')">
<div class="card-block">
<h4 class="mb-3">Deletion Pending</h4>
<h2 >
<span class="span-color"><?= $pendingActionsData['deletion'] ?></span>
</h2>
<h6>
<span class="span-color">Exported : <?= $pendingActionsData['deletion_export_count'] ?></span>
<span class="text-danger f-right">Not Exported : <span ><?= $pendingActionsData['deletion_not_export_count'] ?></span></span>
</h6>
</div>
</div>
</div>
</div>
<div class="col-md-4 col-xl-3">
<div data-toggle="modal" data-target="#right-modal" class="card bg-c-Grenadier3 order-card" onclick="getPendingActionClientDataForDashboard(this, 'SI Enhancement Pending', 'SI')">
<div class="card-block">
<h6 class="m-b-20 font-15">SI Enhancment Pending</h6>
<h2 class="text-right"><i class="mdi mdi-account-convert f-left"></i><span><?= $pendingActionsData['si_enhancement'] ?></span></h2>
<p class="m-b-1">Exported <span class="f-right"><?= $pendingActionsData['si_export_count'] ?></span></p>
<p class="m-b-1">Not Exported <span class="f-right"><?= $pendingActionsData['si_not_export_count'] ?></span></p>
<div class="endorsement-div">
<div data-toggle="modal" data-target="#right-modal" class="card dash-card"
onclick="getPendingActionClientDataForDashboard(this, 'SI Enhancement Pending', 'SI')">
<div class="card-block">
<h4 class="mb-3">SI Enhancment Pending</h4>
<h2>
<span class="span-color"><?= $pendingActionsData['si_enhancement'] ?></span>
</h2>
<h6>
<span class="span-color">Exported : <?= $pendingActionsData['si_export_count'] ?></span>
<span class="text-danger f-right">Not Exported : <span ><?= $pendingActionsData['si_not_export_count'] ?></span></span>
</h6>
</div>
</div>
</div>
</div>
<div class="col-md-4 col-xl-3">
<div data-toggle="modal" data-target="#right-modal" class="card bg-c-SilverChalice order-card" onclick="getPendingActionClientDataForDashboard(this, 'Policy Renewal', 'policy')">
<div class="card-block">
<h6 class="m-b-20 font-15">Policy</h6>
<h2 class="text-right"><i class="mdi mdi-autorenew f-left"></i><span><?= $pendingActionsData['PolicyRenewalData'] ?></span></h2>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<div class="endorsement-div">
<div data-toggle="modal" data-target="#right-modal" class="card dash-card"
onclick="getPendingActionClientDataForDashboard(this, 'Policy Renewal', 'policy')">
<div class="card-block">
<h4 class="mb-3">Policy</h4>
<h2 >
<span class="span-color"><?= $pendingActionsData['PolicyRenewalData'] ?></span>
</h2>
<h6 >&nbsp;<span class="text-danger">Policy Documents</span></h6>
</div>
</div>
</div>
</div>
<div class="col-md-4 col-xl-3">
<div class="card bg-c-SilverChalice2 order-card">
<div class="card-block">
<h6 class="m-b-20 font-15">Ticket</h6>
<h2 class="text-right"><i class="mdi mdi-tag f-left"></i><span><?= $pendingActionsData['ticketData'] ?></span></h2>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<div class="endorsement-div">
<div class="card dash-card">
<div class="card-block">
<h4 class="mb-3">Ticket</h4>
<h2 >
<span class="span-color"><?= $pendingActionsData['ticketData'] ?></span>
</h2>
<h6>&nbsp;<span class="text-danger">Support Tickets</span></h6>
</div>
</div>
</div>
</div>
</div>
<!-- Right modal content -->
<div id="right-modal" class="modal fade" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-lg modal-right">
<div class="modal-dialog modal-lg modal-center" style="border-radius: 10px !important;">
<div class="modal-content">
<div class="modal-header border-0">
<div class="modal-header border-0 pb-0" style="margin-left:10px;">
<h4 class="modal-title" id="right-modalLabel">Modal Heading</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
@ -254,12 +341,15 @@ body{
function getPendingActionClientDataForDashboard(input, headerName, type)
{
$('#right-modal').modal('hide');
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
console.log('hi')
$(".modal-body").empty();
var nodata = '<center>No data available</center>';
$(".modal-body").html(nodata);
$("#right-modalLabel").html(headerName);
$("#right-modalLabel").html(`<h1 style="font-size:larger;">${headerName}</h1>`);
$.ajax({
url: '<?= base_url("util/featch_dashboard_data/") ?>' + type,
type: "GET",
@ -268,7 +358,8 @@ function getPendingActionClientDataForDashboard(input, headerName, type)
console.log('responce', res)
console.log('responce', res.data)
var table;
// var table;
var div;
var actions = 'inception';
@ -276,7 +367,9 @@ function getPendingActionClientDataForDashboard(input, headerName, type)
var link = '<?=base_url()?>';
if (res.data.length !== 0) {
table = `<table class="table table-striped table-sm table-centered mb-0"><tbody>`;
// table = `<table class="table table-striped table-sm table-centered mb-0"><tbody>`;
div = `<div class="row">`;
$.each(res.data, function(index, item) {
var Params = null;
@ -350,22 +443,37 @@ function getPendingActionClientDataForDashboard(input, headerName, type)
}
console.log(link)
table += `<tr><td onclick="linkRedirect('${link}')">${item.client_name} - ${item.branch_name} - ${item.policy_name}</td></tr>`;
// table += `<tr><td onclick="linkRedirect('${link}')">${item.client_name} - ${item.branch_name} - ${item.policy_name}</td></tr>`;
div += `<div class="col-md-6 mb-2">
<div class="custom-card" onclick="linkRedirect('${link}')">
<h4 style="margin-bottom:5px;">${item.client_name}</h4>
<h5>${item.branch_name} - ${item.policy_name} </h5>
</div>
</div>
`;
});
table += "</tbody></table>";
div += "</div>";
} else {
table = '<center>No data available</center>';
// table = '<center>No data available</center>';
div = '<center>No data available</center>';
}
$(".modal-body").html(table);
// $(".modal-body").html(table);
$(".modal-body").append(div);
$('#right-modal').modal('show');
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$(".modal-body").html(nodata);
},
complete:function(){
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
console.log("Ajax call is completed ..!!");
}
});
}

View File

@ -6,24 +6,27 @@
<!-- Footer Start -->
<footer class="footer">
<div class="container-fluid">
<div class="row">
<div class="col-md-6">
<script>
document.write(new Date().getFullYear())
</script> &copy; NHANCE
</div>
<!-- <div class="col-md-6">
<div class="text-md-right footer-links d-none d-sm-block">
<a href="javascript:void(0);">About Us</a>
<a href="javascript:void(0);">Help</a>
<a href="javascript:void(0);">Contact Us</a>
<div style="display: block;">
<footer class="footer">
<div class="container-fluid">
<div class="row">
<div class="col-md-6">
<script>
document.write(new Date().getFullYear())
</script> &copy; NHANCE
</div>
</div> -->
<!-- <div class="col-md-6">
<div class="text-md-right footer-links d-none d-sm-block">
<a href="javascript:void(0);">About Us</a>
<a href="javascript:void(0);">Help</a>
<a href="javascript:void(0);">Contact Us</a>
</div>
</div> -->
</div>
</div>
</div>
</footer>
</footer>
</div>
<!-- end Footer -->
</div>
@ -930,6 +933,55 @@ function confirmActionSweertAlert(message = "Are you sure?", confirmText = "Yes,
</script>
<script>
function restoreDashboardHistoryIfNeeded() {
const dashboardHistoryString = localStorage.getItem('dashboardHistory');
if (!dashboardHistoryString) {
console.log("dashboardHistory not found");
return;
}
const dashboardHistory = JSON.parse(dashboardHistoryString);
if (window.location.href === dashboardHistory.dashboard_url) {
const tabSelector = dashboardHistory.tab;
if (tabSelector) {
const tabElement = document.querySelector(`a[href="${tabSelector}"]`);
if (tabElement) {
tabElement.click();
}
}
const functionName = dashboardHistory.function_name;
const params = dashboardHistory.tile_params;
if (functionName && typeof window[functionName] === 'function') {
if(params.majorType == 0 && params.minorType == 0){
window[functionName]();
}else{
window[functionName](params.majorType, params.minorType);
}
}
console.log("inside location match");
}
}
// Run on popstate (back/forward buttons)
window.addEventListener('popstate', restoreDashboardHistoryIfNeeded);
// Run on page load (refresh)
window.addEventListener('DOMContentLoaded', () => {
// slight delay ensures DOM/tab loads completely
setTimeout(restoreDashboardHistoryIfNeeded, 100);
});
</script>
</body>
</html>

View File

@ -0,0 +1,936 @@
</div> <!-- container -->
</div> <!-- content -->
<?php include(__DIR__ . '/../ticket_type_modal.php'); ?>
<!-- Footer Start -->
<footer class="footer">
<div class="container-fluid">
<div class="row">
<div class="col-md-6">
<script>
document.write(new Date().getFullYear())
</script> &copy; NHANCE
</div>
<!-- <div class="col-md-6">
<div class="text-md-right footer-links d-none d-sm-block">
<a href="javascript:void(0);">About Us</a>
<a href="javascript:void(0);">Help</a>
<a href="javascript:void(0);">Contact Us</a>
</div>
</div> -->
</div>
</div>
</footer>
<!-- end Footer -->
</div>
<!-- ============================================================== -->
<!-- End Page content -->
<!-- ============================================================== -->
</div>
<!-- END wrapper -->
<!-- Right Sidebar -->
<div class="right-bar">
<div class="h-100">
<!-- Notifications Header -->
<h6 class="font-weight-medium px-3 m-0 py-2 font-13 text-uppercase bg-light fixed-header">
<i class="mdi mdi-message-text-outline font-22"></i>
<span class="header-title">Notification</span>
</h6>
<div class="scrollable-content">
<ul class="list-unstyled" id="messages-list">
<!-- Notifications list items go here -->
</ul>
</div>
<!-- Pending Action Header -->
<h6 class="font-weight-medium px-3 m-0 py-2 font-13 bg-light fixed-header">
<i class="mdi mdi-format-list-checks font-22"></i>
<span class="header-title">TO DOs</span>
</h6>
<div class="scrollable-content">
<ul class="list-unstyled" id="messages-list-2">
<!-- Pending action list items go here -->
</ul>
</div>
</div> <!-- end simplebar -->
</div>
<!-- /Right-bar -->
<!-- Right bar overlay-->
<div class="rightbar-overlay"></div>
<!-- Vendor js -->
<script src="<?= base_url() . "public"; ?>/assets/js/vendor.min.js"></script>
<!-- KNOB JS -->
<script src="<?= base_url() . "public"; ?>/assets/libs/jquery-knob/jquery.knob.min.js"></script>
<!-- Apex js-->
<script src="<?= base_url() . "public"; ?>/assets/libs/apexcharts/apexcharts.min.js"></script>
<!-- third party js -->
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net/js/jquery.dataTables.min.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-bs4/js/dataTables.bootstrap4.min.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-responsive/js/dataTables.responsive.min.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-responsive-bs4/js/responsive.bootstrap4.min.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/dataTables.buttons.min.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons-bs4/js/buttons.bootstrap4.min.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/buttons.html5.min.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/buttons.flash.min.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/buttons.print.min.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-keytable/js/dataTables.keyTable.min.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-select/js/dataTables.select.min.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/libs/pdfmake/build/pdfmake.min.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/libs/pdfmake/build/vfs_fonts.js"></script>
<!-- third party js ends -->
<script src="<?= base_url() . "public"; ?>/assets/libs/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/libs/moment/min/moment.min.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/libs/bootstrap-daterangepicker/daterangepicker.js"></script>
<!-- Datatables init -->
<!-- <script src="<?= base_url() . "public"; ?>/assets/js/pages/datatables.init.js"></script> -->
<script src="<?= base_url() . "public"; ?>/assets/js/pages/tickets.init.js"></script>
<!-- Plugins js-->
<script src="<?= base_url() . "public"; ?>/assets/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.min.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/libs/admin-resources/jquery.vectormap/maps/jquery-jvectormap-us-merc-en.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/libs/parsleyjs/parsley.min.js"></script>
<!-- Dashboard init-->
<script src="<?= base_url() . "public"; ?>/assets/js/pages/dashboard-analytics.init.js"></script>
<!-- Validation init js-->
<script src="<?= base_url() . "public"; ?>/assets/js/pages/form-validation.init.js"></script>
<!-- App js -->
<script src="<?= base_url() . "public"; ?>/assets/js/app.min.js"></script>
<!-- Sweet Alert CDN -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap-multiselect@1.1.0/dist/js/bootstrap-multiselect.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/css/bootstrap-multiselect.css" />
<script src="https://cdn.jsdelivr.net/npm/toastr@2.1.4/toastr.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/toastr@2.1.4/build/toastr.min.css" rel="stylesheet">
<!-- flatpicker datepicker -->
<link href="https://cdn.jsdelivr.net/npm/flatpickr@4.6.13/dist/flatpickr.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/flatpickr@4.6.13/dist/flatpickr.min.js"></script>
<!-- bootstrap datepicker -->
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.10.0/js/bootstrap-datepicker.min.js"></script> -->
<script src="<?= base_url() . "public"; ?>/assets/js/pages/jquery.xeditable.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/js/form-xeditable.init.js"></script>
<script src="<?= base_url() . "public"; ?>/assets/js/bootstrap-editable.min.js"></script>
<!-- Jodit Js -->
<script src="<?= base_url() . "public"; ?>/assets/js/jodit.min.js"></script>
<!-- select2 -->
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
<script src="https://cdn.datatables.net/plug-ins/2.0.8/sorting/scientific.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.7.1/jszip.min.js"></script>
<script>
toastr.options = {
"timeOut": 5000,
"closeButton": true,
};
</script>
<script>
var pullNotificationCount = 0;
var pendingActionCount = 0;
$(document).ready(function() {
function fetchMessages() {
$.ajax({
url: '<?= base_url('dashboard/get-notification') ?>',
method: 'GET',
success: function(response) {
// console.log('responce', response)
if(response.status == false){
$('#notification_count').html('0')
console.log('The session is not set correctly. ')
return;
}
let messagesList = $('#messages-list');
messagesList.empty();
var html = "";
pullNotificationCount = response.message.length
localStorage.setItem('pullNotificationCount', pullNotificationCount)
response.message.forEach(message => {
// if (!message.is_read) {
// unreadCount++;
// }
var jasonDecodeData = JSON.parse(message.message_text)
var toast_body_css = 'background : #bfd7eb !important;';
var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
var toast_status_word = 'Success';
if (jasonDecodeData.msg_status == 'failure') {
toast_body_css = 'background : #fdcfcf !important;';
toast_head_css = 'background-color : rgb(235 105 105 / 85%) !important; color :#000; border-bottom: 0;';
toast_icon = 'mdi mdi-information mr-auto'
toast_status_word = 'Failure';
} else if (jasonDecodeData.msg_status == 'success') {
toast_body_css = 'background : #bfd7eb !important;';
toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto'
toast_status_word = 'Success';
}
var html = ` <li data-id="${message.id}" data-url="${jasonDecodeData.action_url != undefined && jasonDecodeData.action_url != "" ? jasonDecodeData.action_url : 'dashboard/view'}">
<div class="p-3">
<div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
<div class="toast-header " style="${toast_head_css}" >
<strong class="${toast_icon}"> ${toast_status_word}</strong>
<button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="toast-body" style="${toast_body_css}">
<strong>${jasonDecodeData.msg_title ? jasonDecodeData.msg_title : ''}</strong> <br><br>
<small style="position: relative;bottom: 8px;">${jasonDecodeData.message_text}</small>
<div class="toast-footer">
<a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 25px;position: relative;top: 2px;">${jasonDecodeData.action_url != undefined && jasonDecodeData.action_url != "" ? 'see more' : ''}</small></a>
<small style="position: relative;top: 2px;left: 5px;font-size: 10px;">${formatDate(message.created_at)}</small>
</div>
</div>
</div>
</div>
</li>`
messagesList.append(html);
$(function() {
$('[data-toggle="tooltip"]').tooltip();
});
});
},
error: function(xhr, status, error) {
console.error(xhr.responseText); // Log the error response
}
});
let PNCount = parseInt(localStorage.getItem('pullNotificationCount'));
let PACount = parseInt(localStorage.getItem('pendingActionCount'));
totalcount = PNCount + PACount
$('#notification_count').html(totalcount);
}
function acknowledgeMessage(messageId) {
$.ajax({
url: '<?= base_url('dashboard/acknowledge-notification/') ?>' + messageId,
method: 'GET',
success: function(response) {
fetchMessages();
},
error: function(xhr, status, error) {
console.error(xhr.responseText); // Log the error response
}
});
}
$('#messages-list').on('click', 'li', function(event) {
//console.log('messages-list click li')
if ($(event.target).closest('.rm_msg').length > 0) {
//console.log('.rm_msg')
let messageId = $(this).data('id');
let url = $(this).data('url');
acknowledgeMessage(messageId);
$(this).delay(300).fadeOut('slow', function() {
$(this).remove();
});
} else if ($(event.target).closest('.redirect_page').length > 0) {
//console.log('redirect_page')
let messageId = $(this).data('id');
let url = $(this).data('url');
//console.log('url : ', url)
acknowledgeMessage(messageId);
window.location.href = '<?= base_url() ?>' + url;
}
});
// fetchMessages();
// setInterval(fetchMessages, 60000); // Fetch messages every sixty seconds
});
$(document).ready(function() {
function fetchPendingAction() {
$.ajax({
url: '<?= base_url('dashboard/get-pending-action') ?>',
method: 'GET',
success: function(response) {
console.log(response);
if (response.length == 0) {
pendingActionCount = 0;
localStorage.setItem('pendingActionCount', pendingActionCount);
}
for (let key in response) {
// console.log(response[key].length)
// console.log('type', typeof response[key].length)
// console.log('key', response[key])
if(response[key].length != 'undefined' && response[key].length != undefined)
{
pendingActionCount = pendingActionCount + response[key].length;
}
}
console.log(pendingActionCount);
let messagesList = $('#messages-list-2');
messagesList.empty();
if (response.inception) {
$.each(response.inception, function(index, item) {
var queryParams = {
client_id: item.client_id,
client_policy_id: item.client_policy_id,
client_branch_id: item.branch_id,
actions: 'inception'
};
const queryString = objectToQueryString(queryParams);
var url = 'employee/upload?' + queryString
////console.log(url)
var toast_body_css = 'background : #bfd7eb !important;';
var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
var toast_status_word = 'Info';
if (!item.branch_name.toLowerCase().includes('branch')) {
//console.log(item.branch_name)
item.branch_name += ' branch';
}
////console.log(item.branch_name);
var toast_body_data = item.client_name + '( ' + item.branch_name + ' ) ' + ' - ' + item.policy_name;
////console.log(toast_body_data);
var html = ` <li data-id="" data-url="${url}">
<div class="p-3">
<div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
<div class="toast-header " style="${toast_head_css}" >
<strong class="${toast_icon}"> ${toast_status_word}</strong>
<button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="toast-body" style="${toast_body_css}">
<strong>Inception Pending</strong><br><br>
<small style="position: relative;bottom: 8px;">${toast_body_data}</small>
<div class="toast-footer">
<a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
<small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
</div>
</div>
</div>
</div>
</li>`
messagesList.append(html);
});
} else {
console.log('response.inception is undefined or null');
}
if (response.correction) {
$.each(response.correction, function(index, item) {
if (item.batch_export_count == 0 || item.batch_import_count == 0) {
var queryParams = {
client_id: item.client_id,
client_branch_id: item.branch_id,
event: 'correction',
actions: 'export',
insurer_or_tpa: 'tpa',
};
const queryString = objectToQueryString(queryParams);
var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
////console.log(url)
var toast_body_css = 'background : #bfd7eb !important;';
var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
var toast_status_word = 'Info';
var title = 'Correction Pending';
if (!item.branch_name.toLowerCase().includes('branch')) {
//console.log(item.branch_name)
item.branch_name += ' branch';
}
////console.log(item.branch_name);
// if (item.batch_export_count > 0) {
// title = 'Correction Import Pending';
// }
var toast_body_data = item.client_name + ' - ' + item.branch_name;
////console.log(toast_body_data);
var html = ` <li data-id="" data-url="${url}">
<div class="p-3">
<div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
<div class="toast-header " style="${toast_head_css}" >
<strong class="${toast_icon}"> ${toast_status_word}</strong>
<button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="toast-body" style="${toast_body_css}">
<strong>${title}</strong><br><br>
<small style="position: relative;bottom: 8px;">${toast_body_data}</small>
<div class="toast-footer">
<a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
<small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
</div>
</div>
</div>
</div>
</li>`
messagesList.append(html);
}
});
}else{
console.log('response.correction is undefined or null');
}
if (response.deletion) {
$.each(response.deletion, function(index, item) {
if (item.batch_export_count == 0 || item.batch_import_count == 0) {
var queryParams = {
client_id: item.client_id,
client_policy_id: item.client_policy_id,
client_branch_id: item.branch_id,
event: 'deletion',
actions: 'export',
insurer_or_tpa: 'tpa',
};
const queryString = objectToQueryString(queryParams);
var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
////console.log(url)
var toast_body_css = 'background : #bfd7eb !important;';
var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
var toast_status_word = 'Info';
var title = 'Deletion Pending';
if (!item.branch_name.toLowerCase().includes('branch')) {
//console.log(item.branch_name)
item.branch_name += ' branch';
}
////console.log(item.branch_name);
// if (item.batch_export_count > 0) {
// title = 'Deletion Import Pending';
// }
var toast_body_data = item.client_name + '( ' + item.branch_name + ' ) ' + ' - ' + item.policy_name;
////console.log(toast_body_data);
var html = ` <li data-id="" data-url="${url}">
<div class="p-3">
<div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
<div class="toast-header " style="${toast_head_css}" >
<strong class="${toast_icon}"> ${toast_status_word}</strong>
<button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="toast-body" style="${toast_body_css}">
<strong>${title}</strong><br><br>
<small style="position: relative;bottom: 8px;">${toast_body_data}</small>
<div class="toast-footer">
<a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
<small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
</div>
</div>
</div>
</div>
</li>`
messagesList.append(html);
}
});
}else{
console.log('response.deletion is undefined or null');
}
if (response.si_enhancement) {
$.each(response.si_enhancement, function(index, item) {
if (item.batch_export_count == 0 || item.batch_import_count == 0) {
var queryParams = {
client_id: item.client_id,
client_policy_id: item.client_policy_id,
client_branch_id: item.branch_id,
event: 'si_enhancement',
actions: 'export',
insurer_or_tpa: 'tpa',
};
const queryString = objectToQueryString(queryParams);
var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
////console.log(url)
var toast_body_css = 'background : #bfd7eb !important;';
var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
var toast_status_word = 'Info';
var title = 'SI Enhancement Pending';
if (!item.branch_name.toLowerCase().includes('branch')) {
//console.log(item.branch_name)
item.branch_name += ' branch';
}
////console.log(item.branch_name);
// if (item.batch_export_count > 0) {
// title = 'SI Enhancement Import Pending';
// }
var toast_body_data = item.client_name + '( ' + item.branch_name + ' ) ' + ' - ' + item.policy_name;
////console.log(toast_body_data);
var html = ` <li data-id="" data-url="${url}">
<div class="p-3">
<div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
<div class="toast-header " style="${toast_head_css}" >
<strong class="${toast_icon}"> ${toast_status_word}</strong>
<button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="toast-body" style="${toast_body_css}">
<strong>${title}</strong><br><br>
<small style="position: relative;bottom: 8px;">${toast_body_data}</small>
<div class="toast-footer">
<a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
<small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
</div>
</div>
</div>
</div>
</li>`
messagesList.append(html);
}
});
}else{
console.log('response.si_enhancement is undefined or null');
}
if (response.tpa) {
$.each(response.tpa, function(index, item) {
if (item.batch_export_count == 0 || item.batch_import_count == 0) {
var queryParams = {
client_id: item.client_id,
client_policy_id: item.client_policy_id,
client_branch_id: item.branch_id,
event: 'inception',
insurer_or_tpa: 'tpa',
actions: 'export',
};
const queryString = objectToQueryString(queryParams);
var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
////console.log(url)
var toast_body_css = 'background : #bfd7eb !important;';
var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
var toast_status_word = 'Info';
var title = 'TPA Pending';
if (!item.branch_name.toLowerCase().includes('branch')) {
//console.log(item.branch_name)
item.branch_name += ' branch';
}
////console.log(item.branch_name);
// if (item.batch_export_count > 0) {
// title = 'TPA Import Pending';
// }
var toast_body_data = item.client_name + '( ' + item.branch_name + ' ) ' + ' - ' + item.policy_name;
////console.log(toast_body_data);
var html = ` <li data-id="" data-url="${url}">
<div class="p-3">
<div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
<div class="toast-header " style="${toast_head_css}" >
<strong class="${toast_icon}"> ${toast_status_word}</strong>
<button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="toast-body" style="${toast_body_css}">
<strong>${title}</strong><br><br>
<small style="position: relative;bottom: 8px;">${toast_body_data}</small>
<div class="toast-footer">
<a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
<small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
</div>
</div>
</div>
</div>
</li>`
messagesList.append(html);
}
});
}else{
console.log('response.tpa is undefined or null');
}
if (response.uhid) {
$.each(response.uhid, function(index, item) {
if (item.batch_export_count == 0 || item.batch_import_count == 0) {
var queryParams = {
client_id: item.client_id,
client_policy_id: item.client_policy_id,
client_branch_id: item.branch_id,
event: 'inception',
insurer_or_tpa: 'insurer',
actions: 'export',
};
const queryString = objectToQueryString(queryParams);
var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
//console.log(url)
var toast_body_css = 'background : #bfd7eb !important;';
var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
var toast_status_word = 'Info';
var title = 'Insurer Pending';
if (!item.branch_name.toLowerCase().includes('branch')) {
//console.log(item.branch_name)
item.branch_name += ' branch';
}
////console.log(item.branch_name);
// if (item.batch_export_count > 0) {
// title = 'Insurer Import Pending';
// }
var toast_body_data = item.client_name + '( ' + item.branch_name + ' ) ' + ' - ' + item.policy_name;
////console.log(toast_body_data);
var html = ` <li data-id="" data-url="${url}">
<div class="p-3">
<div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
<div class="toast-header " style="${toast_head_css}" >
<strong class="${toast_icon}"> ${toast_status_word}</strong>
<button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="toast-body" style="${toast_body_css}">
<strong>${title}</strong><br><br>
<small style="position: relative;bottom: 8px;">${toast_body_data}</small>
<div class="toast-footer">
<a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
<small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
</div>
</div>
</div>
</div>
</li>`
messagesList.append(html);
}
});
}else{
console.log('response.uhid is undefined or null');
}
localStorage.setItem('pendingActionCount', pendingActionCount)
},
error: function(xhr, status, error) {
console.error(xhr.responseText); // Log the error response
}
});
}
fetchPendingAction()
$('#messages-list-2').on('click', 'li', function(event) {
//console.log('messages-list-2 click li')
if ($(event.target).closest('.rm_msg').length > 0) {
//console.log('.rm_msg')
$(this).delay(300).fadeOut('slow', function() {
$(this).remove();
});
} else if ($(event.target).closest('.redirect_page').length > 0) {
//console.log('redirect_page')
let url = $(this).data('url');
//console.log('url : ', url);
window.location.href = '<?= base_url() ?>' + url;
}
});
})
function objectToQueryString(obj) {
return Object.keys(obj).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join('&');
}
</script>
<script>
function formatDate(dateString)
{
// Parse the input date string
let date = new Date(dateString);
// Define months array
const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
// Extract day, month, year, hours, and minutes
let day = date.getDate();
let month = months[date.getMonth()];
let year = date.getFullYear();
let hours = date.getHours();
let minutes = date.getMinutes();
// Convert hours to 12-hour format
let period = hours >= 12 ? 'pm' : 'am';
hours = hours % 12;
hours = hours ? hours : 12; // Handle midnight (0 hours)
// Format the time string
let timeString = ('0' + hours).slice(-2) + ':' + ('0' + minutes).slice(-2) + ' ' + period;
// Format the date string
let formattedDate = day + '-' + month + '-' + year + ' ' + timeString;
return formattedDate;
}
function printCurrentTime()
{
var now = new Date();
var hours = now.getHours().toString().padStart(2, '0');
var minutes = now.getMinutes().toString().padStart(2, '0');
var seconds = now.getSeconds().toString().padStart(2, '0');
var currentTime = hours + ':' + minutes + ':' + seconds;
// console.log("Current Time:", currentTime);
return currentTime;
}
</script>
<script>
function checkDuplicateTableFieldValue(tableName, fieldName, value, callback) {
$.ajax({
url: '<?= base_url('util/checkDuplicateTableFieldValue') ?>', // Adjust this to your endpoint in CodeIgniter
type: 'POST',
data: {
table: tableName,
field: fieldName,
value: value
},
dataType: 'json',
success: function(response) {
if (typeof callback === 'function') {
callback(response.isDuplicate); // Pass the result to the callback
}
},
error: function(xhr, status, error) {
console.error('AJAX Error:', error);
}
});
}
function sendAjaxRequestForGlobal(url, method, data = {}, successCallback = null, errorCallback = null) {
$.ajax({
url: url,
method: method,
data: data,
dataType: 'json', // Expected response type
success: function(response) {
// If a success callback is provided, call it with the response
if (successCallback) {
successCallback(response);
}
},
error: function(xhr, status, error) {
// Handle errors if provided error callback
if (errorCallback) {
errorCallback(xhr, status, error);
} else {
console.error('AJAX Error:', error);
}
}
});
}
function confirmActionSweertAlert(message = "Are you sure?", confirmText = "Yes, Proceed!", cancelText = "Cancel", icon = "warning") {
return Swal.fire({
title: message,
icon: icon,
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33",
confirmButtonText: confirmText,
cancelButtonText: cancelText
}).then((result) => {
return result.isConfirmed; // Returns true if confirmed, false otherwise
});
}
</script>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,899 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title><?= isset($page_name) ? $page_name : 'NHance'; ?></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta content="" name="description" />
<meta content="NHANCE" name="NHANCE" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- App favicon -->
<link rel="shortcut icon" href="<?= base_url() . "public"; ?>/assets/images/Nhance_Favi.svg">
<!-- plugin css -->
<link href="<?= base_url() . "public"; ?>/assets/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.css" rel="stylesheet" type="text/css" />
<!-- third party css -->
<link href="<?= base_url() . "public"; ?>/assets/libs/datatables.net-bs4/css/dataTables.bootstrap4.min.css" rel="stylesheet" type="text/css" />
<link href="<?= base_url() . "public"; ?>/assets/libs/datatables.net-responsive-bs4/css/responsive.bootstrap4.min.css" rel="stylesheet" type="text/css" />
<link href="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons-bs4/css/buttons.bootstrap4.min.css" rel="stylesheet" type="text/css" />
<link href="<?= base_url() . "public"; ?>/assets/libs/datatables.net-select-bs4/css//select.bootstrap4.min.css" rel="stylesheet" type="text/css" />
<!-- third party css end -->
<!-- App css -->
<link href="<?= base_url() . "public"; ?>/assets/css/bootstrap-creative.min.css" rel="stylesheet" type="text/css" id="bs-default-stylesheet" />
<link href="<?= base_url() . "public"; ?>/assets/css/app-creative.min.css" rel="stylesheet" type="text/css" id="app-default-stylesheet" />
<link href="<?= base_url() . "public"; ?>/assets/css/bootstrap-creative-dark.min.css" rel="stylesheet" type="text/css" id="bs-dark-stylesheet" />
<link href="<?= base_url() . "public"; ?>/assets/css/app-creative-dark.min.css" rel="stylesheet" type="text/css" id="app-dark-stylesheet" />
<!-- icons -->
<link href="<?= base_url() . "public"; ?>/assets/css/icons.min.css" rel="stylesheet" type="text/css" />
<link href="<?= base_url() . "public"; ?>/assets/libs/bootstrap-datepicker/css/bootstrap-datepicker.min.css" rel="stylesheet" type="text/css" />
<link href="<?= base_url() . "public"; ?>/assets/libs/bootstrap-daterangepicker/daterangepicker.css" rel="stylesheet" type="text/css">
<link href="<?= base_url() . "public"; ?>/assets/libs/bootstrap-daterangepicker/daterangepicker.css" rel="stylesheet" type="text/css">
<!-- <link href="<?= base_url() . "public"; ?>/assets/css/bootstrap-material.min.css" rel="stylesheet" type="text/css" id="bs-default-stylesheet" /> -->
<!-- <link href="<?= base_url() . "public"; ?>/assets/css/app-material.min.css" rel="stylesheet" type="text/css" id="app-default-stylesheet" /> -->
<!-- <link href="<?= base_url() . "public"; ?>/assets/css/bootstrap-editable.css" rel="stylesheet" type="text/css" /> -->
<link href="https://cdn.jsdelivr.net/npm/remixicon/fonts/remixicon.css" rel="stylesheet">
<!-- Jodit Css -->
<link href="<?= base_url() . "public"; ?>/assets/css/jodit.css" rel="stylesheet" type="text/css" />
<!-- JQuery CDN -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<!-- Sweet Alert CDN -->
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.10.4/dist/sweetalert2.all.min.js"></script>
<!-- select2 -->
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-beta.1/dist/css/select2.min.css" rel="stylesheet" type="text/css">
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.3/dist/umd/popper.min.js"></script>
<link rel="manifest" href="../manifest.json">
<script>
if ('serviceWorker' in navigator) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('../service-worker.js').then(function(registration) {
// console.log('Service Worker registration successful with scope:', registration.scope);
}, function(err) {
// console.log('Service Worker registration failed:', err);
});
});
}
</script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.css" />
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick-theme.min.css" />
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script>
<!-- srinivas -->
<link href="https://cdn.jsdelivr.net/gh/gitbrent/bootstrap4-toggle@3.6.1/css/bootstrap4-toggle.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/gh/gitbrent/bootstrap4-toggle@3.6.1/js/bootstrap4-toggle.min.js"></script>
<script src="https://editor.unlayer.com/embed.js"></script>
<!-- MD5 Hash Start -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/blueimp-md5/2.19.0/js/md5.min.js"></script>
<!-- MD5 Hash End -->
<!-- <script src="<?= base_url('public/unlayer/js/embed.js') . '' ?>"></script> -->
<!-- srinivas -->
<style>
body[data-sidebar-size=condensed]:not([data-layout=compact]):not(.auth-fluid-pages) {
min-height: 0;
}
body[data-sidebar-size=condensed] .navbar-custom {
left: 155px !important;
}
body[data-sidebar-size=condensed] .logo-box {
width: 155px !important;
}
.navbar-custom {
top: -10px !important;
height: 61px !important;
}
.logo-box {
top: -10px !important;
height: 61px !important;
}
.content-page {
padding: 80px 15px 65px 15px !important;
}
/* Media query for small screens */
@media screen and (min-width: 768px) {
/* Styles for screens with a minimum width of 768px (e.g., tablets and larger devices) */
.navbar-custom .button-menu-mobile {
display: none;
/* Hide the button on larger screens */
}
}
.loader-mask {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #00000069;
z-index: 99999;
}
.loader {
position: absolute;
left: 50%;
top: 50%;
width: 50px;
height: 50px;
font-size: 0;
color: #00c9d0;
display: inline-block;
margin: -25px 0 0 -25px;
text-indent: -9999em;
-webkit-transform: translateZ(0);
-ms-transform: translateZ(0);
transform: translateZ(0);
}
.lead {
font-size: 13px;
}
.loader div {
background-color: #6ad9cf;
display: inline-block;
float: none;
position: absolute;
top: 0;
left: 0;
width: 50px;
height: 50px;
opacity: .5;
border-radius: 50%;
-webkit-animation: ballPulseDouble 2s ease-in-out infinite;
animation: ballPulseDouble 2s ease-in-out infinite;
}
.loader div:last-child {
-webkit-animation-delay: -1s;
animation-delay: -1s;
}
@-webkit-keyframes ballPulseDouble {
0%,
100% {
-webkit-transform: scale(0);
transform: scale(0);
}
50% {
-webkit-transform: scale(1);
transform: scale(1);
}
}
@keyframes ballPulseDouble {
0%,
100% {
-webkit-transform: scale(0);
transform: scale(0);
}
50% {
-webkit-transform: scale(1);
transform: scale(1);
}
}
.toast-success {
background-color: #009688 !important;
color: #FFFFFF !important;
}
/* .dataTables_wrapper .text-right {
position: relative;
} */
.dataTables_wrapper .dt-buttons .buttons-csv,
.dataTables_wrapper .dt-buttons .buttons-html5 {
background-color: #02a8b5;
color: #fff;
border-color: #02a8b5;
}
.dataTables_wrapper .dt-buttons .buttons-csv:hover,
.dataTables_wrapper .dt-buttons .buttons-html5:hover {
background-color: #028291;
border-color: #028291;
}
.modal-full-width {
width: 80% !important;
/* width: 95% !important; */
/* max-width: none; */
}
.modal-body {
/* position: relative;
flex: 1 1 auto; */
padding: 2rem !important;
}
</style>
<style>
.text-danger-2 {
font-style: italic;
color: black !important;
/* color: #02a8b5 !important; */
font-size: 12px;
}
/* .form-group {
margin-bottom: -0.2rem !important;
}
.form-row{
width: 84%;
} */
</style>
<style>
.select2-container--default .select2-selection--single {
height: 37px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
line-height: 35px !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
top: 7px !important;
}
</style>
<style>
.toast-body {
padding: .75rem;
background: aliceblue !important;
}
#messages-list li {
margin-top: 0;
margin-bottom: -25px;
/* Adjust this value to reduce the space */
}
.toast-footer {
text-align: right;
color: #000;
border-top: 1px solid aliceblue;
margin-top: 11px;
margin-bottom: -6px;
}
.right-bar {
width: 300px;
/* Adjust as needed */
overflow: hidden;
}
.fixed-header {
position: relative;
top: 0;
z-index: 1000;
background-color: #f8f9fa !important;
}
.scrollable-content {
max-height: 42vh;
overflow-y: auto;
padding-top: 0px;
}
/* Additional styles to enhance appearance */
.header-title {
position: relative;
bottom: 5px;
left: 60px;
}
#app_content_management:hover {
color: red;
}
</style>
<script>
$(window).on('load', function() {
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').fadeOut('slow');
}, 1000);
});
</script>
</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>
<!-- Preloader -->
<div class="loader-mask">
<div class="loader">
<img src="<?= base_url() . "public" ?>/assets/images/nhance-loader-fast.gif" height="40" width="40" alt="Loading...">
</div>
</div>
<!-- <img src="<?= base_url() . "public" ?>/assets/images/nhance-loader-fast.gif" height="40" width="40" alt="Loading..."> -->
<!-- Begin page -->
<div id="wrapper">
<!-- Topbar Start -->
<div class="navbar-custom">
<div class="container-fluid">
<ul class="list-unstyled topnav-menu float-right mb-0">
<li class="d-none d-lg-block">
<form class="app-search">
<div class="app-search-box dropdown">
<div class="input-group">
<input type="search" class="form-control" placeholder="Search..." id="top-search">
<div class="input-group-append">
<button class="btn" type="submit">
<i class="fe-search"></i>
</button>
</div>
</div>
<!-- <div class="dropdown-menu dropdown-lg" id="search-dropdown">
<div class="dropdown-header noti-title">
<h5 class="text-overflow mb-2">Found <span class="text-danger">09</span> results</h5>
</div>
<a href="javascript:void(0);" class="dropdown-item notify-item">
<i class="fe-home mr-1"></i>
<span>Analytics Report</span>
</a>
<a href="javascript:void(0);" class="dropdown-item notify-item">
<i class="fe-aperture mr-1"></i>
<span>How can I help you?</span>
</a>
<a href="javascript:void(0);" class="dropdown-item notify-item">
<i class="fe-settings mr-1"></i>
<span>User profile settings</span>
</a>
<div class="dropdown-header noti-title">
<h6 class="text-overflow mb-2 text-uppercase">Users</h6>
</div>
<div class="notification-list">
<a href="javascript:void(0);" class="dropdown-item notify-item">
<div class="media">
<img class="d-flex mr-2 rounded-circle" src="<?= base_url() . "public"; ?>/assets/images/users/avatar-2.jpg" alt="Generic placeholder image" height="32">
<div class="media-body">
<h5 class="m-0 font-14">Erwin E. Brown</h5>
<span class="font-12 mb-0">UI Designer</span>
</div>
</div>
</a>
<a href="javascript:void(0);" class="dropdown-item notify-item">
<div class="media">
<img class="d-flex mr-2 rounded-circle" src="<?= base_url() . "public"; ?>/assets/images/users/avatar-5.jpg" alt="Generic placeholder image" height="32">
<div class="media-body">
<h5 class="m-0 font-14">Jacob Deo</h5>
<span class="font-12 mb-0">Developer</span>
</div>
</div>
</a>
</div>
</div> -->
</div>
</form>
</li>
<li class="dropdown notification-list topbar-dropdown">
<a class="nav-link dropdown-toggle right-bar-toggle waves-effect waves-light">
<i class="fe-bell noti-icon"></i>
<span class="badge badge-danger rounded-circle noti-icon-badge" id="notification_count">0</span>
</a>
</li>
<li class="dropdown notification-list topbar-dropdown">
<a class="nav-link dropdown-toggle nav-user mr-0 waves-effect waves-light" data-toggle="dropdown" href="#" role="button" aria-haspopup="false" aria-expanded="false">
<img src="<?php echo (get_userProfile() != null && !empty(get_userProfile())) ? get_userProfile() : base_url() . 'public/assets/images/avatar_2x.png'; ?>" alt="user-image" class="rounded-circle">
<span class="pro-user-name ml-1" style="font-size: 16px;">
<?= (isset(get_session_userdata()->first_name) ? get_session_userdata()->first_name : 'NOT SET') ?>
<!-- <i class="mdi mdi-chevron-down"></i> -->
</span>
</a>
<!--<div class="dropdown-menu dropdown-menu-right profile-dropdown ">
<div class="dropdown-header noti-title">
<h6 class="text-overflow m-0">Welcome !</h6>
</div>
<a href="javascript:void(0);" class="dropdown-item notify-item">
<i class="ri-account-circle-line"></i>
<span>My Account</span>
</a>
<a href="javascript:void(0);" class="dropdown-item notify-item">
<i class="ri-settings-3-line"></i>
<span>Settings</span>
</a>
<a href="javascript:void(0);" class="dropdown-item notify-item">
<i class="ri-wallet-line"></i>
<span>My Wallet <span class="badge badge-success float-right">3</span> </span>
</a>
<a href="javascript:void(0);" class="dropdown-item notify-item">
<i class="ri-lock-line"></i>
<span>Lock Screen</span>
</a>
<a href="<?= base_url('/logout'); ?>" class="dropdown-item notify-item">
<i class="ri-logout-box-line"></i>
<span>Logout</span>
</a>
</div>-->
</li>
<!-- <li class="dropdown notification-list">
<a href="javascript:void(0);" class="nav-link right-bar-toggle waves-effect waves-light">
<i class="fe-settings noti-icon"></i>
</a>
</li> -->
<li class="dropdown notification-list">
<a href="<?= base_url('/logout'); ?>" class="nav-link waves-effect waves-light">
<i class="ri-logout-box-r-line" style="font-size: 25px;"></i>
</a>
</li>
</ul>
<!-- LOGO -->
<div class="logo-box">
<a href="https://localhost/nhance/dashboard/view" class="logo logo-dark text-center">
<span class="logo-sm">
<img src="<?= base_url() . "public"; ?>/assets/images/Nhance_Favi.svg" alt="" height="24">
<!-- <span class="logo-lg-text-light">NHANCE</span> -->
</span>
<span class="logo-lg">
<img src="<?= base_url() . "public"; ?>/assets/images/Nhance_Favi.svg" alt="" height="20">
<!-- <span class="logo-lg-text-light">M</span> -->
</span>
</a>
<a href="https://localhost/nhance/dashboard/view" class="logo logo-light text-center">
<span class="logo-sm">
<img src="<?= base_url() . "public"; ?>/assets/images/Nhance_Favi.svg" alt="" height="24">
</span>
<!-- <span class="logo-lg">
<img src="<?= base_url() . "public"; ?>/assets/images/logo-light.png" alt="" height="20">
</span> -->
</a>
</div>
<ul class="list-unstyled topnav-menu topnav-menu-left m-0">
<li>
<button class="button-menu-mobile waves-effect waves-light">
<i class="fe-menu"></i>
</button>
</li>
<li>
<!-- Mobile menu toggle (Horizontal Layout)-->
<a class="navbar-toggle nav-link" data-toggle="collapse" data-target="#topnav-menu-content">
<div class="lines">
<span></span>
<span></span>
<span></span>
</div>
</a>
<!-- End mobile menu toggle-->
</li>
</ul>
<div class="clearfix"></div>
</div>
</div>
<!-- end Topbar -->
<!-- ========== Left Sidebar Start ========== -->
<div class="left-side-menu">
<!-- LOGO -->
<div class="logo-box">
<a href="<?= base_url('/dashboard/view') ?>" class="logo logo-dark text-center">
<span class="logo-sm">
<img src="<?= base_url() . "public"; ?>/assets/images/logo-sm-dark.png" alt="" height="24">
<!-- <span class="logo-lg-text-light">nHance</span> -->
</span>
<span class="logo-lg">
<img src="<?= base_url() . "public"; ?>/assets/images/logo-dark.png" alt="" height="20">
<!-- <span class="logo-lg-text-light">N</span> -->
</span>
</a>
<a href="<?= base_url('/dashboard/view') ?>" class="logo logo-light text-center">
<span class="logo-sm">
<img src="<?= base_url() . "public"; ?>/assets/images/nhance_white_logo.svg" alt="" width="130" height="30">
</span>
<!-- <span class="logo-lg">
<img src="<?= base_url() . "public"; ?>./assets/images/logo-light.png" alt="" height="20">
</span> -->
</a>
</div>
<div class="h-100" data-simplebar>
<!--- Sidemenu -->
<div id="sidebar-menu">
<ul id="side-menu">
<li>
<a href="<?= base_url('/dashboard/view') ?>">
<i class="ri-dashboard-line"></i>
<span> Dashboard </span>
</a>
</li>
<!-- client -->
<?php if (in_array(get_role_id(), [1,2,3,5])) { ?>
<li>
<a href="<?= base_url('/client/list') ?>">
<i class="mdi mdi-domain"></i>
<span> Clients </span>
</a>
</li>
<?php } ?>
<!-- Enrollment process -->
<?php if (in_array(get_role_id(), [1,2,3,5]) || in_array(ENROLLMENT_TEAM_ID, user_team())) { ?>
<li>
<a href="#sidebarDashboards" data-toggle="collapse" class="waves-effect">
<i class="fas fa-user-tie"></i>
<span class="badge badge-success badge-pill float-right">2</span>
<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>
</ul>
</div>
</li>
<?php } ?>
<!-- Masters -->
<?php if (get_role_id() == 1 || get_role_id() == 5) { ?>
<li>
<a href="#sidebarDashboards" data-toggle="collapse" class="waves-effect">
<i class="ri-database-2-line"></i>
<span class="badge badge-success badge-pill float-right">2</span>
<span> Masters </span>
</a>
<div class="collapse" id="sidebarDashboards">
<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 } ?>
<!-- <li>
<?php
$sessionData = get_session_userdata();
$currentUrl = base_url();
$parsedUrl = parse_url($currentUrl);
$baseUrl = $parsedUrl['scheme'] . '://' . $parsedUrl['host'] . '/';
$hashedEmail = hash('sha256', $sessionData->email);
$redirectUrl = getenv('helpdeskURL') . '/staff/login?' . http_build_query(['token' => $hashedEmail]);
?>
<a href="<?php echo $redirectUrl; ?>" target="_blank">
<i class="mdi mdi-lifebuoy"></i>
<span> Tickets </span>
</a>
</li> -->
<!-- Claims -->
<?php if (in_array(get_role_id(), [1,2,3,5]) || in_array(CLAIMS_TEAM_ID, user_team())) { ?>
<li>
<a href="#sidebarDashboardsTicket" data-toggle="collapse" class="waves-effect">
<i class="mdi mdi-lifebuoy"></i>
<span class="badge badge-success badge-pill float-right">2</span>
<span> Claims </span>
</a>
<div class="collapse" id="sidebarDashboardsTicket">
<ul class="nav-second-level">
<li>
<a href="#" onclick="openTicketTypeAskModal()">New claim</a>
</li>
<li>
<a href="<?= base_url('/ticket/list') ?>">Claim List</a>
</li>
<li>
<a href="<?= base_url('/ticket/mail_template') ?>">Mail Template</a>
</li>
<li>
<a href="<?= base_url('/ticket/ticket_reports') ?>">Claim Reports</a>
</li>
<li>
<a href="<?= base_url('/ticket/feedback-list') ?>">Claim Feedback List</a>
</li>
</ul>
</div>
</li>
<?php } ?>
<!-- leads -->
<?php if (in_array(get_role_id(), [1,2,3,5]) || in_array(BUSINESS_SUPPORT_TEAM_ID, user_team()) || in_array(SALES_TEAM_ID, user_team())) { ?>
<li>
<a href="<?= base_url('/leads/list') ?>">
<i class="mdi mdi-chart-bar"></i>
<span> Leads </span>
</a>
</li>
<?php } ?>
<!-- BDS -->
<?php if ((get_role_id() == 1 || get_role_id() == 5) || (in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team()) || in_array(BUSINESS_TEAM_ID, user_team()) || in_array(POS_TEAM_ID, user_team()))) { ?>
<li>
<a href="#policyTransactions" data-toggle="collapse" class="waves-effect">
<i class="mdi mdi-format-list-bulleted"></i>
<span class="badge badge-success badge-pill float-right">2</span>
<span> Policy Transactions </span>
</a>
<div class="collapse" id="policyTransactions">
<ul class="nav-second-level">
<li>
<a href="#policyTransactionsSub" data-toggle="collapse" class="waves-effect">
<i class="mdi mdi-format-list-bulleted"></i>
<span>Policy Transactions</span>
</a>
<div class="collapse" id="policyTransactionsSub">
<ul>
<?php if (in_array(get_role_id(), [1,5]) || (in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team()) || in_array(BUSINESS_TEAM_ID, user_team()) || in_array(POS_TEAM_ID, user_team()))) { ?>
<li>
<a href="<?= base_url('/policy_tranction/inception/list') ?>">Policy</a>
</li>
<li>
<a href="<?= base_url('/policy_tranction/endorsement/list') ?>">Endorsement</a>
</li>
<?php } ?>
<?php if (in_array(get_role_id(), [1,5]) || in_array(FINANCE_TEAM_ID, user_team()) || in_array(MANAGEMENT_TEAM_ID, user_team())) { ?>
<li>
<a href="<?= base_url('/policy_tranction/statement/list') ?>">Statement Upload</a>
</li>
<?php } ?>
</ul>
</div>
</li>
<?php if ((get_role_id() == 1 || get_role_id() == 5) || (in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team()) || in_array(BUSINESS_TEAM_ID, user_team()) || in_array(POS_TEAM_ID, user_team()))) { ?>
<?php if (in_array(get_role_id(), [1,5]) || in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(POS_TEAM_ID, user_team()) ) { ?>
<li>
<a href="#policyReports" data-toggle="collapse" class="waves-effect">
<i class="ri-file-chart-fill"></i>
<span> Policy Reports </span>
</a>
<div class="collapse" id="policyReports">
<ul class="nav-third-level">
<li>
<a href="<?= base_url('/policy_tranction/report/list') ?>">BDS</a>
</li>
<?php if (in_array(get_role_id(), [1,5]) || in_array(MANAGEMENT_TEAM_ID, user_team())) { ?>
<li>
<a href="<?= base_url('/policy_tranction/report/report-varience-list') ?>">Variance</a>
</li>
<li>
<a href="<?= base_url('/policy_tranction/report/report-outstanding-list') ?>">Outstanding</a>
</li>
<li>
<a href="<?= base_url('/bdsReport/irba_report') ?>">IRDA Reports</a>
</li>
<li>
<a href="<?= base_url('/bdsReport/renewal_report') ?>">Renewal Reports</a>
</li>
<li>
<a href="<?= base_url('/bdsReport/getTATReport') ?>">TAT Band Reports</a>
</li>
<?php } ?>
</ul>
</div>
</li>
<?php } ?>
<li>
<a href="#policy_tat_report_type" data-toggle="collapse" class="waves-effect">
<i class="ri-file-chart-fill"></i>
<span> Policy TAT Reports </span>
</a>
<div class="collapse" id="policy_tat_report_type">
<ul class="nav-third-level">
<li>
<a href="<?= base_url('/bdsReport/getMultiReport/1') ?>">TAT Band Wise</a>
</li>
<li>
<a href="<?= base_url('/bdsReport/getMultiReport/2') ?>">ACM Status Wise</a>
</li>
<li>
<a href="<?= base_url('/bdsReport/getMultiReport/3') ?>">ACM TAT Wise</a>
</li>
</ul>
</div>
</li>
<?php if ((get_role_id() == 1 || get_role_id() == 5) || (in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team()) || in_array(BUSINESS_TEAM_ID, user_team()) )) { ?>
<li>
<a href="#policyPendingActions" data-toggle="collapse" class="waves-effect">
<i class="mdi mdi-timer-sand"></i>
<span> Policy Pending Actions </span>
</a>
<div class="collapse" id="policyPendingActions">
<ul class="nav-third-level">
<?php if (in_array(get_role_id(), [1,5]) || in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team())) { ?>
<li>
<a href="<?= base_url('/policy_tranction/report/report-finance-list') ?>">Finance Team</a>
</li>
<?php } ?>
<?php if (in_array(get_role_id(), [1,5]) || in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(BUSINESS_TEAM_ID, user_team())) { ?>
<li>
<a href="<?= base_url('/policy_tranction/report/report-business-list') ?>">Business Team</a>
</li>
<?php } ?>
</ul>
</div>
</li>
<?php } ?>
<?php if ((get_role_id() == 1 || get_role_id() == 5) || (in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team()) || in_array(BUSINESS_TEAM_ID, user_team()) )) { ?>
<li>
<a href="#policyMasters" data-toggle="collapse" class="waves-effect">
<i class="ri-database-2-line"></i>
<span> Masters </span>
</a>
<div class="collapse" id="policyMasters">
<ul class="nav-third-level">
<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>
</ul>
</div>
</li>
<?php } ?>
<?php if ((get_role_id() == 1 || get_role_id() == 5) || (in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team()) || in_array(BUSINESS_TEAM_ID, user_team()))) { ?>
<li>
<a href="<?= base_url('/dmsSearch') ?>">
<i class="ri-book-open-line"></i>
<span> Documents</span>
</a>
</li>
<?php } ?>
<?php } ?>
</ul>
</div>
</li>
<?php } ?>
<!-- Ad -->
<?php if (in_array(get_role_id(), [1,2,3,5])) { ?>
<li>
<a id="app_content_management" href="#sidebarDashboardsmenu" data-toggle="collapse" class="waves-effect" style="color: grey;">
<i class="fa fa-edit" aria-hidden="true"></i>
<span class="badge badge-success badge-pill float-right">2</span>
<span>App Content Mgmt</span>
</a>
<div class="collapse" id="sidebarDashboardsmenu">
<ul class="nav-second-level">
<li>
<a href="<?= base_url('/add_image_index') ?>"> Advertisement Images </a>
</li>
<li>
<a href="<?= base_url('/frontend_content') ?>">Front-end Content</a>
</li>
</ul>
</div>
</li>
<?php } ?>
<li>
<a id="user_manual" href="<?= base_url("autobookstackLogin") ?>" class="waves-effect" target="_blank" rel="noopener noreferrer">
<i class="fa fa-info-circle" aria-hidden="true"></i>
<span>User Manual</span>
</a>
</li>
</ul>
</div>
<!-- End Sidebar -->
</div>
<!-- Sidebar -left -->
</div>
<!-- Left Sidebar End -->
<!-- ============================================================== -->
<!-- Start Page Content here -->
<!-- ============================================================== -->
<div class="content-page">
<div class="content">
<!-- Start Content-->
<div class="container-fluid"></div>

View File

@ -1,8 +1,4 @@
<style>
body {
margin-top: 20px;
background: #FAFAFA;
}
.order-card {
color: #fff;
@ -123,40 +119,76 @@
margin-top: 0;
margin-bottom: 5px;
}
.leadStatusTitle_1{margin-left:20px;}
.leadStatusTitle_2{margin-left:20px;}
.inside-tab-content-div{
display:flex;
justify-content:flex-start !important;
flex-flow: row wrap;
}
.dash-card{
background-color:#F4FBFB !important;
border-radius:25px;
border:2px solid #09B9BF;
box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1), 0px 4px 8px rgba(0, 0, 0, 0.2);
min-width: 250px;
}
#leads-dash-tab{
padding-right: 20px;
}
.span-color{
color:#09B9BF !important;
}
.leadTypeTile{
margin-left: 20px;
}
</style>
<?php
$isActive = get_role_id() == STAFF_ROLE_ID && in_array(ENROLLMENT_TEAM_ID, user_team()) ? 'show active' : '';
?>
<div class="tab-pane fade <?= $isActive ?>" id="leads-dash-tab">
<div class="row">
<div class="col-md-4 col-xl-3 leadTypeTile">
<div class="card bg-c-Pelorous order-card" onclick="hide_and_show_tile(1,1)">
<div class="card-block">
<h6 class="m-b-20 font-15">Leads</h6>
<h2 class="text-right"><i
class="mdi mdi-playlist-check f-left"></i><span><?= isset($lead_data) ? $lead_data['total'] : 0 ?></span>
</h2>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<div class="col inside-tab-content-div">
<div class="leadTypeTile">
<div class="card dash-card" onclick="hide_and_show_tile(1,1)">
<div class="card-block">
<h4 class="mb-3">Leads</h4>
<h2 class="span-color"><span><?= isset($lead_data) ? $lead_data['total'] : 0 ?></span>
</h2>
<h6><span class="text-danger">Lead Tracker</span></h6>
</div>
</div>
</div>
</div>
<div class="col-md-4 col-xl-3 leadTypeTile">
<div class="card bg-c-Pelorous order-card" onclick="hide_and_show_tile(1,2)">
<div class="card-block">
<h6 class="m-b-20 font-15">BDS Renewals</h6>
<h2 class="text-right"><i
class="mdi mdi-playlist-check f-left"></i><span><?= isset($bds_renewal) ? $bds_renewal['total'] : 0 ?></span>
</h2>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<p class="m-b-1">&nbsp;<span class="f-right"></span></p>
<div class="leadTypeTile">
<div class="card dash-card" onclick="hide_and_show_tile(1,2)">
<div class="card-block">
<h4 class="mb-3">BDS Renewals</h4>
<h2 class="span-color">
<span><?= isset($bds_renewal) ? $bds_renewal['total'] : 0 ?></span>
</h2>
<h6><span class="text-danger">Renewal Tracker</span></h6>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="status_tile" style="padding-bottom: 10px;padding-left: 17px; ">
<div class="status_tile" style="padding-bottom: 10px;padding-left: 17px; margin-left:10px;">
<a href="#" onclick="hide_and_show_tile(2)"><i class="fas fa-arrow-left"></i> Back to Overview</a>
</div>
<div class="status_tile" style="padding-left: 30px;">
@ -164,88 +196,102 @@ $isActive = get_role_id() == STAFF_ROLE_ID && in_array(ENROLLMENT_TEAM_ID, user_
</div>
</div>
<div class="row">
<?php
<div class="col inside-tab-content-div">
<?php
$colorSetCount = count($colorShades); // Number of color sets
$shadeCount = count($colorShades[0]); // Number of shades per set
$index = 0;
foreach ($lead_data as $key => $value) : ?>
<?php
if ($key == "total" || $key == "won" || substr($key, -4) === "_ids") {
continue;
} // Skip the total key
?>
<?php
// Initialize color set and shade indexes
$colorSetIndex = floor($index / $shadeCount) % $colorSetCount; // Reset color set after each set
$shadeIndex = $index % $shadeCount; // Cycle through shades within the set
$colorSetCount = count($colorShades); // Number of color sets
$shadeCount = count($colorShades[0]); // Number of shades per set
$index = 0;
foreach ($lead_data as $key => $value) : ?>
<?php
if ($key == "total" || $key == "won" || substr($key, -4) === "_ids") {
continue;
} // Skip the total key
?>
<?php
// Initialize color set and shade indexes
$colorSetIndex = floor($index / $shadeCount) % $colorSetCount; // Reset color set after each set
$shadeIndex = $index % $shadeCount; // Cycle through shades within the set
// Get the background color for the current tile
$bgColor = $colorShades[$colorSetIndex][$shadeIndex];
?>
<?php
$formattedStatus = strlen($key) < 5 ? strtoupper($key) : ucwords(str_replace('_', ' ', $key));
$truncatedStatus = strlen($formattedStatus) > 20 ? substr($formattedStatus, 0, 15) . '...' : $formattedStatus;
$showTooltip = strlen($formattedStatus) > 20;
?>
<div class="leadStatusTitle_1" style="display: none;">
<div class="card dash-card"
onclick="linkRedirectForLeads('<?= esc(strtolower(str_replace(' ', '_', $key)), 'js') ?>','<?= $lead_data[$key . '_ids'] ?? '' ?>')">
<div class="card-block">
<h5 class="text-right">
<span class="f-left"
<?= $showTooltip ? 'data-toggle="tooltip" title="' . htmlspecialchars($formattedStatus, ENT_QUOTES, 'UTF-8') . '"' : '' ?>>
<?= $truncatedStatus ?>
</span>
<span><?= $value ?></span>
</h5>
</div>
// Get the background color for the current tile
$bgColor = $colorShades[$colorSetIndex][$shadeIndex];
?>
<?php
$formattedStatus = strlen($key) < 5 ? strtoupper($key) : ucwords(str_replace('_', ' ', $key));
$truncatedStatus = strlen($formattedStatus) > 20 ? substr($formattedStatus, 0, 15) . '...' : $formattedStatus;
$showTooltip = strlen($formattedStatus) > 20;
?>
<div class="col-md-2 col-xl-1 leadStatusTitle_1" style="display: none;">
<div class="card order-card" style="background: <?= $bgColor ?>;"
onclick="linkRedirectForLeads('<?= esc(strtolower(str_replace(' ', '_', $key)), 'js') ?>','<?= $lead_data[$key . '_ids'] ?? '' ?>')">
<h2 class="text-center"><span><?= $value ?></span></h2>
<h6 class="m-b-20 font-15 text-center"
<?= $showTooltip ? 'data-toggle="tooltip" title="' . htmlspecialchars($formattedStatus, ENT_QUOTES, 'UTF-8') . '"' : '' ?>>
<?= $truncatedStatus ?>
</h6>
</div>
</div>
</div>
<?php endforeach ?>
<?php endforeach ?>
</div>
</div>
<div class="row">
<?php
$colorSetCount = count($colorShades); // Number of color sets
$shadeCount = count($colorShades[0]); // Number of shades per set
$index = 0;
foreach ($bds_renewal as $key => $value) : ?>
<div class="col inside-tab-content-div">
<?php
if ($key == "total" || substr($key, -4) === "_ids") {
continue;
} // Skip the total key
?>
<?php
// Initialize color set and shade indexes
$colorSetIndex = floor($index / $shadeCount) % $colorSetCount; // Reset color set after each set
$shadeIndex = $index % $shadeCount; // Cycle through shades within the set
$colorSetCount = count($colorShades); // Number of color sets
$shadeCount = count($colorShades[0]); // Number of shades per set
$index = 0;
// Get the background color for the current tile
$bgColor = $colorShades[$colorSetIndex][$shadeIndex];
?>
<?php
$formattedStatus = strlen($key) < 5 ? strtoupper($key) : ucwords(str_replace('_', ' ', $key));
$truncatedStatus = strlen($formattedStatus) > 20 ? substr($formattedStatus, 0, 15) . '...' : $formattedStatus;
$showTooltip = strlen($formattedStatus) > 20;
?>
<div class="col-md-2 col-xl-1 leadStatusTitle_2" style="display: none;">
foreach ($bds_renewal as $key => $value) : ?>
<?php
$policyIds = isset($bds_renewal[$key . '_ids'])
? (is_array($bds_renewal[$key . '_ids'])
? implode('_', $bds_renewal[$key . '_ids'])
: str_replace(' ', '_', $bds_renewal[$key . '_ids']))
: '';
if ($key == "total" || substr($key, -4) === "_ids") {
continue;
} // Skip the total key
?>
<div class="card order-card" style="background: <?= $bgColor ?>;"
onclick="linkRedirectForPolicy('<?= $policyIds ?>')">
<h2 class="text-center"><span><?= $value ?></span></h2>
<h6 class="m-b-20 font-15 text-center"
<?= $showTooltip ? 'data-toggle="tooltip" title="' . htmlspecialchars($formattedStatus, ENT_QUOTES, 'UTF-8') . '"' : '' ?>>
<?= $truncatedStatus ?>
</h6>
</div>
</div>
<?php
// Initialize color set and shade indexes
$colorSetIndex = floor($index / $shadeCount) % $colorSetCount; // Reset color set after each set
$shadeIndex = $index % $shadeCount; // Cycle through shades within the set
<?php endforeach ?>
// Get the background color for the current tile
$bgColor = $colorShades[$colorSetIndex][$shadeIndex];
?>
<?php
$formattedStatus = strlen($key) < 5 ? strtoupper($key) : ucwords(str_replace('_', ' ', $key));
$truncatedStatus = strlen($formattedStatus) > 20 ? substr($formattedStatus, 0, 15) . '...' : $formattedStatus;
$showTooltip = strlen($formattedStatus) > 20;
?>
<div class="leadStatusTitle_2" style="display: none;">
<?php
$policyIds = isset($bds_renewal[$key . '_ids'])
? (is_array($bds_renewal[$key . '_ids'])
? implode('_', $bds_renewal[$key . '_ids'])
: str_replace(' ', '_', $bds_renewal[$key . '_ids']))
: '';
?>
<div class="card dash-card"
onclick="linkRedirectForPolicy('<?= $policyIds ?>')">
<div class="card-block">
<h5 class="text-right">
<span class="f-left"
<?= $showTooltip ? 'data-toggle="tooltip" title="' . htmlspecialchars($formattedStatus, ENT_QUOTES, 'UTF-8') . '"' : '' ?>>
<?= $truncatedStatus ?>
</span>
<span class="span-color"><?= $value ?></span>
</h5>
</div>
</div>
</div>
<?php endforeach ?>
</div>
</div>
</div>
<script>
@ -256,6 +302,24 @@ $isActive = get_role_id() == STAFF_ROLE_ID && in_array(ENROLLMENT_TEAM_ID, user_
function hide_and_show_tile(type, leadType = null) {
let dashboardHistoryString = localStorage.getItem('dashboardHistory');
if (dashboardHistoryString){
let dashboardHistory = JSON.parse(dashboardHistoryString);
dashboardHistory['tile_params'] = { majorType: type, minorType: leadType };
dashboardHistory['function_name'] = 'hide_and_show_tile';
localStorage.setItem('dashboardHistory', JSON.stringify(dashboardHistory));
}
if (type == 1) {
$('.leadTypeTile').hide();
@ -311,7 +375,6 @@ $isActive = get_role_id() == STAFF_ROLE_ID && in_array(ENROLLMENT_TEAM_ID, user_
const form = document.createElement('form');
form.method = method;
form.action = url;
form.target = '_blank';
for (const key in data) {

View File

@ -10,7 +10,8 @@
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
<div class="row">
<br>
<div class="row ml-4">
<div class="col-md-6">
<h4 style="text-align: left;">Claim Filter</h4>
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 537 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 826 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 664 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 775 B