2025-06-06 03:08:19 +08:00
|
|
|
<template>
|
|
|
|
<view>
|
|
|
|
<view class="footer_box" :class="{ footer_bg: bg }">
|
|
|
|
<view v-for="(item, index) of navigationList" :key="index" class="footer_item">
|
|
|
|
<view v-if="item.raised" class="footer_raised_item" @click="onRaised">
|
|
|
|
<image class="footer_raised_item_image" :src="'/' + item.iconPath" mode="aspectFit"></image>
|
|
|
|
</view>
|
|
|
|
<view v-else class="footer_nav_item" @click="onPageJump(item.pagePath)">
|
|
|
|
<image v-if="item.pagePath == path" class="footer_nav_item_image" :src="'/' + item.selectedIconPath" mode="aspectFit"></image>
|
|
|
|
<image v-else class="footer_nav_item_image" :src="'/' + item.iconPath" mode="aspectFit"></image>
|
2025-06-10 00:51:49 +08:00
|
|
|
<text class="footer_nav_item_text" :class="[item.pagePath == path ? 'footer_item_text_active' : '']">{{ $t(item.text) }}</text>
|
2025-06-06 03:08:19 +08:00
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
|
|
<view v-if="bg" class="footer_station"></view>
|
|
|
|
</view>
|
|
|
|
</template>
|
|
|
|
<script>
|
|
|
|
export default {
|
|
|
|
props: {
|
|
|
|
bg: {
|
|
|
|
type: Boolean,
|
|
|
|
default: true
|
|
|
|
}
|
|
|
|
},
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
path: '',
|
|
|
|
navigationList: [{
|
2025-06-10 00:51:49 +08:00
|
|
|
"pagePath": "pages/index/index",
|
|
|
|
"iconPath": "static/images/home.png",
|
|
|
|
"selectedIconPath": "static/images/home1.png",
|
|
|
|
"text": "nav.home",
|
|
|
|
"iconSize": 48
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"pagePath": "pages/questionnaire/index",
|
|
|
|
"iconPath": "static/images/Question.png",
|
|
|
|
"selectedIconPath": "static/images/Question1.png",
|
|
|
|
"text": "nav.questionnaire",
|
|
|
|
"iconSize": 48
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"pagePath": "pages/promotion/index",
|
|
|
|
"iconPath": "static/images/Promotion.png",
|
|
|
|
"selectedIconPath": "static/images/Promotion1.png",
|
|
|
|
"text": "nav.promotion",
|
|
|
|
"iconSize": 48
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"pagePath": "pages/im/index",
|
|
|
|
"iconPath": "static/images/im.png",
|
|
|
|
"selectedIconPath": "static/images/im1.png",
|
|
|
|
"text": "nav.mt",
|
|
|
|
"iconSize": 48
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"pagePath": "pages/mine/index",
|
|
|
|
"iconPath": "static/images/Mine.png",
|
|
|
|
"selectedIconPath": "static/images/Mine1.png",
|
|
|
|
"text": "nav.mine",
|
|
|
|
"iconSize": 48
|
|
|
|
}
|
|
|
|
],
|
2025-06-06 03:08:19 +08:00
|
|
|
popupShow: false,
|
|
|
|
};
|
|
|
|
},
|
|
|
|
//第一次加载
|
|
|
|
created() {
|
|
|
|
//获取所有页面
|
|
|
|
let currentPages = getCurrentPages();
|
|
|
|
let page = currentPages[currentPages.length - 1];
|
|
|
|
this.path = page.route;
|
2025-06-10 00:51:49 +08:00
|
|
|
console.log(this.path);
|
2025-06-06 03:08:19 +08:00
|
|
|
},
|
|
|
|
//方法
|
|
|
|
methods: {
|
|
|
|
onPageJump(url) {
|
|
|
|
if (this.path !== url) {
|
|
|
|
uni.switchTab({
|
|
|
|
url: '/' + url
|
|
|
|
});
|
|
|
|
}
|
|
|
|
},
|
|
|
|
onRaised(){
|
|
|
|
this.popupShow = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
@import '@/style/mixin.scss';
|
|
|
|
.footer_station {
|
|
|
|
height: 100rpx;
|
|
|
|
}
|
|
|
|
.footer_box {
|
|
|
|
height: 100rpx;
|
|
|
|
position: fixed;
|
|
|
|
bottom: 0;
|
|
|
|
left: 0;
|
|
|
|
width: 100%;
|
|
|
|
/* #ifndef APP-NVUE */
|
|
|
|
display: flex;
|
|
|
|
/* #endif */
|
|
|
|
flex-direction: row;
|
|
|
|
z-index: 502;
|
|
|
|
}
|
|
|
|
.footer_bg {
|
|
|
|
background-color: #FFF;
|
|
|
|
}
|
|
|
|
.footer_item {
|
|
|
|
position: relative;
|
|
|
|
flex: 1;
|
|
|
|
}
|
|
|
|
.footer_nav_item {
|
|
|
|
/* #ifndef APP-NVUE */
|
|
|
|
display: flex;
|
|
|
|
/* #endif */
|
|
|
|
flex-direction: column;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
height: 100%;
|
|
|
|
}
|
|
|
|
.footer_nav_item:active {
|
|
|
|
background-color: rgba($color: #fff, $alpha: 0.1);
|
|
|
|
}
|
|
|
|
.footer_nav_item_text {
|
|
|
|
font-size: 24rpx;
|
|
|
|
color: #999999;
|
|
|
|
margin-top: 6rpx;
|
|
|
|
}
|
|
|
|
.footer_nav_item_text_active {
|
|
|
|
color: #f9a633;
|
|
|
|
}
|
|
|
|
.footer_nav_item_image {
|
|
|
|
width: 50rpx;
|
|
|
|
height: 50rpx;
|
|
|
|
}
|
|
|
|
.footer_raised_item {
|
|
|
|
position: absolute;
|
|
|
|
top: -40rpx;
|
|
|
|
left: 50%;
|
|
|
|
transform: translateX(-50%);
|
|
|
|
width: 120rpx;
|
|
|
|
height: 120rpx;
|
|
|
|
background-color: #FFF;
|
|
|
|
border-radius: 50%;
|
|
|
|
/* #ifndef APP-NVUE */
|
|
|
|
display: flex;
|
|
|
|
/* #endif */
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
}
|
|
|
|
.footer_raised_item_image {
|
|
|
|
width: 70rpx;
|
|
|
|
height: 70rpx;
|
|
|
|
}
|
|
|
|
.popup_content {
|
|
|
|
background-color: #FFF;
|
|
|
|
padding: 30rpx;
|
|
|
|
}
|
|
|
|
</style>
|