'use strict';
app.controller('cmdbauditlistCtrl', ["$scope", "$http", "i18nService", "$rootScope", "$state", "$timeout", "moment", "$interval", "$modal", "$stateParams", "SweetAlert", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_bpm_domain", "api_bpm", "api_bpm_data", "api_user_data", function($scope, $http, i18nService, $rootScope, $state, $timeout, moment, $interval, $modal, $stateParams, SweetAlert, uiGridConstants, uiGridGroupingConstants, Restangular, api_bpm_domain, api_bpm, api_bpm_data, api_user_data) {
$scope.langs = i18nService.getAllLangs();
$scope.lang = 'zh-cn';
i18nService.setCurrentLang($scope.lang);
$scope.myData = [];
var loginUser = $rootScope.user;
var loginuserGroup = "";
for (var i = 0; i < $rootScope.user.group.length; i++) {
if (i == 0) {
loginuserGroup = $rootScope.user.group[i].id;
} else {
loginuserGroup = loginuserGroup + "," + $rootScope.user.group[i].id;
}
}
var pdKey = $state.current.pdKey;
$scope.gridOptions = {};
$scope.gridOptions.data = 'myData';
$scope.gridOptions.enableColumnResizing = true;
$scope.gridOptions.enableFiltering = false;
$scope.gridOptions.enableGridMenu = true;
$scope.gridOptions.enableSelectAll = true;
$scope.gridOptions.enableRowSelection = true;
$scope.gridOptions.showGridFooter = true;
$scope.gridOptions.showColumnFooter = false;
$scope.gridOptions.fastWatch = true;
$scope.gridOptions.enableSorting = true;
$scope.gridOptions.useExternalSorting = true;
$scope.gridOptions.useExternalFiltering = false;
$scope.gridOptions.useExternalPagination = true;
$scope.gridOptions.paginationPageSizes = [10, 20, 50, 100];
$scope.gridOptions.paginationPageSize = 10;
$scope.gridOptions.multiSelect = true;
var mun = $scope.gridOptions.paginationPageSize;
// $scope.gridOptions.rowTemplate = "
";
$scope.gridOptions.rowIdentity = function(row) {
return row.id;
};
$scope.gridOptions.getRowIdentity = function(row) {
return row.id;
};
$scope.transferstatus = function(item) {
var statecolor = "待处理";
if (item == 1) { //待处理
statecolor = "待处理";
} else if (item == 2) { //已处理
statecolor = "已处理";
}
return statecolor;
}
$scope.gridOptions.columnDefs = [
// {
// name: 'id',
// displayName: '',
// width: 40,
// cellTemplate: '' +
// ''
// },
{
name: 'item',
displayName: '序号',
width: 50,
cellTemplate: '' +
'
{{row.entity.item}}
' +
'
'
},
{
name: 'orderId',
displayName: '审计单号',
width: '25%',
enableSorting: false
},
{
name: 'user.name',
displayName: '审计执行人',
width: '15%',
enableSorting: false
},
{
name: 'time',
displayName: '审计时间',
width: '20%',
cellTemplate: '' +
'
{{grid.appScope.transferTime(row.entity.time)}}
' +
'
'
},
{
name: 'status',
displayName: '状态',
width: '15%',
enableSorting: false,
cellTemplate: '' +
'
{{grid.appScope.transferstatus(row.entity.status)}}
' +
'
'
},
{ name: '操作', enableSorting: false, cellTemplate: '', enableFiltering: false },
];
$scope.value = 10;
$scope.decrement = function() {
$scope.value = $scope.value - 1;
};
$scope.record = function() {
api_text.record($rootScope.takes).then(function(data) {
if (data.errno == 0) {
$scope.busy = false;
}
})
};
$scope.transferTime = function(time) {
return moment(time).format('YYYY-MM-DD HH:mm');
}
$scope.parameters = null;
$scope.open = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened = !$scope.opened;
};
$scope.endOpen = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.startOpened = false;
$scope.endOpened = !$scope.endOpened;
};
$scope.startOpen = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.endOpened = false;
$scope.startOpened = !$scope.startOpened;
};
$scope.othcode = {};
$scope.searchkeys = {};
//状态
$scope.state = [{ id: 1, name: "待处理" }, { id: 2, name: "已处理" }];
// api_bpm_data.fetchDataList('incidentstatus', { "idx": 0, "sum": 100 }).then(function(response) {
// if (response) {
// if (response.status = 200) {
// $scope.state = response.list;
// if (sessionStorage.searchcmdbau && JSON.parse(sessionStorage.getItem("searchcmdbau")).comptroller) {
// angular.forEach($scope.state, function(item) {
// if (item.code == JSON.parse(sessionStorage.getItem("searchcmdbau")).comptroller.statusId) {
// $scope.othcode = { "state": item };
// }
// })
// }
// }
// }
// })
if (sessionStorage.searchcmdbau && JSON.parse(sessionStorage.getItem("searchcmdbau")).comptroller) {
if (JSON.parse(sessionStorage.getItem("searchcmdbau")).comptroller) {
$scope.searchkeys = JSON.parse(sessionStorage.getItem("searchcmdbau")).comptroller;
}
if ($scope.searchkeys.startDate) {
$scope.searchkeys.startDate = new Date($scope.searchkeys.startDate);
}
if ($scope.searchkeys.endDate) {
$scope.searchkeys.endDate = new Date($scope.searchkeys.endDate);
}
}
//刷新
$scope.clear = function() {
$scope.searchkeys = {};
$scope.othcode = {};
var fildata = {
"idx": JSON.parse(sessionStorage.getItem("searchcmdbau")).idx,
"sum": JSON.parse(sessionStorage.getItem("searchcmdbau")).sum
}
sessionStorage.removeItem("searchcmdbau");
$scope.memoryfilterData = fildata;
$scope.refreshData('expand-right', $scope.fileData);
}
$scope.searchkeys={};
$scope.fileData={
"idx":0,
"sum":10,
"comptroller":{
}
}
// 重置
$scope.reset=function(){
$scope.searchkeys={};
$scope.fileData.comptroller={};
$scope.refreshData('expand-right', $scope.fileData);
}
$scope.chiceIncident = function(item) {
var fildata = {};
if (sessionStorage.searchcmdbau) {
fildata = JSON.parse(sessionStorage.getItem("searchcmdbau"));
$scope.gridOptions.paginationCurrentPage = 1;
fildata.idx = 0;
} else {
fildata = defaultFilterData;
}
// $scope.memoryfilterData = fildata;
if (!fildata.comptroller) {
fildata['comptroller'] = {};
}
if (item.startDate) {
item.startDate = moment(item.startDate).format('YYYY-MM-DD HH:mm:ss');
}
if (item.endDate) {
item.endDate = moment(item.endDate).format('YYYY-MM-DD 23:59:59')
}
var transitiondata = angular.copy(item);
angular.extend(fildata.comptroller, transitiondata)
sessionStorage['searchcmdbau'] = angular.copy(JSON.stringify(fildata));
$scope.memoryfilterData = fildata;
$scope.fileData.comptroller=item;
$scope.refreshData('expand-right', $scope.fileData);
}
//受理人,处理人
var getUser = function(fieldatas, it) {
api_user_data.fetchDataList('user', fieldatas).then(function(data) {
if (it == 1) {
$scope.acceptUser = data.list;
} else if (it == 2) {
$scope.handlingPersonnelUser = data.list;
// } else if (it == 3) {
// $scope.acceptUser = data.list;
// $scope.handlingPersonnelUser = data.list;
}
});
}
// var fieldata = { "idx": 0, "sum": 10, "flag": -1 };
// getUser(fieldata, 3);
//受理人过滤
$scope.onChangeacceptUser = function(key) {
var filuser = {
"idx": 0,
"sum": 10,
"flag": -1,
"user": { "flag": -1, "name": key,engineer: 1, }
}
getUser(filuser, 1);
}
//处理人过滤
$scope.onChangehandling = function(key) {
var filuser = {
"idx": 0,
"sum": 10,
"flag": -1,
"user": { "flag": -1, "name": key,engineer: 1, }
}
getUser(filuser, 2);
}
$scope.starttime = function(data) {
return moment(new Date(data)).format('YYYY-MM-DD')
}
$scope.overtime = function(data) {
return moment(new Date(data)).format('YYYY-MM-DD HH:mm')
}
$scope.gridOptions.onRegisterApi = function(gridApi) {
$scope.gridApi = gridApi;
gridApi.pagination.on.paginationChanged($scope, function(newPage, pageSize) {
var filtersData = $scope.memoryfilterData;
filtersData.idx = newPage - 1;
$scope.fileData.idx=newPage - 1;
filtersData.sum = pageSize;
$scope.fileData.sum=pageSize;
$scope.refreshData('expand-right', $scope.fileData);
});
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['comptroller'])) {
filtersData['comptroller'] = {};
}
filtersData['comptroller'][item.field] = item.filters[0].term;
}
}
});
$scope.memoryfilterData = filtersData;
$scope.refreshData('expand-right', filtersData);
});
};
//当前人是否分组
// if ($rootScope.user.group) {
// if ($rootScope.user.group.length == 0) {
// SweetAlert.swal("访问失败!", "当前登录人未分配工作组,无权限访问,请添加工作组后重试。", "error");
// } else {
// $scope.memoryfilterData = defaultFilterData = {
// "idx": 0,
// "sum": mun
// };
// }
// } else {
// $scope.memoryfilterData = defaultFilterData = {
// "idx": 0,
// "sum": mun
// };
// }
//编辑
$scope.selectRowFunction = function(data) {
$state.go('app.means.auditeditor', { model: JSON.stringify(data) });
};
//查看
$scope.onDblClick = function(data) {
data.entity.look = true;
$state.go('app.means.auditeditor', { model: JSON.stringify(data.entity) });
};
//新增
$scope.newaudit = function() {
$state.go('app.means.newaudit', {});
};
//删除
$scope.eventDeleted = function(event) {
SweetAlert.swal({
title: "确认删除?",
text: "删除的数据不可恢复,请确认继续操作!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "继续删除",
cancelButtonText: "取消操作",
closeOnConfirm: false,
closeOnCancel: false
}, function(isConfirm) {
if (isConfirm) {
api_bpm_schedule.remove([event.id]).then(function(response) {
if (response.status == 200) {
$scope.events.splice(event.id, 1); //有修改的一行
SweetAlert.swal("操作成功!", "数据已经被删除.", "success");
} else {
SweetAlert.swal("操作失败!", "数据暂时无法被删除,请稍候重试", "error");
}
});
} else {
SweetAlert.swal("操作取消", "数据安全", "error");
}
});
};
if ($stateParams.model) {
if (JSON.parse($stateParams.model).searchType && JSON.parse($stateParams.model).searchType != null) {
$scope.searchTypes = JSON.parse($stateParams.model).searchType;
} else {
$scope.searchTypes = "todo";
}
} else {
$scope.searchTypes = "todo";
}
if ($rootScope.user.group) {
var defaultFilterData = {
"idx": 0,
"sum": mun
};
} else {
var defaultFilterData = {
"idx": 0,
"sum": mun
};
}
// var defaultFilterData = {
// "assignee":$rootScope.user.id,
// "candidateGroups":$rootScope.user.group[0].id,
// "idx":0,
// "sum":mun
// };
if (angular.isDefined($rootScope.search) && angular.isDefined($rootScope.search.comptroller)) {
defaultFilterData['searchType'] = $rootScope.search.comptroller;
$scope.searchTypes = $rootScope.search.comptroller;
}
// if ($rootScope['cmdbs'] != 'incident') { $rootScope.idx = 1 }
// if (angular.isDefined($rootScope.idx) && $rootScope.cmdbs != "false") {
// $rootScope['cmdbs'] = 'incident';
// defaultFilterData.idx = $rootScope.idx - 1;
// } else { $rootScope.cmdbs = ""; }
$scope.ldloading = {};
// $scope.Change= function(upTypes){
// if(angular.isDefined(upTypes)&&upTypes=='upincident'){
// $state.go('app.problem.incident',{});
// }
// else if(angular.isDefined(upTypes)&&upTypes=='upchange'){
// $state.go('app.change.incident',{});
// }
// }
//事件类型筛选
$scope.onChange = function(searchType) {
defaultFilterData = $scope.memoryfilterData;
defaultFilterData['searchType'] = searchType;
$scope.refreshData('expand-right', defaultFilterData);
}
//获取列表数据
$scope.refreshData = function(style, filterData) {
$scope.ldloading[style.replace('-', '_')] = true;
if (angular.isUndefined(filterData)) {
if (sessionStorage.searchcmdbau) {
filterData = JSON.parse(sessionStorage.getItem("searchcmdbau"));
$scope.gridOptions.paginationCurrentPage = 1 + filterData.idx;
} else {
filterData = defaultFilterData;
}
}
$scope.myData = [];
sessionStorage['searchcmdbau'] = angular.copy(JSON.stringify(filterData));
$scope.memoryfilterData = filterData;
$scope.gridOptions['sum'] = filterData.sum;
if (filterData.comptroller && filterData.comptroller.status) {
if (filterData.comptroller.status.id == 1) {
filterData.comptroller.status = 1;
} else if (filterData.comptroller.status.id == 2) {
filterData.comptroller.status = 2;
}
}
api_bpm.fetchDataList('comptroller', filterData).then(function(data) {
if (data.status == 200) {
var myData = Restangular.stripRestangular(data);
var list = [];
$scope.gridOptions['totalItems'] = myData.totalNum;
$scope.myData = myData.list;
for (var i = 0; i < $scope.myData.length; i++) {
$scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
}
} else {
SweetAlert.swal({
title: "系统错误",
text: "请稍后再试!",
type: "error"
});
}
$scope.ldloading[style.replace('-', '_')] = false;
}, function() {
$scope.ldloading[style.replace('-', '_')] = false;
});
};
$scope.refreshData2 = function(style, filterData) {
$scope.ldloading[style.replace('-', '_')] = true;
if (angular.isUndefined(filterData)) {
if (sessionStorage.searchcmdbau) {
filterData = JSON.parse(sessionStorage.getItem("searchcmdbau"));
$scope.gridOptions.paginationCurrentPage = 1 + filterData.idx;
} else {
filterData = defaultFilterData;
}
}
// $scope.myData = [];
sessionStorage['searchcmdbau'] = angular.copy(JSON.stringify(filterData));
$scope.memoryfilterData = filterData;
$scope.gridOptions['sum'] = filterData.sum;
if (filterData.comptroller && filterData.comptroller.status) {
if (filterData.comptroller.status.id == 1) {
filterData.comptroller.status = 1;
} else if (filterData.comptroller.status.id == 2) {
filterData.comptroller.status = 2;
}
}
api_bpm.fetchDataList('comptroller', filterData).then(function(data) {
if (data.status == 200) {
var myData = Restangular.stripRestangular(data);
var list = [];
$scope.gridOptions['totalItems'] = myData.totalNum;
$scope.myData = myData.list;
for (var i = 0; i < $scope.myData.length; i++) {
$scope.myData[i]['item'] = i + 1 + filterData.idx * filterData.sum
}
} else {
SweetAlert.swal({
title: "系统错误",
text: "请稍后再试!",
type: "error"
});
}
$scope.ldloading[style.replace('-', '_')] = false;
}, function() {
$scope.ldloading[style.replace('-', '_')] = false;
});
};
$scope.refreshData('expand-right',$scope.fileData);
$scope.timer = $interval(function () {
$scope.refreshData2('expand-right',$scope.fileData)
}, $rootScope.refreshTime);
$scope.$on('$destroy', function () {
$interval.cancel($scope.timer)
});
}]);
//操作按钮权限控制
app.controller('CmdblistOperCtrl', ['$rootScope', '$http', '$scope', '$modal', function($rootScope, $http, $scope, $modal) {
if ($scope.item.status != null) {
if ($scope.item.status == 1 && $scope.item.user.id == $rootScope.user.id) {
$scope.item.chaozuoPower = true;
} else {
$scope.item.chaozuoPower = false;
}
}
$scope.look = function() {
//$state.go('app.detail', { formKey:'incident_back', pdKey:'incident', dataId: $scope.item.id});
$scope.colobject.grid.appScope.lookFunction($scope.item);
}
$scope.edit = function() {
$scope.colobject.grid.appScope.selectRowFunction($scope.item);
}
// $scope.handler = function() {
// $scope.colobject.grid.appScope.acceptTaskAction($scope.item);
// $scope.doComment($scope.item.id);
// }
}]);
//操作按钮
app.directive('cmdblistoperator', function() {
return {
restrict: 'E',
scope: {
item: '=',
colobject: '='
},
controller: 'CmdblistOperCtrl',
template: ''
};
});