系统管理bug修改及添加个人修改密码

This commit is contained in:
zhouyuejun
2019-04-16 15:09:47 +08:00
parent 0cf197c0d1
commit 465bd37dc5
10 changed files with 365 additions and 135 deletions
+120 -14
View File
@@ -5,6 +5,13 @@ import { OperateSpinServiceService } from '../services/operate-spin-service.serv
import { HttpClientService } from '../services/http-client.service';
import { NzMessageService } from 'ng-zorro-antd';
import {
FormBuilder,
FormControl,
FormGroup,
Validators
} from '@angular/forms';
import { filter } from 'rxjs/operators';
// import 'rxjs/add/operator/map';
// import 'rxjs/add/operator/mergeMap';
@@ -19,10 +26,18 @@ export class PagesComponent implements OnInit {
public role_type: string;
public menuClose: boolean = false;
public isSpinning: any = false;
menuData = []
menuData = [];
modalIsVisible = false;
isConfirmLoading = false;
dropdownVisible = false;
validateForm: FormGroup;
constructor(
private router: Router,
private fb: FormBuilder,
private basicDataService: BasicDataService,
private operateSpinService: OperateSpinServiceService,
private httpClient: HttpClientService,
@@ -34,19 +49,6 @@ export class PagesComponent implements OnInit {
this.basicDataService.loadBasicData();
}
menuDataHandle(menu) {
menu['name'] = menu.data.menu.title;
menu['icon'] = menu.data.menu.icon;
menu['isExpend'] = false;
menu['isActive'] = false;
delete menu.data;
if (menu.children && menu.children.length > 0) {
menu.children.forEach(menu => {
this.menuDataHandle(menu);
})
}
}
ngOnInit() {
this.httpClient.get('/sysapi/common/menu/list', { sysid: 1 }).subscribe(
res => {
@@ -77,12 +79,116 @@ export class PagesComponent implements OnInit {
).subscribe((event) => {
this.selectActiveMenu(this.menuData, event['urlAfterRedirects'])
});
this.validateForm = this.fb.group({
oldPassword: ['', [Validators.required]],
newPassword: ['', [Validators.required]],
confirmPassword: ['', [Validators.required, this.confirmationValidator]],
});
}
confirmationValidator = (control: FormControl): { [s: string]: boolean } => {
// console.log(control.value);
if (!control.value) {
return { required: true };
} else if (control.value !== this.validateForm.controls.newPassword.value) {
return { confirm: true, error: true };
}
return {};
};
updateConfirmValidator(): void {
/** wait for refresh value */
Promise.resolve().then(() => this.validateForm.controls.confirmPassword.updateValueAndValidity());
}
/**
* 修改密码
*/
modifyPassword() {
this.dropdownVisible = false;
this.modalIsVisible = true;
}
modifyHandleOk(): void {
this.isConfirmLoading = true;
this.httpClient.post('/adminapi/xxxxx', this.validateForm.value).subscribe((response) => {
// console.log(response);
this.message.success('修改密码成功!');
this.validateForm.patchValue({
oldPassword: '',
newPassword: '',
confirmPassword: ''
})
for (const i in this.validateForm.controls) {
this.validateForm.controls[i].markAsPristine();
this.validateForm.controls[i].markAsUntouched();
this.validateForm.controls[i].updateValueAndValidity();
}
this.modalIsVisible = false;
this.isConfirmLoading = false;
}, err => {
// console.log(err);
this.message.error('修改密码失败!');
this.validateForm.patchValue({
oldPassword: '',
newPassword: '',
confirmPassword: ''
})
for (const i in this.validateForm.controls) {
this.validateForm.controls[i].markAsPristine();
this.validateForm.controls[i].markAsUntouched();
this.validateForm.controls[i].updateValueAndValidity();
}
this.modalIsVisible = false;
this.isConfirmLoading = false;
})
}
modifyHandleCancel(): void {
this.modalIsVisible = false;
this.validateForm.patchValue({
oldPassword: '',
newPassword: '',
confirmPassword: ''
})
for (const i in this.validateForm.controls) {
this.validateForm.controls[i].markAsPristine();
this.validateForm.controls[i].markAsUntouched();
this.validateForm.controls[i].updateValueAndValidity();
}
}
//退出点击
logoutClick() {
this.dropdownVisible = true;
}
/**
* 展开收起菜单
*/
toggleMenu() {
this.menuClose = !this.menuClose;
}
/**
*
* 菜单数据处理
*/
menuDataHandle(menu) {
menu['name'] = menu.data.menu.title;
menu['icon'] = menu.data.menu.icon;
menu['isExpend'] = false;
menu['isActive'] = false;
delete menu.data;
if (menu.children && menu.children.length > 0) {
menu.children.forEach(menu => {
this.menuDataHandle(menu);
})
}
}
/**
* 判断是否有子节点
* @param item