Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-03 15:31:52
|
||||
* @LastEditTime: 2021-12-22 10:09:11
|
||||
* @LastEditTime: 2021-12-23 13:38:07
|
||||
* @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
|
||||
@ -18,10 +18,9 @@
|
||||
</div>
|
||||
<div nz-row style="display: flex; justify-content: end;">
|
||||
<div nz-col nzSpan="10">
|
||||
<button nz-button >取消货源</button>
|
||||
<button nz-button
|
||||
>重新指派</button>
|
||||
<button nz-button >修改货源</button>
|
||||
<button nz-button >确认发车</button>
|
||||
<button nz-button >取消订单</button>
|
||||
<button nz-button >修改订单</button>
|
||||
<button nz-button nzType="primary" nzGhost >再下一单</button>
|
||||
</div>
|
||||
</div>
|
||||
@ -39,7 +38,43 @@
|
||||
<div style="font-size: 22px;font-weight: 700;">{{i?.billStatusLabel}}</div>
|
||||
</div>
|
||||
</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>
|
||||
@ -57,7 +92,7 @@
|
||||
</div>
|
||||
</nz-card>
|
||||
|
||||
<nz-card nzTitle="装卸货信息(一装一卸)">
|
||||
<nz-card nzTitle="装卸货信息(一装一卸)" id="distannce1">
|
||||
<div class="mt-md">
|
||||
<div nz-row [nzGutter]="24">
|
||||
<div nz-col [nzSpan]="12">
|
||||
@ -89,7 +124,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</nz-card>
|
||||
<nz-card nzTitle="基本信息">
|
||||
<nz-card nzTitle="基本信息" id="distannce2">
|
||||
<sv-container col="1">
|
||||
<sv label="网络货运人">
|
||||
{{i?.goodsResource[0]?.enterpriseInfoName}}
|
||||
@ -118,7 +153,7 @@
|
||||
<nz-card nzTitle="保险待定">
|
||||
</nz-card>
|
||||
|
||||
<nz-card nzTitle="运费信息">
|
||||
<nz-card nzTitle="运费信息" id="distannce3">
|
||||
<st #st [data]="i?.billExpenseDetails" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
|
||||
|
||||
</st>
|
||||
@ -126,7 +161,7 @@
|
||||
<div>收款人:</div>
|
||||
</nz-card>
|
||||
|
||||
<nz-card nzTitle="附件信息">
|
||||
<nz-card nzTitle="附件信息" id="distannce4">
|
||||
<sv-container>
|
||||
<sv label="协议附件">
|
||||
{{i?.supplementaryInformationVO?.stateReceipt?'是':'否'}}
|
||||
@ -134,11 +169,11 @@
|
||||
</sv-container>
|
||||
<sv-container col="2" class="mt-md">
|
||||
<sv label="装货凭证">
|
||||
<app-imagelist [imgList]="i?.goodsResource">
|
||||
<app-imagelist [imgList]="[i?.goodsResource]">
|
||||
</app-imagelist>
|
||||
</sv>
|
||||
<sv label="卸货凭证">
|
||||
<app-imagelist [imgList]="i?.goodsResource">
|
||||
<app-imagelist [imgList]="[i?.goodsResource]">
|
||||
</app-imagelist>
|
||||
</sv>
|
||||
</sv-container>
|
||||
@ -173,7 +208,7 @@
|
||||
|
||||
<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 }">
|
||||
|
||||
@ -33,4 +33,13 @@
|
||||
.leftPadding {
|
||||
padding-right: 100px;
|
||||
}
|
||||
/deep/ .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;
|
||||
}
|
||||
/deep/ .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
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,394 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-03 15:31:52
|
||||
* @LastEditTime: 2021-12-23 14:33:37
|
||||
* @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" [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 class="mb-xs" nz-row>
|
||||
<h4 class="ml-md" style="font-size: 18px;">订单号: {{ i?.billCode }}</h4>
|
||||
</div>
|
||||
<div nz-row style="display: flex; justify-content: end;">
|
||||
<div nz-col nzSpan="10">
|
||||
<button nz-button (click)="cancelChange()">取消修改</button>
|
||||
<button nz-button nzType="primary" (click)="save()" nzGhost>保存修改</button>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div style="display: flex; justify-content: space-between;">
|
||||
<div sv-container>
|
||||
<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}} 18100000000 </sv>
|
||||
<sv label="调度员">{{i?.goodsResource?.[0]?.dispatchName}} </sv>
|
||||
</div>
|
||||
<div>
|
||||
<div>状态</div>
|
||||
<div style="font-size: 22px;font-weight: 700;">{{i?.billStatusLabel}}</div>
|
||||
</div>
|
||||
</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 [nzLabelPlacement]="'vertical'">
|
||||
<nz-step [nzStatus]="i?.resourceStatus !== '1'?'finish':'process'" nzIcon="solution"
|
||||
[nzDescription]="i?.createAt" nzTitle="下单"></nz-step>
|
||||
<nz-step *ngIf="i?.resourceStatus === '1' || i?.resourceStatus === '2' "
|
||||
[nzStatus]="i?.resourceStatus=== '1'? 'wait':'finish'" nzIcon="file-done" [nzTitle]="'接单'"></nz-step>
|
||||
<nz-step nzStatus="finish" nzIcon="close-circle" nzTitle="取消货源" *ngIf="i?.resourceStatus === '3'"></nz-step>
|
||||
</nz-steps>
|
||||
</div>
|
||||
</div>
|
||||
</nz-card>
|
||||
|
||||
|
||||
<nz-card>
|
||||
<div class="card-title" id="distannce1"
|
||||
>装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div
|
||||
>
|
||||
<form nz-form [formGroup]="validateForm1" role="form">
|
||||
<div nz-row [nzGutter]="24">
|
||||
<div nz-col [nzSpan]="8">
|
||||
<div *ngFor="let data of startInfo; let idx = index">
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSpan]="4" nzRequired>装货地</nz-form-label>
|
||||
<nz-form-control [nzErrorTip]="'请输入装货地'">
|
||||
<div class="align-center">
|
||||
<nz-input-group [nzSuffix]="endInconTemp1">
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="data.detailedAddress"
|
||||
(click)="openMap('start', idx)"
|
||||
formControlName="loadAddress{{ idx }}"
|
||||
placeholder="请输入装货地"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<span style="padding: 0 10px"
|
||||
><i nz-icon nzType="menu" nzTheme="outline" style="color: #1890ff" (click)="openMap('start', idx)"></i
|
||||
></span>
|
||||
<span
|
||||
><i nz-icon nzType="minus-circle-o" nzTheme="fill" style="color: #d9001b" (click)="subStartInfo($event, idx, data.id)"></i
|
||||
></span>
|
||||
</div>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label>
|
||||
<nz-form-control [nzErrorTip]="'请输入联系人信息'">
|
||||
<div class="align-center">
|
||||
<input nz-input [(ngModel)]="data.appUserName" [ngModelOptions]="{ standalone: true }" maxlength="30" />
|
||||
<input style="margin-left: 12px" nz-input [(ngModel)]="data.contractTelephone" [ngModelOptions]="{ standalone: true }" maxlength="11" />
|
||||
</div>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<button nz-button nzType="primary" (click)="addStartInfo($event)">
|
||||
<i nz-icon nzType="plus"></i>
|
||||
添加装货地
|
||||
</button>
|
||||
</div>
|
||||
<div nz-col [nzSpan]="8">
|
||||
<div style="display: flex; justify-content: center">
|
||||
<span style="padding: 24 px; font-size: 30px; color: #7d7d7d"><i nz-icon nzType="swap" nzTheme="outline"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
<div nz-col [nzSpan]="8">
|
||||
<div *ngFor="let data of endInfo; let idx = index">
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSpan]="4" nzRequired>卸货地</nz-form-label>
|
||||
<nz-form-control [nzErrorTip]="'请输入卸货地'">
|
||||
<div class="align-center">
|
||||
<nz-input-group [nzSuffix]="endInconTemp1">
|
||||
<input
|
||||
nz-input
|
||||
[(ngModel)]="data.detailedAddress"
|
||||
(click)="openMap('end', idx)"
|
||||
formControlName="unloadAddress{{ idx }}"
|
||||
placeholder="请输入卸货地"
|
||||
/>
|
||||
</nz-input-group>
|
||||
<span style="padding: 0 10px"><i nz-icon nzType="menu" nzTheme="outline" style="color: #1890ff"></i></span>
|
||||
<span
|
||||
><i nz-icon nzType="minus-circle-o" nzTheme="fill" style="color: #d9001b" (click)="subEndInfo($event, idx)"></i
|
||||
></span>
|
||||
</div>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
<nz-form-item>
|
||||
<nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label>
|
||||
<nz-form-control [nzErrorTip]="'请输入联系人信息'">
|
||||
<div class="align-center">
|
||||
<input nz-input [(ngModel)]="data.appUserName" [ngModelOptions]="{ standalone: true }" maxlength="30" />
|
||||
<input style="margin-left: 12px" nz-input [(ngModel)]="data.contractTelephone" [ngModelOptions]="{ standalone: true }" maxlength="11" />
|
||||
</div>
|
||||
</nz-form-control>
|
||||
</nz-form-item>
|
||||
</div>
|
||||
<button nz-button nzType="primary" (click)="addEndInfo($event)">
|
||||
<i nz-icon nzType="plus"></i>
|
||||
添加卸货地
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div nz-row [nzGutter]="24" style="margin-top: 24px">
|
||||
<div nz-col [nzSpan]="9">
|
||||
<!-- <nz-form-item>
|
||||
<nz-form-label [nzSpan]="4" nzRequired>装货时间</nz-form-label>
|
||||
<nz-form-control [nzErrorTip]="'请输入装货时间'">
|
||||
<nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" formControlName="loadingTime" [(ngModel)]="loadingTime"></nz-date-picker>
|
||||
</nz-form-control>
|
||||
</nz-form-item> -->
|
||||
<p class="time-info">计划装货时间:{{i?.goodsResource?.[0]?.loadingTime}}</p>
|
||||
</div>
|
||||
<div nz-col [nzSpan]="8">
|
||||
<!-- <nz-form-item>
|
||||
<nz-form-label [nzSpan]="9" nzRequired>卸货时间</nz-form-label>
|
||||
<nz-form-control [nzErrorTip]="'请输入卸货时间'">
|
||||
<nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" formControlName="unloadingTime" [(ngModel)]="unloadingTime"></nz-date-picker>
|
||||
</nz-form-control>
|
||||
</nz-form-item> -->
|
||||
<p class="time-info">计划卸货时间:{{i?.goodsResource?.[0]?.unloadingTime}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<ng-template #endInconTemp1><i nz-icon nzType="global"></i></ng-template>
|
||||
</form>
|
||||
</nz-card>
|
||||
<!-- <nz-card nzTitle="装卸货信息(一装一卸)" id="distannce1" >
|
||||
<div class="mt-md">
|
||||
<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;let idx = index">
|
||||
<div *ngIf="item?.type === '1'" class="loading-row">
|
||||
<div class="info">
|
||||
<h4>装货地:{{item?.province}}{{item?.city}}{{item?.area}}{{item?.detailedAddress}}</h4>
|
||||
<p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="time-info">计划装货时间:{{i?.goodsResource?.[0]?.loadingTime}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div nz-col [nzSpan]="12">
|
||||
<div class="handling-info p-md">
|
||||
<div class="flex" *ngFor="let item of i?.unLoadingPlaceList;let idx = index">
|
||||
<div *ngIf="item?.type === '2'" class="loading-row">
|
||||
<div class="info">
|
||||
<h4>卸货地:{{item?.province}}{{item?.city}}{{item?.area}}{{item?.detailedAddress}}</h4>
|
||||
<p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="time-info">计划卸货时间:{{i?.goodsResource?.[0]?.unloadingTime}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nz-card> -->
|
||||
<nz-card nzTitle="基本信息" id="distannce2">
|
||||
<!-- <sv-container col="1">
|
||||
<sv label="网络货运人">
|
||||
{{i?.goodsResource?.[0]?.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?.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-container> -->
|
||||
<div nz-row>
|
||||
<div nz-col nzSpan="12">
|
||||
<sf #sf3 [schema]="schema3" [formData]="sf3data" [button]="'none'" [ui]="ui3"></sf>
|
||||
<sf #sf4 [schema]="schema4" [formData]="sf4data" [button]="'none'" [ui]="ui4">
|
||||
<ng-template sf-template="weight" let-i let-ui="ui">
|
||||
<nz-input-group [nzAddOnAfter]="'吨'">
|
||||
<input
|
||||
nz-input
|
||||
type="number"
|
||||
[ngModel]="i.value"
|
||||
min="0"
|
||||
step="0.01"
|
||||
(ngModelChange)="i.setValue($event)"
|
||||
placeholder="总重量,必填"
|
||||
/>
|
||||
</nz-input-group>
|
||||
</ng-template>
|
||||
<ng-template sf-template="volume" let-i let-ui="ui">
|
||||
<nz-input-group [nzAddOnAfter]="'方'">
|
||||
<input
|
||||
nz-input
|
||||
type="number"
|
||||
[ngModel]="i.value"
|
||||
min="0"
|
||||
step="0.01"
|
||||
(ngModelChange)="i.setValue($event)"
|
||||
placeholder="总体积"
|
||||
/>
|
||||
</nz-input-group>
|
||||
</ng-template>
|
||||
|
||||
<ng-template sf-template="number" let-i let-ui="ui">
|
||||
<nz-input-group [nzAddOnAfter]="'车'">
|
||||
<input
|
||||
nz-input
|
||||
type="number"
|
||||
[ngModel]="i.value"
|
||||
min="0"
|
||||
step="0.01"
|
||||
(ngModelChange)="i.setValue($event)"
|
||||
placeholder="总车次"
|
||||
/>
|
||||
</nz-input-group>
|
||||
</ng-template>
|
||||
|
||||
<ng-template sf-template="carmand" let-i let-ui="ui">
|
||||
{{i?.goodsInfoList?.[0]?.maxWeightLabel}}/{{i?.goodsInfoList?.[0]?.maxCube}}
|
||||
</ng-template>
|
||||
|
||||
<ng-template sf-template="drivers" let-i let-ui="ui">
|
||||
{{i?.driverId}}
|
||||
</ng-template>
|
||||
|
||||
<ng-template sf-template="weightModel" let-i let-ui="ui">
|
||||
{{i?.goodsInfoList?.[0]?.weight}}顿,{{i?.goodsInfoList?.[0]?.volume}}方,{{i?.goodsInfoList?.[0]?.number}}件
|
||||
</ng-template>
|
||||
|
||||
</sf>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</nz-card>
|
||||
|
||||
|
||||
<nz-card nzTitle="保险待定">
|
||||
</nz-card>
|
||||
|
||||
<nz-card nzTitle="运费信息" id="distannce3">
|
||||
<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?'是':'否'}}
|
||||
</sv>
|
||||
</sv-container>
|
||||
<sv-container col="2" class="mt-md">
|
||||
<sv label="装货凭证">
|
||||
<app-imagelist [imgList]="[i?.goodsResource]">
|
||||
</app-imagelist>
|
||||
</sv>
|
||||
<sv label="卸货凭证">
|
||||
<app-imagelist [imgList]="[i?.goodsResource]">
|
||||
</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 label="回单凭证">
|
||||
{{i?.goodsResource?.receiptAddress}}
|
||||
</sv>
|
||||
</sv-container>
|
||||
<sv-container col="1" class="mt-md">
|
||||
<sv label="备注">
|
||||
{{i?.goodsResource?.remarks}}
|
||||
</sv>
|
||||
</sv-container>
|
||||
</nz-card>
|
||||
|
||||
<nz-card>
|
||||
<div nz-row>
|
||||
<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> -->
|
||||
</div>
|
||||
<div nz-col [nzSpan]='12'>
|
||||
<amap-path-simplifier></amap-path-simplifier>
|
||||
</div>
|
||||
</div>
|
||||
</nz-card>
|
||||
</div>
|
||||
</nz-card>
|
||||
@ -0,0 +1,68 @@
|
||||
:host{
|
||||
.btn-size{
|
||||
font-size: 14px;
|
||||
}
|
||||
.bdr{
|
||||
border-right: 1px solid #ccc;
|
||||
}
|
||||
.bdl{
|
||||
border-left: 1px solid #ccc;
|
||||
}
|
||||
.source-info{
|
||||
p{
|
||||
margin-bottom: .5em;
|
||||
}
|
||||
}
|
||||
.freight-info-box{
|
||||
width: 95%;
|
||||
}
|
||||
.freigth-label{
|
||||
display: inline-block;
|
||||
width: 50px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
::ng-deep{
|
||||
.approval-status{
|
||||
.ant-steps{
|
||||
width: 70%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
.leftPadding {
|
||||
padding-right: 100px;
|
||||
}
|
||||
/deep/ .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;
|
||||
}
|
||||
/deep/ .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
|
||||
}
|
||||
.tip-font {
|
||||
margin-left: 16px;
|
||||
font-weight: 500;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.card-title {
|
||||
margin-bottom: 24px;
|
||||
font-weight: bold;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.align-center {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
#container {
|
||||
width: 300px;
|
||||
height: 180px;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,24 @@
|
||||
import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { OrderManagementVehicleDetailChangeComponent } from './vehicle-detail-change.component';
|
||||
|
||||
describe('OrderManagementVehicleDetailChangeComponent', () => {
|
||||
let component: OrderManagementVehicleDetailChangeComponent;
|
||||
let fixture: ComponentFixture<OrderManagementVehicleDetailChangeComponent>;
|
||||
|
||||
beforeEach(waitForAsync(() => {
|
||||
TestBed.configureTestingModule({
|
||||
declarations: [ OrderManagementVehicleDetailChangeComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
}));
|
||||
|
||||
beforeEach(() => {
|
||||
fixture = TestBed.createComponent(OrderManagementVehicleDetailChangeComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,405 @@
|
||||
import { ViewChild } from '@angular/core';
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-03 15:31:52
|
||||
* @LastEditTime: 2021-12-23 14:33:36
|
||||
* @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.ts
|
||||
*/
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { STColumn } from '@delon/abc/st';
|
||||
import { SFComponent, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
|
||||
import { _HttpClient } from '@delon/theme';
|
||||
import { AmapPoiPickerComponent, AmapService, ShipperBaseService } from '@shared';
|
||||
import { NzMessageService } from 'ng-zorro-antd/message';
|
||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||
import { OrderManagementService } from '../../services/order-management.service';
|
||||
@Component({
|
||||
selector: 'app-supply-management-vehicle-detail-change',
|
||||
templateUrl: './vehicle-detail-change.component.html',
|
||||
styleUrls: ['./vehicle-detail-change.component.less']
|
||||
})
|
||||
export class OrderManagementVehicleDetailChangeComponent implements OnInit {
|
||||
validateForm1: FormGroup;
|
||||
id = this.route.snapshot.params.id;
|
||||
@ViewChild('distannce3', { static: false })
|
||||
i: any= {unLoadingPlaceList:[]};
|
||||
logColumns: STColumn[] = [
|
||||
{ title: '款项', index: 'costName' },
|
||||
{ title: '总费用(元)', index: 'price' },
|
||||
{ title: '协议金额(元)', index: 'price' },
|
||||
{ title: '附加费(元)', index: 'surcharge' },
|
||||
{ title: '附加费率(%)', index: 'paymentMethodRate' },
|
||||
{ title: '支付时间', index: ' paymentTime' },
|
||||
{
|
||||
title: '支付状态',
|
||||
className: 'text-center',
|
||||
index: 'paymentStatus',
|
||||
type: 'badge',
|
||||
width: '120px',
|
||||
badge: {
|
||||
'1': { text: '待申请', color: 'warning' },
|
||||
'2': { text: '已支付', color: 'success' },
|
||||
'3': { text: '已拒绝', color: 'warning' },
|
||||
'4': { text: '申请中', color: 'warning' },
|
||||
},
|
||||
},
|
||||
];
|
||||
totalDistance = 0.0; //总里程
|
||||
totalTime = 0.0; //路程总时间
|
||||
startInfo: any = []; // 装货信息
|
||||
endInfo: any = []; // 卸货信息
|
||||
unloadingTime: any; // 货源单设置回显
|
||||
loadingTime: any; // 货源单设置回显
|
||||
sf3data: any; // 货源单设置回显
|
||||
sf4data: any; // 货源单设置回显
|
||||
@ViewChild('sf3', { static: false }) sf3!: SFComponent;
|
||||
schema3: SFSchema = {};
|
||||
ui3!: SFUISchema;
|
||||
|
||||
@ViewChild('sf4', { static: false }) sf4!: SFComponent;
|
||||
schema4: SFSchema = {};
|
||||
ui4!: SFUISchema;
|
||||
constructor(
|
||||
private route: ActivatedRoute,
|
||||
private msgSrv: NzMessageService,
|
||||
private service: OrderManagementService,
|
||||
private modalService: NzModalService,
|
||||
private amapService: AmapService,
|
||||
public service2: ShipperBaseService,
|
||||
fb: FormBuilder,
|
||||
) {
|
||||
this.validateForm1 = fb.group({
|
||||
loadingTime: [null, []],
|
||||
unloadingTime: [null, []],
|
||||
});
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
console.log(this.id)
|
||||
this.initSF3();
|
||||
this.initSF4();
|
||||
this.initData()
|
||||
}
|
||||
|
||||
initData() {
|
||||
this.service.request(this.service.$api_get_getWholeBillDetail, {id: this.id}).subscribe(res => {
|
||||
console.log(res)
|
||||
if (res) {
|
||||
this.i = res;
|
||||
res?.unLoadingPlaceList.forEach((element: any) => {
|
||||
if(element.type === 1 || element.type === '1') {
|
||||
const controlId = this.startInfo.length;
|
||||
this.startInfo.push({
|
||||
detailedAddress: element.detailedAddress,
|
||||
appUserName: element.appUserName,
|
||||
contractTelephone: element.contractTelephone,
|
||||
latitude: element.latitude,
|
||||
longitude: element.longitude,
|
||||
province: element.province,
|
||||
city: element.city,
|
||||
area: element.area,
|
||||
type: element.type,
|
||||
id: element.id
|
||||
})
|
||||
this.validateForm1.addControl(`loadAddress${controlId}`, new FormControl(null, Validators.required));
|
||||
this.validateForm1.addControl(`loadName${controlId}`, new FormControl(null, Validators.required));
|
||||
this.validateForm1.addControl(`loadPhone${controlId}`, new FormControl(null, Validators.required));
|
||||
} else if(element.type === 2 || element.type === '2') {
|
||||
const controlId = this.endInfo.length;
|
||||
this.endInfo.push({
|
||||
detailedAddress: element?.detailedAddress,
|
||||
appUserName: element?.appUserName,
|
||||
contractTelephone: element?.contractTelephone,
|
||||
latitude: element.latitude,
|
||||
longitude: element.longitude,
|
||||
province: element.province,
|
||||
city: element.city,
|
||||
area: element.area,
|
||||
type: element.type,
|
||||
id: element.id
|
||||
})
|
||||
this.validateForm1.addControl(`unloadAddress${controlId}`, new FormControl(null, Validators.required));
|
||||
this.validateForm1.addControl(`unloadName${controlId}`, new FormControl(null, Validators.required));
|
||||
this.validateForm1.addControl(`unloadPhone${controlId}`, new FormControl(null, Validators.required));
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
hand() {
|
||||
this.modalService.create({
|
||||
nzTitle: '',
|
||||
// nzContent: OrderManagementGaodeMapComponent,
|
||||
nzWidth: 1200
|
||||
});
|
||||
}
|
||||
|
||||
goBack() {
|
||||
window.history.go(-1);
|
||||
}
|
||||
// 取消修改
|
||||
cancelChange() {
|
||||
window.history.go(-1);
|
||||
}
|
||||
// 保存修改
|
||||
save() {
|
||||
if(typeof(this.validateForm1.value.unloadingTime) !== 'string' ) {
|
||||
var c = new Date(this.validateForm1.value.unloadingTime);
|
||||
this.validateForm1.value.unloadingTime = c.getFullYear() + '-' + this.addPreZero(c.getMonth() + 1) + '-' + this.addPreZero(c.getDate()) + ' ' + this.addPreZero(c.getHours()) + ':' + this.addPreZero(c.getMinutes()) + ':' + this.addPreZero(c.getSeconds())
|
||||
}
|
||||
if(typeof(this.validateForm1.value.loadingTime) !== 'string' ) {
|
||||
var c = new Date(this.validateForm1.value.loadingTime);
|
||||
this.validateForm1.value.loadingTime = c.getFullYear() + '-' + this.addPreZero(c.getMonth() + 1) + '-' + this.addPreZero(c.getDate()) + ' ' + this.addPreZero(c.getHours()) + ':' + this.addPreZero(c.getMinutes()) + ':' + this.addPreZero(c.getSeconds())
|
||||
}
|
||||
}
|
||||
addPreZero(num: any){
|
||||
if(num<10){
|
||||
return '0'+num;
|
||||
} else {
|
||||
return num;
|
||||
}
|
||||
}
|
||||
// -------------------装卸货信息处理
|
||||
addStartInfo(event: any) {
|
||||
if (this.startInfo.length < 5) {
|
||||
const controlId = this.startInfo.length;
|
||||
this.startInfo.push({
|
||||
detailedAddress: '',
|
||||
appUserName: '',
|
||||
contractTelephone: '',
|
||||
latitude: '',
|
||||
longitude: '',
|
||||
province: '',
|
||||
city: '',
|
||||
area: '',
|
||||
type: 1
|
||||
});
|
||||
this.validateForm1.addControl(`loadAddress${controlId}`, new FormControl(null, Validators.required));
|
||||
this.validateForm1.addControl(`loadName${controlId}`, new FormControl(null, Validators.required));
|
||||
this.validateForm1.addControl(`loadPhone${controlId}`, new FormControl(null, Validators.required));
|
||||
}
|
||||
}
|
||||
subStartInfo(event: any, index: number, id?:any) {
|
||||
console.log(event, index, id)
|
||||
if(id) {
|
||||
this.service.request(this.service.$api_delete_Wholedeletebatch, [id]).subscribe((res) => {
|
||||
console.log(res)
|
||||
})
|
||||
}
|
||||
this.startInfo.splice(index, 1);
|
||||
this.validateForm1.removeControl(`loadAddress${index}`);
|
||||
this.validateForm1.removeControl(`loadName${index}`);
|
||||
this.validateForm1.removeControl(`loadPhone${index}`);
|
||||
}
|
||||
subEndInfo(event: any, index: number, id?:any) {
|
||||
if(id) {
|
||||
this.service.request(this.service.$api_delete_Wholedeletebatch, [id]).subscribe((res) => {
|
||||
console.log(res)
|
||||
})
|
||||
}
|
||||
console.log(event, index, id)
|
||||
this.endInfo.splice(index, 1);
|
||||
this.validateForm1.removeControl(`unloadAddress${index}`);
|
||||
this.validateForm1.removeControl(`unloadName${index}`);
|
||||
this.validateForm1.removeControl(`unloadPhone${index}`);
|
||||
}
|
||||
addEndInfo(event: any) {
|
||||
if (this.addEndInfo.length < 5) {
|
||||
const controlId = this.endInfo.length;
|
||||
this.endInfo.push({
|
||||
detailedAddress: '',
|
||||
appUserName: '',
|
||||
contractTelephone: '',
|
||||
latitude: '',
|
||||
longitude: '',
|
||||
province: '',
|
||||
city: '',
|
||||
area: '',
|
||||
type: 2
|
||||
});
|
||||
this.validateForm1.addControl(`unloadAddress${controlId}`, new FormControl(null, Validators.required));
|
||||
this.validateForm1.addControl(`unloadName${controlId}`, new FormControl(null, Validators.required));
|
||||
this.validateForm1.addControl(`unloadPhone${controlId}`, new FormControl(null, Validators.required));
|
||||
}
|
||||
}
|
||||
// 打开地图
|
||||
openMap(type: string, index: number) {
|
||||
const modalRef = this.modalService.create({
|
||||
nzTitle: '',
|
||||
nzContent: AmapPoiPickerComponent,
|
||||
nzWidth: 900,
|
||||
nzOnOk: item => {
|
||||
const poi = item.poi;
|
||||
const locList = poi.pois;
|
||||
switch (type) {
|
||||
case 'start':
|
||||
this.startInfo[index].detailedAddress = poi.formattedAddress;
|
||||
this.startInfo[index].longitude = locList[0];
|
||||
this.startInfo[index].latitude = locList[1];
|
||||
this.startInfo[index].province = poi.addressComponent.province;
|
||||
this.startInfo[index].city = poi.addressComponent.city;
|
||||
this.startInfo[index].area = poi.addressComponent.district;
|
||||
this.startInfo[index].address = poi.formattedAddress;
|
||||
break;
|
||||
case 'end':
|
||||
this.endInfo[index].detailedAddress = poi.formattedAddress;
|
||||
this.endInfo[index].longitude = locList[0];
|
||||
this.endInfo[index].latitude = locList[1];
|
||||
this.endInfo[index].province = poi.addressComponent.province;
|
||||
this.endInfo[index].city = poi.addressComponent.city;
|
||||
this.endInfo[index].area = poi.addressComponent.district;
|
||||
this.endInfo[index].address = poi.formattedAddress;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (this.startInfo[0]?.area && this.endInfo[0]?.area) {
|
||||
this.amapService.drivingCompute([...this.startInfo], [...this.endInfo]).subscribe((res: any) => {
|
||||
this.totalDistance = res.distance;
|
||||
this.totalTime = res.time;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
initSF3() {
|
||||
this.schema3 = {
|
||||
properties: {
|
||||
enterpriseInfoId: {
|
||||
title: '网络货运人',
|
||||
type: 'string',
|
||||
ui: {
|
||||
placeholder: '请选择',
|
||||
widget: 'select',
|
||||
asyncData: () => this.service2.getNetworkFreightForwarder(),
|
||||
visibleIf: {
|
||||
_$expand: (value: boolean) => value,
|
||||
},
|
||||
}
|
||||
},
|
||||
goodsName: {
|
||||
type: 'string',
|
||||
title: '货物名称',
|
||||
ui: {
|
||||
widget: 'dict-select',
|
||||
params: { dictKey: 'GoodsName' },
|
||||
placeholder: '请选择'
|
||||
}
|
||||
},
|
||||
qita: {
|
||||
type: 'string',
|
||||
title: '',
|
||||
ui: {
|
||||
visibleIf: {
|
||||
goodsName: value => value === '3'
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
required: ['goodsName', ]
|
||||
};
|
||||
this.ui3 = {
|
||||
'*': {
|
||||
spanLabelFixed: 90,
|
||||
grid: { span: 12 }
|
||||
},
|
||||
$enterpriseInfoId: {
|
||||
grid: { span: 16, }
|
||||
},
|
||||
$goodsName: {
|
||||
grid: { span: 12 }
|
||||
},
|
||||
$qita: {
|
||||
grid: { span: 12 }
|
||||
}
|
||||
};
|
||||
}
|
||||
initSF4() {
|
||||
this.schema4 = {
|
||||
properties: {
|
||||
weight: {
|
||||
type: 'string',
|
||||
title: '货物数量',
|
||||
ui: {
|
||||
widget: 'custom',
|
||||
placeholder: '请输入',
|
||||
errors: { required: '必填项' }
|
||||
}
|
||||
},
|
||||
volume: {
|
||||
type: 'string',
|
||||
title: '',
|
||||
ui: {
|
||||
widget: 'custom',
|
||||
placeholder: '请输入'
|
||||
}
|
||||
},
|
||||
number: {
|
||||
type: 'string',
|
||||
title: '',
|
||||
ui: {
|
||||
widget: 'custom',
|
||||
placeholder: '请输入'
|
||||
}
|
||||
},
|
||||
carmand: {
|
||||
type: 'string',
|
||||
title: '用车需求',
|
||||
ui: {
|
||||
widget: 'custom',
|
||||
placeholder: '请输入'
|
||||
}
|
||||
},
|
||||
drivers: {
|
||||
type: 'string',
|
||||
title: '承运司机',
|
||||
ui: {
|
||||
widget: 'custom',
|
||||
placeholder: '请输入'
|
||||
}
|
||||
},
|
||||
weightModel: {
|
||||
type: 'string',
|
||||
title: '车型车长承重',
|
||||
ui: {
|
||||
widget: 'custom',
|
||||
placeholder: '请输入'
|
||||
}
|
||||
},
|
||||
|
||||
},
|
||||
required: ['weight',]
|
||||
};
|
||||
this.ui4 = {
|
||||
'*': {
|
||||
spanLabelFixed: 90,
|
||||
grid: { span: 24 }
|
||||
},
|
||||
$weight: {
|
||||
grid: { span: 8 }
|
||||
},
|
||||
$volume: {
|
||||
grid: { span: 8 }
|
||||
},
|
||||
$number: {
|
||||
grid: { span: 8 }
|
||||
},
|
||||
$carmand: {
|
||||
grid: { span: 24 }
|
||||
},
|
||||
$weightModel: {
|
||||
grid: { span: 12 }
|
||||
},
|
||||
$drivers: {
|
||||
grid: { span: 12 }
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-03 15:31:52
|
||||
* @LastEditTime: 2021-12-21 17:13:11
|
||||
* @LastEditTime: 2021-12-23 13:39:32
|
||||
* @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
|
||||
@ -18,28 +18,63 @@
|
||||
</div>
|
||||
<div nz-row style="display: flex; justify-content: end;">
|
||||
<div nz-col nzSpan="10">
|
||||
<button nz-button >取消货源</button>
|
||||
<button nz-button
|
||||
>重新指派</button>
|
||||
<button nz-button >修改货源</button>
|
||||
<button nz-button >确认发车</button>
|
||||
<button nz-button >取消订单</button>
|
||||
<button nz-button (click)="changeOrder()">修改订单</button>
|
||||
<button nz-button nzType="primary" nzGhost >再下一单</button>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div style="display: flex; justify-content: space-between;">
|
||||
<div sv-container>
|
||||
<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}} 18100000000 </sv>
|
||||
<sv label="调度员">{{i?.goodsResource[0]?.dispatchName}} </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}} 18100000000 </sv>
|
||||
<sv label="调度员">{{i?.goodsResource?.[0]?.dispatchName}} </sv>
|
||||
</div>
|
||||
<div>
|
||||
<div>状态</div>
|
||||
<div style="font-size: 22px;font-weight: 700;">{{i?.billStatusLabel}}</div>
|
||||
</div>
|
||||
</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>
|
||||
@ -57,59 +92,59 @@
|
||||
</div>
|
||||
</nz-card>
|
||||
|
||||
<nz-card nzTitle="装卸货信息(一装一卸)">
|
||||
<nz-card nzTitle="装卸货信息(一装一卸)" id="distannce1" >
|
||||
<div class="mt-md">
|
||||
<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;let idx = index">
|
||||
<!-- <div class="flex" *ngFor="let item of i?.unLoadingPlaceList;let idx = index">
|
||||
<div *ngIf="item?.type === '1'" class="loading-row">
|
||||
<div class="info">
|
||||
<h4>装货地:{{item?.province}}{{item?.city}}{{item?.area}}{{item?.detailedAddress}}</h4>
|
||||
<p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="time-info">计划装货时间:{{i?.goodsResource[0]?.loadingTime}}</p>
|
||||
</div> -->
|
||||
<p class="time-info">计划装货时间:{{i?.goodsResource?.[0]?.loadingTime}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div nz-col [nzSpan]="12">
|
||||
<div class="handling-info p-md">
|
||||
<div class="flex" *ngFor="let item of i?.unLoadingPlaceList;let idx = index">
|
||||
<!-- <div class="flex" *ngFor="let item of i?.unLoadingPlaceList;let idx = index">
|
||||
<div *ngIf="item?.type === '2'" class="loading-row">
|
||||
<div class="info">
|
||||
<h4>卸货地:{{item?.province}}{{item?.city}}{{item?.area}}{{item?.detailedAddress}}</h4>
|
||||
<p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="time-info">计划卸货时间:{{i?.goodsResource[0]?.unloadingTime}}</p>
|
||||
</div> -->
|
||||
<p class="time-info">计划卸货时间:{{i?.goodsResource?.[0]?.unloadingTime}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nz-card>
|
||||
<nz-card nzTitle="基本信息">
|
||||
<nz-card nzTitle="基本信息" id="distannce2">
|
||||
<sv-container col="1">
|
||||
<sv label="网络货运人">
|
||||
{{i?.goodsResource[0]?.enterpriseInfoName}}
|
||||
{{i?.goodsResource?.[0]?.enterpriseInfoName}}
|
||||
</sv>
|
||||
<sv label="货物名称">
|
||||
{{i?.goodsInfoList[0]?.goodsName}}
|
||||
{{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}}件
|
||||
{{i?.goodsInfoList?.[0]?.weight}}顿,{{i?.goodsInfoList?.[0]?.volume}}方,{{i?.goodsInfoList?.[0]?.number}}件
|
||||
</sv>
|
||||
<sv label="用车需求">
|
||||
{{i?.goodsInfoList[0]?.maxWeightLabel}}/{{i?.goodsInfoList[0]?.maxCube}}
|
||||
{{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}}件
|
||||
{{i?.goodsInfoList?.[0]?.weight}}顿,{{i?.goodsInfoList?.[0]?.volume}}方,{{i?.goodsInfoList?.[0]?.number}}件
|
||||
</sv>
|
||||
</sv-container>
|
||||
|
||||
@ -118,7 +153,7 @@
|
||||
<nz-card nzTitle="保险待定">
|
||||
</nz-card>
|
||||
|
||||
<nz-card nzTitle="运费信息">
|
||||
<nz-card nzTitle="运费信息" id="distannce3">
|
||||
<st #st [data]="i?.billExpenseDetails" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
|
||||
|
||||
</st>
|
||||
@ -126,7 +161,7 @@
|
||||
<div>收款人:</div>
|
||||
</nz-card>
|
||||
|
||||
<nz-card nzTitle="附件信息">
|
||||
<nz-card nzTitle="附件信息" id="distannce4">
|
||||
<sv-container>
|
||||
<sv label="协议附件">
|
||||
{{i?.supplementaryInformationVO?.stateReceipt?'是':'否'}}
|
||||
@ -134,11 +169,11 @@
|
||||
</sv-container>
|
||||
<sv-container col="2" class="mt-md">
|
||||
<sv label="装货凭证">
|
||||
<app-imagelist [imgList]="i?.goodsResource">
|
||||
<app-imagelist [imgList]="[i?.goodsResource]">
|
||||
</app-imagelist>
|
||||
</sv>
|
||||
<sv label="卸货凭证">
|
||||
<app-imagelist [imgList]="i?.goodsResource">
|
||||
<app-imagelist [imgList]="[i?.goodsResource]">
|
||||
</app-imagelist>
|
||||
</sv>
|
||||
</sv-container>
|
||||
@ -173,11 +208,11 @@
|
||||
|
||||
<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>
|
||||
|
||||
@ -33,4 +33,13 @@
|
||||
.leftPadding {
|
||||
padding-right: 100px;
|
||||
}
|
||||
/deep/ .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;
|
||||
}
|
||||
/deep/ .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
|
||||
}
|
||||
}
|
||||
@ -1,13 +1,14 @@
|
||||
import { ViewChild } from '@angular/core';
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-03 15:31:52
|
||||
* @LastEditTime: 2021-12-21 16:50:27
|
||||
* @LastEditTime: 2021-12-23 13:47:57
|
||||
* @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.ts
|
||||
*/
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { STColumn } from '@delon/abc/st';
|
||||
import { _HttpClient } from '@delon/theme';
|
||||
import { NzMessageService } from 'ng-zorro-antd/message';
|
||||
@ -21,7 +22,8 @@ import { OrderManagementService } from '../../services/order-management.service'
|
||||
export class OrderManagementVehicleDetailComponent implements OnInit {
|
||||
|
||||
id = this.route.snapshot.params.id;
|
||||
i: any;
|
||||
@ViewChild('distannce3', { static: false })
|
||||
i: any= {unLoadingPlaceList:[]};
|
||||
logColumns: STColumn[] = [
|
||||
{ title: '款项', index: 'costName' },
|
||||
{ title: '总费用(元)', index: 'price' },
|
||||
@ -48,7 +50,8 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
|
||||
private route: ActivatedRoute,
|
||||
private msgSrv: NzMessageService,
|
||||
private service: OrderManagementService,
|
||||
private modalService: NzModalService
|
||||
private modalService: NzModalService,
|
||||
private router: Router
|
||||
) {
|
||||
|
||||
}
|
||||
@ -78,5 +81,9 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
|
||||
goBack() {
|
||||
window.history.go(-1);
|
||||
}
|
||||
|
||||
// 修改订单
|
||||
changeOrder() {
|
||||
console.log(this.id)
|
||||
this.router.navigate(['order-management/vehicle-detailChange', this.id])
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-03 11:10:14
|
||||
* @LastEditTime: 2021-12-22 19:48:42
|
||||
* @LastEditTime: 2021-12-23 11:28:00
|
||||
* @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\supply-management\components\vehicle\vehicle.component.html
|
||||
@ -60,7 +60,7 @@
|
||||
|
||||
>
|
||||
<ng-template st-row="billCode" let-item let-index="index">
|
||||
<a [routerLink]="'/order-management/vehicle-detail/'+item.id">{{item.wayBillCode}}</a>
|
||||
<a [routerLink]="'/order-management/vehicle-detail/'+item.id">{{item.billCode}}</a>
|
||||
<div>
|
||||
<span>{{item?.billStatusLabel}}</span>
|
||||
</div>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-03 15:31:52
|
||||
* @LastEditTime: 2021-12-16 10:22:08
|
||||
* @LastEditTime: 2021-12-23 13:41:54
|
||||
* @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\order-management-routing.module.ts
|
||||
@ -17,12 +17,14 @@ import { OrderManagementComplaintComponent } from './components/complaint/compla
|
||||
import { OrderManagementDriverManageComponent } from './components/driver-manage/driver-manage.component';
|
||||
import { OrderManagementRiskDetailComponent } from './components/risk-detail/risk-detail.component';
|
||||
import { OrderManagementRiskComponent } from './components/risk/risk.component';
|
||||
import { OrderManagementVehicleDetailChangeComponent } from './components/vehicle-detail-change/vehicle-detail-change.component';
|
||||
import { OrderManagementVehicleDetailComponent } from './components/vehicle-detail/vehicle-detail.component';
|
||||
import { OrderManagementVehicleComponent } from './components/vehicle/vehicle.component';
|
||||
|
||||
const routes: Routes = [
|
||||
{ path: 'vehicle', component: OrderManagementVehicleComponent },
|
||||
{ path: 'vehicle-detail/:id', component: OrderManagementVehicleDetailComponent },
|
||||
{ path: 'vehicle-detailChange/:id', component: OrderManagementVehicleDetailChangeComponent },
|
||||
{ path: 'bulk', component: OrderManagementBulkComponent },
|
||||
{ path: 'bulk-detail/:id', component: OrderManagementBulkeDetailComponent },
|
||||
{ path: 'driver-manage', component: OrderManagementDriverManageComponent },
|
||||
|
||||
@ -17,6 +17,7 @@ import { OrderManagementComplaintComponent } from './components/complaint/compla
|
||||
import { OrderManagementDriverManageComponent } from './components/driver-manage/driver-manage.component';
|
||||
import { OrderManagementRiskDetailComponent } from './components/risk-detail/risk-detail.component';
|
||||
import { OrderManagementRiskComponent } from './components/risk/risk.component';
|
||||
import { OrderManagementVehicleDetailChangeComponent } from './components/vehicle-detail-change/vehicle-detail-change.component';
|
||||
import { OrderManagementVehicleDetailComponent } from './components/vehicle-detail/vehicle-detail.component';
|
||||
|
||||
import { OrderManagementVehicleComponent } from './components/vehicle/vehicle.component';
|
||||
@ -51,7 +52,8 @@ const COMPONENTS: Type<void>[] = [
|
||||
VehicleSureDepartComponent,
|
||||
VehicleSureArriveComponent,
|
||||
OrderManagementRiskDetailComponent,
|
||||
OneCarOrderCancelComponent
|
||||
OneCarOrderCancelComponent,
|
||||
OrderManagementVehicleDetailChangeComponent
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-12-03 15:31:52
|
||||
* @LastEditTime: 2021-12-22 20:06:45
|
||||
* @LastEditTime: 2021-12-23 13:55:10
|
||||
* @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\services\order-management.service.ts
|
||||
@ -87,6 +87,8 @@ export class OrderManagementService extends BaseService {
|
||||
$api_getWholeSurchargeDetail = `/api/sdc/billFreightChangeApplication/getWholeSurchargeDetail`;
|
||||
//运费变更申请-大宗
|
||||
$api_change_bulk = `/api/sdc/billFreightChangeApplication/insertFreightChangeBulk`;
|
||||
// 删除装卸货信息
|
||||
$api_delete_Wholedeletebatch = `/api/sdc/unLoadingPlace/deletebatch`;
|
||||
constructor(public injector: Injector) {
|
||||
super(injector)
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Author: your name
|
||||
* @Date: 2021-11-29 10:20:33
|
||||
* @LastEditTime: 2021-12-03 15:23:42
|
||||
* @LastEditTime: 2021-12-23 09:55:27
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
* @FilePath: \tms-obc-web\src\app\shared\shared-zorro.module.ts
|
||||
@ -42,6 +42,7 @@ import { NzTimelineModule } from 'ng-zorro-antd/timeline';
|
||||
import { NzSkeletonModule } from 'ng-zorro-antd/skeleton';
|
||||
import { NzUploadModule } from 'ng-zorro-antd/upload';
|
||||
import { NzCascaderModule } from 'ng-zorro-antd/cascader';
|
||||
import { NzAnchorModule } from 'ng-zorro-antd/anchor';
|
||||
export const SHARED_ZORRO_MODULES = [
|
||||
NzButtonModule,
|
||||
NzGridModule,
|
||||
@ -77,5 +78,6 @@ export const SHARED_ZORRO_MODULES = [
|
||||
NzTimelineModule,
|
||||
NzSkeletonModule,
|
||||
NzUploadModule,
|
||||
NzCascaderModule
|
||||
NzCascaderModule,
|
||||
NzAnchorModule
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user