influenceCtrl.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. app.controller('influenceCtrl', ["$rootScope", "$scope", "$state", "$timeout", "$interval", "SweetAlert", "$modal", "FileUploader", "i18nService", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_bpm_data", function($rootScope, $scope, $state, $timeout, $interval, SweetAlert, $modal, FileUploader, i18nService, uiGridConstants, uiGridGroupingConstants, Restangular, api_bpm_data) {
  2. $scope.langs = i18nService.getAllLangs();
  3. $scope.lang = 'zh-cn';
  4. i18nService.setCurrentLang($scope.lang);
  5. var loginUser = $rootScope.user;
  6. $scope.gridOptions = {};
  7. $scope.gridOptions.data = 'myData';
  8. $scope.gridOptions.enableColumnResizing = true;
  9. $scope.gridOptions.enableFiltering = true;
  10. $scope.gridOptions.enableGridMenu = false;
  11. $scope.gridOptions.enableRowSelection = true;
  12. $scope.gridOptions.showGridFooter = true;
  13. $scope.gridOptions.showColumnFooter = false;
  14. $scope.gridOptions.fastWatch = true;
  15. $scope.gridOptions.useExternalFiltering = true;
  16. $scope.gridOptions.useExternalPagination = true;
  17. $scope.gridOptions.paginationPageSizes = [10, 20, 50, 100];
  18. $scope.gridOptions.paginationPageSize = 10;
  19. $scope.gridOptions.multiSelect = false;
  20. //$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>";
  21. $scope.gridOptions.rowIdentity = function(row) {
  22. return row.id;
  23. };
  24. $scope.gridOptions.getRowIdentity = function(row) {
  25. return row.id;
  26. };
  27. $scope.gridOptions.columnDefs = [{
  28. name: 'item',
  29. displayName: '序号',
  30. width: 50,
  31. enableFiltering: false
  32. },
  33. { name: 'name', displayName: '影响度', width: '15%', enableFiltering: false },
  34. { name: 'description', displayName: '影响度描述', width: '55%', enableFiltering: false },
  35. {
  36. name: '编辑',
  37. cellTemplate: '<div><div class="cl-effect-1 ui-grid-cell-contents pull-left" >' +
  38. '<a ng-click="grid.appScope.saveData(row.entity)" class="bianjifont">编辑</a>' +
  39. '</div></div>',
  40. enableFiltering: false
  41. },
  42. ];
  43. $scope.saveData = function(selectdata) {
  44. var modalInstance = $modal.open({
  45. templateUrl: 'assets/views/system/tpl/systeminfluence.html',
  46. controller: function($scope, scope, $modalInstance, api_bpm_data) {
  47. $scope.influencedata = {};
  48. $scope.influencedata = selectdata;
  49. $scope.cancel = function() {
  50. $modalInstance.dismiss('cancel');
  51. };
  52. $scope.savercode = function(influencedata) {
  53. if (influencedata.name && influencedata.name != "") {
  54. var fildata = { "influence": { "id": influencedata.id, "name": influencedata.name, "description": influencedata.description } }
  55. api_bpm_data.updData('influence', fildata).then(function(response) {
  56. if (response) {
  57. if (response.status == 200) {
  58. SweetAlert.swal({
  59. title: "修改成功!",
  60. type: "success"
  61. }, function() {
  62. // $scope.refreshData('expand-right', defaultFilterData);
  63. })
  64. } else {
  65. scope.refreshData('expand-right', defaultFilterData);
  66. SweetAlert.swal({
  67. title: "修改失败!",
  68. type: "error"
  69. })
  70. }
  71. }
  72. })
  73. $modalInstance.close();
  74. } else {
  75. scope.refreshData('expand-right', defaultFilterData);
  76. SweetAlert.swal({
  77. title: "修改失败!",
  78. text: "影响度未填",
  79. type: "error"
  80. })
  81. }
  82. }
  83. },
  84. resolve: {
  85. scope: function() {
  86. return $scope;
  87. }
  88. }
  89. });
  90. }
  91. $scope.addData = function() {
  92. var modalInstance = $modal.open({
  93. templateUrl: 'assets/views/system/tpl/systeminfluence.html',
  94. controller: function($scope, $modalInstance, SweetAlert, api_bpm_data) {
  95. $scope.cancel = function() {
  96. $modalInstance.dismiss('cancel');
  97. };
  98. $scope.savercode = function(influencedata) {
  99. if (influencedata.name && influencedata.name != "") {
  100. $modalInstance.close(influencedata);
  101. } else {
  102. SweetAlert.swal({
  103. title: "新增失败!",
  104. text: "影响度未填",
  105. type: "error"
  106. })
  107. }
  108. };
  109. },
  110. resolve: {
  111. SweetAlert: function() {
  112. return SweetAlert;
  113. }
  114. }
  115. });
  116. modalInstance.result.then(function(selectedItem) {
  117. // console.log('selectedItem='+JSON.stringify(selectedItem));
  118. if (selectedItem) {
  119. var fildata = { "influence": { "name": selectedItem.name, "description": selectedItem.description } }
  120. api_bpm_data.addData('influence', fildata).then(function(response) {
  121. if (response) {
  122. if (response.status == 200) {
  123. SweetAlert.swal({
  124. title: "新增成功!",
  125. type: "success"
  126. }, function() {
  127. $scope.refreshData('expand-right', defaultFilterData);
  128. })
  129. } else {
  130. SweetAlert.swal({
  131. title: "新增失败!",
  132. type: "error"
  133. })
  134. }
  135. }
  136. })
  137. }
  138. });
  139. }
  140. $scope.removeData = function() {
  141. var modalInstance = $modal.open({
  142. templateUrl: 'assets/views/delete.html',
  143. controller: function($scope, scope, $modalInstance, api_bpm_data) {
  144. var rmvList = [scope.selected.items.id];
  145. $scope.title = '影响度删除';
  146. $scope.connect = '确定要删除此影响度?';
  147. $scope.ok = function() {
  148. $modalInstance.close(rmvList);
  149. };
  150. $scope.cancel = function() {
  151. $modalInstance.dismiss('cancel');
  152. };
  153. },
  154. size: 'sm',
  155. resolve: {
  156. scope: function() {
  157. return $scope;
  158. }
  159. }
  160. });
  161. modalInstance.result.then(function(selectedItem) {
  162. if (selectedItem) {
  163. if (selectedItem.length > 0) {
  164. api_bpm_data.rmvData('influence', selectedItem).then(function(response) {
  165. if (response.status == 200) {
  166. SweetAlert.swal({
  167. title: "删除成功!",
  168. type: "success",
  169. confirmButtonColor: "#007AFF"
  170. }, function() {
  171. $scope.myData = _.reject($scope.myData, function(o) { return _.includes(selectedItem, o.id); });
  172. $scope.selected = {
  173. items: []
  174. };
  175. $scope.gridOptions.totalItems = $scope.gridOptions.totalItems - selectedItem.length
  176. $scope.gridApi.grid.selection.selectedCount = 0;
  177. });
  178. } else {
  179. SweetAlert.swal({
  180. title: "操作异常!",
  181. text: "系统异常,请稍后重试,或者联系管理员!",
  182. type: "error"
  183. });
  184. }
  185. })
  186. }
  187. }
  188. })
  189. }
  190. // $scope.removeData = function() {
  191. // var rmvList = [$scope.selected.items.id]
  192. // if (rmvList.length > 0) {
  193. // api_bpm_data.rmvData('influence', rmvList).then(function(response) {
  194. // if (response.status == 200) {
  195. // SweetAlert.swal({
  196. // title: "删除成功!",
  197. // type: "success",
  198. // confirmButtonColor: "#007AFF"
  199. // }, function() {
  200. // $scope.myData = _.reject($scope.myData, function(o) { return _.includes(rmvList, o.id); });
  201. // $scope.selected = {
  202. // items: []
  203. // };
  204. // });
  205. // } else {
  206. // SweetAlert.swal({
  207. // title: "删除失败!",
  208. // text: response.msg,
  209. // type: "error"
  210. // });
  211. // }
  212. // })
  213. // }
  214. // }
  215. $scope.selected = {
  216. items: []
  217. }
  218. $scope.editted = {
  219. items: []
  220. }
  221. $scope.gridOptions.onRegisterApi = function(gridApi) {
  222. $scope.gridApi = gridApi;
  223. // gridApi.edit.on.afterCellEdit($scope,function(rowEntity, colDef, newValue, oldValue){
  224. // console.log(rowEntity);
  225. // });
  226. gridApi.pagination.on.paginationChanged($scope, function(newPage, pageSize) {
  227. var filtersData = $scope.memoryfilterData;
  228. filtersData.idx = newPage - 1;
  229. filtersData.sum = pageSize;
  230. defaultFilterData = filtersData;
  231. $scope.refreshData('expand-right', filtersData);
  232. });
  233. gridApi.selection.on.rowSelectionChanged($scope, function(scope) {
  234. scope.grid.appScope.selected.items = scope.entity
  235. });
  236. };
  237. var defaultFilterData = {
  238. "idx": 0,
  239. "sum": 10
  240. };
  241. $scope.memoryfilterData = {
  242. "idx": 0,
  243. "sum": 10
  244. }
  245. $scope.ldloading = {};
  246. $scope.refreshData = function(style, filterData) {
  247. $scope.ldloading[style.replace('-', '_')] = true;
  248. if (angular.isUndefined(filterData)) {
  249. filterData = defaultFilterData;
  250. }
  251. $scope.myData = [];
  252. $scope.selected = { items: [] };
  253. if ($scope.gridApi) {
  254. $scope.gridApi.grid.selection.selectedCount = 0;
  255. }
  256. api_bpm_data.fetchDataList('influence', filterData).then(function(response) {
  257. var myData = Restangular.stripRestangular(response);
  258. $scope.gridOptions.totalItems = myData.totalNum;
  259. $scope.myData = myData.list;
  260. for (var i = 0; i < $scope.myData.length; i++) {
  261. $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
  262. }
  263. $scope.ldloading[style.replace('-', '_')] = false;
  264. }, function() {
  265. $scope.ldloading[style.replace('-', '_')] = false;
  266. });
  267. };
  268. $scope.refreshData('expand-right', defaultFilterData);
  269. }]);