import { Component, OnInit } from '@angular/core'; import { FormBuilder,FormControl,FormGroup,Validators} from '@angular/forms'; import { HttpClientService } from '../../../../services/http-client.service'; import { Router,ActivatedRoute } from '@angular/router'; import { NzMessageService } from 'ng-zorro-antd'; import 'ztree'; declare var $: any; declare var jQuery: any; @Component({ selector: 'app-user-management-modify', templateUrl: './user-management-modify.component.html', styleUrls: ['./user-management-modify.component.scss','../../../main.scss'] }) export class UserManagementModifyComponent implements OnInit { validateForm: FormGroup; statusParamsTree:any={ //获取机构接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 status:1, } statusParamsRole:any={ //获取机构接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 status:1, } visible = false; //控制抽屉显示 treeSelected:any; orgDetail:any=''; //所选机构详情 orgList:any=[]; //机构列表 orgSeletedBtn:any=true; //控制机构选择按钮 nodeList:any=[]; saveCheck:any=false; //保存检查,保存验证表单 false 还未验证 true 触发了验证 roleList:any=[]; //保存所选角色 listOfRole:any=[]; //角色列表 constructor( private fb: FormBuilder, private http:HttpClientService, private route:ActivatedRoute, private router:Router, private message: NzMessageService, ) { } ngOnInit() { this.queryRole(); this.validateForm = this.fb.group({ real_name:[ '', [ Validators.required ] ], login_name:[ '', [ Validators.required ] ], password:[ '', [ Validators.required ] ], identify_num:[ ''], email:[ ''], mobile:[ ''], sex:['m'], status:['1'], role:[''] }); //取路由参数 this.route.queryParams.subscribe(routeParams=>{ //routeParams 1新增 2修改 if(routeParams.operateType==2){ } }) } checkName(){ console.log(334343) } //机构树,搜索功能 searchNode() { var zTree = $.fn.zTree.getZTreeObj("treeDemo"); zTree.cancelSelectedNode() var key = $("#key"); var value = $.trim(key.get(0).value); var keyType = "name"; this.nodeList = zTree.getNodesByParamFuzzy(keyType, value); if (value) { for (var i = this.nodeList.length - 1; i >= 0; i--) { zTree.selectNode(this.nodeList[i], true, false); } } } //删除机构标签 tagClose(event){ this.orgSeletedBtn=true; this.orgDetail=''; } //保存选择机构 treeSave(){ if(this.treeSelected){ this.orgDetail=this.treeSelected; this.visible = false; this.orgSeletedBtn=false; }else{ //如果没有选择机构,提示请选择机构 this.message.create('warning', `请选择所属机构!`,{ nzDuration: 2000 }); } } //打开机构树抽屉 open(): void { this.treeSelected=''; this.statusParamsTree.status=1; this.visible = true; this.initTree(); } //关闭机构选择页面 close(): void { this.visible = false; } submitForm(): void { this.saveCheck=true; for (const i in this.validateForm.controls) { this.validateForm.controls[ i ].markAsDirty(); this.validateForm.controls[ i ].updateValueAndValidity(); } if(this.validateForm.valid&&this.orgDetail&&this.roleList.length>0){ let item=this.validateForm.value; let params={ real_name: item.real_name, login_name: item.login_name, password: item.password, mobile: item.mobile, sex: item.sex, identify_num: item.identify_num, email: item.email, status: item.status, orgList: [], roleList: [], }; this.roleList.forEach(option=>{ params.roleList.push({ rid:option }) }) this.orgList.forEach(option=>{ if(option.id==this.orgDetail.id){ params.orgList.push(option) } }) console.log(params) this.http.post('/sysapi/setting/user/add', params).subscribe((json) => { if (json.is_success) { this.message.success(`新增成功`); this.router.navigate(['app/system/users']) } else { this.message.error(`新增失败`) } }) } } //取消 返回列表页 cancel(){ this.router.navigate(['app/system/users']) } //获取角色列表 queryRole(): void { this.statusParamsRole.status=1; this.http.get('/sysapi/setting/role/list', {page_index: '1',page_size: '100',}).subscribe((json) => { if (json.is_success) { this.listOfRole = json.body.list; if(json.body.list&&json.body.list.length>0){ this.statusParamsRole.status=3; }else{ this.statusParamsRole.status=4; } } else { this.statusParamsRole.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; }, }, }; //获取机构列表,树模型数据处理 initTree(){ //获取目录列表 this.statusParamsTree.status=1; this.http.get("/sysapi/setting/organization/list",).subscribe(json=>{ if(json.is_success){ if(json.body.length>0){ this.orgList=json.body; this.statusParamsTree.status=3; let children=[]; for(var i=0;i