360 lines
14 KiB
HTML
360 lines
14 KiB
HTML
<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>
|
||
</page-header-wrapper>
|
||
<nz-card>
|
||
<div class="card-title">货源单设置</div>
|
||
<div nz-row>
|
||
<div nz-col nzSpan="12">
|
||
<sf #sf1 [schema]="schema1" [button]="'none'" [ui]="ui1" [formData]="sf1data">
|
||
<ng-template sf-template="enterpriseInfoName" let-i let-ui="ui"> {{ i.value }} </ng-template>
|
||
</sf>
|
||
</div>
|
||
</div>
|
||
</nz-card>
|
||
|
||
<nz-card>
|
||
<div class="card-title"
|
||
>装卸货信息<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]="10">
|
||
<div *ngFor="let data1 of startInfo; let idx = index">
|
||
<nz-form-item>
|
||
<nz-form-label [nzSpan]="3" nzRequired>装货地</nz-form-label>
|
||
<nz-form-control [nzErrorTip]="'请输入装货地'">
|
||
<div class="align-center">
|
||
<nz-input-group [nzSuffix]="endInconTemp1">
|
||
<input
|
||
nz-input
|
||
[(ngModel)]="data1.detailedAddress"
|
||
(click)="openMap('start', idx)"
|
||
formControlName="loadAddress{{ idx }}"
|
||
placeholder="请输入装货地"
|
||
/>
|
||
</nz-input-group>
|
||
<span style="padding: 0 10px"
|
||
><i nz-icon nzType="minus-circle" nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i
|
||
></span>
|
||
</div>
|
||
</nz-form-control>
|
||
</nz-form-item>
|
||
<nz-form-item>
|
||
<nz-form-label [nzSpan]="3" nzRequired>联系人</nz-form-label>
|
||
<div style="display: flex; width: 80.7%">
|
||
<nz-form-control [nzErrorTip]="'请输入联系人姓名'">
|
||
<input
|
||
nz-input
|
||
[(ngModel)]="data1.appUserName"
|
||
formControlName="loadName{{ idx }}"
|
||
name="loadName{{ idx }}"
|
||
maxlength="30"
|
||
placeholder="请输入联系人姓名"
|
||
/>
|
||
</nz-form-control>
|
||
<nz-form-control [nzErrorTip]="'请输入联系人电话'">
|
||
<input
|
||
style="margin-left: 12px"
|
||
nz-input
|
||
[(ngModel)]="data1.contractTelephone"
|
||
maxlength="11"
|
||
formControlName="loadPhone{{ idx }}"
|
||
name="loadPhone{{ idx }}"
|
||
placeholder="请输入联系人电话"
|
||
/>
|
||
</nz-form-control>
|
||
</div>
|
||
</nz-form-item>
|
||
</div>
|
||
<div nz-row>
|
||
<div nz-col [nzSpan]="4"></div>
|
||
<div style="display: flex; justify-content: center">
|
||
<button nz-button nzType="primary" (click)="addStartInfo()">
|
||
<i nz-icon nzType="plus"></i>
|
||
添加装货地
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div nz-col [nzSpan]="4">
|
||
<div style="display: flex; justify-content: center">
|
||
<span class="swap-icon" (click)="swapAddress()"><i nz-icon nzType="swap"
|
||
nzTheme="outline"></i></span>
|
||
</div>
|
||
</div>
|
||
<div nz-col [nzSpan]="10">
|
||
<div *ngFor="let data2 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)]="data2.detailedAddress"
|
||
(click)="openMap('end', idx)"
|
||
formControlName="unloadAddress{{ idx }}"
|
||
placeholder="请输入卸货地"
|
||
name="unloadAddress{{ idx }}"
|
||
/>
|
||
</nz-input-group>
|
||
<span style="padding: 0 10px"
|
||
><i nz-icon nzType="minus-circle" nzTheme="outline" style="color: #d9001b" (click)="subEndInfo($event, idx)"></i
|
||
></span>
|
||
</div>
|
||
</nz-form-control>
|
||
</nz-form-item>
|
||
<nz-form-item>
|
||
<nz-form-label [nzSpan]="3" nzRequired>联系人</nz-form-label>
|
||
<div style="display: flex; width: 80.7%">
|
||
<nz-form-control [nzErrorTip]="'请输入联系人姓名'">
|
||
<input
|
||
nz-input
|
||
[(ngModel)]="data2.appUserName"
|
||
maxlength="30"
|
||
formControlName="unloadName{{ idx }}"
|
||
name="unloadAddress{{ idx }}"
|
||
placeholder="请输入联系人姓名"
|
||
/>
|
||
</nz-form-control>
|
||
<nz-form-control [nzErrorTip]="'请输入联系人电话'">
|
||
<input
|
||
style="margin-left: 12px"
|
||
nz-input
|
||
[(ngModel)]="data2.contractTelephone"
|
||
formControlName="unloadPhone{{ idx }}"
|
||
name="unloadAddress{{ idx }}"
|
||
maxlength="11"
|
||
placeholder="请输入联系人电话"
|
||
/>
|
||
</nz-form-control>
|
||
</div>
|
||
</nz-form-item>
|
||
</div>
|
||
<div nz-row>
|
||
<div nz-col [nzSpan]="4"></div>
|
||
<div style="display: flex; justify-content: center">
|
||
<button nz-button nzType="primary" (click)="addEndInfo()">
|
||
<i nz-icon nzType="plus"></i>
|
||
添加卸货地
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div nz-row [nzGutter]="24" style="margin-top: 24px">
|
||
<div nz-col [nzSpan]="10">
|
||
<nz-form-item>
|
||
<nz-form-label [nzSpan]="3" nzRequired>装货时间</nz-form-label>
|
||
<nz-form-control [nzErrorTip]="'请输入装货时间'">
|
||
<nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" formControlName="loadingTime" name="loadingTime"></nz-date-picker>
|
||
</nz-form-control>
|
||
</nz-form-item>
|
||
</div>
|
||
<div nz-col [nzSpan]="4"></div>
|
||
<div nz-col [nzSpan]="10">
|
||
<nz-form-item>
|
||
<nz-form-label [nzSpan]="3" nzRequired>卸货时间</nz-form-label>
|
||
<nz-form-control [nzErrorTip]="'请输入卸货时间'">
|
||
<nz-date-picker nzShowTime nzFormat="yyyy-MM-dd HH:mm:ss" formControlName="unloadingTime" name="unloadingTime"></nz-date-picker>
|
||
</nz-form-control>
|
||
</nz-form-item>
|
||
</div>
|
||
</div>
|
||
<ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template>
|
||
</form>
|
||
</nz-card>
|
||
|
||
<nz-card>
|
||
<div class="card-title">货物信息</div>
|
||
<div nz-row>
|
||
<div nz-col nzSpan="24">
|
||
<sf #sf3 [schema]="schema3" [button]="'none'" [ui]="ui3" [formData]="sf3data"></sf>
|
||
<sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data">
|
||
<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>
|
||
</sf>
|
||
</div>
|
||
</div>
|
||
</nz-card>
|
||
<nz-card>
|
||
<div class="card-title">服务信息</div>
|
||
<div nz-row>
|
||
<div nz-col nzSpan="16">
|
||
<sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data">
|
||
<ng-template sf-template="freeInsurance" let-i let-ui="ui">
|
||
<nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
|
||
</ng-template>
|
||
<ng-template #template1>推荐投保,填写货值自动估保费,司机接单后不可退保。详见<a target="_blank" [queryParams]="{ type: 10 }" [routerLink]="['/agreement']">《投保告知》</a></ng-template>
|
||
<ng-template sf-template="goodsValue" let-i let-ui="ui">
|
||
<div class="align-center">
|
||
<nz-input-number
|
||
[ngModel]="i.value"
|
||
[nzMin]="50000"
|
||
[nzMax]="3000000"
|
||
[nzStep]="0.01"
|
||
(ngModelChange)="i.setValue($event);goodsValuesChange($event)"
|
||
nzPlaceHolder="请输入50000-3000000之间数值"
|
||
></nz-input-number>
|
||
</div>
|
||
</ng-template>
|
||
<ng-template sf-template="insurancePremium" let-i let-ui="ui">
|
||
<div class="align-center">
|
||
<input nz-input placeholder="保价费金额" [ngModel]="i.value" [disabled]="true" />
|
||
<span style="padding: 0 12px" nz-tooltip [nzTooltipTitle]="template2" nzTooltipPlacement="bottom"
|
||
><i nz-icon nzType="exclamation-circle" nzTheme="outline" style="color: #1890ff"></i
|
||
></span>
|
||
<ng-template #template2>
|
||
<p>注意事项:</p>
|
||
<p>①请仔细阅读《投保告知》</p>
|
||
<p>②港澳台、西藏不在投保范围内,不予承保</p>
|
||
<p>③保价费最低收费2元,请按真实货值填写,录入的所有信息必须确保真实,不如实录入的内容,不承担对应赔偿责任。</p>
|
||
</ng-template>
|
||
</div>
|
||
</ng-template>
|
||
</sf>
|
||
</div>
|
||
</div>
|
||
</nz-card>
|
||
<nz-card>
|
||
<div class="card-title">补充信息</div>
|
||
<div nz-row>
|
||
<div nz-col nzSpan="12">
|
||
<sf #sf6 [schema]="schema6" [button]="'none'" [ui]="ui6" [formData]="sf6data">
|
||
<!-- <ng-template sf-template="receiptAddressId" let-i let-ui="ui">
|
||
<input
|
||
nz-input
|
||
[ngModel]="i.value"
|
||
(ngModelChange)="i.setValue($event)"
|
||
placeholder="请点击选择收回单地址"
|
||
(click)="backBillChange()"
|
||
/>
|
||
</ng-template> -->
|
||
</sf>
|
||
</div>
|
||
</div>
|
||
</nz-card>
|
||
|
||
<nz-card>
|
||
<div class="card-title">运费信息</div>
|
||
<div nz-row>
|
||
<div nz-col nzSpan="12">
|
||
<sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data">
|
||
<ng-template sf-template="prePay" let-i let-ui="ui">
|
||
<nz-input-number
|
||
[ngModel]="i.value"
|
||
[nzMin]="0"
|
||
[nzMax]="99999"
|
||
[nzStep]="0.01"
|
||
[nzPrecision]="2"
|
||
(ngModelChange)="i.setValue($event); payChange()"
|
||
[nzFormatter]="formatterRmb"
|
||
[nzParser]="parserRmb"
|
||
>
|
||
</nz-input-number>
|
||
</ng-template>
|
||
<ng-template sf-template="toPay" let-i let-ui="ui">
|
||
<nz-input-number
|
||
[ngModel]="i.value"
|
||
[nzMin]="0"
|
||
[nzMax]="99999"
|
||
[nzStep]="0.01"
|
||
[nzPrecision]="2"
|
||
(ngModelChange)="i.setValue($event); payChange()"
|
||
[nzFormatter]="formatterRmb"
|
||
[nzParser]="parserRmb"
|
||
>
|
||
</nz-input-number>
|
||
</ng-template>
|
||
<ng-template sf-template="receiptPay" let-i let-ui="ui">
|
||
<nz-input-number
|
||
[ngModel]="i.value"
|
||
[nzMin]="0"
|
||
[nzMax]="99999"
|
||
[nzStep]="0.01"
|
||
[nzPrecision]="2"
|
||
(ngModelChange)="i.setValue($event); payChange()"
|
||
[nzFormatter]="formatterRmb"
|
||
[nzParser]="parserRmb"
|
||
>
|
||
</nz-input-number>
|
||
</ng-template>
|
||
<ng-template sf-template="subtotal" let-i let-ui="ui">{{ i.value | currency }}</ng-template>
|
||
<ng-template sf-template="appendFee" let-i let-ui="ui"
|
||
>{{ i.value | currency }}(费率:{{ currentRate | number: '0.2-4' }}%)</ng-template
|
||
>
|
||
<ng-template sf-template="total" let-i let-ui="ui">{{ i.value | currency }}</ng-template>
|
||
<ng-template sf-template="paymentDays" let-i let-ui="ui">
|
||
<div nz-row>
|
||
<div class="align-center">
|
||
<div nz-col nzSpan="16">
|
||
<nz-input-number
|
||
[ngModel]="i.value"
|
||
[nzMin]="1"
|
||
[nzMax]="30"
|
||
[nzStep]="1"
|
||
(ngModelChange)="i.setValue($event)"
|
||
nzPlaceHolder="请输入1-30"
|
||
[nzPrecision]="0"
|
||
[nzPrecisionMode]="'cut'"
|
||
></nz-input-number>
|
||
</div>
|
||
<div nz-col nzSpan="8">
|
||
<span> 天内支付运费</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</ng-template>
|
||
</sf>
|
||
</div>
|
||
</div>
|
||
</nz-card>
|
||
<nz-card>
|
||
<div class="align-center">
|
||
<button nz-button nzType="primary" (click)="submitConfirm('assign')" acl [acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDesignate']">指派熟车</button>
|
||
<button nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('publish')" *ngIf="type === 'add'" acl [acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDriverOrder']">司机抢单</button>
|
||
</div>
|
||
</nz-card>
|