城阳工作端uniH5前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

165 lines
5.2 KiB

<template>
<view>
<view class="tab-bar-block"></view>
<view class="tab-bar">
<view v-if="item.show" class="tab-bar-item" :data-path="item.pagePath" :data-index="index" @tap="switchTab" v-for="(item, index) in list" :key="index">
<!-- <image src="{{selected === index ? item.selectedIconPath : item.iconPath}}"></image> -->
<!-- <view style="color: {{selected === index ? selectedColor : color}}">{{item.text}}</view> -->
<!-- <view >
<image wx:if="{{index!=selected}}" src="{{item.iconPath}}"></image>
<image wx:else class="bigicon" src="{{item.selectedIconPath}}"></image>
<view wx:if="{{index!=selected}}" style="color: {{selected === index ? selectedColor : color}}">{{item.text}}</view>
</view> -->
<view>
<image :src="selected === index ? item.selectedIconPath : item.iconPath"></image>
<view :style="'color: ' + (selected === index ? selectedColor : color)">{{ item.text }}</view>
</view>
<view class="isIPhoneXRegexBottom"></view>
</view>
</view>
</view>
</template>
<script>
import { getStaffbasicinfo } from '../../utils/api';
const app = getApp();
import { getOwnedRolesOfStaffId } from '../../utils/statisticsApi.js';
export default {
data() {
return {
selected: 0,
color: '#999',
selectedColor: '#3A80E7',
list: [
{
pagePath: '/pages/index/index',
text: '首页',
iconPath: '/static/images/home/message.png',
selectedIconPath: '/static/images/home/messageSelected.png',
show: true
},
{
pagePath: '/pages/resiAndHouse/resiAndHouse',
text: '人房',
iconPath: '/static/images/home/resiAndHouse.png',
selectedIconPath: '/static/images/home/resiAndHouseSelected.png',
show: true
},
{
pagePath: '/pages/work2/work2',
text: '工作',
iconPath: '/static/images/home/work.png',
selectedIconPath: '/static/images/home/workSelected.png',
show: true
},
{
pagePath: '/pages/statistics/statistics',
text: '数据',
iconPath: '/static/images/home/information.png',
selectedIconPath: '/static/images/home/informationSelected.png',
show: false
},
{
pagePath: '/pages/mine/mine',
text: '我的',
iconPath: '/static/images/home/mine.png',
selectedIconPath: '/static/images/home/mineSelected.png',
show: true
}
],
show: ''
};
},
mounted() {
// 处理小程序 attached 生命周期
this.attached();
// 处理小程序 ready 生命周期
this.$nextTick(() => this.ready());
},
methods: {
ready: function () {
this.setData({
selected: app.globalData.selected
});
// secretary 书记 admin 管理员
console.log(app.globalData.roleList.filter((item) => item.roleKey === 'secretary'));
if (app.globalData.roleList.length <= 0) {
getStaffbasicinfo().then((res) => {
getOwnedRolesOfStaffId(res.data.id).then((res2) => {
app.globalData.user = res.data;
this.setData({
'list[3].show': true
});
});
});
} else {
this.setData({
'list[3].show': true
});
}
console.log(app.globalData.roleList, 'userss');
},
attached() {},
switchTab(e) {
console.log(e);
const data = e.currentTarget.dataset;
const url = data.path;
app.globalData.selected = data.index;
uni.switchTab({
url
});
}
},
created: function () {}
};
</script>
<style>
.tab-bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: auto;
background: white;
display: flex;
box-shadow: 0px 6rpx 18rpx 0px rgba(216, 216, 216, 0.66);
}
.isIPhoneXRegexBottom {
padding-bottom: constant(safe-area-inset-bottom); /*兼容 IOS<11.2*/
padding-bottom: env(safe-area-inset-bottom); /*兼容 IOS>11.2*/
}
.tab-bar-item {
flex: 1;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
padding-top: 10rpx;
}
.tab-bar-item image {
width: 54rpx;
height: 54rpx;
}
/* .tab-bar-item image.bigicon{
width: 70rpx;
height: 70rpx;
} */
.tab-bar-item view {
font-size: 22rpx;
color: #999999;
}
.tab-bar-block {
height: 150rpx;
}
</style>