add: share load
This commit is contained in:
@@ -24,6 +24,11 @@
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: true
|
||||
},
|
||||
share: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
}
|
||||
});
|
||||
|
||||
@@ -90,6 +95,22 @@
|
||||
window.open('/publico/tracking/' + code, '_blank');
|
||||
}
|
||||
|
||||
const sharePost = () => {
|
||||
const url = `https://console.etaviaporte.com/publico/carga/${props.load._id}`;
|
||||
const title = "";
|
||||
|
||||
navigator.share({
|
||||
title: title,
|
||||
url: url,
|
||||
})
|
||||
.then(() => {
|
||||
console.log("Enlace compartido con éxito");
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log('Usuario cancelo')
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -161,7 +182,7 @@
|
||||
{{ load.notes }}
|
||||
</div>
|
||||
<div class="btn-row">
|
||||
<button v-if="load.status !== 'Draft' && load.load_status !== 'Published' && load.load_status !== 'Loading' && !tracking"
|
||||
<button v-if="load.status !== 'Draft' && load.load_status !== 'Published' && load.load_status !== 'Loading' && !tracking && !share"
|
||||
type="button"
|
||||
data-toggle="modal" data-target="#attachmentModal"
|
||||
class="btn-primary-sm"
|
||||
@@ -171,12 +192,15 @@
|
||||
{{ t('evidence.evidence') }}
|
||||
</button>
|
||||
</div>
|
||||
<div class="btn-row" v-if="load?.company?._id === authStore?.user?.company._id">
|
||||
<button
|
||||
v-if="(authStore.user?.job_role === 'owner' || authStore.user?.job_role === 'manager') || authStore.user._id === props.load.posted_by"
|
||||
class="btn-primary-sm bg-danger"
|
||||
@click="handleDeleteLoad"
|
||||
><i class="fa-solid fa-ban clear-sm"></i> {{ t('buttons.cancel') }}</button>
|
||||
<div class="btn-row" v-if="load?.company?._id === authStore?.user?.company._id && !share">
|
||||
<button v-if="load.status !== 'Draft' && load.load_status !== 'Delivered'"
|
||||
type="button"
|
||||
class="btn-primary-sm"
|
||||
@click="sharePost"
|
||||
>
|
||||
<i class="fa-solid fa-share-nodes"></i>
|
||||
<span class="clear-sm ms-1">{{t('buttons.share')}}</span>
|
||||
</button>
|
||||
<button v-if="load.status !== 'Draft' && load.load_status !== 'Published' && load.load_status !== 'Loading'"
|
||||
type="button"
|
||||
data-toggle="modal" data-target="#attachmentModal"
|
||||
@@ -184,14 +208,25 @@
|
||||
@click="openAttachmentsModal"
|
||||
>
|
||||
<i class="fa-solid fa-image"></i>
|
||||
{{ t('evidence.evidence') }}
|
||||
<span class="clear-sm ms-1">{{ t('evidence.evidence') }}</span>
|
||||
</button>
|
||||
<button
|
||||
v-if="(authStore.user?.job_role === 'owner' || authStore.user?.job_role === 'manager') || authStore.user._id === props.load.posted_by"
|
||||
class="btn-primary-sm"
|
||||
class="btn-primary-sm bg-danger"
|
||||
@click="handleDeleteLoad"
|
||||
>
|
||||
<i class="fa-solid fa-trash"></i>
|
||||
<span class="clear-sm ms-1">{{ t('buttons.cancel') }}</span>
|
||||
</button>
|
||||
<button
|
||||
v-if="(authStore.user?.job_role === 'owner' || authStore.user?.job_role === 'manager') || authStore.user._id === props.load.posted_by"
|
||||
class="btn-primary-sm bg-dark"
|
||||
data-toggle="modal" data-target="#formLoadModal"
|
||||
@click="openEditModal"
|
||||
><i class="fa-solid fa-pen-to-square clear-sm"></i> {{t('loads.editLoad')}}</button>
|
||||
>
|
||||
<i class="fa-solid fa-pen-to-square"></i>
|
||||
<span class="clear-sm ms-1">{{t('loads.editLoad')}}</span>
|
||||
</button>
|
||||
<button
|
||||
v-if="load.status !== 'Draft'"
|
||||
class="btn-primary-sm"
|
||||
@@ -200,7 +235,7 @@
|
||||
data-target="#proposalsModal"
|
||||
>#{{ load.no_of_proposals }} {{t('loads.offers')}}</button>
|
||||
</div>
|
||||
<div class="btn-row" v-if="readOnly && authStore.user?.permissions === 'role_carrier'">
|
||||
<div class="btn-row" v-if="readOnly && authStore.user?.permissions === 'role_carrier' || share">
|
||||
<button
|
||||
class="btn-primary-sm bg-dark"
|
||||
data-toggle="modal"
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
<p><span>{{ t('labels.userRole') }}: </span>{{ getTypeUser(user.job_role, locale) }}</p>
|
||||
<p><span>{{ t('labels.phone1') }}: </span>
|
||||
{{user.phone}}
|
||||
<a :href="whatsappLink" target="_blank">
|
||||
<a v-if="readonly" :href="whatsappLink" target="_blank">
|
||||
<i class="fab fa-whatsapp whatsapp"></i> <!-- Usando FontAwesome para el icono de WhatsApp -->
|
||||
</a>
|
||||
</p>
|
||||
|
||||
@@ -60,12 +60,13 @@
|
||||
});
|
||||
|
||||
const initData = async() => {
|
||||
const companyId = localStorage.getItem('id');
|
||||
isLoading.value = true;
|
||||
let filterQuery = [];
|
||||
filterQuery.company = "company="+ authStore.user.company._id
|
||||
// filterQuery.company = "company="+ authStore.user.company._id
|
||||
filterQuery.company = "company="+companyId
|
||||
await vehiclesStore.fetchVehicles(filterQuery);
|
||||
if(!props.proposal) {
|
||||
// vehiclesAvailable.value = vehiclesStore.vehicles.filter((vehicle) => vehicle.is_available);
|
||||
vehiclesAvailable.value = vehiclesStore.vehicles;
|
||||
} else {
|
||||
// vehiclesAvailable.value = vehiclesStore.vehicles.filter((vehicle) => vehicle._id === props.proposal.vehicle._id);
|
||||
|
||||
Reference in New Issue
Block a user