'use strict'; app.controller('reportanalysisCtrl', ["$scope", "$rootScope", "$state", "$timeout", "$interval", "$http", "$cookieStore", "moment", "SweetAlert", "Restangular", "api_hkreport", "api_user_data", "api_category", function($scope, $rootScope, $state, $timeout, $interval, $http, $cookieStore, moment, SweetAlert, Restangular, api_hkreport, api_user_data,api_category) { var ROWS = "ROWS"; var COLUMNS = "COLUMNS"; $scope.treeshow = true; $scope.searchstate = ""; $scope.headers = "请选择事件树形列表!"; var workspace = {}; $scope.parameters = {}; $scope.starttimes = {}; $scope.endtimes = {}; $scope.category = {}; $scope.reportName = "报表"; $scope.allheight = 100; $scope.isMaskground = false; $scope.yeardata = "year"; $scope.quikly = [{ name: '自定义', value: 0 }, { name: '近3年', value: 1 }, { name: '近5年', value: 2 }, { name: '近10年', value: 3 }, { name: '近20年', value: 4 }]; function startdata() { $scope.searchkeys = { 'area': {}, 'quikly': { name: '近5年', value: 2 } }; $scope.starttimes = moment((new Date()).setFullYear((new Date()).getFullYear() - 4)).format("YYYY-MM-DD"); $scope.endtimes = moment(new Date().getTime() - 86400000).format('YYYYMMDD'); $scope.parameters.paramDateFrom = moment($scope.starttimes, "YYYYMMDD").format("YYYY-MM-DD"); $scope.parameters.paramDateTo = moment($scope.endtimes, "YYYYMMDD").format("YYYY-MM-DD"); } startdata(); $scope.changeForm = function(paramDateFrom) { $scope.searchkeys.quikly = { name: '自定义', value: 0 }; $scope.starttimes = moment(paramDateFrom).format('YYYY-MM--DD'); } $scope.changeTo = function(paramDateTo) { $scope.searchkeys.quikly = { name: '自定义', value: 0 }; $scope.endtimes = moment(paramDateTo).format('YYYY-MM-DD'); } $scope.open = function($event) { $event.preventDefault(); $event.stopPropagation(); $scope.opened = !$scope.opened; }; $scope.endOpen = function($event) { $event.preventDefault(); $event.stopPropagation(); $scope.startOpened = false; $scope.endOpened = !$scope.endOpened; }; $scope.startOpen = function($event) { $event.preventDefault(); $event.stopPropagation(); $scope.endOpened = false; $scope.startOpened = !$scope.startOpened; }; function ConvertDateParameter(parameters) { var result = undefined; if (angular.isArray(parameters)) { // } else { result = {}; for (var k in parameters) { if (k.indexOf("Date") > 0) { if (angular.isDate(parameters[k])) { result[k] = moment(parameters[k]).format("YYYY-MM-DD"); } else if (angular.isString(parameters[k])) { result[k] = parameters[k]; } } } } return result; } // 重置 $scope.restData = function() { startdata(); if($rootScope.user.duty){ $scope.searchkeys.branch = {id: $rootScope.user.duty.branch, hosName: $rootScope.user.duty.branchName}; $scope.getOwnDuty($rootScope.user.duty.branch, true); $scope.getAreas($scope.searchkeys.branch.id); }else if($rootScope.user.branch){ $scope.searchkeys.branch = $rootScope.user.branch; $scope.getOwnDuty($rootScope.user.branch.id, true); $scope.getAreas($scope.searchkeys.branch.id); $scope.mdxquery($scope.searchkeys); } } $scope.mdxquery = function(key) { var changedate = ConvertDateParameter($scope.parameters) var fildata = { "start": moment(changedate.paramDateFrom).format("YYYY"), "end": moment(changedate.paramDateTo).format("YYYY"), "areaId": key.area ? key.area.id : undefined } getdata(fildata) } $scope.onChangetime = function(key) { if (key.value == 1) { $scope.starttimes = moment((new Date(moment().startOf('year'))).setFullYear((new Date()).getFullYear() - 2)).format('YYYY-MM-DD'); $scope.endtimes = moment().format('YYYY-MM-DD');; $scope.parameters.paramDateFrom = $scope.starttimes; $scope.parameters.paramDateTo = $scope.endtimes; } else if (key.value == 2) { $scope.starttimes = moment((new Date(moment().startOf('year'))).setFullYear((new Date()).getFullYear() - 4)).format('YYYY-MM-DD'); $scope.endtimes = moment().format('YYYY-MM-DD');; $scope.parameters.paramDateFrom = $scope.starttimes; $scope.parameters.paramDateTo = $scope.endtimes; } else if (key.value == 3) { $scope.starttimes = moment((new Date(moment().startOf('year'))).setFullYear((new Date()).getFullYear() - 9)).format('YYYY-MM-DD'); $scope.endtimes = moment().format('YYYY-MM-DD');; $scope.parameters.paramDateFrom = $scope.starttimes; $scope.parameters.paramDateTo = $scope.endtimes; } else if (key.value == 4) { $scope.starttimes = moment((new Date(moment().startOf('year'))).setFullYear((new Date()).getFullYear() - 19)).format('YYYY-MM-DD'); $scope.endtimes = moment().format('YYYY-MM-DD');; $scope.parameters.paramDateFrom = $scope.starttimes; $scope.parameters.paramDateTo = $scope.endtimes; } } $scope.execute = function() { api_report.list($scope.token).then(function(response) { $scope.select_treedata = $scope.my_data = response; }); } $scope.searchOptions = function() { if (angular.isDefined(workspace.query)) { var queryParameters = workspace.query.parameters; for (var parm in queryParameters) { if (parm == 'Week') { } else { } } } } // 切换院区 $scope.changeBranch = function(){ console.log($scope.searchkeys.branch); $scope.dutys = []; $scope.searchkeys.duty = null; $scope.searchkeys.branch && $scope.getOwnDuty($scope.searchkeys.branch.id); $scope.outarea = []; $scope.searchkeys.area = null; $scope.searchkeys.branch && $scope.getAreas($scope.searchkeys.branch.id); } // 切换责任科室 $scope.changeDuty = function(){ console.log($scope.searchkeys.duty); } // 获取院区 $scope.branchs = []; $scope.getOwnBranch = function(){ api_category .getOwnBranch({}) .then(function (response) { if (response) { if ((response.status = 200)) { $scope.branchs = response.data; if($rootScope.user.duty){ $scope.searchkeys.branch = {id: $rootScope.user.duty.branch, hosName: $rootScope.user.duty.branchName}; $scope.getOwnDuty($rootScope.user.duty.branch, true); $scope.getAreas($scope.searchkeys.branch.id); }else if($rootScope.user.branch){ $scope.searchkeys.branch = $rootScope.user.branch; $scope.getOwnDuty($rootScope.user.branch.id, true); $scope.getAreas($scope.searchkeys.branch.id); $scope.mdxquery($scope.searchkeys); } } } }); } $scope.getOwnBranch(); // 获取责任科室 $scope.dutys = []; $scope.getOwnDuty = function(branchId, isFirst = false){ api_category .getOwnDuty({branchId: branchId}) .then(function (response) { if (response) { if ((response.status = 200)) { $scope.dutys = response.data; if(isFirst && $rootScope.user.duty){ $scope.searchkeys.duty = $rootScope.user.duty; $scope.mdxquery($scope.searchkeys); } } } }); } //获取区域 $scope.outarea = []; $scope.getAreas = function(branchId){ api_user_data.fetchDataList('area', { "idx": 0, "sum": 1000, area: {branch: branchId} }).then(function(response) { if (response) { if (response.status = 200) { $scope.outarea = response.list; } } }) } // $scope.getAreas(); //数据 var titledata = []; var datas = [ [] ]; var serieslist = []; var colorlist = ['#005395', '#49a9ee', '#ffcd62', '#87c966', '#1ea58f']; var datetime = []; $scope.headerslist = []; $scope.listsum = []; $scope.rRows = []; //事件数量统计分析 var domanalysis = document.getElementById("analysis"); var myChartanalysis = echarts.init(domanalysis); var app = {}; var optionanalysis = null; app.title = '事件数量统计分析'; var XData = []; var yData = []; myChartanalysis.showLoading({ text: '数据加载中...', color: '#c23531', textColor: '#fff', maskColor: 'rgba(255,255,255,0)', zlevel: 0 }); myChartanalysis.hideLoading(); app.title = '堆叠条形图'; optionanalysis = { tooltip: { trigger: 'axis', axisPointer: { // 坐标轴指示器,坐标轴触发有效 type: 'shadow' // 默认为直线,可选为:'line' | 'shadow' }, formatter: function(datas) { var allsum = 0; angular.forEach(datas, function(item) { allsum += item.data; }) var res = ''; for (var i = 0; i < datas.length; i++) { res += "