123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424 |
- 'use strict';
- /**
- * controller for User Profile Example
- */
- // "$aside", "toaster", "api_bpm_domain", "api_configure_data", "api_cmdb", "api_configure_form",
- app.controller('gdzc_relationCtrl', ["$rootScope", "$scope", "$http", "$state", "$timeout", "$injector", '$parse', "$interval", "$modal", "$stateParams", "$aside", "SweetAlert", "toaster", "FileUploader", "i18nService", "uiGridConstants", "uiGridGroupingConstants", "Restangular", "api_bpm_domain", "api_configure_data", "api_cmdb", "api_configure_form","api_cmdb3", function($rootScope, $scope, $http, $state, $timeout, $parse, $injector, $interval, $modal, $stateParams, $aside, SweetAlert, toaster, FileUploader, i18nService, uiGridConstants, uiGridGroupingConstants, Restangular, api_bpm_domain, api_configure_data, api_cmdb, api_configure_form,api_cmdb3) {
- $scope.ceshi="流程";
- $scope.langs = i18nService.getAllLangs();
- $scope.lang = 'zh-cn';
- i18nService.setCurrentLang($scope.lang);
- $scope.myData = [];
- var loginUser = $rootScope.user;
- var pdKey = $state.current.pdKey;
- $scope.gridOptions = {};
- $scope.gridOptions.data = 'myData';
- $scope.gridOptions.enableColumnResizing = true;
- $scope.gridOptions.enableFiltering = false;
- $scope.gridOptions.enableGridMenu = false;
- $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 = "<div ng-click=\"onDblClick(row)\" ng-repeat=\"(colRenderIndex, col) in colContainer.renderedColumns track by col.uid\" ui-grid-one-bind-id-grid=\"rowRenderIndex + '-' + col.uid + '-cell'\" class=\"ui-grid-cell\" ng-class=\"{ 'ui-grid-row-header-cell': col.isRowHeader }\" role=\"{{col.isRowHeader ? 'rowheader' : 'gridcell'}}\" ui-grid-cell></div>";
- $scope.gridOptions.rowIdentity = function (row) {
- return row.id;
- };
- $scope.gridOptions.getRowIdentity = function (row) {
- return row.id;
- };
- $scope.transferColor = function (item) {
- var color = "icon iconfont icon-zhengchang greenfont";
- if (item.colourInfo) {
- if (item.colourInfo.id == 1) {
- color = "icon iconfont icon-yiyuqi redfont";
- } else if (item.colourInfo.id == 2) {
- color = "iconfont icon-yuqixinxiu yellofont";
- }
- } else {
- // color = "white";
- }
- return color;
- }
- $scope.transfertip = function (item) {
- var tip = "正常";
- if (item.colourInfo) {
- if (item.colourInfo.id == 1) {
- tip = "逾期";
- } else if (item.colourInfo.id == 2) {
- tip = "即将逾期";
- }
- } else {
- // color = "white";
- }
- return tip;
- }
- $scope.transferstatus = function (item) {
- var statecolor = "#fc4c58";
- if (item.id == 2) { //待处理
- statecolor = "#fc4c58";
- } else if (item.id == 7) { //待审核
- statecolor = "#fcb44c";
- } else if (item.id == 3) { //请求重新指派
- statecolor = "#ebf902";
- } else if (item.id == 4) { //处理中
- statecolor = "#0aa5f5";
- } else if (item.id == 5) { //已解决
- statecolor = "#2edbb8";
- } else if (item.id == 6) { //已关闭
- statecolor = "#bbbbbb";
- }
- return statecolor;
- }
- $scope.gridOptions.columnDefs = [
- {
- name: 'danhao',
- displayName: '单号',
- width: '21%',
- cellTemplate: '<div>' +
- '<div class="ui-grid-cell-contents">{{row.entity.danhao}}</div>' +
- '</div>'
- },
- {
- name: 'zhuti',
- displayName: '主题',
- width: '13%',
- cellTemplate: '<div>' +
- '<div class="ui-grid-cell-contents">{{row.entity.zhuti}}</div>' +
- '</div>'
- },
- {
- name: 'fenlei',
- displayName: '分类',
- width: '10%',
- cellTemplate: '<div>' +
- '<div class="ui-grid-cell-contents">{{row.entity.fenlei}}</div>' +
- '</div>'
- },
- {
- name: 'shenqingren',
- displayName: '申请人',
- width: '8%',
- cellTemplate: '<div>' +
- '<div class="ui-grid-cell-contents">{{row.entity.shenqingren}}</div>' +
- '</div>'
- },
- {
- name: 'chuliren',
- displayName: '处理人',
- width: '9%',
- cellTemplate: '<div>' +
- '<div class="ui-grid-cell-contents">{{row.entity.chuliren}}</div>' +
- '</div>'
- },
- {
- name: 'liuchengleixing',
- displayName: '流程类型',
- width: '7%',
- cellTemplate: '<div>' +
- '<div class="ui-grid-cell-contents">{{row.entity.liuchengleixing}}</div>' +
- '</div>'
- },
- {
- name: 'chuangjiariqi',
- displayName: '创建时间',
- width: '15%',
- cellTemplate: '<div>' +
- '<div class="ui-grid-cell-contents">{{row.entity.chuangjiariqi}}</div>' +
- '</div>'
- },
- {
- name: 'lishishijian',
- displayName: '操作时间',
- width: '15%',
- cellTemplate: '<div>' +
- '<div class="ui-grid-cell-contents">{{row.entity.lishishijian}}</div>' +
- '</div>'
- },
- ];
- $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.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 = {};
- var items=[];
- $scope.selected = {
- items: []
- };
- var wt_data={};
- //列表排序
- $scope.gridOptions.onRegisterApi = function (gridApi) {
- $scope.gridApi = gridApi;
- var index = 0;
- var oldheader = {};
- gridApi.grid.sortColumn = function (gridApi) {
- if (oldheader.field) {
- if (oldheader.field == gridApi.field) {
- // index = 0;
- } else {
- index = 0;
- }
- }
- index++;
- oldheader = gridApi;
- var fildata = $scope.memoryfilterData;
- if (index % 3 == 0) {
- delete $scope.memoryfilterData.incident;
- fildata = $scope.memoryfilterData;
- } else if (index % 3 == 1) {
- if (fildata.incident) {
- if (gridApi.field == "acceptDate") {
- angular.extend(fildata.incident, { "sort": gridApi.field });
- } else {
- angular.extend(fildata.incident, { "sort": gridApi.field + " desc , _incident.acceptDate" });
- }
- } else {
- if (gridApi.field == "acceptDate") {
- angular.extend(fildata, { 'incident': { "sort": gridApi.field } });
- } else {
- angular.extend(fildata, { 'incident': { "sort": gridApi.field + " desc , _incident.acceptDate" } });
- }
- }
- } else if (index % 3 == 2) {
- if (fildata.incident) {
- if (gridApi.field == "acceptDate") {
- angular.extend(fildata.incident, { "sort": gridApi.field, "order": "asc" });
- } else {
- angular.extend(fildata.incident, { "sort": gridApi.field + " asc , _incident.acceptDate" });
- }
- } else {
- if (gridApi.field == "acceptDate") {
- angular.extend(fildata, { 'incident': { "sort": gridApi.field, "order": "asc" } });
- } else {
- angular.extend(fildata.incident, { "sort": gridApi.field + " asc , _incident.acceptDate" });
- }
- }
- // angular.extend(fildata, { 'incident': { "sort": gridApi.field, "order": "asc" } });
- }
- $scope.refreshData('expand-right', fildata);
- }
- gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) {
- var filtersData = $scope.memoryfilterData;
- filtersData.idx = newPage - 1;
- filtersData.sum = pageSize;
- $scope.refreshData('expand-right', filtersData);
- });
-
- gridApi.core.on.filterChanged($scope, function () {
- var grid = this.grid;
- if ($rootScope.user.group) {
- var filtersData = {
- idx: 0,
- sum: mun
- };
- } else {
- var filtersData = {
- idx: 0,
- sum: mun
- };
- }
- angular.forEach(grid.columns, function (item) {
- if (item.enableFiltering) {
- if (angular.isDefined(item.filters[0].term) && item.filters[0].term != '') {
- filtersData = $scope.memoryfilterData
- if (angular.isUndefined(filtersData['incident'])) {
- filtersData['incident'] = {};
- }
- if (item.field == 'requester.name') {
- filtersData['incident']['requester'] = {};
- filtersData.incident.requester['accountName'] = item.filters[0].term;
- } else if (item.field == 'handlingPersonnelUser.name') {
- filtersData['incident']['handlingPersonnelUser'] = {};
- filtersData.incident.handlingPersonnelUser['name'] = item.filters[0].term;
- } else if (item.field == 'requester.account') {
- filtersData['incident']['requester'] = {};
- filtersData.incident.requester['account'] = item.filters[0].term;
- } else if (item.field == 'acceptUser.name') {
- filtersData['incident']['acceptUser'] = {};
- filtersData.incident.acceptUser['name'] = item.filters[0].term;
- } else {
- filtersData['incident'][item.field] = item.filters[0].term;
- }
- }
- }
- });
- filtersData.idx = 0;
- $scope.memoryfilterData = filtersData;
- $scope.refreshData('expand-right', filtersData);
- });
- };
- var items=[];
- 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
- };
- }
- if (angular.isDefined($rootScope.search) && angular.isDefined($rootScope.search.incident)) {
- defaultFilterData['searchType'] = $rootScope.search.incident;
- $scope.searchTypes = $rootScope.search.incident;
- }
- 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 = {};
- var guagua;
- var get_danhao={
- "idx":0,
- "sum":1000
- }
- $scope.shijian_qu=[];
- $scope.biangeng_qu=[];
- $scope.myData1=[];
- $scope.myData2=[];
- $scope.myData3=[];
- $scope.myData4=[];
- $scope.myData5=[];
- $scope.refreshData = function () {
- var pdKey = "assetConsumablesHistory";
- get_danhao['assetConsumablesHistory']={"assetConsumablesId":$stateParams.idd};
- $scope.incident_shuzu=[];
- $scope.change_shuzu=[];
- $scope.incident_time=[];
- $scope.change_time=[];
- // 请求操作历史列表获取事件单号和变更单号
- api_cmdb3.fetchDataList(pdKey, get_danhao).then(function (data) {
- guagua=data.list;
- // console.log(data.list);
- for(var i=0;i<data.list.length;i++){
- if(data.list[i].source==1){
- $scope.incident_shuzu.push(data.list[i].sourceId);//获取事件单号数组
- $scope.incident_time.push({danhao:data.list[i].sourceId,shijian:data.list[i].time})//获取事件时间单号数组对象
- }else if(data.list[i].source==2){
- $scope.change_shuzu.push(data.list[i].sourceId);//获取变更单号数组
- $scope.change_time.push({danhao:data.list[i].sourceId,shijian:data.list[i].time})//获取变更时间单号数组对象
- }
- }
- // 获取事件数据
- api_cmdb3.relation("incident", $scope.incident_shuzu).then(function (data1) {
- // console.log(data1.data);
- $scope.shijian_data=data1.data;
- // console.log($scope.shijian_data);
- if($scope.shijian_data!=undefined){
- for(var i=0;i<$scope.shijian_data.length;i++){
- $scope.shijian_qu.push({danhao:$scope.shijian_data[i].incidentsign,zhuti:$scope.shijian_data[i].title,fenlei:"事件",shenqingren:$scope.shijian_data[i].acceptUser.name,chuliren:$scope.shijian_data[i].handlingPersonnelUser.name,liuchengleixing:"事件流程",chuangjiariqi:$scope.shijian_data[i].acceptDate},)
- };
- };
- for(var i=0;i<$scope.shijian_qu.length;i++){
- for(var j=0;j<$scope.incident_time.length;j++){
- if($scope.shijian_qu[i].danhao==$scope.incident_time[j].danhao){
- $scope.shijian_qu[i]["lishishijian"]=$scope.incident_time[j].shijian;
- }
- }
- // $scope.myData3.push($scope.shijian_qu[i].danhao);
- $scope.myData1.push($scope.shijian_qu[i])
- }
- $scope.gridOptions['totalItems'] = $scope.myData.length;
- // $scope.myData=$scope.shijian_qu;
- // 获取变更数据
- api_cmdb3.relation("change", $scope.change_shuzu).then(function (data2) {
- // console.log(data2.data);
- $scope.biangeng_data=data2.data;
- // console.log($scope.biangeng_data)
- if($scope.biangeng_data!=undefined){
- for(var i=0;i<$scope.biangeng_data.length;i++){
- $scope.biangeng_qu.push({danhao:$scope.biangeng_data[i].changesign,zhuti:$scope.biangeng_data[i].title,fenlei:"变更",shenqingren:$scope.biangeng_data[i].applyPerson.name,chuliren:$scope.biangeng_data[i].responsiblePerson.name,liuchengleixing:"变更流程",chuangjiariqi:$scope.biangeng_data[i].registrationTime},)
- }
- };
- for(var i=0;i<$scope.biangeng_qu.length;i++){
- for(var j=0;j<$scope.change_time.length;j++){
- if($scope.biangeng_qu[i].danhao==$scope.change_time[j].danhao){
- $scope.biangeng_qu[i]["lishishijian"]=$scope.change_time[j].shijian;
- }
- }
- $scope.myData2.push($scope.biangeng_qu[i])
- }
- //事件单号
- for(var i=0;i<$scope.myData1.length;i++){
- $scope.myData3.push($scope.myData1[i].danhao)
- }
- //变更单号
- for(var i=0;i<$scope.myData2.length;i++){
- $scope.myData3.push($scope.myData2[i].danhao)
- }
- // 获取数组重复的索引
- for(var i=0;i<$scope.myData3.length;i++){
- if($scope.myData4.indexOf($scope.myData3[i])!==-1){
- $scope.myData5.push($scope.myData4.indexOf($scope.myData3[i]))
- }
- $scope.myData4.push($scope.myData3[i]);
- }
- // 事件数据
- for(var i=0;i<$scope.myData1.length;i++){
- $scope.myData.push($scope.myData1[i])
- }
- // 变更数据
- for(var i=0;i<$scope.myData2.length;i++){
- $scope.myData.push($scope.myData2[i])
- }
- for(var i=0;i<$scope.myData5.length;i++){
- delete $scope.myData[$scope.myData5[i]]
- }
- $scope.gridOptions['totalItems'] = $scope.myData.length;
- });
- });
- });
- };
- $scope.refreshData();
- }]);
|