216 lines
6.2 KiB
TypeScript
216 lines
6.2 KiB
TypeScript
import { DatePipe } from '@angular/common';
|
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
|
import { ActivatedRoute } from '@angular/router';
|
|
import { apiConf } from '@conf/api.conf';
|
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
|
import { UsermanageService } from 'src/app/routes/usercenter/services/usercenter.service';
|
|
import { ImageViewComponent } from 'src/app/shared/components/imagelist';
|
|
|
|
@Component({
|
|
selector: 'app-captain-detail',
|
|
templateUrl: './captain-detail.component.html',
|
|
styleUrls: ['./captain-detail.component.less'],
|
|
providers: [DatePipe]
|
|
})
|
|
export class CaptainDetailComponent implements OnInit {
|
|
userDetail: any;
|
|
userIdentityDetail: any = {};
|
|
tempalateUserIdentityDetail = { ...this.userIdentityDetail };
|
|
|
|
@ViewChild('redectModal', { static: false })
|
|
redectModal!: any;
|
|
@ViewChild('rejectedDriverModal', { static: false })
|
|
rejectedDriverModal!: any;
|
|
approvalOpinion = '';
|
|
|
|
isEditUser = false;
|
|
|
|
uploadURl = apiConf.waterFileUpload;
|
|
disabledUpload = false;
|
|
constructor(
|
|
private nzModalService: NzModalService,
|
|
public service: UsermanageService,
|
|
private route: ActivatedRoute,
|
|
private datePipe: DatePipe
|
|
) {}
|
|
|
|
ngOnInit() {
|
|
this.initData();
|
|
}
|
|
initData() {
|
|
// 获取司机头部信息
|
|
this.service
|
|
.request(this.service.$api_get_user_detail, {
|
|
appUserId: this.route.snapshot.params.id
|
|
})
|
|
.subscribe(res => {
|
|
if (res) {
|
|
this.userDetail = res;
|
|
}
|
|
});
|
|
// 获取用户个人信息
|
|
this.service
|
|
.request(this.service.$api_get_user_identity, {
|
|
id: this.route.snapshot.params.id
|
|
})
|
|
.subscribe(res => {
|
|
if (res) {
|
|
this.userIdentityDetail = res;
|
|
this.tempalateUserIdentityDetail = { ...this.userIdentityDetail };
|
|
}
|
|
});
|
|
}
|
|
|
|
/** 启用/冻结司机 */
|
|
userAction(status: number) {
|
|
console.log(this.userDetail);
|
|
|
|
this.nzModalService.warning({
|
|
nzTitle: status === 1 ? '确定启用该司机吗?' : '确定冻结该司机吗?',
|
|
nzContent: status === 1 ? '启用后,该司机将恢复正常使用功能,请再次确认!' : '冻结后,司机将被限制使用,无法登陆,请谨慎操作!',
|
|
nzOnOk: () => {
|
|
this.service
|
|
.request(this.service.$api_lock_or_free_user, {
|
|
appUserId: [this.userDetail.appUserId],
|
|
freezeOrResume: !!!status,
|
|
pageName: '司机详情',
|
|
telephone: this.userDetail.phone
|
|
})
|
|
.subscribe(res => {
|
|
if (res) {
|
|
this.service.msgSrv.success('操作成功');
|
|
}
|
|
this.initData();
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
/** 审核通过个人信息 */
|
|
approveUser() {
|
|
this.nzModalService.confirm({
|
|
nzTitle: '审核通过',
|
|
nzContent: `是否确认通过(姓名:${this.userIdentityDetail.name})审核`,
|
|
nzOnOk: () => {
|
|
this.adjuctUser({ auditStatus: 0, auditType: 0, identityId: this.userIdentityDetail?.id }, '审核通过');
|
|
}
|
|
});
|
|
}
|
|
|
|
/** 驳回个人信息 */
|
|
rejectedUser() {
|
|
this.approvalOpinion = '';
|
|
this.nzModalService.create({
|
|
nzTitle: '审核驳回',
|
|
nzContent: this.redectModal,
|
|
nzOnOk: () => {
|
|
if (!this.approvalOpinion) {
|
|
return false;
|
|
}
|
|
this.adjuctUser(
|
|
{
|
|
auditStatus: 1,
|
|
auditType: 0,
|
|
identityId: this.userIdentityDetail?.id,
|
|
certificationOpinions: this.approvalOpinion
|
|
},
|
|
'审核驳回成功'
|
|
);
|
|
return;
|
|
}
|
|
});
|
|
}
|
|
|
|
/** 个人信息审核 */
|
|
private adjuctUser(params: any, msg: string) {
|
|
this.service.request(this.service.$api_approve_identity, { ...params }).subscribe(res => {
|
|
if (res) {
|
|
this.service.msgSrv.success(msg);
|
|
}
|
|
this.initData();
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 开启修改
|
|
*/
|
|
ratify() {
|
|
this.isEditUser = true;
|
|
}
|
|
|
|
/**
|
|
* 需求修改
|
|
*/
|
|
reset() {
|
|
this.userIdentityDetail = { ...this.tempalateUserIdentityDetail };
|
|
this.isEditUser = false;
|
|
}
|
|
|
|
saveUser() {
|
|
const userIdentity = this.userIdentityDetail;
|
|
const params = {
|
|
certificateNumber: userIdentity.certificateNumber,
|
|
certificatePhotoBack: userIdentity.certificatePhotoBack,
|
|
certificatePhotoBackWatermark: userIdentity.certificatePhotoBackWatermark,
|
|
certificatePhotoFront: userIdentity.certificatePhotoFront,
|
|
certificatePhotoFrontWatermark: userIdentity.certificatePhotoFrontWatermark,
|
|
certificateType: userIdentity.certificateType,
|
|
handCertificate: userIdentity.handCertificate,
|
|
id: userIdentity.id,
|
|
name: userIdentity.name,
|
|
souceType: userIdentity.souceType,
|
|
sourceAppId: userIdentity.sourceAppId,
|
|
tenantId: userIdentity.tenantId,
|
|
userId: userIdentity.userId,
|
|
validEndTime:
|
|
userIdentity.validEndTime?.length === 10
|
|
? userIdentity.validEndTime
|
|
: this.datePipe.transform(userIdentity.validEndTime, 'yyyy-MM-dd'),
|
|
validStartTime:
|
|
userIdentity.validStartTime?.length === 10
|
|
? userIdentity.validStartTime
|
|
: this.datePipe.transform(userIdentity.validStartTime, 'yyyy-MM-dd')
|
|
};
|
|
this.service.request(this.service.$api_update_driver_identity, params).subscribe(res => {
|
|
if (res) {
|
|
this.service.msgSrv.success('修改成功');
|
|
this.isEditUser = false;
|
|
this.initData();
|
|
}
|
|
});
|
|
}
|
|
|
|
changeUpload({ file, fileList, type }: any, data: any, key: string, key2: string) {
|
|
if (type === 'success') {
|
|
data[key] = file.response.data?.fullFileWatermarkPath;
|
|
data[key2] = file.response.data?.fullFilePath;
|
|
}
|
|
}
|
|
|
|
showImg(url: any) {
|
|
const params = {
|
|
imgList: [url],
|
|
index: 0
|
|
};
|
|
this.nzModalService.create({ nzContent: ImageViewComponent, nzComponentParams: { params } });
|
|
}
|
|
|
|
deleteImg(data: any, key: string, key2: string) {
|
|
this.nzModalService.warning({
|
|
nzTitle: '是否确认删除该图片',
|
|
nzOnOk: () => {
|
|
this.disabledUpload = true;
|
|
data[key] = '';
|
|
data[key2] = '';
|
|
setTimeout(() => {
|
|
this.disabledUpload = false;
|
|
}, 100);
|
|
}
|
|
});
|
|
}
|
|
|
|
goBack() {
|
|
window.history.go(-1);
|
|
}
|
|
}
|