|
@@ -15,6 +15,7 @@ import { useRoute } from 'vue-router'
|
|
|
import { useOverflow } from '@/hooks/useOverflow'
|
|
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'
|
|
|
|
|
|
|
|
const route = useRoute()
|
|
const route = useRoute()
|
|
|
|
|
|
|
@@ -78,9 +79,6 @@ const handleDraggable = (type: string, id: number) => {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const emailDrawerRef = ref()
|
|
const emailDrawerRef = ref()
|
|
|
-const handleEmailDrawer = () => {
|
|
|
|
|
- emailDrawerRef.value.openDrawer(allData.value)
|
|
|
|
|
-}
|
|
|
|
|
|
|
|
|
|
const AMSISFDrawerRef = ref()
|
|
const AMSISFDrawerRef = ref()
|
|
|
const handleAMSISF = () => {
|
|
const handleAMSISF = () => {
|
|
@@ -112,10 +110,21 @@ const originRef = ref()
|
|
|
const destinationRef = ref()
|
|
const destinationRef = ref()
|
|
|
const { isOverflow: isOriginOverflow } = useOverflow(originRef, allData)
|
|
const { isOverflow: isOriginOverflow } = useOverflow(originRef, allData)
|
|
|
const { isOverflow: isDestinationOverflow } = useOverflow(destinationRef, allData)
|
|
const { isOverflow: isDestinationOverflow } = useOverflow(destinationRef, allData)
|
|
|
|
|
+
|
|
|
|
|
+const dialogVModel = ref(false)
|
|
|
|
|
+const openShareDialog = () => {
|
|
|
|
|
+ dialogVModel.value = true
|
|
|
|
|
+}
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
|
<template>
|
|
|
<div class="tracking-detail" v-vloading="loading">
|
|
<div class="tracking-detail" v-vloading="loading">
|
|
|
|
|
+ <!-- 分享链接 -->
|
|
|
|
|
+ <div class="share-link" @click="openShareDialog">
|
|
|
|
|
+ <el-tooltip content="Share" :offset="4">
|
|
|
|
|
+ <span class="font_family icon-icon_share_b share-icon"></span>
|
|
|
|
|
+ </el-tooltip>
|
|
|
|
|
+ </div>
|
|
|
<div class="header" :class="{ 'is-dark': themeStore.theme === 'dark' }">
|
|
<div class="header" :class="{ 'is-dark': themeStore.theme === 'dark' }">
|
|
|
<div class="detail-status">
|
|
<div class="detail-status">
|
|
|
<span
|
|
<span
|
|
@@ -287,8 +296,11 @@ const { isOverflow: isDestinationOverflow } = useOverflow(destinationRef, allDat
|
|
|
</VueDraggable>
|
|
</VueDraggable>
|
|
|
<EmailDrawer @sendEmailSuccess="getData" :data="allData" ref="emailDrawerRef"></EmailDrawer>
|
|
<EmailDrawer @sendEmailSuccess="getData" :data="allData" ref="emailDrawerRef"></EmailDrawer>
|
|
|
</div>
|
|
</div>
|
|
|
-
|
|
|
|
|
<AMSISFDrawer ref="AMSISFDrawerRef"></AMSISFDrawer>
|
|
<AMSISFDrawer ref="AMSISFDrawerRef"></AMSISFDrawer>
|
|
|
|
|
+ <ShareLinkDialog
|
|
|
|
|
+ v-model="dialogVModel"
|
|
|
|
|
+ :searchNo="allData?.basicInfo?.['HAWB/HBOL']"
|
|
|
|
|
+ ></ShareLinkDialog>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -301,6 +313,7 @@ const { isOverflow: isDestinationOverflow } = useOverflow(destinationRef, allDat
|
|
|
border-right: 1px solid var(--color-border);
|
|
border-right: 1px solid var(--color-border);
|
|
|
}
|
|
}
|
|
|
.tracking-detail {
|
|
.tracking-detail {
|
|
|
|
|
+ position: relative;
|
|
|
padding-bottom: 16px;
|
|
padding-bottom: 16px;
|
|
|
& > .header {
|
|
& > .header {
|
|
|
background: linear-gradient(
|
|
background: linear-gradient(
|
|
@@ -430,6 +443,26 @@ const { isOverflow: isDestinationOverflow } = useOverflow(destinationRef, allDat
|
|
|
margin-bottom: 8px;
|
|
margin-bottom: 8px;
|
|
|
padding: 0 24px;
|
|
padding: 0 24px;
|
|
|
}
|
|
}
|
|
|
|
|
+ .share-link {
|
|
|
|
|
+ position: fixed;
|
|
|
|
|
+ bottom: 152px;
|
|
|
|
|
+ right: 0px;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ width: 64px;
|
|
|
|
|
+ height: 64px;
|
|
|
|
|
+ z-index: 1500;
|
|
|
|
|
+ background-color: var(--management-bg-color);
|
|
|
|
|
+ box-shadow: -2px 2px 12px rgba(0, 0, 0, 0.15);
|
|
|
|
|
+ border-radius: 12px 0 0 12px;
|
|
|
|
|
+ &:hover {
|
|
|
|
|
+ background-color: var(--border-hover-color);
|
|
|
|
|
+ }
|
|
|
|
|
+ .share-icon {
|
|
|
|
|
+ font-size: 24px;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.ghost-class {
|
|
.ghost-class {
|