|
|
|
@ -1,6 +1,12 @@ |
|
|
|
<template> |
|
|
|
<div class="menu-container"> |
|
|
|
<div v-for="item in list" :key="item.title" class="menu-item" @click="changeMenu(item)"> |
|
|
|
<div |
|
|
|
v-for="item in list" |
|
|
|
:key="item.title" |
|
|
|
:style="item.status === 1 ? 'display:none' : ''" |
|
|
|
class="menu-item" |
|
|
|
@click="changeMenu(item)" |
|
|
|
> |
|
|
|
<div class="top"> |
|
|
|
<img :src="current === item.path ? item.iconS : item.icon" alt="" /> |
|
|
|
<div v-if="current === item.path" class="ac"></div> |
|
|
|
@ -11,78 +17,94 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script setup lang="ts"> |
|
|
|
import { ref, watch } from 'vue' |
|
|
|
import { ref, watch, toRefs } from 'vue' |
|
|
|
import { useRoute, useRouter } from 'vue-router' |
|
|
|
import { useStatisticsModel } from '@/composables/useStatistics' |
|
|
|
import { useRootStore } from '@/store/root' |
|
|
|
type MenuItem = { |
|
|
|
title: string |
|
|
|
titleEn: string |
|
|
|
icon: string |
|
|
|
iconS: string |
|
|
|
path: string |
|
|
|
status: 0 | 1 // 菜单开关 0 开启 1关闭 |
|
|
|
} |
|
|
|
const list: MenuItem[] = [ |
|
|
|
const list = ref<MenuItem[]>([ |
|
|
|
{ |
|
|
|
title: '主页', |
|
|
|
titleEn: 'Home', |
|
|
|
icon: require('@/assets/images/menu/home.png'), |
|
|
|
iconS: require('@/assets/images/menu/homes.png'), |
|
|
|
path: '/' |
|
|
|
path: '/', |
|
|
|
status: 0 |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '店铺导航', |
|
|
|
titleEn: 'Brand', |
|
|
|
icon: require('@/assets/images/menu/brand.png'), |
|
|
|
iconS: require('@/assets/images/menu/brands.png'), |
|
|
|
path: '/brand' |
|
|
|
path: '/brand', |
|
|
|
status: 0 |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '优惠与活动', |
|
|
|
titleEn: 'Activity', |
|
|
|
icon: require('@/assets/images/menu/activity.png'), |
|
|
|
iconS: require('@/assets/images/menu/activitys.png'), |
|
|
|
path: '/activity' |
|
|
|
path: '/activity', |
|
|
|
status: 0 |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '会员专享', |
|
|
|
titleEn: 'Member', |
|
|
|
icon: require('@/assets/images/menu/member.png'), |
|
|
|
iconS: require('@/assets/images/menu/members.png'), |
|
|
|
path: '/member' |
|
|
|
path: '/member', |
|
|
|
status: 0 |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '服务', |
|
|
|
titleEn: 'Service', |
|
|
|
icon: require('@/assets/images/menu/service.png'), |
|
|
|
iconS: require('@/assets/images/menu/services.png'), |
|
|
|
path: '/service' |
|
|
|
path: '/service', |
|
|
|
status: 0 |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '停车与缴费', |
|
|
|
titleEn: 'Parking', |
|
|
|
icon: require('@/assets/images/menu/parking.png'), |
|
|
|
iconS: require('@/assets/images/menu/parkings.png'), |
|
|
|
path: '/parking' |
|
|
|
path: '/parking', |
|
|
|
status: 0 |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '文化学院', |
|
|
|
titleEn: 'School', |
|
|
|
icon: require('@/assets/images/menu/school.png'), |
|
|
|
iconS: require('@/assets/images/menu/schools.png'), |
|
|
|
path: '/school' |
|
|
|
path: '/school', |
|
|
|
status: 0 |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '艺术', |
|
|
|
titleEn: 'Art', |
|
|
|
icon: require('@/assets/images/menu/art.png'), |
|
|
|
iconS: require('@/assets/images/menu/arts.png'), |
|
|
|
path: '/art' |
|
|
|
path: '/art', |
|
|
|
status: 0 |
|
|
|
} |
|
|
|
] |
|
|
|
]) |
|
|
|
const store = useRootStore() |
|
|
|
const { menuList } = toRefs(store) |
|
|
|
const router = useRouter() |
|
|
|
const route = useRoute() |
|
|
|
const current = ref('/') |
|
|
|
|
|
|
|
menuList.value.forEach((item, index) => { |
|
|
|
list.value[index].status = item.status |
|
|
|
}) |
|
|
|
|
|
|
|
function changeMenu(item: MenuItem) { |
|
|
|
router.push(item.path) |
|
|
|
useStatisticsModel({ recordType: 1, moduleName: item.title }) |
|
|
|
|