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); } }