|
@@ -1,55 +1,19 @@
|
|
<template>
|
|
<template>
|
|
<view class="content">
|
|
<view class="content">
|
|
- <view class="top-fan">
|
|
|
|
- <image src="../../static/img/top-bg.png" mode=""></image>
|
|
|
|
- </view>
|
|
|
|
- <view class="fans-base flex">
|
|
|
|
- <view class="base-item">
|
|
|
|
- <view class="base-item-val">
|
|
|
|
- {{fans.count || 0}}
|
|
|
|
- </view>
|
|
|
|
- <view class="base-item-name">
|
|
|
|
- 我的粉丝
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
- <view class="jg"></view>
|
|
|
|
- <view class="base-item">
|
|
|
|
- <view class="base-item-val">
|
|
|
|
- {{fans.active || 0}}
|
|
|
|
- </view>
|
|
|
|
- <view class="base-item-name">
|
|
|
|
- 活跃粉丝
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
- <view class="jg"></view>
|
|
|
|
- <view class="base-item">
|
|
|
|
- <view class="base-item-val">
|
|
|
|
- {{fans.money || 0}}
|
|
|
|
- </view>
|
|
|
|
- <view class="base-item-name">
|
|
|
|
- 总成交额
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
- <view class="fans-tit">
|
|
|
|
- 我的粉丝列表
|
|
|
|
- </view>
|
|
|
|
- <view class="fans-list-tit flex">
|
|
|
|
- <view class="list-item">
|
|
|
|
- 姓名
|
|
|
|
|
|
+ <image class="banner" src="@/static/user/myfans/banner.png" mode="widthFix"></image>
|
|
|
|
+ <view class="tabItem flex">
|
|
|
|
+ <view class="list" :class="{action:acTab==0}" @click="tabChange(0)">
|
|
|
|
+ 我的好友
|
|
</view>
|
|
</view>
|
|
- <view class="list-item">
|
|
|
|
- ID
|
|
|
|
|
|
+ <view class="list" :class="{action:acTab==1}" @click="tabChange(1)">
|
|
|
|
+ 间接好友
|
|
</view>
|
|
</view>
|
|
- <view class="list-item">
|
|
|
|
- 当日业绩
|
|
|
|
- </view>
|
|
|
|
- <view class="list-item">
|
|
|
|
- 粉丝数
|
|
|
|
|
|
+ <view class="list" :class="{action:acTab==2}" @click="tabChange(2)">
|
|
|
|
+ 其他好友
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<scroll-view scroll-y="true" class="swiper-box" :style="{'height':height}" @scrolltolower="getMyfans()">
|
|
<scroll-view scroll-y="true" class="swiper-box" :style="{'height':height}" @scrolltolower="getMyfans()">
|
|
- <view class="fans-list-val flex" v-for="(item,index) in list"
|
|
|
|
|
|
+ <view class="fans-list-val flex" v-for="(item,index) in itemList[acTab].list"
|
|
:style="{'background':index%2 ==0 ? '#F9F9F9':'#fff'}">
|
|
:style="{'background':index%2 ==0 ? '#F9F9F9':'#fff'}">
|
|
<view class="list-item clamp">
|
|
<view class="list-item clamp">
|
|
{{item.real_name||item.nickname}}
|
|
{{item.real_name||item.nickname}}
|
|
@@ -64,7 +28,7 @@
|
|
{{item.count}}
|
|
{{item.count}}
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
- <uni-load-more :status="loadingType"></uni-load-more>
|
|
|
|
|
|
+ <uni-load-more :status="itemList[acTab].loadingType"></uni-load-more>
|
|
</scroll-view>
|
|
</scroll-view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
</template>
|
|
@@ -76,16 +40,34 @@
|
|
export default {
|
|
export default {
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
|
|
+ // 选中的对象
|
|
|
|
+ acTab:0,
|
|
height: '',
|
|
height: '',
|
|
- list: [],
|
|
|
|
- page: 1,
|
|
|
|
- limit: 10,
|
|
|
|
- fans: {},
|
|
|
|
- loadingType: 'more'
|
|
|
|
|
|
+ itemList: [{
|
|
|
|
+ list: [{
|
|
|
|
+
|
|
|
|
+ }],
|
|
|
|
+ page: 1,
|
|
|
|
+ limit: 10,
|
|
|
|
+ loadingType: 'more',
|
|
|
|
+ load:false
|
|
|
|
+ }, {
|
|
|
|
+ list: [],
|
|
|
|
+ page: 1,
|
|
|
|
+ limit: 10,
|
|
|
|
+ loadingType: 'more',
|
|
|
|
+ load:false
|
|
|
|
+ },{
|
|
|
|
+ list: [],
|
|
|
|
+ page: 1,
|
|
|
|
+ limit: 10,
|
|
|
|
+ loadingType: 'more',
|
|
|
|
+ load:false
|
|
|
|
+ }]
|
|
}
|
|
}
|
|
},
|
|
},
|
|
onLoad() {
|
|
onLoad() {
|
|
- this.getMyfans()
|
|
|
|
|
|
+ this.getMyfans();
|
|
},
|
|
},
|
|
onReady(res) {
|
|
onReady(res) {
|
|
var _this = this;
|
|
var _this = this;
|
|
@@ -103,30 +85,40 @@
|
|
});
|
|
});
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ // 切换
|
|
|
|
+ tabChange(index){
|
|
|
|
+ this.acTab=index;
|
|
|
|
+ if(!this.itemList(index).load){
|
|
|
|
+ this.getMyfans();
|
|
|
|
+ }
|
|
|
|
+ },
|
|
getMyfans() {
|
|
getMyfans() {
|
|
- let obj = this
|
|
|
|
|
|
+ let that = this
|
|
|
|
+ let obj = that.itemList[that.acTab];
|
|
if (obj.loadingType == 'loading' || obj.loadingType == 'noMore') {
|
|
if (obj.loadingType == 'loading' || obj.loadingType == 'noMore') {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- obj.loadingType = 'loading'
|
|
|
|
|
|
+ obj.loadingType = 'loading'
|
|
getMyfans({
|
|
getMyfans({
|
|
page: obj.page,
|
|
page: obj.page,
|
|
limit: obj.limit
|
|
limit: obj.limit
|
|
}).then(res => {
|
|
}).then(res => {
|
|
console.log(res)
|
|
console.log(res)
|
|
- obj.fans = res.data;
|
|
|
|
- let ar = res.data.user.map((item)=>{
|
|
|
|
- if(item.real_name.length>2){
|
|
|
|
- let str =item.real_name.slice(1,item.real_name.length-1);
|
|
|
|
- let str2 = str.replace(/.*/g,'*');
|
|
|
|
- item.real_name =item.real_name.slice(0,1)+str2+item.real_name.slice(item.real_name.length-1);
|
|
|
|
- }else if(item.real_name.length==2){
|
|
|
|
- item.real_name =item.real_name.slice(0,1)+"*";
|
|
|
|
|
|
+ let ar = res.data.user.map((item) => {
|
|
|
|
+ if (item.real_name.length > 2) {
|
|
|
|
+ let str = item.real_name.slice(1, item.real_name.length - 1);
|
|
|
|
+ let str2 = str.replace(/.*/g, '*');
|
|
|
|
+ item.real_name = item.real_name.slice(0, 1) + str2 + item.real_name.slice(item.real_name.length - 1);
|
|
|
|
+ } else if (item.real_name.length == 2) {
|
|
|
|
+ item.real_name = item.real_name.slice(0, 1) + "*";
|
|
}
|
|
}
|
|
return item
|
|
return item
|
|
})
|
|
})
|
|
obj.list = obj.list.concat(res.data.user)
|
|
obj.list = obj.list.concat(res.data.user)
|
|
obj.page++
|
|
obj.page++
|
|
|
|
+ if(!obj.load){
|
|
|
|
+ obj.load = true;
|
|
|
|
+ }
|
|
if (res.data.user.length == obj.limit) {
|
|
if (res.data.user.length == obj.limit) {
|
|
obj.loadingType = 'more'
|
|
obj.loadingType = 'more'
|
|
} else {
|
|
} else {
|
|
@@ -141,104 +133,48 @@
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
page {
|
|
page {
|
|
- background-color: #f3f5f4;
|
|
|
|
|
|
+ background-color: #FFF;
|
|
height: 100%;
|
|
height: 100%;
|
|
}
|
|
}
|
|
|
|
|
|
- .content {
|
|
|
|
- background-color: #f3f5f4;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- .top-fan {
|
|
|
|
- position: relative;
|
|
|
|
|
|
+ .banner {
|
|
width: 750rpx;
|
|
width: 750rpx;
|
|
- height: 336rpx;
|
|
|
|
|
|
|
|
- image {
|
|
|
|
- position: absolute;
|
|
|
|
- top: 0;
|
|
|
|
- left: 0;
|
|
|
|
- right: 0;
|
|
|
|
- width: 100%;
|
|
|
|
- height: 100%;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- .fans-base {
|
|
|
|
- position: relative;
|
|
|
|
- z-index: 2;
|
|
|
|
- width: 702rpx;
|
|
|
|
- height: 210rpx;
|
|
|
|
- background: #FFFFFF;
|
|
|
|
- box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
|
|
|
|
- border-radius: 20rpx;
|
|
|
|
- margin: -147rpx auto 0;
|
|
|
|
- text-align: center;
|
|
|
|
- font-size: 30rpx;
|
|
|
|
- font-family: PingFang SC;
|
|
|
|
- font-weight: 500;
|
|
|
|
- color: #666666;
|
|
|
|
-
|
|
|
|
- .jg {
|
|
|
|
- width: 2rpx;
|
|
|
|
- height: 96rpx;
|
|
|
|
- background: #DCDCDC;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- .base-item {
|
|
|
|
- flex-grow: 1;
|
|
|
|
-
|
|
|
|
- .base-item-val {
|
|
|
|
- font-size: 50rpx;
|
|
|
|
- font-family: PingFang SC;
|
|
|
|
- font-weight: bold;
|
|
|
|
- color: #0C1732;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- .fans-tit {
|
|
|
|
- font-size: 32rpx;
|
|
|
|
- font-family: PingFang SC;
|
|
|
|
- font-weight: bold;
|
|
|
|
- color: #0C1732;
|
|
|
|
- padding: 45rpx 0 29rpx 40rpx;
|
|
|
|
|
|
+ .content {
|
|
|
|
+ // background-color: #f3f5f4;
|
|
}
|
|
}
|
|
|
|
|
|
- .fans-list-tit {
|
|
|
|
|
|
+ .fans-list-val {
|
|
width: 710rpx;
|
|
width: 710rpx;
|
|
height: 100rpx;
|
|
height: 100rpx;
|
|
- background: #FFE1E2;
|
|
|
|
- border-radius: 20rpx 20rpx 0px 0px;
|
|
|
|
margin: auto;
|
|
margin: auto;
|
|
text-align: center;
|
|
text-align: center;
|
|
- ;
|
|
|
|
font-size: 30rpx;
|
|
font-size: 30rpx;
|
|
- font-family: PingFang SC;
|
|
|
|
font-weight: bold;
|
|
font-weight: bold;
|
|
- color: #DC262B;
|
|
|
|
|
|
+ color: #0C1732;
|
|
|
|
|
|
.list-item {
|
|
.list-item {
|
|
width: 25%;
|
|
width: 25%;
|
|
flex-shrink: 0;
|
|
flex-shrink: 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- .fans-list-val {
|
|
|
|
- width: 710rpx;
|
|
|
|
- height: 100rpx;
|
|
|
|
- margin: auto;
|
|
|
|
- text-align: center;
|
|
|
|
- ;
|
|
|
|
- font-size: 30rpx;
|
|
|
|
- font-family: PingFang SC;
|
|
|
|
|
|
+ .tabItem{
|
|
font-weight: bold;
|
|
font-weight: bold;
|
|
- color: #0C1732;
|
|
|
|
-
|
|
|
|
- .list-item {
|
|
|
|
- // flex-grow: 1;
|
|
|
|
- width: 25%;
|
|
|
|
- flex-shrink: 0;
|
|
|
|
|
|
+ font-size: 31rpx;
|
|
|
|
+ color: #FFFFFF;
|
|
|
|
+ margin-top: -40rpx;
|
|
|
|
+ .list{
|
|
|
|
+ background: rgba(51, 51, 51, .44s);
|
|
|
|
+ border-radius: 20rpx 20rpx 0px 0px;
|
|
|
|
+ padding: 30rpx;
|
|
|
|
+ width: 240rpx;
|
|
|
|
+ text-align: center;
|
|
|
|
+ flex-grow: 0;
|
|
|
|
+ &.action{
|
|
|
|
+ background-color:rgba(51, 51, 51, 1) ;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|