订单上报
This commit is contained in:
		@ -41,6 +41,7 @@ import { ComplianceCurveComponent } from './components/compliance/index/curve/cu
 | 
				
			|||||||
import { BusitableCurveComponent } from './components/busitable/busiindex/curve/curve.component';
 | 
					import { BusitableCurveComponent } from './components/busitable/busiindex/curve/curve.component';
 | 
				
			||||||
import { DatatableCustomindexCurveComponent } from './components/customtable/customindex/curve/curve.component';
 | 
					import { DatatableCustomindexCurveComponent } from './components/customtable/customindex/curve/curve.component';
 | 
				
			||||||
import { DatatableCustomindexMapComponent } from './components/datascreen/curve/map.component';
 | 
					import { DatatableCustomindexMapComponent } from './components/datascreen/curve/map.component';
 | 
				
			||||||
 | 
					import { DatatableReportingvViewTrackComponent } from './reporting/components/view-track/view-track.component';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const COMPONENTS: Type<void>[] = [
 | 
					const COMPONENTS: Type<void>[] = [
 | 
				
			||||||
  DatatableDataindexComponent,
 | 
					  DatatableDataindexComponent,
 | 
				
			||||||
@ -74,7 +75,8 @@ const COMPONENTS: Type<void>[] = [
 | 
				
			|||||||
  ComplianceCurveComponent,
 | 
					  ComplianceCurveComponent,
 | 
				
			||||||
  BusitableCurveComponent,
 | 
					  BusitableCurveComponent,
 | 
				
			||||||
  DatatableCustomindexCurveComponent,
 | 
					  DatatableCustomindexCurveComponent,
 | 
				
			||||||
  DatatableCustomindexMapComponent
 | 
					  DatatableCustomindexMapComponent,
 | 
				
			||||||
 | 
					  DatatableReportingvViewTrackComponent
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -66,10 +66,10 @@
 | 
				
			|||||||
    </ng-template>
 | 
					    </ng-template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <ng-template st-row="car" let-item let-index="index">
 | 
					    <ng-template st-row="car" let-item let-index="index">
 | 
				
			||||||
      <a (click)="viewTrack(item)">查看轨迹</a>
 | 
					      <a (click)="viewTrack(item,'car')">查看轨迹</a>
 | 
				
			||||||
    </ng-template>
 | 
					    </ng-template>
 | 
				
			||||||
    <ng-template st-row="driver" let-item let-index="index">
 | 
					    <ng-template st-row="driver" let-item let-index="index">
 | 
				
			||||||
      <a (click)="viewTrack(item)">查看轨迹</a>
 | 
					      <a (click)="viewTrack(item,'driver')">查看轨迹</a>
 | 
				
			||||||
    </ng-template>
 | 
					    </ng-template>
 | 
				
			||||||
  </st>
 | 
					  </st>
 | 
				
			||||||
</nz-card>
 | 
					</nz-card>
 | 
				
			||||||
 | 
				
			|||||||
@ -7,6 +7,7 @@ import { NzModalService } from 'ng-zorro-antd/modal';
 | 
				
			|||||||
import { ReportingService } from '../../services/reporting.service';
 | 
					import { ReportingService } from '../../services/reporting.service';
 | 
				
			||||||
import { DatatableReportingUploadSettingComponent } from '../upload-setting/upload-setting.component';
 | 
					import { DatatableReportingUploadSettingComponent } from '../upload-setting/upload-setting.component';
 | 
				
			||||||
import { DatatableReportingVerifyResultComponent } from '../verify-result/verify-result.component';
 | 
					import { DatatableReportingVerifyResultComponent } from '../verify-result/verify-result.component';
 | 
				
			||||||
 | 
					import { DatatableReportingvViewTrackComponent } from '../view-track/view-track.component';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Component({
 | 
					@Component({
 | 
				
			||||||
  selector: 'app-datatable-order-reporting',
 | 
					  selector: 'app-datatable-order-reporting',
 | 
				
			||||||
@ -284,9 +285,9 @@ export class DatatableOrderReportingComponent implements OnInit {
 | 
				
			|||||||
        title: '订单号',
 | 
					        title: '订单号',
 | 
				
			||||||
        render: 'billCode',
 | 
					        render: 'billCode',
 | 
				
			||||||
        className: 'text-center',
 | 
					        className: 'text-center',
 | 
				
			||||||
        width: '150px',
 | 
					        width: '180px',
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      { title: '运单号', render: 'wayBillCode', className: 'text-center', width: '150px', },
 | 
					      { title: '运单号', render: 'wayBillCode', className: 'text-center', width: '180px', },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        title: '网络货运人',
 | 
					        title: '网络货运人',
 | 
				
			||||||
@ -529,9 +530,20 @@ export class DatatableOrderReportingComponent implements OnInit {
 | 
				
			|||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * 查看轨迹
 | 
					   * 查看轨迹
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  viewTrack(_record: any) {
 | 
					  viewTrack(_record: any, trajectory: string) {
 | 
				
			||||||
    // const =;
 | 
					    const title = trajectory === 'car' ? '车辆' : '司机'
 | 
				
			||||||
    this.router.navigate([])
 | 
					    const modalRef = this.modal.create({
 | 
				
			||||||
 | 
					      nzTitle: `查看${title}轨迹`,
 | 
				
			||||||
 | 
					      nzWidth: 1000,
 | 
				
			||||||
 | 
					      nzContent: DatatableReportingvViewTrackComponent,
 | 
				
			||||||
 | 
					      nzComponentParams: {
 | 
				
			||||||
 | 
					        id: _record?.orderId,
 | 
				
			||||||
 | 
					        trajectory
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      nzFooter: null
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					    modalRef.afterClose.subscribe(res => {
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					<div>
 | 
				
			||||||
 | 
					  <!-- <amap-path-simplifier [mapList]="mapList" [mapHeight]="'600px'" [pois]="pois"></amap-path-simplifier> -->
 | 
				
			||||||
 | 
					  <amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [mapList]="mapList" [pois]="pois">
 | 
				
			||||||
 | 
					  </amap-path-simplifier>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					import { waitForAsync, ComponentFixture, TestBed } from '@angular/core/testing';
 | 
				
			||||||
 | 
					import { DatatableReportingvViewTrackComponent } from './view-track.component';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					describe('DatatableReportingvViewTrackComponent', () => {
 | 
				
			||||||
 | 
					  let component: DatatableReportingvViewTrackComponent;
 | 
				
			||||||
 | 
					  let fixture: ComponentFixture<DatatableReportingvViewTrackComponent>;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  beforeEach(waitForAsync(() => {
 | 
				
			||||||
 | 
					    TestBed.configureTestingModule({
 | 
				
			||||||
 | 
					      declarations: [DatatableReportingvViewTrackComponent]
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					      .compileComponents();
 | 
				
			||||||
 | 
					  }));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  beforeEach(() => {
 | 
				
			||||||
 | 
					    fixture = TestBed.createComponent(DatatableReportingvViewTrackComponent);
 | 
				
			||||||
 | 
					    component = fixture.componentInstance;
 | 
				
			||||||
 | 
					    fixture.detectChanges();
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  it('should create', () => {
 | 
				
			||||||
 | 
					    expect(component).toBeTruthy();
 | 
				
			||||||
 | 
					  });
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
@ -0,0 +1,92 @@
 | 
				
			|||||||
 | 
					import { Component, OnInit } from '@angular/core';
 | 
				
			||||||
 | 
					import { Router } from '@angular/router';
 | 
				
			||||||
 | 
					import format from 'date-fns/format';
 | 
				
			||||||
 | 
					import { NzModalRef } from 'ng-zorro-antd/modal';
 | 
				
			||||||
 | 
					import { OrderManagementService } from 'src/app/routes/order-management/services/order-management.service';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Component({
 | 
				
			||||||
 | 
					  selector: 'app-datatable-view-track',
 | 
				
			||||||
 | 
					  templateUrl: './view-track.component.html',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					export class DatatableReportingvViewTrackComponent implements OnInit {
 | 
				
			||||||
 | 
					  mapList: any[] = [];  //地图点位数据组
 | 
				
			||||||
 | 
					  addressItems: any[] = [];  //打点地址数据组
 | 
				
			||||||
 | 
					  trajectory = "car";
 | 
				
			||||||
 | 
					  pois: any[] = [];
 | 
				
			||||||
 | 
					  id = '';
 | 
				
			||||||
 | 
					  constructor(public service: OrderManagementService, private modalRef: NzModalRef, public router: Router) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ngOnInit(): void {
 | 
				
			||||||
 | 
					    if (this.trajectory === 'car') {
 | 
				
			||||||
 | 
					      this.getTrajectory();
 | 
				
			||||||
 | 
					    } else if (this.trajectory === 'driver') {
 | 
				
			||||||
 | 
					      this.getDriverTrajectory();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  selectTab(e: any) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  close(): void {
 | 
				
			||||||
 | 
					    this.modalRef.destroy();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // 车辆轨迹
 | 
				
			||||||
 | 
					  getTrajectory() {
 | 
				
			||||||
 | 
					    this.service.request(this.service.$api_get_getTrajectory, { id: this.id }).subscribe(res => {
 | 
				
			||||||
 | 
					      if (res) {
 | 
				
			||||||
 | 
					        const points = res.trackArray;
 | 
				
			||||||
 | 
					        let list: any[] = [];
 | 
				
			||||||
 | 
					        points?.forEach((item: any) => {
 | 
				
			||||||
 | 
					          list.push({
 | 
				
			||||||
 | 
					            name: item.hgt,
 | 
				
			||||||
 | 
					            lnglat: [Number((Number(item.lon) / 600000).toFixed(6)), Number((Number(item.lat) / 600000).toFixed(6))]
 | 
				
			||||||
 | 
					          });
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					        this.mapList = list;
 | 
				
			||||||
 | 
					        this.addressItems = [...res.cityArray];
 | 
				
			||||||
 | 
					        if (this.addressItems && this.addressItems.length > 0) {
 | 
				
			||||||
 | 
					          this.addressItems.forEach(item => {
 | 
				
			||||||
 | 
					            item.vinOutTime = this.getLocalTime(item.vinOutTime);
 | 
				
			||||||
 | 
					          });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // 获取司机轨迹
 | 
				
			||||||
 | 
					  getDriverTrajectory() {
 | 
				
			||||||
 | 
					    this.service.request(this.service.$api_get_getAppDriverPosition, { id: this.id }).subscribe(res => {
 | 
				
			||||||
 | 
					      if (res) {
 | 
				
			||||||
 | 
					        const points = res.tracks;
 | 
				
			||||||
 | 
					        let list: any[] = [];
 | 
				
			||||||
 | 
					        points?.forEach((item: any) => {
 | 
				
			||||||
 | 
					          list.push({
 | 
				
			||||||
 | 
					            name: item.hgt,
 | 
				
			||||||
 | 
					            lnglat: [Number((Number(item.lon) / 600000).toFixed(6)), Number((Number(item.lat) / 600000).toFixed(6))]
 | 
				
			||||||
 | 
					          });
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					        this.mapList = list;
 | 
				
			||||||
 | 
					        this.addressItems = [...res.enclosureDataAppTrack];
 | 
				
			||||||
 | 
					        if (this.addressItems && this.addressItems.length > 0) {
 | 
				
			||||||
 | 
					          this.addressItems.forEach(item => {
 | 
				
			||||||
 | 
					            item.vinOutTime = item.vinOutTime ? this.getLocalTime(item.gtm) : '';
 | 
				
			||||||
 | 
					            item.cityName = item.appAdress;
 | 
				
			||||||
 | 
					          });
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  getLocalTime(time: any) {
 | 
				
			||||||
 | 
					    return format(new Date(parseInt(time)), 'yyyy-MM-dd HH:mm:ss');
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user