/* * @Description : * @Version : 1.0 * @Author : Shiming * @Date : 2022-02-22 13:53:29 * @LastEditors : Shiming * @LastEditTime : 2022-03-08 16:11:58 * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\view-track\\view-track.component.ts * Copyright (C) 2022 huzhenhong. All rights reserved. */ import { Component, OnInit, ViewChild } from '@angular/core'; import { STColumn } from '@delon/abc/st'; import { SFComponent, SFCustomWidgetSchema, SFNumberWidgetSchema, SFRadioWidgetSchema, SFSchema, SFTextareaWidgetSchema, SFUISchema } from '@delon/form'; import format from 'date-fns/format'; import { _HttpClient } from '@delon/theme'; import { NzMessageService } from 'ng-zorro-antd/message'; import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal'; import { OrderManagementService } from '../../../services/order-management.service'; @Component({ selector: 'app-order-management-view-track', styleUrls: ['./view-track.component.less'], templateUrl: './view-track.component.html' }) export class OneCarOrderViewtrackComponent implements OnInit { i: any; // 单行数据 MapList:any[] = []; //地图点位数据组 trajectory = 'car'; mapList:any[] = []; //地图点位数据组 addressItems: any[] = []; //打点地址数据组 logColumns2: STColumn[] = [ { title: '时间', index: 'vinOutTime' }, { title: '地点', index: 'cityName' }, ]; constructor( private modalRef: NzModalRef, private modal: NzModalService, private msgSrv: NzMessageService, public service: OrderManagementService ) {} ngOnInit(): void { console.log(this.i); this.getTrajectory(); } close(value: boolean): void { this.modalRef.close(false); } // 获取车辆轨迹 getTrajectory(){ this.service.request(this.service.$api_get_getTrajectory, { id: this.i?.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.i?.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 = this.getLocalTime(item.gtm); item.cityName = item.appAdress; }); } } }); } trajectoryChange(event:any){ if(event ==='car'){ this.getTrajectory() }else if(event ==='driver'){ this.getDriverTrajectory(); } } getLocalTime(time: any) { return format(new Date(parseInt(time)), 'yyyy-MM-dd HH:mm:ss'); } }