workingStatisticsDetailCtrl.js 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. 'use strict';
  2. app.controller('workingStatisticsDetailCtrl', ["$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) {
  3. console.info($stateParams);
  4. $scope.stateParams = {
  5. userId: +$stateParams.userId,
  6. userName: $stateParams.userName,
  7. startTime: $stateParams.startTime ? moment(+$stateParams.startTime).format('YYYY-MM-DD') : '',
  8. endTime: $stateParams.endTime ? moment(+$stateParams.endTime).format('YYYY-MM-DD') : '',
  9. msg: $stateParams.msg,
  10. msgType: $stateParams.msgType,
  11. };
  12. // 根据路由参数重置
  13. $scope.paramsReset = function(){
  14. $scope.searchstate = 'none';
  15. $scope.starttimesModel = $scope.stateParams.startTime ? $scope.stateParams.startTime : '';
  16. $scope.endtimesModel = $scope.stateParams.endTime ? $scope.stateParams.endTime : '';
  17. }
  18. // 返回上一页
  19. $scope.goBack = function(){
  20. let startTime = $scope.starttimesModel ? moment($scope.starttimesModel).valueOf() : '';
  21. let endTime = $scope.endtimesModel ? moment($scope.endtimesModel).valueOf() : '';
  22. $state.go('app.working.statistics', {startTime, endTime });
  23. }
  24. //日期选择
  25. $scope.nowtimes = moment().format('YYYY-MM-DD')//当前日期;
  26. //上周
  27. $scope.week = function () {
  28. $scope.searchstate = "week";
  29. var weeks = new Date().getDay();
  30. $scope.starttimesModel = moment(new Date().getTime() - 86400000 * (weeks + 6)).format('YYYY-MM-DD');
  31. $scope.endtimesModel = moment(new Date().getTime() - 86400000 * (weeks)).format('YYYY-MM-DD');
  32. }
  33. //上月
  34. $scope.month = function () {
  35. $scope.searchstate = "month";
  36. $scope.starttimesModel = moment().startOf('month').add(-1, 'M').format('YYYY-MM-DD');
  37. $scope.endtimesModel = moment().endOf('month').add(-1, 'M').format('YYYY-MM-DD');
  38. }
  39. //去年
  40. $scope.year = function () {
  41. $scope.searchstate = "year";
  42. $scope.starttimesModel = moment().startOf('year').add(-1, 'y').format('YYYY-MM-DD');
  43. $scope.endtimesModel = moment().endOf('year').add(-1, 'y').format('YYYY-MM-DD');
  44. }
  45. // 今天
  46. $scope.today = function () {
  47. $scope.searchstate = "today";
  48. $scope.starttimesModel = moment().format('YYYY-MM-DD');
  49. $scope.endtimesModel = moment().format('YYYY-MM-DD');
  50. }
  51. //近N日
  52. $scope.day = function (num) {
  53. num = num > 1 ? num : 1;
  54. $scope.searchstate = "none";
  55. $scope.starttimesModel = moment().subtract(num, "days").format("YYYY-MM-DD");
  56. $scope.endtimesModel = moment().subtract(1, "days").format("YYYY-MM-DD");
  57. }
  58. //选择上一周,上个月,去年
  59. $scope.chooseDate = function (date) {
  60. switch (date) {
  61. case 'week':
  62. $scope.week();
  63. break;
  64. case 'month':
  65. $scope.month();
  66. break;
  67. case 'year':
  68. $scope.year();
  69. break;
  70. case 'today':
  71. $scope.today();
  72. break;
  73. }
  74. };
  75. /**
  76. *日历
  77. */
  78. //打开开始日期选择框
  79. $scope.startOpen = function ($event) {
  80. $event.preventDefault();
  81. $event.stopPropagation();
  82. $scope.endOpened = false;
  83. $scope.startOpened = !$scope.startOpened;
  84. };
  85. //打开结束日期选择框
  86. $scope.endOpen = function ($event) {
  87. $event.preventDefault();
  88. $event.stopPropagation();
  89. $scope.startOpened = false;
  90. $scope.endOpened = !$scope.endOpened;
  91. };
  92. //重置
  93. $scope.reload = function (isReload) {
  94. //点击重置时传true,切换tab传false
  95. if (isReload) {
  96. $scope.paramsReset();
  97. }
  98. $scope.searchstate = 'none';
  99. $scope.sortActive = 'totaltop';
  100. $scope.name = 'total';//表格排序,字段名称
  101. $scope.type = 'desc';//表格排序,排序方式desc,asc
  102. $scope.direction = 'top';//箭头方向 top,bottom
  103. $scope.mdxquery();
  104. };
  105. $scope.isArrays = function (arr) {
  106. return Array.isArray(arr);
  107. };
  108. //综合统计
  109. $scope.zhtj_list = null;//表格列表
  110. /**
  111. * 查询
  112. */
  113. $scope.mdxquery = function () {
  114. $scope.zhtj_list = null;
  115. // 请求列表
  116. api_login.onlineCount({
  117. "type": 'info',
  118. "userId": $scope.stateParams.userId,
  119. "infoType": $scope.stateParams.msgType,
  120. "startTime": $scope.starttimesModel ? moment($scope.starttimesModel).format('YYYY-MM-DD') + ' 00:00:00' : undefined,
  121. "endTime": $scope.endtimesModel ? moment($scope.endtimesModel).format('YYYY-MM-DD') + ' 23:59:59' : undefined,
  122. }).then(function (res) {
  123. if (res.status == 200) {
  124. $scope.zhtj_list = res.data || [];//表格列表
  125. }
  126. })
  127. };
  128. //默认
  129. $scope.paramsReset();
  130. //初始化
  131. $scope.mdxquery();
  132. }])