This commit is contained in:
wangshiming
2022-03-08 18:59:25 +08:00
parent 14cba100e4
commit bbd531326a
14 changed files with 414 additions and 181 deletions

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-24 16:58:02
* @LastEditors : Shiming
* @LastEditTime : 2022-03-08 13:56:14
* @LastEditTime : 2022-03-08 14:55:27
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail-change\\bulk-detail-change.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
@ -338,27 +338,29 @@
</sv-container>
</nz-card>
<nz-card>
<div nz-row>
<nz-card nzTitle="轨迹信息" style="width: 100%" id="distannce5" [nzExtra]="extraTemplate" #distannce5>
<nz-card nzTitle="轨迹信息" style="width: 100%" [nzExtra]="extraTemplate" #distannce5>
<div nz-row>
<div nz-col [nzSpan]="12">
<st [scroll]="{y: '500px'}" #st [data]="addressItems" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
</st>
</st>
</div>
<div nz-col [nzSpan]="12">
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="MapList"></amap-path-simplifier>
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="mapList"></amap-path-simplifier>
</div>
</div>
</nz-card>
<ng-template #extraTemplate>
<nz-radio-group [(ngModel)]="trajectory">
<nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)">
<label nz-radio-button nzValue="car">车辆轨迹</label>
<label nz-radio-button nzValue="driver">司机轨迹</label>
</nz-radio-group>
</ng-template>
</div>
</nz-card>
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" nzTitle="附件信息" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">
<ng-container *nzModalContent>
<app-imagelist [imgList]="imges"></app-imagelist>

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-24 16:58:02
* @LastEditors : Shiming
* @LastEditTime : 2022-03-08 13:55:14
* @LastEditTime : 2022-03-08 14:55:05
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail-change\\bulk-detail-change.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -41,9 +41,7 @@ function getBase64(file: File): Promise<string | ArrayBuffer | null> {
export class OrderManagementBulkDetailChangeComponent implements OnInit {
validateForm1: FormGroup;
id = this.route.snapshot.params.id;
trajectory = 'car';
@ViewChild('distannce3', { static: false })
MapList: any[]=[];
i: any= {unLoadingPlaceList:[]};
totalDistance = 0.0; //总里程
totalTime = 0.0; //路程总时间
@ -70,16 +68,38 @@ loadTime: any; // 货源单设置回显
schema4: SFSchema = {};
isVisible = false;
billExpenses: any[] = []; //运费信息表格信息
addressItems: any[] = []; //打点地址数据组
ui4!: SFUISchema;
formData: any;
@ViewChild('sf', { static: false }) sf!: SFComponent;
schema: SFSchema = {};
ui: SFUISchema = {};
logColumns: STColumn[] = [
logColumns2: STColumn[] = [
{ title: '时间', index: 'vinOutTime' },
{ title: '地点', index: 'cityName' },
];
logColumns: STColumn[] = [
{ title: '款项', index: 'expenseCodeLabel' },
{ title: '小计(元)', render: 'price' },
{ 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' }
}
}
];
trajectory = 'car';
mapList:any[] = []; //地图点位数据组
addressItems:any[] = []; //打点地址数据组
constructor(
private route: ActivatedRoute,
private router: Router,
@ -102,6 +122,7 @@ loadTime: any; // 货源单设置回显
this.initData()
this.initSF3();
this.initSF4();
this.getTrajectory()
}
initSF() {
this.schema = {
@ -887,30 +908,61 @@ goDistance(elf: NzCardComponent) {
});
}
}
// 获取轨迹
MapInit() {
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.parkArray;
if(this.addressItems && this.addressItems.length > 0){
this.addressItems.forEach(item => {
item.vinOutTime = this.getLocalTime(item.vinOutTime);
});
}
}
});
}
getLocalTime(time: any) {
return format(new Date(parseInt(time)), 'yyyy-MM-dd HH:mm:ss');
// 获取车辆轨迹
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 = 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');
}
}

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-06 20:20:26
* @LastEditors : Shiming
* @LastEditTime : 2022-03-04 14:07:44
* @LastEditTime : 2022-03-08 14:53:01
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk-detail\\bulk-detail.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
@ -204,16 +204,16 @@
<nz-card nzTitle="轨迹信息" style="width: 100%" [nzExtra]="extraTemplate" #distannce5>
<div nz-row>
<div nz-col [nzSpan]="12">
<st [scroll]="{y: '500px'}" #st [data]="addressItems" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
<st [scroll]="{y: '500px'}" #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"></amap-path-simplifier>
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="mapList"></amap-path-simplifier>
</div>
</div>
</nz-card>
<ng-template #extraTemplate>
<nz-radio-group [(ngModel)]="trajectory">
<nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)">
<label nz-radio-button nzValue="car">车辆轨迹</label>
<label nz-radio-button nzValue="driver">司机轨迹</label>
</nz-radio-group>

View File

@ -33,12 +33,33 @@ export class OrderManagementBulkeDetailComponent implements OnInit {
totalObj: any;
attObj: any;
isVisible = false;
logColumns: STColumn[] = [
logColumns2: STColumn[] = [
{ title: '时间', index: 'vinOutTime' },
{ title: '地点', index: 'cityName' },
];
logColumns: STColumn[] = [
{ title: '款项', index: 'expenseCodeLabel' },
{ title: '小计(元)', render: 'price' },
{ 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' }
}
}
];
trajectory = 'car';
addressItems: any[] = []; //打点地址数据组
mapList:any[] = []; //地图点位数据组
addressItems:any[] = []; //打点地址数据组
constructor(
private route: ActivatedRoute,
private msgSrv: NzMessageService,
@ -49,7 +70,7 @@ export class OrderManagementBulkeDetailComponent implements OnInit {
ngOnInit(): void {
this.initData();
this.MapInit();
this.getTrajectory();
}
initData() {
@ -103,8 +124,9 @@ export class OrderManagementBulkeDetailComponent implements OnInit {
})
});
}
// 获取轨迹
MapInit() {
// 获取车辆轨迹
getTrajectory(){
this.service.request(this.service.$api_get_getTrajectory, { id: this.id }).subscribe(res => {
if (res) {
const points = res.trackArray;
@ -115,8 +137,8 @@ export class OrderManagementBulkeDetailComponent implements OnInit {
lnglat: [Number((Number(item.lon) / 600000).toFixed(6)), Number((Number(item.lat) / 600000).toFixed(6))]
});
});
this.MapList = list;
this.addressItems = res.parkArray;
this.mapList = list;
this.addressItems = res.cityArray;
if(this.addressItems && this.addressItems.length > 0){
this.addressItems.forEach(item => {
item.vinOutTime = this.getLocalTime(item.vinOutTime);
@ -126,6 +148,36 @@ export class OrderManagementBulkeDetailComponent implements OnInit {
});
}
// 获取司机轨迹
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 = 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');
}

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-23 13:39:58
* @LastEditors : Shiming
* @LastEditTime : 2022-03-08 13:35:20
* @LastEditTime : 2022-03-08 14:59:55
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail-change\\vehicle-detail-change.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
@ -309,17 +309,23 @@
<nz-card>
<div nz-row>
<nz-card nzTitle="轨迹信息" style="width: 100%" #distannce5>
<nz-card nzTitle="轨迹信息" style="width: 100%" [nzExtra]="extraTemplate" #distannce5>
<div nz-row>
<div nz-col [nzSpan]="12">
<!-- <st #st [data]="i?.auditRecordList" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
</st> -->
<st [scroll]="{y: '500px'}" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }">
</st>
</div>
<div nz-col [nzSpan]="12">
<amap-path-simplifier></amap-path-simplifier>
<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="driver">司机轨迹</label>
</nz-radio-group>
</ng-template>
</div>
</nz-card>
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" nzTitle="附件信息" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel()">

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-23 13:39:58
* @LastEditors : Shiming
* @LastEditTime : 2022-03-08 13:59:05
* @LastEditTime : 2022-03-08 16:12:17
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail-change\\vehicle-detail-change.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -21,6 +21,7 @@ import { NzModalService } from 'ng-zorro-antd/modal';
import { NzUploadChangeParam, NzUploadFile } from 'ng-zorro-antd/upload';
import { Observable, Observer } from 'rxjs';
import { map } from 'rxjs/operators';
import format from 'date-fns/format';
import { OrderManagementService } from '../../services/order-management.service';
function getBase64(file: File): Promise<string | ArrayBuffer | null> {
return new Promise((resolve, reject) => {
@ -90,6 +91,13 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit {
}
}
];
trajectory = 'car';
mapList:any[] = []; //地图点位数据组
addressItems:any[] = []; //打点地址数据组
logColumns2: STColumn[] = [
{ title: '时间', index: 'vinOutTime' },
{ title: '地点', index: 'cityName' },
];
constructor(
private route: ActivatedRoute,
private router: Router,
@ -921,4 +929,60 @@ export class OrderManagementVehicleDetailChangeComponent implements OnInit {
});
}
}
// 获取车辆轨迹
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 = 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');
}
}

View File

@ -196,19 +196,19 @@
<nz-card>
<div nz-row>
<nz-card nzTitle="轨迹信息" style="width: 100%" id="distannce5" [nzExtra]="extraTemplate" #distannce5>
<nz-card nzTitle="轨迹信息" style="width: 100%" [nzExtra]="extraTemplate" #distannce5>
<div nz-row>
<div nz-col [nzSpan]="12">
<st [scroll]="{y: '500px'}" #st [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }">
</st>
</st>
</div>
<div nz-col [nzSpan]="12">
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="MapList"></amap-path-simplifier>
<amap-path-simplifier [mapWidth]="'100%'" [mapHeight]="'600px'" [MapList]="mapList"></amap-path-simplifier>
</div>
</div>
</nz-card>
<ng-template #extraTemplate>
<nz-radio-group [(ngModel)]="trajectory">
<nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)">
<label nz-radio-button nzValue="car">车辆轨迹</label>
<label nz-radio-button nzValue="driver">司机轨迹</label>
</nz-radio-group>

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2021-12-28 14:42:03
* @LastEditors : Shiming
* @LastEditTime : 2022-03-02 16:19:31
* @LastEditTime : 2022-03-08 14:56:43
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle-detail\\vehicle-detail.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
@ -23,7 +23,9 @@ import { OrderManagementService } from '../../services/order-management.service'
})
export class OrderManagementVehicleDetailComponent implements OnInit {
id = this.route.snapshot.params.id;
MapList: any[]=[];
trajectory = 'car';
mapList:any[] = []; //地图点位数据组
addressItems:any[] = []; //打点地址数据组
i: any = {
unLoadingPlaceList: [],
billExpenseDetails: [],
@ -60,9 +62,6 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
}
}
];
trajectory = 'car';
addressItems: any[] = []; //打点地址数据组
constructor(
private route: ActivatedRoute,
private msgSrv: NzMessageService,
@ -73,7 +72,7 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
ngOnInit(): void {
this.initData();
this.MapInit()
this.getTrajectory()
}
initData() {
@ -128,8 +127,8 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
// elf['elementRef'].nativeElement.className = 'target-fix'
}
}
// 获取轨迹
MapInit() {
// 获取车辆轨迹
getTrajectory(){
this.service.request(this.service.$api_get_getTrajectory, { id: this.id }).subscribe(res => {
if (res) {
const points = res.trackArray;
@ -140,8 +139,8 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
lnglat: [Number((Number(item.lon) / 600000).toFixed(6)), Number((Number(item.lat) / 600000).toFixed(6))]
});
});
this.MapList = list;
this.addressItems = res.parkArray;
this.mapList = list;
this.addressItems = res.cityArray;
if(this.addressItems && this.addressItems.length > 0){
this.addressItems.forEach(item => {
item.vinOutTime = this.getLocalTime(item.vinOutTime);
@ -151,6 +150,36 @@ export class OrderManagementVehicleDetailComponent implements OnInit {
});
}
// 获取司机轨迹
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 = 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');
}

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2022-02-22 13:53:29
* @LastEditors : Shiming
* @LastEditTime : 2022-03-02 16:18:46
* @LastEditTime : 2022-03-08 15:01:14
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\vehicle\\view-track\\view-track.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
@ -12,7 +12,7 @@
<nz-card nzTitle="轨迹信息" [nzExtra]="extraTemplate" >
<div style="display: flex; flex: 1;">
<div style=" flex: 1;">
<st #st [scroll]="{y: '500px'}" [data]="addressItems" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }">
<st #st [scroll]="{y: '500px'}" [data]="addressItems" [columns]="logColumns2" [ps]="0" [page]="{ show: false, showSize: false }">
</st>
</div>
<div style="flex: 1;" >
@ -21,7 +21,7 @@
</div>
</nz-card>
<ng-template #extraTemplate>
<nz-radio-group [(ngModel)]="trajectory">
<nz-radio-group [(ngModel)]="trajectory" (ngModelChange)="trajectoryChange($event)">
<label nz-radio-button nzValue="car">车辆轨迹</label>
<label nz-radio-button nzValue="driver">司机轨迹</label>
</nz-radio-group>

View File

@ -4,7 +4,7 @@
* @Author : Shiming
* @Date : 2022-02-22 13:53:29
* @LastEditors : Shiming
* @LastEditTime : 2022-03-02 16:02:51
* @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.
*/
@ -35,8 +35,9 @@ export class OneCarOrderViewtrackComponent implements OnInit {
i: any; // 单行数据
MapList:any[] = []; //地图点位数据组
trajectory = 'car';
mapList:any[] = []; //地图点位数据组
addressItems: any[] = []; //打点地址数据组
logColumns: STColumn[] = [
logColumns2: STColumn[] = [
{ title: '时间', index: 'vinOutTime' },
{ title: '地点', index: 'cityName' },
];
@ -49,12 +50,15 @@ export class OneCarOrderViewtrackComponent implements OnInit {
ngOnInit(): void {
console.log(this.i);
this.MapInit();
this.getTrajectory();
}
// 获取轨迹
MapInit() {
this.service.request(this.service.$api_get_getTrajectory, { id: this.i.id }).subscribe(res => {
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[] = [];
@ -64,8 +68,7 @@ export class OneCarOrderViewtrackComponent implements OnInit {
lnglat: [Number((Number(item.lon) / 600000).toFixed(6)), Number((Number(item.lat) / 600000).toFixed(6))]
});
});
this.MapList = list;
// this.addressItems = res.parkArray;
this.mapList = list;
this.addressItems = res.cityArray;
if(this.addressItems && this.addressItems.length > 0){
this.addressItems.forEach(item => {
@ -75,10 +78,38 @@ export class OneCarOrderViewtrackComponent implements OnInit {
}
});
}
close(value: boolean): void {
this.modalRef.close(false);
}
getLocalTime(time: any) {
return format(new Date(parseInt(time)), 'yyyy-MM-dd HH:mm:ss');
}
// 获取司机轨迹
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');
}
}

View File

@ -120,50 +120,44 @@ export class OrderManagementService extends ShipperBaseService {
// 获取货主企业列表
public $api_enterpriceList = '/api/mdc/cuc/enterpriseInfo/operate/enterpriceList';
// 查询系统配置项
// 查询系统配置项
public $api_get_config_item_page = '/api/mdc/pbc/sysConfigItem/list/page';
// 查询单据审核
// 查询单据审核
public $api_get_billExamine_page = '/api/sdc/billExamine/listPage';
// 单据审核查看凭证
// 单据审核查看凭证
public $api_get_getCredentials = '/api/sdc/billExamine/getCredentials';
// 单据审核
// 单据审核
public $api_get_billAudit = '/api/sdc/billExamine/billAudit';
// 统计单据审核状态数量
// 统计单据审核状态数量
public $api_get_getAuditStatistical = '/api/sdc/billExamine/getAuditStatistical';
// 修改单据审核
// 修改单据审核
public $api_get_updateBillExamine = '/api/sdc/billExamine/updateBillExamine';
// 单据审核通过
// 单据审核通过
public $api_get_billAuditPass = '/api/sdc/billExamine/billAuditPassBatch';
// 查询规则抽查列表
// 查询规则抽查列表
public $api_get_listCompliancePage = '/api/sdc/BillComplianceSpotCheck/list/Page';
// 规则抽查审批
// 规则抽查审批
public $api_get_updateBillByCompliance = '/api/sdc/billOperate/updateBillByCompliance';
// 获取规则抽查分类统计
// 获取规则抽查分类统计
public $api_get_getComplianceStatisticalStatus = '/api/sdc/billOperate/getComplianceStatisticalStatus';
// 货主端-货主查看评价(评价司机的)
// 货主端-货主查看评价(评价司机的)
public $api_getBillEvaluateByShipper = '/api/sdc/billEvaluate/getBillEvaluateByShipper';
// 货主端-货主查看评价(司机评价货主的)
// 货主端-货主查看评价(司机评价货主的)
public $api_getBillEvaluateDriverByShipper = '/api/sdc/billEvaluate/getBillEvaluateDriverByShipper';
// 获取订单退款申请表
// 获取订单退款申请表
public $api_billRefundApplication_get = '/api/fcc/billRefundApplication/get';
// 同意退款
// 同意退款
public $api_billRefundApplication_agreeRefund = '/api/fcc/billRefundApplication/agreeRefund';
// 保存订单退款申请表
// 保存订单退款申请表
public $api_billRefundApplication_save = '/api/fcc/billRefundApplication/save';
// 批量修改费率-实时查看附加费
// 批量修改费率-实时查看附加费
public $api_searchAdditionalRateBatch = '/api/sdc/billOperate/searchAdditionalRateBatch';
getDictByKey(dictKey: string) {
const params = { dictKey: dictKey };
return this.request(this.$api_getDictValue, params);
@ -172,6 +166,8 @@ export class OrderManagementService extends ShipperBaseService {
$api_getDictValue = `/api/mdc/pbc/dictItems/getDictValue`;
// 获取轨迹
$api_get_getTrajectory = `/api/sdc/billShipper/getTrajectoryByBillId`;
// 获取订单司机轨迹
$api_get_getAppDriverPosition = `/api/sdc/billShipper/getAppDriverPosition`;
/**
* 根据企业ID获取企业历史网络货运人
* @returns
@ -193,22 +189,22 @@ export class OrderManagementService extends ShipperBaseService {
})
);
}
/**
/**
* 获取车型、车长字典数据
* @returns
*/
getDictOptions(params = {}) {
return this.request(this.$api_getDictValue, params).pipe(
map((res: any) => {
if (!res) {
return [];
}
const obj = [];
obj.push({ label: '不限', value: '999' });
return [...obj, ...res];
})
);
}
getDictOptions(params = {}) {
return this.request(this.$api_getDictValue, params).pipe(
map((res: any) => {
if (!res) {
return [];
}
const obj = [];
obj.push({ label: '不限', value: '999' });
return [...obj, ...res];
})
);
}
constructor(public injector: Injector, public eaCacheSrv: EACacheService) {
super(injector, eaCacheSrv);
}

View File

@ -768,20 +768,20 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
// 货物核载信息最大值
// 货物运输费(小计)最大值
const getlimitvaluesParms = [
this.service.limitKeys.weight,
this.service.limitKeys.volume,
this.service.limitKeys.piece,
this.service.limitKeys.maxDays,
this.service.limitKeys.intervalDays,
this.service.limitKeys.maxTimes
this.service?.limitKeys?.weight,
this.service?.limitKeys?.volume,
this.service?.limitKeys?.piece,
this.service?.limitKeys?.maxDays,
this.service?.limitKeys?.intervalDays,
this.service?.limitKeys?.maxTimes
];
this.service.request(this.service.$api_findItemValueByItemKeys, getlimitvaluesParms).subscribe(res => {
const maxWeight = res.filter((item: any) => item.itemKey === this.service.limitKeys.weight)[0].itemValue;
const maxVolume = res.filter((item: any) => item.itemKey === this.service.limitKeys.volume)[0].itemValue;
const maxPiece = res.filter((item: any) => item.itemKey === this.service.limitKeys.piece)[0].itemValue;
const maxDays = res.filter((item: any) => item.itemKey === this.service.limitKeys.maxDays)[0].itemValue;
const intervalDays = res.filter((item: any) => item.itemKey === this.service.limitKeys.intervalDays)[0].itemValue;
const maxTimes = res.filter((item: any) => item.itemKey === this.service.limitKeys.maxTimes)[0].itemValue;
const maxWeight = res.filter((item: any) => item.itemKey === this.service.limitKeys?.weight)[0].itemValue;
const maxVolume = res.filter((item: any) => item.itemKey === this.service.limitKeys?.volume)[0].itemValue;
const maxPiece = res.filter((item: any) => item.itemKey === this.service.limitKeys?.piece)[0].itemValue;
const maxDays = res.filter((item: any) => item.itemKey === this.service.limitKeys?.maxDays)[0].itemValue;
const intervalDays = res.filter((item: any) => item.itemKey === this.service.limitKeys?.intervalDays)[0].itemValue;
const maxTimes = res.filter((item: any) => item.itemKey === this.service.limitKeys?.maxTimes)[0].itemValue;
this.limitValues = {
maxWeight: Number(maxWeight),
maxVolume: Number(maxVolume),
@ -912,16 +912,16 @@ export class SupplyManagementOnecarPublishComponent implements OnInit {
}
const num = (Number(this.validateForm1.value.unloadingTime) - Number(this.validateForm1.value.loadingTime)) / (24 * 60 * 60 * 1000);
if (num > this.limitValues.maxDays) {
this.service.msgSrv.error(`当前计划装卸货时间间隔已超出限定值【${this.limitValues.maxDays}天】`);
this.service.msgSrv.error(`当前计划装卸货时间间隔已超出限定值【${this.limitValues?.maxDays}天】`);
return;
}
if (
this.sf4.value.weight > this.limitValues.maxWeight ||
this.sf4.value.volume > this.limitValues.maxVolume ||
this.sf4.value.number > this.limitValues.maxPiece
this.sf4.value?.weight > this.limitValues?.maxWeight ||
this.sf4.value?.volume > this.limitValues?.maxVolume ||
this.sf4.value?.number > this.limitValues?.maxPiece
) {
this.service.msgSrv.error(
`当前货物核载信息已超出限定值【${this.limitValues.maxWeight}吨、${this.limitValues.maxVolume}方、${this.limitValues.maxPiece}件】`
`当前货物核载信息已超出限定值【${this.limitValues?.maxWeight}吨、${this.limitValues?.maxVolume}方、${this.limitValues?.maxPiece}件】`
);
return;
}

View File

@ -662,20 +662,20 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
// 货物核载信息最大值
// 货物运输费(小计)最大值
const getlimitvaluesParms = [
this.service.limitKeys.weight,
this.service.limitKeys.volume,
this.service.limitKeys.piece,
this.service.limitKeys.maxDays,
this.service.limitKeys.intervalDays,
this.service.limitKeys.maxTimes
this.service.limitKeys?.weight,
this.service.limitKeys?.volume,
this.service.limitKeys?.piece,
this.service.limitKeys?.maxDays,
this.service.limitKeys?.intervalDays,
this.service.limitKeys?.maxTimes
];
this.service.request(this.service.$api_findItemValueByItemKeys, getlimitvaluesParms).subscribe(res => {
const maxWeight = res.filter((item: any) => item.itemKey === this.service.limitKeys.weight)[0].itemValue;
const maxVolume = res.filter((item: any) => item.itemKey === this.service.limitKeys.volume)[0].itemValue;
const maxPiece = res.filter((item: any) => item.itemKey === this.service.limitKeys.piece)[0].itemValue;
const maxDays = res.filter((item: any) => item.itemKey === this.service.limitKeys.maxDays)[0].itemValue;
const intervalDays = res.filter((item: any) => item.itemKey === this.service.limitKeys.intervalDays)[0].itemValue;
const maxTimes = res.filter((item: any) => item.itemKey === this.service.limitKeys.maxTimes)[0].itemValue;
const maxWeight = res.filter((item: any) => item.itemKey === this.service.limitKeys?.weight)[0].itemValue;
const maxVolume = res.filter((item: any) => item.itemKey === this.service.limitKeys?.volume)[0].itemValue;
const maxPiece = res.filter((item: any) => item.itemKey === this.service.limitKeys?.piece)[0].itemValue;
const maxDays = res.filter((item: any) => item.itemKey === this.service.limitKeys?.maxDays)[0].itemValue;
const intervalDays = res.filter((item: any) => item.itemKey === this.service?.limitKeys?.intervalDays)[0].itemValue;
const maxTimes = res.filter((item: any) => item.itemKey === this.service.limitKeys.maxTimes)[0]?.itemValue;
this.limitValues = {
maxWeight: Number(maxWeight),
maxVolume: Number(maxVolume),
@ -871,12 +871,12 @@ export class SupplyManagementReleasePublishComponent implements OnInit {
return;
}
if (
this.sf4.value.weight > this.limitValues.maxWeight ||
this.sf4.value.volume > this.limitValues.maxVolume ||
this.sf4.value.number > this.limitValues.maxPiece
this.sf4.value?.weight > this.limitValues?.maxWeight ||
this.sf4.value?.volume > this.limitValues?.maxVolume ||
this.sf4.value?.number > this.limitValues?.maxPiece
) {
this.service.msgSrv.error(
`当前货物核载信息已超出限定值【${this.limitValues.maxWeight}吨、${this.limitValues.maxVolume}方、${this.limitValues.maxPiece}件】`
`当前货物核载信息已超出限定值【${this.limitValues?.maxWeight}吨、${this.limitValues?.maxVolume}方、${this.limitValues?.maxPiece}件】`
);
return;
}

View File

@ -2,7 +2,7 @@ import { WaybillManagementBulkComponent } from './../components/bulk/bulk.compon
/*
* @Author: your name
* @Date: 2021-12-07 14:52:29
* @LastEditTime : 2022-03-02 16:22:23
* @LastEditTime : 2022-03-08 14:51:11
* @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\\services\\waybill-management.service.ts
@ -15,50 +15,51 @@ import { BaseService } from 'src/app/shared/services';
})
export class WaybillManagementServe extends BaseService {
$api_get_enterprise_project = `/api/mdc/cuc/enterpriseProject/getEnterpriseProjectList `; // 所属项目列表
// 据 手机号/姓名 查询 车队长/司机
$api_get_getDriverInfo = `/api/mdc/cuc/user/getDriverInfo`;
// 查询整车运单-运营后台
$api_get_wholePage = `/api/sdc/wayBillOperate/listWholePage`;
// 查询整车运单详情-运营后台
$api_get_getWholeDetail = `/api/sdc/wayBillOperate/getWholeDetail`;
// 据 手机号/姓名 查询 车队长/司机
$api_get_getDriverInfo = `/api/mdc/cuc/user/getDriverInfo`;
// 查询整车运单-运营后台
$api_get_wholePage = `/api/sdc/wayBillOperate/listWholePage`;
// 查询整车运单详情-运营后台
$api_get_getWholeDetail = `/api/sdc/wayBillOperate/getWholeDetail`;
// 查询大宗运单-运营后台
$api_get_Bulkpage = `/api/sdc/wayBillOperate/listBulkPage`;
// 查询大宗运单详情-运营后台
$api_get_getBulkDetail = `/api/sdc/wayBillOperate/getBulkDetail`;
// 查询大宗运单-运营后台
$api_get_Bulkpage = `/api/sdc/wayBillOperate/listBulkPage`;
// 查询大宗运单详情-运营后台
$api_get_getBulkDetail = `/api/sdc/wayBillOperate/getBulkDetail`;
// 整车运单分类统计
$api_get_getWholeStatistics = `/api/sdc/wayBillOperate/getWholeStatistics`;
// 大宗运单分类统计
$api_get_getBulkStatistics = `/api/sdc/wayBillOperate/getBulkStatistics`;
// 整车运单分类统计
$api_get_getWholeStatistics = `/api/sdc/wayBillOperate/getWholeStatistics`;
// 大宗运单分类统计
$api_get_getBulkStatistics = `/api/sdc/wayBillOperate/getBulkStatistics`;
// 根据车牌号查询车辆信息
$api_get_getCarLicenseListByCarNo= `/api/mdc/cuc/carLicense/findCarLicenseByCarNo`;
// 根据车牌号查询车辆信息
$api_get_getCarLicenseListByCarNo = `/api/mdc/cuc/carLicense/findCarLicenseByCarNo`;
// 大宗确认发车
$api_get_insertBulkStartCarInfo= `/api/sdc/wayBillOperate/insertBulkStartCarInfo`;
// 整车确认发车
$api_get_insertWholeStartCarInfo= `/api/sdc/wayBillOperate/insertWholeStartCarInfo`;
// 整车确认到车
// 大宗确认发车
$api_get_insertBulkStartCarInfo = `/api/sdc/wayBillOperate/insertBulkStartCarInfo`;
// 整车确认发车
$api_get_insertWholeStartCarInfo = `/api/sdc/wayBillOperate/insertWholeStartCarInfo`;
// 整车确认到车
$api_get_insertWholeUnloadCarInfo = `/api/sdc/wayBillOperate/insertWholeUnloadCarInfo`;
// 大宗确认到车
// 大宗确认到车
$api_get_insertBulkUnloadCarInfo = `/api/sdc/wayBillOperate/insertBulkUnloadCarInfo`;
// 确认到车界面信息(两个只能看的图片)
$api_get_getUnloadCarInfo = `/api/sdc/wayBillOperate/getUnloadCarInfo`;
$api_get_getUnloadCarInfo = `/api/sdc/wayBillOperate/getUnloadCarInfo`;
// 查询CRM客户信息表
// 查询CRM客户信息表
$api_get_crmCustomer_page = '/api/mdc/cuc/crmCustomer/list/page';
// 查询运营端未回复异常上报
// 查询运营端未回复异常上报
$api_get_listOperatePage = '/api/sdc/exceptionReport/listOperateUnReplyPage';
// 查询运营端已回复异常上报
// 查询运营端已回复异常上报
$api_get_listOperateReplyPage = '/api/sdc/exceptionReport/listOperateReplyPage';
// 获取轨迹
$api_get_getTrajectory = `/api/sdc/billShipper/getTrajectoryByBillId`;
// 获取货主企业列表
public $api_enterpriceList = '/api/mdc/cuc/enterpriseInfo/operate/enterpriceList';
// 获取订单司机轨迹
$api_get_getAppDriverPosition = `/api/sdc/billShipper/getAppDriverPosition`;
// 获取货主企业列表
public $api_enterpriceList = '/api/mdc/cuc/enterpriseInfo/operate/enterpriceList';
constructor(public injector: Injector) {
super(injector)
super(injector);
}
}