Commit 61ceb6888afbc8096cd45f3674991f63dbfa6635
1 parent
8347ab0d
Exists in
master
redmine #4856 Criando método para visualizar relatório via requisição http post;
Showing
1 changed file
with
31 additions
and
34 deletions
Show diff stats
cit-portal-web/src/main/webapp/assets/js/angular/custom/controller/AppController.js
@@ -756,35 +756,33 @@ citApp.controller('AppController', ['$scope', '$routeParams', '$timeout', '$loca | @@ -756,35 +756,33 @@ citApp.controller('AppController', ['$scope', '$routeParams', '$timeout', '$loca | ||
756 | $scope.setLoadingRelatorio(true); | 756 | $scope.setLoadingRelatorio(true); |
757 | $http.get(url, {responseType:'arraybuffer'}).success(function (response) { | 757 | $http.get(url, {responseType:'arraybuffer'}).success(function (response) { |
758 | 758 | ||
759 | - var file = new Blob([response], {type: 'application/pdf'}); | ||
760 | - var fileURL = URL.createObjectURL(file); | ||
761 | - | ||
762 | - $scope.idRelatorio = ++idRelatorioCount; | ||
763 | - | ||
764 | - $scope.arrayContentReports[$scope.idRelatorio] = angular.copy($sce.trustAsResourceUrl(fileURL)); | ||
765 | - | ||
766 | - obterWorskspaceAtiva(); | ||
767 | - $timeout(function(){ | ||
768 | - $scope.addNewWorkspace(titleTab, "relatorioTab.html", true, $scope.workspaceAtiva ? $scope.workspaceAtiva.classePagina : classePaginaPortal , undefined, undefined, undefined, $scope.idRelatorio); | ||
769 | - | ||
770 | - $timeout(function(){ | 759 | + abrirRelatorio(response, titleTab); |
760 | + }).error(function(data, status){ | ||
761 | + if(status == 412){ | ||
762 | + $scope.showAlert("warning", $translate.instant("PORTAL.MSG.RELATORIO_SEM_DADOS") + " ", false ); | ||
763 | + } else{ | ||
764 | + $scope.showAlert("error", $translate.instant("PORTAL.MSG.ERRO_RELATORIO") + " ", false ); | ||
765 | + } | ||
766 | + $scope.setLoading(false); | ||
771 | 767 | ||
772 | - var relatorios = $scope.workspaces.filter(function(f){ | ||
773 | - return f.idRelatorio === $scope.idRelatorio; | ||
774 | - }); | 768 | + }); |
769 | + }; | ||
770 | + | ||
771 | + $scope.visualizarRelatorioPost = function(url, data, titleTab) { | ||
775 | 772 | ||
776 | - if(relatorios && relatorios.length > 0){ | ||
777 | - $scope.activeWorkspace(relatorios[0]); | ||
778 | - } else{ | ||
779 | - $scope.workspaces.splice($scope.workspaces.length - 1, 1); | ||
780 | - $scope.showAlert("error", $translate.instant("PORTAL.MSG.ERRO_RELATORIO") + " ", false ); | ||
781 | - } | 773 | + $scope.titleReport = titleTab; |
782 | 774 | ||
783 | - $scope.setLoading(false); | ||
784 | - }, 2000); | 775 | + var info = getAcrobatInfo(); |
776 | + if(info.acrobat){ | ||
777 | + data.download = false; | ||
778 | + }else{ | ||
779 | + data.download = true; | ||
780 | + } | ||
785 | 781 | ||
786 | - }); | 782 | + $scope.setLoadingRelatorio(true); |
783 | + $http.post(url, data, {responseType:'arraybuffer'}).success(function (response) { | ||
787 | 784 | ||
785 | + abrirRelatorio(response, titleTab); | ||
788 | }).error(function(data, status){ | 786 | }).error(function(data, status){ |
789 | if(status == 412){ | 787 | if(status == 412){ |
790 | $scope.showAlert("warning", $translate.instant("PORTAL.MSG.RELATORIO_SEM_DADOS") + " ", false ); | 788 | $scope.showAlert("warning", $translate.instant("PORTAL.MSG.RELATORIO_SEM_DADOS") + " ", false ); |
@@ -796,35 +794,34 @@ citApp.controller('AppController', ['$scope', '$routeParams', '$timeout', '$loca | @@ -796,35 +794,34 @@ citApp.controller('AppController', ['$scope', '$routeParams', '$timeout', '$loca | ||
796 | }); | 794 | }); |
797 | }; | 795 | }; |
798 | 796 | ||
799 | - $scope.abrirRelatorio = function(response, titleTab) { | ||
800 | - | 797 | + function abrirRelatorio (response, titleTab) { |
801 | var file = new Blob([response], {type: 'application/pdf'}); | 798 | var file = new Blob([response], {type: 'application/pdf'}); |
802 | var fileURL = URL.createObjectURL(file); | 799 | var fileURL = URL.createObjectURL(file); |
803 | - | 800 | + |
804 | $scope.idRelatorio = ++idRelatorioCount; | 801 | $scope.idRelatorio = ++idRelatorioCount; |
805 | - | 802 | + |
806 | $scope.arrayContentReports[$scope.idRelatorio] = angular.copy($sce.trustAsResourceUrl(fileURL)); | 803 | $scope.arrayContentReports[$scope.idRelatorio] = angular.copy($sce.trustAsResourceUrl(fileURL)); |
807 | - | 804 | + |
808 | obterWorskspaceAtiva(); | 805 | obterWorskspaceAtiva(); |
809 | $timeout(function(){ | 806 | $timeout(function(){ |
810 | $scope.addNewWorkspace(titleTab, "relatorioTab.html", true, $scope.workspaceAtiva ? $scope.workspaceAtiva.classePagina : classePaginaPortal , undefined, undefined, undefined, $scope.idRelatorio); | 807 | $scope.addNewWorkspace(titleTab, "relatorioTab.html", true, $scope.workspaceAtiva ? $scope.workspaceAtiva.classePagina : classePaginaPortal , undefined, undefined, undefined, $scope.idRelatorio); |
811 | - | 808 | + |
812 | $timeout(function(){ | 809 | $timeout(function(){ |
813 | - | 810 | + |
814 | var relatorios = $scope.workspaces.filter(function(f){ | 811 | var relatorios = $scope.workspaces.filter(function(f){ |
815 | return f.idRelatorio === $scope.idRelatorio; | 812 | return f.idRelatorio === $scope.idRelatorio; |
816 | }); | 813 | }); |
817 | - | 814 | + |
818 | if(relatorios && relatorios.length > 0){ | 815 | if(relatorios && relatorios.length > 0){ |
819 | $scope.activeWorkspace(relatorios[0]); | 816 | $scope.activeWorkspace(relatorios[0]); |
820 | } else{ | 817 | } else{ |
821 | $scope.workspaces.splice($scope.workspaces.length - 1, 1); | 818 | $scope.workspaces.splice($scope.workspaces.length - 1, 1); |
822 | $scope.showAlert("error", $translate.instant("PORTAL.MSG.ERRO_RELATORIO") + " ", false ); | 819 | $scope.showAlert("error", $translate.instant("PORTAL.MSG.ERRO_RELATORIO") + " ", false ); |
823 | } | 820 | } |
824 | - | 821 | + |
825 | $scope.setLoading(false); | 822 | $scope.setLoading(false); |
826 | }, 2000); | 823 | }, 2000); |
827 | - | 824 | + |
828 | }); | 825 | }); |
829 | }; | 826 | }; |
830 | 827 |