edit
This commit is contained in:
@ -2,6 +2,7 @@ import { HttpClient } from '@angular/common/http';
|
|||||||
import { Inject, Injectable } from '@angular/core';
|
import { Inject, Injectable } from '@angular/core';
|
||||||
import { ACLService } from '@delon/acl';
|
import { ACLService } from '@delon/acl';
|
||||||
import { MenuService, SettingsService, TitleService, _HttpClient } from '@delon/theme';
|
import { MenuService, SettingsService, TitleService, _HttpClient } from '@delon/theme';
|
||||||
|
import { EAUserService } from '@shared';
|
||||||
import { NzSafeAny } from 'ng-zorro-antd/core/types';
|
import { NzSafeAny } from 'ng-zorro-antd/core/types';
|
||||||
import { NzIconService } from 'ng-zorro-antd/icon';
|
import { NzIconService } from 'ng-zorro-antd/icon';
|
||||||
import { Observable, zip } from 'rxjs';
|
import { Observable, zip } from 'rxjs';
|
||||||
@ -24,6 +25,7 @@ export class StartupService {
|
|||||||
private aclService: ACLService,
|
private aclService: ACLService,
|
||||||
private titleService: TitleService,
|
private titleService: TitleService,
|
||||||
private httpClient: _HttpClient,
|
private httpClient: _HttpClient,
|
||||||
|
private userSrv: EAUserService,
|
||||||
private coreSrv: CoreService
|
private coreSrv: CoreService
|
||||||
) {
|
) {
|
||||||
iconSrv.addIcon(...ICONS_AUTO, ...ICONS);
|
iconSrv.addIcon(...ICONS_AUTO, ...ICONS);
|
||||||
@ -94,7 +96,7 @@ export class StartupService {
|
|||||||
const appData = this.httpClient.get(`assets/mocks/app-data.json`).pipe(map((res: any) => res.app));
|
const appData = this.httpClient.get(`assets/mocks/app-data.json`).pipe(map((res: any) => res.app));
|
||||||
|
|
||||||
// 用户数据
|
// 用户数据
|
||||||
const userData = this.httpClient.get('assets/mocks/user-data.json').pipe(map((res: any) => res.user));
|
const userData = this.httpClient.post(this.userSrv.$api_get_user_by_token,{}).pipe(map((res: any) => res.data));
|
||||||
|
|
||||||
// 菜单数据
|
// 菜单数据
|
||||||
const menuData = this.httpClient.get('assets/mocks/menu-data.json').pipe(map((res: any) => res.menu));
|
const menuData = this.httpClient.get('assets/mocks/menu-data.json').pipe(map((res: any) => res.menu));
|
||||||
|
|||||||
@ -1,66 +1,66 @@
|
|||||||
<ng-container>
|
<!-- 页头 -->
|
||||||
<!-- 页头 -->
|
<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;">
|
||||||
<div style="display: flex;">
|
<p style="padding-right: 80px; width: 400px;">{{ userDetail?.name }}</p>
|
||||||
<p style="padding-right: 80px; width: 400px;">{{ userDetail?.name }}</p>
|
<nz-badge nzStatus="error" nzText="正常" *ngIf="userDetail?.stateLocked"></nz-badge>
|
||||||
<nz-badge nzStatus="error" nzText="正常" *ngIf="userDetail?.stateLocked"></nz-badge>
|
<nz-badge nzStatus="warning" nzText="冻结" *ngIf="!userDetail?.stateLocked"></nz-badge>
|
||||||
<nz-badge nzStatus="warning" nzText="冻结" *ngIf="!userDetail?.stateLocked"></nz-badge>
|
</div>
|
||||||
</div>
|
<div style="display: flex;">
|
||||||
<div style="display: flex;">
|
<p style="padding-right: 80px; width: 400px;">手机号:{{ userDetail?.phone }}
|
||||||
<p style="padding-right: 80px; width: 400px;">手机号:{{ userDetail?.phone }}
|
</p>
|
||||||
</p>
|
<p>注册时间:{{ userDetail?.createTime }}</p>
|
||||||
<p>注册时间:{{ userDetail?.createTime }}</p>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div style="float: right;margin-right: 24px;">
|
<div style="float: right;margin-right: 24px;">
|
||||||
<button [nzLoading]="service.http.loading" nz-button nzType="primary" nzGhost nz-popconfirm
|
<button [nzLoading]="service.http.loading" nz-button nzType="primary" nzGhost nz-popconfirm
|
||||||
[nzPopconfirmTitle]="enable" (nzOnConfirm)="userAction(1)" nzPopconfirmPlacement="bottomRight">
|
[nzPopconfirmTitle]="enable" (nzOnConfirm)="userAction(1)" nzPopconfirmPlacement="bottomRight">
|
||||||
启用
|
启用
|
||||||
</button>
|
</button>
|
||||||
<button [nzLoading]="service.http.loading" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="frozen"
|
<button [nzLoading]="service.http.loading" nz-button nzDanger nz-popconfirm [nzPopconfirmTitle]="frozen"
|
||||||
(nzOnConfirm)="userAction(0)" nzPopconfirmPlacement="bottomRight">
|
(nzOnConfirm)="userAction(0)" nzPopconfirmPlacement="bottomRight">
|
||||||
冻结
|
冻结
|
||||||
</button>
|
</button>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nz-skeleton>
|
|
||||||
</ng-template>
|
|
||||||
|
|
||||||
<ng-template #frozen>
|
|
||||||
<div class="ant-popover-message">
|
|
||||||
<i nz-icon nzType="info-circle" nzTheme="fill"></i>
|
|
||||||
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">确定冻结该企业吗?
|
|
||||||
</div>
|
|
||||||
<div class="ant-popover-message-title ng-star-inserted">
|
|
||||||
停用后,该企业将被限制使用,不限于访问受限、无法发布货源等,请谨慎操作
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</nz-skeleton>
|
||||||
<ng-template #enable>
|
</ng-template>
|
||||||
<div class="ant-popover-message">
|
|
||||||
<i nz-icon nzType="info-circle" nzTheme="fill"></i>
|
<ng-template #frozen>
|
||||||
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">确定启用该企业吗?
|
<div class="ant-popover-message">
|
||||||
</div>
|
<i nz-icon nzType="info-circle" nzTheme="fill"></i>
|
||||||
<div class="ant-popover-message-title ng-star-inserted">
|
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">确定冻结该企业吗?
|
||||||
启用后,该企业将恢复正常使用功能,请再次确认
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
<div class="ant-popover-message-title ng-star-inserted">
|
||||||
</page-header-wrapper>
|
停用后,该企业将被限制使用,不限于访问受限、无法发布货源等,请谨慎操作
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template #enable>
|
||||||
|
<div class="ant-popover-message">
|
||||||
|
<i nz-icon nzType="info-circle" nzTheme="fill"></i>
|
||||||
|
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">确定启用该企业吗?
|
||||||
|
</div>
|
||||||
|
<div class="ant-popover-message-title ng-star-inserted">
|
||||||
|
启用后,该企业将恢复正常使用功能,请再次确认
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
</page-header-wrapper>
|
||||||
|
|
||||||
|
|
||||||
<nz-card [nzLoading]="service.http.loading">
|
<nz-card [nzLoading]="service.http.loading">
|
||||||
|
<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;"><i nz-icon
|
<label *ngIf="userIdentityDetail?.certificationStatus===1" style="color: #52c41a;"><i nz-icon
|
||||||
@ -70,29 +70,46 @@
|
|||||||
nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回
|
nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回
|
||||||
</label>
|
</label>
|
||||||
<div style="float: right;">
|
<div style="float: right;">
|
||||||
<button nz-button nzType="default" nzDanger (click)="approveUser()"
|
<ng-container *ngIf="isEditUser; else elseTemplate">
|
||||||
*ngIf="userIdentityDetail?.certificationStatus===0">审核通过</button>
|
<button [nzLoading]="service.http.loading" nz-button (click)="reset(0)">
|
||||||
<button nz-button nzType="default" nzDanger (click)="rejectedUser()"
|
取消
|
||||||
*ngIf="userIdentityDetail?.certificationStatus===0">驳回审核</button>
|
</button>
|
||||||
<button nz-button nzType="default" nzDanger *ngIf="userIdentityDetail?.certificationStatus!==1">修改</button>
|
<button [nzLoading]="service.http.loading" nz-button nzDanger (click)="saveUser()">
|
||||||
|
保存
|
||||||
|
</button>
|
||||||
|
</ng-container>
|
||||||
|
<ng-template #elseTemplate>
|
||||||
|
<button nz-button nzType="default" nzDanger (click)="approveUser()"
|
||||||
|
*ngIf="userIdentityDetail?.certificationStatus===0">审核通过</button>
|
||||||
|
<button nz-button nzType="default" nzDanger (click)="rejectedUser()"
|
||||||
|
*ngIf="userIdentityDetail?.certificationStatus===0">驳回审核</button>
|
||||||
|
<button nz-button nzType="default" nzDanger (click)="ratify(0)">修改</button>
|
||||||
|
</ng-template>
|
||||||
</div>
|
</div>
|
||||||
</sv-title>
|
</sv-title>
|
||||||
<sv label="姓名">
|
<sv label="姓名">
|
||||||
{{ userIdentityDetail?.name }}
|
<input nz-input type="text" [(ngModel)]="userIdentityDetail.name" [readonly]="!isEditUser"
|
||||||
|
[nzBorderless]="!isEditUser" [placeholder]="isEditUser?'':'-'">
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="身份证号">
|
<sv label="身份证号">
|
||||||
{{ userIdentityDetail?.certificateNumber }}
|
<input nz-input type="text" [(ngModel)]="userIdentityDetail.certificateNumber" [readonly]="!isEditUser"
|
||||||
</sv>
|
[nzBorderless]="!isEditUser" [placeholder]="isEditUser?'':'-'">
|
||||||
</sv-container>
|
</sv>
|
||||||
<sv-container col="1">
|
<sv label="身份证照" col="1">
|
||||||
<sv label="企业授权函">
|
<div class="d-flex">
|
||||||
<app-imagelist
|
<ng-container
|
||||||
[imgList]="[userIdentityDetail?.certificatePhotoFrontWatermark,userIdentityDetail?.certificatePhotoBackWatermark]">
|
*ngTemplateOutlet="uploadTemplate;context:{data:userIdentityDetail,status:isEditUser,key:'certificatePhotoFrontWatermark',key2:'certificatePhotoFront',hover:'certificateBackFront'}">
|
||||||
</app-imagelist>
|
</ng-container>
|
||||||
|
<ng-container
|
||||||
|
*ngTemplateOutlet="uploadTemplate;context:{data:userIdentityDetail,status:isEditUser,key:'certificatePhotoBackWatermark',key2:'certificatePhotoBack',hover:'certificateBack'}">
|
||||||
|
</ng-container>
|
||||||
|
</div>
|
||||||
</sv>
|
</sv>
|
||||||
</sv-container>
|
</sv-container>
|
||||||
|
</div>
|
||||||
|
|
||||||
<nz-divider></nz-divider>
|
<nz-divider></nz-divider>
|
||||||
|
<div [class]="isEditDriver?'edit-box':'readOnly-box'">
|
||||||
<sv-container col="3" class="mt16">
|
<sv-container col="3" class="mt16">
|
||||||
<sv-title>驾驶证信息
|
<sv-title>驾驶证信息
|
||||||
<label *ngIf="driverDetail?.approvalStatus===20" style="color: #52c41a;"><i nz-icon nzType="check-circle"
|
<label *ngIf="driverDetail?.approvalStatus===20" style="color: #52c41a;"><i nz-icon nzType="check-circle"
|
||||||
@ -102,32 +119,49 @@
|
|||||||
nzTheme="fill" class="mr-xs"></i>驳回
|
nzTheme="fill" class="mr-xs"></i>驳回
|
||||||
</label>
|
</label>
|
||||||
<div style="float: right;">
|
<div style="float: right;">
|
||||||
<button nz-button nzType="default" nzDanger (click)="approveDriver()">审核通过</button>
|
<ng-container *ngIf="isEditDriver;else editDriverButton">
|
||||||
<button nz-button nzType="default" nzDanger (click)="rejectedDriver()">驳回审核</button>
|
<button [nzLoading]="service.http.loading" nz-button (click)="reset(1)">
|
||||||
<button nz-button nzType="default" *ngIf="driverDetail?.approvalStatus!==20" nzDanger
|
取消
|
||||||
(click)="ratify()">修改</button>
|
</button>
|
||||||
|
<button [nzLoading]="service.http.loading" nz-button nzDanger (click)="saveDriver()">
|
||||||
|
保存
|
||||||
|
</button>
|
||||||
|
</ng-container>
|
||||||
|
<ng-template #editDriverButton>
|
||||||
|
<button *ngIf="driverDetail?.approvalStatus==10" nz-button nzType="default" nzDanger
|
||||||
|
(click)="approveDriver()">审核通过</button>
|
||||||
|
<button *ngIf="driverDetail?.approvalStatus==10" nz-button nzType="default" nzDanger
|
||||||
|
(click)="rejectedDriver()">驳回审核</button>
|
||||||
|
<button nz-button nzType="default" nzDanger (click)="ratify(1)">修改</button>
|
||||||
|
</ng-template>
|
||||||
</div>
|
</div>
|
||||||
</sv-title>
|
</sv-title>
|
||||||
<sv label="驾驶证号">
|
<sv label="驾驶证号">
|
||||||
{{ driverDetail?.licenseNo }}
|
<input nz-input type="text" [(ngModel)]="driverDetail.licenseNo" [readonly]="!isEditDriver"
|
||||||
|
[nzBorderless]="!isEditDriver" [placeholder]="isEditDriver?'':'-'">
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="准驾车型">
|
<sv label="准驾车型">
|
||||||
{{ driverDetail?.driverModel }}
|
<input nz-input type="text" [(ngModel)]="driverDetail.driverModel" [readonly]="!isEditDriver"
|
||||||
|
[nzBorderless]="!isEditDriver" [placeholder]="isEditDriver?'':'-'">
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="有效期起">
|
<sv label="有效期起">
|
||||||
{{ driverDetail?.validStartTime }}
|
<nz-date-picker [(ngModel)]="driverDetail.validStartTime" [nzDisabled]="!isEditDriver"
|
||||||
|
[nzPlaceHolder]="isEditDriver?'':'-'" [nzBorderless]="!isEditDriver"
|
||||||
|
[nzSuffixIcon]="isEditDriver?'calendar':''"></nz-date-picker>
|
||||||
</sv>
|
</sv>
|
||||||
</sv-container>
|
<sv label="有效期至" col="3">
|
||||||
<sv-container col="2" class="mt16">
|
<nz-date-picker [(ngModel)]="driverDetail.validEndTime" [nzDisabled]="!isEditDriver" dateFormat="yyyy-MM-dd"
|
||||||
<sv label="有效期至">
|
[nzPlaceHolder]="isEditDriver?'':'-'" [nzBorderless]="!isEditDriver"
|
||||||
{{ driverDetail?.validEndTime }}
|
[nzSuffixIcon]="isEditDriver?'calendar':''"></nz-date-picker>
|
||||||
<span *ngIf="driverDetail?.registrationCapital">万元</span>
|
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="驾驶证签发机关">
|
<sv label="驾驶证签发机关" col="2">
|
||||||
{{ driverDetail?.signingOrganization }}
|
<input nz-input type="text" [(ngModel)]="driverDetail.signingOrganization" [readonly]="!isEditDriver"
|
||||||
|
[nzBorderless]="!isEditDriver" [placeholder]="isEditDriver?'':'-'">
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="驾驶证照片">
|
<sv label="驾驶证照片" col="1">
|
||||||
<app-imagelist [imgList]="[detailData?.certificatePhotoWatermark]"></app-imagelist>
|
<ng-container
|
||||||
|
*ngTemplateOutlet="uploadTemplate;context:{data:driverDetail,status:isEditDriver,key:'certificatePhotoWatermark',key2:'certificatePhoto',hover:'driverCertificate'}">
|
||||||
|
</ng-container>
|
||||||
</sv>
|
</sv>
|
||||||
</sv-container>
|
</sv-container>
|
||||||
|
|
||||||
@ -142,101 +176,105 @@
|
|||||||
</label>
|
</label>
|
||||||
</sv-title>
|
</sv-title>
|
||||||
<sv label="从业资格证号">
|
<sv label="从业资格证号">
|
||||||
{{ licenseDetail?.licenseNo }}
|
<input nz-input type="text" [(ngModel)]="licenseDetail.licenseNo" [readonly]="!isEditDriver"
|
||||||
|
[nzBorderless]="!isEditDriver" [placeholder]="isEditDriver?'':'-'">
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="发证日期">
|
<sv label="发证日期">
|
||||||
{{ licenseDetail?.validStartTime }}
|
<nz-date-picker [(ngModel)]="licenseDetail.validStartTime" [nzDisabled]="!isEditDriver"
|
||||||
|
[nzPlaceHolder]="isEditDriver?'':'-'" [nzBorderless]="!isEditDriver"
|
||||||
|
[nzSuffixIcon]="isEditDriver?'calendar':''"></nz-date-picker>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="有效期至">
|
<sv label="有效期至">
|
||||||
{{ licenseDetail?.validEndTime }}
|
<nz-date-picker [(ngModel)]="licenseDetail.validEndTime" [nzDisabled]="!isEditDriver"
|
||||||
</sv>
|
[nzPlaceHolder]="isEditDriver?'':'-'" [nzBorderless]="!isEditDriver"
|
||||||
</sv-container>
|
[nzSuffixIcon]="isEditDriver?'calendar':''"></nz-date-picker>
|
||||||
<sv-container col="1">
|
</sv>
|
||||||
<sv label="从业资格证照片">
|
<sv label="从业资格证照片" col="1">
|
||||||
<app-imagelist [imgList]="[licenseDetail?.certificatePhotoWatermark]"></app-imagelist>
|
<ng-container
|
||||||
|
*ngTemplateOutlet="uploadTemplate;context:{data:licenseDetail,status:isEditDriver,key:'certificatePhotoWatermark',key2:'certificatePhoto',hover:'licenseCertificate'}">
|
||||||
|
</ng-container>
|
||||||
</sv>
|
</sv>
|
||||||
</sv-container>
|
</sv-container>
|
||||||
|
</div>
|
||||||
|
|
||||||
<nz-divider></nz-divider>
|
<nz-divider></nz-divider>
|
||||||
<sv-container col="3" class="mt16">
|
<sv-container col="3" class="mt16">
|
||||||
<sv-title>载具信息</sv-title>
|
<sv-title>载具信息</sv-title>
|
||||||
<ng-container *ngFor="let carDatail of carList">
|
<ng-container *ngFor="let carDatail of carList">
|
||||||
<sv label="车牌号">
|
<sv label="车牌号">
|
||||||
{{ carDatail?.carNo }}
|
{{ carDatail?.carNo }}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="车牌颜色">
|
<sv label="车牌颜色">
|
||||||
{{ carDatail?.carNoColor }}
|
{{ carDatail?.carNoColor }}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="车型">
|
<sv label="车型">
|
||||||
{{ carDatail?.carModel }}
|
{{ carDatail?.carModel }}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="车长">
|
<sv label="车长">
|
||||||
{{ carDatail?.carLength }}
|
{{ carDatail?.carLength }}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="是否为当前车辆">
|
<sv label="是否为当前车辆">
|
||||||
{{ carDatail?.isDefault?'是':'否' }}
|
{{ carDatail?.isDefault?'是':'否' }}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="自有载具">
|
<sv label="自有载具">
|
||||||
{{ carDatail?.isSelf?'否':'是' }}
|
{{ carDatail?.isSelf?'否':'是' }}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="行驶证照片" col="3">
|
<sv label="行驶证照片" col="3">
|
||||||
<app-imagelist
|
<app-imagelist [imgList]="[carDatail?.certificatePhotoFrontWatermark,carDatail?.certificatePhotoBackWatermark]">
|
||||||
[imgList]="[carDatail?.certificatePhotoFrontWatermark,carDatail?.certificatePhotoBackWatermark]">
|
</app-imagelist>
|
||||||
</app-imagelist>
|
</sv>
|
||||||
</sv>
|
<sv label="道路运输证照片" col="3">
|
||||||
<sv label="道路运输证照片" col="3">
|
<app-imagelist [imgList]="[carDatail?.roadTransportPhotoWatermark]"></app-imagelist>
|
||||||
<app-imagelist [imgList]="[carDatail?.roadTransportPhotoWatermark]"></app-imagelist>
|
</sv>
|
||||||
</sv>
|
<sv label="车头照" col="3">
|
||||||
<sv label="车头照" col="3">
|
<app-imagelist [imgList]="[carDatail?.carFrontPhotoWatermark]"></app-imagelist>
|
||||||
<app-imagelist [imgList]="[carDatail?.carFrontPhotoWatermark]"></app-imagelist>
|
</sv>
|
||||||
</sv>
|
<nz-divider></nz-divider>
|
||||||
<nz-divider></nz-divider>
|
</ng-container>
|
||||||
</ng-container>
|
|
||||||
|
|
||||||
</sv-container>
|
</sv-container>
|
||||||
|
|
||||||
<sv-container col="3" class="mt-md">
|
<sv-container col="3" class="mt-md">
|
||||||
<sv-title>银行结算信息</sv-title>
|
<sv-title>银行结算信息</sv-title>
|
||||||
<sv label="开户银行">
|
<sv label="开户银行">
|
||||||
{{ detailData?.name }}
|
{{ detailData?.name }}
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="银行卡号">
|
<sv label="银行卡号">
|
||||||
{{ detailData?.certificateNumber }}
|
{{ detailData?.certificateNumber }}
|
||||||
</sv>
|
</sv>
|
||||||
</sv-container>
|
</sv-container>
|
||||||
|
|
||||||
<nz-divider></nz-divider>
|
<nz-divider></nz-divider>
|
||||||
<sv-container col="3" class="mt16">
|
<sv-container col="3" class="mt16">
|
||||||
<sv-title>服务评级</sv-title>
|
<sv-title>服务评级</sv-title>
|
||||||
<sv label="服务评级">
|
<sv label="服务评级">
|
||||||
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
|
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="运输效率">
|
<sv label="运输效率">
|
||||||
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
|
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="运输安全">
|
<sv label="运输安全">
|
||||||
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
|
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="服务质量">
|
<sv label="服务质量">
|
||||||
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
|
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="客户满意度">
|
<sv label="客户满意度">
|
||||||
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
|
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
|
||||||
</sv>
|
</sv>
|
||||||
<sv label="车辆整洁程度">
|
<sv label="车辆整洁程度">
|
||||||
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
|
<nz-rate [ngModel]="2" nzDisabled></nz-rate>
|
||||||
</sv>
|
</sv>
|
||||||
|
|
||||||
</sv-container>
|
</sv-container>
|
||||||
|
|
||||||
<sv-container col="3" class="mt16">
|
<sv-container col="3" class="mt16">
|
||||||
<sv-title>关联企业</sv-title>
|
<sv-title>关联企业</sv-title>
|
||||||
<!-- <st #st [bordered]="true" [columns]="columns" [data]="detailData.goodsList" [ngStyle]="{ margin: '1rem 0' }"
|
<!-- <st #st [bordered]="true" [columns]="columns" [data]="detailData.goodsList" [ngStyle]="{ margin: '1rem 0' }"
|
||||||
multiSort size="small" [page]="{ show: false }">
|
multiSort size="small" [page]="{ show: false }">
|
||||||
</st> -->
|
</st> -->
|
||||||
</sv-container>
|
</sv-container>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
</ng-container>
|
|
||||||
|
|
||||||
|
|
||||||
<ng-template #redectModal>
|
<ng-template #redectModal>
|
||||||
@ -267,3 +305,25 @@
|
|||||||
</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">
|
||||||
|
<nz-upload class="avatar-uploader" [nzAction]="uploadURl" nzName="multipartFile" nzListType="picture-card"
|
||||||
|
[nzShowUploadList]="false" nzFileType="image/png,image/jpeg,image/jpg,image/gif"
|
||||||
|
[nzDisabled]="!status || disabledUpload" (nzChange)="changeUpload($event,data,key,key2)">
|
||||||
|
<ng-container *ngIf="!data[key] && status">
|
||||||
|
<i class="upload-icon" nz-icon [nzType]="service.http.loading ? 'loading' : 'plus'"></i>
|
||||||
|
<div class="ant-upload-text">上传</div>
|
||||||
|
</ng-container>
|
||||||
|
<div *ngIf="data[key]" (mouseover)="data[hover]=true" (mouseleave)="data[hover]=false"
|
||||||
|
(click)="$event.cancelBubble=true" class="image-hover">
|
||||||
|
<img [src]="data[key]" style="width: 200px;height: 160px;" />
|
||||||
|
<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>
|
||||||
|
</div>
|
||||||
|
</nz-upload>
|
||||||
|
</ng-template>
|
||||||
@ -1,4 +1,4 @@
|
|||||||
@import '~@delon/theme/index';
|
@import '../../../less/edit.less';
|
||||||
|
|
||||||
:host {
|
:host {
|
||||||
::ng-deep {
|
::ng-deep {
|
||||||
|
|||||||
@ -1,23 +1,30 @@
|
|||||||
|
import { DatePipe } from '@angular/common';
|
||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
import { apiConf } from '@conf/api.conf';
|
||||||
import { STColumn, STComponent } from '@delon/abc/st';
|
import { STColumn, STComponent } from '@delon/abc/st';
|
||||||
import { SFComponent, SFDateWidgetSchema, SFSchema, SFTagWidgetSchema, SFTextWidgetSchema, SFUISchema } from '@delon/form';
|
import { SFComponent, SFDateWidgetSchema, SFSchema, SFTagWidgetSchema, SFTextWidgetSchema, SFUISchema } from '@delon/form';
|
||||||
import { ModalHelper, _HttpClient } from '@delon/theme';
|
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||||
import { NzMessageService } from 'ng-zorro-antd/message';
|
import { NzMessageService } from 'ng-zorro-antd/message';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
|
import { ImageViewComponent } from 'src/app/shared/components/imagelist';
|
||||||
import { UsermanageService } from '../../../services/usercenter.service';
|
import { UsermanageService } from '../../../services/usercenter.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-usercenter-components-driver-detail',
|
selector: 'app-usercenter-components-driver-detail',
|
||||||
templateUrl: './detail.component.html',
|
templateUrl: './detail.component.html',
|
||||||
styleUrls: ['./detail.component.less']
|
styleUrls: ['./detail.component.less'],
|
||||||
|
providers: [DatePipe]
|
||||||
})
|
})
|
||||||
export class UserCenterComponentsDriverDetailComponent implements OnInit {
|
export class UserCenterComponentsDriverDetailComponent implements OnInit {
|
||||||
detailData: any;
|
detailData: any;
|
||||||
userDetail: any;
|
userDetail: any;
|
||||||
userIdentityDetail: any;
|
userIdentityDetail: any = {};
|
||||||
driverDetail: any;
|
tempalateUserIdentityDetail = { ...this.userIdentityDetail };
|
||||||
licenseDetail: any;
|
driverDetail: any = {};
|
||||||
|
tempalateDriverData = { ...this.driverDetail };
|
||||||
|
licenseDetail: any = {};
|
||||||
|
tempalateLicenseDetail = { ...this.licenseDetail };
|
||||||
carList: any = [];
|
carList: any = [];
|
||||||
|
|
||||||
@ViewChild('redectModal', { static: false })
|
@ViewChild('redectModal', { static: false })
|
||||||
@ -25,7 +32,18 @@ export class UserCenterComponentsDriverDetailComponent implements OnInit {
|
|||||||
@ViewChild('rejectedDriverModal', { static: false })
|
@ViewChild('rejectedDriverModal', { static: false })
|
||||||
rejectedDriverModal!: any;
|
rejectedDriverModal!: any;
|
||||||
approvalOpinion = '';
|
approvalOpinion = '';
|
||||||
constructor(private nzModalService: NzModalService, public service: UsermanageService, private route: ActivatedRoute) {}
|
|
||||||
|
isEditUser = false;
|
||||||
|
isEditDriver = false;
|
||||||
|
|
||||||
|
uploadURl = apiConf.waterFileUpload;
|
||||||
|
disabledUpload = false;
|
||||||
|
constructor(
|
||||||
|
private nzModalService: NzModalService,
|
||||||
|
public service: UsermanageService,
|
||||||
|
private route: ActivatedRoute,
|
||||||
|
private datePipe: DatePipe
|
||||||
|
) {}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.initData();
|
this.initData();
|
||||||
@ -49,34 +67,32 @@ export class UserCenterComponentsDriverDetailComponent implements OnInit {
|
|||||||
.subscribe(res => {
|
.subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
this.userIdentityDetail = res;
|
this.userIdentityDetail = res;
|
||||||
|
this.tempalateUserIdentityDetail = { ...this.userIdentityDetail };
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 获取驾驶证信息
|
// 获取驾驶证信息
|
||||||
this.service
|
this.service.request(this.service.$api_get_driver_license, { appUserId: this.route.snapshot.params.id }).subscribe(res => {
|
||||||
.request(this.service.$api_get_driver_license, { appUserId: this.route.snapshot.params.id })
|
if (res) {
|
||||||
.subscribe(res => {
|
this.driverDetail = res;
|
||||||
if (res) {
|
this.tempalateDriverData = { ...this.driverDetail };
|
||||||
this.driverDetail = res;
|
}
|
||||||
}
|
});
|
||||||
});
|
|
||||||
// 获取从业资格证信息
|
// 获取从业资格证信息
|
||||||
this.service
|
this.service.request(this.service.$api_get_driver_practice_seniority, { appUserId: this.route.snapshot.params.id }).subscribe(res => {
|
||||||
.request(this.service.$api_get_driver_practice_seniority, { appUserId: this.route.snapshot.params.id })
|
if (res) {
|
||||||
.subscribe(res => {
|
this.licenseDetail = res;
|
||||||
if (res) {
|
this.tempalateLicenseDetail = { ...this.licenseDetail };
|
||||||
this.licenseDetail = res;
|
}
|
||||||
}
|
});
|
||||||
});
|
|
||||||
// 获取载具信息
|
// 获取载具信息
|
||||||
this.service
|
// this.service.request(this.service.$api_get_driver_car_license, { appUserId: this.route.snapshot.params.id }).subscribe(res => {
|
||||||
.request(this.service.$api_get_driver_car_license, { appUserId: this.route.snapshot.params.id })
|
// if (res) {
|
||||||
.subscribe(res => {
|
// this.carList = res;
|
||||||
if (res) {
|
// }
|
||||||
this.carList = res;
|
// });
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 启用/冻结司机 */
|
||||||
userAction(status: number) {
|
userAction(status: number) {
|
||||||
this.nzModalService.warning({
|
this.nzModalService.warning({
|
||||||
nzTitle: status === 1 ? '确定启用该司机吗?' : '确定冻结该司机吗?',
|
nzTitle: status === 1 ? '确定启用该司机吗?' : '确定冻结该司机吗?',
|
||||||
@ -88,16 +104,18 @@ export class UserCenterComponentsDriverDetailComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 审核通过个人信息 */
|
||||||
approveUser() {
|
approveUser() {
|
||||||
this.nzModalService.confirm({
|
this.nzModalService.confirm({
|
||||||
nzTitle: '审核通过',
|
nzTitle: '审核通过',
|
||||||
nzContent: `是否确认通过(姓名:${this.userDetail?.name})审核`,
|
nzContent: `是否确认通过(姓名:${this.userIdentityDetail.name})审核`,
|
||||||
nzOnOk: () => {
|
nzOnOk: () => {
|
||||||
this.adjuctUser({ auditStatus: 0, auditType: 0, identityId: this.userIdentityDetail?.id }, '审核通过');
|
this.adjuctUser({ auditStatus: 0, auditType: 0, identityId: this.userIdentityDetail?.id }, '审核通过');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 驳回个人信息 */
|
||||||
rejectedUser() {
|
rejectedUser() {
|
||||||
this.approvalOpinion = '';
|
this.approvalOpinion = '';
|
||||||
this.nzModalService.create({
|
this.nzModalService.create({
|
||||||
@ -121,21 +139,24 @@ export class UserCenterComponentsDriverDetailComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 审核通过驾驶员信息 */
|
||||||
approveDriver() {
|
approveDriver() {
|
||||||
this.nzModalService.confirm({
|
this.nzModalService.confirm({
|
||||||
nzTitle: '审核通过',
|
nzTitle: '审核通过',
|
||||||
nzContent: `<p>驾驶证号:${this.driverDetail?.licenseNo}</p><p>从业资格证号:${this.licenseDetail?.licenseNo}</p><p>是否确认通过审核`,
|
nzContent: `<p>驾驶证号:${this.driverDetail?.licenseNo}</p><p>从业资格证号:${this.licenseDetail?.licenseNo}</p><p>是否确认通过审核`,
|
||||||
nzOnOk: () => {
|
nzOnOk: () => {
|
||||||
this.adjuctDriverLicense(
|
this.adjuctDriverLicense(
|
||||||
{
|
{
|
||||||
auditStatus: 20,
|
approvalStatus: 20,
|
||||||
appUserId: this.userDetail?.appUserId,
|
appUserId: this.userDetail?.appUserId
|
||||||
},
|
},
|
||||||
'审核成功'
|
'审核成功'
|
||||||
);}
|
);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 驳回驾驶员信息 */
|
||||||
rejectedDriver() {
|
rejectedDriver() {
|
||||||
this.approvalOpinion = '';
|
this.approvalOpinion = '';
|
||||||
this.nzModalService.create({
|
this.nzModalService.create({
|
||||||
@ -147,7 +168,7 @@ export class UserCenterComponentsDriverDetailComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
this.adjuctDriverLicense(
|
this.adjuctDriverLicense(
|
||||||
{
|
{
|
||||||
auditStatus: 30,
|
approvalStatus: 30,
|
||||||
appUserId: this.userDetail?.appUserId,
|
appUserId: this.userDetail?.appUserId,
|
||||||
approvalOpinion: this.approvalOpinion
|
approvalOpinion: this.approvalOpinion
|
||||||
},
|
},
|
||||||
@ -158,6 +179,7 @@ export class UserCenterComponentsDriverDetailComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 个人信息审核 */
|
||||||
private adjuctUser(params: any, msg: string) {
|
private adjuctUser(params: any, msg: string) {
|
||||||
this.service.request(this.service.$api_approve_identity, { ...params }).subscribe(res => {
|
this.service.request(this.service.$api_approve_identity, { ...params }).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
@ -167,6 +189,7 @@ export class UserCenterComponentsDriverDetailComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 驾驶员审核 */
|
||||||
private adjuctDriverLicense(params: any, msg: string) {
|
private adjuctDriverLicense(params: any, msg: string) {
|
||||||
this.service.request(this.service.$api_approve_driver_license, { ...params }).subscribe(res => {
|
this.service.request(this.service.$api_approve_driver_license, { ...params }).subscribe(res => {
|
||||||
if (res) {
|
if (res) {
|
||||||
@ -176,7 +199,148 @@ export class UserCenterComponentsDriverDetailComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
ratify() {}
|
/**
|
||||||
|
* 开启修改
|
||||||
|
* @param type 修改类型
|
||||||
|
*/
|
||||||
|
ratify(type: number) {
|
||||||
|
if (type) {
|
||||||
|
this.isEditDriver = true;
|
||||||
|
} else {
|
||||||
|
this.isEditUser = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 需求修改
|
||||||
|
* @param type 修改类型
|
||||||
|
*/
|
||||||
|
reset(type: number) {
|
||||||
|
if (type) {
|
||||||
|
this.driverDetail = { ...this.tempalateDriverData };
|
||||||
|
this.licenseDetail = { ...this.tempalateLicenseDetail };
|
||||||
|
this.isEditDriver = false;
|
||||||
|
} else {
|
||||||
|
this.userIdentityDetail = { ...this.tempalateUserIdentityDetail };
|
||||||
|
this.isEditUser = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改驾驶证,从业资格证信息
|
||||||
|
*/
|
||||||
|
saveDriver() {
|
||||||
|
const driverDetail = this.driverDetail;
|
||||||
|
const licenseDetail = this.licenseDetail;
|
||||||
|
const params = {
|
||||||
|
userId: this.route.snapshot.params.id,
|
||||||
|
userDriverLicenseDTO: {
|
||||||
|
appUserId: driverDetail.appUserId,
|
||||||
|
certificatePhoto: driverDetail.certificatePhoto,
|
||||||
|
certificatePhotoWatermark: driverDetail.certificatePhotoWatermark,
|
||||||
|
driverModel: driverDetail.driverModel,
|
||||||
|
id: driverDetail.id,
|
||||||
|
licenseNo: driverDetail.licenseNo,
|
||||||
|
signingOrganization: driverDetail.signingOrganization,
|
||||||
|
validEndTime:
|
||||||
|
driverDetail.validEndTime?.length === 10
|
||||||
|
? driverDetail.validEndTime
|
||||||
|
: this.datePipe.transform(driverDetail.validEndTime, 'yyyy-MM-dd'),
|
||||||
|
validStartTime:
|
||||||
|
driverDetail.validStartTime?.length === 10
|
||||||
|
? driverDetail.validStartTime
|
||||||
|
: this.datePipe.transform(driverDetail.validStartTime, 'yyyy-MM-dd')
|
||||||
|
},
|
||||||
|
userPracticeSeniorityDTO: {
|
||||||
|
appUserId: licenseDetail.appUserId,
|
||||||
|
approvalStatus: licenseDetail.approvalStatus,
|
||||||
|
certificatePhoto: licenseDetail.certificatePhoto,
|
||||||
|
certificatePhotoWatermark: licenseDetail.certificatePhotoWatermark,
|
||||||
|
id: licenseDetail.id,
|
||||||
|
licenseNo: licenseDetail.licenseNo,
|
||||||
|
regionCode: licenseDetail.regionCode,
|
||||||
|
validEndTime:
|
||||||
|
licenseDetail.validEndTime?.length === 10
|
||||||
|
? licenseDetail.validEndTime
|
||||||
|
: this.datePipe.transform(licenseDetail.validEndTime, 'yyyy-MM-dd'),
|
||||||
|
validStartTime:
|
||||||
|
licenseDetail.validStartTime?.length === 10
|
||||||
|
? licenseDetail.validStartTime
|
||||||
|
: this.datePipe.transform(licenseDetail.validStartTime, 'yyyy-MM-dd')
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.service.request(this.service.$api_update_driver_license, params).subscribe(res => {
|
||||||
|
if (res) {
|
||||||
|
this.service.msgSrv.success('修改成功');
|
||||||
|
this.isEditDriver = false;
|
||||||
|
this.initData();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
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')
|
||||||
|
};
|
||||||
|
console.log(this.userIdentityDetail);
|
||||||
|
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() {
|
goBack() {
|
||||||
window.history.go(-1);
|
window.history.go(-1);
|
||||||
|
|||||||
@ -135,7 +135,6 @@ export class FreightComponentsEnterpriseAuditViewComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
changeUpload({ file, fileList, type }: any, key: string) {
|
changeUpload({ file, fileList, type }: any, key: string) {
|
||||||
console.log({ file, fileList, type });
|
|
||||||
if (type === 'success') {
|
if (type === 'success') {
|
||||||
this.detailData[key] = file.response.data.fullFileWatermarkPath;
|
this.detailData[key] = file.response.data.fullFileWatermarkPath;
|
||||||
}
|
}
|
||||||
|
|||||||
113
src/app/routes/usercenter/less/edit.less
Normal file
113
src/app/routes/usercenter/less/edit.less
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
:host {
|
||||||
|
::ng-deep {
|
||||||
|
sv-title {
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.sv__label,
|
||||||
|
.sv__detail {
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.edit-box {
|
||||||
|
input {
|
||||||
|
max-width: 250px;
|
||||||
|
}
|
||||||
|
|
||||||
|
nz-date-picker {
|
||||||
|
min-width: 250px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.readOnly-box {
|
||||||
|
input {
|
||||||
|
padding-left: 0;
|
||||||
|
color : #000;
|
||||||
|
border : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
nz-select-top-control {
|
||||||
|
padding-left: 0px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-select {
|
||||||
|
min-width: 250px;
|
||||||
|
|
||||||
|
nz-select-top-control {
|
||||||
|
cursor: text !important;
|
||||||
|
color : #000 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 图片展示工具样式改造
|
||||||
|
.ant-upload.ant-upload-disabled {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-upload.ant-upload-select-picture-card {
|
||||||
|
width : 200px;
|
||||||
|
height: 160px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-upload-picture-card-wrapper {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-hover {
|
||||||
|
.delete-icon {
|
||||||
|
border-radius : 50%;
|
||||||
|
color : #F55656;
|
||||||
|
font-size : 28px;
|
||||||
|
position : absolute;
|
||||||
|
top : -15px;
|
||||||
|
right : -15px;
|
||||||
|
background-color: #ffffff;
|
||||||
|
cursor : pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.show-icon {
|
||||||
|
color : #ffffff;
|
||||||
|
font-size: 30px;
|
||||||
|
cursor : pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-hover:hover .mask {
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mask {
|
||||||
|
width : 200px;
|
||||||
|
height : 160px;
|
||||||
|
background-color : #4F4F4F;
|
||||||
|
opacity : 0;
|
||||||
|
position : absolute;
|
||||||
|
// top : 6px;
|
||||||
|
// left : 12px;
|
||||||
|
border-radius : 6px;
|
||||||
|
margin-top : -160px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mask-over {
|
||||||
|
width : 200px;
|
||||||
|
height : 160px;
|
||||||
|
position : absolute;
|
||||||
|
// top : 6px;
|
||||||
|
// left : 12px;
|
||||||
|
border-radius : 6px;
|
||||||
|
display : flex;
|
||||||
|
justify-content : center;
|
||||||
|
align-items : center;
|
||||||
|
margin-top : -160px;
|
||||||
|
|
||||||
|
label {
|
||||||
|
font-size : 20px;
|
||||||
|
line-height : 24px;
|
||||||
|
letter-spacing: 0.7px;
|
||||||
|
color : #FFFFFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -60,6 +60,11 @@ export class UsermanageService extends BaseService {
|
|||||||
// 司机详情查看-载具信息
|
// 司机详情查看-载具信息
|
||||||
$api_get_driver_car_license = '/api/mdc/cuc/driver/getUserCarLicense';
|
$api_get_driver_car_license = '/api/mdc/cuc/driver/getUserCarLicense';
|
||||||
|
|
||||||
|
// 修改实名认证-【司机】
|
||||||
|
$api_update_driver_identity = '/api/mdc/cuc/identityInfo/save';
|
||||||
|
// 修改驾驶证信息
|
||||||
|
$api_update_driver_license = '/api/mdc/cuc/driver/updateDriverLicense';
|
||||||
|
|
||||||
// 人工审核实名认证
|
// 人工审核实名认证
|
||||||
$api_approve_identity = '/api/mdc/cuc/identityInfo/identityAudit';
|
$api_approve_identity = '/api/mdc/cuc/identityInfo/identityAudit';
|
||||||
// 审核驾驶证信息
|
// 审核驾驶证信息
|
||||||
|
|||||||
@ -19,7 +19,7 @@ import { BaseService } from '../core/base.service';
|
|||||||
import { EACacheService } from '../core/cache.service';
|
import { EACacheService } from '../core/cache.service';
|
||||||
import { EAEventService } from '../core/event.service';
|
import { EAEventService } from '../core/event.service';
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root'
|
||||||
})
|
})
|
||||||
export class EAUserService extends BaseService {
|
export class EAUserService extends BaseService {
|
||||||
/**
|
/**
|
||||||
@ -57,7 +57,7 @@ export class EAUserService extends BaseService {
|
|||||||
/**
|
/**
|
||||||
* 根据Token获取用户详情
|
* 根据Token获取用户详情
|
||||||
*/
|
*/
|
||||||
$api_get_user_by_token = `/scce/cuc/cuc/user/getUserDetail`;
|
$api_get_user_by_token = `/api/mdc/cuc/user/getUserDetail`;
|
||||||
/**
|
/**
|
||||||
* 获取用户菜单
|
* 获取用户菜单
|
||||||
*/
|
*/
|
||||||
@ -72,10 +72,11 @@ export class EAUserService extends BaseService {
|
|||||||
public injector: Injector,
|
public injector: Injector,
|
||||||
public cacheSrv: EACacheService,
|
public cacheSrv: EACacheService,
|
||||||
public eventSrv: EAEventService,
|
public eventSrv: EAEventService,
|
||||||
|
public settings: SettingsService,
|
||||||
public router: Router,
|
public router: Router,
|
||||||
public ar: ActivatedRoute,
|
public ar: ActivatedRoute,
|
||||||
@Inject(DA_SERVICE_TOKEN) public tokenSrv: ITokenService,
|
@Inject(DA_SERVICE_TOKEN) public tokenSrv: ITokenService,
|
||||||
private settingSrv: SettingsService,
|
private settingSrv: SettingsService
|
||||||
) {
|
) {
|
||||||
super(injector);
|
super(injector);
|
||||||
}
|
}
|
||||||
@ -97,7 +98,7 @@ export class EAUserService extends BaseService {
|
|||||||
* @param captcha 验证码
|
* @param captcha 验证码
|
||||||
*/
|
*/
|
||||||
loginByMobile(mobile: string, captcha: string, sc: string) {
|
loginByMobile(mobile: string, captcha: string, sc: string) {
|
||||||
this.asyncRequest(this.$api_login_by_mobile, { phone: mobile, smsCode: captcha, sc }, 'POST', true, 'FORM').then((res) => {
|
this.asyncRequest(this.$api_login_by_mobile, { phone: mobile, smsCode: captcha, sc }, 'POST', true, 'FORM').then(res => {
|
||||||
if (res?.token) {
|
if (res?.token) {
|
||||||
// this.cacheSrv.set(cacheConf.token, res.token);
|
// this.cacheSrv.set(cacheConf.token, res.token);
|
||||||
this.tokenSrv.set({ token: res.token });
|
this.tokenSrv.set({ token: res.token });
|
||||||
@ -123,7 +124,7 @@ export class EAUserService extends BaseService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async doAfterLogin() {
|
async doAfterLogin() {
|
||||||
// await this.loadUserInfo();
|
await this.loadUserInfo();
|
||||||
// await this.loadUserMenus();
|
// await this.loadUserMenus();
|
||||||
await this.loadUserRoles();
|
await this.loadUserRoles();
|
||||||
}
|
}
|
||||||
@ -132,8 +133,9 @@ export class EAUserService extends BaseService {
|
|||||||
* 加载用户信息
|
* 加载用户信息
|
||||||
*/
|
*/
|
||||||
async loadUserInfo() {
|
async loadUserInfo() {
|
||||||
return this.asyncRequest(this.$api_get_user_by_token).then((res) => {
|
return this.asyncRequest(this.$api_get_user_by_token).then(res => {
|
||||||
this.cacheSrv.set(cacheConf.user, res);
|
this.cacheSrv.set(cacheConf.user, res.data);
|
||||||
|
this.settings.setUser(res.data);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,7 +143,7 @@ export class EAUserService extends BaseService {
|
|||||||
* 加载用户菜单
|
* 加载用户菜单
|
||||||
*/
|
*/
|
||||||
async loadUserMenus() {
|
async loadUserMenus() {
|
||||||
return this.asyncRequest(this.$api_get_user_menus, { appId: sysConf.appId }).then((res) => {
|
return this.asyncRequest(this.$api_get_user_menus, { appId: sysConf.appId }).then(res => {
|
||||||
this.cacheSrv.set(cacheConf.menu, res);
|
this.cacheSrv.set(cacheConf.menu, res);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -182,7 +184,7 @@ export class EAUserService extends BaseService {
|
|||||||
if (res.success === true) {
|
if (res.success === true) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}),
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -198,7 +200,7 @@ export class EAUserService extends BaseService {
|
|||||||
if (res.success === true) {
|
if (res.success === true) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}),
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"user": {
|
"user": {
|
||||||
"name": "Admin",
|
"name": "Admin",
|
||||||
"avatar": "./assets/tmp/img/avatar.jpg",
|
"avatar": "./assets/images/user/logo.svg",
|
||||||
"email": "cipchk@qq.com"
|
"email": "cipchk@qq.com"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user