meansCtrl.js 12 KB

1
  1. "use strict";app.controller("meansCtrl",["$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",function(e,t,n,i,a,o,r,l,s,c,d,p,u,m,f,g,h,y,w,v,b,S){function k(e,t){for(var n={},i=null,a=null,o=0;o<e.length;o++){var r=e[o];r.children=[],n[r.id]=r,"undefined"==typeof r.parent||null==r.parent?(i=r,t[r.id]=i):(a=n[r.parent.id],delete r.parent,a.children.push(r))}return i}function D(e){var t={},n=[];return k(e,t),angular.forEach(t,function(e){n.push(e)}),n}t.langs=f.getAllLangs(),t.lang="zh-cn",f.setCurrentLang(t.lang);e.user;t.showdown=!1,t.clickshow=function(){t.showdown=!t.showdown},t.gridOptions={},t.gridOptions.data="myData",t.gridOptions.enableColumnResizing=!0,t.gridOptions.enableFiltering=!0,t.gridOptions.enableGridMenu=!0,t.gridOptions.enableRowSelection=!0,t.gridOptions.enableSelectAll=!0,t.gridOptions.showGridFooter=!0,t.gridOptions.showColumnFooter=!0,t.gridOptions.fastWatch=!0,t.gridOptions.useExternalFiltering=!0,t.gridOptions.useExternalPagination=!0,t.gridOptions.paginationPageSizes=[10,20,50,100],t.gridOptions.paginationPageSize=10,t.gridOptions.multiSelect=!0;t.gridOptions.paginationPageSize;t.gridOptions.rowIdentity=function(e){return e.id},t.gridOptions.getRowIdentity=function(e){return e.id},t.gridOptions.columnDefs=[{name:"操作",width:50,enableFiltering:!1,cellTemplate:'<div class="links cl-effect-1"><a ng-click="grid.appScope.onClick(row.entity)" tooltip="编辑" tooltip-placement="right"><i class="fa fa-pencil-square-o"></i></a></div>'},{name:"uuid",enableSorting:!1,displayName:"内部编码",width:130,enableFiltering:!1},{name:"name",enableSorting:!1,displayName:"资产名称",width:100,enableFiltering:!1},{name:"title",enableSorting:!1,displayName:"资产类型",width:100,enableFiltering:!1},{name:"status",enableSorting:!1,displayName:"资产状态",width:100,enableFiltering:!1},{name:"placeBasehw",enableSorting:!1,displayName:"资产地点",width:80,enableFiltering:!1},{name:"createtime",enableSorting:!1,displayName:"创建时间",width:80,enableFiltering:!1},{name:"plantime",enableSorting:!1,displayName:"预计报废时间",width:80,enableFiltering:!1},{name:"props.meansmanager",enableSorting:!1,displayName:"管理员",width:80,enableFiltering:!1},{name:"lastupdatetime",enableSorting:!1,displayName:"最后更新时间",width:100,enableFiltering:!1},{name:"props.meansliable",enableSorting:!1,displayName:"责任人",width:80,enableFiltering:!1}],t.gridOptions.rowTemplate='<div ng-click="onview(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>',t.onClick=function(e){var t={model:e};i.go("app.means.bill",{formKey:"means_edit",service:"api_cmdb",model:JSON.stringify(t)})},t.onview=function(e){var t={model:e};i.go("app.means.view",{formKey:"means_edit",service:"api_cmdb",model:JSON.stringify(t)})},t.gridOptions.onRegisterApi=function(e){t.gridApi=e,e.pagination.on.paginationChanged(t,function(e,n){var i=t.memoryfilterData;i.idx=e-1,i.sum=n,t.gridApi.grid.selection.selectAll=!1,t.myData=[],b.query(i).then(function(e){var n=y.stripRestangular(e);t.gridOptions.totalItems=e.total;for(var i=0;i<n.data.node.length;i++)n.data.node[i].createtime=moment(n.data.node[i].createtime).format("YYYY-MM-DD");if(t.myData=n.data.node,t.myData.length>0){for(var a=0,i=0;i<t.myData.length;i++)for(var o=0;o<t.selected.items.length;o++)t.myData[i].id==t.selected.items[o].id&&a++;10==a&&(t.gridApi.grid.selection.selectAll=!0)}},function(){})}),e.selection.on.rowSelectionChanged(t,function(e,n){if(e.isSelected)e.grid.appScope.selected.items.push(e.entity);else for(var i=0;i<=e.grid.appScope.selected.items.length;i++)if(e.grid.appScope.selected.items[i].id==e.entity.id){e.grid.appScope.selected.items.splice(i,1);break}t.mySelectedRows=t.gridApi.selection.getSelectedRows()}),e.selection.on.rowSelectionChangedBatch(t,function(e){var n=[];n=angular.copy(t.selected.items);for(var i=0;i<e.length;i++)1==e[i].isSelected?n.push(e[i].entity):delete n[i];t.selected.items=[];for(var a=0;a<n.length;a++)n[a]&&t.selected.items.push(n[a])})},t.searchSolution=function(e,n){t.gridApi.grid.options.paginationCurrentPage=1;var i={idx:0,sum:t.gridOptions.paginationPageSize};angular.extend(t.memoryfilterData,i),t.memoryfilterData.searchCriteria=e,t.memoryfilterData.keys=n,t.refreshData("expand-right",t.memoryfilterData)},t.onChangestatus=function(e){t.gridApi.grid.options.paginationCurrentPage=1;var n={idx:0,sum:t.gridOptions.paginationPageSize};angular.extend(t.memoryfilterData,n),t.memoryfilterData.status=e,t.refreshData("expand-right",t.memoryfilterData)},this.selectRowFunction=function(e){t.ciId=e.id};var x;t.my_tree_handler=function(e){var n=t.classify=e.prefix.toLowerCase()+e.sign;b.query({sign:n}).then(function(e){var t=y.stripRestangular(e);if(t.data&&200==t.status){t.data;redrawSvg(t)}})},t.my_data=[],t.my_tree=x={},t.try_async_load=function(){t.my_data=[],t.select_treedata=[],t.doing_async=!0,v.fetchDataList("ciclassify",{idx:0,sum:100}).then(function(e){t.select_treedata=t.my_data=D(e.list),t.doing_async=!1})},t.select_treedata=[],t.propTypeOptions=[],t.try_async_load(),t.onFilterremove=function(e){},t.onFilterCallback=function(e){if(angular.isDefined(e.children)&&e.children.length>=1);else{var n=e.prefix.toLowerCase()+e.sign;t.gridApi.grid.options.paginationCurrentPage=1,t.cifilter_classic=n;var i={sign:n,idx:0,sum:t.gridOptions.paginationPageSize};angular.extend(t.memoryfilterData,i),t.refreshData("expand-right",t.memoryfilterData)}},v.fetchDataList("ciedgetype",{idx:0,sum:100}).then(function(e){e&&(t.linktypeOptions=e.list)}),t.rela={},t.onChange=function(e){t.rela=e},t.openmodel=function(){var e=s.open({templateUrl:"assets/views/means/tpl/relationdown.html",controller:["$scope","scope","$modalInstance",function(e,t,n){e.key={},e.linktypeOptions=t.linktypeOptions,e.ok=function(e){n.close(e)},e.cancel=function(){n.dismiss("cancel")}}],size:"sm",resolve:{scope:function(){return t}}});e.result.then(function(e){if(e&&angular.isDefined(e.type)){var t=2;n({url:v.downModels(t,e.id,e.label).getRequestedUrl(),method:"GET",headers:{Accept:"*/*"},responseType:"arraybuffer"}).success(function(e,t,n,i){var a=new Blob([e],{type:"application/octet-stream"}),o=URL.createObjectURL(a),r=document.createElement("a");r.href=o,r.target="_blank",r.download="关系属性.xlsx",document.body.appendChild(r),r.click()}).error(function(e,t,n,i){})}else p.swal({title:"未选择资产关系!",text:"请选择资产关系",type:"error"})})},t.importopen=function(){var n=s.open({templateUrl:"assets/views/import.html",controller:["$scope","$modalInstance","FileUploader",function(t,n,i){var a=t.importUploader=new i({url:b.importData().getRequestedUrl(),alias:"file",removeAfterUpload:!0});a.onWhenAddingFileFailed=function(e,t,n){},a.onAfterAddingFile=function(e){t.importUploader.queue.length>1&&t.importUploader.queue.splice(0,1)},a.onAfterAddingAll=function(e){},a.onProgressItem=function(e,t){},a.onProgressAll=function(e){},a.onSuccessItem=function(t,n,i,a){200==n.status?p.swal({title:"导入成功!",confirmButtonColor:"#007AFF",type:"success"},function(){e.isMask=!1}):p.swal({title:"导入失败!",text:n.error,type:"error"},function(){e.isMask=!1})},a.onErrorItem=function(t,n,i,a){p.swal({title:"系统错误!",text:"系统错误,请稍候重试!",type:"error"},function(){e.isMask=!1})},a.onCancelItem=function(e,t,n,i){},a.onCompleteItem=function(e,t,n,i){},a.onCompleteAll=function(){},t.import=function(t){e.isMask=!0,a.onBeforeUploadItem=function(t){angular.extend(t.headers,e.getSession()),t.formData.push({filename:t.file.name})},a.uploadAll()},t.cancel=function(){n.dismiss("cancel")}}],size:"sm",resolve:{importUploader:function(){return t.importUploader}}});n.result.then(function(e){})},t.addData=function(e){i.go("app.means.editor",{formKey:"means_editor",service:"api_bpm_data"})},t.openmeans=function(){var i=s.open({templateUrl:"assets/views/means/tpl/meansdown.html",controller:["$scope","scope","$modalInstance",function(e,t,n){e.item={},e.headname="资产模版下载",e.select_treedata=t.select_treedata,e.ok=function(e){n.close(e)},e.cancel=function(){n.dismiss("cancel")}}],size:"sm",resolve:{scope:function(){return t}}});i.result.then(function(t){if(e.isMask=!0,t){var i=1;n({url:v.downModels(i,t.id,t.label).getRequestedUrl(),method:"GET",headers:{Accept:"*/*"},responseType:"arraybuffer"}).success(function(t,n,i,a){e.isMask=!1;var o=new Blob([t],{type:"application/octet-stream"}),r=URL.createObjectURL(o),l=document.createElement("a");l.href=r,l.target="_blank",l.download="资产属性.xlsx",document.body.appendChild(l),l.click()}).error(function(t,n,i,a){e.isMask=!1})}else p.swal({title:"未选择资产分类!",text:"请选择资产分类",type:"error"},function(){e.isMask=!1})})},t.exportopen=function(){var i=s.open({templateUrl:"assets/views/means/tpl/meansdown.html",controller:["$scope","scope","$modalInstance",function(e,t,n){e.item={},e.headname="资产导出",e.select_treedata=t.select_treedata,e.ok=function(e){n.close(e)},e.cancel=function(){n.dismiss("cancel")}}],size:"sm",resolve:{scope:function(){return t}}});i.result.then(function(t){if(e.isMask=!0,t){n({url:b.exportData(t.label,t.id).getRequestedUrl(),method:"GET",headers:{Accept:"*/*"},responseType:"arraybuffer"}).success(function(n,i,a,o){e.isMask=!1;var r=new Blob([n],{type:"application/octet-stream"}),l=URL.createObjectURL(r),s=document.createElement("a");s.href=l,s.target="_blank",s.download=t.label+".xlsx",document.body.appendChild(s),s.click()}).error(function(t,n,i,a){e.isMask=!1})}else p.swal({title:"未选择资产分类!",text:"请选择资产分类",type:"error"},function(){e.isMask=!1})})};var O=t.importUploader=new m({url:b.importData().getRequestedUrl()});O.onWhenAddingFileFailed=function(e,t,n){},O.onAfterAddingFile=function(e){},O.onAfterAddingAll=function(e){},O.onProgressItem=function(e,t){},O.onProgressAll=function(e){},O.onSuccessItem=function(t,n,i,a){200==n.status?p.swal({title:"导入成功!",confirmButtonColor:"#007AFF",type:"success"},function(){e.isMask=!1}):p.swal({title:"导入失败!",text:n.error,type:"error"},function(){e.isMask=!1})},O.onErrorItem=function(t,n,i,a){p.swal({title:"系统错误!",text:"系统错误,请稍候重试!",type:"error"},function(){e.isMask=!1})},O.onCancelItem=function(e,t,n,i){},O.onCompleteItem=function(e,t,n,i){},O.onCompleteAll=function(){},t.import=function(t){e.isMask=!0,O.onBeforeUploadItem=function(t){angular.extend(t.headers,e.getSession()),t.formData.push({filename:t.file.name})},O.uploadAll()},t.removeData=function(){var e=t.selected.items.id;b.put(t.selected.items,e).then(function(n){200==n.status?p.swal({title:"删除成功!",type:"success",confirmButtonColor:"#007AFF"},function(){t.myData=_.reject(t.myData,function(t){return _.includes(e,t.id)}),t.selected={items:[]}}):p.swal({title:"操作异常!",text:"系统异常,请稍后重试,或者联系管理员!",type:"error"})})},t.selected={items:[]},t.editted={items:[]};var A={idx:0,sum:t.gridOptions.paginationPageSize};t.memoryfilterData={idx:0,sum:t.gridOptions.paginationPageSize},t.ldloading={};i.current.pdKey;t.refreshData=function(e,n){angular.isUndefined(n)&&(n=A),t.myData=[],b.query(n).then(function(e){var n=y.stripRestangular(e);t.gridOptions.totalItems=e.total;for(var i=0;i<n.data.node.length;i++)n.data.node[i].createtime=moment(n.data.node[i].createtime).format("YYYY-MM-DD");t.myData=n.data.node},function(){})},t.refreshData("expand-right",A)}]),app.controller("MeansOperCtrl",["$rootScope","$http","$scope",function(e,t,n){n.look=function(){n.colobject.grid.appScope.lookFunction(n.item)},n.edit=function(){n.colobject.grid.appScope.selectRowFunction(n.item)}}]),app.directive("meansoperator",function(){return{restrict:"E",scope:{item:"=",colobject:"="},controller:"MeansOperCtrl",template:'<div class="links cl-effect-1"><a ng-click="look()" tooltip="查看" tooltip-placement="left"><i class="ti-eye"></i></a><a ng-click="edit()" tooltip="修改" tooltip-placement="left"><i class="fa fa-pencil-square-o"></i></a></div>'}});