1 |
- "use strict";app.controller("incidentListCtrl",["$scope","$http","i18nService","$rootScope","$state","$timeout","$interval","$modal","SweetAlert","uiGridConstants","uiGridGroupingConstants","Restangular","api_bpm_domain","api_text","api_bpm_data",function(e,t,n,i,r,a,o,c,l,s,d,p,u,m,g){e.langs=n.getAllLangs(),e.lang="zh-cn",n.setCurrentLang(e.lang);var f=i.user;e.allright=!1,e.allrightnot=!0;for(var h in i.user.role)"incident manager"!=i.user.role[h].rolecode&&"call center"!=i.user.role[h].rolecode||(e.allright=!0,e.allrightnot=!1);var y=r.current.pdKey;e.gridOptions={},e.gridOptions.data="myData",e.gridOptions.enableColumnResizing=!0,e.gridOptions.enableFiltering=!0,e.gridOptions.enableGridMenu=!0,e.gridOptions.enableRowSelection=!0,e.gridOptions.showGridFooter=!0,e.gridOptions.showColumnFooter=!0,e.gridOptions.fastWatch=!0,e.gridOptions.useExternalFiltering=!0,e.gridOptions.useExternalPagination=!0,e.gridOptions.paginationPageSizes=[10,20,50,100],e.gridOptions.paginationPageSize=10,e.gridOptions.multiSelect=!0;var v=e.gridOptions.paginationPageSize;if(e.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>',e.gridOptions.rowIdentity=function(e){return e.id},e.gridOptions.getRowIdentity=function(e){return e.id},e.gridOptions.columnDefs=[{name:"操作",enableSorting:!1,cellTemplate:'<incidentoperator style="background-color:{{row.entity.colourInfo.rgb}}" item="row.entity" colobject="col">',width:120,enableFiltering:!1},{name:"incidentsign",displayName:"工单号",width:"12%",cellTemplate:'<div><div class="ui-grid-cell-contents" style="height:27px;background-color:{{row.entity.colourInfo.rgb}}">{{row.entity.incidentsign}}</div></div>'},{name:"title",displayName:"主题",width:"12%",cellTemplate:'<div><div class="ui-grid-cell-contents" style="height:27px;background-color:{{row.entity.colourInfo.rgb}}">{{row.entity.title}}</div></div>'},{name:"requester.name",displayName:"请求人",width:70,enableSorting:!1,cellTemplate:'<div><div class="ui-grid-cell-contents" style="height:27px;background-color:{{row.entity.colourInfo.rgb}}">{{row.entity.requester.name}}</div></div>'},{name:"acceptUser.name",displayName:"受理人",width:70,enableSorting:!1,cellTemplate:'<div><div class="ui-grid-cell-contents" style="height:27px;background-color:{{row.entity.colourInfo.rgb}}">{{row.entity.acceptUser.name}}</div></div>'},{name:"acceptDate",displayName:"登记时间",width:80,enableFiltering:!1,cellTemplate:'<div><div class="ui-grid-cell-contents" style="height:27px;background-color:{{row.entity.colourInfo.rgb}}">{{grid.appScope.starttime(row.entity.acceptDate)}}</div></div>'},{name:"area",displayName:"区域地点",width:"8%",enableSorting:!1,enableFiltering:!1,cellTemplate:'<div><div class="ui-grid-cell-contents" style="height:27px;background-color:{{row.entity.colourInfo.rgb}}">{{grid.appScope.areaplace(row.entity)}}</div></div>'},{name:"handlingPersonnelUser.name",displayName:"处理人",width:70,enableSorting:!1,cellTemplate:'<div><div class="ui-grid-cell-contents" style="height:27px;background-color:{{row.entity.colourInfo.rgb}}">{{row.entity.handlingPersonnelUser.name}}</div></div>'},{name:"state.name",displayName:"状态",width:80,enableFiltering:!1,cellTemplate:'<div><div class="ui-grid-cell-contents" style="height:27px;background-color:{{row.entity.colourInfo.rgb}}">{{row.entity.state.name}}</div></div>'},{name:"priority.name",displayName:"优先级",width:60,enableFiltering:!1,enableSorting:!1,cellTemplate:'<div><div class="ui-grid-cell-contents" style="height:27px;height:27px;background-color:{{row.entity.colourInfo.rgb}}">{{row.entity.priority.name}}</div></div>'},{name:"contactsInformation",displayName:"联系人电话",width:100,enableFiltering:!1,cellTemplate:'<div><div class="ui-grid-cell-contents" style="height:27px;height:27px;background-color:{{row.entity.colourInfo.rgb}}">{{row.entity.contactsInformation}}</div></div>'},{name:"overdueTime",displayName:"逾期时间",width:110,enableFiltering:!1,cellTemplate:'<div><div class="ui-grid-cell-contents" style="height:27px;background-color:{{row.entity.colourInfo.rgb}}">{{grid.appScope.overtime(row.entity.overdueTime)}}</div></div>'}],e.value=10,e.decrement=function(){e.value=e.value-1},e.record=function(){m.record(i.takes).then(function(t){0==t.errno&&(e.busy=!1)})},e.parameters={},e.open=function(t){t.preventDefault(),t.stopPropagation(),e.opened=!e.opened},e.endOpen=function(t){t.preventDefault(),t.stopPropagation(),e.startOpened=!1,e.endOpened=!e.endOpened},e.startOpen=function(t){t.preventDefault(),t.stopPropagation(),e.endOpened=!1,e.startOpened=!e.startOpened},e.chiceIncident=function(t){var n=w;e.memoryfilterData=n,n.incident||(n.incident={}),e.gridOptions.paginationCurrentPage=1,angular.extend(n,{idx:0,sum:v}),angular.extend(n.incident,{acceptDate:moment(t.paramDateFrom).format("YYYY-MM-DD HH:mm:ss"),acceptDateEnd:moment(t.paramDateTo).format("YYYY-MM-DD 23:59:59")}),e.refreshData("expand-right",n)},e.starttime=function(e){return moment(new Date(e)).format("YYYY-MM-DD")},e.overtime=function(e){return moment(new Date(e)).format("YYYY-MM-DD HH:mm")},e.areaplace=function(e){if(e.area)return e.area.area+" "+e.place.place},e.play=function(e){c.open({templateUrl:"assets/views/incident/tpl/audio.html",controller:["$rootScope","$scope","$modalInstance","$sce",function(t,n,i,r){n.data={name:"视频",url:"http://218.197.181.213:8080/recording/recording?callID="+e.callID},n.data.url=r.trustAsResourceUrl(n.data.url),n.cancel=function(){i.dismiss("cancel")},i.close()}]})},e.gridOptions.onRegisterApi=function(t){e.gridApi=t,t.pagination.on.paginationChanged(e,function(t,n){var i=e.memoryfilterData;i.idx=t-1,i.sum=n,e.refreshData("expand-right",i)}),e.Change=function(t){if(angular.isDefined(e.selected.items))if(angular.isDefined(t)&&"upincident"==t){var n={cancelUrl:"app.incident.list",model:{problem:{title:e.selected.items.title,des:e.selected.items.description,proposePerson:e.selected.items.handlerUser,source:{id:1,code:1,name:" 事件 "},incident:e.selected.items}}};r.go("app.problem.incident",{pdKey:"incident",dataId:e.selected.items.id,processInstanceId:e.selected.items.processInstanceId,model:JSON.stringify(n)})}else if(angular.isDefined(t)&&"upchange"==t){var n={cancelUrl:"app.incident.list",model:{change:{title:e.selected.items.title,description:e.selected.items.description,requestingPerson:e.selected.items.handlerUser,source:{id:1,code:1,name:" 事件 "},incident:e.selected.items}}};r.go("app.change.incident",{pdKey:"incident",dataId:e.selected.items.id,processInstanceId:e.selected.items.processInstanceId,model:JSON.stringify(n)})}},e.selected={items:[]},t.core.on.filterChanged(e,function(){var t=this.grid;if(i.user.group)var n={assignee:i.user.id,candidateGroups:i.user.group[0].id,idx:0,sum:v};else var n={assignee:i.user.id,idx:0,sum:v};angular.forEach(t.columns,function(t){t.enableFiltering&&angular.isDefined(t.filters[0].term)&&""!=t.filters[0].term&&(n=e.memoryfilterData,angular.isUndefined(n.incident)&&(n.incident={}),"requester.name"==t.field?(n.incident.requester={},n.incident.requester.accountName=t.filters[0].term):"handlingPersonnelUser.name"==t.field?(n.incident.handlingPersonnelUser={},n.incident.handlingPersonnelUser.name=t.filters[0].term):"requester.name"==t.field?(n.incident.requester={},n.incident.requester.name=t.filters[0].term):"acceptUser.name"==t.field?(n.incident.acceptUser={},n.incident.acceptUser.name=t.filters[0].term):n.incident[t.field]=t.filters[0].term)}),e.memoryfilterData=n,e.refreshData("expand-right",n)})},i.user.group?0==i.user.group.length?l.swal("访问失败!","当前登录人未分配工作组,无权限访问,请添加工作组后重试。","error"):e.memoryfilterData=w={assignee:i.user.id,candidateGroups:i.user.group[0].id,searchType:"todo",idx:0,sum:v}:e.memoryfilterData=w={assignee:i.user.id,searchType:"todo",idx:0,sum:v},e.open=function(e){c.open({templateUrl:"assets/views/incident/tpl/print.html",controller:["$scope","$modalInstance",function(t,n){t.printdata=e,e.emergency||(e.emergency={}),e.influence||(e.influence={}),e.place||(e.place={}),e.influence||(e.influence={}),e.emergency||(e.emergency={}),e.influence||(e.influence={});$(".groundborder").height();t.printrequest=[{name:"事件单号",value:e.incidentsign},{name:"事件主题",value:e.title},{name:"事件分类",value:e.category.category},{name:"紧急度",value:e.emergency.name},{name:"影响度",value:e.influence.name},{name:"优先级",value:e.priority.name}],t.printrequest.requester=[{nameone:"用户姓名",valueone:e.requester.name,nametwo:"联系电话",valuetwo:e.requester.mphone},{nameone:"故障地点",valueone:e.place.place,nametwo:"申报时间",valuetwo:e.responseTime}],t.printrequest.incident=[{nameone:"故障工单",valueone:e.incidentsign,nametwo:"故障分类",valuetwo:e.category.category}],t.printrequest.handler=[{name:"故障描述",value:e.description},{name:"处理人",value:e.handlingPersonnelUser.name}],t.cancel=function(){n.dismiss("cancel")}}],size:"lg"})},e.newincident=function(e){r.go("app.incident.editor",{})},e.selectRowFunction=function(e){r.go("app.incident.editor",{taskId:e.taskId,processInstanceId:e.processInstanceId})},e.onDblClick=function(e){r.go("app.incident.detail",{formKey:"incident_back",pdKey:"incident",dataId:e.entity.id,taskId:e.taskId,processInstanceId:e.entity.processInstanceId})},e.followFunction=function(e){r.go("app.detail",{formKey:"statusform",pdKey:"incident",dataId:e.id,processInstanceId:e.processInstanceId})},e.eventDeleted=function(t){l.swal({title:"确认删除?",text:"删除的数据不可恢复,请确认继续操作!",type:"warning",showCancelButton:!0,confirmButtonColor:"#DD6B55",confirmButtonText:"继续删除",cancelButtonText:"取消操作",closeOnConfirm:!1,closeOnCancel:!1},function(n){n?api_bpm_schedule.remove([t.id]).then(function(n){200==n.status?(e.events.splice(t.id,1),l.swal("操作成功!","数据已经被删除.","success")):l.swal("操作失败!","数据暂时无法被删除,请稍候重试","error")}):l.swal("操作取消","数据安全","error")})},e.export=function(){i.isMask=!0;var n=angular.copy(e.memoryfilterData);n.sum=1e4,t({url:g.downDataModel("incident",3).getRequestedUrl(),method:"POST",data:JSON.stringify(n),headers:{Accept:"*/*"},responseType:"arraybuffer"}).success(function(e,t,n,r){var a=new Blob([e],{type:"application/vnd.ms-excel"}),o=URL.createObjectURL(a),c=document.createElement("a");c.href=o,c.target="_blank",c.download="事件列表.xls",document.body.appendChild(c),c.click(),i.isMask=!1}).error(function(e,t,n,r){i.isMask=!1})},e.acceptTaskAction=function(t){var n=c.open({templateUrl:"assets/views/incident/tpl/acceptTask.tpl.html",controller:["$scope","$modalInstance","APIService","modelData","currentUserId","Alert",function(e,t,n,i,r,a){var o=function(e,t){var n={receive_code:e};return t?{taskId:t.taskId,data:n}:"error"};e.ok=function(){var c=o(e.receive_code,i);n.claimtask(c.taskId,{userId:r}).then(function(e){200==e.status?(a.swal({title:"操作成功!",confirmButtonColor:"#007AFF",type:"success"}),t.close("success")):500==e.status?(a.swal({title:"操作失败",text:"该事件已被提取,请刷新页面!",type:"error"}),t.close("success")):a.swal({title:"操作失败",text:"操作失败, 请稍后再试!",type:"error"})})},e.cancel=function(){t.dismiss("cancel")}}],size:"sm",resolve:{APIService:function(){return u},modelData:function(){return t},currentUserId:function(){return f.id},Alert:function(){return l}}});n.result.then(function(t){"success"==t&&e.refreshData("expand-right",w)})},e.searchTypes="todo",i.user.group)var w={assignee:i.user.id,candidateGroups:i.user.group[0].id,idx:0,sum:v};else var w={assignee:i.user.id,idx:0,sum:v};angular.isDefined(i.search)&&angular.isDefined(i.search.incident)&&(w.searchType=i.search.incident,e.searchTypes=i.search.incident),"incident"!=i.cmdbs&&(i.idx=1),angular.isDefined(i.idx)&&"false"!=i.cmdbs?(i.cmdbs="incident",w.idx=i.idx-1):i.cmdbs="",e.ldloading={},e.onChange=function(t){w.searchType=t,e.memoryfilterData.searchType=t,e.refreshData("expand-right",w)},e.refreshData=function(t,n){e.ldloading[t.replace("-","_")]=!0,angular.isUndefined(n)&&(n=w),angular.isDefined(e.searchTypes)&&(i.search={},n.searchType=e.searchTypes,i.search.incident=e.searchTypes),e.myData=[],e.gridOptions.sum=n.sum,u.fetchtask(y,n).then(function(i){var r=p.stripRestangular(i);e.gridOptions.totalItems=r.resultCount,e.myData=r.data;for(var a=0;a<e.myData.length;a++)e.myData[a].item=a+1+n.idx*n.sum;e.ldloading[t.replace("-","_")]=!1},function(){e.ldloading[t.replace("-","_")]=!1})},e.refreshData("expand-right",w)}]),app.controller("IncidentOperCtrl",["$rootScope","$http","$scope","$modal",function(e,t,n,i){null!=n.item.state.id&&null!=n.item.handlerUser&&e.user.id==n.item.handlerUser.id&&(n.item.chaozuoPower=!0),e.callid=n.item.callID,n.item.callID?n.item.listen=!0:n.item.listen=!1,6!=n.item.state.id&&null==n.item.handlerUser&&(n.item.tiquPower=!0),n.look=function(){n.colobject.grid.appScope.lookFunction(n.item)},n.edit=function(){n.colobject.grid.appScope.selectRowFunction(n.item),n.doEdit(n.item.id)},n.print=function(){n.colobject.grid.appScope.open(n.item),n.doEdit(n.item.id)},n.record=function(){n.colobject.grid.appScope.play(n.item),n.doEdit(n.item.id)},n.handler=function(){n.colobject.grid.appScope.acceptTaskAction(n.item),n.doComment(n.item.id)},n.follow=function(){n.colobject.grid.appScope.followFunction(n.item)}}]),app.directive("incidentoperator",function(){return{restrict:"E",scope:{item:"=",colobject:"="},controller:"IncidentOperCtrl",template:'<div><div class="links cl-effect-1 ui-grid-cell-contents" style="height:27px;background-color:{{item.colourInfo.rgb}}"><a ng-click="edit()" ng-show="{{item.chaozuoPower}}" tooltip="操作" tooltip-placement="right"><i class="fa fa-pencil-square-o"></i></a><a ng-click="print()" tooltip="打印" tooltip-placement="left"><i class="ti-printer"></i></a><a ng-click="record()" ng-show="{{item.listen}}" tooltip="录音" tooltip-placement="left"><i class="ti-microphone"></i></a></div></div>'}});
|