ultimatepos/Modules/Tms/Resources/views/tracking/shipment.blade.php

39 lines
1.7 KiB
PHP

@extends('layouts.app')
@section('title', __('tms::lang.shipment_tracking').' — '.$track['shipment']['ref_no'])
@section('content')
@include('tms::layouts.nav')
@include('tms::layouts.map_assets')
<section class="content no-print mt-page">
<div class="mt-page-header">
<h1><i class="fas fa-route" style="color:#3b82f6;margin-left:8px;"></i> {{ $track['shipment']['ref_no'] }}</h1>
<a href="{{ action([\Modules\Tms\Http\Controllers\ShipmentController::class, 'show'], [$track['shipment']['id']]) }}" class="btn btn-default">@lang('tms::lang.shipments')</a>
</div>
<div class="mt-card"><div class="mt-card-body"><div id="tms-map"></div></div></div>
</section>
@endsection
@section('javascript')
<script>
var trackData = @json($track);
$(function(){
var map = L.map('tms-map');
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 19 }).addTo(map);
var latlngs = [];
(trackData.points || []).forEach(function(p){ latlngs.push([p.lat, p.lng]); });
if(latlngs.length){
L.polyline(latlngs, {color:'#3b82f6'}).addTo(map);
L.circleMarker(latlngs[0], {radius:6, color:'green'}).addTo(map).bindPopup('Start');
L.circleMarker(latlngs[latlngs.length-1], {radius:6, color:'orange'}).addTo(map).bindPopup('Last');
map.fitBounds(latlngs, {padding:[30,30]});
} else if(trackData.destination){
map.setView([trackData.destination.lat, trackData.destination.lng], 14);
} else {
map.setView([35.6892, 51.3890], 6);
}
if(trackData.destination){
L.marker([trackData.destination.lat, trackData.destination.lng]).addTo(map)
.bindPopup('<b>@lang('tms::lang.destination')</b><br>'+(trackData.destination.address||''));
}
});
</script>
@endsection