Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop
This commit is contained in:
		| @ -18,6 +18,16 @@ module.exports = { | |||||||
|   //   secure: false, // Ignore invalid SSL certificates |   //   secure: false, // Ignore invalid SSL certificates | ||||||
|   //   changeOrigin: true |   //   changeOrigin: true | ||||||
|   // } |   // } | ||||||
|  |   // '//api': { | ||||||
|  |   //   target: { | ||||||
|  |   //     host: 'tms-api.yunduoxing.com', | ||||||
|  |   //     protocol: 'https:', | ||||||
|  |   //     port: 443 | ||||||
|  |   //   }, | ||||||
|  |   //   secure: false, | ||||||
|  |   //   changeOrigin: true, | ||||||
|  |   //   logLevel: 'debug' | ||||||
|  |   // }, | ||||||
|   '//api': { |   '//api': { | ||||||
|     target: { |     target: { | ||||||
|       host: 'tms-api-test.eascs.com', |       host: 'tms-api-test.eascs.com', | ||||||
|  | |||||||
							
								
								
									
										48
									
								
								src/app/routes/commom/less/trajectory.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								src/app/routes/commom/less/trajectory.less
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,48 @@ | |||||||
|  | :host::ng-deep { | ||||||
|  |     .text-truncate { | ||||||
|  |         white-space: normal; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     .map_st { | ||||||
|  |         max-height: 350px; | ||||||
|  |         max-width : 360px; | ||||||
|  |         position  : absolute; | ||||||
|  |         top       : 20px; | ||||||
|  |         right     : 49px; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     .map_radio { | ||||||
|  |         position     : absolute; | ||||||
|  |         top          : 20px; | ||||||
|  |         left         : 20px; | ||||||
|  |         background   : #F4F4F5; | ||||||
|  |         box-shadow   : 0px 2px 8px 1px rgb(0 0 0 / 10%); | ||||||
|  |         border-radius: 4px 4px 4px 4px; | ||||||
|  |  | ||||||
|  |         .ant-radio-button-wrapper { | ||||||
|  |             background: #F4F4F5; | ||||||
|  |             border    : unset; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         .ant-radio-button-wrapper-checked { | ||||||
|  |             color     : #CF3834; | ||||||
|  |             background: #ffffff; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled)::before { | ||||||
|  |             background-color: #d9d9d9; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | .detail_title { | ||||||
|  |     font-size  : 16px; | ||||||
|  |     font-weight: 500; | ||||||
|  |     color      : #252A3D; | ||||||
|  |     line-height: 24px; | ||||||
|  |  | ||||||
|  |     span { | ||||||
|  |         color      : #E60012; | ||||||
|  |         font-weight: 700; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -181,7 +181,7 @@ export class DatatableOrderReportingComponent implements OnInit { | |||||||
|             }, |             }, | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         putTime: { |         recentlyPutTime: { | ||||||
|           title: '上传时间', |           title: '上传时间', | ||||||
|           type: 'string', |           type: 'string', | ||||||
|           ui: { |           ui: { | ||||||
|  | |||||||
| @ -4,20 +4,17 @@ import format from 'date-fns/format'; | |||||||
| import { NzModalRef } from 'ng-zorro-antd/modal'; | import { NzModalRef } from 'ng-zorro-antd/modal'; | ||||||
| import { OrderManagementService } from 'src/app/routes/order-management/services/order-management.service'; | import { OrderManagementService } from 'src/app/routes/order-management/services/order-management.service'; | ||||||
|  |  | ||||||
|  |  | ||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-datatable-view-track', |   selector: 'app-datatable-view-track', | ||||||
|   templateUrl: './view-track.component.html', |   templateUrl: './view-track.component.html' | ||||||
| }) | }) | ||||||
| export class DatatableReportingvViewTrackComponent implements OnInit { | export class DatatableReportingvViewTrackComponent implements OnInit { | ||||||
|   mapList: any[] = []; //地图点位数据组 |   mapList: any[] = []; //地图点位数据组 | ||||||
|   addressItems: any[] = []; //打点地址数据组 |   addressItems: any[] = []; //打点地址数据组 | ||||||
|   trajectory = "car"; |   trajectory = 'car'; | ||||||
|   pois: any[] = []; |   pois: any[] = []; | ||||||
|   id = ''; |   id = ''; | ||||||
|   constructor(public service: OrderManagementService, private modalRef: NzModalRef, public router: Router) { |   constructor(public service: OrderManagementService, private modalRef: NzModalRef, public router: Router) {} | ||||||
|  |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   ngOnInit(): void { |   ngOnInit(): void { | ||||||
|     if (this.trajectory === 'car') { |     if (this.trajectory === 'car') { | ||||||
| @ -27,11 +24,7 @@ export class DatatableReportingvViewTrackComponent implements OnInit { | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   selectTab(e: any) {} | ||||||
|  |  | ||||||
|   selectTab(e: any) { |  | ||||||
|  |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   close(): void { |   close(): void { | ||||||
|     this.modalRef.destroy(); |     this.modalRef.destroy(); | ||||||
| @ -58,8 +51,6 @@ export class DatatableReportingvViewTrackComponent implements OnInit { | |||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|  |  | ||||||
|  |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   // 获取司机轨迹 |   // 获取司机轨迹 | ||||||
| @ -75,12 +66,16 @@ export class DatatableReportingvViewTrackComponent implements OnInit { | |||||||
|           }); |           }); | ||||||
|         }); |         }); | ||||||
|         this.mapList = list; |         this.mapList = list; | ||||||
|         this.addressItems = [...res.enclosureDataAppTrack]; |         const addressItems = [...res.tracks]; | ||||||
|         if (this.addressItems && this.addressItems.length > 0) { |         if (addressItems) { | ||||||
|           this.addressItems.forEach(item => { |           addressItems.forEach(item => { | ||||||
|             item.parkBte = item.parkBte ? this.getLocalTime(item.parkBte) : ''; |             // item.parkBte = item.gtm; | ||||||
|             item.cityName = item.appAdress; |             item.parkBte = this.getLocalTime(item.gtm); | ||||||
|  |             item.parkAdr = item.appAdress; | ||||||
|           }); |           }); | ||||||
|  |           this.addressItems = [...addressItems]; | ||||||
|  |         } else { | ||||||
|  |           this.addressItems = []; | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
| @ -88,5 +83,4 @@ export class DatatableReportingvViewTrackComponent implements OnInit { | |||||||
|   getLocalTime(time: any) { |   getLocalTime(time: any) { | ||||||
|     return format(new Date(parseInt(time)), 'yyyy-MM-dd HH:mm:ss'); |     return format(new Date(parseInt(time)), 'yyyy-MM-dd HH:mm:ss'); | ||||||
|   } |   } | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -30,7 +30,7 @@ export class AuthDrawerComponent implements OnInit { | |||||||
|   constructor(public service: MenuManagerService, private modal: NzModalService) {} |   constructor(public service: MenuManagerService, private modal: NzModalService) {} | ||||||
|  |  | ||||||
|   ngOnInit(): void { |   ngOnInit(): void { | ||||||
|     this.loadFunctions(); |     // this.loadFunctions(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   beforeReq = (requestOptions: STRequestOptions) => { |   beforeReq = (requestOptions: STRequestOptions) => { | ||||||
|  | |||||||
| @ -34,7 +34,8 @@ | |||||||
|         <sv label="所属项目">{{i?.goodsResource?.enterpriseProjectName}}</sv> |         <sv label="所属项目">{{i?.goodsResource?.enterpriseProjectName}}</sv> | ||||||
|         <sv label="服务类型">{{i?.goodsResource?.serviceTypeLabel}}</sv> |         <sv label="服务类型">{{i?.goodsResource?.serviceTypeLabel}}</sv> | ||||||
|         <sv label="录单员">{{i?.createUserName}} {{ i?.createUserPhone ? "/" + i?.createUserPhone : ''}} </sv> |         <sv label="录单员">{{i?.createUserName}} {{ i?.createUserPhone ? "/" + i?.createUserPhone : ''}} </sv> | ||||||
|         <sv label="调度员">{{i?.goodsResource?.dispatchName}}{{  i?.goodsResource?.dispatchPhone ? "/" + i?.goodsResource?.dispatchPhone : ''}} </sv> |         <sv label="调度员">{{i?.goodsResource?.dispatchName}}{{ i?.goodsResource?.dispatchPhone ? "/" + | ||||||
|  |           i?.goodsResource?.dispatchPhone : ''}} </sv> | ||||||
|       </div> |       </div> | ||||||
|       <nz-tabset style="margin-top: 15px;"> |       <nz-tabset style="margin-top: 15px;"> | ||||||
|         <nz-tab nzTitle="装卸货信息" (nzClick)="goDistance(distannce1)"> |         <nz-tab nzTitle="装卸货信息" (nzClick)="goDistance(distannce1)"> | ||||||
| @ -55,12 +56,8 @@ | |||||||
|   <div class="approval-status"> |   <div class="approval-status"> | ||||||
|     <div style="width: 60%; margin: 0 auto"> |     <div style="width: 60%; margin: 0 auto"> | ||||||
|         <nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical"> |         <nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical"> | ||||||
|            <nz-step |           <nz-step           *ngFor="let item of i?.scheduleVOList"     [nzTitle]="item.state"     | ||||||
|                   *ngFor="let item of i?.scheduleVOList" |           [nzSubtitle]="item.stateTime"     [nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'"  > | ||||||
|              [nzTitle]="item.state" |  | ||||||
|              [nzSubtitle]="item.stateTime" |  | ||||||
|              [nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'" |  | ||||||
|            > |  | ||||||
|             </nz-step> |             </nz-step> | ||||||
|          </nz-steps> |          </nz-steps> | ||||||
|     </div> |     </div> | ||||||
| @ -69,9 +66,7 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
| <nz-card> | <nz-card> | ||||||
|   <div class="card-title" |   <div class="card-title">装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</span></div> | ||||||
|     >装卸货信息<span class="tip-font">预计公里数:{{ totalDistance }}km,预计行程耗时:{{ totalTime }}小时</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"> | ||||||
| @ -82,14 +77,9 @@ | |||||||
|             <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 |                   <input nz-input [(ngModel)]="data1.detailedAddress" | ||||||
|                     nz-input |                     (click)="openMap('start', idx,data1.detailedAddress)" formControlName="loadAddress{{ idx }}" | ||||||
|                     [(ngModel)]="data1.detailedAddress" |                     placeholder="请输入装货地" readonly="true" /> | ||||||
|                     (click)="openMap('start', idx,data1.detailedAddress)" |  | ||||||
|                     formControlName="loadAddress{{ idx }}" |  | ||||||
|                     placeholder="请输入装货地" |  | ||||||
|                     readonly="true" |  | ||||||
|                   /> |  | ||||||
|                 </nz-input-group> |                 </nz-input-group> | ||||||
|               </div> |               </div> | ||||||
|             </nz-form-control> |             </nz-form-control> | ||||||
| @ -98,25 +88,12 @@ | |||||||
|             <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label> |             <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label> | ||||||
|             <div style="display: flex;"> |             <div style="display: flex;"> | ||||||
|               <nz-form-control [nzErrorTip]="'请输入联系人姓名'"> |               <nz-form-control [nzErrorTip]="'请输入联系人姓名'"> | ||||||
|                 <input |                 <input nz-input [(ngModel)]="data1.appUserName" formControlName="loadName{{ idx }}" | ||||||
|                   nz-input |                   name="loadName{{ idx }}" maxlength="30" placeholder="请输入联系人姓名" /> | ||||||
|                   [(ngModel)]="data1.appUserName" |  | ||||||
|                   formControlName="loadName{{ idx }}" |  | ||||||
|                   name="loadName{{ idx }}" |  | ||||||
|                   maxlength="30" |  | ||||||
|                   placeholder="请输入联系人姓名" |  | ||||||
|                 /> |  | ||||||
|               </nz-form-control> |               </nz-form-control> | ||||||
|               <nz-form-control [nzErrorTip]="'请输入联系人电话'"> |               <nz-form-control [nzErrorTip]="'请输入联系人电话'"> | ||||||
|                 <input |                 <input style="margin-left: 12px" nz-input [(ngModel)]="data1.contractTelephone" maxlength="11" | ||||||
|                   style="margin-left: 12px" |                   formControlName="loadPhone{{ idx }}" name="loadPhone{{ idx }}" placeholder="请输入联系人电话" /> | ||||||
|                   nz-input |  | ||||||
|                   [(ngModel)]="data1.contractTelephone" |  | ||||||
|                   maxlength="11" |  | ||||||
|                   formControlName="loadPhone{{ idx }}" |  | ||||||
|                   name="loadPhone{{ idx }}" |  | ||||||
|                   placeholder="请输入联系人电话" |  | ||||||
|                 /> |  | ||||||
|               </nz-form-control> |               </nz-form-control> | ||||||
|             </div> |             </div> | ||||||
|           </nz-form-item> |           </nz-form-item> | ||||||
| @ -124,8 +101,7 @@ | |||||||
|       </div> |       </div> | ||||||
|       <div nz-col [nzSpan]="4"> |       <div nz-col [nzSpan]="4"> | ||||||
|         <div style="display: flex; justify-content: center"> |         <div style="display: flex; justify-content: center"> | ||||||
|           <span class="swap-icon" (click)="swapAddress()"><i nz-icon nzType="swap" |           <span class="swap-icon" (click)="swapAddress()"><i nz-icon nzType="swap" nzTheme="outline"></i></span> | ||||||
|               nzTheme="outline"></i></span> |  | ||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|       <div nz-col [nzSpan]="10"> |       <div nz-col [nzSpan]="10"> | ||||||
| @ -135,15 +111,9 @@ | |||||||
|             <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 |                   <input nz-input [(ngModel)]="data2.detailedAddress" | ||||||
|                     nz-input |                     (click)="openMap('end', idx,data2.detailedAddress)" formControlName="unloadAddress{{ idx }}" | ||||||
|                     [(ngModel)]="data2.detailedAddress" |                     placeholder="请输入卸货地" name="unloadAddress{{ idx }}" readonly="true" /> | ||||||
|                     (click)="openMap('end', idx,data2.detailedAddress)" |  | ||||||
|                     formControlName="unloadAddress{{ idx }}" |  | ||||||
|                     placeholder="请输入卸货地" |  | ||||||
|                     name="unloadAddress{{ idx }}" |  | ||||||
|                     readonly="true" |  | ||||||
|                   /> |  | ||||||
|                 </nz-input-group> |                 </nz-input-group> | ||||||
|               </div> |               </div> | ||||||
|             </nz-form-control> |             </nz-form-control> | ||||||
| @ -152,25 +122,13 @@ | |||||||
|             <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label> |             <nz-form-label [nzSpan]="4" nzRequired>联系人</nz-form-label> | ||||||
|             <div style="display: flex;"> |             <div style="display: flex;"> | ||||||
|               <nz-form-control [nzErrorTip]="'请输入联系人姓名'"> |               <nz-form-control [nzErrorTip]="'请输入联系人姓名'"> | ||||||
|                 <input |                 <input nz-input [(ngModel)]="data2.appUserName" maxlength="30" formControlName="unloadName{{ idx }}" | ||||||
|                   nz-input |                   name="unloadAddress{{ idx }}" placeholder="请输入联系人姓名" /> | ||||||
|                   [(ngModel)]="data2.appUserName" |  | ||||||
|                   maxlength="30" |  | ||||||
|                   formControlName="unloadName{{ idx }}" |  | ||||||
|                   name="unloadAddress{{ idx }}" |  | ||||||
|                   placeholder="请输入联系人姓名" |  | ||||||
|                 /> |  | ||||||
|               </nz-form-control> |               </nz-form-control> | ||||||
|               <nz-form-control [nzErrorTip]="'请输入联系人电话'"> |               <nz-form-control [nzErrorTip]="'请输入联系人电话'"> | ||||||
|                 <input |                 <input style="margin-left: 12px" nz-input [(ngModel)]="data2.contractTelephone" | ||||||
|                   style="margin-left: 12px" |                   formControlName="unloadPhone{{ idx }}" name="unloadAddress{{ idx }}" maxlength="11" | ||||||
|                   nz-input |                   placeholder="请输入联系人电话" /> | ||||||
|                   [(ngModel)]="data2.contractTelephone" |  | ||||||
|                   formControlName="unloadPhone{{ idx }}" |  | ||||||
|                   name="unloadAddress{{ idx }}" |  | ||||||
|                   maxlength="11" |  | ||||||
|                   placeholder="请输入联系人电话" |  | ||||||
|                 /> |  | ||||||
|               </nz-form-control> |               </nz-form-control> | ||||||
|             </div> |             </div> | ||||||
|           </nz-form-item> |           </nz-form-item> | ||||||
| @ -207,31 +165,15 @@ | |||||||
|     </ng-template> |     </ng-template> | ||||||
|     <ng-template sf-template="volume" let-item let-ui="ui"> |     <ng-template sf-template="volume" let-item let-ui="ui"> | ||||||
|       <nz-input-group [nzAddOnAfter]="'方'"> |       <nz-input-group [nzAddOnAfter]="'方'"> | ||||||
|             <input |         <input nz-input type="number" [ngModel]="item.value" min="0" [max]="999999" step="0.01" | ||||||
|               nz-input |           (ngModelChange)="item.setValue($event)" placeholder="总体积" /> | ||||||
|               type="number" |  | ||||||
|               [ngModel]="item.value" |  | ||||||
|               min="0" |  | ||||||
|               [max]="999999" |  | ||||||
|               step="0.01" |  | ||||||
|               (ngModelChange)="item.setValue($event)" |  | ||||||
|               placeholder="总体积" |  | ||||||
|             /> |  | ||||||
|       </nz-input-group> |       </nz-input-group> | ||||||
|     </ng-template> |     </ng-template> | ||||||
|  |  | ||||||
|     <ng-template sf-template="number" let-item let-ui="ui"> |     <ng-template sf-template="number" let-item let-ui="ui"> | ||||||
|       <nz-input-group [nzAddOnAfter]="'车'"> |       <nz-input-group [nzAddOnAfter]="'车'"> | ||||||
|             <input |         <input nz-input type="number" [ngModel]="item.value" min="0" [max]="999999" step="0.01" | ||||||
|               nz-input |           (ngModelChange)="item.setValue($event)" placeholder="总车次" /> | ||||||
|               type="number" |  | ||||||
|               [ngModel]="item.value" |  | ||||||
|               min="0" |  | ||||||
|               [max]="999999" |  | ||||||
|               step="0.01" |  | ||||||
|               (ngModelChange)="item.setValue($event)" |  | ||||||
|               placeholder="总车次" |  | ||||||
|             /> |  | ||||||
|       </nz-input-group> |       </nz-input-group> | ||||||
|     </ng-template> |     </ng-template> | ||||||
|  |  | ||||||
| @ -258,11 +200,11 @@ | |||||||
| 结算依据为1时,卸货时间不为空,显示运费信息,否则隐藏 | 结算依据为1时,卸货时间不为空,显示运费信息,否则隐藏 | ||||||
| 结算依据为2时,装货时间不为空,显示运费信息,否则隐藏 | 结算依据为2时,装货时间不为空,显示运费信息,否则隐藏 | ||||||
|  --> |  --> | ||||||
|  <nz-card [nzTitle]="priceTitel" #distannce3 | <nz-card [nzTitle]="priceTitel" #distannce3 | ||||||
|   [hidden]="!(i?.settlementBasis ==='1' && i?.unloadTime) && !(i?.settlementBasis ==='2' && i?.loadTime)"> |   [hidden]="!(i?.settlementBasis ==='1' && i?.unloadTime) && !(i?.settlementBasis ==='2' && i?.loadTime)"> | ||||||
|   <ng-template #priceTitel> |   <ng-template #priceTitel> | ||||||
|     <span>运费信息</span><span |     <span>运费信息</span><span | ||||||
|      style="padding-left: 24px; color: #f59a23;font-size: small;">到货后{{i?.goodsResource.paymentDays}}天内支付运费</span> |       style="padding-left: 24px; color: #f59a23;font-size: small;">到货后{{i?.goodsResource?.paymentDays}}天内支付运费</span> | ||||||
|   </ng-template> |   </ng-template> | ||||||
|   <div style="margin-bottom: 18px"> |   <div style="margin-bottom: 18px"> | ||||||
|     <span style="color: #da001b; font-size: 18px"> {{ i?.freightPrice }}{{ i?.freightTypeLabel }} </span>({{ |     <span style="color: #da001b; font-size: 18px"> {{ i?.freightPrice }}{{ i?.freightTypeLabel }} </span>({{ | ||||||
| @ -283,14 +225,15 @@ | |||||||
|     currency }}, |     currency }}, | ||||||
|     附加费{{ i?.totalSurcharge | currency }},附加费率{{ i?.totalRate * 100 | number: '0.2-2' }}%) |     附加费{{ i?.totalSurcharge | currency }},附加费率{{ i?.totalRate * 100 | number: '0.2-2' }}%) | ||||||
|   </div> |   </div> | ||||||
|  <div *ngIf=" i?.payeeId !== i?.driverId" class="mt-xs">车队长:{{ i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeIdNo }}</div> |   <div *ngIf=" i?.payeeId !== i?.driverId" class="mt-xs">车队长:{{ i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeIdNo }} | ||||||
|  |   </div> | ||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
| <nz-card nzTitle="附件信息" #distannce4> | <nz-card nzTitle="附件信息" #distannce4> | ||||||
|   <sv-container> |   <sv-container> | ||||||
|     <sv label="协议附件"> |     <sv label="协议附件"> | ||||||
|       <a *ngIf = "i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a>      |       <a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a>      | ||||||
|       <a *ngIf = "i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a> |       <a *ngIf="i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a> | ||||||
|     </sv> |     </sv> | ||||||
|   </sv-container> |   </sv-container> | ||||||
|   <sv-container col="2" class="mt-md"> |   <sv-container col="2" class="mt-md"> | ||||||
| @ -305,7 +248,8 @@ | |||||||
|     <sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> |     <sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||||
|       {{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }} |       {{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }} | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{ i?.supplementaryInformationVO?.receiptUserName }} / {{ i?.supplementaryInformationVO?.phon }} </sv> |     <sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{ | ||||||
|  |       i?.supplementaryInformationVO?.receiptUserName }} / {{ i?.supplementaryInformationVO?.phon }} </sv> | ||||||
|     <sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> |     <sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||||
|       {{ i?.supplementaryInformationVO?.area }} |       {{ i?.supplementaryInformationVO?.area }} | ||||||
|     </sv> |     </sv> | ||||||
| @ -316,17 +260,9 @@ | |||||||
|   </sv-container> |   </sv-container> | ||||||
|   <sv-container col="1" class="mt-md"> |   <sv-container col="1" class="mt-md"> | ||||||
|     <sv label="回单凭证" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> |     <sv label="回单凭证" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||||
|       <nz-upload |       <nz-upload class="avatar-uploader" [nzAction]="service.$api_upload_url" [nzName]="'multipartFile'" | ||||||
|       class="avatar-uploader" |         nzListType="picture-card" [(nzFileList)]="listImagUrls" [nzShowButton]="listImagUrls.length < 5" | ||||||
|       [nzAction]="service.$api_upload_url" |         [nzPreview]="handlePreview1" [nzBeforeUpload]="beforeUpload" (nzChange)="handleChange1($event)"> | ||||||
|       [nzName]="'multipartFile'" |  | ||||||
|       nzListType="picture-card" |  | ||||||
|       [(nzFileList)]="listImagUrls" |  | ||||||
|       [nzShowButton]="listImagUrls.length < 5" |  | ||||||
|       [nzPreview]="handlePreview1" |  | ||||||
|       [nzBeforeUpload]="beforeUpload" |  | ||||||
|       (nzChange)="handleChange1($event)" |  | ||||||
|     > |  | ||||||
|         <div> |         <div> | ||||||
|           <i nz-icon nzType="plus"></i> |           <i nz-icon nzType="plus"></i> | ||||||
|           <div style="margin-top: 8px">请上传图片</div> |           <div style="margin-top: 8px">请上传图片</div> | ||||||
| @ -345,29 +281,26 @@ | |||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <nz-card> | <nz-card> | ||||||
|  |   <p class="detail_title" #distannce5><span>|</span> 轨迹信息</p> | ||||||
|   <div nz-row> |   <div nz-row> | ||||||
|     <nz-card nzTitle="轨迹信息" style="width: 100%" [nzExtra]="extraTemplate" #distannce5> |     <div nz-col [nzSpan]="24"> | ||||||
|       <div nz-row> |       <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList"> | ||||||
|         <div nz-col [nzSpan]="12"> |       </amap-path-simplifier> | ||||||
|           <st [scroll]="{y: '500px'}" style="min-height: 600px;" #st [data]="addressItems" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }"> |       <st [scroll]="{ y: '350px' }" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" | ||||||
|  |         [page]="{ show: false, showSize: false }" size="small" class="map_st"> | ||||||
|       </st> |       </st> | ||||||
|         </div> |       <nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)" class="map_radio"> | ||||||
|         <div nz-col [nzSpan]="12"> |  | ||||||
|           <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList"></amap-path-simplifier> |  | ||||||
|         </div> |  | ||||||
|       </div> |  | ||||||
|     </nz-card> |  | ||||||
|     <ng-template #extraTemplate> |  | ||||||
|       <nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)"> |  | ||||||
|         <label nz-radio-button nzValue="car">车辆轨迹</label> |         <label nz-radio-button nzValue="car">车辆轨迹</label> | ||||||
|         <label nz-radio-button nzValue="driver">司机轨迹</label> |         <label nz-radio-button nzValue="driver">司机轨迹</label> | ||||||
|       </nz-radio-group> |       </nz-radio-group> | ||||||
|     </ng-template> |     </div> | ||||||
|   </div> |   </div> | ||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
| <nz-modal [(nzVisible)]="isVisible"   [nzFooter]="nzModalFooter" [nzTitle]="modalTitle"  (nzOnOk)="handleOK()"  nzWidth="1000px" (nzOnCancel)="handleCancel()"> | <nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" (nzOnOk)="handleOK()" | ||||||
|  |   nzWidth="1000px" (nzOnCancel)="handleCancel()"> | ||||||
|   <ng-container *nzModalContent> |   <ng-container *nzModalContent> | ||||||
|     <div *ngIf="!modalcontent">暂无附件信息</div> |     <div *ngIf="!modalcontent">暂无附件信息</div> | ||||||
|     <div [innerHTML]="modalcontent"></div> |     <div [innerHTML]="modalcontent"></div> | ||||||
|  | |||||||
| @ -36,7 +36,7 @@ function getBase64(file: File): Promise<string | ArrayBuffer | null> { | |||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-supply-management-bulk-detail-change', |   selector: 'app-supply-management-bulk-detail-change', | ||||||
|   templateUrl: './bulk-detail-change.component.html', |   templateUrl: './bulk-detail-change.component.html', | ||||||
|   styleUrls: ['./bulk-detail-change.component.less'] |   styleUrls: ['./bulk-detail-change.component.less', '../../../commom/less/trajectory.less'] | ||||||
| }) | }) | ||||||
| export class OrderManagementBulkDetailChangeComponent implements OnInit { | export class OrderManagementBulkDetailChangeComponent implements OnInit { | ||||||
|   validateForm1: FormGroup; |   validateForm1: FormGroup; | ||||||
| @ -932,7 +932,7 @@ export class OrderManagementBulkDetailChangeComponent implements OnInit { | |||||||
|   handleOK() { |   handleOK() { | ||||||
|     this.isVisible = false; |     this.isVisible = false; | ||||||
|   } |   } | ||||||
|   goDistance(elf: NzCardComponent) { |   goDistance(elf: any) { | ||||||
|     if (elf) { |     if (elf) { | ||||||
|       elf['elementRef'].nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'start' }); |       elf['elementRef'].nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'start' }); | ||||||
|     } |     } | ||||||
| @ -997,12 +997,16 @@ export class OrderManagementBulkDetailChangeComponent implements OnInit { | |||||||
|           }); |           }); | ||||||
|         }); |         }); | ||||||
|         this.mapList = list; |         this.mapList = list; | ||||||
|         this.addressItems = [...res?.enclosureDataAppTrack]; |         const addressItems = [...res.tracks]; | ||||||
|         if (this.addressItems && this.addressItems.length > 0) { |         if (addressItems) { | ||||||
|           this.addressItems.forEach(item => { |           addressItems.forEach(item => { | ||||||
|             item.vinOutTime = this.getLocalTime(item.gtm); |             // item.parkBte = item.gtm; | ||||||
|             item.cityName = item.appAdress; |             item.parkBte = this.getLocalTime(item.gtm); | ||||||
|  |             item.parkAdr = item.appAdress; | ||||||
|           }); |           }); | ||||||
|  |           this.addressItems = [...addressItems]; | ||||||
|  |         } else { | ||||||
|  |           this.addressItems = []; | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|  | |||||||
| @ -205,28 +205,22 @@ | |||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
| <nz-card> | <nz-card> | ||||||
|  |   <p class="detail_title" #distannce5><span>|</span> 轨迹信息</p> | ||||||
|   <div nz-row> |   <div nz-row> | ||||||
|     <nz-card nzTitle="轨迹信息" style="width: 100%" [nzExtra]="extraTemplate" #distannce5> |     <div nz-col [nzSpan]="24"> | ||||||
|       <div nz-row> |       <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList" [pois]="pois"> | ||||||
|         <div nz-col [nzSpan]="12"> |  | ||||||
|           <st [scroll]="{y: '500px'}" style="min-height: 600px;" #st [data]="addressItems" [columns]="logColumns2" |  | ||||||
|             [ps]="0" [page]="{ show: false, showSize: false }"> |  | ||||||
|           </st> |  | ||||||
|         </div> |  | ||||||
|         <div nz-col [nzSpan]="12"> |  | ||||||
|           <amap-path-simplifier [mapWidth]="'100%'" [pois]="pois" [mapHeight]="'600px'" [mapList]="mapList"> |  | ||||||
|       </amap-path-simplifier> |       </amap-path-simplifier> | ||||||
|         </div> |       <st [scroll]="{ y: '350px' }" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" | ||||||
|       </div> |         [page]="{ show: false, showSize: false }" size="small" class="map_st"> | ||||||
|     </nz-card> |       </st> | ||||||
|     <ng-template #extraTemplate> |       <nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)" class="map_radio"> | ||||||
|       <nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)"> |  | ||||||
|         <label nz-radio-button nzValue="car">车辆轨迹</label> |         <label nz-radio-button nzValue="car">车辆轨迹</label> | ||||||
|         <label nz-radio-button nzValue="driver">司机轨迹</label> |         <label nz-radio-button nzValue="driver">司机轨迹</label> | ||||||
|       </nz-radio-group> |       </nz-radio-group> | ||||||
|     </ng-template> |     </div> | ||||||
|   </div> |   </div> | ||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
| <nz-card> | <nz-card> | ||||||
|   <nz-tabset> |   <nz-tabset> | ||||||
|     <nz-tab nzTitle="风险异常检测"> |     <nz-tab nzTitle="风险异常检测"> | ||||||
|  | |||||||
| @ -22,7 +22,7 @@ import format from 'date-fns/format'; | |||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-supply-management-bulk-detail', |   selector: 'app-supply-management-bulk-detail', | ||||||
|   templateUrl: './bulk-detail.component.html', |   templateUrl: './bulk-detail.component.html', | ||||||
|   styleUrls: ['./bulk-detail.component.less'] |   styleUrls: ['./bulk-detail.component.less', '../../../commom/less/trajectory.less'] | ||||||
| }) | }) | ||||||
| export class OrderManagementBulkeDetailComponent implements OnInit { | export class OrderManagementBulkeDetailComponent implements OnInit { | ||||||
|   MapList: any[] = []; |   MapList: any[] = []; | ||||||
| @ -50,7 +50,7 @@ export class OrderManagementBulkeDetailComponent implements OnInit { | |||||||
|   operateLogColums: STColumn[] = [ |   operateLogColums: STColumn[] = [ | ||||||
|     { title: '内容', index: 'operationContent' }, |     { title: '内容', index: 'operationContent' }, | ||||||
|     { title: '操作人', render: 'operator' }, |     { title: '操作人', render: 'operator' }, | ||||||
|     { title: '操作时间', index: 'operatorTimestamp' }, |     { title: '操作时间', index: 'operatorTimestamp' } | ||||||
|   ]; |   ]; | ||||||
|   logColumns: STColumn[] = [ |   logColumns: STColumn[] = [ | ||||||
|     { title: '款项', index: 'expenseCodeLabel' }, |     { title: '款项', index: 'expenseCodeLabel' }, | ||||||
| @ -73,7 +73,7 @@ export class OrderManagementBulkeDetailComponent implements OnInit { | |||||||
|     } |     } | ||||||
|   ]; |   ]; | ||||||
|   get logParams() { |   get logParams() { | ||||||
|     return { operateObject: this.i?.billCode, operateTypeList: ['3','8'] } |     return { operateObject: this.i?.billCode, operateTypeList: ['3', '8'] }; | ||||||
|   } |   } | ||||||
|   trajectory = 'car'; |   trajectory = 'car'; | ||||||
|   mapList: any[] = []; //地图点位数据组 |   mapList: any[] = []; //地图点位数据组 | ||||||
| @ -117,18 +117,20 @@ export class OrderManagementBulkeDetailComponent implements OnInit { | |||||||
|             time: '计划卸货时间:' + res.unloadPlanTime |             time: '计划卸货时间:' + res.unloadPlanTime | ||||||
|           } |           } | ||||||
|         ]; |         ]; | ||||||
|         this.service.request(this.service.$api_get_log_list,{operateObject: this.i?.billCode, operateTypeList: ['3','8']}).subscribe(res => { |         this.service | ||||||
|  |           .request(this.service.$api_get_log_list, { operateObject: this.i?.billCode, operateTypeList: ['3', '8'] }) | ||||||
|  |           .subscribe(res => { | ||||||
|             if (res) { |             if (res) { | ||||||
|               console.log('操作日志'); |               console.log('操作日志'); | ||||||
|               console.log(res); |               console.log(res); | ||||||
|             let a :any= [] |               let a: any = []; | ||||||
|               res.records.forEach((item: any) => { |               res.records.forEach((item: any) => { | ||||||
|                 a.push({ |                 a.push({ | ||||||
|                 value: `操作人: ${item.operator} <br /> 操作内容: ${  item.operationContent}`, |                   value: `操作人: ${item.operator} <br /> 操作内容: ${item.operationContent}`, | ||||||
|                   time: item.operatorTimestamp, |                   time: item.operatorTimestamp, | ||||||
|                   color: 'green' |                   color: 'green' | ||||||
|               }) |                 }); | ||||||
|             }) |               }); | ||||||
|               console.log(a); |               console.log(a); | ||||||
|               this.operationList = a; |               this.operationList = a; | ||||||
|             } |             } | ||||||
| @ -147,10 +149,9 @@ export class OrderManagementBulkeDetailComponent implements OnInit { | |||||||
|       if (res) { |       if (res) { | ||||||
|         console.log('异常预警'); |         console.log('异常预警'); | ||||||
|         console.log(res); |         console.log(res); | ||||||
|         this.warringList = res |         this.warringList = res; | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|    |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   goBack() { |   goBack() { | ||||||
| @ -178,7 +179,7 @@ export class OrderManagementBulkeDetailComponent implements OnInit { | |||||||
|   handleOK() { |   handleOK() { | ||||||
|     this.isVisible = false; |     this.isVisible = false; | ||||||
|   } |   } | ||||||
|   goDistance(elf: NzCardComponent) { |   goDistance(elf: any) { | ||||||
|     if (elf) { |     if (elf) { | ||||||
|       elf['elementRef'].nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'start' }); |       elf['elementRef'].nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'start' }); | ||||||
|     } |     } | ||||||
| @ -237,12 +238,16 @@ export class OrderManagementBulkeDetailComponent implements OnInit { | |||||||
|           }); |           }); | ||||||
|         }); |         }); | ||||||
|         this.mapList = list; |         this.mapList = list; | ||||||
|         this.addressItems = [...res.enclosureDataAppTrack]; |         const addressItems = [...res.tracks]; | ||||||
|         if (this.addressItems && this.addressItems.length > 0) { |         if (addressItems) { | ||||||
|           this.addressItems.forEach(item => { |           addressItems.forEach(item => { | ||||||
|             item.vinOutTime = this.getLocalTime(item.gtm); |             // item.parkBte = item.gtm; | ||||||
|             item.cityName = item.appAdress; |             item.parkBte = this.getLocalTime(item.gtm); | ||||||
|  |             item.parkAdr = item.appAdress; | ||||||
|           }); |           }); | ||||||
|  |           this.addressItems = [...addressItems]; | ||||||
|  |         } else { | ||||||
|  |           this.addressItems = []; | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|  | |||||||
| @ -317,26 +317,22 @@ | |||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
| <nz-card> | <nz-card> | ||||||
|  |   <p class="detail_title" #distannce5><span>|</span> 轨迹信息</p> | ||||||
|   <div nz-row> |   <div nz-row> | ||||||
|     <nz-card nzTitle="轨迹信息" style="width: 100%" [nzExtra]="extraTemplate" #distannce5> |     <div nz-col [nzSpan]="24"> | ||||||
|       <div nz-row> |       <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList"> | ||||||
|         <div nz-col [nzSpan]="12"> |       </amap-path-simplifier> | ||||||
|           <st [scroll]="{y: '500px'}" style="min-height: 600px;" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }"> |       <st [scroll]="{ y: '350px' }" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" | ||||||
|  |         [page]="{ show: false, showSize: false }" size="small" class="map_st"> | ||||||
|       </st> |       </st> | ||||||
|         </div> |       <nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)" class="map_radio"> | ||||||
|         <div nz-col [nzSpan]="12"> |  | ||||||
|           <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList"></amap-path-simplifier> |  | ||||||
|         </div> |  | ||||||
|       </div> |  | ||||||
|     </nz-card> |  | ||||||
|     <ng-template #extraTemplate> |  | ||||||
|       <nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)"> |  | ||||||
|         <label nz-radio-button nzValue="car">车辆轨迹</label> |         <label nz-radio-button nzValue="car">车辆轨迹</label> | ||||||
|         <label nz-radio-button nzValue="driver">司机轨迹</label> |         <label nz-radio-button nzValue="driver">司机轨迹</label> | ||||||
|       </nz-radio-group> |       </nz-radio-group> | ||||||
|     </ng-template> |     </div> | ||||||
|   </div> |   </div> | ||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
| <nz-modal [(nzVisible)]="isVisible"  nzWidth="1000px"  [nzFooter]="nzModalFooter" [nzTitle]="modalTitle"  (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()"> | <nz-modal [(nzVisible)]="isVisible"  nzWidth="1000px"  [nzFooter]="nzModalFooter" [nzTitle]="modalTitle"  (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()"> | ||||||
|   <ng-container *nzModalContent> |   <ng-container *nzModalContent> | ||||||
|     <div *ngIf="!modalcontent">暂无附件信息</div> |     <div *ngIf="!modalcontent">暂无附件信息</div> | ||||||
|  | |||||||
| @ -34,7 +34,7 @@ function getBase64(file: File): Promise<string | ArrayBuffer | null> { | |||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-supply-management-vehicle-detail-change', |   selector: 'app-supply-management-vehicle-detail-change', | ||||||
|   templateUrl: './vehicle-detail-change.component.html', |   templateUrl: './vehicle-detail-change.component.html', | ||||||
|   styleUrls: ['./vehicle-detail-change.component.less'] |   styleUrls: ['./vehicle-detail-change.component.less', '../../../commom/less/trajectory.less'] | ||||||
| }) | }) | ||||||
| export class OrderManagementVehicleDetailChangeComponent implements OnInit { | export class OrderManagementVehicleDetailChangeComponent implements OnInit { | ||||||
|   validateForm1: FormGroup; |   validateForm1: FormGroup; | ||||||
| @ -317,8 +317,8 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit { | |||||||
|   } |   } | ||||||
|   initData() { |   initData() { | ||||||
|     this.service.request(this.service.$api_get_getWholeBillDetail, { id: this.id }).subscribe(res => { |     this.service.request(this.service.$api_get_getWholeBillDetail, { id: this.id }).subscribe(res => { | ||||||
|       console.log(res); |       // console.log(res); | ||||||
|       console.log(JSON.stringify(res)); |       // console.log(JSON.stringify(res)); | ||||||
|       if (res) { |       if (res) { | ||||||
|         this.i = res; |         this.i = res; | ||||||
|         // this.initSF(); |         // this.initSF(); | ||||||
| @ -871,7 +871,7 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit { | |||||||
|   handleOK() { |   handleOK() { | ||||||
|     this.isVisible = false; |     this.isVisible = false; | ||||||
|   } |   } | ||||||
|   goDistance(elf: NzCardComponent) { |   goDistance(elf: any) { | ||||||
|     if (elf) { |     if (elf) { | ||||||
|       elf['elementRef'].nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'start' }); |       elf['elementRef'].nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'start' }); | ||||||
|       // elf['elementRef'].nativeElement.className = 'target-fix' |       // elf['elementRef'].nativeElement.className = 'target-fix' | ||||||
| @ -952,12 +952,16 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit { | |||||||
|           }); |           }); | ||||||
|         }); |         }); | ||||||
|         this.mapList = list; |         this.mapList = list; | ||||||
|         this.addressItems = [...res?.enclosureDataAppTrack]; |         const addressItems = [...res.tracks]; | ||||||
|         if (this.addressItems && this.addressItems.length > 0) { |         if (addressItems) { | ||||||
|           this.addressItems.forEach(item => { |           addressItems.forEach(item => { | ||||||
|             item.vinOutTime = this.getLocalTime(item.gtm); |             // item.parkBte = item.gtm; | ||||||
|             item.cityName = item.appAdress; |             item.parkBte = this.getLocalTime(item.gtm); | ||||||
|  |             item.parkAdr = item.appAdress; | ||||||
|           }); |           }); | ||||||
|  |           this.addressItems = [...addressItems]; | ||||||
|  |         } else { | ||||||
|  |           this.addressItems = []; | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|  | |||||||
| @ -58,7 +58,6 @@ | |||||||
| <nz-card nzTitle="运单进度" #distannce1> | <nz-card nzTitle="运单进度" #distannce1> | ||||||
|   <div class="approval-status"> |   <div class="approval-status"> | ||||||
|     <div style="width: 60%; margin: 0 auto"> |     <div style="width: 60%; margin: 0 auto"> | ||||||
|         |  | ||||||
|       <nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical"> |       <nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical"> | ||||||
|         <nz-step *ngFor="let item of i?.scheduleVOList" [nzTitle]="item.state" [nzSubtitle]="item.stateTime" |         <nz-step *ngFor="let item of i?.scheduleVOList" [nzTitle]="item.state" [nzSubtitle]="item.stateTime" | ||||||
|           [nzDescription]="item.cancelReason ? '取消原因:' + item.cancelReason : ''" |           [nzDescription]="item.cancelReason ? '取消原因:' + item.cancelReason : ''" | ||||||
| @ -207,29 +206,23 @@ | |||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
| <nz-card> | <nz-card> | ||||||
|  |   <p class="detail_title" #distannce5><span>|</span> 轨迹信息</p> | ||||||
|   <div nz-row> |   <div nz-row> | ||||||
|     <nz-card nzTitle="轨迹信息" style="width: 100%" [nzExtra]="extraTemplate" #distannce5> |     <div nz-col [nzSpan]="24"> | ||||||
|       <div nz-row> |  | ||||||
|         <div nz-col [nzSpan]="12"> |  | ||||||
|           <st [scroll]="{ y: '500px' }" style="min-height: 600px" #st [data]="addressItems" [columns]="logColumns2" |  | ||||||
|             [ps]="0" [page]="{ show: false, showSize: false }"> |  | ||||||
|           </st> |  | ||||||
|         </div> |  | ||||||
|         <div nz-col [nzSpan]="12"> |  | ||||||
|       <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList" [pois]="pois"> |       <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList" [pois]="pois"> | ||||||
|       </amap-path-simplifier> |       </amap-path-simplifier> | ||||||
|         </div> |       <st [scroll]="{ y: '350px' }" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" | ||||||
|       </div> |         [page]="{ show: false, showSize: false }" size="small" class="map_st"> | ||||||
|     </nz-card> |       </st> | ||||||
|     <ng-template #extraTemplate> |       <nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)" class="map_radio"> | ||||||
|       <nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)"> |  | ||||||
|         <label nz-radio-button nzValue="car">车辆轨迹</label> |         <label nz-radio-button nzValue="car">车辆轨迹</label> | ||||||
|         <label nz-radio-button nzValue="driver">司机轨迹</label> |         <label nz-radio-button nzValue="driver">司机轨迹</label> | ||||||
|       </nz-radio-group> |       </nz-radio-group> | ||||||
|     </ng-template> |     </div> | ||||||
|   </div> |   </div> | ||||||
| </nz-card> | </nz-card> | ||||||
| <nz-card > |  | ||||||
|  | <nz-card> | ||||||
|   <nz-tabset> |   <nz-tabset> | ||||||
|     <nz-tab nzTitle="风险异常检测"> |     <nz-tab nzTitle="风险异常检测"> | ||||||
|       <div *ngIf="abnormalList.length > 0"> |       <div *ngIf="abnormalList.length > 0"> | ||||||
|  | |||||||
| @ -19,7 +19,7 @@ import { OrderManagementService } from '../../services/order-management.service' | |||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-supply-management-vehicle-detail', |   selector: 'app-supply-management-vehicle-detail', | ||||||
|   templateUrl: './vehicle-detail.component.html', |   templateUrl: './vehicle-detail.component.html', | ||||||
|   styleUrls: ['./vehicle-detail.component.less'] |   styleUrls: ['./vehicle-detail.component.less', '../../../commom/less/trajectory.less'] | ||||||
| }) | }) | ||||||
| export class OrderManagementVehicleDetailComponent implements OnInit { | export class OrderManagementVehicleDetailComponent implements OnInit { | ||||||
|   id = this.route.snapshot.params.id; |   id = this.route.snapshot.params.id; | ||||||
| @ -46,7 +46,7 @@ export class OrderManagementVehicleDetailComponent implements OnInit { | |||||||
|   approvalLsit: any; |   approvalLsit: any; | ||||||
|   isVisible = false; |   isVisible = false; | ||||||
|   logColumns2: STColumn[] = [ |   logColumns2: STColumn[] = [ | ||||||
|     { title: '时间', index: 'parkBte' }, |     { title: '时间', index: 'parkBte', width: 120, className: 'text-center' }, | ||||||
|     { title: '地点', index: 'parkAdr' } |     { title: '地点', index: 'parkAdr' } | ||||||
|   ]; |   ]; | ||||||
|   logColumns3: STColumn[] = [ |   logColumns3: STColumn[] = [ | ||||||
| @ -56,7 +56,7 @@ export class OrderManagementVehicleDetailComponent implements OnInit { | |||||||
|   operateLogColums: STColumn[] = [ |   operateLogColums: STColumn[] = [ | ||||||
|     { title: '内容', index: 'operationContent' }, |     { title: '内容', index: 'operationContent' }, | ||||||
|     { title: '操作人', render: 'operator' }, |     { title: '操作人', render: 'operator' }, | ||||||
|     { title: '操作时间', index: 'operatorTimestamp' }, |     { title: '操作时间', index: 'operatorTimestamp' } | ||||||
|   ]; |   ]; | ||||||
|   logColumns: STColumn[] = [ |   logColumns: STColumn[] = [ | ||||||
|     { title: '款项', index: 'expenseCodeLabel' }, |     { title: '款项', index: 'expenseCodeLabel' }, | ||||||
| @ -84,7 +84,7 @@ export class OrderManagementVehicleDetailComponent implements OnInit { | |||||||
|     this.getTrajectory(); |     this.getTrajectory(); | ||||||
|   } |   } | ||||||
|   get logParams() { |   get logParams() { | ||||||
|     return { operateObject: this.i?.billCode, operateTypeList: ['3','8'] } |     return { operateObject: this.i?.billCode, operateTypeList: ['3', '8'] }; | ||||||
|   } |   } | ||||||
|   initData() { |   initData() { | ||||||
|     this.service.request(this.service.$api_get_getWholeBillDetail, { id: this.id }).subscribe(res => { |     this.service.request(this.service.$api_get_getWholeBillDetail, { id: this.id }).subscribe(res => { | ||||||
| @ -108,18 +108,20 @@ export class OrderManagementVehicleDetailComponent implements OnInit { | |||||||
|             time: '计划卸货时间:' + res.unloadPlanTime |             time: '计划卸货时间:' + res.unloadPlanTime | ||||||
|           } |           } | ||||||
|         ]; |         ]; | ||||||
|         this.service.request(this.service.$api_get_log_list,{operateObject: this.i?.billCode, operateTypeList: ['3','8']}).subscribe(res => { |         this.service | ||||||
|  |           .request(this.service.$api_get_log_list, { operateObject: this.i?.billCode, operateTypeList: ['3', '8'] }) | ||||||
|  |           .subscribe(res => { | ||||||
|             if (res) { |             if (res) { | ||||||
|               console.log('操作日志'); |               console.log('操作日志'); | ||||||
|               console.log(res); |               console.log(res); | ||||||
|             let a :any= [] |               let a: any = []; | ||||||
|               res.records.forEach((item: any) => { |               res.records.forEach((item: any) => { | ||||||
|                 a.push({ |                 a.push({ | ||||||
|                 value: `操作人: ${item.operator} <br /> 操作内容: ${  item.operationContent}`, |                   value: `操作人: ${item.operator} <br /> 操作内容: ${item.operationContent}`, | ||||||
|                   time: item.operatorTimestamp, |                   time: item.operatorTimestamp, | ||||||
|                   color: 'green' |                   color: 'green' | ||||||
|               }) |                 }); | ||||||
|             }) |               }); | ||||||
|               console.log(a); |               console.log(a); | ||||||
|               this.operationList = a; |               this.operationList = a; | ||||||
|             } |             } | ||||||
| @ -140,10 +142,9 @@ export class OrderManagementVehicleDetailComponent implements OnInit { | |||||||
|       if (res) { |       if (res) { | ||||||
|         console.log('异常预警'); |         console.log('异常预警'); | ||||||
|         console.log(res); |         console.log(res); | ||||||
|         this.warringList = res |         this.warringList = res; | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|     |  | ||||||
|   } |   } | ||||||
|   // 取消订单 |   // 取消订单 | ||||||
|   cancellation() { |   cancellation() { | ||||||
| @ -185,7 +186,7 @@ export class OrderManagementVehicleDetailComponent implements OnInit { | |||||||
|     this.isVisible = false; |     this.isVisible = false; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   goDistance(elf: NzCardComponent) { |   goDistance(elf: any) { | ||||||
|     if (elf) { |     if (elf) { | ||||||
|       elf['elementRef'].nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'start' }); |       elf['elementRef'].nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'start' }); | ||||||
|       // elf['elementRef'].nativeElement.className = 'target-fix' |       // elf['elementRef'].nativeElement.className = 'target-fix' | ||||||
| @ -205,11 +206,14 @@ export class OrderManagementVehicleDetailComponent implements OnInit { | |||||||
|           }); |           }); | ||||||
|         }); |         }); | ||||||
|         this.mapList = list; |         this.mapList = list; | ||||||
|         this.addressItems = res.parkArray; |         const addressItems: any[] = res.parkArray; | ||||||
|         if (this.addressItems && this.addressItems.length > 0) { |         if (addressItems?.length > 0) { | ||||||
|           this.addressItems.forEach(item => { |           addressItems.forEach(item => { | ||||||
|             item.parkBte = this.getLocalTime(item.parkBte); |             item.parkBte = this.getLocalTime(item.parkBte); | ||||||
|           }); |           }); | ||||||
|  |           this.addressItems = [...addressItems]; | ||||||
|  |         } else { | ||||||
|  |           this.addressItems = []; | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
| @ -228,13 +232,17 @@ export class OrderManagementVehicleDetailComponent implements OnInit { | |||||||
|             time: item.gtm |             time: item.gtm | ||||||
|           }); |           }); | ||||||
|         }); |         }); | ||||||
|         this.mapList = list; |         this.mapList = list || []; | ||||||
|         this.addressItems = [...res.enclosureDataAppTrack]; |         const addressItems = [...res.tracks]; | ||||||
|         if (this.addressItems && this.addressItems.length > 0) { |         if (addressItems) { | ||||||
|           this.addressItems.forEach(item => { |           addressItems.forEach(item => { | ||||||
|             item.vinOutTime = this.getLocalTime(item.gtm); |             // item.parkBte = item.gtm; | ||||||
|             item.cityName = item.appAdress; |             item.parkBte = this.getLocalTime(item.gtm); | ||||||
|  |             item.parkAdr = item.appAdress; | ||||||
|           }); |           }); | ||||||
|  |           this.addressItems = [...addressItems]; | ||||||
|  |         } else { | ||||||
|  |           this.addressItems = []; | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|  | |||||||
| @ -859,7 +859,7 @@ export class OrderManagementVehicleComponent extends BasicTableComponent impleme | |||||||
|     const modalRef = this.modal.create({ |     const modalRef = this.modal.create({ | ||||||
|       nzTitle: '查看轨迹', |       nzTitle: '查看轨迹', | ||||||
|       nzContent: OneCarOrderViewtrackComponent, |       nzContent: OneCarOrderViewtrackComponent, | ||||||
|       nzWidth: '800px', |       nzWidth: '900px', | ||||||
|       nzComponentParams: { |       nzComponentParams: { | ||||||
|         i: item |         i: item | ||||||
|       }, |       }, | ||||||
|  | |||||||
| @ -8,25 +8,19 @@ | |||||||
|  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\view-track\\view-track.component.html |  * @FilePath     : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\view-track\\view-track.component.html | ||||||
|  * Copyright (C) 2022 huzhenhong. All rights reserved. |  * Copyright (C) 2022 huzhenhong. All rights reserved. | ||||||
| --> | --> | ||||||
|   <div> | <div nz-row> | ||||||
|     <nz-card nzTitle="轨迹信息"   [nzExtra]="extraTemplate" > |   <div nz-col [nzSpan]="24"> | ||||||
|       <div style="display: flex; flex: 1;"> |     <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="MapList"> | ||||||
|         <div style=" flex: 1;"> |     </amap-path-simplifier> | ||||||
|           <st #st [scroll]="{y: '500px'}" style="min-height: 600px;"  [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }"> |     <st [scroll]="{ y: '350px' }" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" | ||||||
|  |       [page]="{ show: false, showSize: false }" size="small" class="map_st"> | ||||||
|     </st> |     </st> | ||||||
|         </div> |     <nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)" class="map_radio"> | ||||||
|         <div style="flex: 1;" > |  | ||||||
|           <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="MapList"></amap-path-simplifier> |  | ||||||
|         </div> |  | ||||||
|       </div> |  | ||||||
|     </nz-card> |  | ||||||
|     <ng-template #extraTemplate> |  | ||||||
|       <nz-radio-group [(ngModel)]="trajectory"  (ngModelChange)="trajectoryChange($event)"> |  | ||||||
|       <label nz-radio-button nzValue="car">车辆轨迹</label> |       <label nz-radio-button nzValue="car">车辆轨迹</label> | ||||||
|       <label nz-radio-button nzValue="driver">司机轨迹</label> |       <label nz-radio-button nzValue="driver">司机轨迹</label> | ||||||
|     </nz-radio-group> |     </nz-radio-group> | ||||||
|     </ng-template> |  | ||||||
|   </div> |   </div> | ||||||
|  | </div> | ||||||
|  |  | ||||||
| <div class="modal-footer"> | <div class="modal-footer"> | ||||||
|   <button nz-button type="button" (click)="close(false)">取消</button> |   <button nz-button type="button" (click)="close(false)">取消</button> | ||||||
|  | |||||||
| @ -25,21 +25,20 @@ import { NzMessageService } from 'ng-zorro-antd/message'; | |||||||
| import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal'; | import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal'; | ||||||
| import { OrderManagementService } from '../../../services/order-management.service'; | import { OrderManagementService } from '../../../services/order-management.service'; | ||||||
|  |  | ||||||
|  |  | ||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-order-management-view-track', |   selector: 'app-order-management-view-track', | ||||||
|   styleUrls: ['./view-track.component.less'], |   styleUrls: ['./view-track.component.less', '../../../../commom/less/trajectory.less'], | ||||||
|   templateUrl: './view-track.component.html' |   templateUrl: './view-track.component.html' | ||||||
| }) | }) | ||||||
| export class OneCarOrderViewtrackComponent implements OnInit { | export class OneCarOrderViewtrackComponent implements OnInit { | ||||||
|   i: any; // 单行数据 |   i: any; // 单行数据 | ||||||
|   MapList:any[] = [];  //地图点位数据组 |   MapList: any[] = []; //地图点位数据组 | ||||||
|   trajectory = 'car'; |   trajectory = 'car'; | ||||||
|   mapList:any[] = [];  //地图点位数据组 |   mapList: any[] = []; //地图点位数据组 | ||||||
|   addressItems: any[] = []; //打点地址数据组 |   addressItems: any[] = []; //打点地址数据组 | ||||||
|   logColumns2: STColumn[] = [ |   logColumns2: STColumn[] = [ | ||||||
|     { title: '时间', index: 'parkBte' }, |     { title: '时间', index: 'parkBte' }, | ||||||
|     { title: '地点', index: 'parkAdr' }, |     { title: '地点', index: 'parkAdr' } | ||||||
|   ]; |   ]; | ||||||
|   constructor( |   constructor( | ||||||
|     private modalRef: NzModalRef, |     private modalRef: NzModalRef, | ||||||
| @ -51,17 +50,16 @@ export class OneCarOrderViewtrackComponent implements OnInit { | |||||||
|   ngOnInit(): void { |   ngOnInit(): void { | ||||||
|     console.log(this.i); |     console.log(this.i); | ||||||
|     this.getTrajectory(); |     this.getTrajectory(); | ||||||
|    |  | ||||||
|   } |   } | ||||||
|   close(value: boolean): void { |   close(value: boolean): void { | ||||||
|     this.modalRef.close(false); |     this.modalRef.close(false); | ||||||
|   } |   } | ||||||
|   // 获取车辆轨迹 |   // 获取车辆轨迹 | ||||||
|     getTrajectory(){ |   getTrajectory() { | ||||||
|     this.service.request(this.service.$api_get_getTrajectory, { id: this.i?.id }).subscribe(res => { |     this.service.request(this.service.$api_get_getTrajectory, { id: this.i?.id }).subscribe(res => { | ||||||
|       if (res) { |       if (res) { | ||||||
|         const points = res.trackArray; |         const points = res.trackArray; | ||||||
|           let list :any[] = []; |         let list: any[] = []; | ||||||
|         points?.forEach((item: any) => { |         points?.forEach((item: any) => { | ||||||
|           list.push({ |           list.push({ | ||||||
|             name: item.hgt, |             name: item.hgt, | ||||||
| @ -71,7 +69,7 @@ export class OneCarOrderViewtrackComponent implements OnInit { | |||||||
|         }); |         }); | ||||||
|         this.mapList = list; |         this.mapList = list; | ||||||
|         this.addressItems = res.parkAdr; |         this.addressItems = res.parkAdr; | ||||||
|           if(this.addressItems && this.addressItems.length > 0){ |         if (this.addressItems && this.addressItems.length > 0) { | ||||||
|           this.addressItems.forEach(item => { |           this.addressItems.forEach(item => { | ||||||
|             item.parkBte = this.getLocalTime(item.parkBte); |             item.parkBte = this.getLocalTime(item.parkBte); | ||||||
|           }); |           }); | ||||||
| @ -81,11 +79,11 @@ export class OneCarOrderViewtrackComponent implements OnInit { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   // 获取司机轨迹 |   // 获取司机轨迹 | ||||||
|      getDriverTrajectory(){ |   getDriverTrajectory() { | ||||||
|     this.service.request(this.service.$api_get_getAppDriverPosition, { id: this.i?.id }).subscribe(res => { |     this.service.request(this.service.$api_get_getAppDriverPosition, { id: this.i?.id }).subscribe(res => { | ||||||
|       if (res) { |       if (res) { | ||||||
|         const points = res.tracks; |         const points = res.tracks; | ||||||
|           let list :any[] = []; |         let list: any[] = []; | ||||||
|         points?.forEach((item: any) => { |         points?.forEach((item: any) => { | ||||||
|           list.push({ |           list.push({ | ||||||
|             name: item.hgt, |             name: item.hgt, | ||||||
| @ -94,20 +92,24 @@ export class OneCarOrderViewtrackComponent implements OnInit { | |||||||
|           }); |           }); | ||||||
|         }); |         }); | ||||||
|         this.mapList = list; |         this.mapList = list; | ||||||
|           this.addressItems = [...res.enclosureDataAppTrack]; |         const addressItems = [...res.tracks]; | ||||||
|           if(this.addressItems && this.addressItems.length > 0){ |         if (addressItems) { | ||||||
|             this.addressItems.forEach(item => { |           addressItems.forEach(item => { | ||||||
|               item.vinOutTime = this.getLocalTime(item.gtm); |             // item.parkBte = item.gtm; | ||||||
|               item.cityName = item.appAdress; |             item.parkBte = this.getLocalTime(item.gtm); | ||||||
|  |             item.parkAdr = item.appAdress; | ||||||
|           }); |           }); | ||||||
|  |           this.addressItems = [...addressItems]; | ||||||
|  |         } else { | ||||||
|  |           this.addressItems = []; | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|      trajectoryChange(event:any){ |   trajectoryChange(event: any) { | ||||||
|       if(event ==='car'){ |     if (event === 'car') { | ||||||
|         this.getTrajectory() |       this.getTrajectory(); | ||||||
|       }else if(event ==='driver'){ |     } else if (event === 'driver') { | ||||||
|       this.getDriverTrajectory(); |       this.getDriverTrajectory(); | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -19,8 +19,10 @@ | |||||||
|     </div> |     </div> | ||||||
|     <div nz-row style="display: flex; justify-content: end;" class="mb-xs"> |     <div nz-row style="display: flex; justify-content: end;" class="mb-xs"> | ||||||
|       <div nz-col> |       <div nz-col> | ||||||
|         <button nz-button *ngIf="i?.wayBillStatus == '2'"  (click)="sureDepart(i)" acl  [acl-ability]="['WAYBILL-BULK-DETAIL-insertBulkStartCarInfo']">确认发车</button> |         <button nz-button *ngIf="i?.wayBillStatus == '2'" (click)="sureDepart(i)" acl | ||||||
|         <button nz-button nzType="primary" *ngIf="i?.wayBillStatus == '3'" (click)="sureArrive(i)" nzGhost acl  [acl-ability]="['WAYBILL-BULK-DETAIL-insertBulkUnloadCarInfo']" >确认到车</button> |           [acl-ability]="['WAYBILL-BULK-DETAIL-insertBulkStartCarInfo']">确认发车</button> | ||||||
|  |         <button nz-button nzType="primary" *ngIf="i?.wayBillStatus == '3'" (click)="sureArrive(i)" nzGhost acl | ||||||
|  |           [acl-ability]="['WAYBILL-BULK-DETAIL-insertBulkUnloadCarInfo']">确认到车</button> | ||||||
|       </div> |       </div> | ||||||
|     </div> |     </div> | ||||||
|     <div> |     <div> | ||||||
| @ -54,12 +56,8 @@ | |||||||
|     <div style="width: 60%; margin: 0 auto"> |     <div style="width: 60%; margin: 0 auto"> | ||||||
|         |         | ||||||
|       <nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical"> |       <nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical"> | ||||||
|         <nz-step |         <nz-step *ngFor="let item of i?.scheduleVOList" [nzTitle]="item.state" [nzSubtitle]="item.stateTime" | ||||||
|           *ngFor="let item of i?.scheduleVOList" |           [nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'"></nz-step> | ||||||
|           [nzTitle]="item.state" |  | ||||||
|           [nzSubtitle]="item.stateTime" |  | ||||||
|           [nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'" |  | ||||||
|         ></nz-step> |  | ||||||
|       </nz-steps> |       </nz-steps> | ||||||
|     </div> |     </div> | ||||||
|   </div> |   </div> | ||||||
| @ -70,13 +68,14 @@ | |||||||
|     <sv label="货物名称"> |     <sv label="货物名称"> | ||||||
|       {{i?.goodsInfos?.[0]?.goodsName}} |       {{i?.goodsInfos?.[0]?.goodsName}} | ||||||
|     </sv> |     </sv> | ||||||
| </sv-container> |   </sv-container> | ||||||
| <sv-container col="2"> |   <sv-container col="2"> | ||||||
|     <sv label="货物数量"> |     <sv label="货物数量"> | ||||||
|       {{i?.goodsInfos?.[0]?.weight}}吨,{{i?.goodsInfos?.[0]?.volume}}方,{{i?.goodsInfos?.[0]?.number}}件 |       {{i?.goodsInfos?.[0]?.weight}}吨,{{i?.goodsInfos?.[0]?.volume}}方,{{i?.goodsInfos?.[0]?.number}}件 | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="用车需求"> |     <sv label="用车需求"> | ||||||
|       {{i?.goodsInfos?.[0]?.carModelLabel}}{{ i?.goodsInfos?.[0]?.carLength ? '/' + i?.goodsInfos?.[0]?.carLength + '米': ''}} |       {{i?.goodsInfos?.[0]?.carModelLabel}}{{ i?.goodsInfos?.[0]?.carLength ? '/' + i?.goodsInfos?.[0]?.carLength + '米': | ||||||
|  |       ''}} | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="承运司机"> |     <sv label="承运司机"> | ||||||
|       {{i?.driver?.name}}/{{i?.driver?.phone}} |       {{i?.driver?.name}}/{{i?.driver?.phone}} | ||||||
| @ -99,8 +98,8 @@ | |||||||
|     <sv *ngIf="i?.wayBillStatus =='4' || i?.wayBillStatus =='5'" label="卸货数量"> |     <sv *ngIf="i?.wayBillStatus =='4' || i?.wayBillStatus =='5'" label="卸货数量"> | ||||||
|       {{ i?.settlementWeight }}吨,{{ i?.settlementVolume }}方 |       {{ i?.settlementWeight }}吨,{{ i?.settlementVolume }}方 | ||||||
|     </sv> |     </sv> | ||||||
| </sv-container> |   </sv-container> | ||||||
| <div class="mt-md"> |   <div class="mt-md"> | ||||||
|     <h4 class="text-md">装货卸货信息 |     <h4 class="text-md">装货卸货信息 | ||||||
|       <span class="ml-sm text-sm">( |       <span class="ml-sm text-sm">( | ||||||
|         <label>{{i?.loadingNumber || '一'}}装</label> |         <label>{{i?.loadingNumber || '一'}}装</label> | ||||||
| @ -136,7 +135,7 @@ | |||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|     </div> |     </div> | ||||||
| </div> |   </div> | ||||||
| </nz-card> | </nz-card> | ||||||
| <!-- <nz-card  [nzTitle]="'运费信息' +'(到货后'+i?.paymentDays+'天内支付运费)'"  #distannce3> | <!-- <nz-card  [nzTitle]="'运费信息' +'(到货后'+i?.paymentDays+'天内支付运费)'"  #distannce3> | ||||||
|   <h2>{{i?.freightPrice}}{{i?.goodsInfos?.[0]?.freightTypeLabel}}({{ i?.goodsInfos?.[0]?.settlementBasisLabel ? i?.goodsInfos?.[0]?.settlementBasisLabel + ',' :' ' }}{{i?.goodsInfos?.[0]?.ruleLabel}})</h2> |   <h2>{{i?.freightPrice}}{{i?.goodsInfos?.[0]?.freightTypeLabel}}({{ i?.goodsInfos?.[0]?.settlementBasisLabel ? i?.goodsInfos?.[0]?.settlementBasisLabel + ',' :' ' }}{{i?.goodsInfos?.[0]?.ruleLabel}})</h2> | ||||||
| @ -165,7 +164,7 @@ | |||||||
| 结算依据为1时,卸货时间不为空,显示运费信息,否则隐藏 | 结算依据为1时,卸货时间不为空,显示运费信息,否则隐藏 | ||||||
| 结算依据为2时,装货时间不为空,显示运费信息,否则隐藏 | 结算依据为2时,装货时间不为空,显示运费信息,否则隐藏 | ||||||
|  --> |  --> | ||||||
|  <nz-card [nzTitle]="priceTitel" #distannce3 | <nz-card [nzTitle]="priceTitel" #distannce3 | ||||||
|   [hidden]="!(i?.settlementBasis ==='1' && i?.unloadTime) && !(i?.settlementBasis ==='2' && i?.loadTime)"> |   [hidden]="!(i?.settlementBasis ==='1' && i?.unloadTime) && !(i?.settlementBasis ==='2' && i?.loadTime)"> | ||||||
|   <ng-template #priceTitel> |   <ng-template #priceTitel> | ||||||
|     <span>运费信息</span><span |     <span>运费信息</span><span | ||||||
| @ -195,8 +194,8 @@ | |||||||
| <nz-card nzTitle="附件信息" #distannce4> | <nz-card nzTitle="附件信息" #distannce4> | ||||||
|   <sv-container> |   <sv-container> | ||||||
|     <sv label="协议附件"> |     <sv label="协议附件"> | ||||||
|       <a *ngIf = "i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a>      |       <a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a>      | ||||||
|       <a *ngIf = "i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a> |       <a *ngIf="i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a> | ||||||
|     </sv> |     </sv> | ||||||
|   </sv-container> |   </sv-container> | ||||||
|   <sv-container col="2" class="mt-md"> |   <sv-container col="2" class="mt-md"> | ||||||
| @ -238,29 +237,26 @@ | |||||||
|     </sv> |     </sv> | ||||||
|   </sv-container> |   </sv-container> | ||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
| <nz-card> | <nz-card> | ||||||
|  |   <p class="detail_title" #distannce5><span>|</span> 轨迹信息</p> | ||||||
|   <div nz-row> |   <div nz-row> | ||||||
|     <nz-card nzTitle="轨迹信息" style="width: 100%" [nzExtra]="extraTemplate" #distannce5> |     <div nz-col [nzSpan]="24"> | ||||||
|       <div nz-row> |       <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList"> | ||||||
|         <div nz-col [nzSpan]="12"> |       </amap-path-simplifier> | ||||||
|           <st [scroll]="{y: '500px'}" style="min-height: 600px;" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }"> |       <st [scroll]="{ y: '350px' }" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" | ||||||
|  |         [page]="{ show: false, showSize: false }" size="small" class="map_st"> | ||||||
|       </st> |       </st> | ||||||
|         </div> |       <nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)" class="map_radio"> | ||||||
|         <div nz-col [nzSpan]="12"> |  | ||||||
|           <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList"></amap-path-simplifier> |  | ||||||
|         </div> |  | ||||||
|       </div> |  | ||||||
|     </nz-card> |  | ||||||
|     <ng-template #extraTemplate> |  | ||||||
|       <nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)"> |  | ||||||
|         <label nz-radio-button nzValue="car">车辆轨迹</label> |         <label nz-radio-button nzValue="car">车辆轨迹</label> | ||||||
|         <label nz-radio-button nzValue="driver">司机轨迹</label> |         <label nz-radio-button nzValue="driver">司机轨迹</label> | ||||||
|       </nz-radio-group> |       </nz-radio-group> | ||||||
|     </ng-template> |     </div> | ||||||
|   </div> |   </div> | ||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
| <nz-modal [(nzVisible)]="isVisible"  nzWidth="1000px"   [nzFooter]="nzModalFooter" [nzTitle]="modalTitle"  (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()"> | <nz-modal [(nzVisible)]="isVisible" nzWidth="1000px" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" | ||||||
|  |   (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()"> | ||||||
|   <ng-container *nzModalContent> |   <ng-container *nzModalContent> | ||||||
|     <div *ngIf="!modalcontent">暂无附件信息</div> |     <div *ngIf="!modalcontent">暂无附件信息</div> | ||||||
|     <div [innerHTML]="modalcontent"></div> |     <div [innerHTML]="modalcontent"></div> | ||||||
|  | |||||||
| @ -20,27 +20,26 @@ import { WaybillManagementServe } from '../../services/waybill-management.servic | |||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-supply-management-bulk-detail', |   selector: 'app-supply-management-bulk-detail', | ||||||
|   templateUrl: './bulk-detail.component.html', |   templateUrl: './bulk-detail.component.html', | ||||||
|   styleUrls: ['./bulk-detail.component.less'] |   styleUrls: ['./bulk-detail.component.less', '../../../commom/less/trajectory.less'] | ||||||
| }) | }) | ||||||
| export class WaybillManagementBulkeDetailComponent implements OnInit { | export class WaybillManagementBulkeDetailComponent implements OnInit { | ||||||
|  |  | ||||||
|   id = this.route.snapshot.params.id; |   id = this.route.snapshot.params.id; | ||||||
|   i: any; |   i: any; | ||||||
|   totalObj: any; |   totalObj: any; | ||||||
|   attObj: any; |   attObj: any; | ||||||
|   isVisible = false; |   isVisible = false; | ||||||
|   MapList: any[]=[]; |   MapList: any[] = []; | ||||||
|   trajectory = 'car'; |   trajectory = 'car'; | ||||||
|   mapList:any[] = [];  //地图点位数据组 |   mapList: any[] = []; //地图点位数据组 | ||||||
|   addressItems:any[] = [];  //打点地址数据组 |   addressItems: any[] = []; //打点地址数据组 | ||||||
|   billExpenses: any[] = []; //运费信息表格信息 |   billExpenses: any[] = []; //运费信息表格信息 | ||||||
|   imges: any; |   imges: any; | ||||||
|   modalcontent: any; |   modalcontent: any; | ||||||
|   modalTitle:string = ''; |   modalTitle: string = ''; | ||||||
|   unLoadingPlaceVOList: any = []; |   unLoadingPlaceVOList: any = []; | ||||||
|   logColumns2: STColumn[] = [ |   logColumns2: STColumn[] = [ | ||||||
|     { title: '时间', index: 'parkBte' }, |     { title: '时间', index: 'parkBte' }, | ||||||
|     { title: '地点', index: 'parkAdr' }, |     { title: '地点', index: 'parkAdr' } | ||||||
|   ]; |   ]; | ||||||
|   logColumns: STColumn[] = [ |   logColumns: STColumn[] = [ | ||||||
|     { title: '款项', index: 'costCodeLabel' }, |     { title: '款项', index: 'costCodeLabel' }, | ||||||
| @ -68,30 +67,27 @@ export class WaybillManagementBulkeDetailComponent implements OnInit { | |||||||
|     private modal: NzModalService, |     private modal: NzModalService, | ||||||
|     private service: WaybillManagementServe, |     private service: WaybillManagementServe, | ||||||
|     private modalService: NzModalService |     private modalService: NzModalService | ||||||
|   ) { |   ) {} | ||||||
|  |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   ngOnInit(): void { |   ngOnInit(): void { | ||||||
|     this.initData() |     this.initData(); | ||||||
|     this.getTrajectory() |     this.getTrajectory(); | ||||||
|   } |   } | ||||||
|   initData() { |   initData() { | ||||||
|     const params = { |     const params = { | ||||||
|       id: this.id |       id: this.id | ||||||
|     } |     }; | ||||||
|     this.service.request(this.service.$api_get_getBulkDetail, params).subscribe((res) => { |     this.service.request(this.service.$api_get_getBulkDetail, params).subscribe(res => { | ||||||
|       console.log(res) |       console.log(res); | ||||||
|       this.unLoadingPlaceVOList.push(...res.loadingPlace) |       this.unLoadingPlaceVOList.push(...res.loadingPlace); | ||||||
|       this.unLoadingPlaceVOList.push(...res.dischargePlace) |       this.unLoadingPlaceVOList.push(...res.dischargePlace); | ||||||
|       console.log(this.unLoadingPlaceVOList) |       console.log(this.unLoadingPlaceVOList); | ||||||
|       this.i = res; |       this.i = res; | ||||||
|       this.billExpenses = this.i?.billExpenseDetails?.filter((data: any) => data.costCode === 'TRA'); |       this.billExpenses = this.i?.billExpenseDetails?.filter((data: any) => data.costCode === 'TRA'); | ||||||
|         this.i.scheduleVOList = this.i?.scheduleVOList?.filter((data:any)=>data.displayStatus !=="HIDE"); |       this.i.scheduleVOList = this.i?.scheduleVOList?.filter((data: any) => data.displayStatus !== 'HIDE'); | ||||||
|     }) |     }); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |  | ||||||
|   hand() { |   hand() { | ||||||
|     this.modalService.create({ |     this.modalService.create({ | ||||||
|       nzTitle: '', |       nzTitle: '', | ||||||
| @ -104,27 +100,26 @@ export class WaybillManagementBulkeDetailComponent implements OnInit { | |||||||
|     window.history.go(-1); |     window.history.go(-1); | ||||||
|   } |   } | ||||||
|   agreement(value: any) { |   agreement(value: any) { | ||||||
|     if(value  ==='1'){ |     if (value === '1') { | ||||||
|       this.modalTitle = '附件信息'; |       this.modalTitle = '附件信息'; | ||||||
|       this.modalcontent = this.i?.contractContent?.contractContent; |       this.modalcontent = this.i?.contractContent?.contractContent; | ||||||
|        |     } else if (value === '2') { | ||||||
|     }else if(value === '2'){ |  | ||||||
|       this.modalTitle = '补充协议'; |       this.modalTitle = '补充协议'; | ||||||
|       this.modalcontent = this.i?.supplementContent?.contractContent; |       this.modalcontent = this.i?.supplementContent?.contractContent; | ||||||
|     } |     } | ||||||
|     this.isVisible = true; |     this.isVisible = true; | ||||||
|   } |   } | ||||||
|   handleCancel() { |   handleCancel() { | ||||||
|     this.isVisible = false |     this.isVisible = false; | ||||||
| } |   } | ||||||
| handleOK() { |   handleOK() { | ||||||
|   this.isVisible = false |     this.isVisible = false; | ||||||
| } |   } | ||||||
| goDistance(elf: NzCardComponent) { |   goDistance(elf: any) { | ||||||
|     if (elf) { |     if (elf) { | ||||||
|       elf['elementRef'].nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'start' }); |       elf['elementRef'].nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'start' }); | ||||||
|     } |     } | ||||||
| } |   } | ||||||
|   //  *确认发车 |   //  *确认发车 | ||||||
|   sureDepart(item: any) { |   sureDepart(item: any) { | ||||||
|     const modalRef = this.modal.create({ |     const modalRef = this.modal.create({ | ||||||
| @ -138,12 +133,11 @@ goDistance(elf: NzCardComponent) { | |||||||
|       nzFooter: null |       nzFooter: null | ||||||
|     }); |     }); | ||||||
|     modalRef.afterClose.subscribe((result: any) => { |     modalRef.afterClose.subscribe((result: any) => { | ||||||
|     this.initData() |       this.initData(); | ||||||
|  |     }); | ||||||
| }); |   } | ||||||
| } |   // 确认到车 | ||||||
| // 确认到车 |   sureArrive(item: any) { | ||||||
| sureArrive(item: any) { |  | ||||||
|     const modalRef = this.modal.create({ |     const modalRef = this.modal.create({ | ||||||
|       nzTitle: '确认到车', |       nzTitle: '确认到车', | ||||||
|       nzWidth: '50%', |       nzWidth: '50%', | ||||||
| @ -155,15 +149,15 @@ sureArrive(item: any) { | |||||||
|       nzFooter: null |       nzFooter: null | ||||||
|     }); |     }); | ||||||
|     modalRef.afterClose.subscribe((result: any) => { |     modalRef.afterClose.subscribe((result: any) => { | ||||||
|     this.initData() |       this.initData(); | ||||||
| }); |     }); | ||||||
| } |   } | ||||||
|   // 获取车辆轨迹 |   // 获取车辆轨迹 | ||||||
|   getTrajectory(){ |   getTrajectory() { | ||||||
|     this.service.request(this.service.$api_get_getTrajectory, { id: this.id }).subscribe(res => { |     this.service.request(this.service.$api_get_getTrajectory, { id: this.id }).subscribe(res => { | ||||||
|       if (res) { |       if (res) { | ||||||
|         const points = res.trackArray; |         const points = res.trackArray; | ||||||
|         let list :any[] = []; |         let list: any[] = []; | ||||||
|         points?.forEach((item: any) => { |         points?.forEach((item: any) => { | ||||||
|           list.push({ |           list.push({ | ||||||
|             name: item.hgt, |             name: item.hgt, | ||||||
| @ -173,7 +167,7 @@ sureArrive(item: any) { | |||||||
|         }); |         }); | ||||||
|         this.mapList = list; |         this.mapList = list; | ||||||
|         this.addressItems = res.parkArray; |         this.addressItems = res.parkArray; | ||||||
|         if(this.addressItems && this.addressItems.length > 0){ |         if (this.addressItems && this.addressItems.length > 0) { | ||||||
|           this.addressItems.forEach(item => { |           this.addressItems.forEach(item => { | ||||||
|             item.parkBte = this.getLocalTime(item.parkBte); |             item.parkBte = this.getLocalTime(item.parkBte); | ||||||
|           }); |           }); | ||||||
| @ -183,11 +177,11 @@ sureArrive(item: any) { | |||||||
|   } |   } | ||||||
|  |  | ||||||
|   // 获取司机轨迹 |   // 获取司机轨迹 | ||||||
|    getDriverTrajectory(){ |   getDriverTrajectory() { | ||||||
|     this.service.request(this.service.$api_get_getAppDriverPosition, { id: this.id }).subscribe(res => { |     this.service.request(this.service.$api_get_getAppDriverPosition, { id: this.id }).subscribe(res => { | ||||||
|       if (res) { |       if (res) { | ||||||
|         const points = res.tracks; |         const points = res.tracks; | ||||||
|         let list :any[] = []; |         let list: any[] = []; | ||||||
|         points?.forEach((item: any) => { |         points?.forEach((item: any) => { | ||||||
|           list.push({ |           list.push({ | ||||||
|             name: item.hgt, |             name: item.hgt, | ||||||
| @ -196,20 +190,24 @@ sureArrive(item: any) { | |||||||
|           }); |           }); | ||||||
|         }); |         }); | ||||||
|         this.mapList = list; |         this.mapList = list; | ||||||
|         this.addressItems = [...res.enclosureDataAppTrack]; |         const addressItems = [...res.tracks]; | ||||||
|         if(this.addressItems && this.addressItems.length > 0){ |         if (addressItems) { | ||||||
|           this.addressItems.forEach(item => { |           addressItems.forEach(item => { | ||||||
|             item.vinOutTime = this.getLocalTime(item.gtm); |             // item.parkBte = item.gtm; | ||||||
|             item.cityName = item.appAdress; |             item.parkBte = this.getLocalTime(item.gtm); | ||||||
|  |             item.parkAdr = item.appAdress; | ||||||
|           }); |           }); | ||||||
|  |           this.addressItems = [...addressItems]; | ||||||
|  |         } else { | ||||||
|  |           this.addressItems = []; | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
|    trajectoryChange(event:any){ |   trajectoryChange(event: any) { | ||||||
|     if(event ==='car'){ |     if (event === 'car') { | ||||||
|       this.getTrajectory() |       this.getTrajectory(); | ||||||
|     }else if(event ==='driver'){ |     } else if (event === 'driver') { | ||||||
|       this.getDriverTrajectory(); |       this.getDriverTrajectory(); | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -17,10 +17,12 @@ | |||||||
|       <button nz-button nzType="primary" nzSize="small" nzDanger>{{i?.wayBillStatusLabel}}</button> |       <button nz-button nzType="primary" nzSize="small" nzDanger>{{i?.wayBillStatusLabel}}</button> | ||||||
|       <h4 class="ml-md" style="font-size: 18px;">运单号: {{ i?.wayBillCode }}</h4> |       <h4 class="ml-md" style="font-size: 18px;">运单号: {{ i?.wayBillCode }}</h4> | ||||||
|     </div> |     </div> | ||||||
|     <div nz-row style="display: flex; justify-content: end; " class="mb-xs" > |     <div nz-row style="display: flex; justify-content: end; " class="mb-xs"> | ||||||
|       <div nz-col > |       <div nz-col> | ||||||
|         <button nz-button (click)="sureDepart(i)" *ngIf="i?.wayBillStatus == '2'" acl  [acl-ability]="['WAYBILL-VEHICLE-DETAIL-wholeStartCarInfo']">确认发车</button> |         <button nz-button (click)="sureDepart(i)" *ngIf="i?.wayBillStatus == '2'" acl | ||||||
|         <button nz-button nzType="primary" (click)="sureArrive(i)" *ngIf="i?.wayBillStatus == '3'" nzGhost acl  [acl-ability]="['WAYBILL-VEHICLE-DETAIL-wholeUnloadCarInfo']">确认到车</button> |           [acl-ability]="['WAYBILL-VEHICLE-DETAIL-wholeStartCarInfo']">确认发车</button> | ||||||
|  |         <button nz-button nzType="primary" (click)="sureArrive(i)" *ngIf="i?.wayBillStatus == '3'" nzGhost acl | ||||||
|  |           [acl-ability]="['WAYBILL-VEHICLE-DETAIL-wholeUnloadCarInfo']">确认到车</button> | ||||||
|       </div> |       </div> | ||||||
|     </div> |     </div> | ||||||
|     <div> |     <div> | ||||||
| @ -52,12 +54,8 @@ | |||||||
|   <div class="approval-status"> |   <div class="approval-status"> | ||||||
|     <div style="width: 60%; margin: 0 auto"> |     <div style="width: 60%; margin: 0 auto"> | ||||||
|         <nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical"> |         <nz-steps [nzCurrent]="i?.scheduleVOList?.length + 1" nzLabelPlacement="vertical"> | ||||||
|            <nz-step |           <nz-step           *ngFor="let item of i?.scheduleVOList"     [nzTitle]="item.state"     | ||||||
|                   *ngFor="let item of i?.scheduleVOList" |           [nzSubtitle]="item.stateTime"     [nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'"  > | ||||||
|              [nzTitle]="item.state" |  | ||||||
|              [nzSubtitle]="item.stateTime" |  | ||||||
|              [nzStatus]="item.displayStatus === 'SHOW' ? 'finish' : 'wait'" |  | ||||||
|            > |  | ||||||
|             </nz-step> |             </nz-step> | ||||||
|          </nz-steps> |          </nz-steps> | ||||||
|     </div> |     </div> | ||||||
| @ -69,19 +67,21 @@ | |||||||
|     <sv label="货物名称"> |     <sv label="货物名称"> | ||||||
|       {{i?.goodsInfos?.[0]?.goodsName}} |       {{i?.goodsInfos?.[0]?.goodsName}} | ||||||
|     </sv> |     </sv> | ||||||
| </sv-container> |   </sv-container> | ||||||
| <sv-container col="2"> |   <sv-container col="2"> | ||||||
|     <sv label="货物数量"> |     <sv label="货物数量"> | ||||||
|       {{i?.goodsInfos?.[0]?.weight}}吨,{{i?.goodsInfos?.[0]?.volume}}方,{{i?.goodsInfos?.[0]?.number}}件 |       {{i?.goodsInfos?.[0]?.weight}}吨,{{i?.goodsInfos?.[0]?.volume}}方,{{i?.goodsInfos?.[0]?.number}}件 | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="用车需求"> |     <sv label="用车需求"> | ||||||
|       {{i?.goodsInfos?.[0]?.carModelLabel}}{{ i?.goodsInfos?.[0]?.carLength ? '/' + i?.goodsInfos?.[0]?.carLength + '米': ''}} |       {{i?.goodsInfos?.[0]?.carModelLabel}}{{ i?.goodsInfos?.[0]?.carLength ? '/' + i?.goodsInfos?.[0]?.carLength + '米': | ||||||
|  |       ''}} | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="承运司机"> |     <sv label="承运司机"> | ||||||
|       {{i?.driverVo?.name}}{{ i?.driverVo?.phone ? '/' + i?.driverVo?.phone : ''}} |       {{i?.driverVo?.name}}{{ i?.driverVo?.phone ? '/' + i?.driverVo?.phone : ''}} | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="车型车长载重"> |     <sv label="车型车长载重"> | ||||||
|       {{ i?.carVO?.carModelLabel ? i?.carVO?.carModelLabel +',': ''}}{{ i?.carVO?.carLengthLabel ? i?.carVO?.carLengthLabel +'米,': ''}}{{i?.carVO?.carLoad ? i?.carVO?.carLoad +'吨': ''}} |       {{ i?.carVO?.carModelLabel ? i?.carVO?.carModelLabel +',': ''}}{{ i?.carVO?.carLengthLabel ? | ||||||
|  |       i?.carVO?.carLengthLabel +'米,': ''}}{{i?.carVO?.carLoad ? i?.carVO?.carLoad +'吨': ''}} | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="计划装货时间"> |     <sv label="计划装货时间"> | ||||||
|       {{i?.loadingTime}} |       {{i?.loadingTime}} | ||||||
| @ -89,8 +89,8 @@ | |||||||
|     <sv label="计划卸货时间"> |     <sv label="计划卸货时间"> | ||||||
|       {{i?.unloadingTime}} |       {{i?.unloadingTime}} | ||||||
|     </sv> |     </sv> | ||||||
| </sv-container> |   </sv-container> | ||||||
| <div class="mt-md"> |   <div class="mt-md"> | ||||||
|     <h4 class="text-md">装货卸货信息 |     <h4 class="text-md">装货卸货信息 | ||||||
|       <span class="ml-sm text-sm">( |       <span class="ml-sm text-sm">( | ||||||
|         <label>{{i?.loadingNumber|| '一'}}装</label> |         <label>{{i?.loadingNumber|| '一'}}装</label> | ||||||
| @ -126,7 +126,7 @@ | |||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|     </div> |     </div> | ||||||
| </div> |   </div> | ||||||
| </nz-card> | </nz-card> | ||||||
| <nz-card nzTitle="服务信息"> | <nz-card nzTitle="服务信息"> | ||||||
|   <sv-container> |   <sv-container> | ||||||
| @ -154,17 +154,19 @@ | |||||||
|     </ng-template> |     </ng-template> | ||||||
|   </st> |   </st> | ||||||
|   <div> |   <div> | ||||||
|     总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> (运费{{ i?.totalFreight | currency }}, |     总计:<span style="color: #da001b; font-size: 18px">{{ i?.totalAmount | currency }}</span> (运费{{ i?.totalFreight | | ||||||
|  |     currency }}, | ||||||
|     附加费{{ i?.totalSurcharge | currency }},附加费率{{ (i?.totalRate * 100).toFixed(2)}}% ) |     附加费{{ i?.totalSurcharge | currency }},附加费率{{ (i?.totalRate * 100).toFixed(2)}}% ) | ||||||
|   </div> |   </div> | ||||||
|   <div  *ngIf ="i?.payee?.phone && i?.payee?.phone !== i?.driverVo.phone">车队长:{{ i?.payee?.name }}/{{ i?.payee?.phone }}/{{ i?.payee?.idNo }}</div> |   <div *ngIf="i?.payee?.phone && i?.payee?.phone !== i?.driverVo.phone">车队长:{{ i?.payee?.name }}/{{ i?.payee?.phone | ||||||
|  |     }}/{{ i?.payee?.idNo }}</div> | ||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
| <nz-card nzTitle="附件信息" #distannce4> | <nz-card nzTitle="附件信息" #distannce4> | ||||||
|   <sv-container> |   <sv-container> | ||||||
|     <sv label="协议附件"> |     <sv label="协议附件"> | ||||||
|       <a *ngIf = "i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a>      |       <a *ngIf="i?.contractContent?.contractContent" (click)="agreement('1')">查看附件</a>      | ||||||
|       <a *ngIf = "i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a> |       <a *ngIf="i?.supplementContent?.contractContent" (click)="agreement('2')">补充协议</a> | ||||||
|     </sv> |     </sv> | ||||||
|   </sv-container> |   </sv-container> | ||||||
|   <sv-container col="2" class="mt-md"> |   <sv-container col="2" class="mt-md"> | ||||||
| @ -186,7 +188,8 @@ | |||||||
|     <sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> |     <sv label="回单类型" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||||
|       {{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }} |       {{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }} | ||||||
|     </sv> |     </sv> | ||||||
|     <sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt">  {{ i?.supplementaryInformationVO?.receiptUserName }} / {{ i?.supplementaryInformationVO?.phon }} </sv> |     <sv label="联系人" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> {{ | ||||||
|  |       i?.supplementaryInformationVO?.receiptUserName }} / {{ i?.supplementaryInformationVO?.phon }} </sv> | ||||||
|     <sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> |     <sv label="所在地区" *ngIf="i?.supplementaryInformationVO?.stateReceipt"> | ||||||
|       {{ i?.supplementaryInformationVO?.area }} |       {{ i?.supplementaryInformationVO?.area }} | ||||||
|     </sv> |     </sv> | ||||||
| @ -205,28 +208,24 @@ | |||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
| <nz-card> | <nz-card> | ||||||
|  |   <p class="detail_title" #distannce5><span>|</span> 轨迹信息</p> | ||||||
|   <div nz-row> |   <div nz-row> | ||||||
|     <nz-card nzTitle="轨迹信息" style="width: 100%" [nzExtra]="extraTemplate" #distannce5> |     <div nz-col [nzSpan]="24"> | ||||||
|       <div nz-row> |       <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList"> | ||||||
|         <div nz-col [nzSpan]="12"> |       </amap-path-simplifier> | ||||||
|           <st [scroll]="{y: '500px'}" style="min-height: 600px;" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }"> |       <st [scroll]="{ y: '350px' }" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" | ||||||
|  |         [page]="{ show: false, showSize: false }" size="small" class="map_st"> | ||||||
|       </st> |       </st> | ||||||
|         </div> |       <nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)" class="map_radio"> | ||||||
|         <div nz-col [nzSpan]="12"> |  | ||||||
|           <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList"></amap-path-simplifier> |  | ||||||
|         </div> |  | ||||||
|       </div> |  | ||||||
|     </nz-card> |  | ||||||
|     <ng-template #extraTemplate> |  | ||||||
|       <nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)"> |  | ||||||
|         <label nz-radio-button nzValue="car">车辆轨迹</label> |         <label nz-radio-button nzValue="car">车辆轨迹</label> | ||||||
|         <label nz-radio-button nzValue="driver">司机轨迹</label> |         <label nz-radio-button nzValue="driver">司机轨迹</label> | ||||||
|       </nz-radio-group> |       </nz-radio-group> | ||||||
|     </ng-template> |     </div> | ||||||
|   </div> |   </div> | ||||||
| </nz-card> | </nz-card> | ||||||
|  |  | ||||||
| <nz-modal [(nzVisible)]="isVisible"  nzWidth="1000px"  [nzFooter]="nzModalFooter" [nzTitle]="modalTitle"  (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()"> | <nz-modal [(nzVisible)]="isVisible" nzWidth="1000px" [nzFooter]="nzModalFooter" [nzTitle]="modalTitle" | ||||||
|  |   (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()"> | ||||||
|   <ng-container *nzModalContent> |   <ng-container *nzModalContent> | ||||||
|     <div *ngIf="!modalcontent">暂无附件信息</div> |     <div *ngIf="!modalcontent">暂无附件信息</div> | ||||||
|     <div [innerHTML]="modalcontent"></div> |     <div [innerHTML]="modalcontent"></div> | ||||||
|  | |||||||
| @ -21,7 +21,7 @@ import { WaybillManagementServe } from '../../services/waybill-management.servic | |||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-supply-management-vehicle-detail', |   selector: 'app-supply-management-vehicle-detail', | ||||||
|   templateUrl: './vehicle-detail.component.html', |   templateUrl: './vehicle-detail.component.html', | ||||||
|   styleUrls: ['./vehicle-detail.component.less'] |   styleUrls: ['./vehicle-detail.component.less', '../../../commom/less/trajectory.less'] | ||||||
| }) | }) | ||||||
| export class WaybillManagementVehicleDetailComponent implements OnInit, OnDestroy { | export class WaybillManagementVehicleDetailComponent implements OnInit, OnDestroy { | ||||||
|   id = this.route.snapshot.params.id; |   id = this.route.snapshot.params.id; | ||||||
| @ -36,11 +36,11 @@ export class WaybillManagementVehicleDetailComponent implements OnInit, OnDestro | |||||||
|   imges: any; |   imges: any; | ||||||
|   unLoadingPlaceVOList: any = []; |   unLoadingPlaceVOList: any = []; | ||||||
|   logColumns2: STColumn[] = [ |   logColumns2: STColumn[] = [ | ||||||
|     { title: '时间', index: 'vinOutTime' }, |     { title: '时间', index: 'parkBte' }, | ||||||
|     { title: '地点', index: 'cityName' } |     { title: '地点', index: 'parkAdr' } | ||||||
|   ]; |   ]; | ||||||
|   modalcontent: any; |   modalcontent: any; | ||||||
|   modalTitle:string = ''; |   modalTitle: string = ''; | ||||||
|   billExpenses: any[] = []; //运费信息表格信息 |   billExpenses: any[] = []; //运费信息表格信息 | ||||||
|   logColumns: STColumn[] = [ |   logColumns: STColumn[] = [ | ||||||
|     { title: '款项', index: 'costCodeLabel' }, |     { title: '款项', index: 'costCodeLabel' }, | ||||||
| @ -96,11 +96,10 @@ export class WaybillManagementVehicleDetailComponent implements OnInit, OnDestro | |||||||
|     window.history.go(-1); |     window.history.go(-1); | ||||||
|   } |   } | ||||||
|   agreement(value: any) { |   agreement(value: any) { | ||||||
|     if(value  ==='1'){ |     if (value === '1') { | ||||||
|       this.modalTitle = '附件信息'; |       this.modalTitle = '附件信息'; | ||||||
|       this.modalcontent = this.i?.contractContent?.contractContent; |       this.modalcontent = this.i?.contractContent?.contractContent; | ||||||
|        |     } else if (value === '2') { | ||||||
|     }else if(value === '2'){ |  | ||||||
|       this.modalTitle = '补充协议'; |       this.modalTitle = '补充协议'; | ||||||
|       this.modalcontent = this.i?.supplementContent?.contractContent; |       this.modalcontent = this.i?.supplementContent?.contractContent; | ||||||
|     } |     } | ||||||
| @ -112,7 +111,7 @@ export class WaybillManagementVehicleDetailComponent implements OnInit, OnDestro | |||||||
|   handleOK() { |   handleOK() { | ||||||
|     this.isVisible = false; |     this.isVisible = false; | ||||||
|   } |   } | ||||||
|   goDistance(elf: NzCardComponent) { |   goDistance(elf: any) { | ||||||
|     if (elf) { |     if (elf) { | ||||||
|       elf['elementRef'].nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'start' }); |       elf['elementRef'].nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'start' }); | ||||||
|     } |     } | ||||||
| @ -189,12 +188,16 @@ export class WaybillManagementVehicleDetailComponent implements OnInit, OnDestro | |||||||
|           }); |           }); | ||||||
|         }); |         }); | ||||||
|         this.mapList = list; |         this.mapList = list; | ||||||
|         this.addressItems = [...res.enclosureDataAppTrack]; |         const addressItems = [...res.tracks]; | ||||||
|         if (this.addressItems && this.addressItems.length > 0) { |         if (addressItems) { | ||||||
|           this.addressItems.forEach(item => { |           addressItems.forEach(item => { | ||||||
|             item.vinOutTime = this.getLocalTime(item.gtm); |             // item.parkBte = item.gtm; | ||||||
|             item.cityName = item.appAdress; |             item.parkBte = this.getLocalTime(item.gtm); | ||||||
|  |             item.parkAdr = item.appAdress; | ||||||
|           }); |           }); | ||||||
|  |           this.addressItems = [...addressItems]; | ||||||
|  |         } else { | ||||||
|  |           this.addressItems = []; | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }); |     }); | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user