fixes: directions api change

This commit is contained in:
Alexandro Uc Santos
2024-04-20 16:59:12 -06:00
parent 18920ac2fc
commit 2ce0fd01a4
6 changed files with 95 additions and 38 deletions

View File

@@ -6,6 +6,7 @@
import useDirectionsRender from '../composables/useDirectionRender';
import Cardload from './CardLoad.vue';
import { useLoadsStore } from '../stores/loads';
import { useNotificationsStore } from '../stores/notifications';
const mapKey = import.meta.env.VITE_MAP_KEY;
@@ -20,7 +21,7 @@
const vehicleLastLocation = ref(null);
const isLoadActive = ref(false);
const { geocodeAddress, getDirections } = useDirectionsRender()
const { getDirections } = useDirectionsRender()
const props = defineProps({
proposal: {
@@ -32,6 +33,7 @@
defineEmits(['reset-proposal'])
const loadStore = useLoadsStore();
const notyStore = useNotificationsStore();
onMounted(() => {
window.addEventListener('resize', handleResize);
@@ -44,36 +46,53 @@
});
const initData = async() => {
console.log(props.proposal)
isLoading.value = true;
const code = props.proposal.load.shipment_code;
const filter = "?shipment_code[$in]=" + code;
const resp = await loadStore.getLoad(filter);
console.log(resp);
if(resp.total > 0) {
load.value = resp.data[0];
originCoords.value = await geocodeAddress(load.value.origin_formatted_address);
destinationCoords.value = await geocodeAddress(load.value.destination_formatted_address);
polylines.value = await getDirections(originCoords.value, destinationCoords.value);
if(load.value.vehicle) {
vehicleLastLocation.value = {
lat: parseFloat(load.value.vehicle.last_location_lat),
lng: parseFloat(load.value.vehicle.last_location_lng)
try {
const addressOrigin = load.value?.origin;
const addressDestination = load.value?.destination;
if(addressOrigin && addressDestination) {
originCoords.value = {lat: Number.parseFloat(addressOrigin.lat), lng: Number.parseFloat(addressOrigin.lng)};
destinationCoords.value = {lat: Number.parseFloat(addressDestination.lat), lng: Number.parseFloat(addressDestination.lng)};
polylines.value = await getDirections(originCoords.value, destinationCoords.value);
}
}
switch (load.value.load_status) {
case 'Loading':
isLoadActive.value = true;
break;
case 'Transit':
isLoadActive.value = true;
break;
case 'Downloading':
isLoadActive.value = true;
break;
default:
isLoadActive.value = false;
break;
if(load.value.vehicle) {
vehicleLastLocation.value = {
lat: parseFloat(load.value.vehicle.last_location_lat),
lng: parseFloat(load.value.vehicle.last_location_lng)
}
}
switch (load.value.load_status) {
case 'Loading':
isLoadActive.value = true;
break;
case 'Transit':
isLoadActive.value = true;
break;
case 'Downloading':
isLoadActive.value = true;
break;
default:
isLoadActive.value = false;
break;
}
} catch (error) {
notyStore.$patch({
text : 'No se pudo cargar mapa',
show : true,
error: true
});
}
}
@@ -140,7 +159,6 @@
:draggable="false"
>
<div style="text-align: center">
<!-- <img src="/images/freeTruck.png" width="25" height="25" /> -->
<i class="fa-solid fa-truck" :style="{fontSize: 25 + 'px', color: 'green'}"></i>
</div>
</CustomMarker>
@@ -148,7 +166,6 @@
v-if="polylines"
:options="{
path: polylines,
// geodesic: true,
strokeColor: '#2D90BB',
strokeOpacity: 0.7,
strokeWeight: 5,

View File

@@ -8,7 +8,7 @@
import { useAuthStore } from '../stores/auth';
import { useCompanyStore } from '../stores/company';
import { useVehiclesStore } from '../stores/vehicles';
import { saveProposal } from '../services/vehicles'
// import { saveProposal } from '../services/vehicles'
import Swal from 'sweetalert2';
const mapKey = import.meta.env.VITE_MAP_KEY;
@@ -57,7 +57,6 @@
});
const initData = async() => {
console.log('load: ', props.load);
isLoading.value = true;
let filterQuery = [];
filterQuery.company = "company="+ authStore.user.company
@@ -66,7 +65,7 @@
destinationCoords.value = {lat: Number.parseFloat(props.load.destination.lat), lng: Number.parseFloat(props.load.destination.lng)};;
polylines.value = await getDirections(originCoords.value, destinationCoords.value);
isLoading.value = false;
console.log(props.proposal);
// console.log(props.proposal);
if(props.proposal) {
form.vehicle = props.proposal.vehicle._id;
form.comments = props.proposal.comment;
@@ -121,7 +120,7 @@
}
const index = vehiclesStore.vehicles.findIndex((prop) => prop._id === form.vehicle);
const vehicleSelected = vehiclesStore.vehicles[index];
console.log(vehicleSelected);
// console.log(vehicleSelected);
const localData = {
vehicle: vehicleSelected,
load: props.load,

View File

@@ -113,7 +113,7 @@
class="nav-link" :to="{name: 'calculator'}">Calculadora</RouterLink>
</div>
</li>
<li
<!-- <li
v-if="auth.user?.permissions === 'role_carrier'"
:class="[route.name === 'carriers' ? 'bg-nav-active' : '']">
<div>
@@ -122,7 +122,7 @@
active-class="router-link-active"
class="nav-link" :to="{name: 'carriers'}">Transportistas</RouterLink>
</div>
</li>
</li> -->
<!-- <li
v-if="auth.user?.permissions === 'role_shipper'"
:class="[route.name === 'carriers' ? 'bg-nav-active' : '']">