import { Component, OnInit } from '@angular/core'; import { HttpClientService } from '../../../services/http-client.service'; import { Router } from '@angular/router'; import { NzMessageService } from 'ng-zorro-antd'; import 'ztree'; declare var $: any; declare var jQuery: any; @Component({ selector: 'app-user-management', templateUrl: './user-management.component.html', styleUrls: ['./user-management.component.scss',] }) export class UserManagementComponent implements OnInit { treeSelected:any; //树模型-当前选中项 collectionSize:any ; public tableData:any=[]; statusParamsTable:any={ //获取目录树接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 status:1, } statusParamsTree:any={ //获取机构接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 status:1, } statusParamsDetail:any={ //获取用户详情接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 status:1, } public search:any={ page_index:'1', page_size:'10', real_name:'', login_name:'', orgId:'', } visible = false; userDetail:any={}; //用户详情 tableHeight:any='100'; constructor( private http:HttpClientService, private router:Router, private message: NzMessageService, ) { } ngOnInit() { // 页面监听 动态改变表单高度 $('#tree-box').css('height',(document.documentElement.clientHeight-126+'px')); $('#main-box').css('height',(document.documentElement.clientHeight-126+'px')); let winHeight=document.documentElement.clientHeight; if(winHeight-396>100){ this.tableHeight=winHeight-396; } $(window).resize(function(){ $('#tree-box').css('height',(document.documentElement.clientHeight-126+'px')); $('#main-box').css('height',(document.documentElement.clientHeight-126+'px')); let winHeight2=document.documentElement.clientHeight; if(winHeight2-396>100){ this.tableHeight=winHeight2-396; } }) this.initTree(); this.queryTable(); } //删除 delectConfirm(item){ this.http.delete('/sysapi/setting/user/deleteById/'+item.uid).subscribe((json)=>{ if(json.is_success){ this.message.success(`删除成功!`); this.queryTable(); }else{ this.message.error(`删除失败`) } }) } //取消删除 delectCancel(){ } //新增、修改 1新增 2修改 addModify(type,item?){ if(type==1){ this.router.navigate(['app/system/users/modify'],{queryParams:{operateType:1}}) }else if(type==2){ this.router.navigate(['app/system/users/modify'],{queryParams:{operateType:2,id:item.uid}}) } } //打开详情页面 open(item): void { this.statusParamsDetail.status=1; this.visible = true; this.userDetail={}; this.http.get('/sysapi/setting/user/detail/list', { uid: item.uid }).subscribe((json)=>{ if(json.is_success){ if(json.body){ this.statusParamsDetail.status=3; this.userDetail=json.body; }else{ this.statusParamsDetail.status=4; } }else{ this.statusParamsDetail.status=0; } }) } //关闭详情页面 close(): void { this.visible = false; } //重置,重置搜索条件 reset(){ this.search.real_name=''; this.search.login_name=''; this.queryTable(); } //获取列表 queryTable(params?):void{ this.statusParamsTable.status=1; this.tableData=[]; this.collectionSize=''; if(params){ this.search.page_index=params; }else{ this.search.page_index='1'; } this.http.get('/sysapi/setting/user/list',this.search).subscribe((json)=>{ if(json.is_success){ this.tableData=json.body.list; this.collectionSize=json.body.total; if(json.body.list&&json.body.list.length>0){ this.statusParamsTable.status=3; }else{ this.statusParamsTable.status=4; } }else{ this.statusParamsTable.status=0; } }) } //翻页 pageChange(event){ this.queryTable(event); } //树模型参数设置 public zNodes: any[]; setting = { data: { simpleData: { enable: true } }, view: { showLine: true, dblClickExpand: false, showIcon:true }, callback: { //节点点击事件 onClick: (event, treeId, treeNode, clickFlag) => { var zTree = $.fn.zTree.getZTreeObj("treeDemo"); this.treeSelected=treeNode; let isTopNode=this.treeSelected.getParentNode(); //是否为顶级节点 true不是顶级节点 false 为顶级节点 if(isTopNode){ //子节点 this.search.orgId=this.treeSelected.id; }else{ //顶级节点 this.search.orgId=''; } this.queryTable(); }, }, }; //获取机构列表,树模型数据处理 initTree(){ //获取目录列表 this.statusParamsTree.status=1; this.http.get("/sysapi/setting/organization/list",).subscribe(json=>{ if(json.is_success){ if(json.body.length>0){ this.statusParamsTree.status=3; let children=[]; json.body.forEach(option=>{ option.name=option.organization; if(option.pid){ option.pId=option.pid; }else{ option.pId='hsfuhiw34239j89sauf98992h3indshv98h392hf9mplsd032fs2a2313fc'; } }); json.body.push({ name:"全部机构", isParent:true, open:true, id:'hsfuhiw34239j89sauf98992h3indshv98h392hf9mplsd032fs2a2313fc', }) }else{ //数据为空 this.statusParamsTree.status=4; } }else{ //请求失败 this.statusParamsTree.status=0; } this.zNodes=json.body; $.fn.zTree.init($("#treeDemo"), this.setting, this.zNodes); var zTree = $.fn.zTree.getZTreeObj("treeDemo"); let node = zTree.getNodes(); }) } }