车辆对接

This commit is contained in:
wangshiming
2021-12-17 16:03:22 +08:00
parent 6d65ead997
commit 4bb0520a73
16 changed files with 524 additions and 343 deletions

View File

@ -175,7 +175,7 @@ export class OrderManagementBulkComponent implements OnInit {
}, },
} }
}, },
brandId2: { payeeId: {
title: '车队长', title: '车队长',
type: 'string', type: 'string',
ui: { ui: {

View File

@ -1,7 +1,7 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-12-16 10:19:08 * @Date: 2021-12-16 10:19:08
* @LastEditTime: 2021-12-16 16:52:28 * @LastEditTime: 2021-12-17 11:21:28
* @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\risk-detail\risk-detail.component.html * @FilePath: \tms-obc-web\src\app\routes\order-management\components\risk-detail\risk-detail.component.html
@ -42,8 +42,8 @@
<button nzType="primary" (click)="edit(i)" nzGhost nz-button>编辑</button> <button nzType="primary" (click)="edit(i)" nzGhost nz-button>编辑</button>
</ng-template> --> </ng-template> -->
<sf #sf [compact]="true" [ui]="ui" [schema]="schema" [button]="'none'" *ngIf="schema" [formData]="datailList"> <sf #sf [compact]="true" [ui]="ui" [schema]="schema" [button]="'none'" *ngIf="schema" [formData]="datailList">
<ng-template sf-template="enterpriseQualificationCe" let-schema="schema" let-me let-ui="ui"> <ng-template sf-template="enterpriseQualificationCe" let-schema="schema" let-item let-ui="ui">
<app-imagelist [imgList]="me.value"></app-imagelist> <app-imagelist [imgList]="datailList?.fileArr"></app-imagelist>
</ng-template> </ng-template>
</sf> </sf>
</nz-card> </nz-card>

View File

@ -120,7 +120,9 @@ export class OrderManagementRiskDetailComponent implements OnInit {
} }
}) })
} }
kkk(value: any) {
console.log(value)
}
goBack() { goBack() {
window.history.go(-1) window.history.go(-1)
} }

View File

@ -135,7 +135,7 @@ export class SupplyManagementBulkComponent implements OnInit {
_$expand: (value: boolean) => value, _$expand: (value: boolean) => value,
}, },
allowClear: true, allowClear: true,
asyncData: () => this.service2.getEnterpriseProject(), asyncData: () => this.service2.getNetworkFreightForwarder(),
}, },
}, },
no4: { no4: {

View File

@ -1,8 +1,10 @@
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { STColumn, STColumnBadge, STComponent, STData } from '@delon/abc/st'; import { STColumn, STColumnBadge, STComponent, STData } from '@delon/abc/st';
import { SFComponent, SFSchema, SFUISchema } from '@delon/form'; import { SFComponent, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { of } from 'rxjs';
import { map } from 'rxjs/operators';
import { VehicleService } from '../../../vehicle/services/vehicle.service'; import { VehicleService } from '../../../vehicle/services/vehicle.service';
@Component({ @Component({
selector: 'app-Vehicle-components-audit', selector: 'app-Vehicle-components-audit',
@ -68,7 +70,28 @@ export class VehicleComponentsAuditComponent implements OnInit {
hidden: true, hidden: true,
}, },
}, },
carNo: { title: '车牌号', type: 'string', ui: { showRequired: false } }, carNo: {
title: '车牌号',
type: 'string',
ui: {
widget: 'select',
serverSearch: true,
searchDebounceTime: 300,
searchLoadingText: '搜索中...',
onSearch: (q: any) => {
if (!!q) {
return this.service
.request(this.service.$api_get_getCarLicenseListByCarNo, {
carNo: q
})
.pipe(map((res: any[]) => (res as any[]).map((i) => ({ label: i.carNo, value: i.carNo } as SFSchemaEnum))))
.toPromise();
} else {
return of([]);
}
},
} as SFSelectWidgetSchema,
},
carNoColor: { carNoColor: {
type: 'string', type: 'string',
title: '车牌颜色', title: '车牌颜色',
@ -80,9 +103,12 @@ export class VehicleComponentsAuditComponent implements OnInit {
isSelf: { isSelf: {
type: 'string', type: 'string',
title: '是否挂靠', title: '是否挂靠',
enum: [
{ label: '是', value: true },
{ label: '否', value: false },
],
ui: { ui: {
widget: 'dict-select', widget: 'select',
params: { dictKey: 'Whether' },
} }
}, },
saveUser: { saveUser: {

View File

@ -1,9 +1,11 @@
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, Router } from '@angular/router'; import { ActivatedRoute, Router } from '@angular/router';
import { STColumn, STColumnBadge, STComponent, STData } from '@delon/abc/st'; import { STColumn, STColumnBadge, STComponent, STData } from '@delon/abc/st';
import { SFComponent, SFSchema, SFUISchema } from '@delon/form'; import { SFComponent, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { format } from 'path'; import { format } from 'path';
import { of } from 'rxjs';
import { map } from 'rxjs/operators';
import { VehicleService } from '../../../vehicle/services/vehicle.service'; import { VehicleService } from '../../../vehicle/services/vehicle.service';
@Component({ @Component({
selector: 'app-Vehicle-components-list', selector: 'app-Vehicle-components-list',
@ -69,7 +71,28 @@ export class VehicleComponentsListComponent implements OnInit {
hidden: true, hidden: true,
}, },
}, },
carNo: { title: '车牌号', type: 'string', ui: { showRequired: false } }, carNo: {
title: '车牌号',
type: 'string',
ui: {
widget: 'select',
serverSearch: true,
searchDebounceTime: 300,
searchLoadingText: '搜索中...',
onSearch: (q: any) => {
if (!!q) {
return this.service
.request(this.service.$api_get_getCarLicenseListByCarNo, {
carNo: q
})
.pipe(map((res: any[]) => (res as any[]).map((i) => ({ label: i.carNo, value: i.carNo } as SFSchemaEnum))))
.toPromise();
} else {
return of([]);
}
},
} as SFSelectWidgetSchema,
},
carNoColor: { carNoColor: {
type: 'string', type: 'string',
title: '车牌颜色', title: '车牌颜色',

View File

@ -1,7 +1,7 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-11-29 15:22:34 * @Date: 2021-11-29 15:22:34
* @LastEditTime: 2021-12-16 15:57:25 * @LastEditTime: 2021-12-17 09:34:09
* @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\usercenter\services\usercenter.service.ts * @FilePath: \tms-obc-web\src\app\routes\usercenter\services\usercenter.service.ts
@ -44,6 +44,9 @@ export class VehicleService extends BaseService {
// 上传司机挂靠协议 // 上传司机挂靠协议
$api_get_upLoadCarProtocal= `/api/mdc/cuc/carLicenseAudit/operate/upLoadCarProtocal`; $api_get_upLoadCarProtocal= `/api/mdc/cuc/carLicenseAudit/operate/upLoadCarProtocal`;
// 根据车牌号查询车辆信息
$api_get_getCarLicenseListByCarNo= `/api/mdc/cuc/carLicenseAudit/operate/getCarLicenseListByCarNo`;
constructor(public injector: Injector) { constructor(public injector: Injector) {

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-07 15:09:32 * @LastEditTime: 2021-12-17 14:57:52
* @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
@ -14,17 +14,14 @@
</ng-template> </ng-template>
</page-header-wrapper> </page-header-wrapper>
<nz-card> <nz-card>
<nz-spin *ngIf="!i" class="modal-spin"></nz-spin>
<div nz-row> <div nz-row>
<div nz-col nzSpan="4"> <div nz-col nzSpan="4">
<sv-container class="bdr"> <sv-container class="bdr">
<sv label="订单号" col="1">{{ i?.no }}</sv> <sv label="订单号" col="1">{{ i?.no }}</sv>
<sv-title class="text-center text-lg">待接单555</sv-title> <sv-title class="text-center text-lg" style="font-weight: 700;">{{i?.wayBillStatusLabel}}</sv-title>
<sv-title> <sv-title>
<div class=""> <div style="display: flex; justify-content: center;">
<a class="btn-size" (click)="hand()">指派车队长</a> <a class="btn-size" (click)="hand()">指派车队长</a>
<!-- <a class="btn-size m-lg mr-lg">取消货源</a>
<a class="btn-size">再下一单</a> -->
</div> </div>
</sv-title> </sv-title>
</sv-container> </sv-container>
@ -38,45 +35,51 @@
</div> </div>
<nz-divider></nz-divider> <nz-divider></nz-divider>
<div sv-container *ngIf="i"> <div sv-container *ngIf="i">
<sv label="项目名称">{{ i?.owner }}</sv> <sv label="项目名称">{{ i?.enterpriseProject }}</sv>
<sv label="调度员">32943898021309809423</sv> <sv label="调度员">{{ i?.dispatch?.name }}/{{i?.dispatch?.phone}}</sv>
<sv label="承诺付款时间">3321944288191034921</sv> <sv label="承诺付款时间">到货后{{ i?.paymentDays }}天内支付运费</sv>
<sv label="服务类型">18112345678</sv> <sv label="服务类型">{{ i?.serviceTypeLabel }}</sv>
</div> </div>
<nz-divider></nz-divider> <nz-divider></nz-divider>
<div nz-row> <div nz-row>
<div nz-col nzSpan="6"> <div nz-col nzSpan="6">
<div class="source-info"> <div *ngFor="let item of unLoadingPlaceVOList; let ii = index">
<h3>装卸货信息</h3> <h3 *ngIf="ii === 0" style="font-weight: 700;">装卸货信息</h3>
<p>装货地:广东省深圳市龙岗区怡亚通大厦</p> <div *ngIf="item?.type === 1 || item?.type === '1'">
<p>联系人:奥利给/13680058545</p> <p>装货地:{{item?.detailedAddress}}</p>
<p>卸货地广东省深圳市福田区岗厦村9巷8号405新村</p> <p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
<p>联系人:花花世界/13680058545</p> <p>发货日期:{{item?.createTime}}</p>
<p>发货日期广东省深圳市福田区岗厦村9巷8号405新村</p> </div>
<p>卸货日期:花花世界/13680058545</p> <div *ngIf="item.type === 2 || item.type === '2'">
<p>卸货地:{{item?.detailedAddress}}</p>
<p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
<p>卸货日期:{{item?.modifyTime}}</p>
</div>
</div> </div>
</div> </div>
<div nz-col nzSpan="5"> <div nz-col nzSpan="5">
<div class="source-info bdr bdl pl-md"> <div class="source-info bdr bdl pl-md">
<h3>货物信息</h3> <h3>货物信息</h3>
<p>货物名称:广东省深圳市龙岗区怡亚通大厦</p> <div *ngFor="let item of i?.goodsInfos; let i = index">
<p>重量/体积广东省深圳市福田区岗厦村9巷8号405新村</p> <p>货物名称:{{item?.goodsName}}</p>
<p>车型/车长:花花世界/13680058545</p> <p>重量/体积:{{item?.weight}}吨/{{item?.volume}}立方</p>
<p>用车需求:{{item?.vehicleDemand}}</p>
</div>
</div> </div>
</div> </div>
<div nz-col nzSpan="5"> <div nz-col nzSpan="5">
<div class="source-info bdr bdl pl-md"> <div class="source-info bdr bdl pl-md">
<h3>托运信息</h3> <h3>托运信息</h3>
<p>公司名称:广东省深圳市龙岗区怡亚通大厦</p> <p>公司名称:{{i?.enterpriseInfoName}}</p>
<p>联系人:广东省深圳市福田区岗厦村9巷8号405新村</p> <p>联系人:{{ i?.dispatch?.name }}/{{i?.dispatch?.phone}}</p>
</div> </div>
</div> </div>
<div nz-col nzSpan="5"> <div nz-col nzSpan="5">
<div class="source-info bdr pl-md"> <div class="source-info bdr pl-md">
<h3>承运信息</h3> <h3>承运信息</h3>
<p>司机:广东省深圳市龙岗区怡亚通大厦</p> <p>司机:{{i?.driverVo?.name}}/{{i?.driverVo?.phone}}</p>
<p>车牌号:广东省深圳市福田区岗厦村9巷8号405新村</p> <p>车牌号:{{i?.carVO?.carNo}}</p>
<p>车型/车长/承重:{{'拖车'}} | {{'4.5米'}} | {{'15吨'}}</p> <p>车型/车长/承重:{{i?.carVO?.carModel}} | {{i?.carVO?.carLength}} | {{i?.carVO?.carLoad}}</p>
</div> </div>
</div> </div>
<div class="source-info pl-md"> <div class="source-info pl-md">
@ -92,12 +95,12 @@
<div class="freight-info-box"> <div class="freight-info-box">
<h3>运费信息</h3> <h3>运费信息</h3>
<div class="text-right"> <div class="text-right">
<p><label class="freigth-label">收款人:</label><span>{{400 | currency }}</span></p> <p><label class="freigth-label">收款人:</label><span>{{i?.payee?.name}} /{{i?.payee?.phone}} / {{i?.payee?.phone}}</span></p>
<p><label class="freigth-label">预付:</label><span>{{400 | currency }}</span></p> <p><label class="freigth-label">预付:</label><span>{{400 | currency: '¥' }}</span></p>
<p><label class="freigth-label">油卡:</label><span>{{400 | currency }}</span></p> <p><label class="freigth-label">油卡:</label><span>{{400 | currency: '¥' }}</span></p>
<p><label class="freigth-label">到付:</label><span>{{400 | currency }}</span></p> <p><label class="freigth-label">到付:</label><span>{{400 | currency: '¥' }}</span></p>
<p><label class="freigth-label">回单付:</label><span>{{400 | currency}}</span></p> <p><label class="freigth-label">回单付:</label><span>{{400 | currency: '¥'}}</span></p>
<p><label class="freigth-label">附加费:</label><span>{{400 | currency }}</span></p> <p><label class="freigth-label">附加费:</label><span>{{400 | currency: '¥' }}</span></p>
</div> </div>
</div> </div>
<nz-divider></nz-divider> <nz-divider></nz-divider>
@ -110,18 +113,18 @@
</div> </div>
</div> </div>
<nz-divider></nz-divider> <nz-divider></nz-divider>
<div style="display: flex; justify-content: space-evenly;"> <div nz-row >
<div> <div nz-col [nzSpan]='12'>
<div style="position: relative;"> <div style="position: relative;">
<div style="height: 24px; width: 90px; background-color: #68758e;position: absolute; top: -109%; left: -12%;color: #fff;text-align: center;">平台支付</div> <div style="height: 24px; width: 90px; background-color: #68758e;position: absolute; top: -109%; left: 0%;color: #fff;text-align: center;">平台支付</div>
<span class="leftPadding">司机运输费666</span> <span class="leftPadding">司机运输费666</span>
<span class="leftPadding">1000.00</span> <span class="leftPadding">1000.00</span>
<span class="leftPadding">未支付</span> <span class="leftPadding">未支付</span>
</div> </div>
</div> </div>
<div> <div nz-col [nzSpan]='12'>
<div style="position: relative;"> <div style="position: relative;">
<div style="height: 24px; width: 90px; background-color: #68758e;position: absolute; top: -109%; left: -5%;color: #fff;text-align: center;">货主支付</div> <div style="height: 24px; width: 90px; background-color: #68758e;position: absolute; top: -109%; left: 0%;color: #fff;text-align: center;">货主支付</div>
<span class="leftPadding">司机运输费22</span> <span class="leftPadding">司机运输费22</span>
<span class="leftPadding">1000.00</span> <span class="leftPadding">1000.00</span>
<span class="leftPadding">未支付</span> <span class="leftPadding">未支付</span>
@ -148,6 +151,4 @@
</div> </div>
</nz-card> </nz-card>
</div> </div>
</nz-card> </nz-card>

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-06 20:34:08 * @LastEditTime: 2021-12-17 14:59:03
* @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.ts * @FilePath: \tms-obc-web\src\app\routes\order-management\components\vehicle-detail\vehicle-detail.component.ts
@ -26,6 +26,7 @@ export class WaybillManagementBulkeDetailComponent implements OnInit {
{ title: '时间', index: 'operationUserPhone' }, { title: '时间', index: 'operationUserPhone' },
{ title: '地点', index: ' createTime' }, { title: '地点', index: ' createTime' },
]; ];
unLoadingPlaceVOList: any = [];
constructor( constructor(
private route: ActivatedRoute, private route: ActivatedRoute,
@ -37,12 +38,21 @@ export class WaybillManagementBulkeDetailComponent implements OnInit {
} }
ngOnInit(): void { ngOnInit(): void {
this.service.http.get(`/user/${this.id}?_allow_anonymous=true&_allow_badcode=true`).subscribe(res => { this.initData()
console.log(res);
this.i = res }
}); initData() {
const params = {
id: this.id
}
this.service.request(this.service.$api_get_getBulkDetail, params).subscribe((res) => {
console.log(res)
this.unLoadingPlaceVOList.push(...res.loadingPlace)
this.unLoadingPlaceVOList.push(...res.dischargePlace)
console.log(this.unLoadingPlaceVOList)
this.i = res;
})
} }
hand() { hand() {

View File

@ -1,7 +1,7 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-12-03 11:10:14 * @Date: 2021-12-03 11:10:14
* @LastEditTime: 2021-12-07 15:21:38 * @LastEditTime: 2021-12-17 16:00:41
* @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\supply-management\components\vehicle\vehicle.component.html * @FilePath: \tms-obc-web\src\app\routes\supply-management\components\vehicle\vehicle.component.html
@ -41,18 +41,45 @@
</nz-tab> </nz-tab>
</nz-tabset> </nz-tabset>
<div style="margin-top: 15px;"> <div style="margin-top: 15px;">
<!-- [req]="{ method: 'GET', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" <st
[res]="{ reName: { list: 'data.records', total: 'data.total' } }" #st
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [bordered]="true"
[loadingDelay]="500" [loading]="service.http.loading" --> [scroll]="{ x: '2000px' }"
<st #st [scroll]="{ x: '1200px' }" [data]="service.$api_get_catalogue_member" [columns]="columns"> [data]="service.$api_get_Bulkpage"
<ng-template st-row="goodsId" let-item let-index="index"> [columns]="columns"
<a [routerLink]="'/order-management/bulk-detail/'+item.id">{{item.no}}</a> [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loadingDelay]="500"
[loading]="service.http.loading"
>
<ng-template st-row="wayBillCode" let-item let-index="index">
<a [routerLink]="'/waybill-management/vehicle-detail/'+item.id">{{item.wayBillCode}}</a>
<div>
<span *ngIf="item?.wayBillStatus == 1">待接单</span>
<span *ngIf="item?.wayBillStatus == 2">待发车</span>
<span *ngIf="item?.wayBillStatus == 3">运输中</span>
<span *ngIf="item?.wayBillStatus == 4">待签收</span>
<span *ngIf="item?.wayBillStatus == 5">已完成</span>
<span *ngIf="item?.wayBillStatus == 6">已取消</span>
</div>
</ng-template>
<ng-template st-row="billExpenseDetailVOList" let-item let-index="index">
<div *ngFor="let i of item?.billExpenseDetailVOList; let ii = index">
<span >{{i?.costName}}{{i?.price}}</span>
</div>
</ng-template>
<ng-template st-row="wayBill" let-item let-index="index">
<a [routerLink]="'/waybill-management/vehicle-detail/'+item.id">{{item.wayBillCode}}</a>
</ng-template>
<ng-template st-row="goodsInfos" let-item let-index="index">
<div>{{item?.goodsInfos?.goodsName}}</div>
<div>{{item?.goodsInfos?.goodsResource}}</div>
</ng-template>
<ng-template st-row="loadingTime" let-item let-index="index">
<div *ngIf="item?.loadingTime">装 | {{item?.loadingTime}}</div>
<div *ngIf="item?.unloadingTime">卸 | {{item?.unloadingTime}}</div>
</ng-template> </ng-template>
<!-- <ng-template st-row="externalSn" let-item let-index="index">
<span class="mr-xs">{{111111}}</span>
<a (click)="editEnternalSn(item)">编辑</a>
</ng-template> -->
<ng-template st-row="enStatusStr27878" let-item let-index="index"> <ng-template st-row="enStatusStr27878" let-item let-index="index">
<div class="mr-xs" nzPopoverTitle="Title" nz-popover [nzPopoverContent]="contentTemplate">{{item.no}}</div> <div class="mr-xs" nzPopoverTitle="Title" nz-popover [nzPopoverContent]="contentTemplate">{{item.no}}</div>
</ng-template> </ng-template>

View File

@ -1,8 +1,10 @@
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { STColumn, STComponent } from '@delon/abc/st'; import { STColumn, STComponent } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form'; import { SFComponent, SFDateWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
import { ModalHelper, _HttpClient } from '@delon/theme'; import { ModalHelper, _HttpClient } from '@delon/theme';
import { ShipperBaseService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { of } from 'rxjs';
import { map } from 'rxjs/operators'; import { map } from 'rxjs/operators';
import { SupplyManagementService } from '../../services/waybill-management.service'; import { SupplyManagementService } from '../../services/waybill-management.service';
@ -13,7 +15,6 @@ import { SupplyManagementService } from '../../services/waybill-management.servi
styleUrls: ['./bulk.component.less'] styleUrls: ['./bulk.component.less']
}) })
export class WaybillManagementBulkComponent implements OnInit { export class WaybillManagementBulkComponent implements OnInit {
url = `/user?_allow_anonymous=true`;
ui: SFUISchema = {}; ui: SFUISchema = {};
uiView: SFUISchema = {}; uiView: SFUISchema = {};
schema: SFSchema = {}; schema: SFSchema = {};
@ -78,7 +79,7 @@ export class WaybillManagementBulkComponent implements OnInit {
count: 0, count: 0,
}, },
]; ];
constructor(public service: SupplyManagementService, private modal: NzModalService) { } constructor(public service: SupplyManagementService, private modal: NzModalService, public service2: ShipperBaseService) { }
/** /**
* 查询参数 * 查询参数
@ -112,15 +113,15 @@ export class WaybillManagementBulkComponent implements OnInit {
type: 'string', type: 'string',
title: '运单号', title: '运单号',
}, },
no2: { resourceCode: {
type: 'string', type: 'string',
title: '货源编号' title: '货源编号'
}, },
no1: { no1: {
type: 'string', type: 'string',
title: '托运公司' title: '货主'
}, },
no3: { loadingPlace: {
type: 'string', type: 'string',
title: '装货地', title: '装货地',
ui: { ui: {
@ -129,7 +130,7 @@ export class WaybillManagementBulkComponent implements OnInit {
}, },
} }
}, },
no4: { dischargePlace: {
type: 'string', type: 'string',
title: '卸货地', title: '卸货地',
ui: { ui: {
@ -138,45 +139,86 @@ export class WaybillManagementBulkComponent implements OnInit {
}, },
} }
}, },
no7: { driverId: {
type: 'string',
title: '承运司机', title: '承运司机',
ui: {
visibleIf: {
_$expand: (value: boolean) => value,
},
}
},
no9: {
type: 'string', type: 'string',
title: '车牌号',
ui: {
visibleIf: {
_$expand: (value: boolean) => value,
},
}
},
no10: {
type: 'string',
title: '收款人',
ui: {
visibleIf: {
_$expand: (value: boolean) => value,
},
}
},
sex: {
title: '支付状态',
type: 'string',
default: 0,
enum: [
{ label: '未知', value: 0 },
{ label: '男', value: 1 },
{ label: '女', value: 2 },
{ label: '保密', value: 3 },
],
ui: { ui: {
widget: 'select', widget: 'select',
serverSearch: true,
searchDebounceTime: 300,
searchLoadingText: '搜索中...',
onSearch: (q: any) => {
if (!!q) {
return this.service
.request(this.service.$api_get_getDriverInfo, { keyword: q,
model: 1, type: 1 })
.pipe(map((res) => (res as any[]).map((i) => ({ label: i.name, value: i.id } as SFSchemaEnum))))
.toPromise();
} else {
return of([]);
}
},
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFSelectWidgetSchema,
},
carNo: {
title: '车牌号',
type: 'string',
ui: {
widget: 'select',
serverSearch: true,
searchDebounceTime: 300,
searchLoadingText: '搜索中...',
onSearch: (q: any) => {
if (!!q) {
return this.service
.request(this.service.$api_get_getCarLicenseListByCarNo, {
carNo: q
})
.pipe(map((res: any[]) => (res as any[]).map((i) => ({ label: i.carNo, value: i.carNo } as SFSchemaEnum))))
.toPromise();
} else {
return of([]);
}
},
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFSelectWidgetSchema,
},
payeeId: {
title: '车队长',
type: 'string',
ui: {
widget: 'select',
serverSearch: true,
searchDebounceTime: 300,
searchLoadingText: '搜索中...',
onSearch: (q: any) => {
if (!!q) {
return this.service
.request(this.service.$api_get_getDriverInfo, { keyword: q,
model: 1, type: 2 })
.pipe(map((res) => (res as any[]).map((i) => ({ label: i.name, value: i.id } as SFSchemaEnum))))
.toPromise();
} else {
return of([]);
}
},
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFSelectWidgetSchema,
},
paymentstatus: {
title: '支付状态',
type: 'string',
ui: {
widget: 'dict-select',
params: { dictKey: 'payment:status' },
containAllLable:true,
visibleIf: { visibleIf: {
_$expand: (value: boolean) => value, _$expand: (value: boolean) => value,
}, },
@ -194,9 +236,51 @@ export class WaybillManagementBulkComponent implements OnInit {
}, },
} as SFDateWidgetSchema, } as SFDateWidgetSchema,
}, },
appId: { isRiskSheet: {
type: 'string', type: 'string',
title: '是否风险单', title: '是否风险单',
default: '0',
enum: [
{ label: '全部', value: '0' },
{ label: '是', value: '1' },
{ label: '否', value: '2' }
],
ui: {
widget: 'select',
placeholder: '请选择',
visibleIf: {
_$expand: (value: boolean) => value,
},
},
},
enterpriseInfoName: {
type: 'string',
title: '网络货运人',
ui: {
widget: 'select',
placeholder: '请选择',
visibleIf: {
_$expand: (value: boolean) => value,
},
allowClear: true,
asyncData: () => this.service2.getNetworkFreightForwarder(),
},
},
settlementBasis: {
title: '结算依据',
type: 'string',
ui: {
widget: 'dict-select',
containsAllLable: true,
params: { dictKey: 'goodresource:settlement:type' },
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFSelectWidgetSchema,
},
goodsName: {
type: 'string',
title: '货物名称',
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
@ -207,6 +291,19 @@ export class WaybillManagementBulkComponent implements OnInit {
asyncData: () => this.getCatalogueMember(), asyncData: () => this.getCatalogueMember(),
}, },
}, },
serviceType: {
title: '服务类型',
type: 'string',
default: '',
ui: {
widget: 'dict-select',
params: { dictKey: 'service:type' },
containAllLable:true,
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFSelectWidgetSchema,
},
}, },
type: 'object', type: 'object',
}; };
@ -258,109 +355,80 @@ export class WaybillManagementBulkComponent implements OnInit {
/** /**
* 初始化数据列表 * 初始化数据列表
*/ */
initST() { initST() {
this.columns = [ this.columns = [
{ title: '', type: 'checkbox', width: '50px', className: 'text-center' }, { title: '', type: 'checkbox', width: '50px', className: 'text-center' },
{ {
title: '运单号', title: '运单号',
width: '100px', width: '100px',
className: 'text-center', className: 'text-center',
render: 'goodsId' render: 'wayBillCode'
}, },
{ {
title: '货源编号', title: '运费明细',
width: '100px', width: '100px',
className: 'text-center', className: 'text-center',
render: 'billExpenseDetailVOList'
}, },
{ title: '托运公司', index: 'externalSn', width: '120px', className: 'text-center' }, { title: '网络货运人', index: 'enterpriseInfoName', width: '120px', className: 'text-center' },
{ title: '装货地', index: 'linkUrl', width: '120px', className: 'text-center' }, { title: '货主', index: 'shipperAppUserName', width: '120px', className: 'text-center' },
{ title: '关联订单号', render: 'wayBill', width: '120px', className: 'text-center' },
{ title: '货源编号', index: 'resourceCode', width: '120px', className: 'text-center' },
{ title: '装货地', index: 'loadingPlace', width: '120px', className: 'text-center' },
{ {
title: '卸货地', title: '卸货地',
className: 'text-center', className: 'text-center',
width: '120px', width: '120px',
index: 'dischargePlace'
}, },
{ {
title: '货物名称', title: '货物信息',
className: 'text-center', className: 'text-center',
width: '120px', width: '180px',
}, render: 'goodsInfos'
{
title: '承运司机',
className: 'text-center',
width: '120px',
},
{
title: '车牌号',
className: 'text-center',
width: '120px',
}, },
{ {
title: '运费单价', title: '运费单价',
className: 'text-center', className: 'text-center',
width: '120px', width: '120px',
index: 'freightPrice'
}, },
{ {
title: '接单量', title: '接单量',
className: 'text-center', className: 'text-center',
width: '120px', width: '120px',
}, index: 'orderReceivingQuantity'
{
title: '运费变更记录',
className: 'text-center',
width: '120px',
render: 'feiong'
}, },
{ {
title: '结算重量', title: '结算重量',
className: 'text-center', className: 'text-center',
width: '120px', width: '200px',
index: 'settlementWeight'
}, },
{ {
title: '成交金额', title: '承运司机',
className: 'text-center', className: 'text-center',
width: '120px', width: '200px',
render: 'enStatusStr27878' index: 'driverName'
}, },
{ {
title: '收款人', title: '收款人',
className: 'text-center', className: 'text-center',
width: '120px', width: '120px',
index: 'payeeName'
}, },
{ {
title: '支付状态', title: '装卸货时间',
className: 'text-center', className: 'text-center',
width: '120px', width: '200px',
render: 'loadingTime'
}, },
{ {
title: '创建时间', title: '创建时间',
width: '130px',
className: 'text-center', className: 'text-center',
index: 'enStatusStr3', index: 'createTime',
type: 'badge',
width: '100px',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
},
{
title: '异常原因',
className: 'text-center',
index: 'enStatusStr3',
width: '100px',
},
{
title: '运单状态',
className: 'text-center',
index: 'enStatusStr3',
type: 'badge',
width: '100px',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
}, },
{ {
title: '操作', title: '操作',

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-07 15:08:56 * @LastEditTime: 2021-12-17 14:56:09
* @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
@ -14,17 +14,14 @@
</ng-template> </ng-template>
</page-header-wrapper> </page-header-wrapper>
<nz-card> <nz-card>
<nz-spin *ngIf="!i" class="modal-spin"></nz-spin>
<div nz-row> <div nz-row>
<div nz-col nzSpan="4"> <div nz-col nzSpan="4">
<sv-container class="bdr"> <sv-container class="bdr">
<sv label="订单号" col="1">{{ i?.no }}</sv> <sv label="订单号" col="1">{{ i?.no }}</sv>
<sv-title class="text-center text-lg">待接单</sv-title> <sv-title class="text-center text-lg" style="font-weight: 700;">{{i?.wayBillStatusLabel}}</sv-title>
<sv-title> <sv-title>
<div class=""> <div style="display: flex; justify-content: center;">
<a class="btn-size" (click)="hand()">指派车队长</a> <a class="btn-size" (click)="hand()">指派车队长</a>
<!-- <a class="btn-size m-lg mr-lg">取消货源</a>
<a class="btn-size">再下一单</a> -->
</div> </div>
</sv-title> </sv-title>
</sv-container> </sv-container>
@ -38,45 +35,51 @@
</div> </div>
<nz-divider></nz-divider> <nz-divider></nz-divider>
<div sv-container *ngIf="i"> <div sv-container *ngIf="i">
<sv label="项目名称">{{ i?.owner }}</sv> <sv label="项目名称">{{ i?.enterpriseProject }}</sv>
<sv label="调度员">32943898021309809423</sv> <sv label="调度员">{{ i?.dispatch?.name }}/{{i?.dispatch?.phone}}</sv>
<sv label="承诺付款时间">3321944288191034921</sv> <sv label="承诺付款时间">到货后{{ i?.paymentDays }}天内支付运费</sv>
<sv label="服务类型">18112345678</sv> <sv label="服务类型">{{ i?.serviceTypeLabel }}</sv>
</div> </div>
<nz-divider></nz-divider> <nz-divider></nz-divider>
<div nz-row> <div nz-row>
<div nz-col nzSpan="6"> <div nz-col nzSpan="6">
<div class="source-info"> <div *ngFor="let item of unLoadingPlaceVOList; let ii = index">
<h3>装卸货信息</h3> <h3 *ngIf="ii === 0" style="font-weight: 700;">装卸货信息</h3>
<p>装货地:广东省深圳市龙岗区怡亚通大厦</p> <div *ngIf="item?.type === 1 || item?.type === '1'">
<p>联系人:奥利给/13680058545</p> <p>装货地:{{item?.detailedAddress}}</p>
<p>卸货地广东省深圳市福田区岗厦村9巷8号405新村</p> <p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
<p>联系人:花花世界/13680058545</p> <p>发货日期:{{item?.createTime}}</p>
<p>发货日期广东省深圳市福田区岗厦村9巷8号405新村</p> </div>
<p>卸货日期:花花世界/13680058545</p> <div *ngIf="item.type === 2 || item.type === '2'">
<p>卸货地:{{item?.detailedAddress}}</p>
<p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
<p>卸货日期:{{item?.modifyTime}}</p>
</div>
</div> </div>
</div> </div>
<div nz-col nzSpan="5"> <div nz-col nzSpan="5">
<div class="source-info bdr bdl pl-md"> <div class="source-info bdr bdl pl-md">
<h3>货物信息</h3> <h3>货物信息</h3>
<p>货物名称:广东省深圳市龙岗区怡亚通大厦</p> <div *ngFor="let item of i?.goodsInfos; let i = index">
<p>重量/体积广东省深圳市福田区岗厦村9巷8号405新村</p> <p>货物名称:{{item?.goodsName}}</p>
<p>车型/车长:花花世界/13680058545</p> <p>重量/体积:{{item?.weight}}吨/{{item?.volume}}立方</p>
<p>用车需求:{{item?.vehicleDemand}}</p>
</div>
</div> </div>
</div> </div>
<div nz-col nzSpan="5"> <div nz-col nzSpan="5">
<div class="source-info bdr bdl pl-md"> <div class="source-info bdr bdl pl-md">
<h3>托运信息</h3> <h3>托运信息</h3>
<p>公司名称:广东省深圳市龙岗区怡亚通大厦</p> <p>公司名称:{{i?.enterpriseInfoName}}</p>
<p>联系人:广东省深圳市福田区岗厦村9巷8号405新村</p> <p>联系人:{{ i?.dispatch?.name }}/{{i?.dispatch?.phone}}</p>
</div> </div>
</div> </div>
<div nz-col nzSpan="5"> <div nz-col nzSpan="5">
<div class="source-info bdr pl-md"> <div class="source-info bdr pl-md">
<h3>承运信息</h3> <h3>承运信息</h3>
<p>司机:广东省深圳市龙岗区怡亚通大厦</p> <p>司机:{{i?.driverVo?.name}}/{{i?.driverVo?.phone}}</p>
<p>车牌号:广东省深圳市福田区岗厦村9巷8号405新村</p> <p>车牌号:{{i?.carVO?.carNo}}</p>
<p>车型/车长/承重:{{'拖车'}} | {{'4.5米'}} | {{'15吨'}}</p> <p>车型/车长/承重:{{i?.carVO?.carModel}} | {{i?.carVO?.carLength}} | {{i?.carVO?.carLoad}}</p>
</div> </div>
</div> </div>
<div class="source-info pl-md"> <div class="source-info pl-md">
@ -92,12 +95,12 @@
<div class="freight-info-box"> <div class="freight-info-box">
<h3>运费信息</h3> <h3>运费信息</h3>
<div class="text-right"> <div class="text-right">
<p><label class="freigth-label">收款人:</label><span>{{400 | currency }}</span></p> <p><label class="freigth-label">收款人:</label><span>{{i?.payee?.name}} /{{i?.payee?.phone}} / {{i?.payee?.phone}}</span></p>
<p><label class="freigth-label">预付:</label><span>{{400 | currency }}</span></p> <p><label class="freigth-label">预付:</label><span>{{400 | currency: '¥' }}</span></p>
<p><label class="freigth-label">油卡:</label><span>{{400 | currency }}</span></p> <p><label class="freigth-label">油卡:</label><span>{{400 | currency: '¥' }}</span></p>
<p><label class="freigth-label">到付:</label><span>{{400 | currency }}</span></p> <p><label class="freigth-label">到付:</label><span>{{400 | currency: '¥' }}</span></p>
<p><label class="freigth-label">回单付:</label><span>{{400 | currency}}</span></p> <p><label class="freigth-label">回单付:</label><span>{{400 | currency: '¥'}}</span></p>
<p><label class="freigth-label">附加费:</label><span>{{400 | currency }}</span></p> <p><label class="freigth-label">附加费:</label><span>{{400 | currency: '¥' }}</span></p>
</div> </div>
</div> </div>
<nz-divider></nz-divider> <nz-divider></nz-divider>
@ -110,17 +113,19 @@
</div> </div>
</div> </div>
<nz-divider></nz-divider> <nz-divider></nz-divider>
<div style="display: flex; justify-content: space-evenly;"> <div nz-row >
<div> <div nz-col [nzSpan]='12'>
<div> <div style="position: relative;">
<span class="leftPadding">司机运输费</span> <div style="height: 24px; width: 90px; background-color: #68758e;position: absolute; top: -109%; left: 0%;color: #fff;text-align: center;">平台支付</div>
<span class="leftPadding">司机运输费666</span>
<span class="leftPadding">1000.00</span> <span class="leftPadding">1000.00</span>
<span class="leftPadding">未支付</span> <span class="leftPadding">未支付</span>
</div> </div>
</div> </div>
<div> <div nz-col [nzSpan]='12'>
<div> <div style="position: relative;">
<span class="leftPadding">司机运输费</span> <div style="height: 24px; width: 90px; background-color: #68758e;position: absolute; top: -109%; left: 0%;color: #fff;text-align: center;">货主支付</div>
<span class="leftPadding">司机运输费22</span>
<span class="leftPadding">1000.00</span> <span class="leftPadding">1000.00</span>
<span class="leftPadding">未支付</span> <span class="leftPadding">未支付</span>
</div> </div>

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-07 14:55:57 * @LastEditTime: 2021-12-17 14:38:14
* @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.ts * @FilePath: \tms-obc-web\src\app\routes\order-management\components\vehicle-detail\vehicle-detail.component.ts
@ -26,6 +26,7 @@ export class WaybillManagementVehicleDetailComponent implements OnInit {
{ title: '时间', index: 'operationUserPhone' }, { title: '时间', index: 'operationUserPhone' },
{ title: '地点', index: ' createTime' }, { title: '地点', index: ' createTime' },
]; ];
unLoadingPlaceVOList: any = [];
constructor( constructor(
private route: ActivatedRoute, private route: ActivatedRoute,
@ -37,12 +38,20 @@ export class WaybillManagementVehicleDetailComponent implements OnInit {
} }
ngOnInit(): void { ngOnInit(): void {
this.service.http.get(`/user/${this.id}?_allow_anonymous=true&_allow_badcode=true`).subscribe(res => { this.initData()
console.log(res); }
this.i = res initData() {
}); const params = {
id: this.id
}
this.service.request(this.service.$api_get_getWholeDetail, params).subscribe((res) => {
console.log(res)
this.unLoadingPlaceVOList.push(...res.loadingPlace)
this.unLoadingPlaceVOList.push(...res.dischargePlace)
console.log(this.unLoadingPlaceVOList)
this.i = res;
})
} }
hand() { hand() {

View File

@ -1,7 +1,7 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-12-03 11:10:14 * @Date: 2021-12-03 11:10:14
* @LastEditTime: 2021-12-07 15:07:56 * @LastEditTime: 2021-12-17 14:16:57
* @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\supply-management\components\vehicle\vehicle.component.html * @FilePath: \tms-obc-web\src\app\routes\supply-management\components\vehicle\vehicle.component.html
@ -41,18 +41,40 @@
</nz-tab> </nz-tab>
</nz-tabset> </nz-tabset>
<div style="margin-top: 15px;"> <div style="margin-top: 15px;">
<!-- [req]="{ method: 'GET', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" <st
[res]="{ reName: { list: 'data.records', total: 'data.total' } }" #st
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [bordered]="true"
[loadingDelay]="500" [loading]="service.http.loading" --> [scroll]="{ x: '2000px' }"
<st #st [scroll]="{ x: '1200px' }" [data]="service.$api_get_catalogue_member" [columns]="columns"> [data]="service.$api_get_wholePage"
<ng-template st-row="goodsId" let-item let-index="index"> [columns]="columns"
<a [routerLink]="'/waybill-management/vehicle-detail/'+item.id">{{item.no}}</a> [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loadingDelay]="500"
[loading]="service.http.loading"
>
<ng-template st-row="wayBillCode" let-item let-index="index">
<a [routerLink]="'/waybill-management/vehicle-detail/'+item.id">{{item.wayBillCode}}</a>
<div>
<span *ngIf="item?.wayBillStatus == 1">待接单</span>
<span *ngIf="item?.wayBillStatus == 2">待发车</span>
<span *ngIf="item?.wayBillStatus == 3">运输中</span>
<span *ngIf="item?.wayBillStatus == 4">待签收</span>
<span *ngIf="item?.wayBillStatus == 5">已完成</span>
<span *ngIf="item?.wayBillStatus == 6">已取消</span>
</div>
</ng-template>
<ng-template st-row="wayBill" let-item let-index="index">
<a [routerLink]="'/waybill-management/vehicle-detail/'+item.id">{{item.wayBillCode}}</a>
</ng-template>
<ng-template st-row="goodsInfos" let-item let-index="index">
<div>{{item?.goodsInfos?.goodsName}}</div>
<div>{{item?.goodsInfos?.goodsResource}}</div>
</ng-template>
<ng-template st-row="loadingTime" let-item let-index="index">
<div *ngIf="item?.loadingTime">装 | {{item?.loadingTime}}</div>
<div *ngIf="item?.unloadingTime">卸 | {{item?.unloadingTime}}</div>
</ng-template> </ng-template>
<!-- <ng-template st-row="externalSn" let-item let-index="index">
<span class="mr-xs">{{111111}}</span>
<a (click)="editEnternalSn(item)">编辑</a>
</ng-template> -->
<ng-template st-row="enStatusStr27878" let-item let-index="index"> <ng-template st-row="enStatusStr27878" let-item let-index="index">
<div class="mr-xs" nzPopoverTitle="Title" nz-popover [nzPopoverContent]="contentTemplate">{{item.no}}</div> <div class="mr-xs" nzPopoverTitle="Title" nz-popover [nzPopoverContent]="contentTemplate">{{item.no}}</div>
</ng-template> </ng-template>

View File

@ -2,6 +2,7 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { STColumn, STComponent } from '@delon/abc/st'; import { STColumn, STComponent } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form'; import { SFComponent, SFDateWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
import { ModalHelper, _HttpClient } from '@delon/theme'; import { ModalHelper, _HttpClient } from '@delon/theme';
import { ShipperBaseService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { of } from 'rxjs'; import { of } from 'rxjs';
import { map } from 'rxjs/operators'; import { map } from 'rxjs/operators';
@ -48,11 +49,6 @@ export class WaybillManagementVehicleComponent implements OnInit {
type: 5, type: 5,
count: 0, count: 0,
}, },
{
name: '待接单',
type: 5,
count: 0,
},
{ {
name: '待发车', name: '待发车',
type: 5, type: 5,
@ -79,7 +75,7 @@ export class WaybillManagementVehicleComponent implements OnInit {
count: 0, count: 0,
}, },
]; ];
constructor(public service: SupplyManagementService, private modal: NzModalService) { } constructor(public service: SupplyManagementService, private modal: NzModalService, public service2: ShipperBaseService) { }
/** /**
* 查询参数 * 查询参数
@ -104,7 +100,7 @@ export class WaybillManagementVehicleComponent implements OnInit {
/** /**
* 初始化查询表单 * 初始化查询表单
*/ */
initSF() { initSF() {
this.schema = { this.schema = {
properties: { properties: {
_$expand: { type: 'boolean', ui: { hidden: true } }, _$expand: { type: 'boolean', ui: { hidden: true } },
@ -112,7 +108,7 @@ export class WaybillManagementVehicleComponent implements OnInit {
type: 'string', type: 'string',
title: '运单号', title: '运单号',
}, },
no2: { resourceCode: {
type: 'string', type: 'string',
title: '货源编号' title: '货源编号'
}, },
@ -120,7 +116,7 @@ export class WaybillManagementVehicleComponent implements OnInit {
type: 'string', type: 'string',
title: '货主' title: '货主'
}, },
no3: { loadingPlace: {
type: 'string', type: 'string',
title: '装货地', title: '装货地',
ui: { ui: {
@ -129,7 +125,7 @@ export class WaybillManagementVehicleComponent implements OnInit {
}, },
} }
}, },
no4: { dischargePlace: {
type: 'string', type: 'string',
title: '卸货地', title: '卸货地',
ui: { ui: {
@ -138,25 +134,56 @@ export class WaybillManagementVehicleComponent implements OnInit {
}, },
} }
}, },
no7: { driverId: {
type: 'string',
title: '承运司机', title: '承运司机',
ui: {
visibleIf: {
_$expand: (value: boolean) => value,
},
}
},
no9: {
type: 'string', type: 'string',
title: '车牌号',
ui: { ui: {
widget: 'select',
serverSearch: true,
searchDebounceTime: 300,
searchLoadingText: '搜索中...',
onSearch: (q: any) => {
if (!!q) {
return this.service
.request(this.service.$api_get_getDriverInfo, { keyword: q,
model: 1, type: 1 })
.pipe(map((res) => (res as any[]).map((i) => ({ label: i.name, value: i.id } as SFSchemaEnum))))
.toPromise();
} else {
return of([]);
}
},
visibleIf: { visibleIf: {
_$expand: (value: boolean) => value, _$expand: (value: boolean) => value,
}, },
} } as SFSelectWidgetSchema,
}, },
brandId2: { carNo: {
title: '车牌号',
type: 'string',
ui: {
widget: 'select',
serverSearch: true,
searchDebounceTime: 300,
searchLoadingText: '搜索中...',
onSearch: (q: any) => {
if (!!q) {
return this.service
.request(this.service.$api_get_getCarLicenseListByCarNo, {
carNo: q
})
.pipe(map((res: any[]) => (res as any[]).map((i) => ({ label: i.carNo, value: i.carNo } as SFSchemaEnum))))
.toPromise();
} else {
return of([]);
}
},
visibleIf: {
_$expand: (value: boolean) => value,
},
} as SFSelectWidgetSchema,
},
payeeId: {
title: '车队长', title: '车队长',
type: 'string', type: 'string',
ui: { ui: {
@ -180,18 +207,13 @@ export class WaybillManagementVehicleComponent implements OnInit {
}, },
} as SFSelectWidgetSchema, } as SFSelectWidgetSchema,
}, },
sex: { paymentstatus: {
title: '支付状态', title: '支付状态',
type: 'string', type: 'string',
default: 0,
enum: [
{ label: '未知', value: 0 },
{ label: '男', value: 1 },
{ label: '女', value: 2 },
{ label: '保密', value: 3 },
],
ui: { ui: {
widget: 'select', widget: 'dict-select',
params: { dictKey: 'payment:status' },
containAllLable:true,
visibleIf: { visibleIf: {
_$expand: (value: boolean) => value, _$expand: (value: boolean) => value,
}, },
@ -209,20 +231,24 @@ export class WaybillManagementVehicleComponent implements OnInit {
}, },
} as SFDateWidgetSchema, } as SFDateWidgetSchema,
}, },
appId: { isRiskSheet: {
type: 'string', type: 'string',
title: '是否风险单', title: '是否风险单',
default: '0',
enum: [
{ label: '全部', value: '0' },
{ label: '是', value: '1' },
{ label: '否', value: '2' }
],
ui: { ui: {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
visibleIf: { visibleIf: {
_$expand: (value: boolean) => value, _$expand: (value: boolean) => value,
}, },
allowClear: true,
asyncData: () => this.getCatalogueMember(),
}, },
}, },
appId2: { enterpriseInfoName: {
type: 'string', type: 'string',
title: '网络货运人', title: '网络货运人',
ui: { ui: {
@ -232,10 +258,10 @@ export class WaybillManagementVehicleComponent implements OnInit {
_$expand: (value: boolean) => value, _$expand: (value: boolean) => value,
}, },
allowClear: true, allowClear: true,
asyncData: () => this.getCatalogueMember(), asyncData: () => this.service2.getNetworkFreightForwarder(),
}, },
}, },
appId4: { goodsName: {
type: 'string', type: 'string',
title: '货物名称', title: '货物名称',
ui: { ui: {
@ -248,7 +274,6 @@ export class WaybillManagementVehicleComponent implements OnInit {
asyncData: () => this.getCatalogueMember(), asyncData: () => this.getCatalogueMember(),
}, },
}, },
}, },
type: 'object', type: 'object',
}; };
@ -265,108 +290,56 @@ export class WaybillManagementVehicleComponent implements OnInit {
title: '运单号', title: '运单号',
width: '100px', width: '100px',
className: 'text-center', className: 'text-center',
render: 'goodsId' render: 'wayBillCode'
}, },
{ {
title: '货源编号', title: '货源编号',
width: '100px', width: '100px',
className: 'text-center', className: 'text-center',
index: 'resourceCode'
}, },
{ title: '托运公司', index: 'externalSn', width: '120px', className: 'text-center' }, { title: '网络货运人', index: 'enterpriseInfoName', width: '120px', className: 'text-center' },
{ title: '装货地', index: 'linkUrl', width: '120px', className: 'text-center' }, { title: '货主', index: 'shipperAppUserName', width: '120px', className: 'text-center' },
{ title: '关联订单号', render: 'wayBill', width: '120px', className: 'text-center' },
{ title: '装货地', index: 'loadingAddressArr', width: '120px', className: 'text-center' },
{ {
title: '卸货地', title: '卸货地',
className: 'text-center', className: 'text-center',
width: '120px', width: '120px',
index: 'unloadingAddressArr'
}, },
{ {
title: '货物名称', title: '货物信息',
className: 'text-center', className: 'text-center',
width: '120px', width: '180px',
}, { render: 'goodsInfos'
title: '重量/体积',
className: 'text-center',
width: '120px',
}, },
{ {
title: '承运司机', title: '承运司机',
className: 'text-center', className: 'text-center',
width: '120px', width: '120px',
}, index: 'driverName'
{
title: '车牌号',
className: 'text-center',
width: '120px',
},
{
title: '出价',
className: 'text-center',
width: '120px',
render: 'enStatusStr27878'
},
{
title: '浮动费用',
className: 'text-center',
width: '120px',
render: 'feiong'
},
{
title: '成交金额',
className: 'text-center',
width: '120px',
}, },
{ {
title: '收款人', title: '收款人',
className: 'text-center', className: 'text-center',
index: 'enStatusStr2', width: '120px',
type: 'badge', index: 'payeeName'
width: '100px',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
}, },
{ {
title: '支付状态', title: '装卸货时间',
width: '170px',
className: 'text-center', className: 'text-center',
width: '200px',
render: 'loadingTime'
}, },
{ {
title: '创建时间', title: '创建时间',
width: '130px',
className: 'text-center', className: 'text-center',
index: 'enStatusStr3', index: 'createTime',
type: 'badge',
width: '100px',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
},
{
title: '异常原因',
className: 'text-center',
index: 'enStatusStr3',
type: 'badge',
width: '100px',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
},
{
title: '运单状态',
className: 'text-center',
index: 'enStatusStr3',
type: 'badge',
width: '100px',
badge: {
: { text: '正常', color: 'success' },
: { text: '冻结', color: 'warning' },
: { text: '废弃', color: 'default' },
},
}, },
{ {
title: '操作', title: '操作',

View File

@ -1,8 +1,8 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-12-07 14:52:29 * @Date: 2021-12-07 14:52:29
* @LastEditTime: 2021-12-16 19:46:55 * @LastEditTime: 2021-12-17 14:15:09
* @LastEditors: your name * @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\waybill-management\services\waybill-management.service.ts * @FilePath: \tms-obc-web\src\app\routes\waybill-management\services\waybill-management.service.ts
*/ */
@ -18,6 +18,18 @@ export class SupplyManagementService extends BaseService {
$api_del_driver = ``; $api_del_driver = ``;
// 据 手机号/姓名 查询 车队长/司机 // 据 手机号/姓名 查询 车队长/司机
$api_get_getDriverInfo = `/api/mdc/cuc/user/getDriverInfo`; $api_get_getDriverInfo = `/api/mdc/cuc/user/getDriverInfo`;
// 查询整车运单-运营后台
$api_get_wholePage = `/api/sdc/wayBillOperate/list/wholePage`;
// 查询整车运单详情-运营后台
$api_get_getWholeDetail = `/api/sdc/wayBillOperate/getWholeDetail`;
// 查询大宗运单-运营后台
$api_get_Bulkpage = `/api/sdc/wayBillOperate/list/Bulkpage`;
// 查询大宗运单详情-运营后台
$api_get_getBulkDetail = `/api/sdc/wayBillOperate/getBulkDetail`;
// 根据车牌号查询车辆信息
$api_get_getCarLicenseListByCarNo= `/api/mdc/cuc/carLicenseAudit/operate/getCarLicenseListByCarNo`;
constructor(public injector: Injector) { constructor(public injector: Injector) {
super(injector) super(injector)
} }