remove demop

This commit is contained in:
Taric Xin
2021-12-14 12:33:26 +08:00
parent 64a3d18c88
commit a0e0199cee
55 changed files with 298 additions and 2472 deletions

View File

@ -1,175 +1,184 @@
<ng-container>
<!-- 页头 -->
<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">
<sv-title style="font-weight: 700;">待审核
<div style="float: right;">
<button nz-button nzType="default" nzDanger>通过</button>
<button nz-button nzType="default" nzDanger>驳回</button>
<button nz-button nzType="default" nzDanger (click)="ratify()">修改</button>
</div>
</sv-title>
<sv label="申请时间">
{{ detailData?.carNoColor }}
</sv>
<sv label="录入人员">
{{ detailData?.carNoColor }}
</sv>
</sv-container>
</ng-template>
</page-header-wrapper>
<nz-card [ngClass]="{'readOnly-input': !isEdit}">
<!-- 页头 -->
<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">
<sv-title style="font-weight: 700;">车辆基础信息
<sv-title style="font-weight: 700;">待审核
<div style="float: right;">
<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" nzDanger>保存</button>
</ng-container>
</div>
</sv-title>
<sv label="车牌号">
<input type="text" name="" [(ngModel)]="detailData.carNo" [readonly]="!isEdit">
</sv>
<sv label="车牌颜色">
<sv label="申请时间">
{{ detailData?.carNoColor }}
</sv>
<sv label="车型">
{{ detailData?.carModel }}
</sv>
<sv label="车长">
{{ detailData?.carLength }}
</sv>
<sv label="是否为挂车">
{{ detailData?.isTrailer === true ? '是' : '否'}}
<sv label="录入人员">
{{ detailData?.carNoColor }}
</sv>
</sv-container>
<sv-container col="1">
<sv label="车头照">
<app-imagelist [imgList]="[detailData?.carFrontPhotoWatermark, detailData?.carFrontPhotoWatermark]">
</app-imagelist>
</sv>
</sv-container>
<nz-divider></nz-divider>
<sv-container col="3">
<sv-title style="font-weight: 700;">行驶证信息</sv-title>
<sv label="档案编号">
{{ detailData?.archivesNo }}
</sv>
<sv label="准驾车型">
{{ detailData?.carModel }}
</sv>
<sv label="行驶证注册日期">
{{ detailData?.driverLicenseRegisterTime }}
</sv>
</sv-container>
<sv-container col="2">
<sv label="行驶证到期日">
{{ detailData?.driverLicenseEndTime }}
</sv>
<sv label="行驶证签发机关">
{{ detailData?.driverLicenseSigningOrg }}
</sv>
</sv-container>
<sv-container col="3">
<sv label="行驶证发证日期">
{{ detailData?.driverLicenseGetTime }}
</sv>
<sv label="车辆识别代码">
{{ detailData?.carDistinguishCode }}
</sv>
<sv label="使用性质">
{{ detailData?.useNature === '1' ? '营运' : '非营运'}}
</sv>
</sv-container>
<sv-container col="3">
<sv label="载重(吨)">
{{ detailData?.carLoad }}
</sv>
<sv label="整备质量">
{{ detailData?.curbWeight }}
</sv>
<sv label="所有人">
{{ detailData?.carOwner }}
</sv>
</sv-container>
<sv-container col="1">
<sv label="自有载具">
{{ detailData?.contactsName }}
</sv>
<sv label="行驶证照片">
<app-imagelist
[imgList]="[detailData?.certificatePhotoFront,detailData?.certificatePhotoBack,detailData?.certificatePhotoFrontWatermark,detailData?.certificatePhotoBackWatermark]">
</app-imagelist>
</sv>
</sv-container>
<nz-divider></nz-divider>
<sv-container col="3" class="mt16">
<sv-title style="font-weight: 700;">道路运输证信息</sv-title>
<sv label="道路运输证号">
{{ detailData?.roadTransportNo }}
</sv>
<sv label="经营许可证号">
{{ detailData?.roadTransportLicenceNo }}
</sv>
<sv label="发证日期">
{{ detailData?.roadTransportStartTime }}
</sv>
<sv label="有效期至">
{{detailData?.roadTransportEndTime}}
</sv>
<sv label="道路运输证照片">
<app-imagelist [imgList]="[detailData?.roadTransportPhoto,detailData?.roadTransportPhotoWatermark ]">
</app-imagelist>
</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="isSelf" let-item let-index="index">
<div nz-tooltip [nzTooltipTitle]="item.enterpriseName">
<div>
{{ item?.isSelf ? '是' : '否' }}
</div>
</div>
</ng-template>
</st>
</nz-card>
</ng-container>
<nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate" (nzOnOk)="handleOK()"
(nzOnCancel)="handleCancel('2')">
<ng-container *nzModalContent>
<nz-tabset>
<nz-tab nzTitle="我的评价">
<div>
评分: <nz-rate [ngModel]="2.5" nzAllowHalf></nz-rate>
<div><span>评价内容:</span></div>
</div>
</nz-tab>
<nz-tab nzTitle="司机评价">
<div>
暂无评价内容
</div>
</nz-tab>
</nz-tabset>
</ng-container>
<ng-template #nzModalFooterEvaluate>
<button nz-button nzType="default" (click)="handleCancel('2')">取消</button>
<button nz-button nzType="primary" (click)="handleOK()">确定</button>
</ng-template>
</nz-modal>
</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="车牌号">
<input nz-input type="text" [(ngModel)]="detailData.carNo" [readonly]="!isEdit" [nzBorderless]="!isEdit"
[placeholder]="isEdit?'':'-'">
</sv>
<sv label="车牌颜色">
<input nz-input type="text" [(ngModel)]="detailData.carNoColor" [readonly]="!isEdit" [nzBorderless]="!isEdit"
[placeholder]="isEdit?'':'-'">
</sv>
<sv label="车型">
<input nz-input type="text" [(ngModel)]="detailData.carModel" [readonly]="!isEdit" [nzBorderless]="!isEdit"
[placeholder]="isEdit?'':'-'">
</sv>
<sv label="车长">
<input nz-input type="text" [(ngModel)]="detailData.carLength" [readonly]="!isEdit" [nzBorderless]="!isEdit"
[placeholder]="isEdit?'':'-'">
</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-container>
<sv-container col="1" class="mt-md">
<sv label="车头照">
<nz-upload [nzAction]="uploadURl" nzListType="picture-card" nzFileType="image/png,image/jpeg,image/jpg,image/gif"
nzName="multipartFile" [(nzFileList)]="carPhoto" [nzShowButton]="carPhoto?.length<2 && isEdit"
[nzPreview]="handlePreview"
(nzChange)="changeUpload($event,detailData?.carFrontPhotoWatermark?'carFrontPhotoWatermark':'carFrontPhotoWatermark')">
<div>
<i nz-icon nzType="plus"></i>
<div style="margin-top: 8px">上传</div>
</div>
</nz-upload>
<!-- <app-imagelist [imgList]="[detailData?.carFrontPhotoWatermark, detailData?.carFrontPhotoWatermark]">
</app-imagelist> -->
</sv>
</sv-container>
<nz-divider></nz-divider>
<sv-container col="3">
<sv-title style="font-weight: 700;">行驶证信息</sv-title>
<sv label="档案编号">
{{ detailData?.archivesNo }}
</sv>
<sv label="准驾车型">
{{ detailData?.carModel }}
</sv>
<sv label="行驶证注册日期">
{{ detailData?.driverLicenseRegisterTime }}
</sv>
</sv-container>
<sv-container col="2">
<sv label="行驶证到期日">
{{ detailData?.driverLicenseEndTime }}
</sv>
<sv label="行驶证签发机关">
{{ detailData?.driverLicenseSigningOrg }}
</sv>
</sv-container>
<sv-container col="3">
<sv label="行驶证发证日期">
{{ detailData?.driverLicenseGetTime }}
</sv>
<sv label="车辆识别代码">
{{ detailData?.carDistinguishCode }}
</sv>
<sv label="使用性质">
{{ detailData?.useNature === '1' ? '营运' : '非营运'}}
</sv>
</sv-container>
<sv-container col="3">
<sv label="载重(吨)">
{{ detailData?.carLoad }}
</sv>
<sv label="整备质量">
{{ detailData?.curbWeight }}
</sv>
<sv label="所有人">
{{ detailData?.carOwner }}
</sv>
</sv-container>
<sv-container col="1">
<sv label="自有载具">
{{ detailData?.contactsName }}
</sv>
<sv label="行驶证照片">
<app-imagelist
[imgList]="[detailData?.certificatePhotoFront,detailData?.certificatePhotoBack,detailData?.certificatePhotoFrontWatermark,detailData?.certificatePhotoBackWatermark]">
</app-imagelist>
</sv>
</sv-container>
<nz-divider></nz-divider>
<sv-container col="3" class="mt16">
<sv-title style="font-weight: 700;">道路运输证信息</sv-title>
<sv label="道路运输证号">
{{ detailData?.roadTransportNo }}
</sv>
<sv label="经营许可证号">
{{ detailData?.roadTransportLicenceNo }}
</sv>
<sv label="发证日期">
{{ detailData?.roadTransportStartTime }}
</sv>
<sv label="有效期至">
{{detailData?.roadTransportEndTime}}
</sv>
<sv label="道路运输证照片">
<app-imagelist [imgList]="[detailData?.roadTransportPhoto,detailData?.roadTransportPhotoWatermark ]">
</app-imagelist>
</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 }" [res]="{ reName: { list: 'data', total: 'data' } }"
[ngStyle]="{ margin: '1rem 0' }" multiSort size="small" [page]="{ show: false }">
<ng-template st-row="isSelf" let-item let-index="index">
<div nz-tooltip [nzTooltipTitle]="item.enterpriseName">
<div>
{{ item?.isSelf ? '是' : '否' }}
</div>
</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>

View File

@ -1,12 +1,33 @@
@import '~@delon/theme/index';
:host {
::ng-deep {
.readOnly-input {
.sv__label,
.sv__detail {
line-height: 30px;
}
.edit-box {
input {
outline: 0;
border : 0;
max-width: 250px;
}
}
.readOnly-box {
input {
padding-left: 0;
}
nz-select-top-control {
padding-left: 0px !important;
}
}
.ant-select {
min-width: 250px;
nz-select-top-control {
cursor: text !important;
color : #000 !important;
}
}
}

View File

@ -1,9 +1,12 @@
import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { apiConf } from '@conf/api.conf';
import { STColumn, STComponent } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form';
import { ModalHelper, _HttpClient } from '@delon/theme';
import { NzMessageService } from 'ng-zorro-antd/message';
import { NzModalService } from 'ng-zorro-antd/modal';
import { NzUploadFile } from 'ng-zorro-antd/upload';
import { VehicleService } from '../../../services/vehicle.service';
// import { VehicleComponentsListEditComponent } from '../edit/edit.component';
// import { VehicleImgViewComponent } from '../img-view/img-view.component';
@ -14,68 +17,25 @@ import { VehicleService } from '../../../services/vehicle.service';
styleUrls: ['./detail.component.less']
})
export class VehicleComponentsAuditDetailComponent implements OnInit {
i: any;
url = `/rule?_allow_anonymous=true`;
@ViewChild('st', { static: false }) st!: STComponent;
isShow = false;
isVisible = false;
modalTitle = '有效期';
modalName = '';
ui!: SFUISchema;
@ViewChild('redectModal', { static: false }) redectModal!: any;
columns!: STColumn[];
detailData: any = {
carNo: '111'
};
schema!: SFSchema;
@ViewChild('sf', { static: false }) sf!: SFComponent;
schema1!: SFSchema;
@ViewChild('sf1', { static: false }) sf1!: SFComponent;
validData: any = ['suppliersType'];
suppliersData: any = {};
detailData: any = this.initData();
tempalateData = { ...this.detailData };
isEdit = false;
constructor(
private http: _HttpClient,
private modal: ModalHelper,
public service: VehicleService,
private route: ActivatedRoute,
private modalHelper: ModalHelper,
private msgSrv: NzMessageService
) {}
approvalOpinion = '';
uploadURl = apiConf.waterFileUpload;
carPhoto: any = [];
constructor(public service: VehicleService, private route: ActivatedRoute, private nzModalService: NzModalService) {}
ngOnInit() {
this.getDetailList();
this.initSF();
this.initSF1();
this.initST();
}
/**
* 查询参数
*/
get reqParams() {
return { id: this.route.snapshot?.params?.id };
}
/**
* 初始化查询表单
*/
initSF() {
this.schema = {
properties: {
_$expand: { type: 'boolean', ui: { hidden: true } },
effectiveDate: {
title: '有效期',
type: 'string',
ui: {
widget: 'date',
format: 'yyyy-MM-dd 00:00:00'
// hidden: this.modalName === 'effectiveDate' ? false : true,
} as SFDateWidgetSchema
}
},
required: ['effectiveDate']
};
this.ui = { '*': { spanLabelFixed: 120, grid: { span: 24 } } };
}
initST() {
this.columns = [
{ title: '认证司机', index: 'name', width: 300, className: 'text-center' },
@ -89,57 +49,18 @@ export class VehicleComponentsAuditDetailComponent implements OnInit {
className: 'text-left',
buttons: [
{
text: '查看协议',
click: _record => this.viewEvaluate(_record)
text: '查看协议'
// click: _record => this.viewEvaluate(_record)
},
{
text: '上传协议',
click: _record => this.updateEvaluate(_record)
text: '上传协议'
// click: _record => this.updateEvaluate(_record)
}
]
}
];
}
initSF1() {
this.schema1 = {
properties: {
_$expand: { type: 'boolean', ui: { hidden: true } },
suppliersType: {
type: 'string',
title: '类型',
enum: [
{ label: '非外部供应商', value: 0 },
{ label: '外部供应商', value: 1 }
],
default: '',
ui: {
widget: 'select',
change: (args: any) => {
console.log(args, 'args');
this.suppliersData.suppliersType = args;
if (args === 1) {
this.validData = ['suppliersType', 'externalSuppliersId'];
} else {
this.validData = ['suppliersType'];
this.suppliersData.externalSuppliersId = '';
}
this.initSF1();
}
}
},
externalSuppliersId: {
title: '外部供应商id',
type: 'string',
default: '',
ui: {
visibleIf: { suppliersType: (value: any) => value === 1 }
}
}
},
required: this.validData
};
}
// 获取录单员
getDetailList() {
console.log(this.route.snapshot?.params?.id);
const params = {
@ -151,32 +72,86 @@ export class VehicleComponentsAuditDetailComponent implements OnInit {
});
}
goBack() {
window.history.go(-1);
approveDriver() {
this.nzModalService.confirm({
nzTitle: '审核通过',
nzContent: `<p>车牌号:${this.detailData?.licenseNo}</p><p>是否确认通过审核`,
nzOnOk: () => {
this.adjuctUser(
{
auditStatus: 20
},
'审核成功'
);
}
});
}
handleCancel(name: any) {}
rejectedDriver() {
this.approvalOpinion = '';
this.nzModalService.create({
nzTitle: '审核驳回',
nzContent: this.redectModal,
nzOnOk: () => {
if (!this.approvalOpinion) {
return false;
}
this.adjuctUser(
{
auditStatus: 30,
approvalOpinion: this.approvalOpinion
},
'审核驳回成功'
);
return;
}
});
}
/**
*查看评价
*/
viewEvaluate(item: any) {
// this.modal.createStatic(VehicleImgViewComponent, { i: { imgUrl: item } }).subscribe(() => {
// // this.st.reload();
// });
reset() {
this.detailData = { ...this.tempalateData };
this.isEdit = false;
}
/**
*查看评价
*/
updateEvaluate(item: any) {
// this.modal.createStatic(VehicleComponentsListEditComponent, { i: { item }, infoData: item }).subscribe(() => {
// // this.st.reload();
// // this.getInfo();
// });
}
handleOK() {}
ratify() {
this.isEdit = true;
}
changeUpload({ file, fileList, type }: any, key: string) {
console.log({ file, fileList, type });
if (type === 'success') {
this.detailData[key] = file.response.data.fullFileWatermarkPath;
}
}
goBack() {
window.history.go(-1);
}
handlePreview = async (file: NzUploadFile): Promise<void> => {
// if (!file.url && !file.preview) {
// file.preview = await getBase64(file.originFileObj!);
// }
// this.previewImage = file.url || file.preview;
// this.previewVisible = true;
};
private adjuctUser(params: any, msg: string) {
this.service.request(this.service.$api_get_operate_get, { ...params }).subscribe(res => {
if (res) {
this.service.msgSrv.success(msg);
}
this.getDetailList();
});
}
private initData() {
return {
carNo: '',
carNoColor: '',
carModel: '',
carLength: '',
isTrailer: null
};
}
}