(function(){ var portal = angular.module('portal',['ngRoute','ui.mask']); portal.config(['$locationProvider', function($locationProvider) { $locationProvider.hashPrefix(''); }]); portal.config(function($routeProvider) { var login = '\
\ \ '; $routeProvider .when('/', { controller: 'PageCtrl as pCtrl', templateUrl: '/portal/template.php?file=files' }) .when('/login', { template: login }) .when('/revenue', { controller: 'revenueCtrl as rCtrl', templateUrl: '/portal/template.php?file=revenue' }) .when('/inconsistencies', { controller: 'inconsistenciesCtrl as iCtrl', templateUrl: '/portal/template.php?file=inconsistencies' }) .when('/inconsistencies/:item', { controller: 'inconsistenciesCtrl as iCtrl', templateUrl: '/portal/template.php?file=inconsistencies' }) .when('/processes', { controller: 'processesCtrl as prCtrl', templateUrl: '/portal/template.php?file=processes' }) .when('/processes/:item', { controller: 'processesCtrl as prCtrl', templateUrl: '/portal/template.php?file=processes' }) .when('/sendFile', { controller: 'sendFileCtrl as sfCtrl', templateUrl: '/portal/template.php?file=sendFile' }) .when('/eventsMap', { controller: 'eventsMapCtrl as emCtrl', templateUrl: '/portal/template.php?file=eventsMap' }) .when('/:page', { controller: 'PageCtrl as pCtrl', templateUrl: '/portal/template.php?file=files' }) .when('/:page/:item', { controller: 'PageCtrl as pCtrl', templateUrl: '/portal/template.php?file=files' }) .when('/:page/:item/:data', { controller: 'PageCtrl as pCtrl', templateUrl: '/portal/template.php?file=files' }) .when('/:page/:item/:data/:extra', { controller: 'PageCtrl as pCtrl', templateUrl: '/portal/template.php?file=files' }) .otherwise({ redirectTo:'/' }); }); portal.filter('htmlTrusted', ['$sce', function($sce){ return function(text) { return $sce.trustAsHtml(text); }; }]); portal.directive('html', function(){ return { restrict: 'E', controllerAs: 'html', controller: function($scope,$locale,$location,$routeParams,$interval,$http){ $locale.id = 'pt-br'; $locale.NUMBER_FORMATS.CURRENCY_SYM = 'R$'; $locale.NUMBER_FORMATS.DECIMAL_SEP = ','; $locale.NUMBER_FORMATS.GROUP_SEP = '.'; $scope.url = {}; $scope.logout = function(){ delete localStorage.data; $scope.user = {}; $location.path('/login'); }; $scope.company = {id: '544847'}; $scope.company.name = 'Castro Assessoria Contábil';$scope.company.logo = '544847_config_company_logo.jpeg'; $scope.blocks = []; $scope.user = {}; if(localStorage.data){ var data = JSON.parse(localStorage.data); $scope.data = data; if(data.company.id == $scope.company.id){ $scope.user = data.user; }; }; $scope.list; if(localStorage.layout){ $scope.layout = localStorage.layout; } else { $scope.layout = 'apps'; }; $scope.layoutSet = function(l){ $scope.layout = l; localStorage.layout = l; }; $scope.print = function(){ window.print(); }; $scope.goTo = function(link){ $location.path(link); }; $scope.folders = []; $scope.loadFx = 0; $scope.hash = window.location.hash; $scope.controls = {}; $scope.revenuesControls = {}; $scope.inconsistenciesControls = {}; $scope.processesControls = {}; $scope.loading = 0; $scope.post = function(fn){ $scope.loading = 1; if($scope.loader){ $interval.cancel($scope.loader); }; $scope.loadFx = 0; $scope.loader = $interval(function(){ if($scope.loadFx == 1){ $scope.loadFx = 0; } else { $scope.loadFx = 1; }; },500); $http( { method: 'POST', url: fn.url, data: fn.data, } ) .then( function successCallback(result){ var d = result.data; console.log(d); $scope.loading = 0; $interval.cancel($scope.loader); if(typeof fn.success == 'function'){ fn.success(d); }; }, function errorCallback(result){ var d = result.data; console.log(result); $scope.loading = 0; $interval.cancel($scope.loader); if(typeof fn.error == 'function'){ fn.error(d); }; } ); }; $scope.syspost = function(fn){ $http( { method: 'POST', url: fn.url, data: fn.data, } ) .then( function successCallback(result){ var d = result.data; console.log(d); $interval.cancel($scope.loader); if(typeof fn.success == 'function'){ fn.success(d); }; }, function errorCallback(result){ var d = result.data; console.log(result); $interval.cancel($scope.loader); if(typeof fn.error == 'function'){ fn.error(d); }; } ); }; $scope.docs = []; $scope.searchDocs = []; $scope.relationships = []; $scope.revenue = {}; $scope.inconsistencies = {}; $scope.processes = {}; $scope.process = {}; $scope.filesNotReceived = []; $scope.eventsMap = {}; $scope.imgUrl = function(img){ return '/site/download.php?o='+btoa(JSON.stringify({file:img,name:img})); }; $scope.loadStart = function(){ $scope.loading = 1; if($scope.loader){ $interval.cancel($scope.loader); }; $scope.loadFx = 0; $scope.loader = $interval(function(){ if($scope.loadFx == 1){ $scope.loadFx = 0; } else { $scope.loadFx = 1; }; },500); }; $scope.loadStop = function(){ $scope.loading = 0; $interval.cancel($scope.loader); }; teste = $scope; } } }); portal.controller('PageCtrl', function($scope,$routeParams,$location) { $scope.url = $routeParams; this.log = function(){ console.log($scope) }; this.get = function(){ $scope.files = []; var data = $routeParams; data.user = $scope.user.id; data.controls = $scope.controls; $scope.post({ url: '/portal/response.php?company='+$scope.company.id+'&get=page&errors=1', data: data, success: function(d){ var success = 0; if(typeof d != 'undefined'){ if(d.r == 1){ if(d.folder){ if(d.folder.data){ $scope.company.id = d.folder.data.company_id; $scope.company.name = d.folder.data.company_name; $scope.company.logo = d.folder.data.logo; }; if(d.folder.files){ $scope.files = d.folder.files; success = 1; delete $scope.error; }; }; }; }; if(success != 1){ //$location.path('/'); $scope.error = 1; }; } }); }; console.log( 'dados', $scope.user.id, $routeParams.login, $routeParams.page, $routeParams.item ); if( ( !$scope.user.id && !$routeParams.login && !$routeParams.page && !$routeParams.item ) || ( !$scope.user.id && $routeParams.login != 'login' && ( $routeParams.page != 'protocols' && $routeParams.item ) && ( $scope.url.page != 'inconsistencies' && $routeParams.item ) ) ){ $location.path('/login'); } else if(!$routeParams.page) { $location.path('/folder/all'); } else { if($scope.docs.length == 0){ $scope.post({ url: '/portal/response.php?company='+$scope.company.id+'&get=docs', data: $scope.data, success: function(d){ if(typeof d != 'undefined'){ if(d.r == 1){ $scope.docs = d.d; }; }; } }); }; this.get(); }; }); portal.controller('revenueCtrl', function($scope,$routeParams,$location,$interval,$timeout) { $scope.url = {page:'revenue'}; this.log = function(){ console.log($scope) }; this.get = function(){ $scope.revenue = {}; var data = $routeParams; data.user = $scope.user.id; data.controls = $scope.revenuesControls; $scope.post({ url: '/portal/response.php?company='+$scope.company.id+'&get=revenue&errors=1', data: data, success: function(d){ if(typeof d != 'undefined'){ if(d.r == 1){ if(d.list){ $scope.revenue = d; }; if(d.controls){ $scope.revenuesControls = d.controls; }; }; }; } }); }; this.send = function(){ $scope.post({ url: '/portal/response.php?company='+$scope.company.id+'&get=userEmails', success: function(d){ if(typeof d != 'undefined'){ if(d.r == 1){ var emails = prompt('Digite os e-mails, separando por vírgula',d.d); if(emails){ var data = $routeParams; data.user = $scope.user.id; data.emails = emails; data.controls = $scope.revenuesControls; $scope.post({ url: '/portal/response.php?company='+$scope.company.id+'&get=sendRevenue', data: data, success: function(d){ if(typeof d != 'undefined'){ if(d.r == 1){ alert('Enviado com sucesso!'); return true; } else if(d.r == 'error'){ var msg = 'Ops! Alguma coisa saiu errado aqui. Tenta de novo!'; if(d.msg){ msg = d.msg; }; alert(msg); return false; }; }; alert('Ops! Alguma coisa saiu errado aqui. Tenta de novo!'); } }); }; return true; }; }; alert('Ops! Alguma coisa saiu errado aqui. Tenta de novo!'); } }); }; this.oldDsend = function(){ $scope.post({ url: '/portal/response.php?company='+$scope.company.id+'&get=userEmails', success: function(d){ if(typeof d != 'undefined'){ if(d.r == 1){ var emails = prompt('Digite os e-mails, separando por vírgula',d.d); if(emails){ $scope.loadStart(); var doc = document.querySelector('[revenue]'); doc.style.backgroundColor = 'white'; doc.parentElement.style.position = 'relative'; doc.parentElement.style.width = '210mm'; doc.parentElement.style.height = 'auto'; doc.parentElement.style.overflowY = 'hidden'; doc.parentElement.style.overflowX = 'hidden'; $timeout(function(){ //window.scrollTo(0,doc.offsetHeight + 230 - window.outerHeight); //doc.parentElement.scrollTo(0,doc.offsetHeight); html2canvas(doc, { height: doc.offsetHeight, taintTest: false, onrendered: function(canvas) { delete doc.parentElement.setAttribute('style',''); $scope.loadStop(); var data = { file: canvas.toDataURL("image/jpeg"), name: $scope.revenue.file_title, title: $scope.revenue.mail_title, url: window.location.href, emails: emails }; $scope.post({ url: '/portal/response.php?company='+$scope.company.id+'&get=sendRevenue', data: data, success: function(d){ if(typeof d != 'undefined'){ if(d.r == 1){ alert('Enviado com sucesso!'); return true; } else if(d.r == 'error'){ var msg = 'Ops! Alguma coisa saiu errado aqui. Tenta de novo!'; if(d.msg){ msg = d.msg; }; alert(msg); return false; }; }; alert('Ops! Alguma coisa saiu errado aqui. Tenta de novo!'); } }); } }); },100); }; return true; }; }; alert('Ops! Alguma coisa saiu errado aqui. Tenta de novo!'); } }); }; this.total = function(v1,v2){ if(isNaN(v1)){ v1 = 0; }; if(isNaN(v2)){ v2 = 0; }; return (parseFloat(v1)+parseFloat(v2)).toFixed(2); }; console.log( 'dados', $scope.user.id, $routeParams.login, $routeParams.page, $routeParams.item ); if( ( !$scope.user.id && !$routeParams.login && !$routeParams.page && !$routeParams.item ) || ( !$scope.user.id && $routeParams.login != 'login' && ( $routeParams.page != 'protocols' && $routeParams.item ) && ( $scope.url.page != 'inconsistencies' && $routeParams.item ) ) ){ $location.path('/login'); } else { if($scope.relationships.length == 0){ $scope.post({ url: '/portal/response.php?company='+$scope.company.id+'&get=relationships', success: function(d){ if(typeof d != 'undefined'){ if(d.r == 1){ $scope.relationships = d.d; }; }; } }); }; this.get(); }; }); portal.controller('eventsMapCtrl', function($scope,$routeParams,$location,$interval,$timeout) { $scope.url = {page:'eventsMap'}; console.log($scope.eventsMap); this.getEventDescription = function(code){ if($scope.eventsMap){ if($scope.eventsMap.events){ if($scope.eventsMap.events.length){ for(var i=0;i<$scope.eventsMap.events.length;i++){ if($scope.eventsMap.events[i].code){ if($scope.eventsMap.events[i].code == code){ console.log($scope.eventsMap); return $scope.eventsMap.events[i].description; }; }; }; }; }; }; return ''; }; var getEventDescription = this.getEventDescription; this.getRelationshipName = function(id){ if($scope.relationships){ if($scope.relationships.length){ for(var i=0;i<$scope.relationships.length;i++){ if($scope.relationships[i].id){ if($scope.relationships[i].id == id){ return $scope.relationships[i].name; }; }; }; }; }; return ''; }; var getRelationshipName = this.getRelationshipName; this.send = function(){ var data = [['CPF','Nome','Evento','Historico','Valor','Referencia','Observacao']]; if( typeof $scope.eventsMap.list == 'object' && $scope.eventsMapControls.relationship ){ if($scope.eventsMap.list[$scope.eventsMapControls.relationship]){ if($scope.eventsMap.list[$scope.eventsMapControls.relationship].employees){ if($scope.eventsMap.list[$scope.eventsMapControls.relationship].employees.length){ if($scope.eventsMap.list[$scope.eventsMapControls.relationship].employees.length > 0){ var employees = $scope.eventsMap.list[$scope.eventsMapControls.relationship].employees; for(var i=0;i