diff --git a/src/app/routes/datatable/datatable.module.ts b/src/app/routes/datatable/datatable.module.ts index bb38fea3..f22e77c3 100644 --- a/src/app/routes/datatable/datatable.module.ts +++ b/src/app/routes/datatable/datatable.module.ts @@ -1,5 +1,5 @@ /* - * @Description : + * @Description : * @Version : 1.0 * @Author : Shiming * @Date : 2022-04-06 11:02:17 @@ -41,6 +41,7 @@ import { ComplianceCurveComponent } from './components/compliance/index/curve/cu import { BusitableCurveComponent } from './components/busitable/busiindex/curve/curve.component'; import { DatatableCustomindexCurveComponent } from './components/customtable/customindex/curve/curve.component'; import { DatatableCustomindexMapComponent } from './components/datascreen/curve/map.component'; +import { DatatableReportingvViewTrackComponent } from './reporting/components/view-track/view-track.component'; const COMPONENTS: Type[] = [ DatatableDataindexComponent, @@ -74,7 +75,8 @@ const COMPONENTS: Type[] = [ ComplianceCurveComponent, BusitableCurveComponent, DatatableCustomindexCurveComponent, - DatatableCustomindexMapComponent + DatatableCustomindexMapComponent, + DatatableReportingvViewTrackComponent ] diff --git a/src/app/routes/datatable/reporting/components/order-reporting/order-reporting.component.html b/src/app/routes/datatable/reporting/components/order-reporting/order-reporting.component.html index 117c0795..8b14bd1c 100644 --- a/src/app/routes/datatable/reporting/components/order-reporting/order-reporting.component.html +++ b/src/app/routes/datatable/reporting/components/order-reporting/order-reporting.component.html @@ -66,10 +66,10 @@ - 查看轨迹 + 查看轨迹 - 查看轨迹 + 查看轨迹 diff --git a/src/app/routes/datatable/reporting/components/order-reporting/order-reporting.component.ts b/src/app/routes/datatable/reporting/components/order-reporting/order-reporting.component.ts index d5b58c12..77b16932 100644 --- a/src/app/routes/datatable/reporting/components/order-reporting/order-reporting.component.ts +++ b/src/app/routes/datatable/reporting/components/order-reporting/order-reporting.component.ts @@ -7,6 +7,7 @@ import { NzModalService } from 'ng-zorro-antd/modal'; import { ReportingService } from '../../services/reporting.service'; import { DatatableReportingUploadSettingComponent } from '../upload-setting/upload-setting.component'; import { DatatableReportingVerifyResultComponent } from '../verify-result/verify-result.component'; +import { DatatableReportingvViewTrackComponent } from '../view-track/view-track.component'; @Component({ selector: 'app-datatable-order-reporting', @@ -284,9 +285,9 @@ export class DatatableOrderReportingComponent implements OnInit { title: '订单号', render: 'billCode', className: 'text-center', - width: '150px', + width: '180px', }, - { title: '运单号', render: 'wayBillCode', className: 'text-center', width: '150px', }, + { title: '运单号', render: 'wayBillCode', className: 'text-center', width: '180px', }, { title: '网络货运人', @@ -529,9 +530,20 @@ export class DatatableOrderReportingComponent implements OnInit { /** * 查看轨迹 */ - viewTrack(_record: any) { - // const =; - this.router.navigate([]) + viewTrack(_record: any, trajectory: string) { + const title = trajectory === 'car' ? '车辆' : '司机' + const modalRef = this.modal.create({ + nzTitle: `查看${title}轨迹`, + nzWidth: 1000, + nzContent: DatatableReportingvViewTrackComponent, + nzComponentParams: { + id: _record?.orderId, + trajectory + }, + nzFooter: null + }); + modalRef.afterClose.subscribe(res => { + }) } /** diff --git a/src/app/routes/datatable/reporting/components/view-track/view-track.component.html b/src/app/routes/datatable/reporting/components/view-track/view-track.component.html new file mode 100644 index 00000000..cc66c9c3 --- /dev/null +++ b/src/app/routes/datatable/reporting/components/view-track/view-track.component.html @@ -0,0 +1,5 @@ +
+ + + +
diff --git a/src/app/routes/datatable/reporting/components/view-track/view-track.component.spec.ts b/src/app/routes/datatable/reporting/components/view-track/view-track.component.spec.ts new file mode 100644 index 00000000..c32eb107 --- /dev/null +++ b/src/app/routes/datatable/reporting/components/view-track/view-track.component.spec.ts @@ -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; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [DatatableReportingvViewTrackComponent] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(DatatableReportingvViewTrackComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/routes/datatable/reporting/components/view-track/view-track.component.ts b/src/app/routes/datatable/reporting/components/view-track/view-track.component.ts new file mode 100644 index 00000000..1cb10886 --- /dev/null +++ b/src/app/routes/datatable/reporting/components/view-track/view-track.component.ts @@ -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'); + } + +}