车辆接口更新
This commit is contained in:
		| @ -1,22 +1,17 @@ | ||||
| import { Router } from '@angular/router'; | ||||
| import { Component, OnInit, ViewChild } from '@angular/core'; | ||||
| import { Router } from '@angular/router'; | ||||
| import { STColumn, STComponent } from '@delon/abc/st'; | ||||
| import { SFComponent, SFDateWidgetSchema, SFSchema, SFSchemaEnum, SFSelectWidgetSchema, SFUISchema } from '@delon/form'; | ||||
| import { ModalHelper, _HttpClient } from '@delon/theme'; | ||||
| import { ShipperBaseService } from '@shared'; | ||||
| import { NzModalService } from 'ng-zorro-antd/modal'; | ||||
| import { of } from 'rxjs'; | ||||
| 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 { 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 { 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({ | ||||
|  | ||||
| @ -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> | ||||
|  | ||||
| @ -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); | ||||
|       } | ||||
|     }); | ||||
|  | ||||
| @ -4,7 +4,7 @@ | ||||
|  * @Author       : Shiming | ||||
|  * @Date         : 2021-12-03 15:31:52 | ||||
|  * @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 | ||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||
|  */ | ||||
| @ -144,8 +144,12 @@ export class OrderManagementService extends ShipperBaseService { | ||||
|     // 获取规则抽查分类统计 | ||||
|   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,获取企业历史网络货运人 | ||||
|    * @returns | ||||
|  | ||||
		Reference in New Issue
	
	Block a user