260 lines
11 KiB
HTML
260 lines
11 KiB
HTML
<!--
|
||
* @Author: your name
|
||
* @Date: 2021-12-03 15:31:52
|
||
* @LastEditTime : 2022-03-11 10:59:02
|
||
* @LastEditors : Shiming
|
||
* @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">
|
||
<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>
|
||
<button nz-button nzType="primary" nzSize="small" nzDanger>{{i?.wayBillStatusLabel}}</button>
|
||
<h4 class="ml-md" style="font-size: 18px;">运单号: {{ i?.wayBillCode }}</h4>
|
||
</div>
|
||
<div nz-row style="display: flex; justify-content: end;" class="mb-xs">
|
||
<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>
|
||
<div sv-container>
|
||
<sv label="网络货运人">{{ i?.enterpriseInfoName }} </sv>
|
||
<sv label="货主">{{ i?.shippername }} </sv>
|
||
<sv label="所属项目">{{i?.enterpriseProject}}</sv>
|
||
<sv label="服务类型">{{i?.serviceTypeLabel}}</sv>
|
||
<sv label="调度员">{{i?.dispatch?.name}} /{{i?.dispatch?.phone}}</sv>
|
||
<sv label="外部订单号">{{ i?.externalBillCode }}</sv>
|
||
<sv label="货源编号">{{ i?.resourceCode }} </sv>
|
||
<sv label="运单号">{{ i?.wayBillCode }}</sv>
|
||
<sv label="承诺付款天数">{{ i?.paymentDays }}</sv>
|
||
</div>
|
||
<nz-tabset style="margin-top: 15px;">
|
||
<nz-tab nzTitle="装卸货信息" (nzClick)="goDistance(distannce1)">
|
||
</nz-tab>
|
||
<nz-tab nzTitle="基本信息" (nzClick)="goDistance(distannce1)">
|
||
</nz-tab>
|
||
<nz-tab nzTitle="运费信息" (nzClick)="goDistance(distannce3)">
|
||
</nz-tab>
|
||
<nz-tab nzTitle="附件信息" (nzClick)="goDistance(distannce4)">
|
||
</nz-tab>
|
||
<nz-tab nzTitle="轨迹信息" (nzClick)="goDistance(distannce5)">
|
||
</nz-tab>
|
||
</nz-tabset>
|
||
</div>
|
||
</ng-template>
|
||
</page-header-wrapper>
|
||
<nz-card nzTitle="运单进度" #distannce1>
|
||
<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>
|
||
|
||
<nz-card nzTitle="基本信息" #distannce1>
|
||
<sv-container col="1">
|
||
<sv label="货物名称">
|
||
{{i?.goodsInfos?.[0]?.goodsName}}
|
||
</sv>
|
||
</sv-container>
|
||
<sv-container col="2">
|
||
<sv label="货物数量">
|
||
{{i?.goodsInfos?.[0]?.weight}}吨,{{i?.goodsInfos?.[0]?.volume}}方,{{i?.goodsInfos?.[0]?.number}}件
|
||
</sv>
|
||
<sv label="用车需求">
|
||
{{i?.goodsInfos?.[0]?.carModelLabel}}{{ i?.goodsInfos?.[0]?.carLength ? '/' + i?.goodsInfos?.[0]?.carLength + '米': ''}}
|
||
</sv>
|
||
<sv label="承运司机">
|
||
{{i?.driver?.name}}/{{i?.driver?.phone}}
|
||
</sv>
|
||
<sv label="车型车长载重">
|
||
{{i?.carVO?.carModelLabel}},{{i?.carVO?.carLengthLabel}}米,{{i?.carVO?.carLoad ? i?.carVO?.carLoad +'吨': ''}}
|
||
</sv>
|
||
<sv label="计划装货时间">
|
||
{{i?.loadPlanTime}}
|
||
</sv>
|
||
<sv label="计划卸货时间">
|
||
{{i?.unloadPlanTime}}
|
||
</sv>
|
||
<sv label="接单数量">
|
||
{{i?.acceptWeight}}吨,{{i?.acceptVolume}}方,{{i?.acceptNumber}}件
|
||
</sv>
|
||
<sv *ngIf="i?.billStatus =='3' || i?.billStatus =='4' || i?.billStatus =='5'" label="装货数量">
|
||
{{i?.acceptWeight}}吨,{{i?.acceptVolume}}方,{{i?.acceptNumber}}件
|
||
</sv>
|
||
<sv *ngIf="i?.billStatus =='4' || i?.billStatus =='5'" 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?.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>
|
||
<div style="margin-bottom: 18px">
|
||
<span style="color: #da001b; font-size: 18px"> {{ i?.goodsInfos?.[0]?.freightPrice | currency }}{{ i?.goodsInfos?.[0]?.freightTypeLabel }} </span>({{ i?.goodsInfos?.[0]?.settlementBasisLabel }},{{
|
||
i?.goodsInfos?.[0]?.ruleLabel
|
||
}})</div
|
||
>
|
||
<st #st [data]="i?.billExpenseDetailVOList" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
|
||
<ng-template st-row="price" let-item let-index="index">
|
||
{{ item.price | currency}}
|
||
</ng-template>
|
||
</st>
|
||
<div>
|
||
总计:<span style="color: #da001b; font-size: 18px">{{ totalObj?.price | currency }}</span> (运费{{
|
||
totalObj?.price - attObj?.price | currency
|
||
}},附加运费{{ attObj?.price | currency}},附加费率{{ (attObj?.price / totalObj?.price) * 100 | number: '0.2-2' }}%)
|
||
</div>
|
||
<div>收款人:{{ i?.payee?.name }}/{{ i?.payee?.phone }}/{{ i?.payee?.idNo }}</div>
|
||
</nz-card> -->
|
||
<nz-card [nzTitle]="'运费信息' +'(到货后'+i?.paymentDays+'天内支付运费)'" #distannce3>
|
||
<div *ngIf="(i?.billStatus == '3' && i.goodsInfoList?.[0].settlementBasis == '2') || (i?.billStatus == '4' && i.goodsInfoList?.[0].settlementBasis == '1')" >
|
||
<h2>{{i?.goodsInfoList?.[0]?.freightPrice}}{{i?.goodsInfoList?.[0]?.freightTypeLabel}}({{ i?.goodsInfoList?.[0]?.settlementBasisLabel ? i?.goodsInfoList?.[0]?.settlementBasisLabel + ',' :' ' }}{{i?.goodsInfoList?.[0]?.ruleLabel}})</h2>
|
||
<st #st [data]="billExpenses" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
|
||
<ng-template st-row="PriceType" let-item let-index="index"> 到付 </ng-template>
|
||
<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>
|
||
<div>
|
||
总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> (运费{{ i?.totalFreight | currency }},
|
||
附加费{{ i?.totalSurcharge | currency }},附加费率{{ (i?.totalRate * 100).toFixed(2)}}%)
|
||
</div>
|
||
</div>
|
||
<div>收款人:{{ i?.payeeName }}/{{ i?.payeePhone }}</div>
|
||
</div>
|
||
</nz-card>
|
||
|
||
<nz-card nzTitle="附件信息" #distannce4>
|
||
<sv-container>
|
||
<sv label="协议附件">
|
||
<!-- {{i?.supplementaryInformationVO?.stateReceipt?'是':'否'}} -->
|
||
<a href="javascript:;" (click)="agreement('1')">查看附件</a>
|
||
<a href="javascript:;" (click)="agreement('2')">补充协议</a>
|
||
</sv>
|
||
</sv-container>
|
||
<sv-container col="2" class="mt-md">
|
||
<sv label="装货凭证">
|
||
<app-imagelist [imgList]="i?.loadingCertificate">
|
||
</app-imagelist>
|
||
</sv>
|
||
<sv label="卸货凭证">
|
||
<app-imagelist [imgList]="i?.unLoadingCertificate">
|
||
</app-imagelist>
|
||
</sv>
|
||
</sv-container>
|
||
</nz-card>
|
||
<nz-card nzTitle="补充信息">
|
||
<sv-container>
|
||
<sv label="是否回单">
|
||
{{i?.receiptType == 1 ?'是':'否'}}
|
||
</sv>
|
||
<sv label="回单类型" *ngIf="i?.receiptType == 1">
|
||
{{i?.receiptTypeLabel}}
|
||
</sv>
|
||
<sv label="联系人" *ngIf="i?.receiptType == 1">
|
||
{{i?.receiptUser}} / {{i?.receiptUserPhone}}
|
||
</sv>
|
||
<sv label="所在地区" *ngIf="i?.receiptType == 1">
|
||
{{i?.receiptPlace}}
|
||
</sv>
|
||
<sv label="详细地址" *ngIf="i?.receiptType == 1">
|
||
{{i?.receiptAddress}}
|
||
</sv>
|
||
|
||
</sv-container>
|
||
<sv-container col="1" class="mt-md">
|
||
<sv label="回单凭证" *ngIf="i?.receiptType == 1">
|
||
<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%" [nzExtra]="extraTemplate" #distannce5>
|
||
<div nz-row>
|
||
<div nz-col [nzSpan]="12">
|
||
<st [scroll]="{y: '500px'}" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }">
|
||
</st>
|
||
</div>
|
||
<div nz-col [nzSpan]="12">
|
||
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="mapList"></amap-path-simplifier>
|
||
</div>
|
||
</div>
|
||
</nz-card>
|
||
<ng-template #extraTemplate>
|
||
<nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)">
|
||
<label nz-radio-button nzValue="car">车辆轨迹</label>
|
||
<label nz-radio-button nzValue="driver">司机轨迹</label>
|
||
</nz-radio-group>
|
||
</ng-template>
|
||
</div>
|
||
</nz-card>
|
||
|
||
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" nzTitle="附件信息" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
|
||
<ng-container *nzModalContent>
|
||
<app-imagelist [imgList]="imges"></app-imagelist>
|
||
</ng-container>
|
||
<ng-template #nzModalFooter>
|
||
<button nz-button nzType="primary" (click)="handleOK()" [disabled]="">取消</button>
|
||
<button nz-button nzType="default" (click)="handleCancel()">确定 </button>
|
||
</ng-template>
|
||
</nz-modal> |