393 lines
12 KiB
PHP
393 lines
12 KiB
PHP
<style>
|
|
|
|
.order-card {
|
|
color: #fff;
|
|
}
|
|
|
|
.bg-c-blue {
|
|
background: linear-gradient(45deg, #4099ff, #73b4ff);
|
|
}
|
|
|
|
.bg-c-green {
|
|
background: linear-gradient(45deg, #2ed8b6, #59e0c5);
|
|
}
|
|
|
|
.bg-c-yellow {
|
|
background: linear-gradient(45deg, #FFB64D, #ffcb80);
|
|
}
|
|
|
|
.bg-c-pink {
|
|
background: linear-gradient(45deg, #FF5370, #ff869a);
|
|
}
|
|
|
|
.bg-c-red {
|
|
background: linear-gradient(45deg, #FF4E50, #F9D423);
|
|
}
|
|
|
|
.bg-c-purple {
|
|
background: linear-gradient(45deg, #9D50BB, #6E48AA);
|
|
}
|
|
|
|
.bg-c-orange {
|
|
background: linear-gradient(45deg, #F2994A, #F2C94C);
|
|
}
|
|
|
|
.bg-c-teal {
|
|
background: linear-gradient(45deg, #1ABC9C, #16A085);
|
|
}
|
|
|
|
.bg-c-cyan {
|
|
background: linear-gradient(45deg, #00C9FF, #92FE9D);
|
|
}
|
|
|
|
.bg-c-lime {
|
|
background: linear-gradient(45deg, #A8E063, #56AB2F);
|
|
}
|
|
|
|
.bg-c-indigo {
|
|
background: linear-gradient(45deg, #3F51B5, #5A55AE);
|
|
}
|
|
|
|
.bg-c-Pelorous {
|
|
background: linear-gradient(45deg, #00d6db, #00a8b5);
|
|
}
|
|
|
|
.bg-c-Pelorous2 {
|
|
background: linear-gradient(45deg, #02a8b5, #017f8b);
|
|
}
|
|
|
|
.bg-c-Pelorous3 {
|
|
background: linear-gradient(45deg, #098895, #046063);
|
|
}
|
|
|
|
.bg-c-Grenadier {
|
|
background: linear-gradient(45deg, #ff9d37, #ff7a10);
|
|
}
|
|
|
|
.bg-c-Grenadier2 {
|
|
background: linear-gradient(45deg, #ff8010, #ff4c00);
|
|
}
|
|
|
|
.bg-c-Grenadier3 {
|
|
background: linear-gradient(45deg, #f06306, #cc4b05);
|
|
}
|
|
|
|
.bg-c-SilverChalice {
|
|
background: linear-gradient(45deg, #a3a8a8, #8f9494);
|
|
}
|
|
|
|
.bg-c-SilverChalice2 {
|
|
background: linear-gradient(45deg, #7e8484, #686e6e);
|
|
}
|
|
|
|
.bg-c-SilverChalice3 {
|
|
background: linear-gradient(45deg, #5c6363, #434949);
|
|
}
|
|
|
|
|
|
|
|
.card {
|
|
border-radius: 5px;
|
|
-webkit-box-shadow: 0 1px 2.94px 0.06px rgba(4, 26, 55, 0.16);
|
|
box-shadow: 0 1px 2.94px 0.06px rgba(4, 26, 55, 0.16);
|
|
border: none;
|
|
margin-bottom: 30px;
|
|
-webkit-transition: all 0.3s ease-in-out;
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
|
|
.card .card-block {
|
|
padding-top: 10px;
|
|
padding-bottom: 10px;
|
|
padding-left: 25px;
|
|
padding-right: 25px;
|
|
}
|
|
|
|
.order-card i {
|
|
font-size: 26px;
|
|
}
|
|
|
|
.f-left {
|
|
float: left;
|
|
}
|
|
|
|
.f-right {
|
|
float: right;
|
|
}
|
|
|
|
.m-b-1 {
|
|
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 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 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; 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;">
|
|
<a href="#" id="main_tile">Current Tile : </a>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<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
|
|
|
|
// 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>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<?php endforeach ?>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="row">
|
|
<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 ($bds_renewal as $key => $value) : ?>
|
|
<?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
|
|
|
|
// 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>
|
|
$(document).ready(function() {
|
|
$('[data-toggle="tooltip"]').tooltip();
|
|
$(".status_tile").hide();
|
|
});
|
|
|
|
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();
|
|
$('.status_tile').show();
|
|
|
|
} else {
|
|
|
|
$('.leadTypeTile').show();
|
|
$('.leadStatusTitle_1').hide();
|
|
$('.leadStatusTitle_2').hide();
|
|
$(".status_tile").hide();
|
|
|
|
|
|
}
|
|
|
|
if (type == 1 && leadType != null && leadType == 1) {
|
|
$('.leadStatusTitle_1').show();
|
|
$('#main_tile').text("Viewing Details For : Leads");
|
|
|
|
}
|
|
if (type == 1 && leadType != null && leadType == 2) {
|
|
$('.leadStatusTitle_2').show();
|
|
$("#main_tile").text("Viewing Details For : BDS Renewals");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function linkRedirectForPolicy(ids) {
|
|
var url = "<?= base_url("policy_tranction/inception/list") ?>";
|
|
var data = {
|
|
ids: ids,
|
|
is_dashboard: 1
|
|
}
|
|
|
|
redirectWithPost(url, data, "POST");
|
|
}
|
|
|
|
function linkRedirectForLeads(status, ids) {
|
|
|
|
var url = "<?= base_url("leads/list") ?>";
|
|
var data = {
|
|
ids: ids,
|
|
is_dashboard: 1
|
|
}
|
|
|
|
redirectWithPost(url, data, "POST");
|
|
}
|
|
|
|
function redirectWithPost(url, data = {}, method = "GET") {
|
|
// $('.loader').fadeIn();
|
|
// $('.loader-mask').fadeIn();
|
|
const form = document.createElement('form');
|
|
form.method = method;
|
|
form.action = url;
|
|
|
|
|
|
for (const key in data) {
|
|
if (data.hasOwnProperty(key)) {
|
|
const input = document.createElement('input');
|
|
input.type = 'hidden';
|
|
input.name = key;
|
|
input.value = data[key];
|
|
form.appendChild(input);
|
|
}
|
|
}
|
|
|
|
document.body.appendChild(form);
|
|
form.submit();
|
|
}
|
|
</script>
|