hwq 2 years ago
parent
commit
2d724ac7c0

+ 18 - 0
api/hall.js

@@ -44,3 +44,21 @@ export function auction_product(data) {
 		data
 	});
 }
+
+//场次里商品详情
+export function details(data) {
+	return request({
+		url: '/api/auction/details',
+		method: 'get',
+		data
+	});
+}
+
+//查看商品历史记录
+export function belong(data) {
+	return request({
+		url: '/api/auction/belong',
+		method: 'get',
+		data
+	});
+}

+ 6 - 0
pages.json

@@ -305,6 +305,12 @@
 			"style": {
 				"navigationBarTitleText": "馆长申请"
 			}
+		},
+		{
+			"path": "pages/user/myfans",
+			"style": {
+				"navigationBarTitleText": "我的粉丝"
+			}
 		},
 		{
 			"path": "pages/user/withdrawal",

+ 5 - 5
pages/hall/hall.vue

@@ -6,7 +6,7 @@
 		</view>
 		<view class="hall-main"><image src="../../static/img/hell-main.png" mode=""></image></view>
 		<view class="hall-center">
-			<view class="shingle-main" v-for="(item,index) in list" :key="index" @click="nav(item.id)">
+			<view class="shingle-main" v-for="(item,index) in list" :key="index" @click="nav(item)">
 				<view class="shingle-bg"><image :src="item.image" mode=""></image></view>
 				<view class="shinglem-title flex">
 					<image class="tbg" src="../../static/img/tbg-left.png" mode=""></image>
@@ -23,8 +23,8 @@
 					</view>
 					<view class="shu"></view>
 					<view class="smmain-item">
-						<view class="smitem-top">纯平</view>
-						<view class="smitem-bottom clamp">{{ item.nickname }}1111111111</view>
+						<view class="smitem-top">{{item.nickname}}</view>
+						<view class="smitem-bottom clamp">馆长</view>
 					</view>
 					<view class="shu"></view>
 					<view class="smmain-item">
@@ -73,9 +73,9 @@ export default {
 				console.log(e);
 			})
 		},
-		nav(id){
+		nav(item){
 			uni.navigateTo({
-				url: "/pages/hall/halllist?id=" + id
+				url: "/pages/hall/halllist?id=" + item.id + '&name=' + item.name + '&peoplename=' + item.nickname
 			})
 		}
 	}

+ 9 - 5
pages/hall/hallinfo.vue

@@ -5,13 +5,13 @@
 				<view class="status_bar"><!-- 这里是状态栏 --></view>
 				<image class="money_bg" src="../../static/img/hinfo-bg.png"></image>
 				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/img/fanhui.png" mode=""></image></view>
-				<view class="header">浙江馆</view>
+				<view class="header">{{ name }}</view>
 
-				<view class="message flex">潮奢馆馆长:李丹丹</view>
+				<view class="message flex">{{ name }}馆长:{{ peoplename }}</view>
 			</view>
 		</view>
 		<view class="search">
-			<view class="search-left" @click="test()">订单</view>
+			<view class="search-left">订单</view>
 			<view class="search-right">
 				<view class="input-box flex">
 					<view class="input"><input type="text" placeholder="输入关键字" /></view>
@@ -39,6 +39,8 @@ import { auction_product } from '@/api/hall.js'
 export default {
 	data() {
 		return {
+			name:'',//馆名字
+			peoplename:'',//馆长名字
 			firstList: [],
 			id:'',//场次id
 			page: 1,
@@ -47,6 +49,8 @@ export default {
 		};
 	},
 	onLoad(option) {
+		this.name = option.name
+		this.peoplename = option.peoplename
 		this.id = option.id
 		this.loadData();
 	},
@@ -81,9 +85,9 @@ export default {
 				url
 			});
 		},
-		test() {
+		navToDetailPage(item) {
 			uni.navigateTo({
-				url:'/pages/hall/porducthall'
+				url:'/pages/hall/porducthall?id=' + item.id
 			})
 		}
 	}

+ 5 - 1
pages/hall/halllist.vue

@@ -97,6 +97,8 @@ export default {
 	},
 	data() {
 		return {
+			name:'',//馆名字
+			peoplename:'',//馆长名字
 			price:'',//预约的价格
 			id: '',//预约会场id
 			page: 1,
@@ -107,6 +109,8 @@ export default {
 	},
 	onLoad(option) {
 		this.id = option.id;
+		this.name = option.name;
+		this.peoplename = option.peoplename
 		this.loadData();
 	},
 	methods: {
@@ -171,7 +175,7 @@ export default {
 		},
 		nav() {
 			uni.navigateTo({
-				url:'/pages/hall/hallinfo?id=' + this.id
+				url:'/pages/hall/hallinfo?id=' + this.id + '&name=' + this.name + '&peoplename=' + this.peoplename
 			});
 		},
 		toBack() {

+ 44 - 6
pages/hall/history.vue

@@ -1,10 +1,10 @@
 <template>
 	<view class="center">
 		<view class="product">
-			<image class="product-image" src="../../static/img/afternoon.png" mode=""></image>
-			<view class="product-font font1">趣豆商城挂售礼盒</view>
+			<image class="product-image" :src="info.image" mode=""></image>
+			<view class="product-font font1">{{info.name}}</view>
 			<view class="product-font font2">艺术家:李丹丹</view>
-			<view class="product-font font2">创作时间:2022年01月30日</view>
+			<view class="product-font font2">{{info.create_time | time}}</view>
 		</view>
 		<view class="main">
 			<view class="main-item">
@@ -28,18 +28,56 @@
 				<view class="main-right">林兰</view>
 			</view>
 		</view>
-		<view class="ma">
+		<!-- <view class="ma">
 			<view class="ma-main">
 				
 			</view>
 			<view class="ma-font">
 				溯源二维码
 			</view>
-		</view>
+		</view> -->
 	</view>
 </template>
 
-<script></script>
+<script>
+import { belong,details } from '@/api/hall.js'
+export default {
+	data() {
+		return {
+			id:'',
+			info:'',
+		}
+	},
+	filters:{
+		time(e){
+			if(e != ''){
+				let times = e.split(" ")
+				let years = times[0].split("-")
+				return years[0]+'年'+years[1]+'月'+years[2]+'日'
+			}
+			
+		}
+	},
+	onLoad(option) {
+		this.id = option.id;
+		this.loadData();
+	},
+	methods: {
+		loadData() {
+			belong({product_id: this.id}).then(({data}) =>{
+				console.log(data);
+				details({product_id: this.id}).then(({data}) =>{
+					this.info = data
+				}).catch(e =>{
+					
+				})
+			}).catch(e =>{
+				console.log(e);
+			})
+		}
+	},
+}
+</script>
 
 <style lang="scss">
 .center {

+ 52 - 12
pages/hall/porducthall.vue

@@ -2,32 +2,32 @@
 	<view class="container">
 		<view class="carousel">
 			<swiper indicator-dots :circular="true" duration="400">
-				<!-- <swiper-item class="swiper-item" v-for="(item, index) in imgList" :key="index">
+				<swiper-item class="swiper-item" v-for="(item, index) in imageList" :key="index">
 					<view class="image-wrapper"><image :src="item" class="loaded" mode="scaleToFill"></image></view>
-				</swiper-item> -->
+				</swiper-item>
 			</swiper>
 			<view class="title flex">
 				<view class="title-num">
 					<text>¥</text>
-					1290
+					{{ info.hanging_price }}
 				</view>
-				<view class="title-time">挂售时间:18:30-19:30</view>
+				<view class="title-time">挂售时间:{{ info.time }}</view>
 			</view>
 		</view>
 		<view class="title-main flex">
 			<view class="tm-left">
-				<view class="tm-title clamp">趣豆商城挂售礼盒</view>
+				<view class="tm-title clamp">{{ info.name }}</view>
 				<view class="tm-people flex">
 					<image class="people-image" src="../../static/img/people.png" mode=""></image>
 					<view class="people-name">归属人:李丹丹</view>
 				</view>
 			</view>
 			<view class="tm-right flex">
-				<view class="tmr-item">
+				<!-- <view class="tmr-item">
 					<image class="tmr-image" src="../../static/img/shua.png" mode=""></image>
 					<view class="tmr-font">刷新倒计时</view>
-				</view>
-				<view class="tmr-item" @click="nav('/pages/hall/history')">
+				</view> -->
+				<view class="tmr-item" @click="nav('/pages/hall/history?id='+id)">
 					<image class="tmr-image1" src="../../static/img/yuan.png" mode=""></image>
 					<view class="tmr-font">溯源</view>
 				</view>
@@ -77,13 +77,13 @@
 		</view>
 		<view class="detail-desc">
 			<view class="d-header"><text>商品详情</text></view>
-			<!-- <rich-text class="detail-centent" :nodes="goodsObjact.description"></rich-text>
-			<view :class="{ contentBottomHeight: goodsType == 1 || goodsType == 2, goodsBottom: goodsType == 0 }"></view> -->
+			<rich-text class="detail-centent" :nodes="info.description"></rich-text>
+			<view class="contentBottomHeight"></view>
 		</view>
 		<view class="bottom flex">
 			<view class="bottom-item">
 				<image class="bi-image" src="../../static/img/quan.png" mode=""></image>
-				<view class="bottom-font">艺金券</view>
+				<view class="bottom-font">预约券</view>
 				<view class="bottom-num">200</view>
 			</view>
 			<view class="shu"></view>
@@ -114,13 +114,30 @@
 </template>
 
 <script>
+import { details } from '@/api/hall.js'
 export default {
 	data() {
 		return {
 			text:'123456',
+			id:'',
+			info:'',
+			imageList:[],
 		};
 	},
+	onLoad(option) {
+		this.id = option.id;
+		this.loadData();
+	},
 	methods: {
+		loadData() {
+			details({product_id: this.id}).then(({data}) =>{
+				console.log(data);
+				this.imageList = data.slider_image
+				this.info = data
+			}).catch(e =>{
+				
+			})
+		},
 		// 打开客服
 		openKf() {
 			this.$refs.popupkf.open();
@@ -142,8 +159,26 @@ export default {
 .carousel {
 	width: 750rpx;
 	height: 710rpx;
-	background: #000000;
 	position: relative;
+	swiper {
+		height: 100%;
+	}
+	.image-wrapper {
+		width: 100%;
+		height: 100%;
+	}
+	.swiper-item {
+		display: flex;
+		justify-content: center;
+		align-content: center;
+		// height: 750rpx;
+		height: 710rpx;
+		overflow: hidden;
+		image {
+			width: 100%;
+			height: 100%;
+		}
+	}
 	.title {
 		background: linear-gradient(90deg, #ef4e51 0%, #f4713b 100%);
 		width: 750rpx;
@@ -338,6 +373,7 @@ export default {
 }
 .bottom {
 	position: fixed;
+	z-index: 10;
 	bottom: 0;
 	background: #ffffff;
 	width: 750rpx;
@@ -477,4 +513,8 @@ export default {
 		}
 	}
 }
+// 文章页底部高度撑开
+.contentBottomHeight {
+	height: 150rpx;
+}
 </style>

+ 0 - 4
pages/order/order.vue

@@ -942,8 +942,4 @@
 			opacity: 0.2;
 		}
 	}
-
-	.swiper-box-one {
-		background-color: #bfa;
-	}
 </style>

+ 344 - 186
pages/set/userinfo.vue

@@ -1,213 +1,371 @@
 <template>
 	<view class="content">
-		<view class="row1">
-			<text class="tit">头像</text>
-			<view class="background-img" @click.stop="imgsub"><image class="background-img" v-model="userInfo.avatar" :src="userInfo.avatar" mode="aspectFill"></image></view>
+		<view class="tit">
+			上传微信收款码
 		</view>
-		<view class="row">
-			<text class="tit">昵称</text>
-			<input class="input" type="text" v-model="userInfo.nickname" placeholder-class="placeholder" />
+		<view class="up-wrap" @click="imgsub('upimg')">
+			<image :src="upimg" mode="" v-if="upimg"></image>
+			<image v-else src="../../static/img/add.png" mode=""></image>
 		</view>
-		<view class="row">
-			<text class="tit">ID</text>
-			<input class="input" type="text"  disabled="true" v-model="userInfo.uid" placeholder-class="placeholder" />
+		<view class="tit">
+			基本信息
 		</view>
-		<view class="row">
-			<text class="tit">账户</text>
-			<input class="input" type="text"  disabled="true" v-model="userInfo.phone" placeholder-class="placeholder" />
-		</view>
-		<view class="add-btn" @click="confirm">提交</view>
-		<!-- <view class="out" @click="cancel">注销账户</view> -->
-		<uni-popup ref="popup" type="center">
-			<view class="psw-wrapper">
-				<view class="psw-title">请输入自己的账户</view>
-				<input type="text" v-model="password" class="psw-ipt" />
-				<view class="psw-btn">
-					<text @click.stop="qx">取消</text>
-					<text class="psw-qd" @click.stop="pswQd">确定</text>
+		<view class="base-info">
+			<view class="base-item" style="padding-bottom: 20rpx;">
+				<view class="item-name">头像</view>
+				<view class="avatar" @click="imgsub('avatar')">
+					<image :src="avatar || '../../static/error/missing-face.png'" mode="" ></image>
 				</view>
 			</view>
-		</uni-popup>
+			<view class="base-item flex">
+				<view class="item-name">昵称</view>
+				<input type="text" value="" class="item-val" placeholder="输入您的昵称" v-model="nickname" />
+			</view>
+			<view class="base-item flex">
+				<view class="item-name">ID</view>
+				<input type="text" value="" class="item-val" placeholder="输入您的昵称" v-model="uid" disabled/>
+			</view>
+			<view class="base-item flex">
+				<view class="item-name">手机号</view>
+				<input type="text" value="" class="item-val" placeholder="输入您的手机号" v-model="phone" />
+			</view>
+			<view class="base-item flex">
+				<view class="item-name">姓名</view>
+				<input type="text" value="" class="item-val" placeholder="输入您的姓名" v-model="real_name" />
+			</view>
+			<view class="base-item flex">
+				<view class="item-name">微信号</view>
+				<input type="text" value="" class="item-val" placeholder="输入您的微信号" v-model="wx_no" />
+			</view>
+			<view class="base-item flex">
+				<view class="item-name">支付宝姓名</view>
+				<input type="text" value="" class="item-val" placeholder="输入您的支付宝姓名" v-model="alipay_name" />
+			</view>
+			<view class="base-item flex">
+				<view class="item-name">支付宝账号</view>
+				<input type="text" value="" class="item-val" placeholder="输入您的支付宝账号" v-model="alipay_no" />
+			</view>
+			<view class="base-item flex">
+				<view class="item-name">开户行</view>
+				<input type="text" value="" class="item-val" placeholder="输入您的开户行" v-model="account_Bank" />
+			</view>
+			<view class="base-item flex">
+				<view class="item-name">所属支行</view>
+				<input type="text" value="" class="item-val" placeholder="输入所属支行" v-model="bank_branch" />
+			</view>
+			<view class="base-item flex">
+				<view class="item-name">开户行姓名</view>
+				<input type="text" value="" class="item-val" placeholder="输入您的开户行姓名" v-model="bank_name" />
+			</view>
+			<view class="base-item flex">
+				<view class="item-name">银行卡账号</view>
+				<input type="text" value="" class="item-val" placeholder="输入您的银行卡账号" v-model="bank_card" />
+			</view>
+		</view>
+		<view class="btn" @click="subInfo">提交保存</view>
+		<view class="btn1" @click="toLogout">退出登录</view>
+		<view class="jg" style="height: 70rpx;">
+
+		</view>
 	</view>
 </template>
 
 <script>
-import { mapState,mapMutations } from 'vuex';
-import { upload } from '@/api/order.js';
-import {userEdit,logout} from '@/api/set.js';
-export default {
-	data(){
-		return{
-			show:false,
-			password: '',
-		}
-	},
-	onLoad() {
-		console.log(this.userInfo)
-	},
-	computed: {
-		...mapState('user',['userInfo'])
-	},
-	methods: {
-		...mapMutations('user',['logout']),
-		imgsub() {
-			console.log('上传头像')
-			upload({
-				filename: ''
-			}).then(data => {
-				console.log("data",data);
-				this.userInfo.avatar = data[0].url;
-			})
+	import { mapState, mapMutations } from 'vuex';
+	import { getUserInfo } from '@/api/user.js';
+	import { edit } from '@/api/user.js';
+	import { upload } from '@/api/order.js';
+	  import { logout } from '@/api/set.js';
+	export default {
+		computed: {
+			...mapState('user',['userInfo'])
 		},
-		confirm() {
-			userEdit({ avatar: this.userInfo.avatar ,nickname: this.userInfo.nickname})
-				.then(e => {
-					this.$api.msg('修改成功');
-					setTimeout(()=> {
-						uni.switchTab({
-							url:'/pages/user/user'
-						});
-					}, 1000);
-					console.log(e);
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-		toLogout(){
-			let obj = this;
-			uni.showModal({
-			    content: '确定要退出登录么',
-			    success: (e)=>{
-			    	if(e.confirm){
-						logout({}).then((e) => {
-							uni.navigateBack();
-						}).catch((e) => {
-							console.log(e);
-						})
-			    		obj.logout();
-			    	}
-			    }
-			});
-		},
-		cancel(){
-			this.$refs.popup.open();
+		data() {
+			return {
+				avatar: '',
+				upimg: '',
+				real_name: '',
+				nickname: '',
+				phone: '',
+				wx_no: '',
+				alipay_name: '',
+				alipay_no: '',
+				account_Bank: '',
+				bank_branch: '',
+				bank_card: '',
+				bank_name: '',
+				// birthday: '',
+				city: '',
+				card_id: '',//身份证
+				uid: '',
+				vip_name: ''
+			}
 		},
-		qx() {
-			this.password = '';
-			this.$refs.popup.close();
+		onLoad() {
+			let obj = this
+			obj.avatar = obj.userInfo.avatar || ''
+			obj.alipay_name = obj.userInfo.alipay_name || ''
+			obj.alipay_no = obj.userInfo.alipay_no || '',
+			obj.bank_branch = obj.userInfo.bank_branch || ''
+			obj.account_Bank = obj.userInfo.account_Bank || ''
+			obj.bank_card = obj.userInfo.bank_card || ''
+			obj.uid = obj.userInfo.uid
+			obj.bank_name = obj.userInfo.bank_name || ''
+			// obj.birthday = obj.userInfo.birthday || ''
+			// obj.card_id: obj.userInfo.card_id  || ''
+			obj.upimg = obj.userInfo.wx_qr || ''
+			obj.wx_no = obj.userInfo.wx_no || ''
+			obj.phone = obj.userInfo.phone || ''
+			obj.real_name = obj.userInfo.real_name || ''
+			obj.nickname = obj.userInfo.nickname || ''
+			console.log(obj.userInfo.vip_name,'obj.userInfo.vip_name')
+			// obj.vip_name = obj.userInfo.vip_name || '暂无'
 		},
-		pswQd() {
-			if(this.password != this.userInfo.phone){
-				this.$refs.popup.close();
-				this.password = '';
-				this.$api.msg("请输入自己的账户")
-				return
+		methods: {
+			...mapMutations('user', ['setUserInfo', 'setOrderInfo','logout']),
+			//退出登录
+			toLogout() {
+				let obj = this;
+				uni.showModal({
+					content: '确定要退出登录么',
+					success: e => {
+						if (e.confirm) {
+							logout({}).then(e => {
+								obj.logout();
+								uni.switchTab({
+									url: '/pages/index/index'
+								})
+							})
+							.catch(e => {
+								console.log(e);
+							});
+						}
+					}
+				});
+			},
+			imgsub(text) {
+				console.log('imgsub');
+				upload({
+					filename: ''
+				}).then(data => {
+					// this.upimg = data[0].url;
+					this.$set(this,text,data[0].url)
+				});
+			},
+			getUserInfo() {
+				getUserInfo({})
+					.then(({ data }) => {
+						this.setUserInfo(data);
+					})
+					.catch(e => {
+						console.log(e);
+					});
+			},
+			bindDateChange(e) {
+				this.birthday = e.detail.value
+			},
+			subInfo() {
+				let obj = this
+				if(obj.upimg == '') {
+					obj.$api.msg('请上传收款码')
+					return
+				}
+				if(obj.avatar == '') {
+					obj.$api.msg('请上传头像')
+					return
+				}
+				if(obj.nickname == '') {
+					obj.$api.msg('请输入昵称')
+					return
+				}
+				if(obj.phone == '') {
+					obj.$api.msg('请输入手机号')
+					return
+				}
+				const reg = /^(\+?0?86-?)?1[\d]\d{9}$/;
+				if (!reg.test(obj.phone)) {
+					obj.$api.msg('请填写正确的手机号码');
+					return;
+				}
+				if(obj.real_name == '') {
+					obj.$api.msg('请输入姓名')
+					return
+				}
+				if(obj.wx_no == '') {
+					obj.$api.msg('请输入微信号')
+					return
+				}
+				if(obj.alipay_name == '') {
+					obj.$api.msg('请输入支付宝姓名')
+					return
+				}
+				if(obj.alipay_no == '') {
+					obj.$api.msg('请输入支付宝账号')
+					return
+				}
+				if(obj.account_Bank == '') {
+					obj.$api.msg('请输入开户行')
+					return
+				}
+				if(obj.bank_branch == '') {
+					obj.$api.msg('请输入所属支行')
+					return
+				}
+				if(obj.bank_name == '') {
+					obj.$api.msg('请输入开户姓名')
+					return
+				}
+				if(obj.bank_card == '') {
+					obj.$api.msg('请输入银行卡账号')
+					return
+				}
+				// if(obj.birthday == '') {
+				// 	obj.$api.msg('请输入出生日期')
+				// 	return
+				// }
+				
+				uni.showLoading({
+					title: '提交中...',
+					mask:true
+				})
+				edit({
+					avatar: obj.avatar,
+					alipay_name: obj.alipay_name,
+					alipay_no: obj.alipay_no,
+					account_Bank: obj.account_Bank,
+					bank_branch: obj.bank_branch,
+					bank_card: obj.bank_card,
+					bank_name: obj.bank_name,
+					// birthday: obj.birthday,
+					// card_id: obj.card_id,
+					wx_no: obj.wx_no,
+					phone: obj.phone,
+					real_name: obj.real_name,
+					nickname: obj.nickname,
+					wx_qr: obj.upimg
+					
+				}).then( res => {
+					obj.getUserInfo()
+					
+					obj.$api.msg('修改成功');
+					let pages = getCurrentPages();
+					let route = pages[pages.length - 2].route;
+					console.log(route,'route++++++++')
+					if(route == 'pages/money/withdrawal') {
+						setTimeout(()=> {
+							uni.navigateTo({
+								url:'/pages/money/withdrawal'
+							});
+						}, 1000);
+					}else {
+						setTimeout(()=> {
+							uni.switchTab({
+								url:'/pages/user/user'
+							});
+						}, 1000);
+					}
+					
+					
+				}).catch( err => {
+					console.log(err)
+				})
 			}
-			this.$refs.popup.close();
-			this.password = '';
-			this.$api.msg("申请注销成功,请耐心等待审核")
 		}
 	}
-}
 </script>
 
-<style lang="scss">
-	.row1 {
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		position: relative;
-		padding: 0 30upx;
-		height: 110upx;
-		background: #fff;
-		margin-bottom: 20upx;
-		.tit {
-			flex-shrink: 0;
-			width: 120upx;
-			font-size: $font-lg;
-			color: $font-color-dark;
-		}
-		
-		.background-img {
-			width: 80rpx;
-			height: 80rpx;
-			border-radius: 50%;
-			background: #f2f2f2;
-		}
+<style lang="scss" scoped>
+	.tit {
+		padding: 30rpx 25rpx;
+		font-size: 32rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #101010;
 	}
-	.row {
-		display: flex;
-		align-items: center;
-		padding: 0 30upx;
-		height: 110upx;
-		background: #fff;
-	
-		.tit {
-			flex-shrink: 0;
-			width: 120upx;
-			font-size: $font-lg;
-			color: $font-color-dark;
+
+	.up-wrap {
+		margin-left: 30rpx;
+		width: 225rpx;
+		height: 225rpx;
+		background: #FFFFFF;
+		border-radius: 10rpx;
+
+		image {
+			width: 225rpx;
+			height: 225rpx;
+			border-radius: 10rpx;
 		}
-		.input {
-			flex: 1;
-			text-align: right;
-			font-size: $font-base;
-			color: $color-gray;
+	}
+
+	.base-info {
+		margin: auto;
+		width: 702rpx;
+		// height: 1106px;
+		background: #FFFFFF;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+
+		.base-item {
+			border: 1px solid #eee;
+			line-height: 100rpx;
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #333333;
+			padding-left: 25rpx;
+			
+			.avatar {
+				margin: auto;
+				width: 200rpx;
+				height: 200rpx;
+				border-radius: 50%;
+				// background-color: #aaa;
+				image {
+					width: 200rpx;
+					height: 200rpx;
+					border-radius: 50%;
+				}
+			}
+			.item-name {
+				font-weight: bold;
+			}
+			.item-val {
+				display: block;
+				line-height: 100rpx;
+				height: 100rpx;
+				width: 478rpx;
+				font-size: 28rpx;
+				font-family: PingFang SC;
+				font-weight: 400;
+				color: #000;
+			}
 		}
+
 	}
-	.add-btn {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		margin: 158rpx auto 30rpx;
-		width: 560rpx;
-		height: 80rpx;
-		background: #DC262B;
-		border-radius: 40px;
+
+	.btn {
+		margin: 70rpx auto 0;
+		width: 702rpx;
+		line-height: 84rpx;
+		background: linear-gradient(30deg, #FF4C4C, #FE6238);
+		border-radius: 10rpx;
+		font-size: 32rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
 		color: #FFFFFF;
+		text-align: center;
 	}
-	.out {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		margin: 0 auto 30rpx;
-		width: 560rpx;
-		height: 80rpx;
-		border: 1px solid #32C6FF;
-		background: #FFFFFF;
-		border-radius: 40px;
-		color: #32C6FF;
-	}
-	.psw-wrapper {
-		width: 548rpx;
-		height: 344rpx;
-		background-color: #ffffff;
-		.psw-title {
-			width: 100%;
-			font-size: 35rpx;
-			padding: 43rpx 0 49rpx;
-			text-align: center;
-			font-weight: 800;
-		}
-		.psw-ipt {
-			display: block;
-			background-color: #dce3ed;
-			height: 90rpx;
-			width: 464rpx;
-			padding-left: 30rpx;
-			margin: 0 auto;
-			font-size: 80rpx;
-		}
-		.psw-btn text {
-			display: inline-block;
-			text-align: center;
-			width: 50%;
-			padding-top: 29rpx;
-			font-size: 35rpx;
-		}
-		.psw-qd {
-			color: #32C6FF;
-		}
+	.btn1 {
+		margin: 30rpx auto 0;
+		width: 702rpx;
+		line-height: 84rpx;
+		color: #FF4C4C;
+		border: 1px solid #FF4C4C;
+		background-color: #fff;
+		border-radius: 10rpx;
+		font-size: 32rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		text-align: center;
 	}
 </style>

+ 151 - 3
pages/user/myfans.vue

@@ -1,8 +1,67 @@
 <template>
 	<view class="content">
-		<view class="top-fan">
-			
+		<view class="top-fan"></view>
+		<view class="fans-base flex">
+			<view class="base-item">
+				<view class="base-item-val">
+					0
+				</view>
+				<view class="base-item-name">
+					我的粉丝
+				</view>
+			</view>
+			<view class="jg"></view>
+			<view class="base-item">
+				<view class="base-item-val">
+					0
+				</view>
+				<view class="base-item-name">
+					活跃粉丝
+				</view>
+			</view>
+			<view class="jg"></view>
+			<view class="base-item">
+				<view class="base-item-val">
+					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">
+				ID
+			</view>
+			<view class="list-item">
+				粉丝
+			</view>
+			<view class="list-item">
+				当日业绩
+			</view>
+			<view class="list-item">
+				粉丝数
+			</view>
 		</view>
+		<scroll-view scroll-y="true" class="swiper-box" :style="{'height':height}">
+			<view class="fans-list-val flex" v-for="(item,index) in list" :style="{'background':index%2 ==0 ? '#F9F9F9':'#fff'}">
+				<view class="list-item">
+					李丹丹
+				</view>
+				<view class="list-item">
+					粉丝
+				</view>
+				<view class="list-item">
+					200
+				</view>
+				<view class="list-item">
+					300
+				</view>
+			</view>
+		</scroll-view>
 	</view>
 </template>
 
@@ -10,9 +69,25 @@
 	export default {
 		data() {
 			return {
-				
+				height: '',
+				list: [1,2,3,4,5,6,7,8,9,10]
 			}
 		},
+		onReady(res) {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						console.log(res, 'ddddddddddddd');
+						_this.height = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
+				},
+				fail: res => {}
+			});
+		},
 		methods: {
 			
 		}
@@ -21,9 +96,82 @@
 </script>
 
 <style lang="scss" scoped>
+	page {
+		background-color: #f3f5f4;
+		height: 100%;
+	}
+	.content {
+		background-color: #f3f5f4;
+	}
 	.top-fan {
 		width: 750rpx;
 		height: 336rpx;
 		background: linear-gradient(-41deg, rgba(60, 237, 237, 0.99), #04B8FF, #375AFE);
+		border-radius: 0 0 40rpx 40rpx;
+	}
+	.fans-base {
+		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;
+	}
+	.fans-list-tit {
+		width: 710rpx;
+		height: 100rpx;
+		background: #E2EEFF;
+		border-radius: 20rpx 20rpx 0px 0px;
+		margin: auto;
+		text-align: center;;
+		font-size: 30rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #375AFE;
+		.list-item {
+			width: 25%;
+			flex-shrink: 0;
+		}
+	}
+	.fans-list-val {
+		width: 710rpx;
+		height: 100rpx;
+		margin: auto;
+		text-align: center;;
+		font-size: 30rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #0C1732;
+		.list-item {
+			// flex-grow: 1;
+			width: 25%;
+			flex-shrink: 0;
+		}
 	}
 </style>