车辆接口更新
This commit is contained in:
@ -1,22 +1,17 @@
|
|||||||
import { Router } from '@angular/router';
|
|
||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
|
import { Router } from '@angular/router';
|
||||||
import { STColumn, STComponent } from '@delon/abc/st';
|
import { STColumn, STComponent } from '@delon/abc/st';
|
||||||
import { SFComponent, SFDateWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
|
import { SFComponent, SFDateWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
|
||||||
import { ModalHelper, _HttpClient } from '@delon/theme';
|
|
||||||
import { ShipperBaseService } from '@shared';
|
import { ShipperBaseService } from '@shared';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { of } from 'rxjs';
|
import { of } from 'rxjs';
|
||||||
import { map } from 'rxjs/operators';
|
import { map } from 'rxjs/operators';
|
||||||
import { UpdateFreightComponent } from '../../modal/bulk/update-freight/update-freight.component';
|
|
||||||
import { OneCarOrderCancelComponent } from '../../modal/vehicle/cancel/cancel.component';
|
|
||||||
import { VehicleConfirReceiptComponent } from '../../modal/vehicle/confir-receipt/confir-receipt.component';
|
import { VehicleConfirReceiptComponent } from '../../modal/vehicle/confir-receipt/confir-receipt.component';
|
||||||
import { VehicleSureArriveComponent } from '../../modal/vehicle/sure-arrive/sure-arrive.component';
|
|
||||||
import { VehicleSureDepartComponent } from '../../modal/vehicle/sure-depart/sure-depart.component';
|
|
||||||
import { VehicleUpdateFreightComponent } from '../../modal/vehicle/update-freight/update-freight.component';
|
|
||||||
import { OrderManagementService } from '../../services/order-management.service';
|
|
||||||
import { VehicleModifyRateComponent } from '../../modal/vehicle/modify-rate/modify-rate.component';
|
|
||||||
import { VehicleFreightPeopleComponent } from '../../modal/vehicle/freight-people/freight-people.component';
|
import { VehicleFreightPeopleComponent } from '../../modal/vehicle/freight-people/freight-people.component';
|
||||||
import { VehicleModifyCaptainComponent } from '../../modal/vehicle/modify-captain/modify-captain.component';
|
import { VehicleModifyCaptainComponent } from '../../modal/vehicle/modify-captain/modify-captain.component';
|
||||||
|
import { VehicleModifyRateComponent } from '../../modal/vehicle/modify-rate/modify-rate.component';
|
||||||
|
import { VehicleUpdateFreightComponent } from '../../modal/vehicle/update-freight/update-freight.component';
|
||||||
|
import { OrderManagementService } from '../../services/order-management.service';
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
|||||||
@ -4,19 +4,39 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-14 14:03:07
|
* @Date : 2021-12-14 14:03:07
|
||||||
* @LastEditors : Shiming
|
* @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
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\bulk\\update-freight\\update-freight.component.html
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* 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>
|
<nz-divider style="margin-top: 0"></nz-divider>
|
||||||
<div>
|
<div>
|
||||||
<p style="font-size: 16px">
|
<p style="font-size: 16px">
|
||||||
<span style="font-weight: bolder"
|
<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>
|
||||||
<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>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button nz-button type="button" (click)="close()">关闭</button>
|
<button nz-button type="button" (click)="close()">关闭</button>
|
||||||
|
|||||||
@ -25,12 +25,16 @@ export class UpdateFreightComponent implements OnInit {
|
|||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
data: any;
|
data: any;
|
||||||
|
freightTypeOptions: any;
|
||||||
|
|
||||||
calculateSub!: Subscription;
|
calculateSub!: Subscription;
|
||||||
constructor(private service: OrderManagementService, private modal: NzModalRef) {}
|
constructor(private service: OrderManagementService, private modal: NzModalRef) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.schema = this.initSF(this.data);
|
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 {
|
private initSF(data: any): SFSchema {
|
||||||
return {
|
return {
|
||||||
properties: {
|
properties: {
|
||||||
dto: {
|
freightPrice: {
|
||||||
type: 'object',
|
type: 'number',
|
||||||
properties: {
|
title: '运费单价',
|
||||||
freightPrice: {
|
ui: {
|
||||||
type: 'number',
|
placeholder: '请输入',
|
||||||
title: '运费单价',
|
widget: 'custom',
|
||||||
minimum: 0,
|
grid: { span: 12 },
|
||||||
maximum: 99999,
|
change: (val: any) => this.changeNumVal()
|
||||||
ui: {
|
} as SFStringWidgetSchema,
|
||||||
addOnAfter: data.freightTypeLabel,
|
default: data.freightPrice
|
||||||
placeholder: '请输入',
|
},
|
||||||
grid: {
|
rule: {
|
||||||
span: 12
|
title: '',
|
||||||
},
|
type: 'string',
|
||||||
change: (val: any) => this.changeNumVal()
|
default: data.rule,
|
||||||
} as SFStringWidgetSchema,
|
enum: [
|
||||||
default: data.freightPrice
|
{ label: '保留小数', value: '1' },
|
||||||
},
|
{ label: '抹除小数', value: '2' },
|
||||||
rule: {
|
{ label: '抹除个数', value: '3' }
|
||||||
title: '',
|
],
|
||||||
type: 'string',
|
ui: {
|
||||||
default: data.rule,
|
widget: 'select',
|
||||||
enum: [
|
spanLabelFixed: 10,
|
||||||
{ label: '保留小数', value: '1' },
|
grid: {
|
||||||
{ label: '抹除小数', value: '2' },
|
span: 10
|
||||||
{ 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
|
|
||||||
}
|
}
|
||||||
},
|
} as SFSelectWidgetSchema
|
||||||
required: ['freightPrice', 'settlementBasis']
|
},
|
||||||
|
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: {
|
changeCause: {
|
||||||
title: '审核备注',
|
title: '审核备注',
|
||||||
@ -182,8 +174,9 @@ export class UpdateFreightComponent implements OnInit {
|
|||||||
maxRows: 5
|
maxRows: 5
|
||||||
}
|
}
|
||||||
} as SFTextWidgetSchema
|
} as SFTextWidgetSchema
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
|
required: ['freightPrice', 'settlementBasis']
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -191,9 +184,10 @@ export class UpdateFreightComponent implements OnInit {
|
|||||||
if (this.calculateSub) {
|
if (this.calculateSub) {
|
||||||
this.calculateSub.unsubscribe();
|
this.calculateSub.unsubscribe();
|
||||||
}
|
}
|
||||||
|
const params = { billId: this.data.billId, changeCause: this.sf.value.changeCause, dto: {...this.sf.value} }
|
||||||
this.calculateSub = this.service
|
this.calculateSub = this.service
|
||||||
.request(this.service.$api_calculate_cost, { billId: this.data.billId, ...this.sf.value, changeCause: '' })
|
.request(this.service.$api_calculate_cost, params)
|
||||||
.subscribe(res => {
|
.subscribe((res: any) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
Object.assign(this.data, {
|
Object.assign(this.data, {
|
||||||
totalFreight: res.totalFreight,
|
totalFreight: res.totalFreight,
|
||||||
@ -205,14 +199,14 @@ export class UpdateFreightComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
save(value: any): void {
|
save(value: any): void {
|
||||||
console.log(this.sf.value)
|
|
||||||
if (!this.sf.valid) {
|
if (!this.sf.valid) {
|
||||||
this.sf.validator({ emitError: true });
|
this.sf.validator({ emitError: true });
|
||||||
return;
|
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) {
|
if (res) {
|
||||||
this.service.msgSrv.success('变更运费成功');
|
this.service.msgSrv.success('变更运费成功!');
|
||||||
this.modal.destroy(true);
|
this.modal.destroy(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
* @Author : Shiming
|
* @Author : Shiming
|
||||||
* @Date : 2021-12-03 15:31:52
|
* @Date : 2021-12-03 15:31:52
|
||||||
* @LastEditors : Shiming
|
* @LastEditors : Shiming
|
||||||
* @LastEditTime : 2022-01-24 15:51:21
|
* @LastEditTime : 2022-01-24 16:39:11
|
||||||
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts
|
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts
|
||||||
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
* Copyright (C) 2022 huzhenhong. All rights reserved.
|
||||||
*/
|
*/
|
||||||
@ -144,8 +144,12 @@ export class OrderManagementService extends ShipperBaseService {
|
|||||||
// 获取规则抽查分类统计
|
// 获取规则抽查分类统计
|
||||||
public $api_get_getComplianceStatisticalStatus = '/api/sdc/billOperate/getComplianceStatisticalStatus';
|
public $api_get_getComplianceStatisticalStatus = '/api/sdc/billOperate/getComplianceStatisticalStatus';
|
||||||
|
|
||||||
|
getDictByKey(dictKey: string) {
|
||||||
|
const params = { dictKey: dictKey };
|
||||||
|
return this.request(this.$api_getDictValue, params);
|
||||||
|
}
|
||||||
|
// 获取数据字典
|
||||||
|
$api_getDictValue = `/api/mdc/pbc/dictItems/getDictValue`;
|
||||||
/**
|
/**
|
||||||
* 根据企业ID,获取企业历史网络货运人
|
* 根据企业ID,获取企业历史网络货运人
|
||||||
* @returns
|
* @returns
|
||||||
|
|||||||
Reference in New Issue
Block a user