'use strict'; app.controller('changeListCtrl', ["$scope", "i18nService", "$rootScope", "$state", "$timeout", "$interval", "SweetAlert", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_bpm_domain", function ($scope, i18nService, $rootScope, $state, $timeout, $interval, SweetAlert, uiGridConstants, uiGridGroupingConstants, Restangular, api_bpm_domain) { $scope.langs = i18nService.getAllLangs(); $scope.lang = 'zh-cn'; i18nService.setCurrentLang($scope.lang); var pdKey = $state.current.pdKey; $scope.gridOptions = {}; $scope.gridOptions.data = 'myData'; $scope.gridOptions.enableColumnResizing = true; $scope.gridOptions.enableFiltering = true; $scope.gridOptions.enableGridMenu = true; $scope.gridOptions.enableRowSelection = true; $scope.gridOptions.showGridFooter = true; $scope.gridOptions.showColumnFooter = false; $scope.gridOptions.fastWatch = true; $scope.gridOptions.useExternalFiltering = true; $scope.gridOptions.useExternalPagination = true; $scope.gridOptions.paginationPageSizes = [10, 20, 50, 100]; $scope.gridOptions.paginationPageSize = 10; $scope.gridOptions.multiSelect = false; $scope.gridOptions.rowTemplate = "
"; $scope.gridOptions.rowIdentity = function (row) { return row.id; }; $scope.gridOptions.getRowIdentity = function (row) { return row.id; }; $scope.gridOptions.columnDefs = [{ name: 'item', displayName: '序号', width: '50', cellTemplate: '
' + '
{{row.entity.item}}
' + '
', enableFiltering: false }, { name: 'changesign', displayName: '变更单号', width: '8%', minWidth: '125', enableFiltering: false }, { name: 'title', displayName: '变更标题', width: '12%', enableFiltering: false }, { name: 'requestingPerson.name', displayName: '请求人', width: '8%', minWidth: '85', enableFiltering: false }, { name: 'registrationTime', displayName: '登记时间', width: '10%', minWidth: '140', enableFiltering: false, cellTemplate: '
' + '
{{grid.appScope.transferTime(row.entity.registrationTime)}}
' + '
' }, { name: 'source.name', displayName: '变更来源', width: '10%', enableFiltering: false }, { name: 'type.name', displayName: '变更类型', width: '7%', minWidth: '73', enableFiltering: false }, { name: 'classify.name', displayName: '变更分类', width: '10%', enableFiltering: false }, { name: 'rickLevel.name', displayName: '风险等级', width: '8%', enableFiltering: false }, { name: 'state.name', displayName: '状态', width: '8%', enableFiltering: false }, { name: '操作', cellTemplate: '', width: '13%', enableFiltering: false } ]; $scope.searchstate = 'todo'; $scope.transferTime = function(time) { return moment(time).format('YYYY-MM-DD HH:mm'); } $scope.states = [{ id: "all", name: '全部的变更' }, { id: "todo", name: '待我处理的变更' }, { id: "create", name: '我创建的变更' }, { id: "done", name: '我处理过的变更' } ]; $scope.onChange = function (searchType) { $scope.searchstate = searchType; defaultFilterData = $scope.memoryfilterData; defaultFilterData['searchType'] = searchType; $scope.refreshData('expand-right', defaultFilterData); } $scope.clear = function () { $scope.searchkeys = {}; var fildata = JSON.parse(sessionStorage.getItem("searchchange")); fildata.assignee = $rootScope.user.id; fildata.candidateGroups = $rootScope.user.group[0].id; fildata.idx = 0; fildata.sum = 10; delete fildata.change; // $scope.try_async_load(); // var fildata = { // // "assignee": $rootScope.user.id, // // "candidateGroups": loginuserGroup, // // "searchType": JSON.parse(sessionStorage.getItem("searchproblem")).searchType, // // "idx": JSON.parse(sessionStorage.getItem("searchproblem")).idx, // // "sum": JSON.parse(sessionStorage.getItem("searchproblem")).sum // "assignee": $rootScope.user.id, // "candidateGroups": $rootScope.user.group[0].id, // "idx": 0, // "sum": 10, // } sessionStorage.removeItem("searchchange"); $scope.memoryfilterData = fildata; $scope.refreshData('expand-right', fildata); } $scope.chiceIncident = function (item, stateid) { // if (stateid && stateid.code) { // item.statusId = stateid.code; // } else { // item.statusId = undefined; // } var fildata = {}; if (sessionStorage.searchchange) { fildata = JSON.parse(sessionStorage.getItem("searchchange")); $scope.gridOptions.paginationCurrentPage = 1; fildata.idx = 0; } else { fildata = defaultFilterData; } // $scope.memoryfilterData = fildata; if (!fildata.change) { fildata['change'] = {}; } // if (item.acceptDate) { // item.acceptDate = moment(item.acceptDate).format('YYYY-MM-DD HH:mm:ss'); // } // if (item.acceptDateEnd) { // // item.acceptDateEnd = moment(item.acceptDateEnd).format('YYYY-MM-DD HH:mm:ss'); // item.acceptDateEnd = moment(new Date(item.acceptDateEnd).getTime() + 86399999).format('YYYY-MM-DD HH:mm:ss'); // } if (item) { if (!fildata.change) { fildata.change = {}; } var transitiondata = angular.copy(item); angular.extend(fildata.change, transitiondata) sessionStorage['searchchange'] = angular.copy(JSON.stringify(fildata)); } $scope.memoryfilterData = fildata; $scope.refreshData('expand-right', fildata); } $scope.gridOptions.onRegisterApi = function (gridApi) { $scope.gridApi = gridApi; gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) { var filtersData = $scope.memoryfilterData; filtersData.idx = newPage - 1; filtersData.sum = pageSize; $rootScope['idxchange'] = newPage - 1; $scope.refreshData('expand-right', filtersData); // $scope.refreshData('expand-right', {"assignee":$rootScope.user.id, "candidateGroups":$rootScope.user.group[0].id, "idx":newPage-1,"sum":pageSize}); }); // gridApi.selection.on.rowSelectionChanged($scope, function(data) { // //$scope.selected.item = data.entity; // // console.log(data); // }); gridApi.core.on.filterChanged($scope, function () { var grid = this.grid; var filtersData = { "assignee": $rootScope.user.id, "candidateGroups": $rootScope.user.group[0].id, idx: 0, sum: 10 }; angular.forEach(grid.columns, function (item) { if (item.enableFiltering) { if (angular.isDefined(item.filters[0].term) && item.filters[0].term != '') { // console.log('item.filters[0]='+JSON.stringify(item.filters[0])); if (angular.isUndefined(filtersData['change'])) { filtersData['change'] = {}; } filtersData['change'][item.field] = item.filters[0].term; } } }); $scope.memoryfilterData = filtersData; $scope.refreshData('expand-right', filtersData); }); }; $scope.memoryfilterData = defaultFilterData = { "assignee": $rootScope.user.id, // "searchType": "all", "candidateGroups": $rootScope.user.group[0].id, "idx": 0, "sum": 10 }; $scope.selectRowFunction = function (data) { // console.log(data); // $state.go('app.process.modeler',{modelId:data.id}); $state.go('app.change.editor', { taskId: data.taskId, processInstanceId: data.processInstanceId,dataId:data.id }); }; $scope.onDblClick = function (data) { // console.log('data=' + JSON.stringify(data.id)); //$state.go('app.detail',{taskId:data.taskId,processInstanceId: data.processInstanceId}); $state.go('app.detail', { formKey: 'changeDetail', pdKey: 'change', dataId: data.entity.id, taskId: data.entity.taskId, processInstanceId: data.entity.processInstanceId }); }; $scope.lookFunction = function (data) { console.log('data=' + JSON.stringify(data.id)); //$state.go('app.detail',{taskId:data.taskId,processInstanceId: data.processInstanceId}); $state.go('app.detail', { formKey: 'changeDetail', pdKey: 'change', dataId: data.id, taskId: data.taskId, processInstanceId: data.processInstanceId }); }; this.removeRowFunction = function (data) { //TODO $translate('key') SweetAlert.swal({ title: "确认删除?", text: "删除以后,你将不能恢复该数据!", type: "warning", cancelButtonText: "取消", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "确认删除!" }, function (isConfirm) { if (isConfirm) { // api_bpm_domain.removemodel(data.id).then(function(response){ // if(response){ // $scope.refreshData(); // SweetAlert.swal({ // title: "删除成功!", // confirmButtonColor: "#007AFF" // }); // } // }); } else { } }); } //$scope.callsPending = 0; //var i = 0; var defaultFilterData = { "assignee": $rootScope.user.id, "candidateGroups": $rootScope.user.group[0].id, // "searchType": "all", "idx": 0, "sum": 10 }; if (angular.isDefined($rootScope['searchchange'])) { defaultFilterData['searchType'] = $rootScope['searchchange']; $scope.searchTypes = $rootScope['searchchange']; // console.log($scope.searchTypes); } // $scope.searchTypeOptions = [ // {name:'请选择...', search:''}, // {name:'待我处理的变更', search:'todo'}, // {name:'我创建的变更', search:'create'}, // {name:'我处理过的变更', search:'done'}, // ]; // if(angular.isDefined($rootScope['idxchange'])){ // defaultFilterData.idx=$rootScope['idxchange']; // } $scope.ldloading = {}; $scope.refreshData = function (style, filterData) { $scope.ldloading[style.replace('-', '_')] = true; if (angular.isUndefined(filterData)) { filterData = defaultFilterData; } if (angular.isDefined($scope.searchTypes)) { filterData['searchType'] = $scope.searchTypes; $rootScope['searchchange'] = $scope.searchTypes; } $scope.myData = []; //var start = new Date(); //var sec = $interval(function () { //$scope.callsPending++; api_bpm_domain.fetchtask(pdKey, filterData).then(function (data) { $scope.callsPending--; // console.log('filterData='+JSON.stringify(filterData)); var myData = Restangular.stripRestangular(data); $scope.gridOptions.totalItems = myData.resultCount; $scope.myData = myData.data; $scope.ldloading[style.replace('-', '_')] = false; for (var i = 0; i < $scope.myData.length; i++) { $scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum } }, function () { $scope.ldloading[style.replace('-', '_')] = false; }); }; $scope.refreshData('expand-right', defaultFilterData); }]); app.controller('ChangeOperCtrl', ['$rootScope', '$http', '$scope', function ($rootScope, $http, $scope, $event) { // console.log('$rootScope.user3='+JSON.stringify($scope.item)); if ($scope.item.handlerUser != null) { if ($rootScope.user.id == $scope.item.handlerUser.id) { $scope.item.chaozuoPower = true; } } $scope.look = function () { $scope.colobject.grid.appScope.lookFunction($scope.item); // console.log('$scope.item='+JSON.stringify($scope.item)); } $scope.edit = function () { $scope.colobject.grid.appScope.selectRowFunction($scope.item); // console.log('$scope.item='+JSON.stringify($scope.item)); $scope.doEdit($scope.item.id); } }]); app.directive('changeoperator', function () { return { restrict: 'E', scope: { item: '=', colobject: '=' }, controller: 'ChangeOperCtrl', template: '
' + // '' + '处理' + '
' }; });