车辆对接

This commit is contained in:
wangshiming
2021-12-28 10:27:34 +08:00
parent 2d67ea537d
commit c904aeba46
17 changed files with 564 additions and 355 deletions

View File

@ -1,149 +1,230 @@
<!--
* @Author: your name
* @Date: 2021-12-03 15:31:52
* @LastEditTime: 2021-12-20 15:06:25
* @LastEditTime: 2021-12-28 10:07:21
* @LastEditors: Please set LastEditors
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\order-management\components\vehicle-detail\vehicle-detail.component.html
-->
<page-header-wrapper [title]="''" [logo]="logo">
<page-header-wrapper [title]="''" [logo]="logo" [content]="headerContent">
<ng-template #logo>
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
<i nz-icon nzType="left" nzTheme="outline"></i>
</button>
</ng-template>
</page-header-wrapper>
<nz-card>
<div nz-row>
<div nz-col nzSpan="4">
<sv-container class="bdr">
<sv label="订单号" col="1">{{ i?.no }}</sv>
<sv-title class="text-center text-lg" style="font-weight: 700;">{{i?.wayBillStatusLabel}}</sv-title>
<sv-title>
<div style="display: flex; justify-content: center;">
<a class="btn-size" (click)="hand()">指派车队长</a>
</div>
</sv-title>
</sv-container>
<ng-template #headerContent>
<div class="mb-xs" nz-row>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{i?.billStatusLabel}}</button>
<h4 class="ml-md" style="font-size: 18px;">运单号: {{ i?.billCode }}</h4>
</div>
<div nz-col nzSpan="16" class="approval-status">
<nz-steps style="width: 80%; margin: 0 auto" [nzLabelPlacement]="'vertical'">
<nz-step nzStatus="finish" nzIcon="user" [nzDescription]="i?.createAt" nzTitle="下单"></nz-step>
<nz-step nzStatus="finish" nzIcon="solution" nzTitle="完结"></nz-step>
</nz-steps>
</div>
</div>
<nz-divider></nz-divider>
<div sv-container *ngIf="i">
<sv label="项目名称">{{ i?.enterpriseProject }}</sv>
<sv label="调度员">{{ i?.dispatch?.name }}/{{i?.dispatch?.phone}}</sv>
<sv label="承诺付款时间">到货后{{ i?.paymentDays }}天内支付运费</sv>
<sv label="服务类型">{{ i?.serviceTypeLabel }}</sv>
</div>
<nz-divider></nz-divider>
<div nz-row>
<div nz-col nzSpan="6">
<div *ngFor="let item of unLoadingPlaceVOList; let ii = index">
<h3 *ngIf="ii === 0" style="font-weight: 700;">装卸货信息</h3>
<div *ngIf="item?.type === 1 || item?.type === '1'">
<p>装货地:{{item?.detailedAddress}}</p>
<p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
<p>发货日期:{{item?.createTime}}</p>
</div>
<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 nz-col nzSpan="5">
<div class="source-info bdr bdl pl-md">
<h3>货物信息</h3>
<div *ngFor="let item of i?.goodsInfos; let i = index">
<p>货物名称:{{item?.goodsName}}</p>
<p>重量/体积:{{item?.weight}}吨/{{item?.volume}}立方</p>
<p>用车需求:{{item?.vehicleDemand}}</p>
</div>
</div>
</div>
<div nz-col nzSpan="5">
<div class="source-info bdr bdl pl-md">
<h3>托运信息</h3>
<p>公司名称:{{i?.enterpriseInfoName}}</p>
<p>联系人:{{ i?.dispatch?.name }}/{{i?.dispatch?.phone}}</p>
</div>
</div>
<div nz-col nzSpan="5">
<div class="source-info bdr pl-md">
<h3>承运信息</h3>
<p>司机:{{i?.driverVo?.name}}/{{i?.driverVo?.phone}}</p>
<p>车牌号:{{i?.carVO?.carNo}}</p>
<p>车型/车长/承重:{{i?.carVO?.carModel}} | {{i?.carVO?.carLength}} | {{i?.carVO?.carLoad}}</p>
</div>
</div>
<div class="source-info pl-md">
<h3>补充信息</h3>
<p style="color: #1890ff;" (click)="agreement('1')">协议附件</p>
<p style="color: #1890ff;" (click)="agreement('2')"> 装车附件</p>
<p style="color: #1890ff;" (click)="agreement('3')">卸货附件</p>
<p style="color: #1890ff;" (click)="agreement('4')">回单附件</p>
</div>
</div>
<nz-divider></nz-divider>
<div nz-row>
<div class="freight-info-box">
<h3>运费信息</h3>
<div class="text-right">
<p><label class="freigth-label">收款人:</label><span>{{i?.payee?.name}} /{{i?.payee?.phone}} / {{i?.payee?.phone}}</span></p>
<div *ngFor="let item of i?.billExpenseDetailVOList">
<p><label class="freigth-label">{{item?.costName}}:</label><span>{{ item?.price| currency: '¥' }}</span></p>
</div>
<div nz-row style="display: flex; justify-content: end;">
<div nz-col nzSpan="10">
<button nz-button >确认发车</button>
<button nz-button nzType="primary" nzGhost >确认到车</button>
</div>
</div>
<nz-divider></nz-divider>
<div class="freight-info-box" nz-row>
<div nz-col nzSpan="24">
<h3 class="text-right"><label>总计 :</label> <span class="text-error-dark text-xl">{{i?.freight | currency: '¥' }}</span></h3>
<h3 class="text-right">{{i?.wayBillStatusLabel}}</h3>
</div>
<div>
<div sv-container>
<sv label="网络货运人">{{ i?.goodsResource?.[0]?.enterpriseInfoName }} </sv>
<sv label="货主">{{ i?.goodsResource?.[0]?.shipperAppUserName }} </sv>
<sv label="所属项目">{{i?.goodsResource?.[0]?.enterpriseProjectName}}</sv>
<sv label="服务类型">{{i?.goodsResource?.[0]?.serviceTypeLabel}}</sv>
<sv label="调度员">{{i?.goodsResource?.[0]?.dispatchName}} </sv>
</div>
<nz-tabset nzType="card" style="margin-top: 15px;">
<nz-tab [nzTitle]="tempt" >
<ng-template #tempt>
<nz-anchor>
<nz-link nzHref="#distannce1" nzTitle="装卸货信息"></nz-link>
</nz-anchor>
</ng-template>
</nz-tab>
<nz-tab [nzTitle]="tempt2" >
<ng-template #tempt2>
<nz-anchor>
<nz-link nzHref="#distannce2" nzTitle="基本信息"></nz-link>
</nz-anchor>
</ng-template>
</nz-tab>
<nz-tab [nzTitle]="tempt3" >
<ng-template #tempt3>
<nz-anchor>
<nz-link nzHref="#distannce3" nzTitle="运费信息"></nz-link>
</nz-anchor>
</ng-template>
</nz-tab>
<nz-tab [nzTitle]="tempt4" >
<ng-template #tempt4>
<nz-anchor>
<nz-link nzHref="#distannce4" nzTitle="附件信息"></nz-link>
</nz-anchor>
</ng-template>
</nz-tab>
<nz-tab [nzTitle]="tempt5" >
<ng-template #tempt5>
<nz-anchor>
<nz-link nzHref="#distannce5" nzTitle="轨迹信息"></nz-link>
</nz-anchor>
</ng-template>
</nz-tab>
</nz-tabset>
</div>
</ng-template>
</page-header-wrapper>
<nz-card nzTitle="运单进度">
<div class="approval-status">
<div style="width: 60%; margin: 0 auto">
  <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>
 </nz-steps>
</div>
</div>
</nz-card>
</div>
</div>
<nz-divider></nz-divider>
<div nz-row >
<div nz-col [nzSpan]='12'>
<div style="position: relative;">
<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">未支付</span>
<nz-card nzTitle="基本信息">
<sv-container col="1">
<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?.goodsInfoList?.[0]?.maxWeightLabel}}/{{i?.goodsInfoList?.[0]?.maxCube}}
</sv>
<sv label="承运司机">
{{i?.driverId}}
</sv>
<sv label="车型车长载重">
{{i?.goodsInfoList?.[0]?.weight}}吨,{{i?.goodsInfoList?.[0]?.volume}}方,{{i?.goodsInfoList?.[0]?.number}}件
</sv>
<sv label="计划装货时间">
{{i?.loadPlanTime}}
</sv>
<sv label="计划卸货时间">
{{i?.unloadPlanTime}}
</sv>
<sv label="接单数量">
{{i?.acceptWeight}}吨,{{i?.acceptVolume}}方,{{i?.acceptNumber}}件
</sv>
<sv label="装货数量">
{{i?.acceptWeight}}吨,{{i?.acceptVolume}}方,{{i?.acceptNumber}}件
</sv>
<sv label="卸货数量">
{{i?.settlementWeight}}吨,{{i?.settlementVolume}}方,{{i?.acceptNumber}}件
</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?.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>
</div>
</div>
<div nz-col [nzSpan]='12'>
<div style="position: relative;">
<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">未支付</span>
</div>
<div>
<span class="leftPadding">附加费</span>
<span class="leftPadding">1000.00</span>
<span class="leftPadding">未支付</span>
<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>
</div>
</div>
</div>
<nz-divider></nz-divider>
</div>
</nz-card>
<nz-card nzTitle="运费信息" id="distannce3">
<h2>{{i?.goodsInfoList?.[0]?.freightPrice}}{{i?.goodsInfoList?.[0]?.freightTypeLabel}}(以发货为准,保留小数)</h2>
<st #st [data]="i?.billExpenseDetails" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
</st>
<div>总计:{{i?.total | currency: '¥'}}运费¥3500.00附加运费¥191.98附加费率3.5%</div>
<div>收款人:</div>
</nz-card>
<nz-card nzTitle="附件信息" id="distannce4">
<sv-container>
<sv label="协议附件">
<!-- {{i?.supplementaryInformationVO?.stateReceipt?'是':'否'}} -->
<a href="javascript:;" (click)="agreement('1')">查看附件</a> &nbsp;&nbsp;&nbsp;&nbsp;
<a href="javascript:;" (click)="agreement('2')">补充协议</a>
</sv>
</sv-container>
<sv-container col="2" class="mt-md">
<sv label="装货凭证">
<app-imagelist [imgList]="[i?.loadingLadingBillFilePath,i?.loadingPeopleVehiclesGoodsFilePath]">
</app-imagelist>
</sv>
<sv label="卸货凭证">
<app-imagelist [imgList]="[i?.unloadingLadingBillFilePath,i?.unloadingPeopleVehiclesGoodsFilePath]">
</app-imagelist>
</sv>
</sv-container>
</nz-card>
<nz-card nzTitle="补充信息">
<sv-container>
<sv label="是否回单">
{{i?.goodsResource?.stateReceipt ?'是':'否'}}
</sv>
<sv label="回单类型">
{{i?.goodsResource?.receiptTypeLabel}}
</sv>
<sv label="联系人">
{{i?.goodsResource?.receiptUserId}} / {{i?.supplementaryInformationVO?.phon}}
</sv>
<sv label="所在地区">
{{i?.goodsResource?.receiptAddress}}
</sv>
<sv label="详细地址">
{{i?.goodsResource?.receiptAddress}}
</sv>
</sv-container>
<sv-container col="1" class="mt-md">
<sv label="回单凭证">
<app-imagelist [imgList]="[i?.receiptFilePath]"></app-imagelist>
</sv>
<sv label="备注">
{{i?.goodsResource?.remarks}}
</sv>
</sv-container>
</nz-card>
<nz-card>
<div nz-row>
<nz-card nzTitle="轨迹信息" style="width: 100%;" >
<nz-card nzTitle="轨迹信息" style="width: 100%;" id="distannce5">
<div nz-row >
<div nz-col [nzSpan]='12'>
<st #st [data]="i?.auditRecordList" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
</st>
<!-- <st #st [data]="i?.auditRecordList" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
</st> -->
</div>
<div nz-col [nzSpan]='12'>
<amap-path-simplifier></amap-path-simplifier>
@ -152,6 +233,7 @@
</nz-card>
</div>
</nz-card>
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" nzTitle="附件信息" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
<ng-container *nzModalContent>
<app-imagelist [imgList]="imges"></app-imagelist>