|
@@ -2,23 +2,44 @@
|
|
|
<div class="statistics-tabs">
|
|
|
<el-row :gutter="16" type="flex">
|
|
|
<el-col v-for="(tab, index) in tabList" :key="index" :span="4">
|
|
|
- <el-dropdown v-if="tab.children && tab.children.length" placement="bottom" @command="commandHandler">
|
|
|
+ <el-dropdown
|
|
|
+ v-if="tab.children && tab.children.length"
|
|
|
+ placement="bottom"
|
|
|
+ @command="commandHandler"
|
|
|
+ >
|
|
|
<div :class="['tab-bar', { 'tab-active': activeIndex === index }]">
|
|
|
- <img class="tab-icon" :src="activeIndex === index ? activeIcon : defaultIcon" :alt="tab.title">
|
|
|
+ <img
|
|
|
+ class="tab-icon"
|
|
|
+ :src="activeIndex === index ? activeIcon : defaultIcon"
|
|
|
+ :alt="tab.title"
|
|
|
+ />
|
|
|
<el-tooltip :content="tab.title" placement="top">
|
|
|
<span class="tab-title">{{ tab.title }}</span>
|
|
|
</el-tooltip>
|
|
|
<i class="icon-arrow el-icon-caret-bottom" />
|
|
|
</div>
|
|
|
<el-dropdown-menu slot="dropdown">
|
|
|
- <el-dropdown-item v-for="(childTab, childIndex) in tab.children" :key="childIndex" :command="[tab.path, childTab.path]">{{ childTab.title }}</el-dropdown-item>
|
|
|
+ <el-dropdown-item
|
|
|
+ v-for="(childTab, childIndex) in tab.children"
|
|
|
+ :key="childIndex"
|
|
|
+ :command="[tab.path, childTab.path]"
|
|
|
+ >{{ childTab.title }}</el-dropdown-item
|
|
|
+ >
|
|
|
</el-dropdown-menu>
|
|
|
</el-dropdown>
|
|
|
- <div v-else :class="[
|
|
|
+ <div
|
|
|
+ v-else
|
|
|
+ :class="[
|
|
|
'tab-bar tab-bar-single',
|
|
|
{ 'tab-active': activeIndex === index },
|
|
|
- ]" @click="clickHandler(tab.path)">
|
|
|
- <img class="tab-icon" :src="activeIndex === index ? activeIcon : defaultIcon" :alt="tab.title">
|
|
|
+ ]"
|
|
|
+ @click="clickHandler(tab.path)"
|
|
|
+ >
|
|
|
+ <img
|
|
|
+ class="tab-icon"
|
|
|
+ :src="activeIndex === index ? activeIcon : defaultIcon"
|
|
|
+ :alt="tab.title"
|
|
|
+ />
|
|
|
<el-tooltip :content="tab.title" placement="top">
|
|
|
<span class="tab-title">{{ tab.title }}</span>
|
|
|
</el-tooltip>
|
|
@@ -30,190 +51,194 @@
|
|
|
|
|
|
<script>
|
|
|
export default {
|
|
|
- name: 'StatisticsTabs',
|
|
|
- data () {
|
|
|
+ name: "StatisticsTabs",
|
|
|
+ data() {
|
|
|
return {
|
|
|
- defaultIcon: require('@/assets/nav/ic_statistical_top_default.png'),
|
|
|
- activeIcon: require('@/assets/nav/ic_statistical_top_check.png'),
|
|
|
+ defaultIcon: require("@/assets/nav/ic_statistical_top_default.png"),
|
|
|
+ activeIcon: require("@/assets/nav/ic_statistical_top_check.png"),
|
|
|
tabList: [
|
|
|
{
|
|
|
- title: '航司行李相关统计',
|
|
|
- path: '/statisticsCharts/airlineCompany',
|
|
|
+ title: "航司行李相关统计",
|
|
|
+ path: "/statisticsCharts/airlineCompany",
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'flight',
|
|
|
- title: '航班量统计'
|
|
|
+ path: "flight",
|
|
|
+ title: "航班量统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'baggage',
|
|
|
- title: '行李量统计'
|
|
|
+ path: "baggage",
|
|
|
+ title: "行李量统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'baggagePassenger',
|
|
|
- title: '行李旅客量统计'
|
|
|
+ path: "baggagePassenger",
|
|
|
+ title: "行李旅客量统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'specialBaggage',
|
|
|
- title: '特殊行李量统计'
|
|
|
+ path: "specialBaggage",
|
|
|
+ title: "特殊行李量统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'baggageAverage',
|
|
|
- title: '平均行李量统计'
|
|
|
+ path: "baggageAverage",
|
|
|
+ title: "平均行李量统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'abnormalBaggage',
|
|
|
- title: '异常行李量统计'
|
|
|
+ path: "abnormalBaggage",
|
|
|
+ title: "异常行李量统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'complaintBaggage',
|
|
|
- title: '投诉行李量统计'
|
|
|
+ path: "complaintBaggage",
|
|
|
+ title: "投诉行李量统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'compensationBaggage',
|
|
|
- title: '赔偿行李量统计'
|
|
|
+ path: "compensationBaggage",
|
|
|
+ title: "赔偿行李量统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'compensation',
|
|
|
- title: '赔偿金额统计'
|
|
|
- }
|
|
|
- ]
|
|
|
+ path: "compensation",
|
|
|
+ title: "赔偿金额统计",
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
{
|
|
|
- path: '/statisticsCharts/passengerClassification',
|
|
|
- title: '旅客分类统计',
|
|
|
+ path: "/statisticsCharts/passengerClassification",
|
|
|
+ title: "旅客分类统计",
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'baggage',
|
|
|
- title: '行李量统计'
|
|
|
+ path: "baggage",
|
|
|
+ title: "行李量统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'baggagePassenger',
|
|
|
- title: '行李旅客量统计'
|
|
|
+ path: "baggagePassenger",
|
|
|
+ title: "行李旅客量统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'specialBaggage',
|
|
|
- title: '特殊行李量统计'
|
|
|
+ path: "specialBaggage",
|
|
|
+ title: "特殊行李量统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'abnormalBaggage',
|
|
|
- title: '异常行李量统计'
|
|
|
+ path: "abnormalBaggage",
|
|
|
+ title: "异常行李量统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'complaintBaggage',
|
|
|
- title: '投诉行李量统计'
|
|
|
+ path: "complaintBaggage",
|
|
|
+ title: "投诉行李量统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'compensationBaggage',
|
|
|
- title: '赔偿行李量统计'
|
|
|
+ path: "compensationBaggage",
|
|
|
+ title: "赔偿行李量统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'compensation',
|
|
|
- title: '赔偿金额统计'
|
|
|
- }
|
|
|
- ]
|
|
|
+ path: "compensation",
|
|
|
+ title: "赔偿金额统计",
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
{
|
|
|
- path: '/statisticsCharts/flightClassification',
|
|
|
- title: '航班分类相关统计',
|
|
|
+ path: "/statisticsCharts/flightClassification",
|
|
|
+ title: "航班分类相关统计",
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'flight',
|
|
|
- title: '航班量统计'
|
|
|
+ path: "flight",
|
|
|
+ title: "航班量统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'baggage',
|
|
|
- title: '行李量统计'
|
|
|
+ path: "baggage",
|
|
|
+ title: "行李量统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'passenger',
|
|
|
- title: '行李旅客量统计'
|
|
|
- }
|
|
|
- ]
|
|
|
+ path: "passenger",
|
|
|
+ title: "行李旅客量统计",
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
{
|
|
|
- path: '/statisticsCharts/node',
|
|
|
- title: '扫描节点与位置分析'
|
|
|
+ path: "/statisticsCharts/node",
|
|
|
+ title: "扫描节点与位置分析",
|
|
|
},
|
|
|
{
|
|
|
- title: '报表统计',
|
|
|
- path: '/statisticsCharts/report',
|
|
|
+ title: "报表统计",
|
|
|
+ path: "/statisticsCharts/report",
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'reportStatistics',
|
|
|
- title: '运送效率报表统计'
|
|
|
+ path: "reportStatistics",
|
|
|
+ title: "运送效率报表统计",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ path: "transitTable",
|
|
|
+ title: "中转专项报表统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'transitTable',
|
|
|
- title: '中转专项报表统计'
|
|
|
- }
|
|
|
- ]
|
|
|
+ path: "ScanningStatistics",
|
|
|
+ title: "航站BRS扫描统计",
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
{
|
|
|
- title: '特殊赔偿异常分类统计',
|
|
|
- path: '/statisticsCharts/specialClassification',
|
|
|
+ title: "特殊赔偿异常分类统计",
|
|
|
+ path: "/statisticsCharts/specialClassification",
|
|
|
children: [
|
|
|
{
|
|
|
- path: 'special',
|
|
|
- title: '特殊行李分类统计'
|
|
|
+ path: "special",
|
|
|
+ title: "特殊行李分类统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'abnormal',
|
|
|
- title: '异常行李分类统计'
|
|
|
+ path: "abnormal",
|
|
|
+ title: "异常行李分类统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'compensationBaggage',
|
|
|
- title: '赔偿行李分类统计'
|
|
|
+ path: "compensationBaggage",
|
|
|
+ title: "赔偿行李分类统计",
|
|
|
},
|
|
|
{
|
|
|
- path: 'compensation',
|
|
|
- title: '赔偿金额分类统计'
|
|
|
- }
|
|
|
- ]
|
|
|
+ path: "compensation",
|
|
|
+ title: "赔偿金额分类统计",
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
{
|
|
|
- path: '/statisticsCharts/statisticalAnalysis',
|
|
|
- title: '统计分析'
|
|
|
+ path: "/statisticsCharts/statisticalAnalysis",
|
|
|
+ title: "统计分析",
|
|
|
},
|
|
|
],
|
|
|
- activeIndex: null
|
|
|
- }
|
|
|
+ activeIndex: null,
|
|
|
+ };
|
|
|
},
|
|
|
watch: {
|
|
|
- '$route.path': {
|
|
|
- handler (path) {
|
|
|
- let activeIndex = null
|
|
|
+ "$route.path": {
|
|
|
+ handler(path) {
|
|
|
+ let activeIndex = null;
|
|
|
this.tabList.some((tab, index) => {
|
|
|
if (path.includes(tab.path)) {
|
|
|
- activeIndex = index
|
|
|
- return true
|
|
|
+ activeIndex = index;
|
|
|
+ return true;
|
|
|
}
|
|
|
- })
|
|
|
- this.activeIndex = activeIndex
|
|
|
+ });
|
|
|
+ this.activeIndex = activeIndex;
|
|
|
},
|
|
|
- immediate: true
|
|
|
- }
|
|
|
+ immediate: true,
|
|
|
+ },
|
|
|
},
|
|
|
methods: {
|
|
|
- commandHandler (pathArray) {
|
|
|
- if (pathArray.some(path => !path)) {
|
|
|
- this.$message.info('开发中')
|
|
|
- return
|
|
|
+ commandHandler(pathArray) {
|
|
|
+ if (pathArray.some((path) => !path)) {
|
|
|
+ this.$message.info("开发中");
|
|
|
+ return;
|
|
|
}
|
|
|
this.$router.push({
|
|
|
- path: pathArray.join('/')
|
|
|
- })
|
|
|
+ path: pathArray.join("/"),
|
|
|
+ });
|
|
|
},
|
|
|
- clickHandler (path) {
|
|
|
+ clickHandler(path) {
|
|
|
if (!path) {
|
|
|
- this.$message.info('开发中')
|
|
|
- return
|
|
|
+ this.$message.info("开发中");
|
|
|
+ return;
|
|
|
}
|
|
|
this.$router.push({
|
|
|
- path
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
+ path,
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|