|
@@ -17,6 +17,149 @@ import { useOverflow } from '@/hooks/useOverflow'
|
|
|
import { formatTimezone } from '@/utils/tools'
|
|
import { formatTimezone } from '@/utils/tools'
|
|
|
import { useThemeStore } from '@/stores/modules/theme'
|
|
import { useThemeStore } from '@/stores/modules/theme'
|
|
|
import ShareLinkDialog from './components/ShareLinkDialog.vue'
|
|
import ShareLinkDialog from './components/ShareLinkDialog.vue'
|
|
|
|
|
+import { useDriver } from '@/utils/driverGuide'
|
|
|
|
|
+
|
|
|
|
|
+// import { driver } from 'driver.js'
|
|
|
|
|
+
|
|
|
|
|
+const oceanSteps: any = [
|
|
|
|
|
+ {
|
|
|
|
|
+ element: '#driver-step-tracking-detail-1',
|
|
|
|
|
+ popover: {
|
|
|
|
|
+ title: '',
|
|
|
|
|
+ description: 'Main operation button area',
|
|
|
|
|
+ side: 'bottom',
|
|
|
|
|
+ align: 'start'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ element: '#driver-step-tracking-detail-2',
|
|
|
|
|
+ popover: {
|
|
|
|
|
+ description: 'Key shipment status',
|
|
|
|
|
+ side: 'bottom',
|
|
|
|
|
+ align: 'start'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ element: '#driver-step-tracking-detail-3',
|
|
|
|
|
+ popover: {
|
|
|
|
|
+ description: 'Detail container status of each container',
|
|
|
|
|
+ side: 'bottom',
|
|
|
|
|
+ align: 'start'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ element: '#tracking-map',
|
|
|
|
|
+ popover: {
|
|
|
|
|
+ description: `
|
|
|
|
|
+ <ol style="margin-left: 16px; list-style: disc">
|
|
|
|
|
+ <li>Actual Line(Actual Trajectory)</li>
|
|
|
|
|
+ <li>Virtual Line(Planned Trajectory)</li>
|
|
|
|
|
+ <li>Arrow (Current Real-time Position)</li>
|
|
|
|
|
+ </ol>
|
|
|
|
|
+ `,
|
|
|
|
|
+ side: 'bottom',
|
|
|
|
|
+ align: 'start'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ element: '#driver-step-tracking-detail-5',
|
|
|
|
|
+ popover: {
|
|
|
|
|
+ description: `
|
|
|
|
|
+ <ol style="margin-left: 16px; list-style: disc">
|
|
|
|
|
+ <li>Upload Files</li>
|
|
|
|
|
+ <li>Clickable download icons to download files</li>
|
|
|
|
|
+ </ol>
|
|
|
|
|
+ `,
|
|
|
|
|
+ side: 'bottom',
|
|
|
|
|
+ align: 'start'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ element: '#driver-step-tracking-detail-6',
|
|
|
|
|
+ popover: {
|
|
|
|
|
+ description: `
|
|
|
|
|
+ <p>Send email to site staff</p>
|
|
|
|
|
+ <p>Enter contents you want to communicate with, click “Send
|
|
|
|
|
+ Email” button to send out.
|
|
|
|
|
+ </p>
|
|
|
|
|
+ `,
|
|
|
|
|
+ side: 'bottom',
|
|
|
|
|
+ align: 'start'
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+]
|
|
|
|
|
+const airSteps: any = [
|
|
|
|
|
+ {
|
|
|
|
|
+ element: '#driver-step-tracking-detail-1',
|
|
|
|
|
+ popover: {
|
|
|
|
|
+ title: '',
|
|
|
|
|
+ description: 'Main operation button area',
|
|
|
|
|
+ side: 'bottom',
|
|
|
|
|
+ align: 'start'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ element: '#driver-step-tracking-detail-2',
|
|
|
|
|
+ popover: {
|
|
|
|
|
+ description: 'Key shipment status',
|
|
|
|
|
+ side: 'bottom',
|
|
|
|
|
+ align: 'start'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ element: '#tracking-map',
|
|
|
|
|
+ popover: {
|
|
|
|
|
+ description: `
|
|
|
|
|
+ <ol style="margin-left: 16px; list-style: disc">
|
|
|
|
|
+ <li>Actual Line(Actual Trajectory)</li>
|
|
|
|
|
+ <li>Virtual Line(Planned Trajectory)</li>
|
|
|
|
|
+ <li>Arrow (Current Real-time Position)</li>
|
|
|
|
|
+ </ol>
|
|
|
|
|
+ `,
|
|
|
|
|
+ side: 'bottom',
|
|
|
|
|
+ align: 'start'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ element: '#driver-step-tracking-detail-5',
|
|
|
|
|
+ popover: {
|
|
|
|
|
+ description: `
|
|
|
|
|
+ <ol style="margin-left: 16px; list-style: disc">
|
|
|
|
|
+ <li>Upload Files</li>
|
|
|
|
|
+ <li>Clickable download icons to download files</li>
|
|
|
|
|
+ </ol>
|
|
|
|
|
+ `,
|
|
|
|
|
+ side: 'bottom',
|
|
|
|
|
+ align: 'start'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ element: '#driver-step-tracking-detail-6',
|
|
|
|
|
+ popover: {
|
|
|
|
|
+ description: `
|
|
|
|
|
+ <p>Send email to site staff</p>
|
|
|
|
|
+ <p>Enter contents you want to communicate with, click “Send
|
|
|
|
|
+ Email” button to send out.
|
|
|
|
|
+ </p>
|
|
|
|
|
+ `,
|
|
|
|
|
+ side: 'bottom',
|
|
|
|
|
+ align: 'start'
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+]
|
|
|
|
|
+const handleGuide = () => {
|
|
|
|
|
+ let steps = []
|
|
|
|
|
+ if (allData.value?.transportInfo?.mode === 'Ocean Freight') {
|
|
|
|
|
+ steps = oceanSteps
|
|
|
|
|
+ } else if (allData.value?.transportInfo?.mode === 'Air Freight') {
|
|
|
|
|
+ steps = airSteps
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ const { start } = useDriver(steps)
|
|
|
|
|
+ console.log(allData.value?.transportInfo?.mode, 'value')
|
|
|
|
|
+ start() // 开始引导
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
const route = useRoute()
|
|
const route = useRoute()
|
|
|
|
|
|
|
@@ -162,7 +305,8 @@ const SubscribeShipments = () => {
|
|
|
<VTag large :type="allData?.transportInfo?.status">{{
|
|
<VTag large :type="allData?.transportInfo?.status">{{
|
|
|
allData?.transportInfo?.status
|
|
allData?.transportInfo?.status
|
|
|
}}</VTag>
|
|
}}</VTag>
|
|
|
- <div class="right-operation">
|
|
|
|
|
|
|
+ <VDriverGuide @click="handleGuide"></VDriverGuide>
|
|
|
|
|
+ <div class="right-operation" id="driver-step-tracking-detail-1">
|
|
|
<el-button
|
|
<el-button
|
|
|
v-if="
|
|
v-if="
|
|
|
(allData?.canViewAMSLog || allData?.canViewISFLog) &&
|
|
(allData?.canViewAMSLog || allData?.canViewISFLog) &&
|
|
@@ -336,7 +480,7 @@ const SubscribeShipments = () => {
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<!-- Attachment -->
|
|
<!-- Attachment -->
|
|
|
- <div v-if="item.id === 5">
|
|
|
|
|
|
|
+ <div v-if="item.id === 5" id="driver-step-tracking-detail-5">
|
|
|
<VBox :id="item.id" :isSeeAll="false" @draggable="handleDraggable">
|
|
<VBox :id="item.id" :isSeeAll="false" @draggable="handleDraggable">
|
|
|
<template #header>Attachment</template>
|
|
<template #header>Attachment</template>
|
|
|
<template #content>
|
|
<template #content>
|
|
@@ -346,7 +490,12 @@ const SubscribeShipments = () => {
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
</VueDraggable>
|
|
</VueDraggable>
|
|
|
- <EmailDrawer @sendEmailSuccess="getData" :data="allData" ref="emailDrawerRef"></EmailDrawer>
|
|
|
|
|
|
|
+ <EmailDrawer
|
|
|
|
|
+ id="driver-step-tracking-detail-6"
|
|
|
|
|
+ @sendEmailSuccess="getData"
|
|
|
|
|
+ :data="allData"
|
|
|
|
|
+ ref="emailDrawerRef"
|
|
|
|
|
+ ></EmailDrawer>
|
|
|
</div>
|
|
</div>
|
|
|
<AMSISFDrawer ref="AMSISFDrawerRef"></AMSISFDrawer>
|
|
<AMSISFDrawer ref="AMSISFDrawerRef"></AMSISFDrawer>
|
|
|
<ShareLinkDialog
|
|
<ShareLinkDialog
|