knowledgeexamineCtrl.js 8.3 KB

1
  1. app.controller("knowledgeExamineCtrl",["$rootScope","$scope","$http","i18nService","$state","$timeout","$interval","SweetAlert","$modal","FileUploader","uiGridConstants","uiGridGroupingConstants","Restangular","api_user_data","api_solution","api_bpm_domain",function(e,t,i,n,o,a,r,s,l,d,c,u,p,m,g,f){function h(e,t){for(var i={},n=null,o=null,a=0;a<e.length;a++){var r=e[a];r.children=[],i[r.id]=r,"undefined"==typeof r.parent||null==r.parent?(n=r,t[r.id]=n):(o=i[r.parent],delete r.parent,o.children.push(r))}return n}function v(e){var t={},i=[];return h(e,t),angular.forEach(t,function(e){i.push(e)}),i}t.langs=n.getAllLangs(),t.lang="zh-cn",n.setCurrentLang(t.lang);var w=e.user;t.gridOptions={},t.gridOptions.data="myData",t.gridOptions.enableColumnResizing=!0,t.gridOptions.enableFiltering=!1,t.gridOptions.enableGridMenu=!1,t.gridOptions.enableRowSelection=!0,t.gridOptions.showGridFooter=!0,t.gridOptions.showColumnFooter=!0,t.gridOptions.fastWatch=!0,t.gridOptions.useExternalPagination=!0,t.gridOptions.paginationPageSizes=[10,20,50,100],t.gridOptions.paginationPageSize=10,t.gridOptions.multiSelect=!1,t.gridOptions.rowIdentity=function(e){return e.id},t.gridOptions.getRowIdentity=function(e){return e.id};var y=t.gridOptions.paginationPageSize;t.transferTime=function(e){return moment(e).format("YYYY-MM-DD HH:mm:ss")},t.gridOptions.columnDefs=[{name:"操作",width:140,cellTemplate:'<gidoperator item="row.entity" colobject="col">'},{name:"userName",displayName:"评论人",width:120},{name:"reviewScore",displayName:"评分",width:100},{name:"review",displayName:"评论内容",width:160},{name:"reviewTime",cellTemplate:'<div class="ui-grid-cell-contents">{{grid.appScope.transferTime(row.entity.reviewTime)}}</div>',displayName:"评论时间",width:140}],t.gridOptions.onRegisterApi=function(e){t.gridApi=e,e.pagination.on.paginationChanged(t,function(e,i){var n=t.allfilterData;_.pageIndex=e-1;var o={pageIndex:e-1},a=angular.extend(o,_);a.status=n.status,t.refreshListData("expand-right",a)})},this.selectRowFunction=function(e){},t.refreshListData=function(e,i){t.ldloading[e.replace("-","_")]=!0,angular.isUndefined(i)&&(i=defaultFilterData),angular.isDefined(t.searchTypes)&&(i.searchType=t.searchTypes),t.myData=[],i.sum=t.gridOptions.paginationPageSize,g.fetchDataList("solutionReview",i).then(function(i){var n=p.stripRestangular(i);t.gridOptions.totalItems=n.totalNum,angular.isArray(n.list)?t.myData=n.list:s.swal({title:"数据为空",text:n.list,type:"warning"}),t.ldloading[e.replace("-","_")]=!1},function(){t.ldloading[e.replace("-","_")]=!1})},t.removeKnowledge=function(){var e=t.my_tree.get_selected_branch();null!=e?s.swal({title:"确认删除?",text:"删除数据后,将不能恢复该数据!",type:"warning",cancelButtonText:"取消",showCancelButton:!0,confirmButtonColor:"#DD6B55",confirmButtonText:"确认删除!"},function(i){i&&g.removeSolutionType(e.id).then(function(e){204==e.status?(t.try_async_load(),s.swal({title:"删除成功!",confirmButtonColor:"#007AFF"})):s.swal({title:"删除失败!",text:e.data,confirmButtonColor:"#007AFF"})})}):s.swal({title:"删除数据错误",text:"无法删除,请选中一个知识库类型!",type:"warning"})},t.editKnowledge=function(e){var i=l.open({templateUrl:"assets/views/knowledge/tpl/commentknowledge.html",controller:["$scope","$http","$modalInstance","APIService","uploader","currentUser","Alert","MomentFormat",function(t,i,n,o,a,r,s,l){var d=function(){t.visions=[],t.entity={},t.showCommentScore=!0,t.comments=[],o.fetchDataList("solutionReview",{idx:0,sum:1e3,solutionReview:{solutionId:e}}).then(function(e){if("500"!=e.status){var i=e.list;angular.isDefined(e.result)&&(t.showCommentScore=!1);for(var n=0;n<i.length;n++){var o={};o.id=i[n].id,o.name=i[n].userName,i[n].reviewScore>0&&(o.score=i[n].reviewScore);var a=i[n].review,r="";if(null!=a){var s=a.indexOf("<p>"),l=a.indexOf("</p>");r=a.substring(s+3,l)}o.content=r,o.time=moment(i[n].reviewTime).format("YYYY-MM-DD HH:mm:ss"),t.comments.push(o)}}}),o.findSolutionById(e).then(function(e){var i=e.data;t.entity={id:i.id,title:i.title,keys:i.keywords,type:i.typeId,range:i.solutionRange,number:i.solutionNumber,content:i.content,createrUserId:i.createUserId,createTime:i.createtime,status:i.status,hits:i.hits,relateId:i.relateId,vision:i.vision,vision2:"V"+i.vision,replies:i.replies,scores:i.scores,hits:i.hits,fileName:i.fileName,typeName:i.typeDTO.typeName}})};d(),t.options={language:"zh-cn",allowedContent:!0,entities:!1},t.uploader=a,t.getdown=function(t){i({url:o.getSolutionDowpath(e).getRequestedUrl(),method:"GET",headers:{Accept:"*/*"},responseType:"arraybuffer"}).success(function(e,i,n,o){var a=new Blob([e],{type:"application/octet-stream"}),r=URL.createObjectURL(a),s=document.createElement("a");s.href=r,s.target="_blank",s.download=t,document.body.appendChild(s),s.click()}).error(function(e,t,i,n){})},t.ranges=[{id:1,name:"全局"},{id:3,name:"组"}],t.cancel=function(){n.close(t.entity.id)},t.saveComment=function(e,i){t.entity.reviewcontent=e,t.entity.score=i,n.close(t.entity)}}],size:"lg",resolve:{APIService:function(){return g},uploader:function(){return t.uploader},currentUser:function(){return w.id},Alert:function(){return s},MomentFormat:function(){return moment}}});i.result.then(function(e){if(e.title){var i,n=e.id,o=e.reviewcontent;e.score&&(i=e.score.toFixed(1));var a={id:null,solutionId:n,userId:w.id,review:o,reviewScore:i,reviewTime:new Date};g.addSolutionReview(a).then(function(i){var n=i.status;"200"==n?s.swal({title:"评论知识库!",text:"评论知识库成功!",type:"success"},function(){g.findSolutions(e.id).then(function(i){for(var n=i.data[0],o=0;o<=t.solutionBBS.length;o++)if(t.solutionBBS.length>0&&t.solutionBBS[o].id==e.id){t.solutionBBS[o].replies=n.replies,t.solutionBBS[o].hits=n.hits,t.solutionBBS[o].scores=n.scores;break}})}):s.swal({title:"评论知识库!",text:"评论知识库失败!",type:"error"})})}})},t.my_tree=S={},t.try_async_load=function(){t.my_data=[],t.doing_async=!0,m.fetchDataList("group",{idx:0,sum:1e3}).then(function(e){for(var i=p.stripRestangular(e),n=i.list,o=[],a=0;a<n.length;a++){var r={};r.id=n[a].id,0==n[a].parent?r.parent="#":r.parent=n[a].parent,r.text=n[a].groupName,r.typeName="group",r.state={opened:!0},o.push(r)}t.groups=o}),g.findSolutionTypeActions(w.id).then(function(e){if(200==e.status){for(var i=e.data,n=[],o=0;o<i.length;o++){var a={};a.id=i[o].id,0!=i[o].pid&&(a.parent=i[o].pid),a.label=i[o].typeName,a.actions=i[o].actions,a.group="1",a.user="2",a.state={opened:!0},a.typeName="type",n.push(a)}t.my_data=v(n),t.tree_data=angular.copy(t.my_data),t.my_data.length>0&&(t.doing_async=!1)}else s.swal({title:"系统错误!",text:"请刷新重试!",type:"error"})}),t.showAddSolutionType=!1,t.showReviewKnowledgeType=!1};var S;t.my_tree_handler=function(e){_.treeIds=e.id,t.selectedTreeNode=e,t.refreshListData("expand-right",_)},t.my_data=[],t.tree_data=[],t.my_tree=S={},t.try_async_load(),t.ldloading={};var _={solutionReview:{status:1},idx:0,sum:y};t.statuses=[{status:1,label:"待审核"},{status:2,label:"已通过"},{status:3,label:"未通过"},{status:4,label:"已删除"}],t.filterSolutionStatus=function(e){var i=angular.copy(_);i.solutionReview.status=e,t.allfilterData=i,sessionStorage.searchknowledge=JSON.stringify(i),t.refreshListData("expand-right",i)},t.myKeyup=function(e){var i=window.event?e.keyCode:e.which;13==i&&t.searchSolution()},t.searchSolution=function(){t.refreshListData("expand-right",_)},t.reload=function(){e.searchknowledge&&(_=e.searchknowledge),t.refreshListData("expand-right",_)},t.reload()}]),app.controller("GidOperatorCtrl",["$http","$scope",function(e,t,i){t.edit=function(){t.colobject.grid.appScope.editKnowledge(t.item.id)},t.comment=function(){t.colobject.grid.appScope.commentSolution(t.item.id)},t.approval=function(){t.colobject.grid.appScope.approvalSolution(t.item.id,t.item.outTimePower)},t.publish=function(){t.colobject.grid.appScope.approvalSolution(t.item.id,t.item.outTimePower)},t.publishnot=function(){t.colobject.grid.appScope.approvalSolution(t.item.id,t.item.outTimePower)},t.detail=function(){t.colobject.grid.appScope.detailSolution(t.item.id)}}]),app.directive("gidoperator",function(){return{restrict:"E",scope:{item:"=",colobject:"="},controller:"GidOperatorCtrl",template:'<div class="links cl-effect-1 ui-grid-cell-contents" style="height:27px"><a ng-click="edit()" tooltip="审核" tooltip-placement="left"><i class="fa fa-pencil"></i></a></div>'}});