forked from drone/command-center-dashboard

罗广辉
2025-04-21 2800fa4f32f3900509cb4d6eefaf2bfaf54efdd7
src/views/Home/Footer.vue
@@ -1,7 +1,7 @@
<template>
   <div class="footer">
   <div class="footer" v-show="isHideBottomIcon">
      <img
         v-for="(item,index) in list.filter(i => !i.disable)"
         v-for="(item,index) in list.filter(i => !i.show)"
         :class="item.className"
         :src="item.active ? item.activeImg : item.img"
         alt=""
@@ -30,12 +30,14 @@
import img5 from '@/assets/images/home/footer/orthophoto.png'
import activeImg5 from '@/assets/images/home/footer/orthophoto1.png'
import { useMapAggregation } from '@/views/Home/useMapAggregation/useMapAggregation'
import { useMapAggregation } from '@/hooks/useMapAggregation/useMapAggregation'
import { useStore } from 'vuex'
import func from '@/utils/func'
import { ElMessage } from 'element-plus'
const store = useStore()
const footActiveIndex = computed(() => store.state.home.footActiveIndex)
const isHideBottomIcon = computed(() => store.state.common.isHideBottomIcon)
// 机巢聚合
const { init, removeAll } = useMapAggregation('device')
@@ -61,19 +63,24 @@
      init: eventInit,
      removeAll: eventRemove,
   },
   { name: 'qj', img: img3, activeImg: activeImg3, active: false, className: 'panorama' },
   { name: 'sw', img: img4, activeImg: activeImg4, active: false, className: 'threeD' },
   { name: 'zs', img: img5, activeImg: activeImg5, active: false, className: 'orthophoto' },
   { name: 'zyjf', active: false, disable: true },
   { name: 'qj', img: img3, activeImg: activeImg3, active: false, className: 'panorama',undeveloped:true },
   { name: 'sw', img: img4, activeImg: activeImg4, active: false, className: 'threeD',undeveloped:true },
   { name: 'zs', img: img5, activeImg: activeImg5, active: false, className: 'orthophoto',undeveloped:true },
   { name: 'zyjf', active: false, show: true },
])
const footAction = (toItem, index) => {
   if (toItem.undeveloped) return ElMessage.warning('正在加急开发中...')
   const fromItem = list.value.find(item => item.active)  //上一个激活item
   if (fromItem.name === toItem?.name) return  //是重复点击
   index !== undefined && store.commit('setFootActiveIndex', index) //是按钮点击得动作
   fromItem?.removeAll?.()
   nextTick(() => toItem?.init?.())
   list.value = list.value.map(item => ({ ...item, active: item.name === toItem?.name }))
   if (index === 5) {
      // 相关图标不显示
      store.commit('setHideBottomIcon', false)
   }
}
watch(