This commit is contained in:
wangshiming
2022-02-15 14:35:20 +08:00
parent 8b3bec3c95
commit 68fd65f6dc
4 changed files with 187 additions and 135 deletions

View File

@ -1,142 +1,192 @@
<!-- 页头 --> <!-- 页头 -->
<page-header-wrapper [logo]="logo" [title]="'车队长详情'" [content]="content"> <page-header-wrapper [logo]="logo" [title]="'车队长详情'" [content]="content">
<ng-template #logo> <ng-template #logo>
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()"> <button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
<i nz-icon nzType="left" nzTheme="outline"></i> <i nz-icon nzType="left" nzTheme="outline"></i>
</button> </button>
</ng-template> </ng-template>
<ng-template #content> <ng-template #content>
<nz-skeleton [nzLoading]="service.http.loading"> <nz-skeleton [nzLoading]="service.http.loading">
<div class="user-info"> <div class="user-info">
<img [src]="userDetail?.avatar" /> <img [src]="userDetail?.avatar" />
<div style="flex: 1"> <div style="flex: 1">
<div style="display: flex;width: 100%;justify-content: space-between;"> <div style="display: flex; width: 100%; justify-content: space-between">
<p style="padding-right: 80px; width: 400px;">{{ userDetail?.name }} <p style="padding-right: 80px; width: 400px"
<nz-badge nzStatus="success" nzText="正常" *ngIf="!userDetail?.stateLocked" class="ml-xl"> >{{ userDetail?.name }}
</nz-badge> <nz-badge nzStatus="success" nzText="正常" *ngIf="!userDetail?.stateLocked" class="ml-xl"> </nz-badge>
<nz-badge nzStatus="warning" nzText="冻结" *ngIf="userDetail?.stateLocked" class="ml-xl"> <nz-badge nzStatus="warning" nzText="冻结" *ngIf="userDetail?.stateLocked" class="ml-xl"> </nz-badge>
</nz-badge> </p>
</p> <div style="margin-right: 24px">
<div style="margin-right: 24px;"> <button
<button *ngIf="userDetail?.stateLocked" [nzLoading]="service.http.loading" nz-button *ngIf="userDetail?.stateLocked"
nzType="primary" nzGhost (click)="userAction(1)"> [nzLoading]="service.http.loading"
启用 nz-button
</button> nzType="primary"
<button *ngIf="!userDetail?.stateLocked" [nzLoading]="service.http.loading" nz-button nzGhost
nzDanger nzGhost (click)="userAction(0)"> (click)="userAction(1)"
冻结 acl
</button> [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-lock']"
</div> >
</div> 启用
<div style="display: flex;"> </button>
<p style="padding-right: 80px; width: 400px;">手机号:{{ userDetail?.phone }} <button
</p> *ngIf="!userDetail?.stateLocked"
<p>注册时间:{{ userDetail?.createTime }}</p> [nzLoading]="service.http.loading"
</div> nz-button
</div> nzDanger
nzGhost
(click)="userAction(0)"
acl
[acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-lock']"
>
冻结
</button>
</div> </div>
</nz-skeleton> </div>
</ng-template> <div style="display: flex">
<p style="padding-right: 80px; width: 400px">手机号:{{ userDetail?.phone }} </p>
<p>注册时间:{{ userDetail?.createTime }}</p>
</div>
</div>
</div>
</nz-skeleton>
</ng-template>
</page-header-wrapper> </page-header-wrapper>
<nz-card [nzLoading]="service.http.loading"> <nz-card [nzLoading]="service.http.loading">
<div [class]="isEditUser?'edit-box':'readOnly-box'"> <div [class]="isEditUser ? 'edit-box' : 'readOnly-box'">
<sv-container col="2"> <sv-container col="2">
<sv-title>个人信息 <sv-title
<label *ngIf="userIdentityDetail?.certificationStatus===1" style="color: #52c41a;" class="ml-md"><i >个人信息
nz-icon nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过 <label *ngIf="userIdentityDetail?.certificationStatus === 1" style="color: #52c41a" class="ml-md"
</label> ><i nz-icon nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过
<label *ngIf="userIdentityDetail?.certificationStatus===2" style="color: #ff4d4f;" class="ml-md"><i </label>
nz-icon nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回 <label *ngIf="userIdentityDetail?.certificationStatus === 2" style="color: #ff4d4f" class="ml-md"
</label> ><i nz-icon nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回
<div style="float: right;"> </label>
<ng-container *ngIf="isEditUser; else elseTemplate"> <div style="float: right">
<button [nzLoading]="service.http.loading" nz-button (click)="reset()"> <ng-container *ngIf="isEditUser; else elseTemplate">
取消 <button [nzLoading]="service.http.loading" nz-button (click)="reset()"> 取消 </button>
</button> <button [nzLoading]="service.http.loading" nz-button nzDanger (click)="saveUser()"> 保存 </button>
<button [nzLoading]="service.http.loading" nz-button nzDanger (click)="saveUser()"> </ng-container>
保存 <ng-template #elseTemplate>
</button> <button nz-button nzType="default" nzDanger (click)="approveUser()" *ngIf="userIdentityDetail?.certificationStatus === 0"
</ng-container> acl [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-audit']">审核通过</button
<ng-template #elseTemplate> >
<button nz-button nzType="default" nzDanger (click)="approveUser()" <button nz-button nzType="default" nzDanger (click)="rejectedUser()" *ngIf="userIdentityDetail?.certificationStatus === 0"
*ngIf="userIdentityDetail?.certificationStatus===0">审核通过</button> acl [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-audit']" >驳回审核</button
<button nz-button nzType="default" nzDanger (click)="rejectedUser()" >
*ngIf="userIdentityDetail?.certificationStatus===0">驳回审核</button> <button nz-button nzType="default" nzDanger (click)="ratify()" acl [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-edit']">修改</button>
<button nz-button nzType="default" nzDanger (click)="ratify()">修改</button> </ng-template>
</ng-template> </div>
</div> </sv-title>
</sv-title> <sv label="姓名">
<sv label="姓名"> <input
<input nz-input type="text" [(ngModel)]="userIdentityDetail.name" [readonly]="!isEditUser" nz-input
[nzBorderless]="!isEditUser" [placeholder]="isEditUser?'':'-'"> type="text"
</sv> [(ngModel)]="userIdentityDetail.name"
<sv label="身份证号"> [readonly]="!isEditUser"
<input nz-input type="text" [(ngModel)]="userIdentityDetail.certificateNumber" [readonly]="!isEditUser" [nzBorderless]="!isEditUser"
[nzBorderless]="!isEditUser" [placeholder]="isEditUser?'':'-'"> [placeholder]="isEditUser ? '' : '-'"
</sv> />
<sv label="身份证照" col="1"> </sv>
<div class="d-flex"> <sv label="身份证号">
<ng-container <input
*ngTemplateOutlet="uploadTemplate;context:{data:userIdentityDetail,status:isEditUser,key:'certificatePhotoFrontWatermark',key2:'certificatePhotoFront',hover:'certificateBackFront'}"> nz-input
</ng-container> type="text"
<ng-container [(ngModel)]="userIdentityDetail.certificateNumber"
*ngTemplateOutlet="uploadTemplate;context:{data:userIdentityDetail,status:isEditUser,key:'certificatePhotoBackWatermark',key2:'certificatePhotoBack',hover:'certificateBack'}"> [readonly]="!isEditUser"
</ng-container> [nzBorderless]="!isEditUser"
</div> [placeholder]="isEditUser ? '' : '-'"
</sv> />
</sv-container> </sv>
</div> <sv label="身份证照" col="1">
<div class="d-flex">
<ng-container
<sv-container col="3" class="mt-md"> *ngTemplateOutlet="
<sv-title>银行结算信息</sv-title> uploadTemplate;
<sv label="开户银行"> context: {
<!-- {{ detailData?.name }} --> data: userIdentityDetail,
</sv> status: isEditUser,
<sv label="银行卡号"> key: 'certificatePhotoFrontWatermark',
<!-- {{ detailData?.certificateNumber }} --> key2: 'certificatePhotoFront',
</sv> hover: 'certificateBackFront'
}
"
>
</ng-container>
<ng-container
*ngTemplateOutlet="
uploadTemplate;
context: {
data: userIdentityDetail,
status: isEditUser,
key: 'certificatePhotoBackWatermark',
key2: 'certificatePhotoBack',
hover: 'certificateBack'
}
"
>
</ng-container>
</div>
</sv>
</sv-container> </sv-container>
</div>
<sv-container col="3" class="mt-md">
<sv-title>银行结算信息</sv-title>
<sv label="开户银行">
<!-- {{ detailData?.name }} -->
</sv>
<sv label="银行卡号">
<!-- {{ detailData?.certificateNumber }} -->
</sv>
</sv-container>
</nz-card> </nz-card>
<ng-template #redectModal> <ng-template #redectModal>
<div nz-row nzGutter="8"> <div nz-row nzGutter="8">
<div nz-col nzSpan="24" se-container [labelWidth]="120"> <div nz-col nzSpan="24" se-container [labelWidth]="120">
<se [col]="1" label="姓名"> <se [col]="1" label="姓名">
{{ userIdentityDetail?.name }} {{ userIdentityDetail?.name }}
</se> </se>
<se [col]="1" label="备注" required> <se [col]="1" label="备注" required>
<textarea nz-input rows="3" style="width: 325px;margin-left: 14px;" <textarea nz-input rows="3" style="width: 325px; margin-left: 14px" [(ngModel)]="approvalOpinion"></textarea>
[(ngModel)]="approvalOpinion"></textarea> </se>
</se>
</div>
</div> </div>
</div>
</ng-template> </ng-template>
<ng-template #uploadTemplate let-data="data" let-status="status" let-key="key" let-key2="key2" let-hover="hover"> <ng-template #uploadTemplate let-data="data" let-status="status" let-key="key" let-key2="key2" let-hover="hover">
<nz-upload class="avatar-uploader" [nzAction]="uploadURl" nzName="multipartFile" nzListType="picture-card" <nz-upload
[nzShowUploadList]="false" nzFileType="image/png,image/jpeg,image/jpg,image/gif" class="avatar-uploader"
[nzDisabled]="!status || disabledUpload" (nzChange)="changeUpload($event,data,key,key2)"> [nzAction]="uploadURl"
<ng-container *ngIf="!data[key] && status"> nzName="multipartFile"
<i class="upload-icon" nz-icon [nzType]="service.http.loading ? 'loading' : 'plus'"></i> nzListType="picture-card"
<div class="ant-upload-text">上传</div> [nzShowUploadList]="false"
</ng-container> nzFileType="image/png,image/jpeg,image/jpg,image/gif"
<div *ngIf="data[key]" (mouseover)="data[hover]=true" (mouseleave)="data[hover]=false" [nzDisabled]="!status || disabledUpload"
(click)="$event.cancelBubble=true" class="image-hover"> (nzChange)="changeUpload($event, data, key, key2)"
<img [src]="data[key]" style="width: 200px;height: 160px;" (click)="showImg(data[key])" /> >
<div class="mask" *ngIf="data[hover] && status"></div> <ng-container *ngIf="!data[key] && status">
<div class="mask-over" *ngIf="data[hover] && status"> <i class="upload-icon" nz-icon [nzType]="service.http.loading ? 'loading' : 'plus'"></i>
<i nz-icon nzType="close-circle" nzTheme="fill" class="delete-icon" <div class="ant-upload-text">上传</div>
(click)="deleteImg(data,key,key2)"></i> </ng-container>
<div style="display: flex;align-items: center;"> <div
<i nz-icon nzType="eye" nzTheme="fill" class="show-icon" (click)="showImg(data[key])"></i> *ngIf="data[key]"
</div> (mouseover)="data[hover] = true"
</div> (mouseleave)="data[hover] = false"
(click)="$event.cancelBubble = true"
class="image-hover"
>
<img [src]="data[key]" style="width: 200px; height: 160px" (click)="showImg(data[key])" />
<div class="mask" *ngIf="data[hover] && status"></div>
<div class="mask-over" *ngIf="data[hover] && status">
<i nz-icon nzType="close-circle" nzTheme="fill" class="delete-icon" (click)="deleteImg(data, key, key2)"></i>
<div style="display: flex; align-items: center">
<i nz-icon nzType="eye" nzTheme="fill" class="show-icon" (click)="showImg(data[key])"></i>
</div> </div>
</nz-upload> </div>
</ng-template> </div>
</nz-upload>
</ng-template>

View File

@ -16,8 +16,8 @@
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf> <sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
</div> </div>
<div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right"> <div nz-col [nzXl]="_$expand ? 24 : 6" [nzLg]="24" [nzSm]="24" [nzXs]="24" class="text-right">
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button> <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)" acl [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-list']">查询</button>
<button nz-button nzType="primary" [disabled]="service.http.loading" (click)="exportList()">导出</button> <button nz-button nzType="primary" [disabled]="service.http.loading" (click)="exportList()" acl [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-export']">导出</button>
<button nz-button (click)="resetSF()" [disabled]="service.http.loading">重置</button> <button nz-button (click)="resetSF()" [disabled]="service.http.loading">重置</button>
<button nz-button nzType="link" (click)="expandToggle()"> <button nz-button nzType="link" (click)="expandToggle()">
{{ !_$expand ? '展开' : '收起' }} {{ !_$expand ? '展开' : '收起' }}
@ -36,7 +36,7 @@
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading"> [loading]="service.http.loading">
<ng-template st-row="promotersTelephone" let-item let-index="index"> <ng-template st-row="promotersTelephone" let-item let-index="index">
<a (click)="addPromoter(item)"> <a (click)="addPromoter(item)" acl [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-promoter']">
{{ item.promotersTelephone ||'添加' }} {{ item.promotersTelephone ||'添加' }}
</a> </a>
</ng-template> </ng-template>

View File

@ -217,11 +217,13 @@ export class UserCenterComponentsDriverCaptainComponent implements OnInit {
text: '查看', text: '查看',
click: item => { click: item => {
this.router.navigate(['/usercenter/driver/captain/detail', item.appUserId]); this.router.navigate(['/usercenter/driver/captain/detail', item.appUserId]);
} },
acl: { ability: ['USERCENTER-DRIVER-CAPTAIN-view'] },
}, },
{ {
text: '基础设置', text: '基础设置',
click: item => this.settingAction(item) click: item => this.settingAction(item),
acl: { ability: ['USERCENTER-DRIVER-CAPTAIN-basicSetting'] },
} }
] ]
} }

View File

@ -82,7 +82,7 @@
*ngIf="userIdentityDetail?.certificationStatus===0" acl [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-auditUser']">审核通过</button> *ngIf="userIdentityDetail?.certificationStatus===0" acl [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-auditUser']">审核通过</button>
<button nz-button nzType="default" nzDanger (click)="rejectedUser()" <button nz-button nzType="default" nzDanger (click)="rejectedUser()"
*ngIf="userIdentityDetail?.certificationStatus===0" acl [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-auditUser']">驳回审核</button> *ngIf="userIdentityDetail?.certificationStatus===0" acl [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-auditUser']">驳回审核</button>
<button nz-button nzType="default" nzDanger (click)="ratify(0)">修改</button> <button nz-button nzType="default" nzDanger (click)="ratify(0)" acl [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-editUser']">修改</button>
</ng-template> </ng-template>
</div> </div>
</sv-title> </sv-title>
@ -128,10 +128,10 @@
</ng-container> </ng-container>
<ng-template #editDriverButton> <ng-template #editDriverButton>
<button *ngIf="driverDetail?.approvalStatus==10" nz-button nzType="default" nzDanger <button *ngIf="driverDetail?.approvalStatus==10" nz-button nzType="default" nzDanger
(click)="approveDriver()">审核通过</button> (click)="approveDriver()" acl [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-auditDriver']">审核通过</button>
<button *ngIf="driverDetail?.approvalStatus==10" nz-button nzType="default" nzDanger <button *ngIf="driverDetail?.approvalStatus==10" nz-button nzType="default" nzDanger
(click)="rejectedDriver()">驳回审核</button> (click)="rejectedDriver()" acl [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-auditDriver']">驳回审核</button>
<button nz-button nzType="default" nzDanger (click)="ratify(1)">修改</button> <button nz-button nzType="default" nzDanger (click)="ratify(1)" acl [acl-ability]="['USERCENTER-DRIVER-LIST-DETAIL-editDriver']">修改</button>
</ng-template> </ng-template>
</div> </div>
</sv-title> </sv-title>