658 lines
22 KiB
Vue
658 lines
22 KiB
Vue
<template>
|
||
<view>
|
||
<view class="top-card relative">
|
||
<NavBar titleText="分销数据"
|
||
textSize="34rpx"
|
||
:isScrolling="isScrolling"
|
||
:iconColor="isScrolling ? '#333333' : '#ffffff'"
|
||
:textColor="isScrolling ? '#333333' : '#ffffff'"
|
||
showBack></NavBar>
|
||
<view class="pt-24">
|
||
<view class="flex items-start pl-66">
|
||
<image :src="userInfo.avatar" class="w-104 h-104 rd-50-p111-"></image>
|
||
<view class="flex-1 flex-between-center pl-16 pt-8">
|
||
<view class="flex-y-center">
|
||
<text class="fs-32 lh-44rpx text-color1 max-w-200 line1">{{userInfo.nickname}}</text>
|
||
<view class="flex-y-center h-40 rd-20rpx fs-20 text--w111-f7f0df opacity-tag px-12"
|
||
@tap="jumbPath(10)">
|
||
<text class="iconfont icon-huiyuandengji fs-24"></text>
|
||
<text class="pl-6">{{ levelInfo.name || '等级未解锁' }}</text>
|
||
</view>
|
||
</view>
|
||
<view class="flex-center qrcode-btn" @tap="createCode(5)" v-if="userInfo.division_type == 2">
|
||
<text class="iconfont icon-a-ic_QRcode fs-28"></text>
|
||
<text class="fs-20 pl-4">推广码</text>
|
||
</view>
|
||
<view class="flex-center qrcode-btn" @tap="jumbPath(5)" v-else>
|
||
<text class="iconfont icon-a-ic_QRcode fs-28"></text>
|
||
<text class="fs-20 pl-4">推广码</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="px-20">
|
||
<view class="w-full relative vip-card px-32" :style="[vipCardStyle]">
|
||
<view class="flex-between-center pt-60">
|
||
<view class="text-color1">
|
||
<view class="fs-28 lh-40rpx flex-y-center">可提现金额(元)
|
||
<text class="iconfont icon-icon_question_2 fs-28" @tap="jumbPath(11)"></text>
|
||
</view>
|
||
<view class="flex-y-center pt-18" @tap="jumbPath(6)">
|
||
<view class="fs-60 SemiBold">{{ userInfo.commissionCount || '0.00' }}</view>
|
||
<text class="iconfont icon-ic_rightarrow fs-28 pl-10"></text>
|
||
</view>
|
||
</view>
|
||
<view class="gradient-gold w-128 h-58 flex-center rd-30rpx fs-24 fw-500" @tap="jumbPath(0)">去提现</view>
|
||
</view>
|
||
<view class="pt-40 flex-between-center">
|
||
<view class="flex-col">
|
||
<text class="fs-24 text--w111-fff lh-34rpx op-60">累计佣金(元)</text>
|
||
<text class="SemiBold fs-34 pt-8 text-color1">{{ userInfo.accumulate || '0.00' }}</text>
|
||
</view>
|
||
<view class="flex-col">
|
||
<text class="fs-24 text--w111-fff lh-34rpx op-60">已提现(元)</text>
|
||
<text class="SemiBold fs-34 pt-8 text-color1">{{withdraw}}</text>
|
||
</view>
|
||
<view class="flex-col">
|
||
<text class="fs-24 text--w111-fff lh-34rpx op-60">冻结佣金(元)</text>
|
||
<text class="SemiBold fs-34 pt-8 text-color1">{{ userInfo.broken_commission || '0.00' }}</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="px-20 relative content-box mt-20">
|
||
<view class="w-full bg--w111-fff rd-24rpx px-24">
|
||
<view class="flex-between-center pt-32" @tap="jumbPath(8)">
|
||
<view class="fs-28 fw-500 lh-40rpx">订单收益明细</view>
|
||
<text class="iconfont icon-ic_rightarrow fs-22 text--w111-666"></text>
|
||
</view>
|
||
<view class="mt-28 w-full h-60 rd-30rpx flex-between-center bg-gold-1">
|
||
<view class="tab-item tab-item1 flex-center" :class="orderActive == 0 ? 'tab-active' : 'have-line'" @tap="setTime('all',1)">全部</view>
|
||
<view class="tab-item tab-item1 flex-center" :class="orderActive == 1 ? 'tab-active' : 'have-line'" @tap="setTime('today',1)">今日</view>
|
||
<view class="tab-item tab-item1 flex-center" :class="orderActive == 2 ? 'tab-active' : 'have-line'" @tap="setTime('yesterday',1)">昨日</view>
|
||
<view class="tab-item tab-item1 flex-center" :class="orderActive == 3 ? 'tab-active' : 'have-line'" @tap="setTime('seven',1)">近七天</view>
|
||
</view>
|
||
<view class="mt-8 pl-12">
|
||
<view class="data-cell w-full flex-between-center py-32">
|
||
<view>已返佣</view>
|
||
<view class="flex-col">
|
||
<text class="fs-36 SemiBold">{{orderData.order_count}}</text>
|
||
<text class="fs-22 lh-30rpx pt-12 text--w111-666">订单数</text>
|
||
</view>
|
||
<view class="flex-col w-120">
|
||
<text class="fs-36 SemiBold">{{orderData.brokerage}}</text>
|
||
<text class="fs-22 lh-30rpx pt-12 text--w111-666">获得佣金</text>
|
||
</view>
|
||
<text></text>
|
||
<!-- <text class="iconfont icon-ic_rightarrow fs-22 text--w111-666"></text> -->
|
||
</view>
|
||
<view class="data-cell w-full flex-between-center py-32">
|
||
<view>未返佣</view>
|
||
<view class="flex-col">
|
||
<text class="fs-36 SemiBold">{{orderData.no_order_count}}</text>
|
||
<text class="fs-22 lh-30rpx pt-12 text--w111-666">订单数</text>
|
||
</view>
|
||
<view class="flex-col w-120">
|
||
<text class="fs-36 SemiBold">{{orderData.no_brokerage}}</text>
|
||
<text class="fs-22 lh-30rpx pt-12 text--w111-666">获得佣金</text>
|
||
</view>
|
||
<text></text>
|
||
<!-- <text class="iconfont icon-ic_rightarrow fs-22 text--w111-666"></text> -->
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="w-full bg--w111-fff rd-24rpx px-24 mt-20">
|
||
<view class="pt-32 fs-28 fw-500 lh-40rpx">数据统计</view>
|
||
<view class="mt-28 w-full h-60 rd-30rpx flex-between-center bg-gold-1">
|
||
<view class="tab-item tab-item1 flex-center" :class="viewActive == 0 ? 'tab-active' : 'have-line'" @tap="setTime('all',2)">全部</view>
|
||
<view class="tab-item tab-item1 flex-center" :class="viewActive == 1 ? 'tab-active' : 'have-line'" @tap="setTime('today',2)">今日</view>
|
||
<view class="tab-item tab-item1 flex-center" :class="viewActive == 2 ? 'tab-active' : 'have-line'" @tap="setTime('yesterday',2)">昨日</view>
|
||
<view class="tab-item tab-item1 flex-center" :class="viewActive == 3 ? 'tab-active' : 'have-line'" @tap="setTime('seven',2)">近七天</view>
|
||
</view>
|
||
<view class="mt-40 grid-column-3 grid-gap-y-48rpx pb-32">
|
||
<view class="w-full flex-col pl-12" v-for="(item, index) in statistics" :key="index">
|
||
<text class="fs-36 SemiBold" >{{item.value}}</text>
|
||
<!-- <baseMoney :money="item.value" symbolSize="24" integerSize="36" decimalSize="36" color="#333333" weight v-else></baseMoney> -->
|
||
<view class="flex-y-center text--w111-666 pt-12">
|
||
<text class="fs-22 lh-30rpx">{{item.name}}</text>
|
||
<!-- <text class="iconfont icon-ic_rightarrow fs-22"></text> -->
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="w-full bg--w111-fff rd-24rpx px-24 mt-20">
|
||
<view class="pt-32 fs-28 fw-500 lh-40rpx">用户贡献榜单</view>
|
||
<view class="mt-28 w-full h-60 rd-30rpx flex-between-center bg-gold-1">
|
||
<!-- -->
|
||
<view class="tab-item tab-item2 flex-center"
|
||
:class="contributeType == 'order_count' ? 'tab-active' : 'have-line'" @tap="toggleContribute('order_count')">订单数</view>
|
||
<view class="tab-item tab-item2 flex-center"
|
||
:class="contributeType == 'order_price' ? 'tab-active' : 'have-line'" @tap="toggleContribute('order_price')">订单金额</view>
|
||
<view class="tab-item tab-item2 flex-center"
|
||
:class="contributeType == 'brokerage' ? 'tab-active' : 'have-line'" @tap="toggleContribute('brokerage')">收益</view>
|
||
</view>
|
||
<view class="py-32" v-show="contributeData.length">
|
||
<view class="flex-between-center fs-22 lh-30rpx text--w111-666 pl-12 mb-28">
|
||
<text class="w-44">排名</text>
|
||
<text class="w-128">用户</text>
|
||
<text class="w-66">订单数</text>
|
||
<text class="w-108">订单金额</text>
|
||
<text class="w-108">收益</text>
|
||
</view>
|
||
<view class="flex-between-center rank-cell fs-22 lh-30rpx text--w111-333 pl-12"
|
||
v-for="(item,index) in contributeData" :key="index">
|
||
<view class="fs-26 w-44">
|
||
<text class="w-44 SemiBold rank-1" v-show="index == 0">1</text>
|
||
<text class="w-44 SemiBold rank-2" v-show="index == 1">2</text>
|
||
<text class="w-44 SemiBold rank-3" v-show="index == 2">3</text>
|
||
<text class="w-44 SemiBold text--w111-ccc" v-show="index > 2">{{ index + 1 }}</text>
|
||
</view>
|
||
<text class="w-128 line1">{{ item.nickname || '微信用户' }}</text>
|
||
<text class="w-66">{{ item.total_order_count }}</text>
|
||
<text class="w-108">¥{{ item.total_order_price }}</text>
|
||
<text class="w-108">¥{{ item.total_brokerage }}</text>
|
||
</view>
|
||
<view class="flex-center pt-40 text--w111-333" @tap="jumbPath(13)">
|
||
<text class="fs-24">查看更多</text>
|
||
<text class="iconfont icon-ic_rightarrow fs-24"></text>
|
||
</view>
|
||
</view>
|
||
<view class="py-32" v-show="!contributeData.length">
|
||
<emptyPage title="暂无贡献榜单数据~" src="/statics/images/noOrder.gif"></emptyPage>
|
||
</view>
|
||
</view>
|
||
<view class="w-full bg--w111-fff rd-24rpx px-24 mt-20">
|
||
<view class="pt-32 fs-28 fw-500 lh-40rpx">我的团队</view>
|
||
<!-- 团队 代理商 员工 我的推广 -->
|
||
<!-- 代理商 员工 我的团队 -->
|
||
<!-- 普通用户 员工 一级分销 二级分销 -->
|
||
<view class="mt-28 w-full h-60 rd-30rpx flex-between-center bg-gold-1" v-if="brokerageLevel == 2 || promoterType == 1">
|
||
<view class="tab-item tab-item3 flex-center"
|
||
:class="{'tab-active': teamParams.grade == 0}"
|
||
@tap="toggleTeam(0)">{{ promoterType ? '代理商' : '一级分销' }}</view>
|
||
<view class="tab-item tab-item3 flex-center"
|
||
:class="{'tab-active': teamParams.grade == 1}"
|
||
@tap="toggleTeam(1)">{{ promoterType ? '员工' : '二级分销' }}</view>
|
||
</view>
|
||
<view class="mt-28 w-full h-70 rd-12rpx team-grident pl-20 flex-y-center">
|
||
<text class="title-line"></text>
|
||
<text class="fs-24 fw-500 lh-34rpx pl-16">团队数据</text>
|
||
</view>
|
||
<view class="mt-32 grid-column-4">
|
||
<view class="w-full flex-col pl-16" v-for="(item, index) in teamStatistics" :key="index">
|
||
<text class="fs-36 SemiBold" v-if="item.type == 1">{{item.num}}</text>
|
||
<baseMoney :money="item.num" symbolSize="24" integerSize="36" decimalSize="36" color="#333333" weight v-else></baseMoney>
|
||
<view class="text--w111-666 pt-12 fs-22 lh-30rpx">{{item.label}}</view>
|
||
</view>
|
||
</view>
|
||
<view class="mt-32 w-full h-70 rd-12rpx team-grident pl-20 flex-y-center">
|
||
<text class="title-line"></text>
|
||
<text class="fs-24 fw-500 lh-34rpx pl-16">团队成员</text>
|
||
</view>
|
||
<view class="py-32" v-show="teamList.length">
|
||
<view class="flex-between-center fs-22 lh-30rpx text--w111-666 pl-12 mb-28">
|
||
<text class="w-176">成员</text>
|
||
<text class="w-88">推广人数</text>
|
||
<text class="w-108">订单数</text>
|
||
<text class="w-108">消费金额</text>
|
||
</view>
|
||
<view class="flex-between-center rank-cell fs-22 lh-30rpx text--w111-666 pl-12"
|
||
v-for="(item,index) in teamList" :key="index">
|
||
<view class="w-176 flex-y-center">
|
||
<image class="w-40 h-40 rd-50-p111- block mr-8" :src="item.avatar"></image>
|
||
<text class="w-128 line1">{{item.nickname}}</text>
|
||
</view>
|
||
<text class="w-88">{{item.childCount ? item.childCount : 0}}</text>
|
||
<text class="w-108">{{item.orderCount ? item.orderCount : 0}}</text>
|
||
<text class="w-108">{{item.numberCount ? item.numberCount : 0}}</text>
|
||
</view>
|
||
<view class="flex-center pt-40" @tap="jumbPath(9)">
|
||
<text class="fs-24">查看更多</text>
|
||
<text class="iconfont icon-ic_rightarrow fs-24"></text>
|
||
</view>
|
||
</view>
|
||
<view v-show="!teamList.length">
|
||
<emptyPage title="暂无团队据~" src="/statics/images/noOrder.gif"></emptyPage>
|
||
</view>
|
||
</view>
|
||
<view class="w-full bg--w111-fff rd-24rpx px-24 mt-20">
|
||
<view class="pt-32 fs-28 fw-500 lh-40rpx">分销榜单</view>
|
||
<view class="mt-28 w-full h-60 rd-30rpx flex-between-center bg-gold-1">
|
||
<view class="tab-item tab-item3 flex-center" :class="{'tab-active': rankTab == 0}" @tap="toggleRank(0)">佣金榜单</view>
|
||
<view class="tab-item tab-item3 flex-center" :class="{'tab-active': rankTab == 1}" @tap="toggleRank(1)">推广人榜单</view>
|
||
</view>
|
||
<view v-if="rankList.length">
|
||
<view class="mt-32">
|
||
<view class="flex-between-center rank2-cell" v-for="(item,index) in rankList" :key="index">
|
||
<view class="flex-y-center">
|
||
<image :src="'../static/no'+(index + 1)+'.png'" class="w-64 h-64 block mr-28"></image>
|
||
<image :src="item.avatar" class="w-80 h-80 rd-50-p111-"></image>
|
||
<view class="w-164 line1 lh-40rpx fs-28 lh-40rpx ml-24">{{item.nickname}}</view>
|
||
</view>
|
||
<view class="fs-28 lh-40rpx" v-show="rankTab == 0">¥{{item.brokerage_price || ''}}</view>
|
||
<view class="fs-28 lh-40rpx" v-show="rankTab == 1">{{item.count || ''}}人</view>
|
||
</view>
|
||
</view>
|
||
<view class="flex-center py-32" @tap="jumbPath(rankTab ? 1 : 2)">
|
||
<text class="fs-24">查看更多</text>
|
||
<text class="iconfont icon-ic_rightarrow fs-24"></text>
|
||
</view>
|
||
</view>
|
||
<view v-else>
|
||
<emptyPage title="暂无排行榜数据哦~" src="/statics/images/noOrder.gif"></emptyPage>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<BaseCode v-if="isCode" :code="code" :codeImg="codeImg" :isShowCode.sync="isCode"></BaseCode>
|
||
</view>
|
||
</template>
|
||
<script>
|
||
import colors from '@/mixins/color.js';
|
||
import {
|
||
agentLevelList,
|
||
spreadPeople,
|
||
getBrokerageRank,
|
||
getRankList,
|
||
spreadOrderIncomeApi,
|
||
spreadOverviewApi,
|
||
spreadContributeApi,
|
||
getAgentCode
|
||
} from "@/api/user.js"
|
||
import { toLogin } from '@/libs/login.js';
|
||
import { mapGetters } from 'vuex';
|
||
import {HTTP_REQUEST_URL} from '@/config/app';
|
||
import home from '@/components/home/index.vue';
|
||
import NavBar from "@/components/NavBar.vue";
|
||
import emptyPage from '@/components/emptyPage.vue';
|
||
import BaseCode from '@/components/BaseCode.vue';
|
||
let sysHeight = uni.getWindowInfo().statusBarHeight;
|
||
export default {
|
||
data() {
|
||
return {
|
||
imgHost: HTTP_REQUEST_URL,
|
||
sysHeight,
|
||
isScrolling: false,
|
||
userInfo:{
|
||
avatar:'',
|
||
nickname:'',
|
||
uid: 0,
|
||
},
|
||
viewActive: 0,
|
||
statistics:[],
|
||
teamStatistics:[
|
||
{ label: '团队人数',num:0,type:1},
|
||
{ label: '推广人数',num:0,type:1},
|
||
{ label: '推广订单数',num:0,type:1},
|
||
{ label: '返佣金额',num:'0.00',type:2},
|
||
],
|
||
levelInfo:{},
|
||
levelList:[],
|
||
teamList: [], //我的团队
|
||
teamParams:{
|
||
page:1,
|
||
limit:10,
|
||
grade: 0
|
||
},
|
||
rankTab: 0,
|
||
rankList: [],
|
||
brokerageLevel: 1, //后台开启的分销等级
|
||
promoterType: 0, //普通分销用户或者事业部成员
|
||
orderActive: 0,
|
||
orderData:{},
|
||
contributeType: 'order_count',
|
||
contributeData:[],
|
||
withdraw: "",
|
||
isCode: false,
|
||
code: "",
|
||
codeImg: ""
|
||
}
|
||
},
|
||
mixins: [colors],
|
||
components: { home, NavBar, emptyPage, BaseCode },
|
||
computed: {
|
||
...mapGetters(['isLogin']),
|
||
vipCardStyle(){
|
||
return {
|
||
backgroundImage: 'url('+this.imgHost+'/statics/images/promoter/spread_data_bg.png'+')'
|
||
}
|
||
},
|
||
cardBgStyle(){
|
||
return {
|
||
backgroundImage: 'url('+this.imgHost+'/statics/images/promoter/spread_black_card.png'+')'
|
||
}
|
||
},
|
||
},
|
||
onPageScroll(option) {
|
||
uni.$emit('scroll');
|
||
if (option.scrollTop > 50) {
|
||
this.isScrolling = true;
|
||
} else if (option.scrollTop < 50) {
|
||
this.isScrolling = false;
|
||
}
|
||
},
|
||
onShow() {
|
||
this.getUserData();
|
||
},
|
||
onLoad() {
|
||
if(this.isLogin){
|
||
// this.getUserData();
|
||
this.getTeamList();
|
||
this.getRankList(0);
|
||
this.getOrderIncome(0,0);
|
||
this.getOverviewData(0,0);
|
||
this.getContribute();
|
||
}else{
|
||
toLogin();
|
||
}
|
||
},
|
||
methods: {
|
||
getUserData() {
|
||
agentLevelList().then((res) => {
|
||
this.userInfo = res.data.user;
|
||
this.promoterType = res.data.user.division_type;
|
||
this.levelInfo = res.data.level_info;
|
||
this.levelList = res.data.level_list;
|
||
}).catch((err) => {
|
||
this.$util.Tips({
|
||
title: err
|
||
});
|
||
});
|
||
},
|
||
toggleTeam(val){
|
||
this.teamParams.grade = val;
|
||
this.teamList = [];
|
||
this.getTeamList();
|
||
},
|
||
getTeamList(){
|
||
spreadPeople(this.teamParams).then(res => {
|
||
this.brokerageLevel = res.data.brokerage_level;
|
||
this.teamList = res.data.list;
|
||
this.teamStatistics[0].num = res.data.count;
|
||
this.teamStatistics[1].num = this.teamParams.grade ? res.data.totalLevel : res.data.total;
|
||
this.teamStatistics[2].num = res.data.order_count;
|
||
this.teamStatistics[3].num = res.data.price.toString();
|
||
}).catch((err) => {
|
||
this.$util.Tips({
|
||
title: err
|
||
});
|
||
});
|
||
},
|
||
getRankList(val){
|
||
let funApi = val == 1 ? getRankList : getBrokerageRank;
|
||
funApi({page:1,limit:3,type:'week'}).then(res=>{
|
||
this.rankList = val ? res.data.list : res.data.rank;
|
||
}).catch((err) => {
|
||
this.$util.Tips({
|
||
title: err
|
||
});
|
||
});
|
||
},
|
||
toggleRank(val){
|
||
this.rankTab = val;
|
||
this.getRankList(val);
|
||
},
|
||
getOrderIncome(start, stop){
|
||
spreadOrderIncomeApi({
|
||
page:1,
|
||
limit:10,
|
||
start,stop
|
||
}).then(res=>{
|
||
this.orderData = res.data;
|
||
}).catch((err) => {
|
||
this.$util.Tips({
|
||
title: err
|
||
});
|
||
});
|
||
},
|
||
setTime(time,type) {
|
||
let self = this
|
||
this.time = time;
|
||
let start = '';
|
||
let stop = '';
|
||
let year = new Date().getFullYear(), month = new Date().getMonth() + 1, day = new Date().getDate();
|
||
switch (time) {
|
||
case "all":
|
||
if(type == 1){
|
||
this.orderActive = 0;
|
||
this.getOrderIncome(0,0);
|
||
}else{
|
||
this.viewActive = 0;
|
||
this.getOverviewData(0,0)
|
||
}
|
||
|
||
break;
|
||
case "today":
|
||
start = new Date(Date.parse(year + "/" + month + "/" + day)).getTime() /1000;
|
||
stop = new Date(Date.parse(year + "/" + month + "/" + day)).getTime() /1000 + 24 * 60 * 60 - 1;
|
||
if(type == 1){
|
||
this.orderActive = 1;
|
||
this.getOrderIncome(start, stop);
|
||
}else{
|
||
this.viewActive = 1;
|
||
this.getOverviewData(start, stop)
|
||
}
|
||
break;
|
||
case "yesterday":
|
||
start = new Date(Date.parse(year + "/" + month + "/" + day)).getTime() / 1000 - 24 * 60 * 60;
|
||
stop = new Date(Date.parse(year + "/" + month + "/" + day)).getTime() / 1000 - 1;
|
||
if(type == 1){
|
||
this.orderActive = 2;
|
||
this.getOrderIncome(start, stop);
|
||
}else{
|
||
this.viewActive = 2;
|
||
this.getOverviewData(start, stop)
|
||
}
|
||
break;
|
||
case "seven":
|
||
start = new Date(Date.parse(year + "/" + month + "/" + day)).getTime() /
|
||
1000 +
|
||
24 * 60 * 60 -
|
||
7 * 3600 * 24;
|
||
stop = new Date(Date.parse(year + "/" + month + "/" + day)).getTime() /
|
||
1000 +
|
||
24 * 60 * 60 -
|
||
1;
|
||
if(type == 1){
|
||
this.orderActive = 3;
|
||
this.getOrderIncome(start, stop);
|
||
}else{
|
||
this.viewActive = 3;
|
||
this.getOverviewData(start, stop)
|
||
}
|
||
break;
|
||
}
|
||
},
|
||
getOverviewData(start,stop){
|
||
spreadOverviewApi({
|
||
page:1,
|
||
limit:10,
|
||
start,stop
|
||
}).then(res=>{
|
||
this.withdraw = res.data[2].value;
|
||
this.statistics = res.data.map(item=>({
|
||
...item,
|
||
type: typeof item.value === 'number' ? 1 : 2
|
||
}));
|
||
}).catch((err) => {
|
||
this.$util.Tips({
|
||
title: err
|
||
});
|
||
});
|
||
},
|
||
getContribute(){
|
||
let params = {
|
||
page:1,
|
||
limit: 5,
|
||
type: this.contributeType
|
||
};
|
||
spreadContributeApi(this.contributeType, params).then(res=>{
|
||
this.contributeData = res.data;
|
||
}).catch((err) => {
|
||
this.$util.Tips({
|
||
title: err
|
||
});
|
||
});
|
||
},
|
||
toggleContribute(val){
|
||
this.contributeType = val;
|
||
this.getContribute();
|
||
},
|
||
//跳转
|
||
jumbPath(type) {
|
||
if (type == 'code') {
|
||
// #ifdef MP
|
||
getAgentCode().then((res) => {
|
||
this.codeImg = res.data.url;
|
||
this.isCode = true;
|
||
});
|
||
// #endif
|
||
// #ifndef MP
|
||
this.code = HTTP_REQUEST_URL + '/pages/users/user_spread_user/index?agent_id=' + this.userInfo.agent_id;
|
||
this.$nextTick((e) => {
|
||
this.isCode = true;
|
||
});
|
||
// #endif
|
||
}
|
||
let path = [
|
||
'/pages/users/user_cash/index',
|
||
'/pages/users/promoter_rank/index',
|
||
'/pages/users/commission_rank/index',
|
||
'/pages/users/user_spread_code/index',
|
||
'/pages/users/user_vip/index',
|
||
'/pages/users/user_spread_code/index',
|
||
'/pages/users/user_spread_money/index?type=1',
|
||
'/pages/users/user_spread_money/index?type=4',
|
||
'/pages/users/promoter-order/index',
|
||
`/pages/users/promoter-list/index${this.userInfo.division_type == 1?'?type=1': ''}`,
|
||
'/pages/users/user_distribution_level/index',
|
||
'/pages/users/user_distribution_info/index',
|
||
'/pages/users/agent/staff_list',
|
||
'/pages/users/spreadData/contributionRank'
|
||
];
|
||
|
||
uni.navigateTo({
|
||
url: path[type]
|
||
});
|
||
},
|
||
createCode(){
|
||
// #ifdef MP
|
||
getAgentCode().then((res) => {
|
||
this.codeImg = res.data.url;
|
||
this.isCode = true;
|
||
});
|
||
// #endif
|
||
// #ifndef MP
|
||
this.code = HTTP_REQUEST_URL + '/pages/users/user_spread_user/index?agent_id=' + this.userInfo.agent_id;
|
||
this.$nextTick((e) => {
|
||
this.isCode = true;
|
||
});
|
||
// #endif
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
<style scoped lang="scss">
|
||
.top-card{
|
||
background: linear-gradient(360deg, #F5F5F5 0%, rgba(28, 26, 27, 0.72) 16%, #353334 28%, #1C1A1B 53%);
|
||
}
|
||
.text-color1{
|
||
color: #FCF0C6;
|
||
}
|
||
.text--w111-f7f0df{
|
||
color: #F7F0DF;
|
||
}
|
||
.max-w-200{
|
||
max-width: 200rpx;
|
||
}
|
||
.op-60{
|
||
opacity: 0.6;
|
||
}
|
||
.opacity-tag{
|
||
background: rgba(255,255,255,0.1);
|
||
margin-left: 8rpx;
|
||
}
|
||
.qrcode-btn{
|
||
width: 126rpx;
|
||
height: 48rpx;
|
||
background: rgba(252,240,198,0.2);
|
||
border-radius: 92rpx 0rpx 0rpx 92rpx;
|
||
color: #FCDD92;
|
||
}
|
||
.vip-card{
|
||
margin-top: -32rpx;
|
||
width: 100%;
|
||
height: 326rpx;
|
||
background-size: contain;
|
||
background-repeat: no-repeat;
|
||
}
|
||
.gradient-gold{
|
||
background: linear-gradient( 270deg, #F7DDA2 0%, #FFF2C3 100%);
|
||
}
|
||
.bg-gold-1{
|
||
background-color: rgba(247, 221, 162, 0.2);
|
||
}
|
||
|
||
.tab-item{
|
||
height: 60rpx;
|
||
font-size: 22rpx;
|
||
color: #666666;
|
||
}
|
||
.tab-item1{
|
||
width: 164rpx;
|
||
}
|
||
.tab-item2{
|
||
width: 220rpx;
|
||
}
|
||
.tab-item3{
|
||
width: 331rpx;
|
||
}
|
||
.tab-active{
|
||
border-radius: 30rpx;
|
||
background: #F9D47C;
|
||
color: #333333;
|
||
font-weight: 500;
|
||
}
|
||
.grid-gap-y-48rpx{
|
||
row-gap: 48rpx;
|
||
}
|
||
.data-cell ~ .data-cell{
|
||
border-top: 2rpx solid #F5F5F5;
|
||
}
|
||
.rank-1{
|
||
color: #E73E05;
|
||
}
|
||
.rank-2{
|
||
color: #E26F04;
|
||
}
|
||
.rank-3{
|
||
color: #F4BB00;
|
||
}
|
||
.rank-cell ~ .rank-cell{
|
||
margin-top: 40rpx;
|
||
}
|
||
.rank2-cell ~ .rank2-cell{
|
||
margin-top: 48rpx;
|
||
}
|
||
.team-grident{
|
||
background: linear-gradient( to right, #F9F9F9 0%, rgba(249,249,249,0) 100%);
|
||
}
|
||
.title-line{
|
||
width: 6rpx;
|
||
height: 22rpx;
|
||
background: #F9D47C;
|
||
border-radius: 3rpx;
|
||
}
|
||
.have-line{
|
||
position: relative;
|
||
}
|
||
.have-line + .have-line::before {
|
||
content: '';
|
||
width: 1px;
|
||
height: 28rpx;
|
||
background-color: rgba(196, 186, 157, 1);
|
||
position: absolute;
|
||
left: -1px;
|
||
top: 16rpx;
|
||
}
|
||
</style> |