This commit is contained in:
wangshiming
2022-03-31 13:43:43 +08:00
parent 98926ea2cc
commit a1b294eb8a
4 changed files with 114 additions and 154 deletions

View File

@ -188,26 +188,26 @@
<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="总重量,必填" oninput="if(value>99999)value=99999;if(value<0)value=0" />
<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="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="体积" oninput="if(value>99999)value=99999;if(value<0)value=0" />
<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]="''">
<input nz-input type="number" [ngModel]="i.value" min="0" (ngModelChange)="i.setValue($event)" placeholder="件数"
oninput="if(value>99999)value=99999;if(value<0)value=0" />
<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]="50000" [nzMax]="2000000" [nzStep]="0.01"
(ngModelChange)="i.setValue($event);getInsurersPrice()" nzPlaceHolder="请输入50000-2000000之间数值">
<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>
@ -219,14 +219,22 @@
<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>
<ng-template #template1>香港、澳门、台湾、西藏、新疆不予承保,单次运输保额仅限200万元以内③保险详细内容及注意事项请<a target="_blank" [queryParams]="{ type: 10 }"
[routerLink]="['/agreement']">《保告知</a></ng-template>
</sf>
</div>
</div>
@ -241,74 +249,41 @@
</div>
</div>
</nz-card>
<nz-card>
<div class="card-title">运费信息</div>
<div nz-row>
<div nz-col nzSpan="9">
<div nz-col nzSpan="8">
<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 [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" nzPlaceHolder="请输入0-99999"
(ngModelChange)="priceChange($event,i)" [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 [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" nzPlaceHolder="请输入0-99999"
(ngModelChange)="priceChange($event,i)" [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 [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" nzPlaceHolder="请输入0-99999"
(ngModelChange)="priceChange($event,i)" [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="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="12">
<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 nz-row 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="12">
<div nz-col nzSpan="8">
<span>&nbsp;天内支付运费</span>
</div>
</div>
</div>
</ng-template>
</sf>

View File

@ -448,6 +448,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
};
}
initSF5() {
this.schema5 = {
properties: {
@ -461,13 +462,13 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
map((res: any) => {
return [...res];
})
);
)
},
change: (tag: any, org: any) => {
if (tag === '3') {
if(tag === '3'){
this.sf5.setValue('/insurancePremium', null);
this.sf5.setValue('/insuranceRate', null);
} else {
}else {
this.getInsurersPrice(tag);
}
}
@ -477,29 +478,23 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
type1: {
type: 'string',
title: '',
enum: ['货源曝光率 +10', '车源匹配率 +10'],
readOnly: true,
ui: {
widget: 'checkbox',
widget: 'custom',
visibleIf: { insuranceType: (value: string) => value === '0' }
} as SFCheckboxWidgetSchema,
default: ['货源曝光率 +10', '车源匹配率 +10']
} ,
},
type2: {
type: 'string',
title: '',
enum: ['货源曝光率 +20', '车源匹配率 +20'],
readOnly: true,
ui: {
widget: 'checkbox',
widget: 'custom',
visibleIf: { insuranceType: (value: string) => value === '1' }
} as SFCheckboxWidgetSchema,
default: ['货源曝光率 +20', '车源匹配率 +20']
}
},
insurancePremium: {
type: 'string',
title: '服务包费用',
readOnly: true,
readOnly:true,
ui: {
visibleIf: { insuranceType: (value: string) => value !== '3' }
}
@ -526,9 +521,9 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
widget: 'custom',
visibleIf: { insuranceType: (value: string) => value === '1' }
}
}
},
},
required: ['insurancePremium']
required: [ 'insurancePremium']
};
this.ui5 = {
'*': {
@ -1022,6 +1017,8 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
paymentDays: this.sf7.value.paymentDays,
estimatedKilometers: this.totalDistance,
estimatedTravelTime: this.totalTime,
subtotal :this.sf7.value.subtotal,
total:this.sf7.value.total,
insurancePackagedGoods: this.sf4.value.insurancePackagedGoods,
goodsValue: this.sf4.value.goodsValue
};
@ -1419,7 +1416,7 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
// 计算保价费金额
getInsurersPrice(insuranceType = this.sf5.value.insuranceType) {
console.log(this.totalDistance);
if (insuranceType !== '3' && this.sf4.value?.goodsValue >= 50000 && this.totalDistance > 0) {
if (insuranceType !== '3' && this.totalDistance > 0) {
const params = {
insuranceType,
goodsValue: this.sf4.value.goodsValue,
@ -1436,4 +1433,14 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
});
}
}
// 运费信息价格变更
priceChange(event:any, i:any){
i.setValue(event);
if(event>=99999){
this.modalService.warning({
nzTitle: '可输入的最大金额为99999元',
});
}
this.payChange()
}
}

View File

@ -180,7 +180,6 @@
</form>
</nz-card>
<nz-card>
<div class="card-title">货物信息</div>
<div nz-row>
@ -191,26 +190,26 @@
<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="总重量,必填" oninput="if(value>99999)value=99999;if(value<0)value=0" />
<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="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="体积" oninput="if(value>99999)value=99999;if(value<0)value=0" />
<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]="''">
<input nz-input type="number" [ngModel]="i.value" min="0" (ngModelChange)="i.setValue($event)" placeholder="件数"
oninput="if(value>99999)value=99999;if(value<0)value=0" />
<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]="50000" [nzMax]="2000000" [nzStep]="0.01"
(ngModelChange)="i.setValue($event);getInsurersPrice()" nzPlaceHolder="请输入50000-2000000之间数值">
<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>
@ -222,14 +221,22 @@
<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>
<ng-template #template1>香港、澳门、台湾、西藏、新疆不予承保,单次运输保额仅限200万元以内③保险详细内容及注意事项请<a target="_blank" [queryParams]="{ type: 10 }"
[routerLink]="['/agreement']">《保告知</a></ng-template>
</sf>
</div>
</div>
@ -247,71 +254,37 @@
<nz-card>
<div class="card-title">运费信息</div>
<div nz-row>
<div nz-col nzSpan="12">
<div nz-col nzSpan="8">
<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 [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" nzPlaceHolder="请输入0-99999"
(ngModelChange)="priceChange($event,i)" [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 [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" nzPlaceHolder="请输入0-99999"
(ngModelChange)="priceChange($event,i)" [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 [ngModel]="i.value" [nzMin]="0" [nzMax]="99999" [nzStep]="0.01" [nzPrecision]="2" nzPlaceHolder="请输入0-99999"
(ngModelChange)="priceChange($event,i)" [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="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="12">
<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 nz-row 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="12">
<div nz-col nzSpan="8">
<span>&nbsp;天内支付运费</span>
</div>
</div>
</div>
</ng-template>
</sf>

View File

@ -436,14 +436,13 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
map((res: any) => {
return [...res];
})
);
)
},
change: (tag: any, org: any) => {
if (tag === '3') {
if(tag === '3'){
this.sf5.setValue('/insurancePremium', null);
this.sf5.setValue('/insuranceRate', null);
} else {
console.log(tag);
}else {
this.getInsurersPrice(tag);
}
}
@ -453,29 +452,23 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
type1: {
type: 'string',
title: '',
enum: ['货源曝光率 +10', '车源匹配率 +10'],
readOnly: true,
ui: {
widget: 'checkbox',
widget: 'custom',
visibleIf: { insuranceType: (value: string) => value === '0' }
} as SFCheckboxWidgetSchema,
default: ['货源曝光率 +10', '车源匹配率 +10']
} ,
},
type2: {
type: 'string',
title: '',
enum: ['货源曝光率 +20', '车源匹配率 +20'],
readOnly: true,
ui: {
widget: 'checkbox',
widget: 'custom',
visibleIf: { insuranceType: (value: string) => value === '1' }
} as SFCheckboxWidgetSchema,
default: ['货源曝光率 +20', '车源匹配率 +20']
}
},
insurancePremium: {
type: 'string',
title: '服务包费用',
readOnly: true,
readOnly:true,
ui: {
visibleIf: { insuranceType: (value: string) => value !== '3' }
}
@ -502,9 +495,9 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
widget: 'custom',
visibleIf: { insuranceType: (value: string) => value === '1' }
}
}
},
},
required: ['insurancePremium']
required: [ 'insurancePremium']
};
this.ui5 = {
'*': {
@ -962,6 +955,8 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
...this.sf6.value,
expenseDTOList: expenseList,
paymentDays: this.sf7.value.paymentDays,
subtotal :this.sf7.value.subtotal,
total:this.sf7.value.total,
estimatedKilometers: this.totalDistance,
estimatedTravelTime: this.totalTime,
insurancePackagedGoods: this.sf4.value.insurancePackagedGoods,
@ -1192,7 +1187,7 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
getInsurersPrice(insuranceType = this.sf5.value?.insuranceType) {
console.log(insuranceType);
console.log(this.totalDistance);
if (insuranceType !== '3' && this.sf4.value?.goodsValue >= 50000 && this.totalDistance > 0) {
if (insuranceType !== '3' && this.totalDistance > 0) {
const params = {
insuranceType,
goodsValue: this.sf4.value.goodsValue,
@ -1209,4 +1204,14 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
});
}
}
// 运费信息价格变更
priceChange(event:any, i:any){
i.setValue(event);
if(event>=99999){
this.modalService.warning({
nzTitle: '可输入的最大金额为99999元',
});
}
this.payChange()
}
}