serverslevelCtrl.js 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. 'use strict';
  2. /**
  3. * controller for User Profile Example
  4. */
  5. app.controller('serverslevelCtrl', ["$rootScope", "$scope", "$state", "$timeout", "$interval", "$modal", "SweetAlert", "i18nService", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_bpm_data", function($rootScope, $scope, $state, $timeout, $interval, $modal, SweetAlert, i18nService, uiGridConstants, uiGridGroupingConstants, Restangular, api_bpm_data) {
  6. $scope.langs = i18nService.getAllLangs();
  7. $scope.lang = 'zh-cn';
  8. i18nService.setCurrentLang($scope.lang);
  9. var loginUser = $rootScope.user;
  10. $scope.gridOptions = {};
  11. $scope.gridOptions.data = 'myData';
  12. $scope.gridOptions.enableColumnResizing = true;
  13. $scope.gridOptions.enableFiltering = true;
  14. $scope.gridOptions.enableGridMenu = false;
  15. $scope.gridOptions.enableRowSelection = true;
  16. $scope.gridOptions.showGridFooter = true;
  17. $scope.gridOptions.showColumnFooter = false;
  18. $scope.gridOptions.fastWatch = true;
  19. $scope.gridOptions.useExternalFiltering = true;
  20. $scope.gridOptions.useExternalPagination = true;
  21. $scope.gridOptions.paginationPageSizes = [10, 20, 50, 100];
  22. $scope.gridOptions.paginationPageSize = 10;
  23. $scope.gridOptions.multiSelect = false;
  24. //$scope.gridOptions.rowTemplate= "<div ng-dblclick=\"grid.appScope.onDblClick(row)\" ng-repeat=\"(colRenderIndex, col) in colContainer.renderedColumns track by col.uid\" ui-grid-one-bind-id-grid=\"rowRenderIndex + '-' + col.uid + '-cell'\" class=\"ui-grid-cell\" ng-class=\"{ 'ui-grid-row-header-cell': col.isRowHeader }\" role=\"{{col.isRowHeader ? 'rowheader' : 'gridcell'}}\" ui-grid-cell></div>";
  25. $scope.gridOptions.rowIdentity = function(row) {
  26. return row.id;
  27. };
  28. $scope.gridOptions.getRowIdentity = function(row) {
  29. return row.id;
  30. };
  31. var priorityname = {};
  32. var names = {};
  33. // $scope.transfer= function(name){
  34. // api_bpm_data.fetchDataList('priority',fildDate).then(function(response){
  35. // priorityname = Restangular.stripRestangular(response).list;
  36. // angular.forEach(priorityname,function(item){
  37. // if(item.level==name){
  38. // names=item.level;
  39. // }
  40. // })
  41. // })
  42. // }
  43. $scope.gridOptions.columnDefs = [{
  44. name: 'item',
  45. displayName: '序号',
  46. width: 50,
  47. enableFiltering: false
  48. },
  49. { name: 'name', displayName: '名称', width: '15%', enableFiltering: false },
  50. { name: 'resolveTime', displayName: '解决时间(分钟)', width: '28%', enableFiltering: false },
  51. { name: 'responseTime', displayName: '响应时间(分钟)', width: '28%', enableFiltering: false },
  52. {
  53. name: '编辑',
  54. cellTemplate: '<div><div class="cl-effect-1 ui-grid-cell-contents pull-left">' +
  55. // <a ng-click="grid.appScope.timedata(row.entity)" tooltip="编辑" tooltip-placement="right">' +
  56. // '<i class="fa fa-pencil-square-o"></i></a>
  57. '<a ng-click="grid.appScope.timedata(row.entity)" class="bianjifont">编辑</a>' +
  58. '</div></div>',
  59. enableFiltering: false
  60. }
  61. ];
  62. $scope.timedata = function(selectdatas) {
  63. var modalInstance = $modal.open({
  64. templateUrl: 'assets/views/system/tpl/serverschange.html',
  65. controller: function($scope, $modalInstance, api_bpm_data) {
  66. $scope.serverdata = selectdatas;
  67. $scope.cancel = function() {
  68. $modalInstance.dismiss('cancel');
  69. };
  70. $scope.changetime = function(servertime) {
  71. var fildata = { "servicelevelagreement": { "id": servertime.id, "resolveTime": servertime.resolveTime, "responseTime": servertime.responseTime, "availabilityDate": "2016-09-01 08:00:00", "terminationDate": "2016-09-28 08:00:00", "name": servertime.name } }
  72. api_bpm_data.updData('servicelevelagreement', fildata).then(function(response) {
  73. if (response) {
  74. if (response.status == 200) {
  75. SweetAlert.swal({
  76. title: "修改成功!",
  77. type: "success"
  78. }, function() {
  79. console.log($scope.serverdata)
  80. })
  81. } else {
  82. SweetAlert.swal({
  83. title: "修改失败!",
  84. type: "error"
  85. })
  86. }
  87. $modalInstance.close();
  88. }
  89. })
  90. }
  91. }
  92. });
  93. }
  94. $scope.addData = function() {
  95. console.log($scope.selected)
  96. var modalInstance = $modal.open({
  97. templateUrl: 'assets/views/system/tpl/systemclose.html',
  98. controller: function($scope, $modalInstance, api_bpm_data) {
  99. $scope.serverdata = selectdatas;
  100. $scope.cancel = function() {
  101. $modalInstance.dismiss('cancel');
  102. };
  103. $scope.changetime = function(servertime) {
  104. var fildata =
  105. api_bpm_data.addData('servicelevelagreement', fildata).then(function(response) {
  106. if (response) {
  107. if (response.status == 200) {
  108. SweetAlert.swal({
  109. title: "新增成功!",
  110. type: "success"
  111. }, function() {
  112. console.log($scope.serverdata)
  113. })
  114. } else {
  115. SweetAlert.swal({
  116. title: "新增失败!",
  117. type: "error"
  118. })
  119. }
  120. $modalInstance.close();
  121. }
  122. })
  123. }
  124. }
  125. });
  126. }
  127. $scope.selected = {
  128. items: []
  129. }
  130. $scope.editted = {
  131. items: []
  132. }
  133. $scope.gridOptions.onRegisterApi = function(gridApi) {
  134. $scope.gridApi = gridApi;
  135. // gridApi.edit.on.afterCellEdit($scope,function(rowEntity, colDef, newValue, oldValue){
  136. // console.log(rowEntity);
  137. // });
  138. gridApi.pagination.on.paginationChanged($scope, function(newPage, pageSize) {
  139. var filtersData = $scope.memoryfilterData;
  140. filtersData.idx = newPage - 1;
  141. filtersData.sum = pageSize;
  142. defaultFilterData = filtersData;
  143. $scope.refreshData('expand-right', filtersData);
  144. });
  145. gridApi.selection.on.rowSelectionChanged($scope, function(scope) {});
  146. };
  147. var defaultFilterData = {
  148. "idx": 0,
  149. "sum": 10
  150. };
  151. $scope.memoryfilterData = {
  152. "idx": 0,
  153. "sum": 10
  154. }
  155. $scope.ldloading = {};
  156. $scope.refreshData = function(style, filterData) {
  157. $scope.ldloading[style.replace('-', '_')] = true;
  158. if (angular.isUndefined(filterData)) {
  159. filterData = defaultFilterData;
  160. }
  161. $scope.myData = [];
  162. $scope.selected = { items: [] };
  163. if ($scope.gridApi) {
  164. $scope.gridApi.grid.selection.selectedCount = 0;
  165. }
  166. api_bpm_data.fetchDataList('servicelevelagreement', filterData).then(function(data) {
  167. var myData = Restangular.stripRestangular(data);
  168. $scope.gridOptions.totalItems = myData.totalNum;
  169. $scope.myData = myData.list;
  170. for (var i = 0; i < $scope.myData.length; i++) {
  171. $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
  172. }
  173. $scope.ldloading[style.replace('-', '_')] = false;
  174. }, function() {
  175. $scope.ldloading[style.replace('-', '_')] = false;
  176. });
  177. };
  178. $scope.refreshData('expand-right', defaultFilterData);
  179. }]);