254 lines
12 KiB
HTML
254 lines
12 KiB
HTML
<!-- 页头 -->
|
|
<page-header-wrapper [logo]="logo" title="车辆详情" [content]="content">
|
|
<ng-template #logo>
|
|
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
|
|
<i nz-icon nzType="left" nzTheme="outline"></i>
|
|
</button>
|
|
</ng-template>
|
|
<ng-template #content>
|
|
<sv-container col="3">
|
|
<h2>车牌号:{{detailData?.carNo}}</h2>
|
|
<sv-title style="font-weight: 700;">
|
|
<span *ngIf="detailData?.approvalStatus === 1 || detailData?.approvalStatus === '1'">未上传</span>
|
|
<span *ngIf="detailData?.approvalStatus === 0 || detailData?.approvalStatus === '0'">草稿</span>
|
|
<span *ngIf="detailData?.approvalStatus === 10 || detailData?.approvalStatus === '10'">待审核</span>
|
|
<span *ngIf="detailData?.approvalStatus === 20 || detailData?.approvalStatus === '20'">已审核</span>
|
|
<span *ngIf="detailData?.approvalStatus === 30 || detailData?.approvalStatus === '30'">已驳回</span>
|
|
<span *ngIf="detailData?.approvalStatus === 40 || detailData?.approvalStatus === '40'">证件过期</span>
|
|
<div style="float: right;" *ngIf="detailData?.approvalStatus === 10 || detailData?.approvalStatus === '10'">
|
|
<ng-container *ngIf="!isEdit ">
|
|
<button nz-button nzType="default" nzDanger (click)="approveDriver()">通过</button>
|
|
<button nz-button nzType="default" nzDanger (click)="rejectedDriver()">驳回</button>
|
|
<button nz-button nzType="default" nzDanger (click)="ratify()">修改</button>
|
|
</ng-container>
|
|
<ng-container *ngIf="isEdit">
|
|
<button nz-button nzType="default" (click)="reset()">取消</button>
|
|
<button nz-button nzType="default" (click)="save()" nzDanger>保存</button>
|
|
</ng-container>
|
|
</div>
|
|
</sv-title>
|
|
<sv label="申请时间">
|
|
{{ detailData?.createTime }}
|
|
</sv>
|
|
<sv label="录入人员">
|
|
{{ detailData?.saveUser }}
|
|
</sv>
|
|
</sv-container>
|
|
</ng-template>
|
|
</page-header-wrapper>
|
|
|
|
<nz-card [class]="isEdit?'edit-box':'readOnly-box'">
|
|
|
|
<sv-container col="3">
|
|
<sv-title style="font-weight: 700;">车辆基础信息
|
|
</sv-title>
|
|
<sv label="车牌颜色">
|
|
<nz-select [(ngModel)]="detailData.carNoColor" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit"
|
|
[nzShowArrow]="isEdit" [nzDisabled]="!isEdit">
|
|
<nz-option
|
|
*ngFor="let i of contenCarNoColor"
|
|
[nzLabel]="i.label"
|
|
[nzValue]="i.value"
|
|
></nz-option>
|
|
</nz-select>
|
|
</sv>
|
|
<sv label="车型">
|
|
<nz-select [(ngModel)]="detailData.carModel" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit"
|
|
[nzShowArrow]="isEdit" [nzDisabled]="!isEdit">
|
|
<nz-option
|
|
*ngFor="let i of contencarModel"
|
|
[nzLabel]="i.label"
|
|
[nzValue]="i.value"
|
|
></nz-option>
|
|
</nz-select>
|
|
</sv>
|
|
<sv label="车长">
|
|
<nz-select [(ngModel)]="detailData.carLength" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit"
|
|
[nzShowArrow]="isEdit" [nzDisabled]="!isEdit">
|
|
<nz-option
|
|
*ngFor="let i of contenCarLength"
|
|
[nzLabel]="i.label"
|
|
[nzValue]="i.value"
|
|
></nz-option>
|
|
</nz-select>
|
|
</sv>
|
|
<sv label="是否为挂车">
|
|
<nz-select [(ngModel)]="detailData.isTrailer" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit"
|
|
[nzShowArrow]="isEdit" [nzDisabled]="!isEdit">
|
|
<nz-option [nzValue]="false" nzLabel="否"></nz-option>
|
|
<nz-option [nzValue]="true" nzLabel="是"></nz-option>
|
|
</nz-select>
|
|
</sv>
|
|
<sv label="是否挂靠">
|
|
<nz-select [(ngModel)]="detailData.isSelf" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit"
|
|
[nzShowArrow]="isEdit" [nzDisabled]="!isEdit">
|
|
<nz-option [nzValue]="false" nzLabel="否"></nz-option>
|
|
<nz-option [nzValue]="true" nzLabel="是"></nz-option>
|
|
</nz-select>
|
|
</sv>
|
|
</sv-container>
|
|
<sv-container col="1" class="mt-md">
|
|
<sv label="车头照">
|
|
<ng-container
|
|
*ngTemplateOutlet="uploadTemplate;context:{image:detailData?.carFrontPhotoWatermark,key:'carFrontPhotoWatermark',hover: 'PhotoWatermark2'}">
|
|
</ng-container>
|
|
</sv>
|
|
</sv-container>
|
|
<nz-divider></nz-divider>
|
|
|
|
<sv-container col="3">
|
|
<sv-title style="font-weight: 700;">行驶证信息</sv-title>
|
|
<sv label="档案编号">
|
|
<input nz-input type="text" [(ngModel)]="detailData.archivesNo" [readonly]="!isEdit" [nzBorderless]="!isEdit"
|
|
[placeholder]="isEdit?'':'-'">
|
|
</sv>
|
|
<sv label="行驶证注册日期">
|
|
<!-- <input nz-input type="text" [(ngModel)]="detailData.driverLicenseRegisterTime" [readonly]="!isEdit" [nzBorderless]="!isEdit"
|
|
[placeholder]="isEdit?'':'-'"> -->
|
|
<nz-date-picker [(ngModel)]="detailData.driverLicenseRegisterTime" [nzDisabled]="!isEdit"
|
|
[nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker>
|
|
</sv>
|
|
</sv-container>
|
|
|
|
<sv-container col="3">
|
|
<sv label="行驶证到期日">
|
|
<!-- <input nz-input type="text" [(ngModel)]="detailData.driverLicenseEndTime" [readonly]="!isEdit" [nzBorderless]="!isEdit"
|
|
[placeholder]="isEdit?'':'-'"> -->
|
|
<nz-date-picker [(ngModel)]="detailData.driverLicenseEndTime" [nzDisabled]="!isEdit"
|
|
[nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker>
|
|
</sv>
|
|
<sv label="行驶证签发机关">
|
|
<input nz-input style="width: '300px'" type="text" [(ngModel)]="detailData.driverLicenseSigningOrg" [readonly]="!isEdit" [nzBorderless]="!isEdit"
|
|
[placeholder]="isEdit?'':'-'">
|
|
</sv>
|
|
</sv-container>
|
|
|
|
<sv-container col="3">
|
|
<sv label="行驶证发证日期">
|
|
<!-- <input nz-input type="text" [(ngModel)]="detailData.driverLicenseGetTime" [readonly]="!isEdit" [nzBorderless]="!isEdit"
|
|
[placeholder]="isEdit?'':'-'"> -->
|
|
<nz-date-picker [(ngModel)]="detailData.driverLicenseGetTime" [nzDisabled]="!isEdit"
|
|
[nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker>
|
|
</sv>
|
|
<sv label="车辆识别代码">
|
|
<input nz-input type="text" [(ngModel)]="detailData.carDistinguishCode" [readonly]="!isEdit" [nzBorderless]="!isEdit"
|
|
[placeholder]="isEdit?'':'-'">
|
|
</sv>
|
|
<sv label="使用性质">
|
|
<nz-select [(ngModel)]="detailData.useNature" [nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit"
|
|
[nzShowArrow]="isEdit" [nzDisabled]="!isEdit">
|
|
<nz-option [nzValue]="'1'" nzLabel="营运"></nz-option>
|
|
<nz-option [nzValue]="'0'" nzLabel="非营运"></nz-option>
|
|
</nz-select>
|
|
</sv>
|
|
</sv-container>
|
|
|
|
<sv-container col="3">
|
|
<sv label="载重(吨)">
|
|
<input nz-input type="text" [(ngModel)]="detailData.carLoad" [readonly]="!isEdit" [nzBorderless]="!isEdit"
|
|
[placeholder]="isEdit?'':'-'">
|
|
</sv>
|
|
<sv label="整备质量">
|
|
<input nz-input type="text" [(ngModel)]="detailData.curbWeight" [readonly]="!isEdit" [nzBorderless]="!isEdit"
|
|
[placeholder]="isEdit?'':'-'">
|
|
</sv>
|
|
<sv label="所有人">
|
|
<input nz-input style="width: '300px'" type="text" [(ngModel)]="detailData.carOwner" [readonly]="!isEdit" [nzBorderless]="!isEdit"
|
|
[placeholder]="isEdit?'':'-'">
|
|
</sv>
|
|
</sv-container>
|
|
<sv-container col="1">
|
|
<sv label="行驶证照片">
|
|
<ng-container
|
|
*ngTemplateOutlet="uploadTemplate;context:{image:detailData?.certificatePhotoFrontWatermark,key:'certificatePhotoFrontWatermark',hover: 'FrontWatermark'}">
|
|
</ng-container>
|
|
<ng-container
|
|
*ngTemplateOutlet="uploadTemplate;context:{image:detailData?.certificatePhotoBackWatermark,key:'certificatePhotoBackWatermark',hover: 'BackWatermark'}">
|
|
</ng-container>
|
|
</sv>
|
|
</sv-container>
|
|
<nz-divider></nz-divider>
|
|
<sv-container col="3" class="mt16">
|
|
<sv-title style="font-weight: 700;">道路运输证信息</sv-title>
|
|
<sv label="道路运输证号">
|
|
<input nz-input type="text" [(ngModel)]="detailData.roadTransportNo" [readonly]="!isEdit" [nzBorderless]="!isEdit"
|
|
[placeholder]="isEdit?'':'-'">
|
|
</sv>
|
|
<sv label="经营许可证号">
|
|
<input nz-input type="text" [(ngModel)]="detailData.roadTransportLicenceNo" [readonly]="!isEdit" [nzBorderless]="!isEdit"
|
|
[placeholder]="isEdit?'':'-'">
|
|
</sv>
|
|
<sv label="发证日期">
|
|
<!-- <input nz-input type="text" [(ngModel)]="detailData.roadTransportStartTime" [readonly]="!isEdit" [nzBorderless]="!isEdit"
|
|
[placeholder]="isEdit?'':'-'"> -->
|
|
<nz-date-picker [(ngModel)]="detailData.roadTransportStartTime" [nzDisabled]="!isEdit"
|
|
[nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker>
|
|
</sv>
|
|
<sv label="有效期至">
|
|
<!-- <input nz-input type="text" [(ngModel)]="detailData.roadTransportEndTime" [readonly]="!isEdit" [nzBorderless]="!isEdit"
|
|
[placeholder]="isEdit?'':'-'"> -->
|
|
<nz-date-picker [(ngModel)]="detailData.roadTransportEndTime" [nzDisabled]="!isEdit"
|
|
[nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker>
|
|
</sv>
|
|
<sv label="道路运输证照片">
|
|
<ng-container
|
|
*ngTemplateOutlet="uploadTemplate;context:{image:detailData?.roadTransportPhotoWatermark,key:'roadTransportPhotoWatermark', hover: 'Watermark'}" >
|
|
</ng-container>
|
|
</sv>
|
|
</sv-container>
|
|
<nz-divider></nz-divider>
|
|
<sv-container col="2" class="mt16">
|
|
<sv-title style="font-weight: 700;">认证司机</sv-title>
|
|
</sv-container>
|
|
<st #st [bordered]="true" [columns]="columns" [data]="service.$api_get_queryDriverByCarId"
|
|
[req]="{ method: 'POST', allInBody: true, params: reqParams }"
|
|
[res]="{ reName: { list: 'data', total: 'data' } }"
|
|
[ngStyle]="{ margin: '1rem 0' }" multiSort size="small" [page]="{ show: false }">
|
|
<ng-template st-row="auditStatusEnum" let-item let-index="index">
|
|
<div>
|
|
<span *ngIf="item?.auditStatusEnum === -1 || item?.auditStatusEnum === '-1'">未上传</span>
|
|
<span *ngIf="item?.auditStatusEnum === 0 || item?.auditStatusEnum === '0'">草稿</span>
|
|
<span *ngIf="item?.auditStatusEnum === 10 || item?.auditStatusEnum === '10'">待审核</span>
|
|
<span *ngIf="item?.auditStatusEnum === 20 || item?.auditStatusEnum === '20'">已审核</span>
|
|
<span *ngIf="item?.auditStatusEnum === 30 || item?.auditStatusEnum === '30'">已驳回</span>
|
|
<span *ngIf="item?.auditStatusEnum === 40 || item?.auditStatusEnum === '40'">证件过期</span>
|
|
</div>
|
|
</ng-template>
|
|
</st>
|
|
</nz-card>
|
|
|
|
|
|
<ng-template #redectModal>
|
|
<div nz-row nzGutter="8">
|
|
<div nz-col nzSpan="24" se-container [labelWidth]="120">
|
|
<se [col]="1" label="车牌号">
|
|
{{ detailData?.carNo }}
|
|
</se>
|
|
<se [col]="1" label="备注" required>
|
|
<textarea nz-input rows="3" style="margin-left: 14px;" [(ngModel)]="approvalOpinion"></textarea>
|
|
</se>
|
|
</div>
|
|
</div>
|
|
</ng-template>
|
|
|
|
<ng-template #uploadTemplate let-image="image" let-key="key" 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]="!isEdit || disabledUpload" (nzChange)="changeUpload($event,key)">
|
|
<ng-container *ngIf="!image && isEdit">
|
|
<i class="upload-icon" nz-icon [nzType]="service.http.loading ? 'loading' : 'plus'"></i>
|
|
<div class="ant-upload-text">上传</div>
|
|
</ng-container>
|
|
<div *ngIf="image" (mouseover)="detailData[hover]=true" (mouseleave)="detailData[hover]=false"
|
|
(click)="$event.cancelBubble=true" class="image-hover">
|
|
<img (click)="showImg(image)" [src]="image" style="width: 200px;height: 160px;" />
|
|
<div class="mask" *ngIf="detailData[hover] && isEdit"></div>
|
|
<div class="mask-over" *ngIf="detailData[hover] && isEdit">
|
|
<i nz-icon nzType="close-circle" nzTheme="fill" class="delete-icon" (click)="deleteImg(key)"></i>
|
|
<div style="display: flex;align-items: center;">
|
|
<i nz-icon nzType="eye" nzTheme="fill" class="show-icon" (click)="showImg(image)"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nz-upload>
|
|
</ng-template> |