Files
CRM/DashBoardAll.php
BACHIR SOULDI 2794e62571 first commit
2025-09-28 08:49:37 +01:00

2053 lines
34 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
require_once 'include/utils/utils.php';
require_once 'includes/Loader.php';
vimport ('includes.runtime.EntryPoint');
require_once 'SUtiles.php';
@session_start();
global $adb;
$current_user = Users_Record_Model::getCurrentUserModel();
$roleid = $current_user->get('roleid');
$userId = $current_user->get('id');
$viewer = new Vtiger_Viewer();
$viewer->assign('CURRENTDATE', Vtiger_Date_UIType::getDisplayDateValue(date('Y-n-j')));
$viewer->assign('MODULE', 'Home');
$viewer->assign('MODULE_NAME', 'Home');
$viewer->assign('QUALIFIED_MODULE', 'Home');
$viewer->assign('PARENT_MODULE', '');
$viewer->assign('VIEW', 'DashBoard');
$menuModelsList = Vtiger_Menu_Model::getAll(true);
$menuStructure = Vtiger_MenuStructure_Model::getInstanceFromMenuList($menuModelsList, 'Home');
uksort($menuModelsList, array('Vtiger_MenuStructure_Model', 'sortMenuItemsByProcess'));
$viewer->assign('SELECTED_MENU_CATEGORY', 'MARKETING');
$viewer->assign('SELECTED_MENU_CATEGORY_LABEL', 'Tableau de bord');
//$viewer->assign('SELECTED_CATEGORY_MENU_LIST', $menuGroupedByParent['MARKETING']);
$viewer->assign('MENUS', $menuModelsList);
$viewer->assign('QUICK_CREATE_MODULES', Vtiger_Menu_Model::getAllForQuickCreate());
$viewer->assign('MENU_STRUCTURE', $menuStructure);
$viewer->assign('MENU_SELECTED_MODULENAME', 'Home');
$viewer->assign('MENU_TOPITEMS_LIMIT', $menuStructure->getLimit());
$viewer->assign('COMPANY_LOGO', Vtiger_CompanyDetails_Model::getInstanceById()->getLogo());
$viewer->assign('COMPANY_DETAILS_SETTINGS',new Settings_Vtiger_CompanyDetails_Model());
$viewer->assign('USER_MODEL', $current_user);
$viewer->assign('CURRENT_USER_MODEL', $current_user);
require_once 'libraries/csrf-magic/csrf-magic.php';
$viewer->assign('HOME_MODULE_MODEL', Vtiger_Module_Model::getInstance('Home'));
$viewer->assign('HEADER_LINKS', Vtiger_Header_View::getHeaderLinks());
$viewer->assign('ANNOUNCEMENT', Vtiger_Header_View::getAnnouncement());
$viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules());
$viewer->assign('INVENTORY_MODULES', getInventoryModules());
$viewer->assign('PAGETITLE','TABLEAU DE BORD');
$viewer->assign('LANGUAGE_STRINGS', Vtiger_Language_Handler::export('Home', 'jsLanguageStrings'));
$viewer->view('CustomDashboard.tpl');
$currentDate = new DateTime();
$year = $currentDate->format("Y");
$month = $currentDate->format("m");
$day = $currentDate->format("d");
if(showNewDashBoard($userId) != 1){ header("Location: index.php?module=Home&view=DashBoard");}
echo'
<div id="SplashScreen"></div>
<div class="main-container main-container-Accounts">
<div class="container-fluid" style="margin:15px 15px 15px 15px;">
<div class="fieldBlockContainer" data-block="LBL_ADDRESS_INFORMATION">
<div id="DashBoardBC" >
<div class="row">
<div class="flex-container" >
<div onclick="openFullscreen();"><img src="file_upload/fullscreen.svg" alt=""></div>
<div onclick="closeFullscreen();"><img src="file_upload/close_fullscreen.svg" alt=""></div>
<div onclick="LoadALLDashBoard();" ><img src="file_upload/refresh.svg" alt=""></div>';
if(!isPharma($roleid) && $roleid != 'H10')
echo '<div><strong><a href="index.php?module=MonitoringVMPlanning&amp;view=MonitoringVMPlanning">Monitoring Promotion Medicale</a></strong></div>';
echo '<div><strong><a href="index.php?module=MonitoringVpBCTotal&amp;view=MonitoringVpBCTotal">Monitoring Commercial</a></strong></div>
</div>
</div>
<div class="row">
<div class="col-xl-3 col-sm-3 col-12 W-50">
<div class="card color1">
<div class="card-content">
<div class="card-body">
<div class="media d-flex">
<div class="media-body text-left">
<h3 id="Produit" class="danger">0</h3>
<span class="statuts"><a href="index.php?module=Products&view=List&app=INVENTORY">Produit</a></span>
</div>
<div class="align-self-center">
<i class="app-icon-list fab fa fa-archive danger font-large-2 float-right"></i>
<i class="icon-rocket "></i>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-3 col-sm-3 col-12">
<div class="card color2">
<div class="card-content">
<div class="card-body">
<div class="media d-flex">
<div class="media-body text-left">
<h3 id="Pharmacie" class="success">0</h3>
<span class="statuts"><a href="index.php?module=Accounts&view=List&app=INVENTORY&search_params=%5B%5B%5B%22industry%22,%22e%22,%22Pharmacie%22%5D%5D%5D">Pharmacie</a></span>
</div>
<div class="align-self-center">
<i class="app-icon-list fa fa-dot-circle-o success font-large-2 float-right"></i>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-3 col-sm-3 col-12">
<div class="card color3">
<div class="card-content">
<div class="card-body">
<div class="media d-flex">
<div class="media-body text-left">
<h3 id="Medecin" class="warning">0</h3>
<span class="statuts"><a href="index.php?module=Accounts&view=List&app=INVENTORY&search_params=%5B%5B%5B%22industry%22,%22e%22,%22Medecin%22%5D%5D%5D">Médecin</a></span>
</div>
<div class="align-self-center">
<i class="app-icon-list fa fa-user fa-2 warning font-large-2 float-right"></i>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-3 col-sm-3 col-12">
<div class="card color4">
<div class="card-content">
<div class="card-body">
<div class="media d-flex">
<div class="media-body text-left">
<h3 id="vm" class="primary">0</h3>
<span class="statuts">Délégué Médical</span>
</div>
<div class="align-self-center">
<i class="app-icon-list fa fa-user fa-2 primary font-large-2 float-right"></i>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xl-3 col-sm-3 col-12">
<div class="card color5">
<div class="card-content">
<div class="card-body">
<div class="media d-flex">
<div class="media-body text-left">
<h3 id="vp" class="danger">0</h3>
<span class="statuts">Délégué Commercial</span>
</div>
<div class="align-self-center">
<i class="app-icon-list fa fa-user fa-2 danger font-large-2 float-right"></i>
<i class="icon-rocket "></i>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-3 col-sm-3 col-12">
<div class="card color6">
<div class="card-content">
<div class="card-body">
<div class="media d-flex">
<div class="media-body text-left">
<h3 id="sm" class="success">0</h3>
<span class="statuts">Superviseur Médical</span>
</div>
<div class="align-self-center">
<i class="app-icon-list fa fa-user fa-2 success font-large-2 float-right"></i>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-3 col-sm-3 col-12">
<div class="card color7">
<div class="card-content">
<div class="card-body">
<div class="media d-flex">
<div class="media-body text-left">
<h3 id="sc" class="warning">0</h3>
<span class="statuts">Superviseur Commercial</span>
</div>
<div class="align-self-center">
<i class="app-icon-list fa fa-user fa-2 warning font-large-2 float-right"></i>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xl-3 col-sm-3 col-12">
<div class="card color8">
<div class="card-content">
<div class="card-body">
<div class="media d-flex">
<div class="media-body text-left">
<h3 id="kam" class="primary">0</h3>
<span class="statuts">KAM</span>
</div>
<div class="align-self-center">
<i class="app-icon-list fa fa-user fa-2 primary font-large-2 float-right"></i>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xl-12 col-sm-12 col-12">
<div class="card" id="Ca_par_wilaya1" style="padding:20px;"></div>
</div>
</div>
<div class="row">
<div class="col-xl-3 col-sm-12 col-12">
<div class="card" id="gro1" style="padding:20px;">
<h3 id="totalca"></h3>
</div>
</div>
</div>
<div class="row">
<div class="col-xl-3 col-sm-6 col-12">
<div class="card" id="pharmacie1" style="padding:20px;">
</div>
</div>
<div class="col-xl-3 col-sm-6 col-12">
<div class="card" id="canvas1" style="padding:20px;">
</div>
</div>
</div>
<div class="row">
<div class="col-xl-3 col-sm-6 col-12">
<div class="card" id="vpr1" style="padding:20px;">
</div>
</div>
<div class="col-xl-3 col-sm-6 col-12">
<div class="card" id="vmr1" style="padding:20px;">
</div>
</div>
</div>
<div class="row">
<div class="col-xl-3 col-sm-6 col-12">
<div class="card" id="Ca_par_region1" style="padding:20px;"></div>
</div>
</div>
<div>
</div>
</div>
</div>
';
$viewer->view('CustomDashboardFooter.tpl');
?>
<style>
.center {
display: block;
margin-left: auto;
margin-right: auto;
}
.card {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
min-width: 0;
background-clip: border-box;
border: 1px solid rgba(0,0,0,.06);
border-radius: .25rem;
margin-bottom: 1.875rem;
border: none;
border-radius: 0;
box-shadow: 0 10px 40px 0 rgb(62 57 107 / 7%), 0 2px 9px 0 rgb(62 57 107 / 6%);
}
.card-body {
-webkit-box-flex: 1;
-webkit-flex: 1 1 auto;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
min-height: 1px;
padding: 1.5rem;
}
.d-flex {
display: -webkit-box!important;
display: -webkit-flex!important;
display: -ms-flexbox!important;
display: flex!important;
}
.media {
display: flex;
-webkit-box-align: start;
-webkit-align-items: flex-start;
-ms-flex-align: start;
align-items: flex-start;
}
.media, .progress-bar {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
}
.d-flex {
display: -ms-flexbox!important;
display: flex!important;
}
.text-left {
text-align: left!important;
}
.media-body {
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
.danger {
color: #fff!important;
}
.h3, h3 {
font-size: 2rem;
}
.align-self-center {
-webkit-align-self: center!important;
-ms-flex-item-align: center!important;
align-self: center!important;
}
.float-right {
float: right!important;
}
.font-large-2 {
font-size: 3rem!important;
}
.success {
color: #fff;
}
.warning {
color: #fff;
}
.primary {
color: #fff;
}
.statuts {
color: #fff;
font-size: 1.5rem;
}
/* Safari syntax */
:-webkit-full-screen {
background-color: #fff;
padding : 30px;
overflow-y: scroll;
}
/* IE11 */
:-ms-fullscreen {
background-color: #fff;
padding : 30px;
overflow-y: scroll;
}
/* Standard syntax */
:fullscreen {
background-color: #fff;
padding : 30px;
overflow-y: scroll;
}
.color1{
background-image: linear-gradient(to right, #fe5d70, #fe909d);
}
.color2{
background-image: linear-gradient(to right, #01a9ac, #01dbdf);
}
.color3{
background-image: linear-gradient(to right, #0ac282, #0df3a3);
}
.color4 {
background-image: linear-gradient(to right, #fe9365, #feb798);
}
.color5 {
background-image:linear-gradient(to right, #f7b529, #f7cf79);
}
.color6 {
background-image: linear-gradient(to right, #b9c500, #e8f158);
}
.color7 {
background-image: linear-gradient(to right, #929292, #ccdae0);
}
.color8 {
background-image: linear-gradient(to right, #6c5ce7, #948ec1);
}
.flex-container {
display: flex;
flex-wrap: nowrap;
}
.flex-container > div {
margin: 10px;
text-align: center;
line-height: 30px;
}
.dashboard_select {
padding: 5px;
border: 2px solid rgba(0, 0, 0, 0.1);
border-radius: 3px;
min-width: 100px;
font-weight: bold;
color: #464646;
}
.card:hover {
box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
cursor: pointer;
}
</style>
<script type="text/javascript" src="layouts/v7/lib/jquery/purl.js"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/select2/select2.min.js"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/jquery.class.min.js"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/jquery-ui-1.11.3.custom/jquery-ui.js"></script>
<script type="text/javascript" src="layouts/v7/lib/todc/js/bootstrap.min.js"></script>
<script type="text/javascript" src="libraries/jquery/jstorage.min.js"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/jquery-validation/jquery.validate.min.js"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/jquery.slimscroll.min.js"></script>
<script type="text/javascript" src="libraries/jquery/jquery.ba-outside-events.min.js"></script>
<script type="text/javascript" src="libraries/jquery/defunkt-jquery-pjax/jquery.pjax.js"></script>
<script type="text/javascript" src="libraries/jquery/multiplefileupload/jquery_MultiFile.js"></script>
<script type="text/javascript" src="resources/jquery.additions.js"></script>
<script type="text/javascript" src="layouts/v7/lib/bootstrap-notify/bootstrap-notify.min.js"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/websockets/reconnecting-websocket.js"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/jquery-play-sound/jquery.playSound.js"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/malihu-custom-scrollbar/jquery.mousewheel.min.js"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/malihu-custom-scrollbar/jquery.mCustomScrollbar.js"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/autoComplete/jquery.textcomplete.js"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/jquery.qtip.custom/jquery.qtip.js"></script>
<script type="text/javascript" src="libraries/jquery/jquery-visibility.min.js"></script>
<script type="text/javascript" src="layouts/v7/lib/momentjs/moment.js"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/daterangepicker/moment.min.js"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/daterangepicker/jquery.daterangepicker.js"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/jquery.timeago.js"></script>
<script type="text/javascript" src="libraries/jquery/ckeditor/ckeditor.js"></script>
<script type="text/javascript" src="libraries/jquery/ckeditor/adapters/jquery.js"></script>
<script type='text/javascript' src='layouts/v7/lib/anchorme_js/anchorme.min.js'></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Class.js?v=7.1.0"></script>
<script type='text/javascript' src="layouts/v7/resources/helper.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/resources/application.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Utils.js?v=7.1.0"></script>
<script type='text/javascript' src="layouts/v7/modules/Vtiger/resources/validation.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/lib/bootbox/bootbox.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Base.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Vtiger.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Calendar/resources/TaskManagement.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Import/resources/Import.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Emails/resources/EmailPreview.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Base.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Google/resources/Settings.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/CkEditor.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Documents/resources/Documents.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/bootstrap/js/eternicode-bootstrap-datepicker/js/bootstrap-datepicker.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/bootstrap/js/eternicode-bootstrap-datepicker/js/locales/bootstrap-datepicker.fr.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/timepicker/jquery.timepicker.min.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/lazyYT/lazyYT.min.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Header.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Edit.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Popup.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Field.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/jquery_windowmsg.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/BasicSearch.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/AdvanceFilter.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/SearchAdvanceFilter.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/AdvanceSearch.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/BaseList.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/List.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/AdvanceSearchList.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/RecordSelectTracker.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Pagination.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Import/resources/Popup.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Emails/resources/MassEdit.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/EmailsRelatedPopup.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/sadropdown.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/posabsolute-jQuery-Validation-Engine/js/languages/jquery.validationEngine-fr.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Vtiger.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/jquery.stickytableheaders.min.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/gridster/jquery.gridster.min.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/jqplot/jquery.jqplot.min.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.canvasTextRenderer.min.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.canvasAxisTickRenderer.min.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.pieRenderer.min.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.barRenderer.min.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.categoryAxisRenderer.min.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.pointLabels.min.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.funnelRenderer.min.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/jqplot/plugins/jqplot.logAxisRenderer.min.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/VtJqplotInterface.js?v=7.1.0"></script>
<script type="text/javascript" src="libraries/jquery/vtchart.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/lib/jquery/gridster/jquery.gridster.min.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/DashBoard.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/dashboards/Widget.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/Detail.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Reports/resources/Detail.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Reports/resources/ChartDetail.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/modules/Vtiger/resources/CkEditor.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/lib/bootstrap-daterangepicker/moment.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/lib/bootstrap-daterangepicker/daterangepicker.js?v=7.1.0"></script>
<script type="text/javascript" src="layouts/v7/resources/v7_client_compat.js?v=7.1.0"></script>
<!-- Added in the end since it should be after less file loaded -->
<script type="text/javascript" src="libraries/bootstrap/js/less.min.js"></script>
<script src="file_upload/Chart.min.js" type="text/javascript"></script>
<script src="file_upload/jquery.animateNumbers.min.js" type="text/javascript"></script>
<!-- Enable tracking pageload time -->
<script type="text/javascript">var _REQSTARTTIME = "1589749969";
jQuery(document).ready(function() {
window._PAGEREADYAT = new Date();
}
);
jQuery(window).load(function() {
window._PAGELOADAT = new Date();
window._PAGELOADREQSENT = false;
// Transmit the information to server about page render time now.
if (typeof _REQSTARTTIME != 'undefined') {
// Work with time converting it to GMT (assuming _REQSTARTTIME set by server is also in GMT)
var _PAGEREADYTIME = _PAGEREADYAT.getTime() / 1000.0;
// seconds
var _PAGELOADTIME = _PAGELOADAT.getTime() / 1000.0;
// seconds
var data = {
page_request: _REQSTARTTIME, page_ready: _PAGEREADYTIME, page_load: _PAGELOADTIME };
data['page_xfer'] = (_PAGELOADTIME - _REQSTARTTIME).toFixed(3);
data['client_tzoffset']= -1*_PAGELOADAT.getTimezoneOffset()*60;
data['client_now'] = JSON.parse(JSON.stringify(new Date()));
if (!window._PAGELOADREQSENT) {
// To overcome duplicate firing on Chrome
window._PAGELOADREQSENT = true;
}
}
}
);
</script>
<script>
function PackCA(data) {
let Pack = [];
let ca = [];
let total = 0;
for(var c = 0; c < data.length ; c++){
var rowG = data[c];
Pack.push(rowG[0]);
ca.push(rowG[1]);
total = total + parseFloat(rowG[1]);
}
$("#totalca").text("TOTAL: "+new Intl.NumberFormat("de-DE").format(total.toFixed(2))+' DA');
$( "#gro" ).remove( );
$( "#gro1" ).append( ' <canvas id="gro" width="600" height="230"></canvas>' );
var ctx = document.getElementById('gro');
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: Pack,
datasets: [{
label: "Chiffre d'affaire",
data: ca,
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)',
'rgba(255, 159, 64, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)',
'rgba(255, 159, 64, 1)'
],
borderWidth: 1
}]
},
options: {
scales: {
y: {
beginAtZero: true
}
},
title:{
display:true,
text:'CA Par Pack'
},
onClick: event => {
const datasetIndex = myChart.getElementAtEvent(event)[0]._datasetIndex;
const model = myChart.getElementsAtEvent(event)[datasetIndex]._model;
//console.log(model.datasetLabel+" : "+model.label);
window.location.replace('index.php?module=SalesOrder&parent=&page=1&view=List&viewname=26&orderby=&sortorder=&app=SALES&search_params=%5B%5B%5B%22potential_id%22%2C%22c%22%2C%22'+model.label+'%22%5D%5D%5D');
}
}
});
}
function Pharmacie_par_region(data) {
let region = [];
let cap = [];
for(var c = 0; c < data.length ; c++){
var rowG = data[c];
region.push(rowG[0]);
cap.push(rowG[1]);
}
$( "#pharmacie" ).remove( );
$( "#pharmacie1" ).append( '<canvas id="pharmacie" width="200" height="100"></canvas>' );
new Chart(document.getElementById('pharmacie'), {
type: 'doughnut',
data: {
labels: region,
datasets: [
{
label: "Population (millions)",
backgroundColor: ["#bdb2ff", "#ffd6a5","#caffbf","#e8c3b9","#c45850" ,"#4cd137" ,"#353b48","#e84118","#9c88ff","#fbc531"],
data: cap
}
]
},
options: {
title: {
display: true,
text: 'Pharmacie Par Région'
}
}
});
}
function Medecin_par_region(data) {
let region = [];
let cap = [];
for(var c = 0; c < data.length ; c++){
var rowG = data[c];
region.push(rowG[0]);
cap.push(rowG[1]);
}
$( "#canvas" ).remove( );
$( "#canvas1" ).append( '<canvas id="canvas" width="200" height="100"></canvas>' );
new Chart(document.getElementById('canvas'), {
type: 'doughnut',
data: {
labels: region,
datasets: [
{
label: "Population (millions)",
backgroundColor: ["#bdb2ff", "#ffd6a5","#caffbf","#e8c3b9","#c45850" ,"#4cd137" ,"#353b48","#e84118","#9c88ff","#fbc531"],
data: cap
}
]
},
options: {
title: {
display: true,
text: 'Médecin Par Région'
}
}
});
}
function Vp_par_region(data) {
let region = [];
let cap = [];
for(let vp = 0; vp < data.length ; vp++){
let rowG = data[vp];
region.push(rowG[0]);
cap.push(rowG[1]);
}
$( "#vpr" ).remove( );
$( "#vpr1" ).append( '<canvas id="vpr" width="200" height="100"></canvas>' );
new Chart(document.getElementById('vpr'), {
type: 'doughnut',
data: {
labels: region,
datasets: [
{
label: "Population (millions)",
backgroundColor: ["#bdb2ff", "#ffd6a5","#caffbf","#e8c3b9","#c45850" ,"#4cd137" ,"#353b48","#e84118","#9c88ff","#fbc531"],
data: cap
}
]
},
options: {
title: {
display: true,
text: 'Délégué Commercial Par Région'
}
}
});
}
function Vm_par_region(data) {
let region = [];
let cap = [];
for(let vp = 0; vp < data.length ; vp++){
let rowG = data[vp];
region.push(rowG[0]);
cap.push(rowG[1]);
}
$( "#vmr" ).remove( );
$( "#vmr1" ).append( '<canvas id="vmr" width="200" height="100"></canvas>' );
new Chart(document.getElementById('vmr'), {
type: 'doughnut',
data: {
labels: region,
datasets: [
{
label: "Population (millions)",
backgroundColor: ["#bdb2ff", "#ffd6a5","#caffbf","#e8c3b9","#c45850" ,"#4cd137" ,"#353b48","#e84118","#9c88ff","#fbc531"],
data: cap
}
]
},
options: {
title: {
display: true,
text: 'Délégué Médical Par Région'
}
}
});
}
function Ca_par_region(data) {
var year = <?php echo json_encode($year); ?>;
let region = [];
let cap = [];
for(let vp = 0; vp < data.length ; vp++){
let rowG = data[vp];
region.push(rowG[0]);
cap.push(rowG[1].toFixed(2));
}
$( "#Ca_par_region" ).remove( );
$( "#Ca_par_region1" ).append( '<canvas id="Ca_par_region" width="200" height="100"></canvas>' );
new Chart(document.getElementById('Ca_par_region'), {
type: 'doughnut',
data: {
labels: region,
datasets: [
{
label: "Population (millions)",
backgroundColor: ["#bdb2ff", "#ffd6a5","#caffbf","#e8c3b9","#c45850" ,"#4cd137" ,"#353b48","#e84118","#9c88ff","#fbc531"],
data: cap
}
]
},
options: {
title: {
display: true,
text: "Chiffre d'affaire Par Région entre 2020 et "+year
}
}
});
}
function Ca_par_wilaya(data){
var year = <?php echo json_encode($year); ?>;
let wilaya = [];
let total = [];
for(let vp = 0; vp < data.length ; vp++){
let row = data[vp];
wilaya.push(row[0]);
total.push(row[1]);
}
$( "#Ca_par_wilaya" ).remove( );
$( "#Ca_par_wilaya1" ).append( ' <canvas id="Ca_par_wilaya"></canvas>' );
var chart = new Chart(document.getElementById('Ca_par_wilaya'), {
type: "horizontalBar",
options: {
responsive: true,
maintainAspectRatio: false,
legend: {
display: false
},
title: {
display: true,
text: "TOP 25 CA par Wilaya "+year
},
tooltips: {
mode: 'label',
label: 'mylabel',
callbacks: {
label: function(tooltipItem, data) {
return tooltipItem.xLabel.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")+" DA"; }, },
}
},
data: {
labels: wilaya,
datasets: [
{
data: total,
backgroundColor: '#74b9ff',
}
]
}
});
}
/* View in fullscreen */
var elem = document.getElementById("DashBoardBC");
function openFullscreen() {
if (elem.requestFullscreen) {
elem.requestFullscreen();
} else if (elem.webkitRequestFullscreen) { /* Safari */
elem.webkitRequestFullscreen();
} else if (elem.msRequestFullscreen) { /* IE11 */
elem.msRequestFullscreen();
}
}
/* Close fullscreen */
function closeFullscreen() {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.webkitExitFullscreen) { /* Safari */
document.webkitExitFullscreen();
} else if (document.msExitFullscreen) { /* IE11 */
document.msExitFullscreen();
}
}
</script>
<script>
function box(data) {
$("#Produit").empty();
$("#Produit").animateNumbers(data['nbr_produits'][0], true, 2000);
$("#Pharmacie").empty();
$("#Pharmacie").animateNumbers(data['nbr_pharmacie'][0] , true, 2000);
$("#Medecin").empty();
$("#Medecin").animateNumbers(data['nbr_medecin'][0], true, 2000);
$("#vm").empty();
$("#vm").animateNumbers(data['nbr_delegue_medical'][0] , true, 2000);
$("#vp").empty();
$("#vp").animateNumbers(data['nbr_delegue_commercial'][0], true, 2000);
$("#sm").empty();
$("#sm").animateNumbers(data['nbr_superviseur_medical'][0], true, 2000);
$("#sc").empty();
$("#sc").animateNumbers(data['nbr_superviseur_commercial'][0], true, 2000);
$("#kam").empty();
$("#kam").animateNumbers(data['nbr_kam'][0], true, 2000);
}
function LoadALLDashBoard() {
$.ajax({
type: "GET",
url: "index.php?module=DashBoardAjax&view=DashBoardAjax&action=all",
success: function (data) {
//console.log(data);
data = data.replace('{', '{');
var dataResult = JSON.parse(data);
box(dataResult);
if(dataResult['pack_ca'].length > 0){
PackCA(dataResult['pack_ca']);
}
if(dataResult['pharmacie_region'].length > 0){
Pharmacie_par_region(dataResult['pharmacie_region']);
}
if(dataResult['medecin_region'].length > 0){
Medecin_par_region(dataResult['medecin_region']) ;
}
if(dataResult['nbr_vp_region'].length > 0){
Vp_par_region(dataResult['nbr_vp_region']);
}
if(dataResult['nbr_vm_region'].length > 0){
Vm_par_region(dataResult['nbr_vm_region']);
}
if(dataResult['ca_par_region'].length > 0){
Ca_par_region(dataResult['ca_par_region']);
}
if(dataResult['ca_par_wilaya'].length > 0){
Ca_par_wilaya(dataResult['ca_par_wilaya']);
}
},
error: function(data){
console.log(data);
}
});
}
function getSplashScreen(){
$.ajax({
type: "GET",
url: "index.php?module=SplashScreenAjax&view=SplashScreenAjax",
contentType: "application/json; charset=utf-8",
success: function(result) {
$("#SplashScreen").html(result);
}
});
}
$(document).ready(function() {
try {
getSplashScreen();
LoadALLDashBoard();
}
catch(err) {
console.log(err.message);
}
});
</script>
</html>