app.controller('incidentHandlerCtrl', ["$rootScope", "$scope", '$stateParams', '$http', '$state', '$timeout', '$ionicPopover', '$ionicPopup', '$ionicLoading', 'api_bpm_domain', 'Restangular', 'loginService', 'getLoginUser', function($rootScope, $scope, $stateParams, $http, $state, $timeout, $ionicPopover, $ionicPopup, $ionicLoading, api_bpm_domain, Restangular, loginService, getLoginUser) { console.log('incidentHandlerCtrl is load'); //弹出框 // .fromTemplate() method // var template = '

My Popover Title

Hello!
'; // $scope.popover = $ionicPopover.fromTemplate(template, { // scope: $scope // }); // .fromTemplateUrl() method var promise = getLoginUser.query(); // 同步调用,获得承诺接口 promise.then(function(data) { // 调用承诺API获取数据 .resolve // $scope.user = data; console.log(data) }, function(data) { // 处理错误 .reject // $scope.user = {error: '用户不存在!'}; console.log(data) }); $scope.goBack = function() { history.go(-1); } $scope.newFunction = function() { $state.go('tab.customFormIndex', { 'formKey': 'requestMobileEditor' }); }; $scope.load = { 'pageIndex': 0, //第几页 'pageSum': 10, //每页条数 'pageCount': 0 //总页数 }; $ionicPopover.fromTemplateUrl('assets/views/weChat/myIncident/popover.html', { scope: $scope }).then(function(popover) { $scope.popover = popover; }); $scope.openPopover = function($event) { $scope.popover.show($event); }; $scope.closePopover = function() { $scope.popover.hide(); }; //Cleanup the popover when we're done with it! $scope.$on('$destroy', function() { $scope.popover.remove(); }); // Execute action on hidden popover $scope.$on('popover.hidden', function(res) { // Execute action }); // Execute action on remove popover $scope.$on('popover.removed', function() { // Execute action }); $scope.statuses = [ { status: 'all', label: '全部的事件', idName: 'a' }, { status: 'todo', label: '待我处理的', idName: 'b' }, { status: 'create', label: '我创建的', idName: 'c' }, { status: 'done', label: '我处理过的', idName: 'd' }, // { status: 's', label: '已驳回', idName: 'e' }, // { status: '6', label: '已拒绝', idName: 'f' } ]; $scope.searchTypeFunction = function(searchType) { $scope.refreshListData({ 'searchType': searchType }); $scope.popover.hide(); } // 一个精心制作的自定义弹窗 // var myPopup = $ionicPopup.show({ // template: '', // title: 'Enter Wi-Fi Password', // subTitle: 'Please use normal things', // scope: $scope, // buttons: [ // { text: 'Cancel' }, // { // text: 'Save', // type: 'button-positive', // onTap: function(e) { // if (!$scope.data.wifi) { // //不允许用户关闭,除非他键入wifi密码 // e.preventDefault(); // } else { // return $scope.data.wifi; // } // } // }, // ] // }); // myPopup.then(function(res) { // console.log('Tapped!', res); // }); // $timeout(function() { // myPopup.close(); //由于某种原因3秒后关闭弹出 // }, 3000); // 一个确认对话框 $scope.showConfirm = function() { var confirmPopup = $ionicPopup.confirm({ title: 'Consume Ice Cream', template: 'Are you sure you want to eat this ice cream?' }); confirmPopup.then(function(res) { if (res) { console.log('You are sure'); } else { console.log('You are not sure'); } }); }; // 一个提示对话框 $scope.showAlert = function() { var alertPopup = $ionicPopup.alert({ title: 'Don\'t eat that!', template: 'It might taste good' }); alertPopup.then(function(res) { console.log('Thank you for not eating my delicious ice cream cone'); }); }; // $scope.loginForm = {}; // var loginUser = $rootScope.user; //获取login中的数据 var sessionLogin = JSON.parse(sessionStorage.sessionLogin); var loginUser = sessionLogin.user; $rootScope.user = sessionLogin.user; //定义流程代号 // var pdKey = $state.current.pdKey; var pdKey = 'bpm_incident'; // var incidentListMobileParameter = { // 'assignee': loginUser.id, // 'idx': 0, // 'sum': 10, // 'status': '', // 'count': 0, // 'currentPage': 1, // 'endPage': 0, // 'pages': [] // }; //默认数据 var defaultData = { 'assignee': loginUser.id, 'idx': 0, 'sum': 10, 'candidateGroups': loginUser.group["0"].id }; //页面数据容器 $scope.myData = []; //是否加载上拉刷新 $scope.domore = false; //填充数据 $scope.filterData = { 'assignee': loginUser.id, 'idx': 0, 'sum': 10, }; //本地数据初始化 // sessionStorage.incidentListMobileParameter = JSON.stringify(incidentListMobileParameter); //新增数据 $scope.addData = function() { var roleMan = false; if ($rootScope.user.role || $rootScope.user.role != null) { for (var i in $rootScope.user.role) { if ($rootScope.user.role[i].id == 3 || $rootScope.user.role[i].id == 5 || $rootScope.user.role[i].id == 29700 || $rootScope.user.role[i].id == 29701) { roleMan = true; break; } } } if (roleMan) { $state.go('tab.incidentHandlerNew', { // pdKey: 'bpm_incident' }) } else { $ionicPopup.alert({ title: '没有访问权限', // template: 'It might taste good' }); } // $state.go('tab.incidentHandlerNew', { // // pdKey: 'bpm_incident' // }) }; //跳转到编辑列表 $scope.editorFunction = function(data) { $state.go('tab.incidentHandlerCustomFormIndex', { taskId: data.taskId, processInstanceId: data.processInstanceId }); }; //跳转到查看列表 $scope.lookFunction = function(data) { $state.go('tab.incidentHandlerCustomFormDetail', { "formKey": 'incident_back', "pdKey": 'incident', "dataId": data.id, "taskId": data.taskId, "processInstanceId": data.processInstanceId }); }; //页面刷新 $scope.reload = function() { $scope.refreshListData(); } //下拉刷新 $scope.doRefresh = function() { $scope.filterData.idx = 0; var idx = { 'idx': $scope.filterData.idx } $scope.refreshListData(idx, 'down'); $scope.domore = false; }; //上拉加载 $scope.loadMore = function() { //开启上拉加载 $scope.domore = false; //数据列表加1 $scope.filterData.idx += 1; $scope.load.pageIndex += 1; //定时器 var timer = null; //参数 var filterData = defaultData; angular.extend(filterData, { 'idx': $scope.filterData.idx }); //加载 if ($scope.load.pageIndex < $scope.load.pageCount) { api_bpm_domain.fetchtask(pdKey, filterData).then(function(data) { var myData = Restangular.stripRestangular(data); if (myData.pageIndex <= myData.pageCount) { if (angular.isArray(myData.data) && myData.data.length > 0) { angular.forEach(myData.data, function(item) { $scope.myData.push(item); }); } $scope.$broadcast('scroll.infiniteScrollComplete'); } else { $scope.domore = true; $scope.$broadcast('scroll.infiniteScrollComplete'); } }, function(data) {}); } else { $scope.domore = true; $scope.$broadcast('scroll.infiniteScrollComplete'); } }; //数据加载 $scope.refreshListData = function(filterData, loadStyle) { //获取本地数据 // var filterData = JSON.parse(sessionStorage.incidentListMobileParameter); //对接口参数进行重新组装 // var showData = { // 'assignee': filterData.assignee, // // 'idx': filterData.currentPage ? filterData.currentPage - 1 : 0, // 'idx': filterData.idx, // 'searchType': filterData.searchType, // 'status': filterData.status, // 'sum': filterData.sum, // }; var showData = {}; if (filterData) { showData = angular.extend(defaultData, filterData); } else { showData = defaultData; } // if (filterData.candidateGroups) { // angular.extend(showData, { 'candidateGroups': filterData.candidateGroups }); // }; //遮罩层开启 $ionicLoading.show({ template: 'Loading...' }); api_bpm_domain.fetchtask(pdKey, showData).then(function(data) { var myData = Restangular.stripRestangular(data); // filterData.count = myData.resultCount; if (angular.isArray(myData.data) && myData.data.length > 0) { $scope.myData = myData.data; $scope.load.pageIndex = myData.pageIndex; $scope.load.pageCount = myData.pageCount; if (loadStyle == 'down') { $scope.$broadcast('scroll.refreshComplete'); } } else { // SweetAlert.swal({ // title: "数据为空", // text: myData.data, // type: "warning" // }); // if ($scope.paginationList || $scope.paginationList.count) { // $scope.paginationList.count = 0; // } $scope.listShow = false; } //遮罩层关闭 $ionicLoading.hide(); }, function() { $ionicLoading.hide(); }); } //事件提取 $scope.acceptTaskAction = function(item) { var confirmPopup = $ionicPopup.confirm({ title: '事件提取', template: '是否提取该事件?' }); confirmPopup.then(function(res) { // var receiveTask = function(receive_code, item) { // var data = { // 'receive_code': receive_code // }; // if (item) { // return { // taskId: item.taskId, // data: data // }; // } else { // return 'error'; // } // }; // var data = receiveTask($scope.receive_code, item); if (res) { api_bpm_domain.claimAndCompletedTask(item.taskId, { userId: loginUser.id, receive_code: "handler" }).then(function(response) { if (response.status == 200) { $ionicPopup.alert({ title: '操作成功!', // template: 'It might taste good' }); $scope.reload() confirmPopup.close(); } else if (response.status == 500) { $ionicPopup.alert({ title: '操作失败!', template: '该事件已被提取,请刷新页面!' }); confirmPopup.close(); } else { $ionicPopup.alert({ title: '操作失败!', template: '操作失败, 请稍后再试!' }); confirmPopup.close(); } }); } else { } }); } //页面加载 // $scope.reload(); //跳转成功刷新页面 $scope.$on('$stateChangeSucess', $scope.reload()); }]) app.controller('handlerExtendCtrl', ['$scope', '$rootScope', '$http', function($scope, $rootScope, $http) { //判断当前事件状态 if ($scope.item.state.id != null && $scope.item.state.id != 6 && $scope.item.handlerUser != null) { if ($rootScope.user.id && $rootScope.user.id == $scope.item.handlerUser.id) { $scope.item.chaozuoPower = true; } else { // angular.forEach($rootScope.user.group, function(userItem) { // angular.forEach($scope.item.handlerUser.group, function(handlerUserItem) { // if (handlerUserItem == userItem.id) { // $scope.item.chaozuoPower = true; // } // }); // }); } } if ($scope.item.state.id != 6 && $scope.item.handlerUser == null) { $scope.item.tiquPower = true; } // if ($scope.item.state.id != null && $scope.item.handlerUser != null) { // if ($rootScope.user.id == $scope.item.handlerUser.id) { // $scope.item.chaozuoPower = true; // } // } $scope.look = function() { $scope.$parent.$parent.$parent.lookFunction($scope.item); }; $scope.edit = function() { $scope.$parent.$parent.$parent.editorFunction($scope.item); }; $scope.handler = function() { $scope.$parent.$parent.$parent.acceptTaskAction($scope.item); } }]);