apollodec/Apollo/assets/js/controllers/dashboardCtrl.js
2018-01-06 19:44:24 +05:30

214 lines
7.2 KiB
JavaScript
Executable File

'use strict';
/**
* controllers for ng-table
* Simple table with sorting and filtering on AngularJS
*/
app.controller('dashboardCtrl', ["$scope","$rootScope", "toaster", "$filter", "ngTableParams", "API_POINTS", "$localStorage", "$http", "$state", function ($scope,$rootScope, toaster, $filter, ngTableParams, apiPoint, $localStorage, $http, $state) {
/*
* used to get dash board call track details
* this method called from view ng-init directive
* created by kms
* */
$scope.initCallTracking = function () {
$rootScope.pendingFolloupDetails = [];
var getCallTrack = {
method: 'POST',
url: apiPoint.url + 'getDashboardCallTrack/',
headers: {
'Content-Type': 'application/json'
},
data: {
requestedBy: JSON.parse(localStorage.getItem('localObj')).localUserID,
branchId: JSON.parse(localStorage.getItem('localObj')).localBranchID
}
};
$http(getCallTrack).then(function (response) {
/* if(response.data.status == 200 && response.data.followupStatus){
$scope.currentDate = new Date().getFullYear() + '-' + ('0' + (new Date().getMonth() + 1)).slice(-2) + '-' + ('0' + new Date().getDate()).slice(-2);
$scope.getFollowupDetails = response.data.details;
angular.forEach($scope.getFollowupDetails, function (value, key) {
if (($scope.currentDate) < (value[0].FollowupOn)) {
$rootScope.pendingFolloupDetails.push(value[0]);
console.log($rootScope.pendingFolloupDetails);
}
});
}
else{
}*/
if (response.data.status == 200) {
if (response.data.todayStatus) {
$scope.todayFolloupDetails = response.data.todayFolloupDetails.trackingDetails;
$scope.emptyDataToday = false;
}
else {
$scope.todayFolloupDetails = "";
$scope.emptyDataToday = true;
}
if (response.data.todayPendingStatus) {
$scope.currentDate = new Date().getFullYear() + '-' + ('0' + (new Date().getMonth() + 1)).slice(-2) + '-' + ('0' + new Date().getDate()).slice(-2);
// $scope.currentDate = new Date().getFullYear() + '-' + ('0' + (new Date().getMonth() + 1)).slice(-2) + '-' + ('0' + new Date().getDate()).slice(-2);
$scope.currentDate=$filter('date')(new Date(), 'dd-MM-yyyy');
$scope.fetchFolloupDetails = response.data.PendingFolloupDetails.trackingDetails;
angular.forEach($scope.fetchFolloupDetails, function (value, key) {
if (($scope.currentDate) > (value.FollowupOn) && (value.statusName!='CLOSE')) {
$rootScope.pendingFolloupDetails.push(value);
}
});
if($rootScope.pendingFolloupDetails.length==0){
$scope.emptyDataPending = true;
}
else{
$scope.emptyDataPending = false;
}
}
else {
$scope.pendingFolloupDetails = "";
$scope.emptyDataPending = true;
}
if (response.data.todayLeadStatus) {
$scope.leadDetails = response.data.todayLeadDetails.trackingDetails;
$scope.emptyDataLead = false;
}
else {
$scope.leadDetails = "";
$scope.emptyDataLead = true;
}
} else {
$scope.emptyDataToday = true;
$scope.emptyDataPending = true;
}
});
};
}]);
app.controller('OnotherCtrl', ["$scope", "toaster", "$filter", "$http", "API_POINTS", "$state", '$cookies', 'ipCookie', function ($scope, toaster, $filter, $http, apiPoint, $state, $cookies, ipCookie) {
// get local cliend details
var localDetail = JSON.parse(localStorage.getItem('localObj'));
var localDetails = ipCookie('cookiechk');
$scope.init = function () {
$scope.this_Student = 0;
$scope.this_Staff = 0;
$scope.this_TotalUser = 0;
$scope.getTotalUsers();
}
// get Total Number of users in this application
$scope.getTotalUsers = function () {
var req = {
method: 'POST',
url: apiPoint.url + 'getTotalUsers/',
headers: {
'Content-Type': 'application/json'
},
data: {
data: localDetails
}
};
$http(req).then(function (response) {
if (response.data) {
// $scope.editBranchId = id;
$scope.this_Student = response.data.total_student;
$scope.this_Staff = response.data.total_staff;
$scope.this_TotalUser = $scope.this_Staff + $scope.this_Student;
// alert($scope.this_TotalUser);
$scope.data = [
{
value: $scope.this_Student,
color: '#46BFBD',
highlight: '#5AD3D1',
label: 'Student'
},
{
value: $scope.this_Staff,
color: '#FDB45C',
highlight: '#FFC870',
label: 'Staff'
}
];
$scope.total = $scope.this_TotalUser;
} else {
// $scope.this_Student = response.total_student;
// $scope.this_Staff = response.total_staff;
$scope.data = [
{
value: $scope.this_Student,
color: '#F7464A',
highlight: '#5AD3D1',
label: 'Student'
},
{
value: $scope.this_Staff,
color: '#FDB45C',
highlight: '#FFC870',
label: 'Staff'
}
];
$scope.this_TotalUser = 0;
$scope.total = $scope.this_TotalUser;
}
});
}
// Chart.js Data
// Chart.js Options
$scope.options = {
// Sets the chart to be responsive
responsive: false,
//Boolean - Whether we should show a stroke on each segment
segmentShowStroke: true,
//String - The colour of each segment stroke
segmentStrokeColor: '#fff',
//Number - The width of each segment stroke
segmentStrokeWidth: 2,
//Number - The percentage of the chart that we cut out of the middle
percentageInnerCutout: 50, // This is 0 for Pie charts
//Number - Amount of animation steps
animationSteps: 100,
//String - Animation easing effect
animationEasing: 'easeOutBounce',
//Boolean - Whether we animate the rotation of the Doughnut
animateRotate: true,
//Boolean - Whether we animate scaling the Doughnut from the centre
animateScale: false,
//String - A legend template
legendTemplate: '<ul class="tc-chart-js-legend"><% for (var i=0; i<segments.length; i++){%><li><span style="background-color:<%=segments[i].fillColor%>"></span><%if(segments[i].label){%><%=segments[i].label%><%}%></li><%}%></ul>'
};
}]);