settlementWithdraw.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. app.controller('settlementWithdrawCtrl', ['$scope', '$http', '$timeout', '$state', '$interval', 'uiGridConstants', 'i18nService', 'toaster', function ($scope, $http, $timeout, $state, $interval, uiGridConstants, i18nService, toaster) {
  2. i18nService.setCurrentLang("zh-cn");
  3. moment.locale('zh-cn');
  4. $scope.startTimeOpen = false;
  5. $scope.endTimeOpen = false;
  6. $scope.timeChange = function (newDate, oldDate) {
  7. $scope.startTimeOpen = false;
  8. $scope.endTimeOpen = false;
  9. };
  10. //查询条件
  11. $scope.query = {
  12. startTime: moment().format("YYYY-MM-DD"),
  13. endTime: moment().format("YYYY-MM-DD"),
  14. };
  15. // angular 事件绑定
  16. $scope.ngEvent = {
  17. quickTime: function (event, passDay) {
  18. $scope.query.startTime = moment().add(-(passDay - 1), "day").format("YYYY-MM-DD");
  19. $scope.query.endTime = moment().format("YYYY-MM-DD");
  20. },
  21. //查询
  22. query: function () {
  23. if ($scope.query.startTime > $scope.query.endTime) {
  24. toaster.pop("info", "提示", "开始时间必须小于结束时间!");
  25. return;
  26. }
  27. $scope.getPagedDataAsync(1, $scope.gridOptions.paginationPageSize);
  28. },
  29. exportExcelOpen: false,
  30. //导出
  31. exportExcel: function () {
  32. var params = {
  33. type: "settlementWithdraw",
  34. };
  35. var query = $scope.query;
  36. params.startTime = query.startTime
  37. params.endTime = query.endTime
  38. if ($scope.ngEvent.exportExcelOpen) {
  39. toaster.pop("info", "提示", "有一份报表正在生成,请稍候!");
  40. return;
  41. } else {
  42. $scope.ngEvent.exportExcelOpen = true;
  43. }
  44. $http.get('/manager/exportExcel', {params: params}).then(function (data) {
  45. data = data.data
  46. $scope.ngEvent.exportExcelOpen = false;
  47. if (data.result == 1) {
  48. var payload = data.payload;
  49. toaster.pop("success", data.description);
  50. $state.go('app.tool.offlineTask', {
  51. searchKey: payload
  52. });
  53. }
  54. }).catch(function (data) {
  55. $scope.ngEvent.exportExcelOpen = false;
  56. if (data.status == 504) {
  57. toaster.pop("error", "计算超时,请前往任务->执行离线生成报表");
  58. } else {
  59. toaster.pop("error", "系统错误,请重试");
  60. }
  61. });
  62. }
  63. };
  64. $scope.gridOptions = {
  65. data: 'myData',
  66. showGridFooter: true, //是否显示grid footer
  67. //-------- 分页属性 ----------------
  68. paginationPageSizes: [10, 20, 50, 100], //每页显示个数可选项
  69. paginationCurrentPage: 1, //当前页码
  70. paginationPageSize: 10, //每页显示个数
  71. totalItems: 0,// 总数量
  72. useExternalPagination: true,//是否使用分页按钮
  73. //过滤
  74. enableFiltering: false,
  75. columnDefs: [],
  76. // 菜单
  77. enableGridMenu: true,
  78. //---------------api---------------------
  79. onRegisterApi: function (gridApi) {
  80. $scope.gridApi = gridApi;
  81. gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) {
  82. if ($scope.setPagingData) {
  83. $scope.getPagedDataAsync(newPage, pageSize);
  84. }
  85. });
  86. }
  87. };
  88. function setColumnDefs() {
  89. $scope.gridOptions.columnDefs = [
  90. {field: 'orderNo', displayName: '单号'},
  91. {field: 'dealerName', displayName: '经销商'},
  92. {field: 'dealerTel', displayName: '手机号码'},
  93. {
  94. field: 'withdrawMoney', displayName: '提现金额',
  95. cellTemplate: '<div class="temp-row text-dark-dker text-md" ng-bind="row.entity.withdrawMoney | currency:\'¥\'"></div>'
  96. },
  97. {
  98. field: 'withdrawTime', displayName: '提现日期',
  99. cellTemplate: '<div class="temp-row" ng-bind="row.entity.withdrawTime| date:\'yyyy-MM-dd HH:mm:ss\'"></div>'
  100. },
  101. ];
  102. var fields = $scope.gridOptions.columnDefs;
  103. for (var index in fields) {
  104. var item = fields[index];
  105. if (item && item['minWidth'] == null) {
  106. item['minWidth'] = 100;
  107. }
  108. }
  109. }
  110. $scope.setPagingData = function (data, curPage, pageSize) {
  111. var firstRow = (curPage - 1) * pageSize;
  112. var pagedData = data.data.dataList;
  113. $scope.myData = pagedData;
  114. $scope.gridOptions.totalItems = data.data.total;
  115. };
  116. $scope.getPagedDataAsync = function (curPage, pageSize) {
  117. var params = {
  118. pageSize: pageSize,
  119. pageIndex: curPage
  120. };
  121. var query = $scope.query;
  122. params.startTime = query.startTime
  123. params.endTime = query.endTime
  124. $scope.gridOptionsLoading = true;
  125. $http.get('/manager/getWithdrawSettlementList', {
  126. params: params
  127. }).then(function (data) {
  128. $scope.gridOptionsLoading = false;
  129. $scope.setPagingData(data.data, curPage, pageSize);
  130. }).catch(function (data) {
  131. $scope.gridOptionsLoading = false;
  132. toaster.pop("error", "提示", "获取广告明细失败");
  133. });
  134. };
  135. function initDataGrid() {
  136. //首次加载表格
  137. $scope.getPagedDataAsync($scope.gridOptions.paginationCurrentPage, $scope.gridOptions.paginationPageSize);
  138. }
  139. setColumnDefs();
  140. initDataGrid();
  141. }]);