reServiceCtrl.js 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. app.controller('reServiceManagerCtrl', ["$rootScope","$scope","i18nService", "$state", "$timeout", "$interval", "SweetAlert", "$modal", "FileUploader", "i18nService", "uiGridConstants", "uiGridGroupingConstants", "Restangular","api_user_data","api_solution","api_bpm_domain","api_bpm_data", function ($rootScope, $scope,i18nService, $state, $timeout, $interval, SweetAlert, $modal, FileUploader, i18nService, uiGridConstants, uiGridGroupingConstants, Restangular, api_user_data, api_solution,api_bpm_domain,api_bpm_data) {
  2. $scope.langs=i18nService.getAllLangs();
  3. $scope.lang = 'zh-cn';
  4. i18nService.setCurrentLang($scope.lang);
  5. var loginUser=$rootScope.user;
  6. // console.log(' loginUser='+JSON.stringify( loginUser));
  7. //for test
  8. // loginUser = {
  9. // id:2,
  10. // name:'李进'
  11. // };
  12. //console.log(loginUser);
  13. $scope.gridOptions = {};
  14. $scope.gridOptions.data = 'myData';
  15. $scope.gridOptions.enableColumnResizing = true;
  16. $scope.gridOptions.enableFiltering = false;
  17. $scope.gridOptions.enableGridMenu = false;
  18. $scope.gridOptions.enableRowSelection = true;
  19. $scope.gridOptions.showGridFooter = true;
  20. $scope.gridOptions.showColumnFooter = false;
  21. $scope.gridOptions.fastWatch = true;
  22. $scope.gridOptions.useExternalPagination = true;
  23. $scope.gridOptions.paginationPageSizes = [10];
  24. $scope.gridOptions.paginationPageSize = 10;
  25. $scope.gridOptions.multiSelect = true;
  26. //var mun = $scope.gridOptions.paginationPageSize;s
  27. $scope.gridOptions.rowIdentity = function(row) {
  28. return row.id;
  29. };
  30. $scope.gridOptions.getRowIdentity = function(row) {
  31. return row.id;
  32. };
  33. $scope.transferTime = function(time){
  34. return moment(time).format('YYYY-MM-DD ');
  35. }
  36. $scope.transferStatus = function(status){}
  37. $scope.gridOptions.columnDefs = [
  38. /*{
  39. name: 'item',
  40. displayName: '编号',
  41. width: '5%',
  42. enableFiltering: false
  43. }, //编号*/
  44. {
  45. name: '查看',
  46. width: '5%',
  47. enableFiltering: false,
  48. cellTemplate: '<div class="links cl-effect-1">' +
  49. '<a class="ui-grid-cell-contents" ng-click="grid.appScope.lookReService(row.entity)" tooltip="查看" tooltip-placement="left"><i class="ti-eye"></i></a>' +
  50. '</div>'
  51. }, //查看
  52. {
  53. name: '编辑',
  54. width: '5%',
  55. enableFiltering: false,
  56. cellTemplate: '<div class="links cl-effect-1">'+'<a class="ui-grid-cell-contents" ng-click="grid.appScope.editorReService(row.entity)" tooltip="编辑" tooltip-placement="left"><i class="fa fa-pencil-square-o"></i></a>'+'</div>'
  57. }, //编辑
  58. {
  59. name: 'category.recate',
  60. displayName: '服务目录',
  61. width: '10%'
  62. }, //标题
  63. {
  64. name: 'stateName',
  65. displayName: '状态',
  66. width: '10%'
  67. }, //状态
  68. {
  69. name: 'handlerUser.name',
  70. displayName: '处理人',
  71. width: '10%'
  72. }, //开始时间
  73. {
  74. name: 'startDate',
  75. displayName: '创建时间',
  76. width: '20%'
  77. }, //开始时间
  78. ];
  79. var uploadParameter = {
  80. assignee : loginUser.id,
  81. idx : 0 ,
  82. sum : 10 ,
  83. status: ''
  84. }
  85. sessionStorage.uploadParameter = JSON.stringify(uploadParameter);
  86. //分页控制
  87. $scope.gridOptions.onRegisterApi = function(gridApi){
  88. $scope.gridApi = gridApi;
  89. gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) {
  90. var data = JSON.parse(sessionStorage.uploadParameter);
  91. data.idx = newPage-1;
  92. data.sum = pageSize;
  93. sessionStorage.uploadParameter=JSON.stringify(data);
  94. $scope.refreshListData('expand-right');
  95. });
  96. gridApi.selection.on.rowSelectionChanged($scope, function(data){
  97. $scope.selected.item = data.entity;
  98. });
  99. };
  100. this.selectRowFunction = function(data){};
  101. //分类显示
  102. $scope.onChange = function(searchType) {
  103. var data = JSON.parse(sessionStorage.uploadParameter);
  104. data.searchType = searchType;
  105. sessionStorage.uploadParameter=JSON.stringify(data);
  106. $scope.refreshListData('expand-right');
  107. }
  108. //属形控件加载
  109. $scope.my_tree_handler = function (branch) {
  110. var data = JSON.parse(sessionStorage.uploadParameter);
  111. data.status = branch.id;
  112. sessionStorage.uploadParameter=JSON.stringify(data);
  113. $scope.refreshListData('expand-right');
  114. };
  115. //数据加载
  116. $scope.ldloading = {};
  117. $scope.refreshListData = function(style,filterData){
  118. //刷新按钮动画
  119. $scope.ldloading[style.replace('-', '_')] = true;
  120. var filterData = JSON.parse(sessionStorage.uploadParameter);
  121. $scope.myData = [];
  122. api_bpm_data.fetchServiceTasks(filterData.status,filterData).then(function(data){
  123. var myData = Restangular.stripRestangular(data);
  124. $scope.gridOptions.totalItems = myData.resultCount;
  125. if(angular.isArray(myData.data)){
  126. $scope.myData = myData.data;
  127. }else{
  128. SweetAlert.swal({
  129. title: "数据为空",
  130. text: myData.data,
  131. type: "warning"
  132. });
  133. }
  134. $scope.ldloading[style.replace('-', '_')] = false;
  135. },function(){
  136. $scope.ldloading[style.replace('-', '_')] = false;
  137. });
  138. }
  139. $scope.editorReService = function(data) {
  140. $state.go('app.reService.editor', {
  141. formKey: 'inspection_confirm',
  142. pdKey: 'serviceCatalogueProcessActual',
  143. taskId: data.taskId,
  144. processInstanceId: data.processInstanceId
  145. });
  146. }
  147. $scope.lookReService = function(data){
  148. $state.go('app.reService.detail', {
  149. formKey: 'inspection_detail',
  150. pdKey: 'serviceCatalogueProcessActual',
  151. dataId: data.id,
  152. processInstanceId: data.processInstanceId
  153. });
  154. }
  155. var apple_selected, tree, treedata_avm, treedata_geography;
  156. //$scope.selectedTreeNode = {};
  157. $scope.my_data = [];
  158. $scope.tree_data = [];
  159. $scope.my_tree = tree = {};
  160. function convertListToTree(data, treeMap){
  161. var idToNodeMap = {}; //Keeps track of nodes using id as key, for fast lookup
  162. var root = null; //Initially set our loop to null
  163. var parentNode = null;
  164. //loop over data
  165. for(var i = 0; i < data.length; i++) {
  166. var datum = data[i];
  167. //each node will have children, so let's give it a "children" poperty
  168. datum.children = [];
  169. //add an entry for this node to the map so that any future children can
  170. //lookup the parent
  171. idToNodeMap[datum.id] = datum;
  172. //Does this node have a parent?
  173. if(typeof datum.parent === "undefined" || datum.parent == null) {
  174. //Doesn't look like it, so this node is the root of the tree
  175. root = datum;
  176. treeMap[datum.id] = root;
  177. } else {
  178. //This node has a parent, so let's look it up using the id
  179. parentNode = idToNodeMap[datum.parent];
  180. //We don't need this property, so let's delete it.
  181. delete datum.parent;
  182. //Let's add the current node as a child of the parent node.
  183. parentNode.children.push(datum);
  184. }
  185. }
  186. return root;
  187. }
  188. function convertParentToChildList(data){
  189. var treeMap = {};
  190. var list=[];
  191. convertListToTree(data, treeMap);
  192. angular.forEach(treeMap,function(item){
  193. list.push(item);
  194. });
  195. return list;
  196. }
  197. //var uploader = $scope.uploader = new FileUploader({});
  198. //$scope.removeKnowledgeType = function(){}
  199. //
  200. //$scope.editKnowledgeType = function(flag,size){}
  201. //
  202. //$scope.createKnowledge = function(size){}
  203. $scope.my_tree = tree = {};
  204. //树型控件加载
  205. $scope.try_async_load = function () {
  206. $scope.my_data = [];
  207. $scope.doing_async = true;
  208. api_bpm_data.fetchDataList('requestcategory',{ "idx": 0,"sum": 1000}).then(function(response){
  209. if(response.status==200){
  210. var data = response.list;
  211. var objects = [];
  212. for (var i = 0; i < data.length; i++) {
  213. var object = {};
  214. object.id = data[i].id;
  215. if(data[i].parent&&data[i].parent.id != 0){
  216. object.parent = data[i].parent.id;
  217. }
  218. object.label = data[i].recate;
  219. object.actions = data[i].actions; //权限部分
  220. object.group = "1";
  221. object.user = "2";
  222. object.state = {
  223. "opened": true
  224. };
  225. object.typeName = "type";
  226. objects.push(object);
  227. }
  228. $scope.my_data = convertParentToChildList(objects);
  229. $scope.tree_data = angular.copy($scope.my_data);
  230. if($scope.my_data.length>0){
  231. $scope.doing_async = false;
  232. }
  233. }else{
  234. SweetAlert.swal({
  235. title: "系统错误!",
  236. text: "请刷新重试!",
  237. type: "error"
  238. });
  239. }
  240. });
  241. $scope.showAddSolutionType = false; //添加知识类型 按钮
  242. $scope.showReviewKnowledgeType = false; //审核知识类型 按钮
  243. };
  244. $scope.refreshListData('expand_right');
  245. $scope.try_async_load();
  246. //
  247. //$scope.ldloading={};
  248. //
  249. //$scope.statuses = [];
  250. //
  251. //$scope.$watch('searchSolutionInput',function(oldvalue,newvalue){});
  252. //
  253. //$scope.filterSolutionStatus = function(filterStatus){}
  254. //
  255. //$scope.searchSolution = function(){}
  256. //
  257. }]);