|
|
|
@ -1,6 +1,14 @@ |
|
|
|
|
import { Component, OnInit } from '@angular/core'; |
|
|
|
|
import {Component, OnInit} from '@angular/core'; |
|
|
|
|
import {LocalStorageService} from '../../services/local-storage.service'; |
|
|
|
|
import {DATA, ROUTENAME, MENUNAME, CHILDMENUNAME, INIT_FLAG, ADMIN_INFO_OBJECT, TOKEN} from '../../services/local-storage.namespace'; |
|
|
|
|
import { |
|
|
|
|
DATA, |
|
|
|
|
ROUTENAME, |
|
|
|
|
MENUNAME, |
|
|
|
|
CHILDMENUNAME, |
|
|
|
|
INIT_FLAG, |
|
|
|
|
ADMIN_INFO_OBJECT, |
|
|
|
|
TOKEN |
|
|
|
|
} from '../../services/local-storage.namespace'; |
|
|
|
|
import {LoginService} from '../../services/login.service'; |
|
|
|
|
import {NzMessageService, NzModalService} from 'ng-zorro-antd'; |
|
|
|
|
import {Router} from '@angular/router'; |
|
|
|
@ -12,164 +20,172 @@ import {Md5} from 'ts-md5'; |
|
|
|
|
import {environment} from '../../../environments/environment'; |
|
|
|
|
import {HttpClient} from '@angular/common/http'; |
|
|
|
|
import {CompanyTwoPwdService} from '../../services/company-two-pwd.service'; |
|
|
|
|
import {WebsocketService} from '../../services/websocket.service'; |
|
|
|
|
|
|
|
|
|
@Component({ |
|
|
|
|
selector: 'app-navigation', |
|
|
|
|
templateUrl: './navigation.component.html', |
|
|
|
|
styleUrls: ['./navigation.component.less'] |
|
|
|
|
selector: 'app-navigation', |
|
|
|
|
templateUrl: './navigation.component.html', |
|
|
|
|
styleUrls: ['./navigation.component.less'], |
|
|
|
|
}) |
|
|
|
|
export class NavigationComponent implements OnInit { |
|
|
|
|
|
|
|
|
|
visibleUpdatePwd = false; // 修改密码抽屉
|
|
|
|
|
validateForm: FormGroup; // 定义表单
|
|
|
|
|
passwordVisible = false; |
|
|
|
|
|
|
|
|
|
isCollapsed = false; |
|
|
|
|
userInfo: any; |
|
|
|
|
menuList: any; |
|
|
|
|
routeName: string; |
|
|
|
|
switchValue = false; |
|
|
|
|
constructor( |
|
|
|
|
private storage: LocalStorageService, |
|
|
|
|
private loginService: LoginService, |
|
|
|
|
private message: NzMessageService, |
|
|
|
|
private commonsService: CommonsService, |
|
|
|
|
private companyTwoPwdService: CompanyTwoPwdService, |
|
|
|
|
private http: HttpClient, // http请求
|
|
|
|
|
private iconService: IconService, |
|
|
|
|
private modal: NzModalService, |
|
|
|
|
private fb: FormBuilder, // 表单
|
|
|
|
|
private router: Router, |
|
|
|
|
) { } |
|
|
|
|
|
|
|
|
|
ngOnInit(): void { |
|
|
|
|
this.validateForm = this.fb.group({ |
|
|
|
|
oldPassword: [null, [Validators.required, ValidatorsService.minLength(6), ValidatorsService.maxLength(16)]], |
|
|
|
|
newPassword: [null, [Validators.required, ValidatorsService.minLength(6), ValidatorsService.maxLength(16)]], |
|
|
|
|
checkNewPassword: [null, [Validators.required, this.checkPwd]], |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.routeName = this.storage.get(ROUTENAME) == null ? 'index' : this.storage.get(ROUTENAME); |
|
|
|
|
this.userInfo = this.storage.getList(ADMIN_INFO_OBJECT); |
|
|
|
|
this.commonsService.mappingSysNameOl('RECHARGE', data => { |
|
|
|
|
this.switchValue = data['return_data']['codeValue'] === '1'; |
|
|
|
|
}); |
|
|
|
|
this.menuList = this.storage.getList(ADMIN_INFO_OBJECT)['menuList']; // 定义菜单数据
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public activeLi(routeName): void { |
|
|
|
|
this.routeName = routeName; |
|
|
|
|
this.storage.set(ROUTENAME, routeName); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 菜单姓名
|
|
|
|
|
public getRouteName(menuName , childMenuName): void { |
|
|
|
|
this.storage.set(MENUNAME, menuName); |
|
|
|
|
this.storage.set(CHILDMENUNAME, childMenuName); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 登出
|
|
|
|
|
public loginOut(): void { |
|
|
|
|
this.loginService.loginOut(data => { |
|
|
|
|
if (data.return_code === '000000') { |
|
|
|
|
this.storage.set(ADMIN_INFO_OBJECT, null); |
|
|
|
|
this.storage.set(INIT_FLAG, false); |
|
|
|
|
this.storage.set(TOKEN, null); |
|
|
|
|
this.router.navigateByUrl('/adminLogin').then(); |
|
|
|
|
} else { |
|
|
|
|
this.message.warning(data.return_msg); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 返回
|
|
|
|
|
public getBack(): void { |
|
|
|
|
history.back(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
clickSwitch(): void { |
|
|
|
|
this.switchValue = !this.switchValue; |
|
|
|
|
this.commonsService.updateDictionary('RECHARGE' , this.switchValue === true ? '1' : '0' , data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.message.success(data['return_data']); |
|
|
|
|
} else { |
|
|
|
|
this.message.error(data['return_msg']); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 打开抽屉
|
|
|
|
|
openUpdatePwd(): void { |
|
|
|
|
this.visibleUpdatePwd = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 关闭抽屉
|
|
|
|
|
closeUser(): void { |
|
|
|
|
this.visibleUpdatePwd = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 提交表单
|
|
|
|
|
submitForm(value): void { |
|
|
|
|
// 表单验证
|
|
|
|
|
// tslint:disable-next-line:forin
|
|
|
|
|
for (const i in this.validateForm.controls) { |
|
|
|
|
this.validateForm.controls[i].markAsDirty(); |
|
|
|
|
this.validateForm.controls[i].updateValueAndValidity(); |
|
|
|
|
visibleUpdatePwd = false; // 修改密码抽屉
|
|
|
|
|
validateForm: FormGroup; // 定义表单
|
|
|
|
|
passwordVisible = false; |
|
|
|
|
|
|
|
|
|
isCollapsed = false; |
|
|
|
|
userInfo: any; |
|
|
|
|
menuList: any; |
|
|
|
|
routeName: string; |
|
|
|
|
switchValue = false; |
|
|
|
|
|
|
|
|
|
constructor( |
|
|
|
|
private storage: LocalStorageService, |
|
|
|
|
private loginService: LoginService, |
|
|
|
|
private message: NzMessageService, |
|
|
|
|
private commonsService: CommonsService, |
|
|
|
|
private companyTwoPwdService: CompanyTwoPwdService, |
|
|
|
|
private http: HttpClient, // http请求
|
|
|
|
|
private iconService: IconService, |
|
|
|
|
private webSocketService: WebsocketService, |
|
|
|
|
private store: LocalStorageService, // 数据请求
|
|
|
|
|
private modal: NzModalService, |
|
|
|
|
private fb: FormBuilder, // 表单
|
|
|
|
|
private router: Router, |
|
|
|
|
) { |
|
|
|
|
} |
|
|
|
|
if (this.validateForm.status == null || this.validateForm.status !== 'VALID') { |
|
|
|
|
this.modal.info({ |
|
|
|
|
nzTitle: '提示', |
|
|
|
|
nzContent: '请正确填写必填信息', |
|
|
|
|
}); |
|
|
|
|
return; |
|
|
|
|
|
|
|
|
|
ngOnInit(): void { |
|
|
|
|
this.validateForm = this.fb.group({ |
|
|
|
|
oldPassword: [null, [Validators.required, ValidatorsService.minLength(6), ValidatorsService.maxLength(16)]], |
|
|
|
|
newPassword: [null, [Validators.required, ValidatorsService.minLength(6), ValidatorsService.maxLength(16)]], |
|
|
|
|
checkNewPassword: [null, [Validators.required, this.checkPwd]], |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
this.routeName = this.storage.get(ROUTENAME) == null ? 'index' : this.storage.get(ROUTENAME); |
|
|
|
|
this.userInfo = this.storage.getList(ADMIN_INFO_OBJECT); |
|
|
|
|
this.commonsService.mappingSysNameOl('RECHARGE', data => { |
|
|
|
|
this.switchValue = data['return_data']['codeValue'] === '1'; |
|
|
|
|
}); |
|
|
|
|
this.menuList = this.storage.getList(ADMIN_INFO_OBJECT)['menuList']; // 定义菜单数据
|
|
|
|
|
|
|
|
|
|
// 连接websocket
|
|
|
|
|
// this.webSocketService.connect(`wss://hsgcs.dctpay.com/msg/WebSocket/` + this.store.get(ADMIN_INFO_OBJECT)['merchantStore'].id);
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
const timeNum = new Date().getTime(); |
|
|
|
|
const signStr = 'userId=' + this.storage.get(ADMIN_INFO_OBJECT)['secUser'].id + '&newPassword=' + value.newPassword + '&nonceStr=' + timeNum; |
|
|
|
|
// 定义请求数据
|
|
|
|
|
const params = { |
|
|
|
|
userId: this.storage.get(ADMIN_INFO_OBJECT)['secUser'].id, |
|
|
|
|
oldPassword: value.oldPassword, |
|
|
|
|
newPassword: value.newPassword, |
|
|
|
|
nonceStr: timeNum, |
|
|
|
|
sign: String(Md5.hashStr(signStr)).toLocaleUpperCase(), |
|
|
|
|
}; |
|
|
|
|
this.http.post(environment.baseUrl + '/secUser/sendUserPass', params).subscribe(data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.modal.success({ |
|
|
|
|
nzTitle: '提示', |
|
|
|
|
nzContent: '密码修改成功', |
|
|
|
|
nzOkText: '重新登录', |
|
|
|
|
nzOkType: 'primary', |
|
|
|
|
nzOnOk: () => this.loginOut() |
|
|
|
|
|
|
|
|
|
public activeLi(routeName): void { |
|
|
|
|
this.routeName = routeName; |
|
|
|
|
this.storage.set(ROUTENAME, routeName); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 菜单姓名
|
|
|
|
|
public getRouteName(menuName, childMenuName): void { |
|
|
|
|
this.storage.set(MENUNAME, menuName); |
|
|
|
|
this.storage.set(CHILDMENUNAME, childMenuName); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 登出
|
|
|
|
|
public loginOut(): void { |
|
|
|
|
this.loginService.loginOut(data => { |
|
|
|
|
if (data.return_code === '000000') { |
|
|
|
|
this.storage.set(ADMIN_INFO_OBJECT, null); |
|
|
|
|
this.storage.set(INIT_FLAG, false); |
|
|
|
|
this.storage.set(TOKEN, null); |
|
|
|
|
this.router.navigateByUrl('/adminLogin').then(); |
|
|
|
|
} else { |
|
|
|
|
this.message.warning(data.return_msg); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} else { |
|
|
|
|
this.modal.warning({ |
|
|
|
|
nzTitle: '提示', |
|
|
|
|
nzContent: data['return_msg'], |
|
|
|
|
nzOkText: '取消', |
|
|
|
|
nzOkType: 'primary', |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 返回
|
|
|
|
|
public getBack(): void { |
|
|
|
|
history.back(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
clickSwitch(): void { |
|
|
|
|
this.switchValue = !this.switchValue; |
|
|
|
|
this.commonsService.updateDictionary('RECHARGE', this.switchValue === true ? '1' : '0', data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.message.success(data['return_data']); |
|
|
|
|
} else { |
|
|
|
|
this.message.error(data['return_msg']); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
setTimeout(() => { |
|
|
|
|
}, 1000); |
|
|
|
|
}, error => { |
|
|
|
|
this.message.create('error', `未知错误!`); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 新密码校验两次密码是否一致 |
|
|
|
|
* @param control |
|
|
|
|
*/ |
|
|
|
|
checkPwd = (control: FormControl): { [s: string]: boolean } => { |
|
|
|
|
if (!control.value) { |
|
|
|
|
return { required: true }; |
|
|
|
|
} else if (control.value !== this.validateForm.controls.newPassword.value) { |
|
|
|
|
return { confirm: true, error: true }; |
|
|
|
|
} |
|
|
|
|
return {}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 打开抽屉
|
|
|
|
|
openUpdatePwd(): void { |
|
|
|
|
this.visibleUpdatePwd = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 关闭抽屉
|
|
|
|
|
closeUser(): void { |
|
|
|
|
this.visibleUpdatePwd = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 提交表单
|
|
|
|
|
submitForm(value): void { |
|
|
|
|
// 表单验证
|
|
|
|
|
// tslint:disable-next-line:forin
|
|
|
|
|
for (const i in this.validateForm.controls) { |
|
|
|
|
this.validateForm.controls[i].markAsDirty(); |
|
|
|
|
this.validateForm.controls[i].updateValueAndValidity(); |
|
|
|
|
} |
|
|
|
|
if (this.validateForm.status == null || this.validateForm.status !== 'VALID') { |
|
|
|
|
this.modal.info({ |
|
|
|
|
nzTitle: '提示', |
|
|
|
|
nzContent: '请正确填写必填信息', |
|
|
|
|
}); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
const timeNum = new Date().getTime(); |
|
|
|
|
const signStr = 'userId=' + this.storage.get(ADMIN_INFO_OBJECT)['secUser'].id + '&newPassword=' + value.newPassword + '&nonceStr=' + timeNum; |
|
|
|
|
// 定义请求数据
|
|
|
|
|
const params = { |
|
|
|
|
userId: this.storage.get(ADMIN_INFO_OBJECT)['secUser'].id, |
|
|
|
|
oldPassword: value.oldPassword, |
|
|
|
|
newPassword: value.newPassword, |
|
|
|
|
nonceStr: timeNum, |
|
|
|
|
sign: String(Md5.hashStr(signStr)).toLocaleUpperCase(), |
|
|
|
|
}; |
|
|
|
|
this.http.post(environment.baseUrl + '/secUser/sendUserPass', params).subscribe(data => { |
|
|
|
|
if (data['return_code'] === '000000') { |
|
|
|
|
this.modal.success({ |
|
|
|
|
nzTitle: '提示', |
|
|
|
|
nzContent: '密码修改成功', |
|
|
|
|
nzOkText: '重新登录', |
|
|
|
|
nzOkType: 'primary', |
|
|
|
|
nzOnOk: () => this.loginOut() |
|
|
|
|
}); |
|
|
|
|
} else { |
|
|
|
|
this.modal.warning({ |
|
|
|
|
nzTitle: '提示', |
|
|
|
|
nzContent: data['return_msg'], |
|
|
|
|
nzOkText: '取消', |
|
|
|
|
nzOkType: 'primary', |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
setTimeout(() => { |
|
|
|
|
}, 1000); |
|
|
|
|
}, error => { |
|
|
|
|
this.message.create('error', `未知错误!`); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 新密码校验两次密码是否一致 |
|
|
|
|
* @param control |
|
|
|
|
*/ |
|
|
|
|
checkPwd = (control: FormControl): { [s: string]: boolean } => { |
|
|
|
|
if (!control.value) { |
|
|
|
|
return {required: true}; |
|
|
|
|
} else if (control.value !== this.validateForm.controls.newPassword.value) { |
|
|
|
|
return {confirm: true, error: true}; |
|
|
|
|
} |
|
|
|
|
return {}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|