This commit is contained in:
weiyu
2022-05-07 11:10:10 +08:00
12 changed files with 1072 additions and 713 deletions

View File

@ -5,179 +5,187 @@
</button> </button>
</ng-template> </ng-template>
</page-header-wrapper> </page-header-wrapper>
<nz-card> <div class="custom-style">
<div class="card-title">货源单设置</div> <nz-card>
<sf #sf1 [schema]="schema1" [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf> <div class="card-title">货源单设置</div>
</nz-card> <sf #sf1 [schema]="schema1" [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf>
</nz-card>
<nz-card> <nz-card>
<div class="card-title">装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div> <div class="card-title">装卸货信息<span class="tip-font">预计公里数:<em>{{ totalDistance }}km</em>,预计行程耗时:<em>{{ totalTime }}小时</em></span>
<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 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="请输入装货地" readonly="true" />
</nz-input-group>
</div>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label nzRequired>联系人</nz-form-label>
<div style="display: flex ;width: 86%">
<nz-form-control [nzErrorTip]="'请输入联系人姓名'">
<input nz-input [(ngModel)]="data1.appUserName" formControlName="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 }}" placeholder="请输入联系人电话" />
</nz-form-control>
</div>
</nz-form-item>
</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 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="请输入卸货地" readonly="true" />
</nz-input-group>
</div>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label nzRequired>联系人</nz-form-label>
<div style="display: flex;width: 86%">
<nz-form-control [nzErrorTip]="'请输入联系人姓名'">
<input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}"
placeholder="请输入联系人姓名" />
</nz-form-control>
<nz-form-control [nzErrorTip]="'请输入联系人电话'">
<input style="margin-left: 12px" nz-input [(ngModel)]="data2.contractTelephone"
formControlName="unloadPhone{{ idx }}" maxlength="11" placeholder="请输入联系人电话" />
</nz-form-control>
</div>
</nz-form-item>
</div>
</div>
</div> </div>
<ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template>
</form>
</nz-card>
<nz-card> <form nz-form [formGroup]="validateForm1" role="form">
<div class="card-title">货物信息</div> <div nz-row [nzGutter]="24">
<div nz-row> <div nz-col [nzSpan]="10">
<div nz-col nzSpan="24"> <div *ngFor="let data1 of startInfo; let idx = index">
<sf #sf3 [schema]="schema3" class="sf3" [formData]="sf3data" [button]="'none'" [ui]="ui3"> <nz-form-item>
<ng-template class="1" sf-template="goodsTips" let-i let-ui="ui"> <nz-form-label [nzSpan]="4" nzRequired>装货地</nz-form-label>
<nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert> <nz-form-control [nzErrorTip]="'请输入装货地'">
</ng-template> <div class="align-center">
<ng-template #tpl> <nz-input-group [nzSuffix]="endInconTemp1">
<span style="font-size: 12px;"> 国家法规及行政命令禁限运货物不能托运 <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)"
<a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" />
</span> </nz-input-group>
</ng-template> </div>
</sf> </nz-form-control>
<sf #sf4 [schema]="schema4" [formData]="sf4data" [button]="'none'" [ui]="ui4"> </nz-form-item>
<ng-template sf-template="freightPrice" let-i let-ui="ui"> <nz-form-item>
<nz-input-group [nzAddOnAfter]="addOnAfterTemplate"> <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label>
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="请输入" type="number" [ngModel]="i.value" <div nz-col [nzSpan]="20">
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> <div nz-row [nzGutter]="12">
</nz-input-group> <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'">
<ng-template #addOnAfterTemplate> <input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}"
<nz-select [ngModel]="sf4.value.freightType" (ngModelChange)="sf4.setValue('/freightType', $event)"> name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" />
<nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of freightTypeOptions"> </nz-form-control>
</nz-option> <nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'">
</nz-select> <input nz-input [(ngModel)]="data1.contractTelephone" maxlength="11"
formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" />
</nz-form-control>
</div>
</div>
</nz-form-item>
</div>
</div>
<div nz-col [nzSpan]="4">
<div class="icon-wrap">
<span class="swap-icon" (click)="swapAddress()"></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="请输入卸货地" readonly="true" />
</nz-input-group>
</div>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label>
<div nz-col [nzSpan]="20">
<div nz-row [nzGutter]="12">
<nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'">
<input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}"
name="unloadAddress{{ idx }}" placeholder="请输入联系人姓名" />
</nz-form-control>
<nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'">
<input nz-input [(ngModel)]="data2.contractTelephone"
formControlName="unloadPhone{{ idx }}" name="unloadAddress{{ idx }}" maxlength="11"
placeholder="请输入联系人电话" />
</nz-form-control>
</div>
</div>
</nz-form-item>
</div>
</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" class="sf3" [formData]="sf3data" [button]="'none'" [ui]="ui3">
<ng-template class="1" sf-template="goodsTips" let-i let-ui="ui">
<nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert>
</ng-template> </ng-template>
</ng-template> <ng-template #tpl>
<ng-template sf-template="rule" let-i let-ui="ui"> <span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运
<div class="align-center"> <a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a>
<nz-select [ngModel]="i.value" (ngModelChange)="i.setValue($event)" nzPlaceHolder="运费取整规则"> </span>
<nz-option nzLabel="保留小数" nzValue="1"></nz-option> </ng-template>
<nz-option nzLabel="抹除小数" nzValue="2"></nz-option> </sf>
<nz-option nzLabel="抹除个数" nzValue="3"></nz-option> <sf #sf4 [schema]="schema4" [formData]="sf4data" [button]="'none'" [ui]="ui4">
</nz-select> <ng-template sf-template="freightPrice" let-i let-ui="ui">
<span style="padding: 0 12px" nz-tooltip [nzTooltipTitle]="template2" nzTooltipPlacement="bottom"><i nz-icon <nz-input-group [nzAddOnAfter]="addOnAfterTemplate">
nzType="exclamation-circle" nzTheme="outline" style="color: #1890ff"></i></span> <nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="请输入" type="number" [ngModel]="i.value"
<ng-template #template2> (ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number>
<p>例如 付司机运费 = 重量*单价 = 999.99</p> </nz-input-group>
<p>保留小数,即 999.99</p> <ng-template #addOnAfterTemplate>
<p>抹除小数,即 999.00</p> <nz-select [ngModel]="sf4.value.freightType" (ngModelChange)="sf4.setValue('/freightType', $event)">
<p>抹除个位,即 990.00</p> <nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of freightTypeOptions">
</nz-option>
</nz-select>
</ng-template> </ng-template>
</div> </ng-template>
</ng-template> <ng-template sf-template="rule" let-i let-ui="ui">
<ng-template sf-template="weight" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''">
<nz-input-number placeholder="总重量,必填" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1"
style="width: 100%"></nz-input-number>
</nz-input-group>
</ng-template>
<ng-template sf-template="volume" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''">
<nz-input-number placeholder="总体积" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1"
style="width: 100%"></nz-input-number>
</nz-input-group>
</ng-template>
<ng-template sf-template="number" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''">
<nz-input-number placeholder="总车次" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1"
style="width: 100%"></nz-input-number>
</nz-input-group>
</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" [formData]="sf7data" [button]="'none'" [ui]="ui7">
<ng-template sf-template="paymentDays" let-i let-ui="ui">
<div nz-row>
<div class="align-center"> <div class="align-center">
<div nz-col nzSpan="12"> <nz-select [ngModel]="i.value" (ngModelChange)="i.setValue($event)" nzPlaceHolder="运费取整规则">
<nz-input-number [(ngModel)]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" [nzMax]="30" <nz-option nzLabel="保留小数" nzValue="1"></nz-option>
[nzStep]="1"></nz-input-number> <nz-option nzLabel="抹除小数" nzValue="2"></nz-option>
</div> <nz-option nzLabel="抹除个数" nzValue="3"></nz-option>
<div nz-col nzSpan="12"> </nz-select>
<span>&nbsp;天内支付运费</span> <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>例如 付司机运费 = 重量*单价 = 999.99</p>
<p>保留小数,即 999.99</p>
<p>抹除小数,即 999.00</p>
<p>抹除个位,即 990.00</p>
</ng-template>
</div>
</ng-template>
<ng-template sf-template="weight" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''">
<nz-input-number placeholder="总重量,必填" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1"
style="width: 100%"></nz-input-number>
</nz-input-group>
</ng-template>
<ng-template sf-template="volume" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''">
<nz-input-number placeholder="总体积" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1"
style="width: 100%"></nz-input-number>
</nz-input-group>
</ng-template>
<ng-template sf-template="number" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''">
<nz-input-number placeholder="总车次" [ngModel]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1"
style="width: 100%"></nz-input-number>
</nz-input-group>
</ng-template>
</sf>
</div>
</div>
</nz-card>
<nz-card>
<div class="card-title">补充信息</div>
<div nz-row>
<div nz-col nzSpan="24">
<sf #sf7 [schema]="schema7" [formData]="sf7data" [button]="'none'" [ui]="ui7">
<ng-template sf-template="paymentDays" let-i let-ui="ui">
<div nz-row>
<div class="align-center">
<div nz-col nzSpan="14">
<nz-input-number [(ngModel)]="i.value" (ngModelChange)="i.setValue($event)" [nzMin]="1" [nzMax]="30"
[nzStep]="1"></nz-input-number>
</div>
<div nz-col nzSpan="10">
<span>&nbsp;天内支付运费</span>
</div>
</div> </div>
</div> </div>
</div> </ng-template>
</ng-template> </sf>
</sf> </div>
</div> </div>
</div> </nz-card>
</nz-card> <nz-card class="btn-wrap">
<nz-card> <div class="align-center">
<div class="align-center"> <button nz-button nzType="primary" (click)="submitConfirm('qrcode')" acl
<button nz-button nzType="primary" (click)="submitConfirm('qrcode')" acl [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER- QRCode']">生成二维码</button>
[acl-ability]="['SUPPLY-VEHICLE-PLACEORDER- QRCode']">生成二维码</button> <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('assign')" acl
<button nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('assign')" acl [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-bulkDesignate']">指派熟车</button>
[acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-bulkDesignate']">指派熟车</button> <!-- <button nz-button nzType="primary" (click)="choose()">取消</button> -->
<!-- <button nz-button nzType="primary" (click)="choose()">取消</button> --> <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('publish')" acl
<button nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('publish')" acl [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-bulkAnotherOrder']">司机抢单</button>
[acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-bulkAnotherOrder']">司机抢单</button> </div>
</div> </nz-card>
</nz-card> </div>

View File

@ -11,10 +11,10 @@
.sf3 { .sf3 {
.goods_Tips_item { .goods_Tips_item {
.goods_tips { .goods_tips {
width: calc(50% - 45px); width: calc(50% - 57px);
.ant-alert { .ant-alert {
padding: 0 0 0 2px; margin-bottom: 5px;
} }
} }
@ -79,3 +79,100 @@ input[type='number']::-webkit-outer-spin-button {
margin: 0; margin: 0;
-webkit-appearance: none; -webkit-appearance: none;
} }
.custom-style {
::ng-deep {
.ant-card {
margin-bottom: 0;
}
.ant-card-body {
padding-bottom: 0;
}
.ant-card-bordered {
border: 0 none;
}
.card-title {
display: flex;
align-items: center;
>span {
margin-left: 8px;
font-size: 14px;
em {
font-style: normal;
color: #E60012;
}
}
&::before {
content: '';
display: inline-block;
width: 2px;
height: 16px;
margin-right: 10px;
background: #E60012;
}
}
.ant-btn-dangerous {
border-radius: 4px;
color: #CF3834;
border-color: rgba(207, 56, 52, 0.5);
}
.icon-wrap {
display: flex;
justify-content: center;
height: 100%;
}
.swap-icon {
background: url('/assets/images/frame.png') no-repeat 50% 50%;
cursor: pointer;
}
.ant-input-affix-wrapper,
.ant-input,
.ant-picker,
.ant-select-selector,
.ant-input-number-input,
.ant-input-number {
border-radius: 4px ;
}
.ant-input-group-addon {
border-radius: 0 4px 4px 0;
}
.align-center {
.ant-btn {
height: 40px;
padding: 0 23px;
font-size: 16px;
border-radius: 3px;
}
}
.ant-select-arrow {
transform: scaleX(1.5) translateY(2px);
color: rgb(153,153,153);
font-size: 8px;
}
.ant-picker-suffix {
color: #333;
}
.btn-wrap {
margin-top: 20px;
padding-bottom: 20px;
}
.ant-alert {
padding: 6px 16px;
border-radius: 2px;
font-size: 14px;
}
.fc {
color: #f5222d;
}
}
}

View File

@ -203,7 +203,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
this.ui1 = { this.ui1 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 8 }
} }
}; };
} }
@ -293,9 +293,12 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
}; };
this.ui3 = { this.ui3 = {
'*': { '*': {
spanLabelFixed: 90, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 12 }
}, },
$goodsNameId: {
spanLabelFixed: 10
},
$goodsTips: { $goodsTips: {
grid: { span: 24 } grid: { span: 24 }
} }
@ -406,33 +409,37 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
}; };
this.ui4 = { this.ui4 = {
'*': { '*': {
spanLabelFixed: 90, spanLabelFixed: 115,
grid: { span: 24 } grid: { span: 12 }
}, },
$freightPrice: { $freightPrice: {
grid: { span: 8 } grid: { span: 8 }
}, },
$rule: { $rule: {
spanLabelFixed: 10,
grid: { span: 8 } grid: { span: 8 }
}, },
$settlementBasis: { $settlementBasis: {
spanLabelFixed: 10,
grid: { span: 8 } grid: { span: 8 }
}, },
$weight: { $weight: {
grid: { lg: 8, md: 12, sm: 12, xs: 24 } grid: { span: 4 }
}, },
$volume: { $volume: {
grid: { lg: 8, md: 12, sm: 12, xs: 24 } spanLabelFixed: 10,
grid: { span: 4 }
}, },
$number: { $number: {
grid: { lg: 8, md: 12, sm: 12, xs: 24 } spanLabelFixed: 10,
grid: { span: 4 }
}, },
$carModel: { $carModel: {
spanLabelFixed: 120, grid: { span: 6 }
grid: { span: 8 }
}, },
$carLength: { $carLength: {
grid: { span: 8 } spanLabelFixed: 10,
grid: { span: 6 }
} }
}; };
} }
@ -522,7 +529,7 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
ui: { ui: {
widget: 'textarea', widget: 'textarea',
placeholder: '请输入', placeholder: '请输入',
autosize: { minRows: 3, maxRows: 3 } autosize: { minRows: 1, maxRows: 1 }
} as SFTextareaWidgetSchema } as SFTextareaWidgetSchema
} }
}, },
@ -538,7 +545,10 @@ export class SupplyManagementBulkPublishComponent implements OnInit {
}; };
this.ui7 = { this.ui7 = {
'*': { '*': {
spanLabelFixed: 90, spanLabelFixed: 115,
grid: { span: 8 }
},
$remarks: {
grid: { span: 24 } grid: { span: 24 }
} }
}; };

View File

@ -5,264 +5,271 @@
</button> </button>
</ng-template> </ng-template>
</page-header-wrapper> </page-header-wrapper>
<nz-card> <div class="custom-style">
<div class="card-title">货源单设置</div> <nz-card>
<sf #sf1 [schema]="schema1" [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf> <div class="card-title">货源单设置</div>
</nz-card> <sf #sf1 [schema]="schema1" [formData]="sf1data" [button]="'none'" [ui]="ui1"></sf>
</nz-card>
<nz-card> <nz-card>
<div class="card-title">装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div> <div class="card-title">装卸货信息<span class="tip-font">预计公里数:<em>{{ totalDistance }}km</em>,预计行程耗时:<em>{{ totalTime }}小时</em></span>
</div>
<form nz-form [formGroup]="validateForm1" role="form"> <form nz-form [formGroup]="validateForm1" role="form">
<div nz-row [nzGutter]="24"> <div nz-row [nzGutter]="24">
<div nz-col [nzSpan]="10"> <div nz-col [nzSpan]="10">
<div *ngFor="let data1 of startInfo; let idx = index"> <div *ngFor="let data1 of startInfo; let idx = index">
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>装货地</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>装货地</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入装货地'"> <nz-form-control [nzErrorTip]="'请输入装货地'">
<div class="align-center"> <div class="align-center">
<nz-input-group [nzSuffix]="endInconTemp1"> <nz-input-group [nzSuffix]="endInconTemp1">
<input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)" <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)"
formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" /> formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" />
</nz-input-group> </nz-input-group>
<span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline" <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle-o" nzTheme="outline"
style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> style="color: #1890ff" (click)="subStartInfo($event, idx)"></i></span>
<span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle" <!-- <span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle"
nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> 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]="4" nzRequired>联系人</nz-form-label>
<div nz-col [nzSpan]="20">
<div nz-row [nzGutter]="12">
<nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'">
<input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}"
name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" />
</nz-form-control>
<nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'">
<input nz-input [(ngModel)]="data1.contractTelephone" maxlength="11"
formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" />
</nz-form-control>
</div>
</div> </div>
</nz-form-item>
</div>
<div nz-row>
<div nz-col [nzSpan]="4"></div>
<div style="display: flex; justify-content: center">
<button nz-button (click)="addStartInfo()" nzDanger>
<i nz-icon nzType="plus"></i>
添加装货地
</button>
</div>
</div>
</div>
<div nz-col [nzSpan]="4">
<div class="icon-wrap">
<span class="swap-icon" (click)="swapAddress()"></span>
</div>
</div>
<div nz-col [nzSpan]="10">
<div *ngFor="let data2 of endInfo; let idx = index">
<nz-form-item>
<nz-form-label nzRequired [nzSpan]="4">卸货地</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 }}"
readonly="true" />
</nz-input-group>
<span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle-o" nzTheme="outline"
style="color: #1890ff" (click)="subEndInfo($event, idx)"></i></span>
<!-- <span *ngIf="idx == 0" style="visibility:hidden;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]="4" nzRequired>联系人</nz-form-label>
<div nz-col [nzSpan]="20">
<div nz-row [nzGutter]="12">
<nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'">
<input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}"
name="unloadAddress{{ idx }}" placeholder="请输入联系人姓名" />
</nz-form-control>
<nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'">
<input nz-input [(ngModel)]="data2.contractTelephone"
formControlName="unloadPhone{{ idx }}" name="unloadAddress{{ idx }}" maxlength="11"
placeholder="请输入联系人电话" />
</nz-form-control>
</div>
</div>
</nz-form-item>
</div>
<div nz-row>
<div nz-col [nzSpan]="4"></div>
<div style="display: flex; justify-content: center">
<button nz-button (click)="addEndInfo()" nzDanger>
<i nz-icon nzType="plus"></i>
添加卸货地
</button>
</div>
</div>
</div>
</div>
<div nz-row [nzGutter]="24" style="margin-top: 24px">
<div nz-col nzXs="2" nzSm="4" nzMd="8" nzLg="8" nzXl="10">
<nz-form-item>
<nz-form-label nzRequired [nzSpan]="4">装货时间</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入装货时间'">
<nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前"
formControlName="loadingTime" [nzDisabledDate]="disabledDateStart"></nz-date-picker>
</nz-form-control> </nz-form-control>
</nz-form-item> </nz-form-item>
</div>
<div nz-col nzXs="20" nzSm="16" nzMd="12" nzLg="8" nzXl="4"></div>
<div nz-col nzXs="2" nzSm="4" nzMd="8" nzLg="8" nzXl="10">
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>联系人</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>卸货时间</nz-form-label>
<div style="display: flex; width: 80.7%"> <nz-form-control [nzErrorTip]="'请输入卸货时间'">
<nz-form-control [nzErrorTip]="'请输入联系人姓名'"> <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前"
<input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}" formControlName="unloadingTime"></nz-date-picker>
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 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 }}"
readonly="true" />
</nz-input-group>
<span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline"
style="color: #d9001b" (click)="subEndInfo($event, idx)"></i></span>
<span *ngIf="idx == 0" style="visibility:hidden;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-control>
</nz-form-item> </nz-form-item>
<nz-form-item>
<nz-form-label 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>
</div> <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template>
<div nz-row [nzGutter]="24" style="margin-top: 24px"> </form>
<div nz-col nzXs="2" nzSm="4" nzMd="8" nzLg="8" nzXl="10"> </nz-card>
<nz-form-item>
<nz-form-label nzRequired>装货时间</nz-form-label> <nz-card>
<nz-form-control [nzErrorTip]="'请输入装货时间'"> <div class="card-title">货物信息</div>
<nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" formControlName="loadingTime" <div nz-row>
[nzDisabledDate]="disabledDateStart"></nz-date-picker> <div nz-col nzSpan="24">
</nz-form-control> <sf #sf3 class="sf3" [schema]="schema3" [button]="'none'" [ui]="ui3" [formData]="sf3data">
</nz-form-item> <ng-template sf-template="goodsTips" let-i let-ui="ui">
</div> <nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert>
<div nz-col nzXs="20" nzSm="16" nzMd="12" nzLg="8" nzXl="4"></div> </ng-template>
<div nz-col nzXs="2" nzSm="4" nzMd="8" nzLg="8" nzXl="10"> <ng-template #tpl>
<nz-form-item> <span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运
<nz-form-label nzRequired>卸货时间</nz-form-label> <a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a>
<nz-form-control [nzErrorTip]="'请输入卸货时间'"> </span>
<nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" </ng-template>
formControlName="unloadingTime"></nz-date-picker> </sf>
</nz-form-control>
</nz-form-item>
</div> </div>
</div> </div>
<ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> <sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data">
</form> <ng-template sf-template="weight" let-i let-ui="ui">
</nz-card> <nz-input-group [nzAddOnAfter]="''">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="总重量,必填" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%; border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group>
</ng-template>
<ng-template sf-template="volume" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="体积" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group>
</ng-template>
<ng-template sf-template="number" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="件数" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group>
</ng-template>
<ng-template sf-template="goodsValue" let-i let-ui="ui">
<div class="align-center">
<nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="2000000" [nzStep]="0.01"
(ngModelChange)="i.setValue($event);getInsurersPrice()" nzPlaceHolder="请输入0-2000000之间数值">
</nz-input-number>
</div>
</ng-template>
</sf>
</nz-card>
<nz-card> <nz-card>
<div class="card-title">货物信息</div> <div class="card-title">服务信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="16"> <div nz-col nzSpan="24">
<sf #sf3 [schema]="schema3" class="sf3" [button]="'none'" [ui]="ui3" [formData]="sf3data"> <sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data">
<ng-template class="1" sf-template="goodsTips" let-i let-ui="ui"> <ng-template sf-template="type1" let-i let-ui="ui">
<nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert> <label nz-checkbox [ngModel]="true" nzDisabled></label> &nbsp;货源曝光率 <span class="fc">+10</span>&nbsp;&nbsp;
</ng-template> <label nz-checkbox [ngModel]="true" nzDisabled></label>&nbsp;车源匹配率 <span class="fc">+10</span>
<ng-template #tpl> </ng-template>
<span style="font-size: 12px;"> 国家法规及行政命令禁限运货物不能托运 <ng-template sf-template="type2" let-i let-ui="ui">
<a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> <label nz-checkbox [ngModel]="true" nzDisabled></label> &nbsp;货源曝光率 <span class="fc">+20</span>&nbsp;&nbsp;
</span> <label nz-checkbox [ngModel]="true" nzDisabled></label>&nbsp;车源匹配率 <span class="fc">+20</span>
</ng-template> </ng-template>
</sf> <ng-template sf-template="freeInsurance1" let-i let-ui="ui">
</div> <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
</div> </ng-template>
<sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data"> <ng-template sf-template="freeInsurance2" let-i let-ui="ui">
<ng-template sf-template="weight" let-i let-ui="ui"> <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
<nz-input-group [nzAddOnAfter]="''"> </ng-template>
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="总重量,必填" type="number" [ngModel]="i.value" <ng-template #template1>①香港、澳门、台湾、西藏、新疆不予承保②单次运输保额仅限200万元以内③保险详细内容及注意事项请见<a target="_blank"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> [queryParams]="{ type: 10 }" [routerLink]="['/agreement']">《保险告知函》</a></ng-template>
</nz-input-group> </sf>
</ng-template>
<ng-template sf-template="volume" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="体积" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number>
</nz-input-group>
</ng-template>
<ng-template sf-template="number" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="件数" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number>
</nz-input-group>
</ng-template>
<ng-template sf-template="goodsValue" let-i let-ui="ui">
<div class="align-center">
<nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="2000000" [nzStep]="0.01"
(ngModelChange)="i.setValue($event);getInsurersPrice()" nzPlaceHolder="请输入0-2000000之间数值">
</nz-input-number>
</div> </div>
</ng-template>
</sf>
</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="type1" let-i let-ui="ui">
<label nz-checkbox [ngModel]="true" nzDisabled></label> &nbsp;货源曝光率 <span class="fc">+10</span>&nbsp;&nbsp;
<label nz-checkbox [ngModel]="true" nzDisabled></label>&nbsp;车源匹配率 <span class="fc">+10</span>
</ng-template>
<ng-template sf-template="type2" let-i let-ui="ui">
<label nz-checkbox [ngModel]="true" nzDisabled></label> &nbsp;货源曝光率 <span class="fc">+20</span>&nbsp;&nbsp;
<label nz-checkbox [ngModel]="true" nzDisabled></label>&nbsp;车源匹配率 <span class="fc">+20</span>
</ng-template>
<ng-template sf-template="freeInsurance1" let-i let-ui="ui">
<nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
</ng-template>
<ng-template sf-template="freeInsurance2" let-i let-ui="ui">
<nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
</ng-template>
<ng-template #template1>①香港、澳门、台湾、西藏、新疆不予承保②单次运输保额仅限200万元以内③保险详细内容及注意事项请见<a target="_blank"
[queryParams]="{ type: 10 }" [routerLink]="['/agreement']">《保险告知函》</a></ng-template>
</sf>
</div> </div>
</div> </nz-card>
</nz-card>
<nz-card> <nz-card>
<div class="card-title">补充信息</div> <div class="card-title">补充信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="9"> <div nz-col nzSpan="24">
<sf #sf6 [schema]="schema6" [formData]="sf6data" [button]="'none'" [ui]="ui6"> </sf> <sf #sf6 [schema]="schema6" [formData]="sf6data" [button]="'none'" [ui]="ui6"> </sf>
</div>
</div> </div>
</div> </nz-card>
</nz-card>
<nz-card> <nz-card>
<div class="card-title">运费信息</div> <div class="card-title">运费信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="8"> <div nz-col nzSpan="24">
<sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data"> <sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data">
<ng-template sf-template="prePay" let-i let-ui="ui"> <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" <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2"
nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb"
[nzParser]="parserRmb"> [nzParser]="parserRmb">
</nz-input-number> </nz-input-number>
</ng-template> </ng-template>
<ng-template sf-template="toPay" let-i let-ui="ui"> <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" <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2"
nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb"
[nzParser]="parserRmb"> [nzParser]="parserRmb">
</nz-input-number> </nz-input-number>
</ng-template> </ng-template>
<ng-template sf-template="receiptPay" let-i let-ui="ui"> <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" <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2"
nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb"
[nzParser]="parserRmb"> [nzParser]="parserRmb">
</nz-input-number> </nz-input-number>
</ng-template> </ng-template>
<ng-template sf-template="subtotal" let-i let-ui="ui">{{ i.value | currency }}</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: <ng-template sf-template="appendFee" let-i let-ui="ui">{{ i.value | currency }}(费率:{{ currentRate | number:
'0.2-4' }}%</ng-template> '0.2-4' }}%</ng-template>
<ng-template sf-template="total" let-i let-ui="ui">{{ i.value | currency }}</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"> <ng-template sf-template="paymentDays" let-i let-ui="ui">
<div nz-row class="align-center"> <div nz-row class="align-center">
<div nz-col nzSpan="16"> <div nz-col nzSpan="6">
<nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1" <nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1"
(ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30" [nzPrecision]="0" (ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30" [nzPrecision]="0"
[nzPrecisionMode]="'cut'"></nz-input-number> [nzPrecisionMode]="'cut'"></nz-input-number>
</div>
<div nz-col nzSpan="18">
<span>&nbsp;天内支付运费</span>
</div>
</div> </div>
<div nz-col nzSpan="8"> </ng-template>
<span>&nbsp;天内支付运费</span> </sf>
</div> </div>
</div>
</ng-template>
</sf>
</div> </div>
</div> </nz-card>
</nz-card> <nz-card class="btn-wrap">
<nz-card> <div class="align-center">
<div class="align-center"> <button nz-button nzType="primary" *ngIf="this.PageStatus == '整车修改'" (click)="goBack()">取消</button>
<button nz-button nzType="primary" *ngIf="this.PageStatus == '整车修改'" (click)="goBack()">取消</button> <button *ngIf="this.PageStatus == '整车修改'" nz-button nzType="primary" style="margin-left: 24px"
<button *ngIf="this.PageStatus == '整车修改'" nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm()" acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交修改</button>
(click)="submitConfirm()" acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交修改</button> <button nz-button nzType="primary" *ngIf="this.PageStatus == '整车下一单'" (click)="submitConfirm('assign')" acl
<button nz-button nzType="primary" *ngIf="this.PageStatus == '整车下一单'" (click)="submitConfirm('assign')" acl [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleDesignate']">指派熟车</button>
[acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleDesignate']">指派熟车</button> <button *ngIf="this.PageStatus == '整车下一单'" nz-button nzType="primary" style="margin-left: 24px"
<button *ngIf="this.PageStatus == '整车下一单'" nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('publish')" acl
(click)="submitConfirm('publish')" acl [acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleAnotherOrder']">司机抢单</button>
[acl-ability]="['SUPPLY-VEHICLE-PLACEORDER-vehicleAnotherOrder']">司机抢单</button> </div>
</div> </nz-card>
</nz-card> </div>

View File

@ -5,16 +5,16 @@
} }
nz-date-picker { nz-date-picker {
width: 94.3%; width: 100%;
} }
.sf3 { .sf3 {
.goods_Tips_item { .goods_Tips_item {
.goods_tips { .goods_tips {
width: calc(50% - 45px); width: calc(50% - 57px);
.ant-alert { .ant-alert {
padding: 0 0 0 2px; margin-bottom: 5px;
} }
} }
@ -84,3 +84,99 @@ input[type='number']::-webkit-outer-spin-button {
margin-left: 10px; margin-left: 10px;
color: aqua; color: aqua;
} }
.custom-style {
::ng-deep {
.ant-card {
margin-bottom: 0;
}
.ant-card-body {
padding-bottom: 0;
}
.ant-card-bordered {
border: 0 none;
}
.card-title {
display: flex;
align-items: center;
>span {
margin-left: 8px;
font-size: 14px;
em {
font-style: normal;
color: #E60012;
}
}
&::before {
content: '';
display: inline-block;
width: 2px;
height: 16px;
margin-right: 10px;
background: #E60012;
}
}
.ant-btn-dangerous {
border-radius: 4px;
color: #CF3834;
border-color: rgba(207, 56, 52, 0.5);
}
.icon-wrap {
display: flex;
justify-content: center;
height: 100%;
}
.swap-icon {
background: url('/assets/images/frame.png') no-repeat 50% 50%;
cursor: pointer;
}
.ant-input-affix-wrapper,
.ant-input,
.ant-picker,
.ant-select-selector,
.ant-input-number-input,
.ant-input-number {
border-radius: 4px ;
}
.ant-input-group-addon {
border-radius: 0 4px 4px 0;
}
.align-center {
.ant-btn {
height: 40px;
padding: 0 23px;
font-size: 16px;
border-radius: 3px;
}
}
.ant-select-arrow {
transform: scaleX(1.5) translateY(2px);
color: rgb(153,153,153);
font-size: 8px;
}
.ant-picker-suffix {
color: #333;
}
.btn-wrap {
margin-top: 20px;
padding-bottom: 20px;
}
.ant-alert {
padding: 6px 16px;
border-radius: 2px;
font-size: 14px;
}
.fc {
color: #f5222d;
}
}
}

View File

@ -246,16 +246,10 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
this.ui1 = { this.ui1 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 8 }
}, },
$enterpriseInfoName: { $enterpriseInfoName: {
grid: { span: 12 } grid: { span: 8 }
},
$shipperAppUserId: {
grid: { span: 12 }
},
$enterpriseProjectId: {
grid: { span: 12 }
} }
}; };
} }
@ -345,9 +339,12 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
}; };
this.ui3 = { this.ui3 = {
'*': { '*': {
spanLabelFixed: 90, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 12 }
}, },
$goodsNameId: {
spanLabelFixed: 10
},
$goodsTips: { $goodsTips: {
grid: { span: 24 } grid: { span: 24 }
} }
@ -416,14 +413,14 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
} }
} }
}, },
hidenField: { // hidenField: {
type: 'string', // type: 'string',
title: '', // title: '',
default: ' ', // default: ' ',
ui: { // ui: {
widget: 'text' // widget: 'text'
} // }
}, // },
insurancePackagedGoods: { insurancePackagedGoods: {
type: 'string', type: 'string',
title: '货物包装', title: '货物包装',
@ -460,7 +457,25 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
this.ui4 = { this.ui4 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 8 } grid: { span: 12 }
},
$weight: {
grid: { span: 4 }
},
$volume: {
spanLabelFixed: 10,
grid: { span: 4 }
},
$number: {
spanLabelFixed: 10,
grid: { span: 4 }
},
$carModel: {
grid: { span: 6 }
},
$carLength: {
spanLabelFixed: 10,
grid: { span: 6 }
} }
}; };
} }
@ -545,16 +560,16 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
this.ui5 = { this.ui5 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 8 }
}, },
$type1: { $type1: {
grid: { span: 24 } grid: { span: 8 }
}, },
$type2: { $type2: {
grid: { span: 24 } grid: { span: 8 }
}, },
$freeInsurance1: { $freeInsurance1: {
grid: { span: 24 } grid: { span: 24}
}, },
$freeInsurance2: { $freeInsurance2: {
grid: { span: 24 } grid: { span: 24 }
@ -656,7 +671,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
ui: { ui: {
widget: 'textarea', widget: 'textarea',
placeholder: '请输入', placeholder: '请输入',
autosize: { minRows: 3, maxRows: 3 } autosize: { minRows: 1, maxRows: 1 }
} as SFTextareaWidgetSchema } as SFTextareaWidgetSchema
} }
}, },
@ -664,7 +679,10 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
}; };
this.ui6 = { this.ui6 = {
'*': { '*': {
spanLabelFixed: 90, spanLabelFixed: 125,
grid: { span: 8 }
},
$remarks: {
grid: { span: 24 } grid: { span: 24 }
} }
}; };
@ -705,6 +723,9 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
this.ui7 = { this.ui7 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 8 }
},
$paymentDays: {
grid: { span: 24 } grid: { span: 24 }
} }
}; };

View File

@ -5,261 +5,265 @@
</button> </button>
</ng-template> </ng-template>
</page-header-wrapper> </page-header-wrapper>
<nz-card> <div class="custom-style">
<div class="card-title">货源单设置</div> <nz-card>
<sf #sf1 [schema]="schema1" [button]="'none'" [ui]="ui1" [formData]="sf1data"> <div class="card-title">货源单设置</div>
<ng-template sf-template="enterpriseInfoName" let-i let-ui="ui"> {{ i.value }} </ng-template> <sf #sf1 [schema]="schema1" [button]="'none'" [ui]="ui1" [formData]="sf1data">
</sf> <ng-template sf-template="enterpriseInfoName" let-i let-ui="ui"> {{ i.value }} </ng-template>
</nz-card> </sf>
</nz-card>
<nz-card> <nz-card>
<div class="card-title">装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div> <div class="card-title">装卸货信息<span class="tip-font">预计公里数:<em>{{ totalDistance }}km</em>,预计行程耗时:<em>{{ totalTime
}}小时</em></span>
</div>
<form nz-form [formGroup]="validateForm1" role="form"> <form nz-form [formGroup]="validateForm1" role="form">
<div nz-row [nzGutter]="24"> <div nz-row [nzGutter]="24">
<div nz-col [nzSpan]="10"> <div nz-col [nzSpan]="10">
<div *ngFor="let data1 of startInfo; let idx = index"> <div *ngFor="let data1 of startInfo; let idx = index">
<nz-form-item> <nz-form-item>
<nz-form-label nzRequired>装货地</nz-form-label> <nz-form-label [nzSpan]="4" nzRequired>装货地</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入装货地'"> <nz-form-control [nzErrorTip]="'请输入装货地'">
<div class="align-center"> <div class="align-center">
<nz-input-group [nzSuffix]="endInconTemp1"> <nz-input-group [nzSuffix]="endInconTemp1">
<input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)" <input nz-input [(ngModel)]="data1.detailedAddress" (click)="openMap('start', idx)"
formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" /> formControlName="loadAddress{{ idx }}" placeholder="请输入装货地" readonly="true" />
</nz-input-group> </nz-input-group>
<span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline" <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle-o" nzTheme="outline"
style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> style="color: #1890ff" (click)="subStartInfo($event, idx)"></i></span>
<span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle" <!-- <span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle"
nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> 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]="4" nzRequired>联系人</nz-form-label>
<div nz-col [nzSpan]="20">
<div nz-row [nzGutter]="12">
<nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'">
<input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}"
name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" />
</nz-form-control>
<nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'">
<input nz-input [(ngModel)]="data1.contractTelephone" maxlength="11"
formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" />
</nz-form-control>
</div>
</div> </div>
</nz-form-control> </nz-form-item>
</nz-form-item> </div>
<nz-form-item> <div nz-row>
<nz-form-label nzRequired>联系人</nz-form-label> <div nz-col [nzSpan]="4"></div>
<div style="display: flex; width: 80.7%"> <button nz-button (click)="addStartInfo()" nzDanger>
<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> <i nz-icon nzType="plus"></i>
添加装货地 添加装货地
</button> </button>
</div> </div>
</div> </div>
</div> <div nz-col [nzSpan]="4">
<div nz-col [nzSpan]="4"> <div class="icon-wrap">
<div style="display: flex; justify-content: center"> <span class="swap-icon" (click)="swapAddress()"></span>
<span class="swap-icon" (click)="swapAddress()"><i nz-icon nzType="swap" nzTheme="outline"></i></span> </div>
</div> </div>
</div> <div nz-col [nzSpan]="10">
<div nz-col [nzSpan]="10"> <div *ngFor="let data2 of endInfo; let idx = index">
<div *ngFor="let data2 of endInfo; let idx = index"> <nz-form-item>
<nz-form-item> <nz-form-label [nzSpan]="4" nzRequired>卸货地</nz-form-label>
<nz-form-label nzRequired>卸货地</nz-form-label> <nz-form-control [nzErrorTip]="'请输入卸货地'">
<nz-form-control [nzErrorTip]="'请输入卸货地'"> <div class="align-center">
<div class="align-center"> <nz-input-group [nzSuffix]="endInconTemp1">
<nz-input-group [nzSuffix]="endInconTemp1"> <input nz-input [(ngModel)]="data2.detailedAddress" (click)="openMap('end', idx)"
<input nz-input [(ngModel)]="data2.detailedAddress" (click)="openMap('end', idx)" formControlName="unloadAddress{{ idx }}" placeholder="请输入卸货地" name="unloadAddress{{ idx }}"
formControlName="unloadAddress{{ idx }}" placeholder="请输入卸货地" name="unloadAddress{{ idx }}" readonly="true" />
readonly="true" /> </nz-input-group>
</nz-input-group> <span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline"
<span *ngIf="idx !== 0" style="padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline" style="color: #1890ff" (click)="subEndInfo($event, idx)"></i></span>
style="color: #d9001b" (click)="subEndInfo($event, idx)"></i></span> <!-- <span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle"
<span *ngIf="idx == 0" style="visibility:hidden;padding: 0 10px"><i nz-icon nzType="minus-circle" nzTheme="outline" style="color: #d9001b" (click)="subStartInfo($event, idx)"></i></span> -->
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]="4" nzRequired>联系人</nz-form-label>
<div nz-col [nzSpan]="20">
<div nz-row [nzGutter]="12">
<nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人姓名'">
<input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}"
name="unloadAddress{{ idx }}" placeholder="请输入联系人姓名" />
</nz-form-control>
<nz-form-control [nzSpan]="12" [nzErrorTip]="'请输入联系人电话'">
<input nz-input [(ngModel)]="data2.contractTelephone"
formControlName="unloadPhone{{ idx }}" name="unloadAddress{{ idx }}" maxlength="11"
placeholder="请输入联系人电话" />
</nz-form-control>
</div>
</div> </div>
</nz-form-control> </nz-form-item>
</nz-form-item> </div>
<nz-form-item> <div nz-row>
<nz-form-label nzRequired>联系人</nz-form-label> <div nz-col [nzSpan]="4"></div>
<div style="display: flex; width: 80.7%"> <button nz-button (click)="addEndInfo()" nzDanger>
<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> <i nz-icon nzType="plus"></i>
添加卸货地 添加卸货地
</button> </button>
</div> </div>
</div> </div>
</div> </div>
</div> <div nz-row [nzGutter]="24" style="margin-top: 24px">
<div nz-row [nzGutter]="24" style="margin-top: 24px"> <div nz-col [nzSpan]="10">
<div nz-col [nzSpan]="10"> <nz-form-item>
<nz-form-item> <nz-form-label nzRequired [nzSpan]="4">装货时间</nz-form-label>
<nz-form-label nzRequired>装货时间</nz-form-label> <nz-form-control [nzErrorTip]="'请输入装货时间'">
<nz-form-control [nzErrorTip]="'请输入装货时间'"> <nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前"
<nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" formControlName="loadingTime" formControlName="loadingTime" [nzDisabledDate]="disabledDateStart"></nz-date-picker>
[nzDisabledDate]="disabledDateStart"></nz-date-picker> </nz-form-control>
</nz-form-control> </nz-form-item>
</nz-form-item> </div>
<div nz-col [nzSpan]="4"></div>
<div nz-col [nzSpan]="10">
<nz-form-item>
<nz-form-label nzRequired [nzSpan]="4">卸货时间</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入卸货时间'">
<nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前"
formControlName="unloadingTime"></nz-date-picker>
</nz-form-control>
</nz-form-item>
</div>
</div> </div>
<div nz-col [nzSpan]="4"></div> <ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template>
<div nz-col [nzSpan]="10"> </form>
<nz-form-item> </nz-card>
<nz-form-label nzRequired>卸货时间</nz-form-label>
<nz-form-control [nzErrorTip]="'请输入卸货时间'"> <nz-card>
<nz-date-picker [nzShowTime]="{ nzFormat: 'HH' }" nzFormat="yyyy-MM-dd HH:00前" <div class="card-title">货物信息</div>
formControlName="unloadingTime"></nz-date-picker> <div nz-row>
</nz-form-control> <div nz-col nzSpan="24">
</nz-form-item> <sf #sf3 class="sf3" [schema]="schema3" [button]="'none'" [ui]="ui3" [formData]="sf3data">
<ng-template sf-template="goodsTips" let-i let-ui="ui">
<nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert>
</ng-template>
<ng-template #tpl>
<span style="font-size: 14px;"> 国家法规及行政命令禁限运货物不能托运
<a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a>
</span>
</ng-template>
</sf>
</div> </div>
</div> </div>
<ng-template #endInconTemp1><i nz-icon nzType="environment" nzTheme="outline"></i></ng-template> <sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data">
</form> <ng-template sf-template="weight" let-i let-ui="ui">
</nz-card> <nz-input-group [nzAddOnAfter]="''">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="总重量,必填" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group>
</ng-template>
<ng-template sf-template="volume" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="体积" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group>
</ng-template>
<ng-template sf-template="number" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="件数" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;border-radius: 4px 0 0 4px;"></nz-input-number>
</nz-input-group>
</ng-template>
<ng-template sf-template="goodsValue" let-i let-ui="ui">
<div class="align-center">
<nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="2000000" [nzStep]="0.01"
(ngModelChange)="i.setValue($event);getInsurersPrice()" nzPlaceHolder="请输入0-2000000之间数值">
</nz-input-number>
</div>
</ng-template>
</sf>
</nz-card>
<nz-card> <nz-card>
<div class="card-title">货物信息</div> <div class="card-title">服务信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="16"> <div nz-col nzSpan="24">
<sf #sf3 class="sf3" [schema]="schema3" [button]="'none'" [ui]="ui3" [formData]="sf3data"> <sf #sf5 [schema]="schema5" [button]="'none'" [ui]="ui5" [formData]="sf5data">
<ng-template class="1" sf-template="goodsTips" let-i let-ui="ui"> <ng-template sf-template="type1" let-i let-ui="ui">
<nz-alert class="goods_tips" nzType="warning" [nzMessage]="tpl" nzShowIcon></nz-alert> <label nz-checkbox [ngModel]="true" nzDisabled></label> &nbsp;货源曝光率 <span class="fc">+10</span>&nbsp;&nbsp;
</ng-template> <label nz-checkbox [ngModel]="true" nzDisabled></label>&nbsp;车源匹配率 <span class="fc">+10</span>
<ng-template #tpl> </ng-template>
<span style="font-size: 12px;"> 国家法规及行政命令禁限运货物不能托运 <ng-template sf-template="type2" let-i let-ui="ui">
<a target="_blank" [queryParams]="{ type: 15 }" [routerLink]="['/agreement']">《禁运物品说明》</a> <label nz-checkbox [ngModel]="true" nzDisabled></label> &nbsp;货源曝光率 <span class="fc">+20</span>&nbsp;&nbsp;
</span> <label nz-checkbox [ngModel]="true" nzDisabled></label>&nbsp;车源匹配率 <span class="fc">+20</span>
</ng-template> </ng-template>
</sf> <ng-template sf-template="freeInsurance1" let-i let-ui="ui">
</div> <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
</div> </ng-template>
<sf #sf4 [schema]="schema4" [button]="'none'" [ui]="ui4" [formData]="sf4data"> <ng-template sf-template="freeInsurance2" let-i let-ui="ui">
<ng-template sf-template="weight" let-i let-ui="ui"> <nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
<nz-input-group [nzAddOnAfter]="''"> </ng-template>
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="总重量,必填" type="number" [ngModel]="i.value" <ng-template #template1>①香港、澳门、台湾、西藏、新疆不予承保②单次运输保额仅限200万元以内③保险详细内容及注意事项请见<a target="_blank"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number> [queryParams]="{ type: 10 }" [routerLink]="['/agreement']">《保险告知函》</a></ng-template>
</nz-input-group> </sf>
</ng-template>
<ng-template sf-template="volume" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="体积" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number>
</nz-input-group>
</ng-template>
<ng-template sf-template="number" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="''">
<nz-input-number [nzMax]="99999" [nzMin]="0" nzPlaceHolder="件数" type="number" [ngModel]="i.value"
(ngModelChange)="i.setValue($event)" [nzPrecision]="2" style="width: 100%;"></nz-input-number>
</nz-input-group>
</ng-template>
<ng-template sf-template="goodsValue" let-i let-ui="ui">
<div class="align-center">
<nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="2000000" [nzStep]="0.01"
(ngModelChange)="i.setValue($event);getInsurersPrice()" nzPlaceHolder="请输入0-2000000之间数值">
</nz-input-number>
</div> </div>
</ng-template>
</sf>
</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="type1" let-i let-ui="ui">
<label nz-checkbox [ngModel]="true" nzDisabled></label> &nbsp;货源曝光率 <span class="fc">+10</span>&nbsp;&nbsp;
<label nz-checkbox [ngModel]="true" nzDisabled></label>&nbsp;车源匹配率 <span class="fc">+10</span>
</ng-template>
<ng-template sf-template="type2" let-i let-ui="ui">
<label nz-checkbox [ngModel]="true" nzDisabled></label> &nbsp;货源曝光率 <span class="fc">+20</span>&nbsp;&nbsp;
<label nz-checkbox [ngModel]="true" nzDisabled></label>&nbsp;车源匹配率 <span class="fc">+20</span>
</ng-template>
<ng-template sf-template="freeInsurance1" let-i let-ui="ui">
<nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
</ng-template>
<ng-template sf-template="freeInsurance2" let-i let-ui="ui">
<nz-alert nzType="warning" [nzMessage]="template1" nzShowIcon></nz-alert>
</ng-template>
<ng-template #template1>①香港、澳门、台湾、西藏、新疆不予承保②单次运输保额仅限200万元以内③保险详细内容及注意事项请见<a target="_blank"
[queryParams]="{ type: 10 }" [routerLink]="['/agreement']">《保险告知函》</a></ng-template>
</sf>
</div> </div>
</div> </nz-card>
</nz-card> <nz-card>
<nz-card> <div class="card-title">补充信息</div>
<div class="card-title">补充信息</div> <div nz-row>
<div nz-row> <div nz-col nzSpan="24">
<div nz-col nzSpan="12"> <sf #sf6 [schema]="schema6" [button]="'none'" [ui]="ui6" [formData]="sf6data">
<sf #sf6 [schema]="schema6" [button]="'none'" [ui]="ui6" [formData]="sf6data"> </sf>
</sf> </div>
</div> </div>
</div> </nz-card>
</nz-card>
<nz-card> <nz-card>
<div class="card-title">运费信息</div> <div class="card-title">运费信息</div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="8"> <div nz-col nzSpan="24">
<sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data"> <sf #sf7 [schema]="schema7" [button]="'none'" [ui]="ui7" [formData]="sf7data">
<ng-template sf-template="prePay" let-i let-ui="ui"> <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" <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2"
nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb"
[nzParser]="parserRmb"> [nzParser]="parserRmb">
</nz-input-number> </nz-input-number>
</ng-template> </ng-template>
<ng-template sf-template="toPay" let-i let-ui="ui"> <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" <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2"
nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb"
[nzParser]="parserRmb"> [nzParser]="parserRmb">
</nz-input-number> </nz-input-number>
</ng-template> </ng-template>
<ng-template sf-template="receiptPay" let-i let-ui="ui"> <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" <nz-input-number [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2"
nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb" nzPlaceHolder="请输入0-99999" (ngModelChange)="priceChange($event,i)" [nzFormatter]="formatterRmb"
[nzParser]="parserRmb"> [nzParser]="parserRmb">
</nz-input-number> </nz-input-number>
</ng-template> </ng-template>
<ng-template sf-template="subtotal" let-i let-ui="ui">{{ i.value | currency }}</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: <ng-template sf-template="appendFee" let-i let-ui="ui">{{ i.value | currency }}(费率:{{ currentRate | number:
'0.2-4' }}%</ng-template> '0.2-4' }}%</ng-template>
<ng-template sf-template="total" let-i let-ui="ui">{{ i.value | currency }}</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"> <ng-template sf-template="paymentDays" let-i let-ui="ui">
<div nz-row class="align-center"> <div nz-row class="align-center">
<div nz-col nzSpan="16"> <div nz-col nzSpan="6">
<nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1" <nz-input-number [ngModel]="i.value" [nzMin]="1" [nzMax]="30" [nzStep]="1"
(ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30" [nzPrecision]="0" (ngModelChange)="i.setValue($event)" nzPlaceHolder="请输入1-30" [nzPrecision]="0"
[nzPrecisionMode]="'cut'"></nz-input-number> [nzPrecisionMode]="'cut'"></nz-input-number>
</div>
<div nz-col nzSpan="18">
<span>&nbsp;天内支付运费</span>
</div>
</div> </div>
<div nz-col nzSpan="8"> </ng-template>
<span>&nbsp;天内支付运费</span> </sf>
</div> </div>
</div>
</ng-template>
</sf>
</div> </div>
</div> </nz-card>
</nz-card> <nz-card class="btn-wrap">
<nz-card> <div class="align-center">
<div class="align-center"> <button nz-button nzType="primary" (click)="submitConfirm('assign')" acl
<button nz-button nzType="primary" (click)="submitConfirm('assign')" acl [acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDesignate']">指派熟车</button>
[acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDesignate']">指派熟车</button> <button nz-button nzType="primary" style="margin-left: 24px" (click)="submitConfirm('publish')"
<button nz-button nzType="primary" style="margin-left: 48px" (click)="submitConfirm('publish')" *ngIf="type === 'add'" acl [acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDriverOrder']">司机抢单</button>
*ngIf="type === 'add'" acl [acl-ability]="['SUPPLY-VEHICLE-RELEASE-bulkDriverOrder']">司机抢单</button> </div>
</div> </nz-card>
</nz-card> </div>

View File

@ -5,16 +5,16 @@
} }
nz-date-picker { nz-date-picker {
width: 94.3%; width: 100%;
} }
.sf3 { .sf3 {
.goods_Tips_item { .goods_Tips_item {
.goods_tips { .goods_tips {
width: calc(50% - 45px); width: calc(50% - 57px);
.ant-alert { .ant-alert {
padding: 0 0 0 2px; margin-bottom: 5px;
} }
} }
@ -78,3 +78,100 @@ input[type='number']::-webkit-outer-spin-button {
margin: 0; margin: 0;
-webkit-appearance: none; -webkit-appearance: none;
} }
.custom-style {
::ng-deep {
.ant-card {
margin-bottom: 0;
}
.ant-card-body {
padding-bottom: 0;
}
.ant-card-bordered {
border: 0 none;
}
.card-title {
display: flex;
align-items: center;
>span {
margin-left: 8px;
font-size: 14px;
em {
font-style: normal;
color: #E60012;
}
}
&::before {
content: '';
display: inline-block;
width: 2px;
height: 16px;
margin-right: 10px;
background: #E60012;
}
}
.ant-btn-dangerous {
border-radius: 4px;
color: #CF3834;
border-color: rgba(207, 56, 52, 0.5);
}
.icon-wrap {
display: flex;
justify-content: center;
height: 100%;
}
.swap-icon {
background: url('/assets/images/frame.png') no-repeat 50% 50%;
cursor: pointer;
}
.ant-input-affix-wrapper,
.ant-input,
.ant-picker,
.ant-select-selector,
.ant-input-number-input,
.ant-input-number {
border-radius: 4px ;
}
.ant-input-group-addon {
border-radius: 0 4px 4px 0;
}
.align-center {
.ant-btn {
height: 40px;
padding: 0 23px;
font-size: 16px;
border-radius: 3px;
}
}
.ant-select-arrow {
transform: scaleX(1.5) translateY(2px);
color: rgb(153,153,153);
font-size: 8px;
}
.ant-picker-suffix {
color: #333;
}
.btn-wrap {
margin-top: 20px;
padding-bottom: 20px;
}
.ant-alert {
padding: 6px 16px;
border-radius: 2px;
font-size: 14px;
}
.fc {
color: #f5222d;
}
}
}

View File

@ -227,19 +227,19 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
this.ui1 = { this.ui1 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 8 }
}, },
$enterpriseInfoName: { $enterpriseInfoName: {
grid: { span: 12 } grid: { span: 8 }
}, },
$shipperAppUserId: { $shipperAppUserId: {
grid: { span: 12 } grid: { span: 8 }
}, },
$enterpriseProjectId: { $enterpriseProjectId: {
grid: { span: 12 } grid: { span: 8 }
}, },
$dispatchId: { $dispatchId: {
grid: { span: 12 } grid: { span: 8 }
} }
}; };
} }
@ -332,6 +332,9 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 12 }
}, },
$goodsNameId: {
spanLabelFixed: 10
},
$goodsTips: { $goodsTips: {
grid: { span: 24 } grid: { span: 24 }
} }
@ -400,14 +403,14 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
} }
} }
}, },
hidenField: { // hidenField: {
type: 'string', // type: 'string',
title: '', // title: '',
default: ' ', // default: ' ',
ui: { // ui: {
widget: 'text' // widget: 'text'
} // }
}, // },
insurancePackagedGoods: { insurancePackagedGoods: {
type: 'string', type: 'string',
title: '货物包装', title: '货物包装',
@ -444,7 +447,25 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
this.ui4 = { this.ui4 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 8 } grid: { span: 12 }
},
$weight: {
grid: { span: 4 }
},
$volume: {
spanLabelFixed: 10,
grid: { span: 4 }
},
$number: {
spanLabelFixed: 10,
grid: { span: 4 }
},
$carModel: {
grid: { span: 6 }
},
$carLength: {
spanLabelFixed: 10,
grid: { span: 6 }
} }
}; };
} }
@ -528,16 +549,16 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
this.ui5 = { this.ui5 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 12 } grid: { span: 8 }
}, },
$type1: { $type1: {
grid: { span: 24 } grid: { span: 8 }
}, },
$type2: { $type2: {
grid: { span: 24 } grid: { span: 8 }
}, },
$freeInsurance1: { $freeInsurance1: {
grid: { span: 24 } grid: { span: 24}
}, },
$freeInsurance2: { $freeInsurance2: {
grid: { span: 24 } grid: { span: 24 }
@ -626,7 +647,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
ui: { ui: {
widget: 'textarea', widget: 'textarea',
placeholder: '请输入', placeholder: '请输入',
autosize: { minRows: 3, maxRows: 3 } autosize: { minRows: 1, maxRows: 1 }
} as SFTextareaWidgetSchema } as SFTextareaWidgetSchema
} }
}, },
@ -634,7 +655,10 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
}; };
this.ui6 = { this.ui6 = {
'*': { '*': {
spanLabelFixed: 90, spanLabelFixed: 125,
grid: { span: 8 }
},
$remarks: {
grid: { span: 24 } grid: { span: 24 }
} }
}; };
@ -675,6 +699,9 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
this.ui7 = { this.ui7 = {
'*': { '*': {
spanLabelFixed: 115, spanLabelFixed: 115,
grid: { span: 8 }
},
$paymentDays: {
grid: { span: 24 } grid: { span: 24 }
} }
}; };

View File

@ -31,15 +31,7 @@
</div> </div>
</div> </div>
<st #st [data]="service.$api_invoicedBillInfo_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}" <st #st [data]="service.$api_invoicedBillInfo_page" [columns]="columns" [req]="{ process: beforeReq }" [page]="{}"
[loading]="false" [scroll]="{ x:'1200px',y:scrollY }"> [loading]="false" [scroll]="{ x:'1200px' }">
<ng-template st-row="sts" let-item let-index="index">
<span *ngIf="item.sts === '1'">待受理</span>
<span *ngIf="item.sts === '2'">处理中</span>
<span *ngIf="item.sts === '3'">已完成</span>
<span *ngIf="item.sts === '5'">已拒绝</span>
<span *ngIf="item.sts === '6'">已撤销</span>
<span *ngIf="item.sts === '7'">已作废</span>
</ng-template>
<ng-template st-row="serviceType" let-item let-index="index"> <ng-template st-row="serviceType" let-item let-index="index">
<span>{{item.billTypeLabel + item.serviceTypeLabel}}</span> <span>{{item.billTypeLabel + item.serviceTypeLabel}}</span>
</ng-template> </ng-template>

View File

@ -246,7 +246,7 @@ export class BillingOrderComponent extends BasicTableComponent {
{ title: '卸货时间', index: 'unloadTime', type: 'date', width: '150px', className: 'text-center' }, { title: '卸货时间', index: 'unloadTime', type: 'date', width: '150px', className: 'text-center' },
{ title: '订单完成时间', index: 'orderReceivingTime', type: 'date', width: 150, className: 'text-center' }, { title: '订单完成时间', index: 'orderReceivingTime', type: 'date', width: 150, className: 'text-center' },
{ title: '支付完成时间', index: 'overallPaymentTime', type: 'date', width: 150, className: 'text-center' }, { title: '支付完成时间', index: 'overallPaymentTime', type: 'date', width: 150, className: 'text-center' },
{ title: '开票状态', index: 'sts', render: 'sts', className: 'text-center', width: 120 }, { title: '开票状态', index: 'stsLabel', className: 'text-center', width: 120 },
{ title: '申请开票时间', index: 'vatappdate', type: 'date', className: 'text-center', width: 180 }, { title: '申请开票时间', index: 'vatappdate', type: 'date', className: 'text-center', width: 180 },
{ title: '申请开票编号', index: 'vatappcode', className: 'text-center', width: 190 }, { title: '申请开票编号', index: 'vatappcode', className: 'text-center', width: 190 },
{ title: '分票编号', index: 'vatinvcode', width: '200px', className: 'text-center' }, { title: '分票编号', index: 'vatinvcode', width: '200px', className: 'text-center' },

BIN
src/assets/images/frame.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 710 B