|
@@ -775,14 +775,47 @@ const ClickParams = (val: any) => {
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-import kpiChartTip from './guideImage/kpi-chart-tip.png'
|
|
|
|
|
-import pendingChartTip from './guideImage/pending-chart-tip.png'
|
|
|
|
|
-import etdToEtaChartsTip from './guideImage/etd-to-eta-chart-tip.png'
|
|
|
|
|
-import containerChartTip from './guideImage/container-count-chart-tip.png'
|
|
|
|
|
-import top10ChartTip from './guideImage/top-10-chart-tip.png'
|
|
|
|
|
-import co2eChartTip from './guideImage/co2e-chart-tip.png'
|
|
|
|
|
-import revenueSpentChartTip from './guideImage/revenue-spent-chart-tip.png'
|
|
|
|
|
-import recentStatusChartTip from './guideImage/recent-status-chart-tip.png'
|
|
|
|
|
|
|
+import kpiChartTipLight from './tipsImage/kpi-chart-tip.png'
|
|
|
|
|
+import kpiChartTipDark from './tipsImage/dark-kpi-chart-tip.png'
|
|
|
|
|
+import pendingChartTipLight from './tipsImage/pending-chart-tip.png'
|
|
|
|
|
+import pendingChartTipDark from './tipsImage/dark-pending-chart-tip.png'
|
|
|
|
|
+import etdToEtaChartsTipLight from './tipsImage/etd-to-eta-chart-tip.png'
|
|
|
|
|
+import etdToEtaChartsTipDark from './tipsImage/dark-etd-to-eta-chart-tip.png'
|
|
|
|
|
+import containerChartTipLight from './tipsImage/container-count-chart-tip.png'
|
|
|
|
|
+import containerChartTipDark from './tipsImage/dark-container-count-chart-tip.png'
|
|
|
|
|
+import top10ChartTipLight from './tipsImage/top-10-chart-tip.png'
|
|
|
|
|
+import top10ChartTipDark from './tipsImage/dark-top-10-chart-tip.png'
|
|
|
|
|
+import co2eChartTipLight from './tipsImage/co2e-chart-tip.png'
|
|
|
|
|
+import co2eChartTipDark from './tipsImage/dark-co2e-chart-tip.png'
|
|
|
|
|
+import revenueSpentChartTipLight from './tipsImage/revenue-spent-chart-tip.png'
|
|
|
|
|
+import revenueSpentChartTipDark from './tipsImage/dark-revenue-spent-chart-tip.png'
|
|
|
|
|
+import recentStatusChartTipLight from './tipsImage/recent-status-chart-tip.png'
|
|
|
|
|
+import recentStatusChartTipDark from './tipsImage/dark-recent-status-chart-tip.png'
|
|
|
|
|
+
|
|
|
|
|
+const kpiChartTip = computed(() => {
|
|
|
|
|
+ return themeStore.theme === 'dark' ? kpiChartTipDark : kpiChartTipLight
|
|
|
|
|
+})
|
|
|
|
|
+const pendingChartTip = computed(() => {
|
|
|
|
|
+ return themeStore.theme === 'dark' ? pendingChartTipDark : pendingChartTipLight
|
|
|
|
|
+})
|
|
|
|
|
+const etdToEtaChartsTip = computed(() => {
|
|
|
|
|
+ return themeStore.theme === 'dark' ? etdToEtaChartsTipDark : etdToEtaChartsTipLight
|
|
|
|
|
+})
|
|
|
|
|
+const containerChartTip = computed(() => {
|
|
|
|
|
+ return themeStore.theme === 'dark' ? containerChartTipDark : containerChartTipLight
|
|
|
|
|
+})
|
|
|
|
|
+const top10ChartTip = computed(() => {
|
|
|
|
|
+ return themeStore.theme === 'dark' ? top10ChartTipDark : top10ChartTipLight
|
|
|
|
|
+})
|
|
|
|
|
+const co2eChartTip = computed(() => {
|
|
|
|
|
+ return themeStore.theme === 'dark' ? co2eChartTipDark : co2eChartTipLight
|
|
|
|
|
+})
|
|
|
|
|
+const revenueSpentChartTip = computed(() => {
|
|
|
|
|
+ return themeStore.theme === 'dark' ? revenueSpentChartTipDark : revenueSpentChartTipLight
|
|
|
|
|
+})
|
|
|
|
|
+const recentStatusChartTip = computed(() => {
|
|
|
|
|
+ return themeStore.theme === 'dark' ? recentStatusChartTipDark : recentStatusChartTipLight
|
|
|
|
|
+})
|
|
|
|
|
|
|
|
import DashboardGuide from '../src/components/DashboardGuide.vue'
|
|
import DashboardGuide from '../src/components/DashboardGuide.vue'
|
|
|
import { useGuideStore } from '@/stores/modules/guide'
|
|
import { useGuideStore } from '@/stores/modules/guide'
|
|
@@ -811,6 +844,11 @@ const handleGuide = () => {
|
|
|
dashboardGuideRef.value?.startGuide()
|
|
dashboardGuideRef.value?.startGuide()
|
|
|
}
|
|
}
|
|
|
const dashboardGuideRef = ref(null)
|
|
const dashboardGuideRef = ref(null)
|
|
|
|
|
+
|
|
|
|
|
+function handleImageClick(event) {
|
|
|
|
|
+ event.stopPropagation() // 阻止事件冒泡
|
|
|
|
|
+ alert('Image clicked')
|
|
|
|
|
+}
|
|
|
</script>
|
|
</script>
|
|
|
<template>
|
|
<template>
|
|
|
<div class="dashboard">
|
|
<div class="dashboard">
|
|
@@ -824,25 +862,19 @@ const dashboardGuideRef = ref(null)
|
|
|
<VDriverGuide style="margin-top: -1px" @click="handleGuide"></VDriverGuide>
|
|
<VDriverGuide style="margin-top: -1px" @click="handleGuide"></VDriverGuide>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
- <div>
|
|
|
|
|
|
|
+ <div style="position: relative">
|
|
|
<el-popover trigger="click" width="400" popper-style="border-radius: 12px">
|
|
<el-popover trigger="click" width="400" popper-style="border-radius: 12px">
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
- <el-button class="el-button--default" style="position: relative">
|
|
|
|
|
|
|
+ <el-button class="el-button--default">
|
|
|
<span class="iconfont_icon">
|
|
<span class="iconfont_icon">
|
|
|
<svg class="iconfont" aria-hidden="true">
|
|
<svg class="iconfont" aria-hidden="true">
|
|
|
<use xlink:href="#icon-icon_view__management_b"></use>
|
|
<use xlink:href="#icon-icon_view__management_b"></use>
|
|
|
</svg>
|
|
</svg>
|
|
|
</span>
|
|
</span>
|
|
|
View Management
|
|
View Management
|
|
|
- <img
|
|
|
|
|
- id="view-management-guide"
|
|
|
|
|
- v-if="guideStore.dashboard.isShowViewManagementGuidePhoto"
|
|
|
|
|
- class="view-management-guide-class"
|
|
|
|
|
- :src="viewManagementImg"
|
|
|
|
|
- alt=""
|
|
|
|
|
- />
|
|
|
|
|
</el-button>
|
|
</el-button>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
+
|
|
|
<div class="Management">
|
|
<div class="Management">
|
|
|
<div class="title">View Management</div>
|
|
<div class="title">View Management</div>
|
|
|
<div class="management_content" v-for="(item, index) in Management" :key="index">
|
|
<div class="management_content" v-for="(item, index) in Management" :key="index">
|
|
@@ -867,6 +899,17 @@ const dashboardGuideRef = ref(null)
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</el-popover>
|
|
</el-popover>
|
|
|
|
|
+
|
|
|
|
|
+ <img
|
|
|
|
|
+ id="view-management-guide"
|
|
|
|
|
+ v-if="guideStore.dashboard.isShowViewManagementGuidePhoto"
|
|
|
|
|
+ class="view-management-guide-class"
|
|
|
|
|
+ :class="{
|
|
|
|
|
+ 'view-management-guide-dark-class': themeStore.theme === 'dark'
|
|
|
|
|
+ }"
|
|
|
|
|
+ :src="viewManagementImg"
|
|
|
|
|
+ alt=""
|
|
|
|
|
+ />
|
|
|
<el-popover
|
|
<el-popover
|
|
|
:visible="SaveVisible"
|
|
:visible="SaveVisible"
|
|
|
:popper-style="{
|
|
:popper-style="{
|
|
@@ -879,7 +922,6 @@ const dashboardGuideRef = ref(null)
|
|
|
<template #reference>
|
|
<template #reference>
|
|
|
<el-button
|
|
<el-button
|
|
|
class="el-button--default"
|
|
class="el-button--default"
|
|
|
- style="position: relative"
|
|
|
|
|
@blur="SaveVisible = false"
|
|
@blur="SaveVisible = false"
|
|
|
@click="SaveVisible = !SaveVisible"
|
|
@click="SaveVisible = !SaveVisible"
|
|
|
>
|
|
>
|
|
@@ -889,15 +931,6 @@ const dashboardGuideRef = ref(null)
|
|
|
</svg>
|
|
</svg>
|
|
|
</span>
|
|
</span>
|
|
|
Save
|
|
Save
|
|
|
-
|
|
|
|
|
- <!-- v-if="guideStore.dashboard.isShowSaveConfigGuidePhoto" -->
|
|
|
|
|
- <img
|
|
|
|
|
- id="save-config-guide"
|
|
|
|
|
- v-if="guideStore.dashboard.isShowSaveConfigGuidePhoto"
|
|
|
|
|
- class="save-config-guide-class"
|
|
|
|
|
- :src="saveConfigImg"
|
|
|
|
|
- alt=""
|
|
|
|
|
- />
|
|
|
|
|
<span class="iconfont_icon">
|
|
<span class="iconfont_icon">
|
|
|
<svg class="iconfont" aria-hidden="true">
|
|
<svg class="iconfont" aria-hidden="true">
|
|
|
<use xlink:href="#icon-icon_dropdown_b"></use>
|
|
<use xlink:href="#icon-icon_dropdown_b"></use>
|
|
@@ -922,6 +955,18 @@ const dashboardGuideRef = ref(null)
|
|
|
<div>Save Layout</div>
|
|
<div>Save Layout</div>
|
|
|
</div>
|
|
</div>
|
|
|
</el-popover>
|
|
</el-popover>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- -->
|
|
|
|
|
+ <img
|
|
|
|
|
+ id="save-config-guide"
|
|
|
|
|
+ v-if="guideStore.dashboard.isShowSaveConfigGuidePhoto"
|
|
|
|
|
+ class="save-config-guide-class position-absolute-guide"
|
|
|
|
|
+ :src="saveConfigImg"
|
|
|
|
|
+ :class="{
|
|
|
|
|
+ 'save-config-guide-dark-class': themeStore.theme === 'dark'
|
|
|
|
|
+ }"
|
|
|
|
|
+ alt=""
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<!-- 图表 -->
|
|
<!-- 图表 -->
|
|
@@ -952,9 +997,9 @@ const dashboardGuideRef = ref(null)
|
|
|
<template #header>
|
|
<template #header>
|
|
|
<div class="Title_flex" style="position: relative">
|
|
<div class="Title_flex" style="position: relative">
|
|
|
<img
|
|
<img
|
|
|
- v-if="guideStore.dashboard.isShowKpiChartGuidePhoto"
|
|
|
|
|
id="kpi-chart-guide"
|
|
id="kpi-chart-guide"
|
|
|
- class="kpi-chart-guide-class"
|
|
|
|
|
|
|
+ v-if="guideStore.dashboard.isShowKpiChartGuidePhoto"
|
|
|
|
|
+ class="kpi-chart-guide-class position-absolute-guide"
|
|
|
:src="kpiChartImg"
|
|
:src="kpiChartImg"
|
|
|
alt=""
|
|
alt=""
|
|
|
/>
|
|
/>
|
|
@@ -1020,6 +1065,7 @@ const dashboardGuideRef = ref(null)
|
|
|
<VTipTooltip
|
|
<VTipTooltip
|
|
|
:img="pendingChartTip"
|
|
:img="pendingChartTip"
|
|
|
:width="420"
|
|
:width="420"
|
|
|
|
|
+ :placement="'bottom-start'"
|
|
|
:label="'Pending Report:Showing shipments which are soon to depart/arrive.'"
|
|
:label="'Pending Report:Showing shipments which are soon to depart/arrive.'"
|
|
|
></VTipTooltip>
|
|
></VTipTooltip>
|
|
|
</div>
|
|
</div>
|
|
@@ -1068,6 +1114,7 @@ const dashboardGuideRef = ref(null)
|
|
|
<VTipTooltip
|
|
<VTipTooltip
|
|
|
:img="etdToEtaChartsTip"
|
|
:img="etdToEtaChartsTip"
|
|
|
:width="430"
|
|
:width="430"
|
|
|
|
|
+ :placement="'bottom-start'"
|
|
|
:label="'ETD to ETA (Days):Distribution of Transit Time (ETA-ETD) for All Shipments in Last 12 Months.'"
|
|
:label="'ETD to ETA (Days):Distribution of Transit Time (ETA-ETD) for All Shipments in Last 12 Months.'"
|
|
|
></VTipTooltip>
|
|
></VTipTooltip>
|
|
|
</div>
|
|
</div>
|
|
@@ -1102,6 +1149,7 @@ const dashboardGuideRef = ref(null)
|
|
|
{{ item.title }}
|
|
{{ item.title }}
|
|
|
<VTipTooltip
|
|
<VTipTooltip
|
|
|
:img="containerChartTip"
|
|
:img="containerChartTip"
|
|
|
|
|
+ :placement="'bottom-start'"
|
|
|
:label="'Container Count:Total Container Volume by Month (Last 12 Months)'"
|
|
:label="'Container Count:Total Container Volume by Month (Last 12 Months)'"
|
|
|
></VTipTooltip>
|
|
></VTipTooltip>
|
|
|
</div>
|
|
</div>
|
|
@@ -1206,6 +1254,7 @@ const dashboardGuideRef = ref(null)
|
|
|
:img="co2eChartTip"
|
|
:img="co2eChartTip"
|
|
|
:label="'CO2e Emission by Origin or Destination: Last 12 Months CO2e Emission Rankings: Top 10 Origin Cities and Top 10 Destination Cities'"
|
|
:label="'CO2e Emission by Origin or Destination: Last 12 Months CO2e Emission Rankings: Top 10 Origin Cities and Top 10 Destination Cities'"
|
|
|
:width="700"
|
|
:width="700"
|
|
|
|
|
+ :placement="'bottom-start'"
|
|
|
></VTipTooltip>
|
|
></VTipTooltip>
|
|
|
</div>
|
|
</div>
|
|
|
<DashFilters
|
|
<DashFilters
|
|
@@ -1278,6 +1327,7 @@ const dashboardGuideRef = ref(null)
|
|
|
:img="recentStatusChartTip"
|
|
:img="recentStatusChartTip"
|
|
|
:label="'Recent Status: Active shipment list with ETD within the past three months and the next month.'"
|
|
:label="'Recent Status: Active shipment list with ETD within the past three months and the next month.'"
|
|
|
:width="700"
|
|
:width="700"
|
|
|
|
|
+ :placement="'bottom-start'"
|
|
|
></VTipTooltip>
|
|
></VTipTooltip>
|
|
|
</div>
|
|
</div>
|
|
|
<DashFilters
|
|
<DashFilters
|
|
@@ -1315,6 +1365,7 @@ const dashboardGuideRef = ref(null)
|
|
|
<VTipTooltip
|
|
<VTipTooltip
|
|
|
:img="revenueSpentChartTip"
|
|
:img="revenueSpentChartTip"
|
|
|
:label="'Revenue Spent: Based on the billto object, display the corresponding revenue data. '"
|
|
:label="'Revenue Spent: Based on the billto object, display the corresponding revenue data. '"
|
|
|
|
|
+ :placement="'bottom-start'"
|
|
|
:width="700"
|
|
:width="700"
|
|
|
></VTipTooltip>
|
|
></VTipTooltip>
|
|
|
</div>
|
|
</div>
|
|
@@ -1361,24 +1412,33 @@ const dashboardGuideRef = ref(null)
|
|
|
|
|
|
|
|
.view-management-guide-class {
|
|
.view-management-guide-class {
|
|
|
position: absolute;
|
|
position: absolute;
|
|
|
- top: -1px;
|
|
|
|
|
- right: -17px;
|
|
|
|
|
- width: 343px;
|
|
|
|
|
- height: 478px;
|
|
|
|
|
|
|
+ top: 0px;
|
|
|
|
|
+ right: 85px;
|
|
|
|
|
+ width: 437px;
|
|
|
|
|
+ height: 603px;
|
|
|
z-index: 1500;
|
|
z-index: 1500;
|
|
|
|
|
+ &.view-management-guide-dark-class {
|
|
|
|
|
+ width: 439px;
|
|
|
|
|
+ height: 622px;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
.save-config-guide-class {
|
|
.save-config-guide-class {
|
|
|
position: absolute;
|
|
position: absolute;
|
|
|
top: -1px;
|
|
top: -1px;
|
|
|
- right: -1px;
|
|
|
|
|
- width: 117px;
|
|
|
|
|
- height: 115px;
|
|
|
|
|
|
|
+ right: -13px;
|
|
|
|
|
+ width: 183px;
|
|
|
|
|
+ height: 160px;
|
|
|
z-index: 1500;
|
|
z-index: 1500;
|
|
|
|
|
+ transform: translate(-0.8px, 0px);
|
|
|
|
|
+ &.save-config-guide-dark-class {
|
|
|
|
|
+ width: 182px;
|
|
|
|
|
+ height: 157px;
|
|
|
|
|
+ right: -12px;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
.kpi-chart-guide-class {
|
|
.kpi-chart-guide-class {
|
|
|
- position: absolute;
|
|
|
|
|
- top: -1px;
|
|
|
|
|
- right: -1px;
|
|
|
|
|
|
|
+ top: -2px;
|
|
|
|
|
+ left: -50px;
|
|
|
width: 589px;
|
|
width: 589px;
|
|
|
height: 478px;
|
|
height: 478px;
|
|
|
z-index: 3500;
|
|
z-index: 3500;
|