211 lines
4.5 KiB
Vue
211 lines
4.5 KiB
Vue
<template>
|
|
<view class="businessCenter">
|
|
<view class="fixedheader">
|
|
<headers :themeType="true">
|
|
<view class="headerName">
|
|
一期项目
|
|
</view>
|
|
</headers>
|
|
</view>
|
|
|
|
<view class="search-box">
|
|
<view class="search-input">
|
|
<uni-icons2 class="search-icon" type="search" color="#fff" size="14"></uni-icons2>
|
|
<input type="text" placeholder="请输入内容" />
|
|
</view>
|
|
</view>
|
|
<scroll-view class="scrollx-wrap" scroll-x>
|
|
<view class="nav-list flex">
|
|
<view
|
|
class="nav-item"
|
|
:class="{'nav-active': activeNav == index}"
|
|
:id="'nav-'+index"
|
|
v-for="(item,index) in list" :key="index" @tap="checkNav(index)"
|
|
v-show="item.menuList&&item.menuList.length>0">
|
|
{{item.moduleName}}
|
|
</view>
|
|
</view>
|
|
</scroll-view>
|
|
<scroll-view class="scrolly-wrap" :scroll-into-view="moduleIntoView" :style="{'padding-bottom': statusBarHeight + 'px'}" scroll-y>
|
|
<view id="scroll-panel">
|
|
<view class="moudle-box" :id="'module-'+index"
|
|
v-for="(item,index) in list" :key="index"
|
|
v-show="item.menuList&&item.menuList.length>0">
|
|
<view class="moudle-title">{{item.moduleName}}</view>
|
|
<view class="moudle-list flex">
|
|
<view class="moudle-item" v-for="(itm, idx) in item.menuList" :key="idx" @click="goMoudleFn(itm)">
|
|
<image v-if="itm.icon" :src="'/static/businessCenter/' + itm.icon + '.png'"></image>
|
|
<uni-icons2 v-else type="image" size="30" color="#ccc"></uni-icons2>
|
|
<text>{{itm.menuName}}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</scroll-view>
|
|
<footers2 :tabIndex="2"></footers2>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import headers from "../../components/headers/headers.vue"
|
|
import footers2 from '../../components/footers/footers2.vue'
|
|
export default{
|
|
data(){
|
|
return{
|
|
activeNav: 0,
|
|
statusBarHeight: 0,
|
|
list: [],
|
|
userInfo: {},
|
|
accountType: "",
|
|
systemInfo: ""
|
|
}
|
|
},
|
|
components:{
|
|
footers2,
|
|
headers
|
|
},
|
|
computed:{
|
|
moduleIntoView() {
|
|
return `module-${this.activeNav}`;
|
|
}
|
|
},
|
|
onShow(){
|
|
this.statusBarHeight=uni.getStorageSync('systemInfo').statusBarHeight;
|
|
this.userInfo = JSON.parse(uni.getStorageSync('userInfo'))
|
|
this.accountType = this.userInfo.accountType
|
|
this.list = this.userInfo.menuAuthority.moduleList.filter((item)=>{
|
|
return item.moduleType == 2
|
|
})
|
|
console.log(this.list)
|
|
},
|
|
mounted(){
|
|
},
|
|
methods:{
|
|
checkNav(val){
|
|
console.log(val)
|
|
this.activeNav = val
|
|
console.log(this.activeNav)
|
|
},
|
|
goMoudleFn(item){
|
|
console.log('item.appPath', item.appPath)
|
|
if(item.appPath){
|
|
uni.navigateTo({
|
|
url: item.appPath
|
|
})
|
|
} else{
|
|
uni.showToast({
|
|
icon: 'none',
|
|
title: '该产品暂未开放,敬请期待!'
|
|
})
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.businessCenter{
|
|
height: 100%;
|
|
.search-box{
|
|
height: 80rpx;
|
|
width: 100%;
|
|
background: #2b8df3;
|
|
padding-top: 10rpx;
|
|
color: #fff;
|
|
border-radius: 0 0 50rpx 50rpx;
|
|
.search-input{
|
|
width: 235px;
|
|
height: 52rpx;
|
|
margin: 0 auto;
|
|
position: relative;
|
|
.search-icon{
|
|
position: absolute;
|
|
left: 18rpx;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
}
|
|
uni-input{
|
|
width: 235px;
|
|
height: 52rpx;
|
|
color: #fff;
|
|
border-radius: 26rpx;
|
|
margin: 0 auto;
|
|
padding-left: 60rpx;
|
|
box-sizing: border-box;
|
|
font-size: 28rpx;
|
|
background: rgba(255,255,255,0.3);
|
|
.uni-input-placeholder{
|
|
color: rgba(255,255,255,0.6);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.scrollx-wrap{
|
|
width: 100%;
|
|
}
|
|
.flex{
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.nav-list{
|
|
flex-wrap: nowrap;
|
|
padding-top: 16rpx;
|
|
.nav-item{
|
|
white-space: nowrap;
|
|
padding: 0 30rpx;
|
|
font-size: 28rpx;
|
|
padding-bottom: 10rpx;
|
|
position: relative;
|
|
}
|
|
.nav-active::before{
|
|
content: "";
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 50%;
|
|
height: 4rpx;
|
|
width: 18rpx;
|
|
transform: translateX(-50%);
|
|
background: #2b8df3;
|
|
}
|
|
}
|
|
.scrolly-wrap{
|
|
height: calc(100% - 171px);
|
|
box-sizing: border-box;
|
|
}
|
|
.moudle-box{
|
|
padding-left: 30rpx;
|
|
font-size: 28rpx;
|
|
padding-bottom: 30rpx;
|
|
.moudle-title{
|
|
font-weight: 600;
|
|
padding-top: 30rpx;
|
|
}
|
|
.moudle-list{
|
|
flex-wrap: wrap;
|
|
.moudle-item{
|
|
width: 25%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding-top: 30rpx;
|
|
uni-image{
|
|
width: 92rpx;
|
|
height: 92rpx;
|
|
display: block;
|
|
margin-bottom: 12rpx;
|
|
}
|
|
.uni-icons{
|
|
width: 92rpx;
|
|
height: 92rpx;
|
|
display: block;
|
|
line-height: 92rpx;
|
|
margin-bottom: 12rpx;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|