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 = {}; //用户详情 currentUserInfo = JSON.parse(sessionStorage.getItem('userInfo')); constructor( private http: HttpClientService, private router: Router, private message: NzMessageService, ) { } ngOnInit() { // this.currentUserInfo = JSON.parse(sessionStorage.getItem('userInfo')); // console.log(sessionStorage.getItem('userInfo')); // 页面监听 动态改变表单高度 $('#tree-box').css('height', (document.documentElement.clientHeight - 106 + 'px')); $('#main-box-user').css('height', (document.documentElement.clientHeight - 106 + 'px')); $(window).resize(function () { $('#tree-box').css('height', (document.documentElement.clientHeight - 126 + 'px')); $('#main-box-user').css('height', (document.documentElement.clientHeight - 126 + 'px')); }) 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(`删除失败`) } }) } //新增、修改 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; } //获取列表 queryTable(): void { this.statusParamsTable.status = 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; } }) } //树模型参数设置 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(); }) } }