/* * @Author: your name * @Date: 2021-12-03 15:31:52 * @LastEditTime : 2022-03-23 14:47:57 * @LastEditors : Shiming * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\bulk-detail\\bulk-detail.component.ts */ import { Component, OnInit } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { STColumn } from '@delon/abc/st'; import { _HttpClient } from '@delon/theme'; import { NzCardComponent } from 'ng-zorro-antd/card'; import { NzMessageService } from 'ng-zorro-antd/message'; import { NzModalService } from 'ng-zorro-antd/modal'; import format from 'date-fns/format'; import { VehicleSureArriveComponent } from 'src/app/routes/order-management/modal/vehicle/sure-arrive/sure-arrive.component'; import { VehicleSureDepartComponent } from 'src/app/routes/order-management/modal/vehicle/sure-depart/sure-depart.component'; import { WaybillManagementServe } from '../../services/waybill-management.service'; @Component({ selector: 'app-supply-management-bulk-detail', templateUrl: './bulk-detail.component.html', styleUrls: ['./bulk-detail.component.less'] }) export class WaybillManagementBulkeDetailComponent implements OnInit { id = this.route.snapshot.params.id; i: any; totalObj: any; attObj: any; isVisible = false; MapList: any[]=[]; trajectory = 'car'; mapList:any[] = []; //地图点位数据组 addressItems:any[] = []; //打点地址数据组 billExpenses: any[] = []; //运费信息表格信息 imges: any; modalcontent: any; modalTitle:string = ''; unLoadingPlaceVOList: any = []; logColumns2: STColumn[] = [ { title: '时间', index: 'parkBte' }, { title: '地点', index: 'parkAdr' }, ]; logColumns: STColumn[] = [ { title: '款项', index: 'costCodeLabel' }, { title: '小计(元)', render: 'prices' }, { title: '运输费(元)', render: 'price' }, { title: '附加费(元)', render: 'surcharge' }, { title: '支付时间', index: 'paymentTime' }, { title: '支付状态', className: 'text-center', index: 'paymentStatus', type: 'badge', width: '120px', badge: { '1': { text: '待申请', color: 'warning' }, '2': { text: '已支付', color: 'success' }, '3': { text: '已拒绝', color: 'warning' }, '4': { text: '申请中', color: 'warning' } } } ]; constructor( private route: ActivatedRoute, private msgSrv: NzMessageService, private modal: NzModalService, private service: WaybillManagementServe, private modalService: NzModalService ) { } ngOnInit(): void { this.initData() this.getTrajectory() } initData() { const params = { id: this.id } this.service.request(this.service.$api_get_getBulkDetail, params).subscribe((res) => { console.log(res) this.unLoadingPlaceVOList.push(...res.loadingPlace) this.unLoadingPlaceVOList.push(...res.dischargePlace) console.log(this.unLoadingPlaceVOList) this.i = res; this.billExpenses = this.i?.billExpenseDetails?.filter((data: any) => data.costCode === 'TRA'); this.i.scheduleVOList = this.i?.scheduleVOList?.filter((data:any)=>data.displayStatus !=="HIDE"); }) } hand() { this.modalService.create({ nzTitle: '', // nzContent: OrderManagementGaodeMapComponent, nzWidth: 1200 }); } goBack() { window.history.go(-1); } agreement(value: any) { if(value ==='1'){ this.modalTitle = '附件信息'; this.modalcontent = this.i?.contractContent?.contractContent; }else if(value === '2'){ this.modalTitle = '补充协议'; this.modalcontent = this.i?.supplementContent?.contractContent; } this.isVisible = true; } handleCancel() { this.isVisible = false } handleOK() { this.isVisible = false } goDistance(elf: NzCardComponent) { if (elf) { elf['elementRef'].nativeElement.scrollIntoView({ behavior: 'smooth', block: 'start', inline: 'start' }); } } // *确认发车 sureDepart(item: any) { const modalRef = this.modal.create({ nzTitle: '确认发车', nzWidth: '50%', nzContent: VehicleSureDepartComponent, nzComponentParams: { i: item, Status: 2 }, nzFooter: null }); modalRef.afterClose.subscribe((result: any) => { this.initData() }); } // 确认到车 sureArrive(item: any) { const modalRef = this.modal.create({ nzTitle: '确认到车', nzWidth: '50%', nzContent: VehicleSureArriveComponent, nzComponentParams: { i: item, Status: 2 }, nzFooter: null }); modalRef.afterClose.subscribe((result: any) => { this.initData() }); } // 获取车辆轨迹 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))], time: item.gtm }); }); this.mapList = list; this.addressItems = res.parkArray; if(this.addressItems && this.addressItems.length > 0){ this.addressItems.forEach(item => { item.parkBte = this.getLocalTime(item.parkBte); }); } } }); } // 获取司机轨迹 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))], time: item.gtm }); }); 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'); } }