This commit is contained in:
wangshiming
2021-12-13 10:43:03 +08:00
parent d13b27e76b
commit cc7f7c7649
23 changed files with 572 additions and 354 deletions

View File

@ -1,73 +1,81 @@
<ng-container >
<!-- 页头 -->
<page-header-wrapper [logo]="logo" [content]="content">
<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>
<div class="user-info">
<div style="flex: 1">
<div style="display: flex;">
<p style="padding-right: 80px; width: 400px;">车牌号{{ detailData?.shoppFeignVO?.publicity }}</p>
<p style="padding-right: 80px; width: 400px;">车牌颜色{{ detailData?.shoppFeignVO?.introduction }}</p>
<p >注册日期2021-09-02 12.53.32</p>
</div>
<div style="display: flex;">
<p style="padding-right: 80px; width: 400px;">车型{{ detailData?.shoppFeignVO?.introduction }}</p>
<p >车长2021-09-02 12.53.32</p>
</div>
</div>
</div>
<sv-container col="3">
<sv-title style="font-weight: 700;">车辆基础信息</sv-title>
<sv label="车牌号">
{{ detailData?.carNo }}
</sv>
<sv label="车牌颜色">
{{ detailData?.carNoColor }}
</sv>
<sv label="车型">
{{ detailData?.carModel }}
</sv>
<sv label="车长">
{{ detailData?.carLength }}
</sv>
<sv label="是否为挂车">
{{ detailData?.isTrailer === true ? '是' : '否'}}
</sv>
</sv-container>
<sv-container col="1">
<sv label="车头照">
<app-imagelist [imgList]="[detailData?.carFrontPhotoWatermark, detailData?.carFrontPhotoWatermark]"></app-imagelist>
</sv>
</sv-container>
</ng-template>
</page-header-wrapper>
<nz-card>
<sv-container col="3">
<sv-title>行驶证信息</sv-title>
<sv-title style="font-weight: 700;">行驶证信息</sv-title>
<sv label="档案编号">
{{ detailData?.contactsName }}
{{ detailData?.archivesNo }}
</sv>
<sv label="准驾车型">
{{ detailData?.contactsPhone }}
{{ detailData?.carModel }}
</sv>
<sv label="行驶证注册日期">
{{ detailData?.contactsPhone }}
{{ detailData?.driverLicenseRegisterTime }}
</sv>
</sv-container>
<sv-container col="2">
<sv label="行驶证到期日">
{{ detailData?.contactsPhone }}
{{ detailData?.driverLicenseEndTime }}
</sv>
<sv label="行驶证签发机关">
{{ detailData?.contactsPhone }}
{{ detailData?.driverLicenseSigningOrg }}
</sv>
</sv-container>
<sv-container col="3">
<sv label="行驶证发证日期">
{{ detailData?.contactsName }}
{{ detailData?.driverLicenseGetTime }}
</sv>
<sv label="车辆识别代码">
{{ detailData?.contactsPhone }}
{{ detailData?.carDistinguishCode }}
</sv>
<sv label="使用性质">
{{ detailData?.contactsPhone }}
{{ detailData?.useNature === '1' ? '营运' : '非营运'}}
</sv>
</sv-container>
<sv-container col="3">
<sv label="载重(吨)">
{{ detailData?.contactsName }}
{{ detailData?.carLoad }}
</sv>
<sv label="整备质量">
{{ detailData?.contactsPhone }}
{{ detailData?.curbWeight }}
</sv>
<sv label="所有人">
{{ detailData?.contactsPhone }}
{{ detailData?.carOwner }}
</sv>
</sv-container>
<sv-container col="1">
@ -75,47 +83,73 @@
{{ detailData?.contactsName }}
</sv>
<sv label="行驶证照片">
<!-- <app-imagelist [imgList]="detailData?.enterpriseQualificationCertificate"></app-imagelist> -->
<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>道路运输证信息</sv-title>
<sv-title style="font-weight: 700;">道路运输证信息</sv-title>
<sv label="道路运输证号">
{{ detailData?.enterpriseName }}
{{ detailData?.roadTransportNo }}
</sv>
<sv label="许可证起始有效期">
{{ detailData?.unifiedSocialCreditCode }}
<sv label="经营许可证">
{{ detailData?.roadTransportLicenceNo }}
</sv>
<sv label="许可证截至有效期">
{{ detailData?.enterpriseType }}
<sv label="发证日期">
{{ detailData?.roadTransportStartTime }}
</sv>
<sv label="营业执照">
<!-- <app-imagelist [imgList]="detailData?.enterpriseQualificationCertificate"></app-imagelist> -->
<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>其他信息</sv-title>
<sv label="车头照">
{{ detailData?.name }}
</sv>
<sv label="车主申明或挂靠协议" >
<!-- <app-imagelist [imgList]="detailData?.certificatePhoto"></app-imagelist> -->
</sv>
<sv-title style="font-weight: 700;">认证司机</sv-title>
</sv-container>
<nz-divider></nz-divider>
<st
#st
[bordered]="true"
[columns]="columns"
[data]="detailData.goodsList"
[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>

View File

@ -1,26 +1,26 @@
/*
* @Author: your name
* @Date: 2021-11-29 20:19:08
* @LastEditTime: 2021-11-29 20:31:00
* @LastEditors: your name
* @LastEditTime: 2021-12-13 09:58:36
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\usercenter\components\freight\list\detail\detail.component.spec.ts
*/
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { FreightComponentsListDetailComponent } from './detail.component';
import { VehicleComponentsAuditDetailComponent } from './detail.component';
describe('FreightComponentsListDetailComponent', () => {
let component: FreightComponentsListDetailComponent;
let fixture: ComponentFixture<FreightComponentsListDetailComponent>;
describe('VehicleComponentsAuditDetailComponent', () => {
let component: VehicleComponentsAuditDetailComponent;
let fixture: ComponentFixture<VehicleComponentsAuditDetailComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [FreightComponentsListDetailComponent],
declarations: [VehicleComponentsAuditDetailComponent],
}).compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(FreightComponentsListDetailComponent);
fixture = TestBed.createComponent(VehicleComponentsAuditDetailComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

View File

@ -4,14 +4,16 @@ 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 { UsermanageService } from '../../../services/vehicle.service';
import { VehicleService } from '../../../services/vehicle.service';
// import { VehicleComponentsListEditComponent } from '../edit/edit.component';
// import { VehicleImgViewComponent } from '../img-view/img-view.component';
@Component({
selector: 'app-supplier-components-list-view',
selector: 'app-Vehicle-components-Audit-detail',
templateUrl: './detail.component.html',
styleUrls: ['./detail.component.less'],
})
export class VehicleComponentsListDetailComponent implements OnInit {
export class VehicleComponentsAuditDetailComponent implements OnInit {
i: any;
url = `/rule?_allow_anonymous=true`;
@ViewChild('st', { static: false }) st!: STComponent;
@ -20,25 +22,8 @@ export class VehicleComponentsListDetailComponent implements OnInit {
modalTitle = '有效期';
modalName = '';
ui!: SFUISchema;
columns: STColumn[] = [
{ title: '认证司机', index: 'perPrice', width: 300, className: 'text-center' },
{ title: '司机手机号', index: 'goodsQuantity', width: 300, className: 'text-center' },
{ title: '录入人员', index: 'totalPrice', width: 300, className: 'text-center' },
];
detailData: any = {
goodsList: [
{
perPrice: '22323',
goodsQuantity: '项目名称',
totalPrice: '角色',
},
{
perPrice: '2259595',
goodsQuantity: '项目名称2',
totalPrice: '角色',
},
]
};
columns!: STColumn[];
detailData: any;
schema!: SFSchema;
@ViewChild('sf', { static: false }) sf!: SFComponent;
schema1!: SFSchema;
@ -49,19 +34,24 @@ export class VehicleComponentsListDetailComponent implements OnInit {
constructor(
private http: _HttpClient,
private modal: ModalHelper,
public service: UsermanageService,
public service: VehicleService,
private route: ActivatedRoute,
private modalHelper: ModalHelper,
private msgSrv: NzMessageService,
) {}
ngOnInit() {
console.log(this.route.snapshot);
// this.initData();
this.getDetailList();
this.initSF();
this.initSF1();
// this.launchSign();
this.initST();
}
/**
* 查询参数
*/
get reqParams() {
return { id: this.route.snapshot?.params?.id };
}
/**
* 初始化查询表单
*/
@ -83,6 +73,30 @@ export class VehicleComponentsListDetailComponent implements OnInit {
};
this.ui = { '*': { spanLabelFixed: 120, grid: { span: 24 } } };
}
initST() {
this.columns =[
{ title: '认证司机', index: 'name', width: 300, className: 'text-center' },
{ title: '司机手机号', index: 'mobile', width: 300, className: 'text-center' },
{ title: '是否挂靠', render: 'isSelf', width: 300, className: 'text-center' },
{ title: '录入人员', index: 'totalPrice', width: 300, className: 'text-center' },
{
title: '车主申明/挂靠协议',
fixed: 'right',
width: '200px',
className: 'text-left',
buttons: [
{
text: '查看协议',
click: (_record) => this.viewEvaluate(_record),
},
{
text: '上传协议',
click: (_record) => this.updateEvaluate(_record),
},
],
},
]
}
initSF1() {
this.schema1 = {
properties: {
@ -122,152 +136,45 @@ export class VehicleComponentsListDetailComponent implements OnInit {
required: this.validData,
};
}
showModal(name: any) {
this.modalName = name;
if (name === 'effectiveDate') {
this.isShow = true;
} else {
this.isVisible = true;
}
}
async initData() {
console.log(this.route.snapshot, 'this.route.snapshot');
// 获取录单员
getDetailList() {
console.log( this.route.snapshot?.params?.id)
const params = {
tenantId: this.route.snapshot.params.id,
// tenantId: this.route.snapshot.queryParams.tenantId,
};
const res = await this.service.asyncRequest(this.service.$api_get_supplier_info, params);
// // 商品资质
// if (res.enterpriseBusinessJson) {
// res.enterpriseBusinessJson.aptitudes = res.enterpriseBusinessJson?.aptitudes ? res.enterpriseBusinessJson.aptitudes.split(',') : [];
// }
// // // 申请人身份证证件
// // res.applyUserJson.imagelist = [];
// // res.applyUserJson.imagelist.push(res.applyUserJson.certificatePhotoFront);
// // res.applyUserJson.imagelist.push(res.applyUserJson.certificatePhotoBack);
// // res.applyUserJson.imagelist.push(res.applyUserJson.handCertificate);
// 法人身份证证件
const imagelist = [];
imagelist.push(res?.certificatePhotoFront);
imagelist.push(res?.certificatePhotoBack);
res.certificatePhoto = imagelist;
// 营业执照
res.enterpriseQualificationCertificate = res.enterpriseQualificationCertificate
? res.enterpriseQualificationCertificate.split(',')
: [];
// 返回所在地
res.enterpriseAddressCodeStr = await this.getRegionFullName(res.enterpriseAddressCode);
this.detailData = res;
this.suppliersData = {
suppliersType: res?.suppliersType,
externalSuppliersId: res?.externalSuppliersId,
id: this.route.snapshot?.params?.id
};
this.service.request(`${this.service.$api_get_operate_get}`, params).subscribe((res) => {
console.log(res)
this.detailData = res;
})
}
/**
* 根据地区code查询地区详情
* @param code 地区代码
*/
async getRegionFullName(code: any) {
const params = {
regionCode: code,
};
const res = await this.service.asyncRequest(this.service.$api_get_region_detailByCode, params, 'POST', true);
// if (res && res.regionFullName) {
// const arr = res.regionFullName.split(',');
// res.regionFullName = arr.reverse().join('-');
// }
return res && res.regionFullName;
}
add() {
// this.modal
// .createStatic(FormEditComponent, { i: { id: 0 } })
// .subscribe(() => this.st.reload());
}
goBack() {
window.history.go(-1);
}
/**
* 冻结
*/
freezeOrResume(type: number) {
console.log(type)
// this.service.http
// .post(this.service.$api_set_freezeOrResume, {
// tenantId: this.route.snapshot.params.id,
// // tenantId: this.route.snapshot.queryParams.tenantId,
// status: type,
// })
// .subscribe((res) => {
// if (res.data === true) {
// if (type === 0) {
// this.service.msgSrv.success(`启用成功!`);
// } else if (type === 1) {
// this.service.msgSrv.success(`冻结成功!`);
// }
// this.ngOnInit();
// } else {
// this.service.msgSrv.error(res.msg || '操作失败!');
// }
// });
}
PayOrResume(type: number) {
console.log(type)
// this.service.http
// .post(this.service.$api_set_freezeOrResume, {
// tenantId: this.route.snapshot.params.id,
// // tenantId: this.route.snapshot.queryParams.tenantId,
// status: type,
// })
// .subscribe((res) => {
// if (res.data === true) {
// if (type === 0) {
// this.service.msgSrv.success(`启用成功!`);
// } else if (type === 1) {
// this.service.msgSrv.success(`冻结成功!`);
// }
// this.ngOnInit();
// } else {
// this.service.msgSrv.error(res.msg || '操作失败!');
// }
// });
}
handleCancel(name: any) {
if (name === 'effectiveDate') {
this.isShow = false;
} else {
this.isVisible = false;
}
}
handleOK(name: any) {
const params: any = {
tenantId: this.route.snapshot.params.id,
// tenantId: this.route.snapshot.queryParams.tenantId,
};
if (name === 'effectiveDate') {
params.effectiveDate = this.sf?.value?.effectiveDate;
} else {
Object.assign(params, this.sf1?.value);
}
this.service.http.post(this.service.$api_set_freezeOrResume, params).subscribe((res) => {
if (res.data === true) {
this.service.msgSrv.success(`编辑成功!`);
this.ngOnInit();
} else {
this.service.msgSrv.error(res.msg || '编辑失败!');
}
if (name === 'effectiveDate') {
this.isShow = false;
} else {
this.isVisible = false;
}
});
}
/**
*查看评价
*/
viewEvaluate(item: any) {
// this.modal.createStatic(VehicleImgViewComponent, { i: { imgUrl: item } }).subscribe(() => {
// // this.st.reload();
// });
}
/**
*查看评价
*/
updateEvaluate(item: any) {
// this.modal.createStatic(VehicleComponentsListEditComponent, { i: { item }, infoData: item }).subscribe(() => {
// // this.st.reload();
// // this.getInfo();
// });
}
handleOK() {
}
}