lyqu 4 anos atrás
pai
commit
1af1feabbd

+ 10 - 8
common/http/http.api.js

@@ -4,7 +4,7 @@ let wxInfoUrl = {
 }
 
 //文件上传
-const uploadFile={
+const uploadFile = {
 	submit:p => http.upload('/putObject', {name:'file',filePath:p}),
 }
 
@@ -22,7 +22,7 @@ let userUrl = {
 	detailUrl: '/cyzh-loginUser/loginuser/detail',
 	submitUrl: '/cyzh-loginUser/loginuser/submit',
 	userAddress:'/cyzh-userAddress/useraddress/list',
-	userAddressSubmit:'/cyzh-userAddress/useraddress/submit'
+	userAddressSubmit: '/cyzh-userAddress/useraddress/submit'
 }
 
 let pointsUrl = {
@@ -33,13 +33,14 @@ let boostUrl = {
 	listUrl: '/cyzh-helpRecord/helprecord/list2'
 }
 
-let productionUrl={
-	list:'cyzh-production/production/list'
+let productionUrl = {
+	listUrl: 'cyzh-production/production/list',
+	detailUrl: 'cyzh-production/production/detail'
 }
 
-let goodsUrl={
-	getMineGoods:'cyzh_userGoods/usergoods/list',
-	donate:'cyzh_userGoods/usergoods/donate'
+let goodsUrl = {
+	getMineGoods: 'cyzh_userGoods/usergoods/list',
+	donate: 'cyzh_userGoods/usergoods/donate'
 }
 
 // 此处第二个参数vm,就是我们在页面使用的this,你可以通过vm获取vuex等操作,更多内容详见uView对拦截器的介绍部分:
@@ -75,7 +76,8 @@ const install = (Vue, vm) => {
 	}
 	
 	let production = {
-		list:(params = {}) => vm.$u.get(productionUrl.list, params),
+		list:(params = {}) => vm.$u.get(productionUrl.listUrl, params),
+		detail:(params = {}) => vm.$u.get(productionUrl.detailUrl, params),
 	}
 	
 	let goods = {

+ 2 - 2
common/utils/global.js

@@ -1,6 +1,6 @@
 let global = {
-	// baseUrl: 'https://vote.guosen-fumao.cn/ldt/api'
-	baseUrl: 'http://192.168.1.168:9612'
+	baseUrl: 'https://vote.guosen-fumao.cn/ldt/api'
+	// baseUrl: 'http://192.168.1.168:9612'
 }
 
 export default global

+ 26 - 18
components/homeViews/mine-view.vue

@@ -54,18 +54,22 @@
 		</view>
 		<view class="container">
 			<block v-for="(item, index) in iconList" :key="index">
-				<view class="padding" v-if="item.name == '分割线'">
-					<u-line color="#d3d3d3"></u-line>
-				</view>
-				<view class="flex justify-between align-center padding" @click="navByIcon(item.url)" v-else>
-					<view class="flex align-center">
-						<view class="flex align-center" style="width: 38rpx;height: 38rpx;">
-							<image :src="item.icon" :style="{width: item.width, height: item.height}"></image>
+				<block v-if="item.name == '分割线'">
+					<view class="padding">
+						<u-line color="#d3d3d3"></u-line>
+					</view>
+				</block>
+				<block v-else>
+					<view class="flex justify-between align-center padding" @click="navByIcon(item.url)" v-if="item.show">
+						<view class="flex align-center">
+							<view class="flex align-center" style="width: 38rpx;height: 38rpx;">
+								<image :src="item.icon" :style="{width: item.width, height: item.height}"></image>
+							</view>
+							<view class="text-black text-bold text-lg padding-left">{{item.name}}</view>
 						</view>
-						<view class="text-black text-bold text-lg padding-left">{{item.name}}</view>
+						<view class="cuIcon-right"></view>
 					</view>
-					<view class="cuIcon-right"></view>
-				</view>
+				</block>
 			</block>
 		</view>
 	</view>
@@ -85,16 +89,20 @@
 				userId: '',
 				userData: {},
 				isLogin: true,
+				isAgency: false,
 				iconList: [
-					{name: '我的礼品', icon: '/static/icon-gift.png', width: '36upx', height: '33upx', url: '/pages/activityList/mine/myGift'},
-					{name: '我的音乐', icon: '/static/icon-music.png', width: '33upx', height: '32upx', url: '/pages/activityList/mine/myMusic'},
-					// {name: '我的奖金', icon: '/static/icon-awards.png', width: '29upx', height: '38upx', url: '/pages/activityList/mine/myAwards'},
-					{name: '我的助力', icon: '/static/icon-history.png', width: '32upx', height: '32upx', url: '/pages/activityList/mine/myBoost'},
-					{name: '我的公益', icon: '/static/icon-welfare.png', width: '31upx', height: '31upx', url: '/pages/activityList/mine/myWelfare'},
+					{name: '我的礼品', icon: '/static/icon-gift.png', width: '36upx', height: '33upx', url: '/pages/activityList/mine/myGift', show: true},
+					{name: '我的音乐', icon: '/static/icon-music.png', width: '33upx', height: '32upx', url: '/pages/activityList/mine/myMusic', show: true},
+					{name: '我的助力', icon: '/static/icon-history.png', width: '32upx', height: '32upx', url: '/pages/activityList/mine/myBoost', show: true},
+					{name: '我的公益', icon: '/static/icon-welfare.png', width: '31upx', height: '31upx', url: '/pages/activityList/mine/myWelfare', show: true},
 					{name: '分割线', icon: '', width: '', height: '', url: ''},
-					{name: '花积分', icon: '/static/icon-mall.png', width: '30upx', height: '26upx', url: ''},
-					{name: '更多活动', icon: '/static/icon-activity.png', width: '26upx', height: '31upx', url: ''},
-					{name: '活动规则', icon: '/static/icon-rule.png', width: '29upx', height: '33upx', url: ''}
+					{name: '成为代理', icon: '/static/icon-agency.png', width: '33upx', height: '32upx', url: '/pages/activityList/mine/agent/agentDetail', show: true},
+					{name: '去推广', icon: '/static/icon-promote.png', width: '31upx', height: '30upx', url: '/pages/activityList/mine/agent/promote', show: true},
+					{name: '我的推广', icon: '/static/icon-myPromote.png', width: '29upx', height: '30upx', url: '/pages/activityList/mine/agent/myPromote', show: true},
+					{name: '我的收益', icon: '/static/icon-income.png', width: '24upx', height: '34upx', url: '/pages/activityList/mine/agent/myIncome/myIncome', show: true},
+					{name: '花积分', icon: '/static/icon-mall.png', width: '30upx', height: '26upx', url: '', show: true},
+					{name: '更多活动', icon: '/static/icon-activity.png', width: '26upx', height: '31upx', url: '', show: true},
+					{name: '活动规则', icon: '/static/icon-rule.png', width: '29upx', height: '33upx', url: '', show: true}
 				],
 			}
 		},

+ 64 - 0
pages.json

@@ -153,6 +153,70 @@
             }
             
         }
+        ,{
+            "path" : "pages/activityList/mine/agent/agent",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "填写资料"
+            }
+            
+        }
+        ,{
+            "path" : "pages/activityList/mine/agent/pay",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "支付页面"
+            }
+            
+        }
+        ,{
+            "path" : "pages/activityList/mine/agent/promote",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "去推广"
+            }
+            
+        }
+        ,{
+            "path" : "pages/activityList/mine/agent/myPromote",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "我的推广"
+            }
+            
+        }
+        ,{
+            "path" : "pages/activityList/mine/agent/myIncome/myIncome",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "我的收益"
+            }
+            
+        }
+        ,{
+            "path" : "pages/activityList/mine/agent/myIncome/todayIncome",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "今日收益"
+            }
+            
+        }
+        ,{
+            "path" : "pages/activityList/mine/agent/myIncome/detail",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "收益详情"
+            }
+            
+        }
+        ,{
+            "path" : "pages/activityList/mine/agent/agentDetail",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": ""
+            }
+            
+        }
     ],
 	"globalStyle": {
 		"navigationStyle": "custom",

+ 22 - 10
pages/activityList/activity/hot.vue

@@ -5,7 +5,7 @@
 		</view>
 		<block v-for="(item, index) in hotList" :key="index">
 			<u-line color="#e8e8e8"></u-line>
-			<view class="padding-sm flex justify-between align-center bg-white" @click="navWithParm">
+			<view class="padding-sm flex justify-between align-center bg-white" @click="navWithParm(item.loginWebVO.id)">
 				<view class="flex justify-around align-center">
 					<view class="padding-right text-center text-black text-bold" style="width: 60upx;">{{item.loginWebVO.rank}}</view>
 					<view class="padding-right">
@@ -13,7 +13,7 @@
 					</view>
 					<view>
 						<view class="text-bold text-black">{{item.loginWebVO.nickName}}</view>
-						<view class="margin-tb-xs">{{item.loginWebVO.totalHotValue}} 热力值</view>
+						<view class="margin-tb-xs">{{+item.totalHotValue}} 热力值</view>
 					</view>
 				</view>
 				<view class="padding-right">
@@ -24,6 +24,9 @@
 				</view>
 			</view>
 		</block>
+		<view style="height: 80rpx;" v-if="status">
+			<u-divider bgColor="#f1f1f1;"  height="80">到底了</u-divider>
+		</view>
 	</view>
 </template>
 
@@ -35,26 +38,35 @@
 		},
 		data() {
 			return {
+				activityId: '',
 				hotList: [],
+				current: 1,
+				size: 30,
+				status: false,
 			}
 		},
 		onLoad(options) {
-			this.getRankList(options.activityId);
+			this.activityId = options.activityId;
+			this.getRankList();
 		},
 		onReachBottom() {
-			console.log("到底了")
+			if (this.hotList.length < this.current * this.size) {
+				this.status = true;
+			} else {
+				this.current += 1;
+				this.getRankList();
+			}
 		},
 		methods: {
-			getRankList(id) {
-				this.$u.api.activity.rankList({activityId: id}).then(res => {
-					console.log(res);
-					this.hotList = res.records;
+			getRankList() {
+				this.$u.api.activity.rankList({activityId: this.activityId, size: this.size, current: this.current}).then(res => {
+					this.hotList = [...this.hotList,...res.records];
 				})
 			},
 			//跳转需要带惨方法
-			navWithParm() {
+			navWithParm(id) {
 				uni.navigateTo({
-					url: "/pages/activityList/activity/boost"
+					url: "/pages/activityList/activity/boost?activityId=" + this.activityId + "&receiverId=" + id,
 				})
 			},
 			onSearch(value) {

+ 1 - 1
pages/activityList/activity/signUp.vue

@@ -175,7 +175,7 @@
 						duration: 3000,
 						success: () => {
 							uni.redirectTo({
-								url: '/pages/activityList/mine/introduction?detail='+JSON.stringify(res)
+								url: '/pages/activityList/mine/introduction?id=' + res.id
 							})
 						}
 					})

+ 104 - 0
pages/activityList/mine/agent/agent.vue

@@ -0,0 +1,104 @@
+<template>
+	<view>
+		<view class="container">
+			<view class="title" style="padding: 50upx 0 30upx 30upx;">代理方式</view>
+			<view class="flex justify-around align-center padding-bottom">
+				<view class="flex align-center" @click="current = 0">
+					<view class="padding-right-xs" :class="current == 0 ? 'cuIcon-roundcheck theme-color' : 'cuIcon-round'" style="font-size: 36upx;"></view>
+					<view>独家代理</view>
+				</view>
+				<view class="flex align-center" @click="current = 1">
+					<view class="padding-right-xs" :class="current == 1 ? 'cuIcon-roundcheck theme-color' : 'cuIcon-round'" style="font-size: 36upx;"></view>
+					<view>渠道合伙人</view>
+				</view>
+			</view>
+			<view class="title padding-left padding-bottom">所在城市</view>
+			<u-picker mode="region" v-model="regionShow" :params="params" @confirm="getRegion"></u-picker>
+			<view class="flex align-center justify-between padding-bottom-sm" @click="regionShow = true">
+				<view class=" padding-left" :class="region.startsWith('请') ? 'eg': ''">
+					 {{region}}
+				</view>
+				<view class="cuIcon-right padding-right"></view>
+			</view>
+			<view class="padding-lr"><u-line color="#eaeaea"></u-line></view>
+			<view class="title padding">代理人姓名</view>
+			<view class="padding-left">
+				<u-input v-model="name" placeholder="请输入姓名" :clearable="false" />
+			</view>
+			<view class="padding-lr"><u-line color="#eaeaea"></u-line></view>
+			<view class="title padding">联系方式</view>
+			<view class="padding-left">
+				<u-input v-model="phone" placeholder="请输入手机号码" :clearable="false" />
+			</view>
+			<view class="padding-lr"><u-line color="#eaeaea"></u-line></view>
+			<view class="title padding">收款账户</view>
+			<view class="padding-left">
+				<u-input v-model="account" placeholder="请输入银行卡号" :clearable="false" />
+			</view>
+			<view class="padding-lr"><u-line color="#eaeaea"></u-line></view>
+			<view class="title padding">开户行名称</view>
+			<view class="padding-left">
+				<u-input v-model="bank" placeholder="请输入开户行名称" :clearable="false" />
+			</view>
+			<view class="padding-lr padding-bottom"><u-line color="#eaeaea"></u-line></view>
+		</view>
+		<view class="footer-fixed padding-lg">
+			<u-button class="custom-style" shape="circle" @click="confirm">确认并提交</u-button>
+		</view>
+	</view>
+</template>
+
+<script>
+	import citySelect from '@/components/basic/u-city-select.vue';
+	export default {
+		components: {
+			citySelect
+		},
+		data() {
+			return {
+				current: 0,
+				name: '',
+				phone: '',
+				account: '',
+				bank: '',
+				regionShow: false,
+				region: '请选择代理所在城市',
+				params: {
+					province: true,
+					city: true,
+					area: false
+				}
+			}
+		},
+		methods: {
+			getRegion(data) {
+				this.region = data.province.label + '-' + data.city.label;
+			},
+			confirm() {
+				uni.redirectTo({
+					url: '/pages/activityList/mine/agent/pay'
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.container {
+		background-color: #ffffff;
+		border-radius: 16upx;
+		margin: 30upx;
+		.title {
+			font-size: 32upx;
+			font-weight: bold;
+		}
+	}
+	.eg {
+		color: #d1d1d1;
+	}
+	.custom-style {
+		background-color: #5b3ee7;
+		width: 400upx;
+		color: #ffffff;
+	}
+</style>

+ 29 - 0
pages/activityList/mine/agent/agentDetail.vue

@@ -0,0 +1,29 @@
+<template>
+	<view>
+		<u-image :src="src" mode="widthFix"></u-image>
+		<view class="footer-fixed padding" style="background-color: #5034c5;">
+			<button class="cu-btn round theme-color" style="width: 100%;height: 100upx;font-size: 36upx;background-color: #f9b12b;" @click="nav">加入代理</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				src: 'https://upload-file-data.obs.cn-south-1.myhuaweicloud.com/ef5fac0b92ee4836811475903aab0144-代理说明详情.jpg'
+			}
+		},
+		methods: {
+			nav() {
+				uni.navigateTo({
+					url: "agent"
+				})
+			}
+		}
+	}
+</script>
+
+<style>
+
+</style>

+ 62 - 0
pages/activityList/mine/agent/myIncome/detail.vue

@@ -0,0 +1,62 @@
+<template>
+	<view>
+		<view class="text-center" style="margin: 80upx;">
+			<image src="/static/agent/icon-withdraw.png" style="width: 120upx;height: 120upx;"></image>
+			<view class="text-lg text-black text-bold padding">代理收益</view>
+			<view class="text-black text-bold" style="font-size: 60upx;">+2666.00</view>
+		</view>
+		<view class="margin-lg">
+			<u-line :hair-line="false" color="#eeeeee"></u-line>
+		</view>
+		<view class="flex align-center" style="padding: 20upx 40upx;">
+			<view class="text-gray padding-right">当前状态</view>
+			<view class="text-black">{{detail.status}}</view>
+		</view>
+		<view class="flex align-center" style="padding: 20upx 40upx;">
+			<view class="text-gray padding-right">收益详情</view>
+			<view class="theme-color">{{detail.type}}</view>
+		</view>
+		<view class="flex align-center" style="padding: 20upx 40upx;">
+			<view class="text-gray padding-right">到账时间</view>
+			<view class="text-black">{{detail.time}}</view>
+		</view>
+		<view class="flex align-center" style="padding: 20upx 40upx;">
+			<view class="text-gray padding-right">支付方式</view>
+			<view class="text-black">{{detail.ways}}</view>
+		</view>
+		<view class="flex align-center" style="padding: 20upx 40upx;">
+			<view class="text-gray padding-right">交易单号</view>
+			<view class="text-black">{{detail.transactionNum}}</view>
+		</view>
+		<view class="flex align-center" style="padding: 20upx 40upx;">
+			<view class="text-gray padding-right">商户单号</view>
+			<view class="text-black">{{detail.storeNum}}</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				detail: {
+					status: '未到账',
+					type: '代理',
+					time: '2021-6-28 17:43:23',
+					ways: '信用卡',
+					transactionNum: '100003980121061400077148917986778',
+					storeNum: '100003980120210647601930343',
+				}
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style>
+	page {
+		background-color: #FFFFFF;
+	}
+</style>

+ 80 - 0
pages/activityList/mine/agent/myIncome/myIncome.vue

@@ -0,0 +1,80 @@
+<template>
+	<view>
+		<view class="flex justify-center align-center bg-white" style="padding-top: 80upx;">
+			<view class="flex justify-center align-center" style="width: 320upx;height: 80upx;background-color: #f6f6f6;border-radius: 12upx;" @click="changeTime">
+				<view class="text-lg text-bold text-black">{{time}}</view>
+				<view class="text-gray padding-lr">|</view>
+				<view class="cuIcon-calendar" style="font-size: 40upx;"></view>
+			</view>
+		</view>
+		<u-picker mode="selector" v-model="timeShow"  :default-selector="[0]" :range="selector" @confirm="confirm"></u-picker>
+		<view class="text-center bg-white">
+			<view class="theme-color text-bold padding-top padding-bottom-xs" style="font-size: 34upx;">推广总收益</view>
+			<view class="theme-color text-bold" style="font-size: 60upx;">88947.01</view>
+			<view class="text-gray padding-sm" style="font-size: 34upx;">未到账2671.49</view>
+		</view>
+		<view class="flex justify-center align-center bg-white padding-bottom" @click="todayIncome">
+			<view class="flex justify-center theme-color text-bold" style="width: 220upx;line-height: 60upx;background-color: #f6f6f6;border-radius: 12upx;">
+				<text>今日收益</text><text class="cuIcon-right"></text>
+			</view>
+		</view>
+		<view class="margin-top bg-white">
+			<view class="padding">{{time}}收益记录</view>
+			<block v-for="(item, index) in incomeList" :key="index">
+				<view class="flex justify-between align-center padding" @click="detail(item.id)">
+					<view class="flex align-center">
+						<view class="text-center" style="width: 30upx;">{{index + 1}}</view>
+						<image class="margin-lr" src="/static/agent/icon-withdraw.png" style="width: 70upx;height: 70upx;"></image>
+						<view>{{item.type}}</view>
+					</view>
+					<view>
+						<view class="text-bold text-lg margin-bottom-xs text-black flex justify-end">+{{item.income}}</view>
+						<view class="text-gray text-sm flex justify-end">{{item.time}}</view>
+					</view>
+				</view>
+			</block>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				timeShow: false,
+				time: '2021年6月',
+				selector: ['2021年6月', '2021年5月', '2021年4月', '2021年3月', '2021年2月', '2021年1月'],
+				incomeList: [
+					{type: '代理收益', time: '6月11日 10:42', income: '5700.00'},
+					{type: '代理收益', time: '6月11日 10:42', income: '5700.00'},
+					{type: '代理收益', time: '6月11日 10:42', income: '5700.00'},
+					{type: '代理收益', time: '6月11日 10:42', income: '5700.00'},
+					{type: '代理收益', time: '6月11日 10:42', income: '5700.00'},
+					{type: '代理收益', time: '6月11日 10:42', income: '5700.00'}
+				],
+			}
+		},
+		methods: {
+			changeTime() {
+				this.timeShow = true;
+			},
+			confirm(index) {
+				this.time = this.selector[index];
+			},
+			todayIncome() {
+				uni.navigateTo({
+					url: "/pages/activityList/mine/agent/myIncome/todayIncome"
+				})
+			},
+			detail(id) {
+				uni.navigateTo({
+					url: "/pages/activityList/mine/agent/myIncome/detail?id=" + id
+				})
+			}
+		}
+	}
+</script>
+
+<style>
+
+</style>

+ 78 - 0
pages/activityList/mine/agent/myIncome/todayIncome.vue

@@ -0,0 +1,78 @@
+<template>
+	<view>
+		<u-calendar v-model="timeShow" mode="date" @change="change"></u-calendar>
+		<view class="bg-img" style="background-image: url('https://upload-file-data.obs.cn-south-1.myhuaweicloud.com/63a920629c8a4e7dba59625aaeb67158-bg-img.png');width: 105%;height: 530upx;">
+			<view class="flex justify-center align-center" style="padding-top: 80upx;">
+				<view class="flex justify-center text-bold" style="width: 200upx;font-size: 34upx;" @click="current = 0">
+					<view :class="current == 0 ? 'text-white' : 'text-gray'">已到账</view>
+				</view>
+				<view class="flex justify-center text-bold" style="width: 200upx;font-size: 34upx;" @click="current = 1">
+					<view :class="current == 1 ? 'text-white' : 'text-gray'">未到账</view>
+				</view>
+			</view>
+			<view class="text-white text-lg" style="padding: 70upx 40upx;" @click="timeShow = true">
+				<text>{{time}}</text>
+				<text class="padding-left-xs cuIcon-unfold"></text>
+			</view>
+			<view class="text-gray padding-left-lg">收益未到账合计:</view>
+			<view class="text-white text-bold padding-left-lg" style="font-size: 80upx;margin: 30upx 0;">{{total}}</view>
+		</view>
+		<view class="margin-top bg-white">
+			<view class="padding">{{current == 0 ? '到账收益记录' : '未到账记录'}}</view>
+			<block v-for="(item, index) in incomeList" :key="index">
+				<view class="flex justify-between align-center padding" @click="detail(item.id)">
+					<view class="flex align-center">
+						<image class="margin-right" src="/static/agent/icon-withdraw.png" style="width: 70upx;height: 70upx;"></image>
+						<view class="text-bold text-black">{{item.type}}</view>
+					</view>
+					<view>
+						<view class="text-bold text-lg margin-bottom-xs text-black flex justify-end">+{{item.income}}</view>
+						<view class="text-gray text-sm flex justify-end">{{item.time}}</view>
+					</view>
+				</view>
+			</block>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				timeShow: false,
+				current: 0,
+				time: '2021年6月25日',
+				total: 2666.01,
+				incomeList: [
+					{id:'1', type: '代理收益', time: '6月11日 10:42', income: '5700.00'},
+					{id:'2', type: '代理收益', time: '6月11日 10:42', income: '5700.00'},
+					{id:'3', type: '代理收益', time: '6月11日 10:42', income: '5700.00'},
+					{id:'4', type: '代理收益', time: '6月11日 10:42', income: '5700.00'},
+					{id:'5', type: '代理收益', time: '6月11日 10:42', income: '5700.00'},
+					{id:'6', type: '代理收益', time: '6月11日 10:42', income: '5700.00'}
+				],
+			}
+		},
+		onLoad() {
+			this.getLocalDate();
+		},
+		methods: {
+			getLocalDate() {
+				let time = new Date().toLocaleDateString().split('/');
+				this.time = time[0] + '年' + time[1] + '月' + time[2] + '日';
+			},
+			detail(id) {
+				uni.navigateTo({
+					url: '/pages/activityList/mine/agent/myIncome/detail?id=' + id
+				})
+			},
+			change(e) {
+				this.time = e.year + '年' + e.month + '月' + e.day + '日'
+			}
+		}
+	}
+</script>
+
+<style>
+
+</style>

+ 85 - 0
pages/activityList/mine/agent/myPromote.vue

@@ -0,0 +1,85 @@
+<template>
+	<view>
+		<u-sticky h5-nav-height="0">
+			<u-tabs :list="list" inactive-color="#b5b7b6" active-color="#000000" :is-scroll="false" :current="current" @change="change"></u-tabs>
+		</u-sticky>
+		<view class="container" v-show="current == 0">
+			<view class="flex align-center text-center text-sm text-bold padding-sm">
+				<view style="width: 10%">头像</view>
+				<view style="width: 25%">用户名</view>
+				<view style="width: 25%">加入时间</view>
+				<view style="width: 25%">加入方式</view>
+				<view>我的收益</view>
+			</view>
+			<block v-for="(item, index) in userList">
+				<view class="flex align-center text-center padding-sm text-sm text-bold">
+					<view style="width: 10%">
+						<u-avatar :src="item.avatar" size="60"></u-avatar>
+					</view>
+					<view class="text-cut" style="width: 25%">{{item.name}}</view>
+					<view style="width: 25%">{{item.joinTime}}</view>
+					<view style="width: 25%">{{item.type}}</view>
+					<view style="width: 12%;color: #ffaa6c;">¥{{item.income}}</view>
+				</view>
+			</block>
+		</view>
+		<view v-show="current == 1">
+			<block v-for="(item, index) in storeList" :key="index">
+				<view class="container flex align-center">
+					<view class="margin">
+						<u-avatar :src="item.avatar"></u-avatar>
+					</view>
+					<view style="width: 55%;">
+						<view class="text-lg text-black text-bold">{{item.name}}</view>
+						<view class="text-sm margin-tb-xs">加入时间:{{item.joinTime}}</view>
+						<view class="text-sm">加入方式:{{item.type}}</view>
+					</view>
+					<view style="color: #fe9447;font-size: 36upx;font-weight: bold;">¥{{item.income}}</view>
+				</view>
+			</block>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				list: [{
+					name: '推广用户'
+				}, {
+					name: '推广商户'
+				}],
+				current: 0,
+				userList: [
+					{avatar: '/static/avatar.png', name: '德得信赖', joinTime: '2021.05.06', type: '扫描二维码', income: '60'},
+					{avatar: '/static/avatar.png', name: '德芙值信赖', joinTime: '2021.05.06', type: '扫描二维码', income: '60'},
+					{avatar: '/static/avatar.png', name: '德芙值得赖', joinTime: '2021.05.06', type: '扫描二维码', income: '60'},
+					{avatar: '/static/avatar.png', name: '德芙值得信赖', joinTime: '2021.05.06', type: '扫描二维码', income: '60'},
+					{avatar: '/static/avatar.png', name: '德信赖', joinTime: '2021.05.06', type: '扫描二维码', income: '60'},
+					{avatar: '/static/avatar.png', name: '德信赖', joinTime: '2021.05.06', type: '扫描二维码', income: '60'},
+				],
+				storeList: [
+					{avatar: '/static/avatar.png', name: '麦当劳', joinTime: '2021.05.06', type: '扫描二维码', income: '600'},
+					{avatar: '/static/avatar.png', name: '肯德基', joinTime: '2021.05.06', type: '面谈', income: '600'},
+					{avatar: '/static/avatar.png', name: '粒上皇', joinTime: '2021.05.06', type: '洽谈', income: '600'},
+					{avatar: '/static/avatar.png', name: '脉动饮料', joinTime: '2021.05.06', type: '聊天', income: '600'},
+					{avatar: '/static/avatar.png', name: '黄焖鸡米饭', joinTime: '2021.05.06', type: '入股', income: '600'},
+				]
+			}
+		},
+		methods: {
+			change(index) {
+				this.current = index;
+			}
+		}
+	}
+</script>
+
+<style>
+	.container {
+		background-color: #ffffff;
+		margin: 30upx;
+		border-radius: 16upx;
+	}
+</style>

+ 78 - 0
pages/activityList/mine/agent/pay.vue

@@ -0,0 +1,78 @@
+<template>
+	<view>
+		<view class="text-center" style="margin-top: 120upx;">
+			<view class="text-gray text-sm padding">待支付</view>
+			<view class="theme-color">
+				<text style="font-size: 48upx;">¥</text>
+				<text style="font-size: 72upx;">8000</text>
+			</view>
+			<view class="text-black text-lg margin-top">一线城市渠道合伙人-保证金</view>
+		</view>
+		<view class="container">
+			<view style="padding: 40upx 0 30upx 30upx;font-size: 30upx;font-weight: bold;">支付方式</view>
+			<block v-for="(item, index) in ways" :key="index">
+				<view class="flex align-center justify-between padding" @click="change(index)">
+					<view class="flex align-center">
+						<image class="margin-right" :src="item.icon" style="width: 50upx;height: 50upx;"></image>
+						<view>{{item.name}}</view>
+					</view>
+					<view :class="current == index ? 'theme-color cuIcon-roundcheckfill' : 'cuIcon-round'" style="font-size: 40upx;"></view>
+				</view>
+			</block>
+		</view>
+		<view class="footer-fixed padding-lg">
+			<u-button class="custom-style" shape="circle" @click="pay">确认支付</u-button>
+		</view>
+		<u-popup v-model="successShow" mode="center" :mask-close-able="false" width="550" height="500" border-radius="30">		
+			<view class="text-center padding">
+				<image src="/static/agent/pic_agent.png" style="width: 109upx;height: 122upx;"></image>
+				<view style="font-size: 34upx;color: #563ae5;font-weight: bold;padding: 30upx 0 10upx 0;">恭喜您成为代理</view>
+				<view style="font-size: 28upx;color: #999999;padding-bottom: 60upx;">专享代理专属权益</view>
+				<u-button class="custom-style" shape="circle" @click="confirm">确定</u-button>
+			</view>
+		</u-popup>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				successShow: false,
+				ways: [
+					{name: '微信支付', icon: '/static/agent/icon_weixin.png'},
+					{name: '支付宝支付', icon: '/static/agent/icon_zfb.png'},
+					{name: '银行卡支付', icon: '/static/agent/icon_yhk.png'},
+				],
+				current: 0,
+			}
+		},
+		methods: {
+			change(index) {
+				this.current = index;
+			},
+			pay() {
+				console.log("支付")
+				this.successShow = true;
+			},
+			confirm() {
+				uni.navigateBack({
+					delta: 1
+				})
+			}
+		}
+	}
+</script>
+
+<style>
+	.container {
+		background-color: #ffffff;
+		margin: 30upx;
+		border-radius: 20upx;
+	}
+	.custom-style {
+		background-color: #5b3ee7;
+		width: 350upx;
+		color: #ffffff;
+	}
+</style>

+ 22 - 0
pages/activityList/mine/agent/promote.vue

@@ -0,0 +1,22 @@
+<template>
+	<view>
+		<u-image :src="src" mode="widthFix"></u-image>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				src: '/static/agent/promote.png',
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style>
+
+</style>

+ 16 - 5
pages/activityList/mine/introduction.vue

@@ -1,9 +1,14 @@
 <template>
 	<view>
-		<view class="bg-img flex align-center" style="background-image: url('/static/userBgImg.png');height: 450upx;"></view>
+		<block v-if="detail.urlsType == 0">
+			<view class="bg-img flex align-center" :style="[{backgroundImage:'url('+ detail.urls +')'}]" style="height: 450upx;"></view>
+		</block>
+		<block v-else>
+			<view class="bg-img flex align-center" :style="[{backgroundImage:'url('+ detail.cover +')'}]" style="height: 450upx;"></view>
+		</block>
 		<view class="container" style="margin: -60upx 20upx 20upx 20upx;">
 			<view class="text-center">
-				<view class="cu-avatar avatar round" :style="[{backgroundImage:'url('+ detail.cover +')'}]"></view>
+				<view class="cu-avatar avatar round" :style="[{backgroundImage:'url('+ detail.loginWebVO.avatar +')'}]"></view>
 				<view class="padding-tb-xs" style="font-size: 38upx;font-family: PingFang SC;font-weight: 800;color: #222222;">{{detail.personName}}</view>
 				<view class="flex justify-center align-center">
 					<view class="padding-right-sm" style="font-size: 30upx;font-family: PingFang SC;font-weight: 800;color: #222222;">{{+detail.hotValue}}</view>
@@ -42,7 +47,7 @@
 	export default {
 		data() {
 			return {
-				avatar: '/static/avatar.png',
+				productId: '',
 				detail: {},
 				boostList: [
 					{image: '/static/avatar.png', name: '易烊千玺', time: '2021-6-7 10:28:46', type: '打榜', hotValue: '12'},
@@ -56,10 +61,16 @@
 			}
 		},
 		onLoad(options) {
-			this.detail= JSON.parse(options.detail);
+			this.productId = options.id;
+			this.getProductInfo();
 		},
 		methods: {
-			
+			getProductInfo() {
+				this.$u.api.production.detail({id: this.productId}).then(res => {
+					console.log(res);
+					this.detail = res;
+				})
+			}
 		}
 	}
 </script>

BIN
static/agent/icon-withdraw.png


BIN
static/agent/icon_weixin.png


BIN
static/agent/icon_yhk.png


BIN
static/agent/icon_zfb.png


BIN
static/agent/pic_agent.png


BIN
static/agent/promote.png


BIN
static/icon-agency.png


BIN
static/icon-income.png


BIN
static/icon-myPromote.png


BIN
static/icon-promote.png