|
@@ -6,10 +6,10 @@
|
|
|
<view class="center-wrap">
|
|
|
<image src="../../static/img/tj-bg.png" mode="" class="tj-bg"></image>
|
|
|
<view class="center-tit">邀请地址</view>
|
|
|
- <view class="tj-jl flex" @click="opneYj">
|
|
|
+ <!-- <view class="tj-jl flex" @click="opneYj">
|
|
|
<text>业</text>
|
|
|
<text>绩</text>
|
|
|
- </view>
|
|
|
+ </view> -->
|
|
|
<view class="tj-lj-tit">【链接地址】</view>
|
|
|
<view class="tj-lj flex">
|
|
|
<view class="lj-tit">邀请链接:</view>
|
|
@@ -20,11 +20,14 @@
|
|
|
<view class="lj-tit">绑定关系:</view>
|
|
|
<view class="lj-info clamp" v-if="!userInfo.spread"><input type="text" v-model="recommend" value="" /></view>
|
|
|
<view class="lj-info clamp" v-if="userInfo.spread">{{ userInfo.spread.address | addFile }}</view>
|
|
|
- <view class="lj-copy" v-if="!userInfo.spread" @click="spare()">绑定推荐关系</view>
|
|
|
+ <view class="lj-copy" v-if="!userInfo.spread" @click="spare()">绑定关系</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="tj-look" @click="button()">查看推荐</view>
|
|
|
- <uni-popup ref="yeji" type="center">
|
|
|
+ <view class="bottom">
|
|
|
+ <image class="bottom-bg" src="../../static/img/bottom.png" mode=""></image>
|
|
|
+ <view class="btn" @click="button()">查看推荐</view>
|
|
|
+ </view>
|
|
|
+ <!-- <uni-popup ref="yeji" type="center">
|
|
|
<view class="yj-wrap">
|
|
|
<view class="yj-tit">收益明细</view>
|
|
|
<image src="../../static/img/yj-bg.png" mode="" class="yj-logo"></image>
|
|
@@ -61,7 +64,7 @@
|
|
|
</swiper>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </uni-popup>
|
|
|
+ </uni-popup> -->
|
|
|
<uni-popup ref="yeji1" type="center">
|
|
|
<view class="yj-wrap">
|
|
|
<view class="yj-tit">我的推荐</view>
|
|
@@ -71,21 +74,18 @@
|
|
|
<view class="">钱包地址</view>
|
|
|
<view class="">时间</view>
|
|
|
</view>
|
|
|
- <swiper class="yj-info-scroll" :current="tabIndex" duration="300">
|
|
|
- <swiper-item v-for="item in navList">
|
|
|
- <scroll-view scroll-y="true" class="yj-info-scroll" @scrolltolower="loadMore">
|
|
|
- <view v-for="itemt in item.list" class="">
|
|
|
- <view class="flex yj-info">
|
|
|
- <view class="">{{ itemt.time }}</view>
|
|
|
- <view class="">{{ itemt.val }}</view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <uni-load-more :status="item.loadingType"></uni-load-more>
|
|
|
- </scroll-view>
|
|
|
- </swiper-item>
|
|
|
- </swiper>
|
|
|
+ <scroll-view scroll-y="true" class="yj-info-scroll" @scrolltolower="spreadList">
|
|
|
+ <view v-for="itemt in List" class="">
|
|
|
+ <view class="flex yj-info">
|
|
|
+ <view class="address clamp">{{ itemt.address }}</view>
|
|
|
+ <view class="time">{{ itemt.spread_time }}</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <uni-load-more :status="loadingType"></uni-load-more>
|
|
|
+ </scroll-view>
|
|
|
</view>
|
|
|
</view>
|
|
|
+ <view class="popup-x" @click="closeRecord()"><image src="../../static/img/x.png" mode=""></image></view>
|
|
|
</uni-popup>
|
|
|
</view>
|
|
|
</template>
|
|
@@ -93,6 +93,8 @@
|
|
|
<script>
|
|
|
import top from '@/components/top/top.vue';
|
|
|
import { mapState, mapMutations } from 'vuex';
|
|
|
+import { addSpread, spreadList } from '@/api/index.js';
|
|
|
+import { getTime } from '@/utils/rocessor.js';
|
|
|
import uniCopy from '@/components/js_sdk/xb-copy/uni-copy.js';
|
|
|
export default {
|
|
|
comments: {
|
|
@@ -104,7 +106,7 @@ export default {
|
|
|
filters: {
|
|
|
addFile(provider) {
|
|
|
if (provider.length >= 19) {
|
|
|
- var subStr1 = provider.substr(0, 14);
|
|
|
+ var subStr1 = provider.substr(0, 13);
|
|
|
var subStr2 = provider.substr(provider.length - 6, 6);
|
|
|
var subStr = subStr1 + '...' + subStr2;
|
|
|
provider = subStr;
|
|
@@ -132,10 +134,41 @@ export default {
|
|
|
loadingType: 'more'
|
|
|
}
|
|
|
],
|
|
|
- tabIndex: 0
|
|
|
+ List:[],
|
|
|
+ tabIndex: 0,
|
|
|
+ page: 1,
|
|
|
+ limit: 8,
|
|
|
+ loadingType: 'more'
|
|
|
};
|
|
|
},
|
|
|
+ onShow() {
|
|
|
+ this.spreadList();
|
|
|
+ },
|
|
|
methods: {
|
|
|
+ closeRecord() {
|
|
|
+ this.$refs.yeji1.close();
|
|
|
+ },
|
|
|
+ spreadList(){
|
|
|
+ let obj = this;
|
|
|
+ if (obj.loadingType == 'noMore' || obj.loadingType == 'loading') {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ spreadList({page:obj.page,limit:obj.limit}).then(({data}) =>{
|
|
|
+ data.data.list.forEach(e =>{
|
|
|
+ if(e.spread_time != null){
|
|
|
+ e.spread_time = getTime(e.spread_time)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.List = this.List.concat(data.data.list);
|
|
|
+ if(data.data.list.length != obj.limit){
|
|
|
+ obj.loadingType = 'noMore'
|
|
|
+ }else {
|
|
|
+ obj.page++
|
|
|
+ obj.loadingType = 'more'
|
|
|
+ }
|
|
|
+ })
|
|
|
+ obj.loadingType = 'loading';
|
|
|
+ },
|
|
|
copy(value) {
|
|
|
let obj = this;
|
|
|
let content = value; //需要复制的内容
|
|
@@ -153,6 +186,31 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
+ spare() {
|
|
|
+ const obj = this;
|
|
|
+ if (this.recommend == '') {
|
|
|
+ this.$api.msg('请填写要加入流量的地址');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ uni.showModal({
|
|
|
+ title: '提示',
|
|
|
+ content: '您是否要绑定到改流量(' + this.recommend + ')',
|
|
|
+ success: function(res) {
|
|
|
+ if (res.confirm) {
|
|
|
+ addSpread({ address: obj.recommend }).then(e => {
|
|
|
+ console.log(e, '123468');
|
|
|
+ if (e.code == 1) {
|
|
|
+ obj.$api.msg('绑定成功');
|
|
|
+ window.location.reload();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else if (res.cancel) {
|
|
|
+ console.log('用户点击取消');
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
qrR() {},
|
|
|
opneYj() {
|
|
|
this.$refs.yeji.open();
|
|
@@ -285,7 +343,7 @@ page {
|
|
|
position: absolute;
|
|
|
top: 560rpx;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.tj-lj1 {
|
|
|
width: 636rpx;
|
|
|
height: 67rpx;
|
|
@@ -298,7 +356,7 @@ page {
|
|
|
left: 0;
|
|
|
margin: auto;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.tj-lj {
|
|
|
width: 636rpx;
|
|
|
height: 67rpx;
|
|
@@ -321,7 +379,7 @@ page {
|
|
|
color: #ffffff;
|
|
|
line-height: 67rpx;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.lj-info {
|
|
|
width: 148rpx;
|
|
|
flex-grow: 1;
|
|
@@ -332,7 +390,7 @@ page {
|
|
|
color: #ffffff;
|
|
|
line-height: 67rpx;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.lj-copy {
|
|
|
flex-shrink: 0;
|
|
|
width: 148rpx;
|
|
@@ -345,19 +403,36 @@ page {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-.tj-look {
|
|
|
- width: 450rpx;
|
|
|
- height: 75rpx;
|
|
|
- background: linear-gradient(0deg, #ff7206, #ffdd7e);
|
|
|
- box-shadow: 0px 2rpx 8rpx 0px rgba(207, 126, 57, 0.7);
|
|
|
- border-radius: 38rpx;
|
|
|
- margin: 55rpx auto 0;
|
|
|
- font-size: 36rpx;
|
|
|
- font-family: zihun164hao-fangyuehei;
|
|
|
- font-weight: bold;
|
|
|
- color: #ffffff;
|
|
|
- line-height: 75rpx;
|
|
|
- text-align: center;
|
|
|
+.bottom {
|
|
|
+ padding-top: 182rpx;
|
|
|
+ position: relative;
|
|
|
+ width: 750rpx;
|
|
|
+ height: 434rpx;
|
|
|
+ margin-top: -118rpx;
|
|
|
+ .bottom-bg {
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+ height: 100%;
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ .btn {
|
|
|
+ position: relative;
|
|
|
+ z-index: 3;
|
|
|
+ margin: 0 auto;
|
|
|
+ width: 450rpx;
|
|
|
+ height: 76rpx;
|
|
|
+ background: linear-gradient(0deg, #ff7206, #ffdd7e);
|
|
|
+ box-shadow: 0px 2px 8px 0px rgba(207, 126, 57, 0.7);
|
|
|
+ border-radius: 38rpx;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 76rpx;
|
|
|
+ font-size: 36rpx;
|
|
|
+ font-family: zihun164hao-fangyuehei;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #ffffff;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
.yj-wrap {
|
|
@@ -452,18 +527,27 @@ page {
|
|
|
}
|
|
|
|
|
|
.yj-info-scroll {
|
|
|
- // touch-action: none;
|
|
|
width: 582rpx;
|
|
|
height: 320rpx;
|
|
|
-
|
|
|
- // background-color: red;
|
|
|
.yj-info {
|
|
|
font-size: 28rpx;
|
|
|
font-family: PingFang SC;
|
|
|
font-weight: bold;
|
|
|
color: #ffffff;
|
|
|
line-height: 38rpx;
|
|
|
+ .address {
|
|
|
+ width: 60%;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+.popup-x {
|
|
|
+ margin: 62rpx auto 0;
|
|
|
+ width: 66rpx;
|
|
|
+ height: 66rpx;
|
|
|
+ image {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|