车辆接口更新

This commit is contained in:
wangshiming
2022-01-24 16:49:24 +08:00
parent 5ce1b29126
commit da1f474e57
4 changed files with 163 additions and 150 deletions

View File

@ -4,19 +4,39 @@
* @Author : Shiming
* @Date : 2021-12-14 14:03:07
* @LastEditors : Shiming
* @LastEditTime : 2022-01-18 17:21:21
* @LastEditTime : 2022-01-24 16:40:01
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\bulk\\update-freight\\update-freight.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<sf #sf [schema]="schema" [ui]="{ '*': { spanLabelFixed: 90, grid: { span: 24 } } }" [button]="'none'"> </sf>
<sf #sf [schema]="schema" [ui]="{ '*': { spanLabelFixed: 90, grid: { span: 24 } } }" [button]="'none'">
<ng-template sf-template="freightPrice" let-i let-ui="ui">
<nz-input-group [nzAddOnAfter]="addOnAfterTemplate">
<input
nz-input
type="number"
min="0"
step="0.01"
[ngModel]="i.value"
(ngModelChange)="i.setValue($event)"
placeholder="请输入"
oninput="if(value>99999)value=99999;if(value<0)value=0"
/>
</nz-input-group>
<ng-template #addOnAfterTemplate>
<nz-select [ngModel]="sf.value.freightType" (ngModelChange)="sf.setValue('/freightType', $event)" [nzDisabled]="true">
<nz-option [nzValue]="item.value" [nzLabel]="item.label" *ngFor="let item of freightTypeOptions"></nz-option>
</nz-select>
</ng-template>
</ng-template>
</sf>
<nz-divider style="margin-top: 0"></nz-divider>
<div>
<p style="font-size: 16px">
<span style="font-weight: bolder"
>总运费:<span style="color: #dc112a">{{ data.totalFreight | currency }}</span></span
>总运费:<span style="color: #dc112a">{{ data.totalFreight |currency }}</span></span
>
</p>
<p style="margin-bottom: 0"> 运输费:{{ data.freight | currency }},附加费:{{ data.surcharge | currency }}</p>
<p style="margin-bottom: 0"> 运输费:{{ data.freight |currency }},附加费:{{ data.surcharge |currency}}</p>
</div>
<div class="modal-footer">
<button nz-button type="button" (click)="close()">关闭</button>

View File

@ -25,12 +25,16 @@ export class UpdateFreightComponent implements OnInit {
@Input()
data: any;
freightTypeOptions: any;
calculateSub!: Subscription;
constructor(private service: OrderManagementService, private modal: NzModalRef) {}
ngOnInit(): void {
this.schema = this.initSF(this.data);
this.service.getDictByKey('freight:type').subscribe(res => {
this.freightTypeOptions = res;
});
}
/**
@ -39,134 +43,122 @@ export class UpdateFreightComponent implements OnInit {
private initSF(data: any): SFSchema {
return {
properties: {
dto: {
type: 'object',
properties: {
freightPrice: {
type: 'number',
title: '运费单价',
minimum: 0,
maximum: 99999,
ui: {
addOnAfter: data.freightTypeLabel,
placeholder: '请输入',
grid: {
span: 12
},
change: (val: any) => this.changeNumVal()
} as SFStringWidgetSchema,
default: data.freightPrice
},
rule: {
title: '',
type: 'string',
default: data.rule,
enum: [
{ label: '保留小数', value: '1' },
{ label: '抹除小数', value: '2' },
{ label: '抹除个数', value: '3' }
],
ui: {
widget: 'select',
spanLabelFixed: 10,
grid: {
span: 10
}
} as SFSelectWidgetSchema
},
settlementBasis: {
title: '结算依据',
type: 'string',
default: data.settlementBasis,
enum: [
{ label: '以收货为准', value: '1' },
{ label: '以发货为准', value: '2' }
],
ui: {
widget: 'select',
grid: {
span: 12
}
} as SFSelectWidgetSchema
},
blank1: {
title: '',
type: 'string',
ui: { widget: 'text', grid: { span: 12 }, class: 'input-back' },
default: ' '
},
freightType: {
title: '',
type: 'string',
ui: { hidden: true },
default: data.freightType
},
acceptWeight: {
type: 'number',
title: '装货重量',
default: data.acceptWeight,
minimum: 0,
maximum: 99999,
ui: {
unit: '吨',
placeholder: '请输入',
grid: {
span: 12
},
hideStep: true,
change: (val: any) => this.changeNumVal()
} as SFNumberWidgetSchema
},
acceptVolume: {
type: 'number',
title: '装货体积',
default: data.acceptVolume,
minimum: 0,
maximum: 99999,
ui: {
unit: '吨',
placeholder: '请输入',
grid: {
span: 12
},
hideStep: true,
change: (val: any) => this.changeNumVal()
} as SFNumberWidgetSchema
},
settlementWeight: {
type: 'number',
title: '卸货重量',
default: data.settlementWeight,
minimum: 0,
maximum: 99999,
ui: {
unit: '吨',
placeholder: '请输入',
grid: {
span: 12
},
hideStep: true,
change: (val: any) => this.changeNumVal()
} as SFNumberWidgetSchema
},
settlementVolume: {
type: 'number',
title: '卸货体积',
default: data.settlementVolume,
minimum: 0,
maximum: 99999,
ui: {
unit: '吨',
placeholder: '请输入',
grid: {
span: 12
},
hideStep: true,
change: (val: any) => this.changeNumVal()
} as SFNumberWidgetSchema
freightPrice: {
type: 'number',
title: '运费单价',
ui: {
placeholder: '请输入',
widget: 'custom',
grid: { span: 12 },
change: (val: any) => this.changeNumVal()
} as SFStringWidgetSchema,
default: data.freightPrice
},
rule: {
title: '',
type: 'string',
default: data.rule,
enum: [
{ label: '保留小数', value: '1' },
{ label: '抹除小数', value: '2' },
{ label: '抹除个数', value: '3' }
],
ui: {
widget: 'select',
spanLabelFixed: 10,
grid: {
span: 10
}
},
required: ['freightPrice', 'settlementBasis']
} as SFSelectWidgetSchema
},
settlementBasis: {
title: '结算依据',
type: 'string',
default: data.settlementBasis,
ui: {
widget: 'dict-select',
params: { dictKey: 'goodresource:settlement:type' },
containsAllLabel: false,
placeholder: '结算依据',
errors: { required: '请选择结算依据' },
grid: {span: 12}
} as SFSelectWidgetSchema
},
blank1: {
title: '',
type: 'string',
ui: { widget: 'text', grid: { span: 12 }, class: 'input-back' },
default: ' '
},
freightType: {
title: '',
type: 'string',
ui: { hidden: true },
default: data.freightType
},
acceptWeight: {
type: 'number',
title: '装货重量',
default: data.loadWeight || 0,
minimum: 0,
maximum: 99999,
ui: {
unit: '吨',
placeholder: '请输入',
grid: {
span: 12
},
hideStep: true,
change: (val: any) => this.changeNumVal()
} as SFNumberWidgetSchema
},
acceptVolume: {
type: 'number',
title: '装货体积',
default: data.loadVolume || 0,
minimum: 0,
maximum: 99999,
ui: {
unit: '方',
placeholder: '请输入',
grid: {
span: 12
},
hideStep: true,
change: (val: any) => this.changeNumVal()
} as SFNumberWidgetSchema
},
settlementWeight: {
type: 'number',
title: '卸货重量',
default: data.settlementWeight || 0,
minimum: 0,
maximum: 99999,
ui: {
unit: '吨',
placeholder: '请输入',
grid: {
span: 12
},
hideStep: true,
change: (val: any) => this.changeNumVal()
} as SFNumberWidgetSchema
},
settlementVolume: {
type: 'number',
title: '卸货体积',
default: data.settlementVolume || 0,
minimum: 0,
maximum: 99999,
ui: {
unit: '方',
placeholder: '请输入',
grid: {
span: 12
},
hideStep: true,
change: (val: any) => this.changeNumVal()
} as SFNumberWidgetSchema
},
changeCause: {
title: '审核备注',
@ -182,8 +174,9 @@ export class UpdateFreightComponent implements OnInit {
maxRows: 5
}
} as SFTextWidgetSchema
}
}
},
},
required: ['freightPrice', 'settlementBasis']
};
}
@ -191,9 +184,10 @@ export class UpdateFreightComponent implements OnInit {
if (this.calculateSub) {
this.calculateSub.unsubscribe();
}
const params = { billId: this.data.billId, changeCause: this.sf.value.changeCause, dto: {...this.sf.value} }
this.calculateSub = this.service
.request(this.service.$api_calculate_cost, { billId: this.data.billId, ...this.sf.value, changeCause: '' })
.subscribe(res => {
.request(this.service.$api_calculate_cost, params)
.subscribe((res: any) => {
if (res) {
Object.assign(this.data, {
totalFreight: res.totalFreight,
@ -205,14 +199,14 @@ export class UpdateFreightComponent implements OnInit {
}
save(value: any): void {
console.log(this.sf.value)
if (!this.sf.valid) {
this.sf.validator({ emitError: true });
return;
}
this.service.request(this.service.$api_change_bulk, { billId: this.data.billId, ...this.sf.value }).subscribe(res => {
const params = { billId: this.data.billId, changeCause: this.sf.value.changeCause, dto: {...this.sf.value} }
this.service.request(this.service.$api_change_bulk,params).subscribe((res: any) => {
if (res) {
this.service.msgSrv.success('变更运费成功');
this.service.msgSrv.success('变更运费成功');
this.modal.destroy(true);
}
});