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) { $scope.langs=i18nService.getAllLangs(); $scope.lang = 'zh-cn'; i18nService.setCurrentLang($scope.lang); var loginUser=$rootScope.user; // console.log(' loginUser='+JSON.stringify( loginUser)); //for test // loginUser = { // id:2, // name:'李进' // }; //console.log(loginUser); $scope.gridOptions = {}; $scope.gridOptions.data = 'myData'; $scope.gridOptions.enableColumnResizing = true; $scope.gridOptions.enableFiltering = false; $scope.gridOptions.enableGridMenu = false; $scope.gridOptions.enableRowSelection = true; $scope.gridOptions.showGridFooter = true; $scope.gridOptions.showColumnFooter = false; $scope.gridOptions.fastWatch = true; $scope.gridOptions.useExternalPagination = true; $scope.gridOptions.paginationPageSizes = [10]; $scope.gridOptions.paginationPageSize = 10; $scope.gridOptions.multiSelect = true; //var mun = $scope.gridOptions.paginationPageSize;s $scope.gridOptions.rowIdentity = function(row) { return row.id; }; $scope.gridOptions.getRowIdentity = function(row) { return row.id; }; $scope.transferTime = function(time){ return moment(time).format('YYYY-MM-DD '); } $scope.transferStatus = function(status){} $scope.gridOptions.columnDefs = [ /*{ name: 'item', displayName: '编号', width: '5%', enableFiltering: false }, //编号*/ { name: '查看', width: '5%', enableFiltering: false, cellTemplate: '
' }, //查看 { name: '编辑', width: '5%', enableFiltering: false, cellTemplate: '' }, //编辑 { name: 'category.recate', displayName: '服务目录', width: '10%' }, //标题 { name: 'stateName', displayName: '状态', width: '10%' }, //状态 { name: 'handlerUser.name', displayName: '处理人', width: '10%' }, //开始时间 { name: 'startDate', displayName: '创建时间', width: '20%' }, //开始时间 ]; var uploadParameter = { assignee : loginUser.id, idx : 0 , sum : 10 , status: '' } sessionStorage.uploadParameter = JSON.stringify(uploadParameter); //分页控制 $scope.gridOptions.onRegisterApi = function(gridApi){ $scope.gridApi = gridApi; gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) { var data = JSON.parse(sessionStorage.uploadParameter); data.idx = newPage-1; data.sum = pageSize; sessionStorage.uploadParameter=JSON.stringify(data); $scope.refreshListData('expand-right'); }); gridApi.selection.on.rowSelectionChanged($scope, function(data){ $scope.selected.item = data.entity; }); }; this.selectRowFunction = function(data){}; //分类显示 $scope.onChange = function(searchType) { var data = JSON.parse(sessionStorage.uploadParameter); data.searchType = searchType; sessionStorage.uploadParameter=JSON.stringify(data); $scope.refreshListData('expand-right'); } //属形控件加载 $scope.my_tree_handler = function (branch) { var data = JSON.parse(sessionStorage.uploadParameter); data.status = branch.id; sessionStorage.uploadParameter=JSON.stringify(data); $scope.refreshListData('expand-right'); }; //数据加载 $scope.ldloading = {}; $scope.refreshListData = function(style,filterData){ //刷新按钮动画 $scope.ldloading[style.replace('-', '_')] = true; var filterData = JSON.parse(sessionStorage.uploadParameter); $scope.myData = []; api_bpm_data.fetchServiceTasks(filterData.status,filterData).then(function(data){ var myData = Restangular.stripRestangular(data); $scope.gridOptions.totalItems = myData.resultCount; if(angular.isArray(myData.data)){ $scope.myData = myData.data; }else{ SweetAlert.swal({ title: "数据为空", text: myData.data, type: "warning" }); } $scope.ldloading[style.replace('-', '_')] = false; },function(){ $scope.ldloading[style.replace('-', '_')] = false; }); } $scope.editorReService = function(data) { $state.go('app.reService.editor', { formKey: 'inspection_confirm', pdKey: 'serviceCatalogueProcessActual', taskId: data.taskId, processInstanceId: data.processInstanceId }); } $scope.lookReService = function(data){ $state.go('app.reService.detail', { formKey: 'inspection_detail', pdKey: 'serviceCatalogueProcessActual', dataId: data.id, processInstanceId: data.processInstanceId }); } var apple_selected, tree, treedata_avm, treedata_geography; //$scope.selectedTreeNode = {}; $scope.my_data = []; $scope.tree_data = []; $scope.my_tree = tree = {}; function convertListToTree(data, treeMap){ var idToNodeMap = {}; //Keeps track of nodes using id as key, for fast lookup var root = null; //Initially set our loop to null var parentNode = null; //loop over data for(var i = 0; i < data.length; i++) { var datum = data[i]; //each node will have children, so let's give it a "children" poperty datum.children = []; //add an entry for this node to the map so that any future children can //lookup the parent idToNodeMap[datum.id] = datum; //Does this node have a parent? if(typeof datum.parent === "undefined" || datum.parent == null) { //Doesn't look like it, so this node is the root of the tree root = datum; treeMap[datum.id] = root; } else { //This node has a parent, so let's look it up using the id parentNode = idToNodeMap[datum.parent]; //We don't need this property, so let's delete it. delete datum.parent; //Let's add the current node as a child of the parent node. parentNode.children.push(datum); } } return root; } function convertParentToChildList(data){ var treeMap = {}; var list=[]; convertListToTree(data, treeMap); angular.forEach(treeMap,function(item){ list.push(item); }); return list; } //var uploader = $scope.uploader = new FileUploader({}); //$scope.removeKnowledgeType = function(){} // //$scope.editKnowledgeType = function(flag,size){} // //$scope.createKnowledge = function(size){} $scope.my_tree = tree = {}; //树型控件加载 $scope.try_async_load = function () { $scope.my_data = []; $scope.doing_async = true; api_bpm_data.fetchDataList('requestcategory',{ "idx": 0,"sum": 1000}).then(function(response){ if(response.status==200){ var data = response.list; var objects = []; for (var i = 0; i < data.length; i++) { var object = {}; object.id = data[i].id; if(data[i].parent&&data[i].parent.id != 0){ object.parent = data[i].parent.id; } object.label = data[i].recate; object.actions = data[i].actions; //权限部分 object.group = "1"; object.user = "2"; object.state = { "opened": true }; object.typeName = "type"; objects.push(object); } $scope.my_data = convertParentToChildList(objects); $scope.tree_data = angular.copy($scope.my_data); if($scope.my_data.length>0){ $scope.doing_async = false; } }else{ SweetAlert.swal({ title: "系统错误!", text: "请刷新重试!", type: "error" }); } }); $scope.showAddSolutionType = false; //添加知识类型 按钮 $scope.showReviewKnowledgeType = false; //审核知识类型 按钮 }; $scope.refreshListData('expand_right'); $scope.try_async_load(); // //$scope.ldloading={}; // //$scope.statuses = []; // //$scope.$watch('searchSolutionInput',function(oldvalue,newvalue){}); // //$scope.filterSolutionStatus = function(filterStatus){} // //$scope.searchSolution = function(){} // }]);