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.
173 lines
5.1 KiB
173 lines
5.1 KiB
<template>
|
|
<view class="pageBgImg">
|
|
<view class="status_bar"></view>
|
|
<view class="card">
|
|
<view class="cut_row" @click.stop="showRole=true" v-if="list.length>1">
|
|
<view class="flex-b">
|
|
<view class="cut_icon">
|
|
<image src="@/static/images/userCenter/cut.png" mode=""></image>
|
|
</view>
|
|
<view class="cut_text">切换身份</view>
|
|
</view>
|
|
</view>
|
|
<view class="qcode" @click="$goPage('/pages/userCenter/scanCode/scanCode')">
|
|
<image src="@/static/images/coach/ic_erweima.png" mode=""></image>
|
|
</view>
|
|
<user-info/>
|
|
</view>
|
|
|
|
<view class="card">
|
|
<view class="ul">
|
|
<view class="li" v-for="(item,index) in tabData" :key="index" @click="$goPage(item.url)">
|
|
<view class="icon">
|
|
<image :src="item.icon" mode=""></image>
|
|
</view>
|
|
<view class="text">{{ item.text }}</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<u-action-sheet :actions="list" title="请选择您要登录的角色" :show="showRole" @select="selectClick" ></u-action-sheet>
|
|
|
|
<UserTab name ='我的'></UserTab>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
tabData: [],
|
|
list: [],
|
|
showRole: false
|
|
}
|
|
},
|
|
onLoad() {
|
|
|
|
this.initMenu()
|
|
this.roleListFn()
|
|
},
|
|
onShow() {
|
|
uni.hideTabBar();
|
|
// this.getIpAddress()
|
|
},
|
|
methods: {
|
|
initMenu() {
|
|
if(this.identity=='实操教练') {
|
|
this.tabData = [
|
|
// {text: '待结算记录', icon: require('../../../static/images/coach/ic_daijiesuan.png'), id: 1, url: '/pages/userCenter/settled/settled'},
|
|
// {text: '指标充值记录', icon: require('../../../static/images/coach/ic_zhibiao.png'), id: 2, url: '/pages/userCenter/indicatorRecharge/indicatorRecharge'},
|
|
{text: '我的车辆', icon: require('../../../static/images/coach/ic_cheliang.png'), id: 3, url: '/pages/userCenter/myCar/myCar'},
|
|
{text: '考场信息', icon: require('../../../static/images/coach/ic_changdi.png'), id: 4, url: '/pages/userCenter/examinInfo/examinInfo'},
|
|
{text: '学员评价', icon: require('../../../static/images/coach/ic_pingjia.png'), id: 5, url: '/pages/userCenter/studentComment/studentComment'},
|
|
{text: '教学数据', icon: require('../../../static/images/coach/ic_shuju.png'), id: 6, url: '/pages/userCenter/teachingData/teachingData'},
|
|
// {text: '学员退款', icon: require('../../../static/images/coach/ic_tuikuan.png'), id: 7, url: '/pages/userCenter/refund/refund'},
|
|
]
|
|
}else if(this.identity=='校长') {
|
|
this.tabData = [
|
|
{text: '我的车辆', icon: require('../../../static/images/coach/ic_cheliang.png'), id: 3, url: '/pages/userCenter/myCar/myCar'},
|
|
{text: '教学数据', icon: require('../../../static/images/coach/ic_shuju.png'), id: 6, url: '/pages/userCenter/teachingData/teachingData'},
|
|
{text: '学员评价', icon: require('../../../static/images/coach/ic_pingjia.png'), id: 5, url: '/pages/userCenter/studentComment/studentComment'},
|
|
{text: '学员退款', icon: require('../../../static/images/coach/ic_tuikuan.png'), id: 7, url: '/pages/userCenter/refund/refund'},
|
|
]
|
|
}else if(this.identity=='考场模拟教练') {
|
|
this.tabData = [
|
|
{text: '我的车辆', icon: require('../../../static/images/coach/ic_cheliang.png'), id: 3, url: '/pages/userCenter/myCar/myCar'},
|
|
{text: '学员评价', icon: require('../../../static/images/coach/ic_pingjia.png'), id: 5, url: '/pages/userCenter/studentComment/studentComment'},
|
|
]
|
|
}
|
|
},
|
|
// 切换角色
|
|
selectClick(item) {
|
|
this.showRole = false
|
|
this.$store.commit('upDateIdentity', item.name)
|
|
this.initMenu()
|
|
uni.switchTab({
|
|
url: '/pages/tabbar/index/index'
|
|
})
|
|
},
|
|
roleListFn() {
|
|
this.list = []
|
|
if(this.role.length<=1) return
|
|
let roleObj = this.$store.state.user.vuex_role
|
|
this.role.forEach((item)=>{
|
|
let obj = {
|
|
name: roleObj[item]
|
|
}
|
|
this.list.push(obj)
|
|
})
|
|
},
|
|
goPage() {},
|
|
|
|
getIpAddress() {
|
|
// 使用第三方API服务获取IP地址,例如ipinfo.io
|
|
fetch('https://ipinfo.io/json')
|
|
.then(response => response.json())
|
|
.then(data => {
|
|
const ipAddress = data.ip;
|
|
console.log(data)
|
|
console.log('用户的IP地址是:', ipAddress);
|
|
})
|
|
.catch(error => {
|
|
console.error('获取IP地址时出错:', error);
|
|
});
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.pageBgImg {
|
|
padding: 120rpx 28rpx 40rpx 28rpx;
|
|
}
|
|
|
|
.card {
|
|
margin-bottom: 24rpx;
|
|
padding: 28rpx;
|
|
position: relative;
|
|
.qcode {
|
|
width: 76rpx;
|
|
height: 76rpx;
|
|
position: absolute;
|
|
right: 24rpx;
|
|
bottom: 24rpx;
|
|
}
|
|
.cut_row {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
margin-bottom: 6rpx;
|
|
.cut_icon {
|
|
width: 24rpx;
|
|
height: 24rpx;
|
|
}
|
|
.cut_text {
|
|
font-size: 24rpx;
|
|
color: $themC;
|
|
margin-left: 5rpx;
|
|
}
|
|
}
|
|
}
|
|
|
|
.ul {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
.li {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-direction: column;
|
|
padding: 10rpx 0 50rpx 0;
|
|
width: 33.33%;
|
|
.icon {
|
|
width: 72rpx;
|
|
height: 72rpx;
|
|
}
|
|
|
|
.text {
|
|
font-size: 28rpx;
|
|
margin-top: 16rpx;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
</style>
|