123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- 'use strict';
- app.controller('workingStatisticsCtrl', ["$scope", "$rootScope", "$state", "$stateParams", "$timeout", "$interval", "$http", "$cookieStore", "SweetAlert", "Restangular", "api_report", "api_statistic", "moment", 'api_user_data', 'api_login', 'api_bpm', function ($scope, $rootScope, $state, $stateParams, $timeout, $interval, $http, $cookieStore, SweetAlert, Restangular, api_report, api_statistic, moment, api_user_data, api_login, api_bpm) {
- console.info($stateParams);
- $scope.stateParams = {
- startTime: $stateParams.startTime ? moment(+$stateParams.startTime).format('YYYY-MM-DD') : '',
- endTime: $stateParams.endTime ? moment(+$stateParams.endTime).format('YYYY-MM-DD') : '',
- };
- // 根据路由参数重置
- $scope.paramsReset = function(){
- $scope.searchstate = 'none';
- $scope.starttimesModel = $scope.stateParams.startTime ? $scope.stateParams.startTime : '';
- $scope.endtimesModel = $scope.stateParams.endTime ? $scope.stateParams.endTime : '';
- }
- //日期选择
- $scope.nowtimes = moment().format('YYYY-MM-DD')//当前日期;
- //上周
- $scope.week = function () {
- $scope.searchstate = "week";
- var weeks = new Date().getDay();
- $scope.starttimesModel = moment(new Date().getTime() - 86400000 * (weeks + 6)).format('YYYY-MM-DD');
- $scope.endtimesModel = moment(new Date().getTime() - 86400000 * (weeks)).format('YYYY-MM-DD');
- }
- //上月
- $scope.month = function () {
- $scope.searchstate = "month";
- $scope.starttimesModel = moment().startOf('month').add(-1, 'M').format('YYYY-MM-DD');
- $scope.endtimesModel = moment().endOf('month').add(-1, 'M').format('YYYY-MM-DD');
- }
- //去年
- $scope.year = function () {
- $scope.searchstate = "year";
- $scope.starttimesModel = moment().startOf('year').add(-1, 'y').format('YYYY-MM-DD');
- $scope.endtimesModel = moment().endOf('year').add(-1, 'y').format('YYYY-MM-DD');
- }
- // 今天
- $scope.today = function () {
- $scope.searchstate = "today";
- $scope.starttimesModel = moment().format('YYYY-MM-DD');
- $scope.endtimesModel = moment().format('YYYY-MM-DD');
- }
- //近N日
- $scope.day = function (num) {
- num = num > 1 ? num : 1;
- $scope.searchstate = "none";
- $scope.starttimesModel = moment().subtract(num, "days").format("YYYY-MM-DD");
- $scope.endtimesModel = moment().subtract(1, "days").format("YYYY-MM-DD");
- }
-
- //选择上一周,上个月,去年
- $scope.chooseDate = function (date) {
- switch (date) {
- case 'week':
- $scope.week();
- break;
- case 'month':
- $scope.month();
- break;
- case 'year':
- $scope.year();
- break;
- case 'today':
- $scope.today();
- break;
- }
- };
- /**
- *日历
- */
- //打开开始日期选择框
- $scope.startOpen = function ($event) {
- $event.preventDefault();
- $event.stopPropagation();
- $scope.endOpened = false;
- $scope.startOpened = !$scope.startOpened;
- };
- //打开结束日期选择框
- $scope.endOpen = function ($event) {
- $event.preventDefault();
- $event.stopPropagation();
- $scope.startOpened = false;
- $scope.endOpened = !$scope.endOpened;
- };
- //重置
- $scope.reload = function (isReload) {
- //点击重置时传true,切换tab传false
- if (isReload) {
- $scope.week();
- }
- $scope.searchstate = 'none';
- $scope.sortActive = 'totaltop';
- $scope.name = 'total';//表格排序,字段名称
- $scope.type = 'desc';//表格排序,排序方式desc,asc
- $scope.direction = 'top';//箭头方向 top,bottom
- $scope.mdxquery();
- };
- $scope.isArrays = function (arr) {
- return Array.isArray(arr);
- };
- //综合统计
- $scope.zhtj_list = null;//表格列表
- /**
- * 查询
- */
- $scope.mdxquery = function () {
- $scope.zhtj_list = null;
- // 请求列表
- api_login.onlineCount({
- "type": 'count',
- "startTime": $scope.starttimesModel ? moment($scope.starttimesModel).format('YYYY-MM-DD') + ' 00:00:00' : undefined,
- "endTime": $scope.endtimesModel ? moment($scope.endtimesModel).format('YYYY-MM-DD') + ' 23:59:59' : undefined,
- }).then(function (res) {
- if (res.status == 200) {
- $scope.zhtj_list = res.data || [];//表格列表
- }
- })
- };
- // 详情
- $scope.goToDetail = function(rowData, msg, msgType){
- let startTime = $scope.starttimesModel ? moment($scope.starttimesModel).valueOf() : '';
- let endTime = $scope.endtimesModel ? moment($scope.endtimesModel).valueOf() : '';
- $state.go('app.working.statisticsDetail', {userId: rowData[0], userName: rowData[1], startTime, endTime, msg, msgType });
- }
- //默认
- $stateParams.startTime ? $scope.paramsReset() : $scope.week();
- //初始化
- $scope.mdxquery();
- }])
|