Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop

This commit is contained in:
wangshiming
2022-04-28 20:12:01 +08:00
8 changed files with 495 additions and 365 deletions

View File

@ -37,7 +37,11 @@ import { CwcBankCardManagementIndexComponent } from './components/bank-card-mana
const routes: Routes = [
{ path: 'freight-account', component: FreightAccountComponent, data: { guard: { ability: ['FINANCIAL-FREIGHT-ACOUNT-list'] } } },
{ path: 'freight-account/detail/:id', component: FreightAccountDetailComponent },
{
path: 'freight-account/detail/:id',
component: FreightAccountDetailComponent,
data: { guard: { ability: ['FINANCIAL-FREIGHT-ACOUNT-DETAIL-view'] } }
},
{ path: 'driver-account', component: DriverAccountComponent, data: { guard: { ability: ['FINANCIAL-DRIVER-ACOUNT-list'] } } },
{
path: 'driver-account/detail/:id',

View File

@ -8,18 +8,18 @@
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail\\bulk-detail.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<page-header-wrapper [title]="'大宗订单详情'" [logo]="logo" [content]="headerContent">
<page-header-wrapper [title]="'大宗订单详情'" [logo]="logo">
<ng-template #logo>
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
<i nz-icon nzType="left" nzTheme="outline"></i>
</button>
</ng-template>
<ng-template #headerContent>
<div nz-row>
<div class="mb-sm common-order-header" nz-row>
<div>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.billStatusLabel }}</button>
<h4 class="ml-md" style="font-size: 18px">订单号: {{ i?.billCode }}</h4>
<b class="ml-md text-md">订单号: {{ i?.billCode }}</b>
</div>
<div nz-row style="display: flex; justify-content: end" class="mb-xs">
<div nz-col>
<button (click)="cancellation()" nz-button
*ngIf="i?.billStatus !== '1' && i?.billStatus !== '5' && i?.billStatus !== '6' && i?.overallPaymentStatus != '2'"
@ -29,6 +29,7 @@
[acl-ability]="['ORDER-BULK-DETAIL-modifyOrder']" (click)="changeOrder()">修改订单</button>
</div>
</div>
<nz-divider class="divider-margin"></nz-divider>
<div>
<div sv-container>
<sv label="网络货运人">{{ i?.goodsResource?.enterpriseInfoName }} </sv>
@ -52,10 +53,37 @@
</div>
</ng-template>
</page-header-wrapper>
<nz-card nzTitle="运单进度" #distannce1>
<nz-card [nzBorderless]="true" class="mb0" #distannce1>
<div class="mb-sm common-order-header" nz-row>
<div>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.billStatusLabel }}</button>
<b class="ml-md text-md" style="font-size: 18px">订单号: {{ i?.billCode }}</b>
</div>
<div>
<button (click)="cancellation()" nz-button
*ngIf="i?.billStatus !== '1' && i?.billStatus !== '5' && i?.billStatus !== '6' && i?.overallPaymentStatus != '2'"
acl [acl-ability]="['ORDER-BULK-DETAIL-cancelAnOrder']">取消订单</button>
<button nz-button
*ngIf="i?.billStatus == '4' || i?.billStatus == '5' || i?.billStatus == '2' || i?.billStatus == '3'" acl
[acl-ability]="['ORDER-BULK-DETAIL-modifyOrder']" (click)="changeOrder()">修改订单</button>
</div>
</div>
<nz-divider class="divider-margin"></nz-divider>
<div class="mb-lg" sv-container>
<sv label="网络货运人">{{ i?.goodsResource?.enterpriseInfoName }} </sv>
<sv label="货主">{{ i?.goodsResource?.shipperAppUserName }} </sv>
<sv label="所属项目">{{ i?.goodsResource?.enterpriseProjectName }}</sv>
<sv label="服务类型">{{ i?.goodsResource?.serviceTypeLabel }}</sv>
<sv label="录单员">{{ i?.createUserName }} {{ i?.createUserPhone ? "/" + i?.createUserPhone : ''}} </sv>
<sv label="调度员">{{ i?.goodsResource?.dispatchName }}{{ i?.goodsResource?.dispatchPhone ? "/" +
i?.goodsResource?.dispatchPhone : ''}} </sv>
<sv label="货源编号">{{ i?.goodsResource?.resourceCode }} </sv>
<sv label="运单号">{{ i?.wayBill?.wayBillCode }}</sv>
<sv label="承诺付款天数">{{ i?.goodsResource?.paymentDays }}</sv>
</div>
<div class="approval-status">
<div style="width: 60%; margin: 0 auto">
 
<div class="step-row">
<nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical">
<nz-step *ngFor="let item of i?.scheduleVOList" [nzTitle]="item.state" [nzSubtitle]="item.stateTime"
[nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'"></nz-step>
@ -64,13 +92,65 @@
</div>
</nz-card>
<nz-card nzTitle="基本信息" #distannce2>
<sv-container col="1">
<nz-card [nzBorderless]="true" class="mb0">
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>装货卸货信息</span>
<span class="ml-sm text-sm">(
<label>{{ i?.loadingCount || '一' }}装</label>
<label>{{ i?.unloadingCount || '一' }}卸</label>)
</span>
</div>
<div nz-row [nzGutter]="24">
<div nz-col [nzSpan]="12">
<div class="handling-info p-md">
<ng-container *ngFor="let item of i?.unLoadingPlaceList">
<div class="flex" *ngIf="item.type === '1'">
<div 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 class="mb0">联系人:{{ item.appUserName }}{{ item.contractTelephone ? "/" + item.contractTelephone : ''
}}</p>
</div>
</div>
</div>
</ng-container>
</div>
</div>
<div nz-col [nzSpan]="12">
<div class="handling-info p-md">
<ng-container *ngFor="let item of i?.unLoadingPlaceList">
<div class="flex" *ngIf="item.type === '2'">
<div 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 class="mb0">联系人:{{ item.appUserName }}{{ item.contractTelephone ? "/" + item.contractTelephone : ''}}
</p>
</div>
</div>
</div>
</ng-container>
</div>
</div>
</div>
</nz-card>
<nz-card [nzBorderless]="true" class="mb0" #distannce2>
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>基本信息</span>
</div>
<sv-container col="3">
<sv label="货物名称">
{{i?.goodsInfoList?.[0]?.goodsName}}
</sv>
</sv-container>
<sv-container col="2">
<sv label="货物数量">
{{i?.goodsInfoList?.[0]?.weight}}吨,{{i?.goodsInfoList?.[0]?.volume}}方,{{i?.goodsInfoList?.[0]?.number}}件 </sv>
<sv label="用车需求">{{ i?.carModel }}{{ i?.carLength ? "/" + i?.carLength : ''}} </sv>
@ -89,61 +169,28 @@
<sv *ngIf="i?.billStatus =='4' || i?.billStatus =='5'" label="卸货数量"> {{ i?.settlementWeight }}吨,{{
i?.settlementVolume }}方</sv>
</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?.unLoadingPlaceList">
<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 ? "/" + item.contractTelephone : '' }}</p>
</div>
</div>
</div>
</div>
</div>
<div nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.unLoadingPlaceList">
<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 ? "/" + item.contractTelephone : ''}}</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</nz-card>
<!--
结算依据为1时卸货时间不为空显示运费信息否则隐藏
结算依据为2时装货时间不为空显示运费信息否则隐藏
-->
<nz-card [nzTitle]="priceTitel" #distannce3
[hidden]="!(i?.settlementBasis ==='1' && i?.unloadTime) && !(i?.settlementBasis ==='2' && i?.loadTime)">
<ng-template #priceTitel>
<nz-card #distannce3
[hidden]="!(i?.settlementBasis ==='1' && i?.unloadTime) && !(i?.settlementBasis ==='2' && i?.loadTime)"
[nzBorderless]="true" class="mb0">
<!-- <ng-template #priceTitel>
<span>运费信息</span><span
style="padding-left: 24px; color: #f59a23;font-size: small;">到货后{{i?.goodsResource.paymentDays}}天内支付运费</span>
</ng-template>
<div style="margin-bottom: 18px">
<span style="color: #da001b; font-size: 18px"> {{ i?.freightPrice }}{{ i?.freightTypeLabel }} </span>{{
i?.settlementBasisLabel }}{{
i?.ruleLabel
}}
</ng-template> -->
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>运费信息</span>
<span class=" pl-sm text-warning">到货后{{i?.goodsResource.paymentDays}}天内支付运费</span>
</div>
<st #st [data]="billExpenses" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
<st #st [data]="billExpenses" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }"
[size]="'small'">
<ng-template st-row="prices" let-item let-index="index">
{{ item.price + item.surcharge | currency }}
</ng-template>
@ -151,15 +198,33 @@
<ng-template st-row="price" let-item let-index="index"> {{item.price | currency}} </ng-template>
<ng-template st-row="surcharge" let-item let-index="index"> {{item.surcharge | currency}} </ng-template>
</st>
<div>
总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> (运费{{ i?.totalFreight |
总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }} {{ i?.freightTypeLabel }}</span>
(运费{{ i?.totalFreight |
currency }}
附加费{{ i?.totalSurcharge | currency }},附加费率{{ i?.totalRate * 100 | number: '0.2-2' }}%
<span class="text-warning"> ({{
i?.settlementBasisLabel }}{{
i?.ruleLabel
}})</span>
</div>
<!-- <div class="text-right">
<span style="color: #da001b; font-size: 18px"> {{ i?.freightPrice }}{{ i?.freightTypeLabel }} </span>{{
i?.settlementBasisLabel }}{{
i?.ruleLabel
}}
</div> -->
<div *ngIf=" i?.payeeId !== i?.driverId" class="mt-xs">车队长:{{ i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeIdNo }}
</div>
<div *ngIf=" i?.payeeId !== i?.driverId" class="mt-xs">车队长:{{ i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeIdNo }}</div>
</nz-card>
<nz-card nzTitle="附件信息" #distannce4>
<nz-card [nzBorderless]="true" class="mb0" #distannce4>
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>附件信息</span>
</div>
<sv-container>
<sv label="协议附件">
<a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp;
@ -177,7 +242,11 @@
</sv>
</sv-container>
</nz-card>
<nz-card nzTitle="补充信息">
<nz-card [nzBorderless]="true" class="mb0">
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>补充信息</span>
</div>
<sv-container>
<sv label="是否回单">
{{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
@ -193,18 +262,16 @@
<sv label="详细地址" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
{{ i?.supplementaryInformationVO?.address }}
</sv>
</sv-container>
<sv-container col="1" class="mt-md">
<sv label="回单凭证" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
<app-imagelist [imgList]="i?.receiptFilePath"></app-imagelist>
</sv>
<sv label="备注">
{{ i?.goodsResource?.remarks }}
</sv>
<sv col="1" label="回单凭证" *ngIf="i?.supplementaryInformationVO?.stateReceipt">
<app-imagelist [imgList]="i?.receiptFilePath"></app-imagelist>
</sv>
</sv-container>
</nz-card>
<nz-card #distannce5>
<nz-card #distannce5 [nzBorderless]="true" class="mb0">
<p class="detail_title"><span>|</span> 轨迹信息</p>
<div nz-row>
<div nz-col [nzSpan]="24">
@ -221,7 +288,7 @@
</div>
</nz-card>
<nz-card>
<nz-card [nzBorderless]="true" class="mb0">
<nz-tabset>
<nz-tab nzTitle="风险异常检测">
<div *ngIf="abnormalList.length > 0">

View File

@ -27,38 +27,13 @@
text-align: right;
}
::ng-deep {
.approval-status {
.ant-steps {
width : 70%;
margin: 0 auto;
}
}
// .ant-tabs-top>.ant-tabs-nav,
// .ant-tabs-bottom>.ant-tabs-nav,
// .ant-tabs-top>div>.ant-tabs-nav,
// .ant-tabs-bottom>div>.ant-tabs-nav {
// margin: 0;
// }
// .ant-anchor-ink::before {
// width: 0;
// }
// .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-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 {
// margin-left: 40px
// }
}
.leftPadding {
padding-right: 100px;
}
.handling-info {
min-height: 100px;
min-height: 90px;
border: 1px solid #ccc;
.loading-row {

View File

@ -8,19 +8,19 @@
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail\\vehicle-detail.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<page-header-wrapper [title]="'整车订单详情'" [logo]="logo" [content]="headerContent">
<page-header-wrapper [title]="'整车订单详情'" [logo]="logo">
<ng-template #logo>
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
<i nz-icon nzType="left" nzTheme="outline"></i>
</button>
</ng-template>
<ng-template #headerContent>
<div nz-row>
<div class="mb-xs common-order-header" nz-row>
<div>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.billStatusLabel }}</button>
<h4 class="ml-md" style="font-size: 18px">订单号: {{ i?.billCode }}</h4>
<b class="ml-md" style="font-size: 18px">订单号: {{ i?.billCode }}</b>
</div>
<div nz-row style="display: flex; justify-content: end" class="mb-xs">
<div nz-col>
<div>
<button (click)="cancellation()" nz-button
*ngIf="i.billStatus == '4' || i.billStatus == '5' || i.billStatus == '2' || i.billStatus == '3' || i.billStatus == '1'"
acl [acl-ability]="['ORDER-VEHICLE-DETAIL-cancelAnOrder']">取消订单</button>
@ -55,9 +55,40 @@
</div>
</ng-template>
</page-header-wrapper>
<nz-card nzTitle="运单进度" #distannce1>
<nz-card [nzBorderless]="true" class="mb0" #distannce1>
<div class="mb-xs common-order-header" nz-row>
<div>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.billStatusLabel }}</button>
<b class="ml-md" style="font-size: 18px">订单号: {{ i?.billCode }}</b>
</div>
<div>
<button (click)="cancellation()" nz-button
*ngIf="i.billStatus == '4' || i.billStatus == '5' || i.billStatus == '2' || i.billStatus == '3' || i.billStatus == '1'"
acl [acl-ability]="['ORDER-VEHICLE-DETAIL-cancelAnOrder']">取消订单</button>
<button nz-button (click)="changeOrder()"
*ngIf="i.billStatus == '4' || i.billStatus == '5' || i.billStatus == '2' || i.billStatus == '3'" acl
[acl-ability]="['ORDER-VEHICLE-DETAIL-modifyOrder']">修改订单</button>
</div>
</div>
<nz-divider class="divider-margin"></nz-divider>
<div>
<div class="mb-lg" sv-container>
<sv label="网络货运人">{{ i?.goodsResource?.enterpriseInfoName }} </sv>
<sv label="货主">{{ i?.goodsResource?.shipperAppUserName }} </sv>
<sv label="所属项目">{{ i?.goodsResource?.enterpriseProjectName }}</sv>
<sv label="服务类型">{{ i?.goodsResource?.serviceTypeLabel }}</sv>
<sv label="录单员">{{ i?.createUserName }} {{ i?.createUserPhone ? '/' + i?.createUserPhone : '' }} </sv>
<sv label="调度员">{{ i?.goodsResource?.dispatchName }}{{ i?.goodsResource?.dispatchPhone ? '/' +
i?.goodsResource?.dispatchPhone : '' }}
</sv>
<sv label="外部订单号">{{ i?.externalBillCode }}</sv>
<sv label="货源编号">{{ i?.goodsResource?.resourceCode }} </sv>
<sv label="运单号">{{ i?.wayBill?.wayBillCode }}</sv>
<sv label="承诺付款天数">{{ i?.goodsResource?.paymentDays }}</sv>
</div>
</div>
<div class="approval-status">
<div style="width: 60%; margin: 0 auto">
<div class="step-row">
<nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical">
<nz-step *ngFor="let item of i?.scheduleVOList" [nzTitle]="item.state" [nzSubtitle]="item.stateTime"
[nzDescription]="item.cancelReason ? '取消原因' + item.cancelReason : ''"
@ -66,38 +97,29 @@
</div>
</div>
</nz-card>
<nz-card nzTitle="基本信息" #distannce2>
<sv-container col="1">
<sv-title>货物信息</sv-title>
<sv label="网络货运人">
{{ i?.goodsResource?.enterpriseInfoName }}
</sv>
<sv label="货物名称">
{{i?.goodsInfoList?.[0]?.goodsName}}
</sv>
</sv-container>
<sv-container col="2">
<sv label="货物数量">
{{i?.goodsInfoList?.[0]?.weight}}吨,{{i?.goodsInfoList?.[0]?.volume}}方,{{i?.goodsInfoList?.[0]?.number}}件 </sv>
<sv label="用车需求">{{ i?.carModel }}{{ i?.carLength ? '/' + i?.carLength : '' }}</sv>
<sv label="承运司机"> {{ i?.driverName }}{{ i?.driverPhone ? '/' + i?.driverPhone : '' }}{{ i?.carNo ? '/' + i?.carNo :
'' }} </sv>
<sv label="车型车长载重"> {{ i?.driverCarModelLabel }},{{ i?.driverCarLengthLabel }}米,{{ i?.driverCarWeight }}吨 </sv>
</sv-container>
<div class="mt-md">
<h4 class="text-md">装货卸货信息
<nz-card [nzBorderless]="true" class="mb0">
<!-- <h4 class="text-md">装货卸货信息
<span class="ml-sm text-sm">(
<label>{{ i?.loadingCount }}装</label>
<label>{{ i?.unloadingCount }}卸</label>
)
</span>
</h4>
</h4> -->
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>装货卸货信息</span>
<span class="ml-sm text-sm">(
<label>{{ i?.loadingCount }}装</label>
<label>{{ i?.unloadingCount }}卸</label>
)
</span>
</div>
<div nz-row [nzGutter]="24">
<div nz-col [nzSpan]="12">
<div class="handling-col" nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.unLoadingPlaceList">
<div *ngIf="item.type === '1'" class="loading-row">
<ng-container *ngFor="let item of i?.unLoadingPlaceList">
<div class="flex" *ngIf="item.type === '1'">
<div class="loading-row">
<div class="handling-info-icon loading-bg"></div>
<div class="info">
<h4>装货地:{{ item?.province }}{{ item.city }}{{ item.area }}{{ item.detailedAddress }}</h4>
@ -105,11 +127,13 @@
</div>
</div>
</div>
</ng-container>
<p class="time-info">计划装货时间:{{ i?.goodsResource?.loadingTime }}</p>
</div>
</div>
<div nz-col [nzSpan]="12">
<div class="handling-col" nz-col [nzSpan]="12">
<div class="handling-info p-md">
<ng-container *ngFor="let item of i?.unLoadingPlaceList">
<div class="flex" *ngFor="let item of i?.unLoadingPlaceList">
<div *ngIf="item.type === '2'" class="loading-row">
<div class="handling-info-icon unloaing-bg"></div>
@ -119,13 +143,39 @@
</div>
</div>
</div>
</ng-container>
<p class="time-info">计划卸货时间:{{ i?.goodsResource?.unloadingTime }}</p>
</div>
</div>
</div>
</div>
</nz-card>
<nz-card nzTitle="服务信息">
<nz-card [nzBorderless]="true" class="mb0" #distannce2>
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>基本信息</span>
</div>
<sv-container col="3">
<!-- <sv-title>货物信息</sv-title> -->
<sv label="网络货运人">
{{ i?.goodsResource?.enterpriseInfoName }}
</sv>
<sv label="货物名称">
{{i?.goodsInfoList?.[0]?.goodsName}}
</sv>
<sv label="货物数量">
{{i?.goodsInfoList?.[0]?.weight}}吨,{{i?.goodsInfoList?.[0]?.volume}}方,{{i?.goodsInfoList?.[0]?.number}}件 </sv>
<sv label="用车需求">{{ i?.carModel }}{{ i?.carLength ? '/' + i?.carLength : '' }}</sv>
<sv label="承运司机"> {{ i?.driverName }}{{ i?.driverPhone ? '/' + i?.driverPhone : '' }}{{ i?.carNo ? '/' + i?.carNo :
'' }} </sv>
<sv label="车型车长载重"> {{ i?.driverCarModelLabel }},{{ i?.driverCarLengthLabel }}米,{{ i?.driverCarWeight }}吨 </sv>
</sv-container>
</nz-card>
<nz-card [nzBorderless]="true" class="mb0">
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>服务信息</span>
</div>
<sv-container>
<sv label="服务包">
{{ i?.goodsResource?.insuranceTypeLabel }}
@ -139,7 +189,11 @@
</sv-container>
</nz-card>
<nz-card nzTitle="运费信息" #distannce3>
<nz-card [nzBorderless]="true" class="mb0" #distannce3>
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>运费信息</span>
</div>
<st #st [data]="billExpenses" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
<ng-template st-row="price" let-item let-index="index">
{{ item.price | currency }}
@ -160,7 +214,11 @@
i?.payeePhone : '' }}/{{ i?.payeeIdNo }}</div>
</nz-card>
<nz-card nzTitle="附件信息" #distannce4>
<nz-card [nzBorderless]="true" class="mb0" #distannce4>
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>附件信息</span>
</div>
<sv-container>
<sv label="协议附件">
<a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp;
@ -177,7 +235,11 @@
</sv>
</sv-container>
</nz-card>
<nz-card nzTitle="补充信息">
<nz-card [nzBorderless]="true" class="mb0">
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>补充信息</span>
</div>
<sv-container>
<sv label="是否回单">
{{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
@ -205,7 +267,7 @@
</sv-container>
</nz-card>
<nz-card #distannce5>
<nz-card [nzBorderless]="true" class="mb0" #distannce5>
<p class="detail_title"><span>|</span> 轨迹信息</p>
<div nz-row>
<div nz-col [nzSpan]="24">
@ -222,7 +284,7 @@
</div>
</nz-card>
<nz-card>
<nz-card [nzBorderless]="true" class="mb0">
<nz-tabset>
<nz-tab nzTitle="风险异常检测">
<div *ngIf="abnormalList.length > 0">

View File

@ -27,24 +27,20 @@
text-align: right;
}
::ng-deep {
.approval-status {
.ant-steps {
width : 70%;
margin: 0 auto;
}
}
}
.leftPadding {
padding-right: 100px;
}
.hide {
display: none;
}
.handling-col {
min-height: 90px;
.handling-info {
min-height: 100px;
height: 100%;
border: 1px solid #ccc;
.loading-row {
@ -68,6 +64,7 @@
background: #F66F6A;
}
}
}
.info {
flex: 1;
@ -77,6 +74,7 @@
margin-left: 56px;
}
}
.target-fix {
display: block;
margin-top: 290px;

View File

@ -11,7 +11,7 @@
<div class="mb-sm common-order-header" nz-row>
<div>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
<b class="ml-md">货源编码 : {{ i?.resourceCode }}</b>
<b class="ml-md text-md">货源编码 : {{ i?.resourceCode }}</b>
</div>
<div>
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl

View File

@ -13,14 +13,7 @@
<nz-card>
<div nz-row nzGutter="8">
<!-- 查询字段小于或等于3个时不显示伸缩按钮 -->
<div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4">
<sf #sf [schema]="schema" [ui]="ui" [mode]="'search'" [loading]="false" (formSubmit)="st?.load(1)"
(formReset)="resetSF()"></sf>
</div>
<!-- 查询字段大于3个时根据展开状态调整布局 -->
<ng-container *ngIf="queryFieldCount > 4">
<div nz-col [nzSpan]="_$expand ? 24 : 18">
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
</div>
@ -35,7 +28,6 @@
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
</button>
</div>
</ng-container>
</div>
</nz-card>

View File

@ -6,7 +6,7 @@
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\bulk-detail\\bulk-detail.component.html
-->
<page-header-wrapper [title]="'大宗运单详情'" [logo]="logo" [content]="headerContent">
<page-header-wrapper [title]="'大宗运单详情'" [logo]="logo">
<ng-template #logo>
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
<i nz-icon nzType="left" nzTheme="outline"></i>
@ -51,10 +51,33 @@
</div>
</ng-template>
</page-header-wrapper>
<nz-card nzTitle="运单进度" #distannce1>
<nz-card #distannce1>
<div class="mb-sm common-order-header" nz-row>
<div>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{i?.wayBillStatusLabel}}</button>
<b class="ml-md text-md">运单号: {{ i?.wayBillCode }}</b>
</div>
</div>
<div nz-col>
<button nz-button *ngIf="i?.wayBillStatus == '2'" (click)="sureDepart(i)" acl
[acl-ability]="['WAYBILL-BULK-DETAIL-insertBulkStartCarInfo']">确认发车</button>
<button nz-button nzType="primary" *ngIf="i?.wayBillStatus == '3'" (click)="sureArrive(i)" nzGhost acl
[acl-ability]="['WAYBILL-BULK-DETAIL-insertBulkUnloadCarInfo']">确认到车</button>
</div>
<div>
<div sv-container>
<sv label="网络货运人">{{ i?.enterpriseInfoName }} </sv>
<sv label="货主">{{ i?.shippername }} </sv>
<sv label="所属项目">{{i?.enterpriseProjectName}}</sv>
<sv label="服务类型">{{i?.serviceTypeLabel}}</sv>
<sv label="调度员">{{i?.dispatchName}} /{{i?.dispatchPhone}}</sv>
<sv label="外部订单号">{{ i?.externalBillCode }}</sv>
<sv label="货源编号">{{ i?.resourceCode }} </sv>
<sv label="承诺付款天数">{{ i?.paymentDays }}</sv>
</div>
</div>
<div class="approval-status">
<div style="width: 60%; margin: 0 auto">
 
<div class="step-row">
<nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical">
<nz-step *ngFor="let item of i?.scheduleVOList" [nzTitle]="item.state" [nzSubtitle]="item.stateTime"
[nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'"></nz-step>
@ -62,8 +85,51 @@
</div>
</div>
</nz-card>
<nz-card>
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>装货卸货信息</span>
<span class="ml-sm text-sm">(
<label>{{i?.loadingNumber || '一'}}装</label>
<label>{{i?.dischargeNumber || '一'}}卸</label>
)
</span>
</div>
<div nz-row [nzGutter]="24">
<div nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.loadingPlace">
<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>
</div>
</div>
<div nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.dischargePlace">
<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>
</div>
</div>
</div>
</nz-card>
<nz-card nzTitle="基本信息" #distannce1>
<nz-card [nzBorderless]="true" class="mb0" #distannce1>
<div class="font-weight-blod text-md detail-title">
<a class="sign"></a>
<span>基本信息</span>
</div>
<sv-container col="1">
<sv label="货物名称">
{{i?.goodsInfos?.[0]?.goodsName}}
@ -99,43 +165,7 @@
{{ i?.settlementWeight }}吨,{{ i?.settlementVolume }}方
</sv>
</sv-container>
<div class="mt-md">
<h4 class="text-md">装货卸货信息
<span class="ml-sm text-sm">(
<label>{{i?.loadingNumber || '一'}}装</label>
<label>{{i?.dischargeNumber || '一'}}卸</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?.loadingPlace">
<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>
</div>
</div>
<div nz-col [nzSpan]="12">
<div class="handling-info p-md">
<div class="flex" *ngFor="let item of i?.dischargePlace">
<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>
</div>
</div>
</div>
</div>
</nz-card>
<!-- <nz-card [nzTitle]="'运费信息' +'(到货后'+i?.paymentDays+'天内支付运费)'" #distannce3>
<h2>{{i?.freightPrice}}{{i?.goodsInfos?.[0]?.freightTypeLabel}}{{ i?.goodsInfos?.[0]?.settlementBasisLabel ? i?.goodsInfos?.[0]?.settlementBasisLabel + '' :' ' }}{{i?.goodsInfos?.[0]?.ruleLabel}}</h2>
@ -165,7 +195,9 @@
结算依据为2时装货时间不为空显示运费信息否则隐藏
-->
<nz-card [nzTitle]="priceTitel" #distannce3
[hidden]="!(i?.settlementBasis ==='1' && i?.unloadTime) && !(i?.settlementBasis ==='2' && i?.loadTime)">
[hidden]="!(i?.settlementBasis ==='1' && i?.unloadTime) && !(i?.settlementBasis ==='2' && i?.loadTime)"
[nzBorderless]="true" class="mb0">
<ng-template #priceTitel>
<span>运费信息</span><span
style="padding-left: 24px; color: #f59a23;font-size: small;">到货后{{i?.goodsResource.paymentDays}}天内支付运费</span>
@ -176,7 +208,7 @@
i?.ruleLabel
}}
</div>
<st #st [data]="billExpenses" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
<st size="small" #st [data]="billExpenses" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
<ng-template st-row="prices" let-item let-index="index">
{{ item.price + item.surcharge | currency }}
</ng-template>
@ -191,7 +223,7 @@
</div>
<div *ngIf=" i?.payeeId !== i?.driverId" class="mt-xs">车队长:{{ i?.payeeName }}/{{ i?.payeePhone }}</div>
</nz-card>
<nz-card nzTitle="附件信息" #distannce4>
<nz-card nzTitle="附件信息" [nzBorderless]="true" class="mb0" #distannce4>
<sv-container>
<sv label="协议附件">
<a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp;
@ -209,7 +241,7 @@
</sv>
</sv-container>
</nz-card>
<nz-card nzTitle="补充信息">
<nz-card nzTitle="补充信息" [nzBorderless]="true" class="mb0">
<sv-container>
<sv label="是否回单">
{{i?.receiptType == 1 ?'是':'否'}}
@ -238,7 +270,7 @@
</sv-container>
</nz-card>
<nz-card>
<nz-card class="mb0">
<p class="detail_title" #distannce5><span>|</span> 轨迹信息</p>
<div nz-row>
<div nz-col [nzSpan]="24">