车辆对接

This commit is contained in:
wangshiming
2021-12-28 10:51:30 +08:00
parent 269355e7bc
commit ec51030da0
8 changed files with 111 additions and 135 deletions

View File

@ -1,7 +1,7 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-12-03 15:31:52 * @Date: 2021-12-03 15:31:52
* @LastEditTime: 2021-12-28 09:54:53 * @LastEditTime: 2021-12-28 10:46:37
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\order-management\components\vehicle-detail\vehicle-detail.component.html * @FilePath: \tms-obc-web\src\app\routes\order-management\components\vehicle-detail\vehicle-detail.component.html
@ -35,7 +35,7 @@
<sv label="录单员">{{i?.goodsResource?.[0]?.dispatchName}} 18100000000 </sv> <sv label="录单员">{{i?.goodsResource?.[0]?.dispatchName}} 18100000000 </sv>
<sv label="调度员">{{i?.goodsResource?.[0]?.dispatchName}} </sv> <sv label="调度员">{{i?.goodsResource?.[0]?.dispatchName}} </sv>
</div> </div>
<nz-tabset nzType="card" style="margin-top: 15px;"> <nz-tabset style="margin-top: 15px;">
<nz-tab [nzTitle]="tempt" > <nz-tab [nzTitle]="tempt" >
<ng-template #tempt> <ng-template #tempt>
<nz-anchor> <nz-anchor>

View File

@ -35,23 +35,23 @@
} }
} }
.ant-tabs-top>.ant-tabs-nav, // .ant-tabs-top>.ant-tabs-nav,
.ant-tabs-bottom>.ant-tabs-nav, // .ant-tabs-bottom>.ant-tabs-nav,
.ant-tabs-top>div>.ant-tabs-nav, // .ant-tabs-top>div>.ant-tabs-nav,
.ant-tabs-bottom>div>.ant-tabs-nav { // .ant-tabs-bottom>div>.ant-tabs-nav {
margin: 0; // margin: 0;
} // }
.ant-anchor-ink::before { // .ant-anchor-ink::before {
width: 0; // width: 0;
} // }
.ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab, // .ant-tabs-card.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,
.ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab, // .ant-tabs-card.ant-tabs-bottom>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,
.ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab, // .ant-tabs-card.ant-tabs-top>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab,
.ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab { // .ant-tabs-card.ant-tabs-bottom>div>.ant-tabs-nav .ant-tabs-tab+.ant-tabs-tab {
margin-left: 40px // margin-left: 40px
} // }
} }
.leftPadding { .leftPadding {

View File

@ -56,16 +56,16 @@
<sv-title>货物信息</sv-title> <sv-title>货物信息</sv-title>
<ng-container *ngFor="let item of i?.goodsInfoList"> <ng-container *ngFor="let item of i?.goodsInfoList">
<sv label="货物名称"> <sv label="货物名称">
{{item.goodsName}} {{item?.goodsName}}
</sv> </sv>
<sv label="货物数量"> <sv label="货物数量">
{{item.weight}}顿 | {{item.volume}}方 {{item?.weight}}顿 | {{item?.volume}}方
</sv> </sv>
<sv label="剩余"> <sv label="剩余">
{{10}}顿 | {{10}}方 {{10}}顿 | {{10}}方
</sv> </sv>
<sv label="用车需求"> <sv label="用车需求">
{{item.maxWeight}} | {{item.maxCube}}米 {{item?.maxWeight}} | {{item?.maxCube}}米
</sv> </sv>
<sv label="承运信息"> <sv label="承运信息">
{{i?.carrierInformationVO?.driverName}} / {{i?.carrierInformationVO?.driverTelephone}} / {{i?.carrierInformationVO?.driverName}} / {{i?.carrierInformationVO?.driverTelephone}} /
@ -88,11 +88,11 @@
<div nz-col [nzSpan]="12"> <div nz-col [nzSpan]="12">
<div class="handling-info p-md"> <div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.unLoadingPlaceVOList"> <div class="flex" *ngFor="let item of i?.unLoadingPlaceVOList">
<div *ngIf="item.type === '1'" class="loading-row"> <div *ngIf="item?.type === '1'" class="loading-row">
<div class="handling-info-icon loading-bg"></div> <div class="handling-info-icon loading-bg"></div>
<div class="info"> <div class="info">
<h4>装货地:{{item?.province}}{{item.city}}{{item.area}}{{item.detailedAddress}}</h4> <h4>装货地:{{item?.province}}{{item?.city}}{{item?.area}}{{item?.detailedAddress}}</h4>
<p>联系人:{{item.appUserName}}/{{item.contractTelephone}}</p> <p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
</div> </div>
</div> </div>
</div> </div>
@ -102,11 +102,11 @@
<div nz-col [nzSpan]="12"> <div nz-col [nzSpan]="12">
<div class="handling-info p-md"> <div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.unLoadingPlaceVOList"> <div class="flex" *ngFor="let item of i?.unLoadingPlaceVOList">
<div *ngIf="item.type === '2'" class="loading-row"> <div *ngIf="item?.type === '2'" class="loading-row">
<div class="handling-info-icon unloaing-bg"></div> <div class="handling-info-icon unloaing-bg"></div>
<div class="info"> <div class="info">
<h4>卸货地:{{item?.province}}{{item.city}}{{item.area}}{{item.detailedAddress}}</h4> <h4>卸货地:{{item?.province}}{{item?.city}}{{item?.area}}{{item?.detailedAddress}}</h4>
<p>联系人:{{item.appUserName}}/{{item.contractTelephone}}</p> <p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
</div> </div>
</div> </div>
</div> </div>
@ -138,7 +138,7 @@
</nz-card> </nz-card>
<nz-card nzTitle="关联运单"> <nz-card nzTitle="关联运单">
<sv-container col="5"> <sv-container col="5">
<sv [label]="item.wayBillStatusLabel" *ngFor="let item of i?.wayBillClassifiedStatisticsVOList"> <sv [label]="item?.wayBillStatusLabel" *ngFor="let item of i?.wayBillClassifiedStatisticsVOList">
(<span [ngClass]="{ 'text-primary': item?.count > 0 }">{{ item?.count }}</span>) (<span [ngClass]="{ 'text-primary': item?.count > 0 }">{{ item?.count }}</span>)
</sv> </sv>
<!-- <sv label="运输中"> <!-- <sv label="运输中">

View File

@ -328,49 +328,24 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
maxWeight: { maxWeight: {
type: 'string', type: 'string',
title: '车型/车长', title: '车型/车长',
enum: [
{ label: '1', value: '1' },
{ label: '2', value: '2' }
],
ui: { ui: {
widget: 'select', widget: 'dict-select',
placeholder: '请选择车型', params: { dictKey: 'car:model' },
mode: 'multiple', mode: 'multiple',
placeholder: '请选择车型',
errors: { required: '请选择车型' } errors: { required: '请选择车型' }
// asyncData: () => }
// this.categoryService.loadChildData2('0', '2').pipe(
// map((data: any) => {
// return data.map((m: any) => {
// return { label: m.name, value: m.id };
// });
// }),
// ),
// change: (i) => this.updateCategory(i, '/categoryId2'),
} as SFSelectWidgetSchema
}, },
maxCube: { maxCube: {
type: 'string', type: 'string',
title: '', title: '',
enum: [
{ label: '1', value: '1' },
{ label: '2', value: '2' }
],
ui: { ui: {
widget: 'select', widget: 'dict-select',
placeholder: '请选择车长', params: { dictKey: 'car:length' },
mode: 'multiple', mode: 'multiple',
placeholder: '请选择车长',
errors: { required: '请选择车长' } errors: { required: '请选择车长' }
// asyncData: () => }
// this.categoryService.loadChildData2('0', '2').pipe(
// map((data: any) => {
// return data.map((m: any) => {
// return { label: m.name, value: m.id };
// });
// }),
// ),
// change: (i) => this.updateCategory(i, '/categoryId2'),
} as SFSelectWidgetSchema
} }
}, },
required: ['weight', 'maxWeight', 'maxCube', 'freightPrice', 'rule', 'settlementBasis'] required: ['weight', 'maxWeight', 'maxCube', 'freightPrice', 'rule', 'settlementBasis']

View File

@ -135,23 +135,22 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
return of([]); return of([]);
} }
}, },
change: (q: any) => {
this.getRegionCode(q)
},
visibleIf: { visibleIf: {
_$expand: (value: boolean) => value, _$expand: (value: boolean) => value,
}, },
} as SFSelectWidgetSchema, } as SFSelectWidgetSchema,
}, },
enterpriseProjectId: { enterpriseProjectId: {
title: '项目',
type: 'string', type: 'string',
default: '', title: '项目',
ui: { ui: {
widget: 'select', widget: 'select',
visibleIf: { placeholder: '请选择',
_$expand: (value: boolean) => value, allowClear: true,
}, } as SFSelectWidgetSchema
asyncData: () =>
this.shipperSrv.getEnterpriseProject()
} as SFSelectWidgetSchema,
}, },
enterpriseInfoName: { enterpriseInfoName: {
type: 'string', type: 'string',
@ -288,49 +287,24 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
maxWeight: { maxWeight: {
type: 'string', type: 'string',
title: '车型/车长', title: '车型/车长',
enum: [
{ label: '1', value: '1' },
{ label: '2', value: '2' }
],
ui: { ui: {
widget: 'select', widget: 'dict-select',
placeholder: '请选择车型', params: { dictKey: 'car:model' },
mode: 'multiple', mode: 'multiple',
placeholder: '请选择车型',
errors: { required: '请选择车型' } errors: { required: '请选择车型' }
// asyncData: () => }
// this.categoryService.loadChildData2('0', '2').pipe(
// map((data: any) => {
// return data.map((m: any) => {
// return { label: m.name, value: m.id };
// });
// }),
// ),
// change: (i) => this.updateCategory(i, '/categoryId2'),
} as SFSelectWidgetSchema
}, },
maxCube: { maxCube: {
type: 'string', type: 'string',
title: '', title: '',
enum: [
{ label: '1', value: '1' },
{ label: '2', value: '2' }
],
ui: { ui: {
widget: 'select', widget: 'dict-select',
placeholder: '请选择车长', params: { dictKey: 'car:length' },
mode: 'multiple', mode: 'multiple',
placeholder: '请选择车长',
errors: { required: '请选择车长' } errors: { required: '请选择车长' }
// asyncData: () => }
// this.categoryService.loadChildData2('0', '2').pipe(
// map((data: any) => {
// return data.map((m: any) => {
// return { label: m.name, value: m.id };
// });
// }),
// ),
// change: (i) => this.updateCategory(i, '/categoryId2'),
} as SFSelectWidgetSchema
} }
}, },
required: ['weight', 'maxWeight', 'maxCube'] required: ['weight', 'maxWeight', 'maxCube']
@ -357,7 +331,24 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
} }
}; };
} }
// 获取城市列表
getRegionCode(regionCode: any) {
console.log(regionCode)
return this.service
.request(this.service.$api_get_enterprise_project, { id: regionCode })
.pipe(
map((res) =>
res.map((item: any) => ({
label: item.projectName,
value: item.id,
})),
),
)
.subscribe((res) => {
this.sf1.getProperty('/enterpriseProjectId')!.schema.enum = res;
this.sf1.getProperty('/enterpriseProjectId')!.widget.reset(res);
});
}
initSF5() { initSF5() {
this.schema5 = { this.schema5 = {
properties: { properties: {
@ -835,7 +826,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
volume: res?.goodsInfoVOList[0]?.volume , volume: res?.goodsInfoVOList[0]?.volume ,
vehicleDemand: res?.goodsInfoVOList[0]?.vehicleDemand , vehicleDemand: res?.goodsInfoVOList[0]?.vehicleDemand ,
maxCube: res?.goodsInfoVOList[0]?.maxCube?.split(',') , maxCube: res?.goodsInfoVOList[0]?.maxCube?.split(',') ,
maxWeight: res?.goodsInfoVOList[0]?.maxWeight?.split(',') , maxWeight: res?.goodsInfoVOList[0]?.maxWeight?.split(',') || '',
number: res?.goodsInfoVOList[0]?.number , number: res?.goodsInfoVOList[0]?.number ,
goodsTypeName: res?.goodsInfoVOList[0]?.goodsTypeName , goodsTypeName: res?.goodsInfoVOList[0]?.goodsTypeName ,
modifyUserId: res?.goodsInfoVOList[0]?.modifyUserId , modifyUserId: res?.goodsInfoVOList[0]?.modifyUserId ,

View File

@ -49,38 +49,7 @@
</div> </div>
</div> </div>
</nz-card> </nz-card>
<nz-card nzTitle="装货卸货信息 (一装一卸)">
<div nz-row [nzGutter]="24">
<div nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.unLoadingPlaceVOList">
<div *ngIf="item.type === '1'" class="loading-row">
<div class="handling-info-icon loading-bg"></div>
<div class="info">
<h4>装货地:{{item?.province}}{{item?.city}}{{item?.area}}{{item.detailedAddress}}</h4>
<p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
</div>
</div>
</div>
<p class="time-info">装货时间:{{i?.loadingTime}}</p>
</div>
</div>
<div nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.unLoadingPlaceVOList">
<div *ngIf="item.type === '2'" class="loading-row">
<div class="handling-info-icon unloaing-bg"></div>
<div class="info">
<h4>卸货地:{{item?.province}}{{item?.city}}{{item?.area}}{{item?.detailedAddress}}</h4>
<p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
</div>
</div>
</div>
<p class="time-info">卸货时间:{{i?.unloadingTime}}</p>
</div>
</div>
</div>
</nz-card>
<nz-card nzTitle="基本信息"> <nz-card nzTitle="基本信息">
<sv-container col="2"> <sv-container col="2">
@ -106,6 +75,45 @@
{{i?.carrierInformationVO?.driverLicensePlate}} {{i?.carrierInformationVO?.driverLicensePlate}}
</sv> </sv>
</sv-container> </sv-container>
<div class="mt-md">
<h4 class="text-md">装货卸货信息
<span class="ml-sm text-sm">(
<label>{{i?.loadingCount}}装</label>
<label>{{i?.unloadingCount}}卸</label>
)
</span>
</h4>
<div nz-row [nzGutter]="24">
<div nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.unLoadingPlaceVOList">
<div *ngIf="item?.type === '1'" class="loading-row">
<div class="handling-info-icon loading-bg"></div>
<div class="info">
<h4>装货地:{{item?.province}}{{item?.city}}{{item?.area}}{{item?.detailedAddress}}</h4>
<p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
</div>
</div>
</div>
<p class="time-info">装货时间:{{i?.loadingTime}}</p>
</div>
</div>
<div nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.unLoadingPlaceVOList">
<div *ngIf="item?.type === '2'" class="loading-row">
<div class="handling-info-icon unloaing-bg"></div>
<div class="info">
<h4>卸货地:{{item?.province}}{{item?.city}}{{item?.area}}{{item?.detailedAddress}}</h4>
<p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
</div>
</div>
</div>
<p class="time-info">卸货时间:{{i?.unloadingTime}}</p>
</div>
</div>
</div>
</div>
</nz-card> </nz-card>
<nz-card nzTitle="服务信息"> <nz-card nzTitle="服务信息">

View File

@ -190,6 +190,7 @@ this.ui2 = { '*': { spanLabelFixed: 120, grid: { span: 24 } } };
if(item === 1) { if(item === 1) {
this.edit = false; this.edit = false;
this.editText = '新增'; this.editText = '新增';
this.formData = {};
} else { } else {
this.service.request(this.service.$api_settlementCustomer_get, {id: value.id}).subscribe((res: any) => { this.service.request(this.service.$api_settlementCustomer_get, {id: value.id}).subscribe((res: any) => {
console.log(res) console.log(res)

View File

@ -155,6 +155,7 @@ this.ui2 = { '*': { spanLabelFixed: 120, grid: { span: 24 } } };
if(item === 1) { if(item === 1) {
this.edit = false; this.edit = false;
this.editText = '新增'; this.editText = '新增';
this.formData = {};
} else { } else {
this.service.request(this.service.$api_get_crmCustomer, {id: value.id}).subscribe((res: any) => { this.service.request(this.service.$api_get_crmCustomer, {id: value.id}).subscribe((res: any) => {
console.log(res) console.log(res)