insuranceOrder.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. app.controller('insuranceOrderCtrl', ['$scope', '$filter', '$http', '$stateParams', '$timeout', 'uiGridConstants', 'i18nService', 'toaster', function ($scope, $filter, $http, $stateParams, $timeout, 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. $scope.gridOptions = {
  11. data: 'myData',
  12. showGridFooter: true, //是否显示grid footer
  13. // rowHeight: 80,
  14. //-------- 分页属性 ----------------
  15. paginationPageSizes: [10, 20, 50, 100], //每页显示个数可选项
  16. paginationCurrentPage: 1, //当前页码
  17. paginationPageSize: 10, //每页显示个数
  18. totalItems: 0,// 总数量
  19. useExternalPagination: true,//是否使用分页按钮
  20. //过滤
  21. // enableFiltering: true,
  22. columnDefs: [],
  23. //---------------api---------------------
  24. onRegisterApi: function (gridApi) {
  25. $scope.gridApi = gridApi;
  26. gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) {
  27. if ($scope.setPagingData) {
  28. $scope.getPagedDataAsync(newPage, pageSize, true);//翻页是强制刷新
  29. }
  30. });
  31. }
  32. };
  33. //查询条件
  34. var condition = $scope.condition = {
  35. searchKey: '',
  36. };
  37. //查询条件
  38. $scope.query = {
  39. startTime: moment().format("YYYY-MM-DD"),
  40. endTime: moment().format("YYYY-MM-DD"),
  41. };
  42. //事件
  43. $scope.event = {
  44. search: function () {
  45. $scope.getPagedDataAsync(1, $scope.gridOptions.paginationPageSize);
  46. },
  47. };
  48. function setColumnDefs() {
  49. $scope.gridOptions.columnDefs = [
  50. {
  51. field: 'openId',
  52. displayName: '用户openId',
  53. },
  54. {
  55. field: 'price',
  56. displayName: '保单金额',
  57. },
  58. {
  59. field: 'dealerName',
  60. displayName: '经销商',
  61. },
  62. {
  63. field: 'userNickname',
  64. displayName: '用户昵称',
  65. },
  66. {
  67. field: 'devNo',
  68. displayName: '设备IMEI',
  69. },
  70. {
  71. field: 'logicalCode',
  72. displayName: '设备逻辑号',
  73. },
  74. {
  75. field: 'groupName',
  76. displayName: '地址分组名',
  77. },
  78. {
  79. field: 'startTime',
  80. displayName: '有效起始时间',
  81. },
  82. {
  83. field: 'endTime',
  84. displayName: '有效终止时间',
  85. },
  86. {
  87. field: 'dateTimeAdded',
  88. displayName: '投保时间',
  89. },
  90. {
  91. field: "via",
  92. displayName: "订单类型"
  93. },
  94. {
  95. field: "refunded",
  96. displayName: "是否退款"
  97. },
  98. {
  99. field: 'operation',
  100. displayName: '操作',
  101. enableFiltering: false,
  102. enableSorting: false,
  103. enableHiding: false,//禁止在列选择器中隐藏
  104. enableColumnMenu: false,// 是否显示列头部菜单按钮
  105. minWidth: 100,
  106. cellTemplate: '<div class="grid-button">' +
  107. '<button class="btn btn-sm btn-rounded btn-danger" ng-click="grid.appScope.refund(row.entity)">退款</button>' +
  108. '</div>'
  109. },
  110. ];
  111. var fields = $scope.gridOptions.columnDefs;
  112. for (var index in fields) {
  113. var item = fields[index];
  114. if (item && item['minWidth'] == null) {
  115. item['minWidth'] = 100;
  116. }
  117. }
  118. }
  119. $scope.setPagingData = function (data) {
  120. var pagedData = data.data.dataList;
  121. $scope.myData = pagedData;
  122. $scope.gridOptions.totalItems = data.data.total;
  123. };
  124. $scope.getPagedDataAsync = function (curPage, pageSize,) {
  125. if ($scope.gridOptionsLoading) {
  126. return;
  127. }
  128. var params = {
  129. pageSize: pageSize,
  130. pageIndex: curPage,
  131. };
  132. params.outTradeNo = condition.searchKey
  133. $scope.gridOptionsLoading = true;
  134. $http.get('/superadmin/getInsuranceOrder', {
  135. params: params
  136. }).then(function (data) {
  137. data = data.data
  138. $scope.gridOptionsLoading = false;
  139. $scope.setPagingData(data, curPage, pageSize);
  140. }).catch(function (data) {
  141. toaster.pop("error", "提示", "获取数据列表失败");
  142. });
  143. };
  144. function initDataGrid() {
  145. //首次加载表格
  146. $scope.getPagedDataAsync($scope.gridOptions.paginationCurrentPage, $scope.gridOptions.paginationPageSize);
  147. }
  148. setColumnDefs();
  149. initDataGrid();
  150. $scope.refund = function (entity) {
  151. var url = "/superadmin/refundInsuranceOrder";
  152. $.confirm({
  153. content: '确定退款处理?',
  154. buttons: {
  155. ok: {
  156. btnClass: 'btn-red',
  157. action: function () {
  158. $http({
  159. method: 'POST',
  160. url: url,
  161. data: {
  162. id: entity.id,
  163. }
  164. }).then(function (response) {
  165. if (response.data.result) {
  166. toaster.pop("success", "提示", "提交成功!");
  167. } else {
  168. toaster.pop("error", "提示", "提交失败!");
  169. }
  170. $scope.getPagedDataAsync($scope.gridOptions.paginationCurrentPage, $scope.gridOptions.paginationPageSize);
  171. }, function () {
  172. toaster.pop("error", "提示", "提交失败!");
  173. });
  174. }
  175. },
  176. }
  177. });
  178. };
  179. }]);