xuhaolan 3 years ago
parent
commit
fc022dfa15
4 changed files with 922 additions and 764 deletions
  1. 2 2
      pages.json
  2. 53 36
      pages/money/wallet.vue
  3. 399 329
      pages/user/integral.vue
  4. 468 397
      pages/user/jiangjin.vue

+ 2 - 2
pages.json

@@ -567,8 +567,8 @@
 			},
 			{
 				"pagePath": "pages/cart/cart",
-				"iconPath": "static/tabBar/tab-cart.png",
-				"selectedIconPath": "static/tabBar/tab-cart-current.png",
+				"iconPath": "static/tabbar/tab-cart.png",
+				"selectedIconPath": "static/tabbar/tab-cart-current.png",
 				"text": "购物车"
 			},
 			{

+ 53 - 36
pages/money/wallet.vue

@@ -14,10 +14,10 @@
 				<image src="../../static/user/walletbg.png" mode=""></image>
 			</view>
 			<view class="money-box">
-				<view class="money">{{userInfo.integral | getMoneyStyle}}</view>
+				<view class="money">{{money | getMoneyStyle}}</view>
 				<view>我的余额</view>
 			</view>
-			<view class="money-btn" @click="navto('/pages/money/withdmoenys')">
+			<view class="money-btn" @click="navto('/pages/money/recharge')">
 				余额充值
 				<text>></text>
 			</view>
@@ -25,12 +25,12 @@
 		<view class="info-box flex">
 			<view class="info-item">
 				<view class="info-font">累计收入</view>
-				<view class="info-num">{{recharge}}</view>
+				<view class="info-num">{{recharge | getMoneyStyle}}</view>
 			</view>
 			<view class="shu"></view>
 			<view class="info-item">
 				<view class="info-font">累计支出</view>
-				<view class="info-num">{{orderStatusSum}}</view>
+				<view class="info-num">{{orderStatusSum |getMoneyStyle}}</view>
 			</view>
 		</view>
 		<view class="navbar">
@@ -49,7 +49,7 @@
 						<view class="order-item flex" v-for="(item, index) in tabItem.orderList" :key="index">
 							<view class="title-box">
 								<view class="title">
-									<text>{{ item.mark }}</text>
+									<text>{{ item.title }}</text>
 								</view>
 								<view class="time">
 									<text>{{ item.add_time }}</text>
@@ -70,7 +70,10 @@
 </template>
 
 <script>
-	import { spreadCommission, userBalance } from '@/api/wallet.js';
+	import {
+		spreadCommission,
+		userBalance
+	} from '@/api/wallet.js';
 	import {
 		integrallist
 	} from '@/api/functionalUnit.js';
@@ -110,6 +113,7 @@
 		},
 		data() {
 			return {
+				money: '', //余额
 				height: '',
 				// 头部图高度
 				maxheight: '',
@@ -125,8 +129,9 @@
 					// 	page: 1, //当前页数
 					// 	limit: 10 //每次信息条数
 					// },
+
 					{
-						state: 0,
+						state: 1,
 						text: '支出',
 						loadingType: 'more',
 						orderList: [],
@@ -134,25 +139,32 @@
 						limit: 10 //每次信息条数
 					},
 					{
-						state: 1,
+						state: 2,
 						text: '收入',
 						loadingType: 'more',
 						orderList: [],
 						page: 1, //当前页数
 						limit: 10 //每次信息条数
-					}
+					},
+
 				],
 			};
 		},
 		onLoad(options) {},
 		onShow() {
 			this.loadData();
-			// 获取用户余额
-			userBalance({}).then(({ data }) => {
-				console.log(data,'22');
+			//获取用户余额
+			userBalance({}).then(({
+				data
+			}) => {
+				console.log(data, '22');
 				this.money = data.now_money;
-				console.log(this.money,'222');
+				this.recharge = data.recharge;
+				this.orderStatusSum = data.orderStatusSum;
+				console.log(this.money, '222');
 			});
+			// this.money = this.userInfo
+			// console.log(this.userInfo);
 		},
 		methods: {
 			// 页面跳转
@@ -182,33 +194,38 @@
 				spreadCommission({
 						page: navItem.page,
 						limit: navItem.limit,
-						
-					},state)
+
+					}, state)
 					.then(({
 						data
 					}) => {
-						obj.recharge = data.income;
-						obj.orderStatusSum = data.expend;
-						if (data.list.length > 0) {
-							console.log(data,'数据111');
-							navItem.orderList = navItem.orderList.concat(data.list);
-							console.log(navItem.orderList);
-							navItem.page++;
-						}
-						if (navItem.limit == data.list.length) {
-							//判断是否还有数据, 有改为 more, 没有改为noMore
-							navItem.loadingType = 'more';
-							return;
-						} else {
-							//判断是否还有数据, 有改为 more, 没有改为noMore
-							navItem.loadingType = 'noMore';
-						}
-						uni.hideLoading();
-						this.$set(navItem, 'loaded', true);
+				
+						data.map(e => {
+							console.log(e, 'map数据');
+							if (e.list.length > 0) {
+								console.log(e, '数据111');
+								navItem.orderList = navItem.orderList.concat(e.list);
+								console.log(navItem.orderList);
+								navItem.page++;
+							}
+							if (navItem.limit == e.list.length) {
+								//判断是否还有数据, 有改为 more, 没有改为noMore
+								navItem.loadingType = 'more';
+								return;
+							} else {
+								//判断是否还有数据, 有改为 more, 没有改为noMore
+								navItem.loadingType = 'noMore';
+							}
+							uni.hideLoading();
+							this.$set(navItem, 'loaded', true);
+						})
+						// .catch(e => {
+						// 	console.log(e);
+						// });
 					})
-					.catch(e => {
-						console.log(e);
-					});
+				// obj.recharge = data.income;
+				// obj.orderStatusSum = data.expend;
+
 			},
 
 			//swiper 切换

+ 399 - 329
pages/user/integral.vue

@@ -1,12 +1,18 @@
 <template>
 	<view class="content">
 		<view class="content-money">
-			<view class="status_bar"><!-- 这里是状态栏 --></view>
+			<view class="status_bar">
+				<!-- 这里是状态栏 -->
+			</view>
 			<view class="body-title">
-				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/img/fanhui.png" mode=""></image></view>
+				<view class="goback-box" @click="toBack('/pages/user/user')">
+					<image class="goback" src="../../static/img/fanhui.png" mode=""></image>
+				</view>
 				<view class="header">我的积分</view>
 			</view>
-			<view class="content-bg"><image src="../../static/img/jfbg.png" mode=""></image></view>
+			<view class="content-bg">
+				<image src="../../static/img/jfbg.png" mode=""></image>
+			</view>
 			<view class="money-box">
 				<view class="money">{{userInfo.integral | getMoneyStyle}}</view>
 				<view>积分余额</view>
@@ -19,29 +25,31 @@
 		<view class="info-box flex">
 			<view class="info-item">
 				<view class="info-font">累计收入</view>
-				<view class="info-num">{{recharge}}</view>
+				<view class="info-num">{{recharge | getMoneyStyle}}</view>
 			</view>
 			<view class="shu"></view>
 			<view class="info-item">
 				<view class="info-font">累计支出</view>
-				<view class="info-num">{{orderStatusSum}}</view>
+				<view class="info-num">{{orderStatusSum |getMoneyStyle}}</view>
 			</view>
 		</view>
 		<view class="navbar">
-			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
+			<view v-for="(item, index) in navList" :key="index" class="nav-item"
+				:class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
 		</view>
-		<swiper :current="tabCurrentIndex" :style="{ height: height }" class="swiper-box" duration="300" @change="changeTab">
+		<swiper :current="tabCurrentIndex" :style="{ height: height }" class="swiper-box" duration="300"
+			@change="changeTab">
 			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
 				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
 					<!-- 空白页 -->
 					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
-	
+
 					<!-- 订单列表 -->
 					<view>
 						<view class="order-item flex" v-for="(item, index) in tabItem.orderList" :key="index">
 							<view class="title-box">
 								<view class="title">
-									<text>{{ item.mark }}</text>
+									<text>{{ item.title }}</text>
 								</view>
 								<view class="time">
 									<text>{{ item.add_time }}</text>
@@ -53,7 +61,8 @@
 							</view>
 						</view>
 					</view>
-					<uni-load-more :status="tabItem.loadingType" v-if="!(tabItem.orderList.length == 0 && tabItem.loaded)"></uni-load-more>
+					<uni-load-more :status="tabItem.loadingType"
+						v-if="!(tabItem.orderList.length == 0 && tabItem.loaded)"></uni-load-more>
 				</scroll-view>
 			</swiper-item>
 		</swiper>
@@ -61,366 +70,427 @@
 </template>
 
 <script>
-import { integrallist } from '@/api/functionalUnit.js';
-import { getMoneyStyle } from '@/utils/rocessor.js';
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import empty from '@/components/empty';
-import { mapState, mapMutations } from 'vuex';
-export default {
-	filters: {
+	import {
+		spreadCommission,
+		userBalance
+	} from '@/api/wallet.js';
+	import {
+		integrallist
+	} from '@/api/functionalUnit.js';
+	import {
 		getMoneyStyle
-	},
-	components: {
-		empty,
-		uniLoadMore
-	},
-	computed: {
-		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
-	},
-	onReady(res) {
-		var _this = this;
-		uni.getSystemInfo({
-			success: resu => {
-				const query = uni.createSelectorQuery();
-				query.select('.swiper-box').boundingClientRect();
-				query.exec(function(res) {
-					_this.height = resu.windowHeight - res[0].top + 'px';
-					console.log('打印页面的剩余高度', _this.height);
-				});
-			},
-			fail: res => {}
-		});
-	},
-	data() {
-		return {
-			height: '',
-			// 头部图高度
-			maxheight:'',
-			tabCurrentIndex: 0,
-			orderStatusSum: 0,
-			recharge: 0,
-			navList: [
-				// {
-				// 	state: 0,
-				// 	text: '全部',
-				// 	loadingType: 'more',
-				// 	orderList: [],
-				// 	page: 1, //当前页数
-				// 	limit: 10 //每次信息条数
-				// },
-				{
-					state: 0,
-					text: '支出',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				},
-				{
-					state: 1,
-					text: '收入',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				}
-			],
-		};
-	},
-	onLoad(options) {},
-	onShow() {
-		this.loadData();
-	},
-	methods: {
-		// 页面跳转
-		navto(e) {
-			uni.navigateTo({
-				url: e
-			});
+	} from '@/utils/rocessor.js';
+	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+	import empty from '@/components/empty';
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	export default {
+		filters: {
+			getMoneyStyle
 		},
-		//获取收入支出信息
-		async loadData(source) {
-			let obj = this
-			//这里是将订单挂载到tab列表下
-			let index = this.tabCurrentIndex;
-			let navItem = this.navList[index];
-			let state = navItem.state;
-			if (source === 'tabChange' && navItem.loaded === true) {
-				//tab切换只有第一次需要加载数据
-				return;
-			}
-			if (navItem.loadingType === 'loading') {
-				//防止重复加载
-				return;
-			}
-			// 修改当前对象状态为加载中
-			navItem.loadingType = 'loading';
-
-			integrallist(
-				{
-					page: navItem.page,
-					limit: navItem.limit,
-					pm: state
+		components: {
+			empty,
+			uniLoadMore
+		},
+		computed: {
+			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+		},
+		onReady(res) {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						_this.height = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
 				},
-			)
-				.then(({ data }) => {
-					obj.recharge = data.income;
-					obj.orderStatusSum = data.expend;
-					if (data.list.length > 0) {
-						console.log(data);
-						navItem.orderList = navItem.orderList.concat(data.list);
-						console.log(navItem.orderList);
-						navItem.page++;
-					}
-					if (navItem.limit == data.list.length) {
-						//判断是否还有数据, 有改为 more, 没有改为noMore
-						navItem.loadingType = 'more';
-						return;
-					} else {
-						//判断是否还有数据, 有改为 more, 没有改为noMore
-						navItem.loadingType = 'noMore';
-					}
-					uni.hideLoading();
-					this.$set(navItem, 'loaded', true);
-				})
-				.catch(e => {
-					console.log(e);
-				});
+				fail: res => {}
+			});
 		},
+		data() {
+			return {
+				money: '', //余额
+				height: '',
+				// 头部图高度
+				maxheight: '',
+				tabCurrentIndex: 0,
+				orderStatusSum: 0,
+				recharge: 0,
+				navList: [
+					// {
+					// 	state: 0,
+					// 	text: '全部',
+					// 	loadingType: 'more',
+					// 	orderList: [],
+					// 	page: 1, //当前页数
+					// 	limit: 10 //每次信息条数
+					// },
+
+					{
+						state: 1,
+						text: '支出',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页数
+						limit: 10 //每次信息条数
+					},
+					{
+						state: 2,
+						text: '收入',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页数
+						limit: 10 //每次信息条数
+					},
 
-		//swiper 切换
-		changeTab(e) {
-			this.tabCurrentIndex = e.target.current;
-			this.loadData('tabChange');
+				],
+			};
 		},
-		//顶部tab点击
-		tabClick(index) {
-			this.tabCurrentIndex = index;
+		onLoad(options) {},
+		onShow() {
+			this.loadData();
+			//获取用户余额
+			userBalance({}).then(({
+				data
+			}) => {
+				console.log(data, '22');
+				this.money = data.now_money;
+				this.recharge = data.recharge;
+				this.orderStatusSum = data.orderStatusSum;
+				console.log(this.money, '222');
+			});
+			// this.money = this.userInfo
+			// console.log(this.userInfo);
 		},
-		toBack() {
-			uni.navigateBack({
-				
-			})
+		methods: {
+			// 页面跳转
+			navto(e) {
+				uni.navigateTo({
+					url: e
+				});
+			},
+			//获取收入支出信息
+			async loadData(source) {
+				let obj = this
+				//这里是将订单挂载到tab列表下
+				let index = this.tabCurrentIndex;
+				let navItem = this.navList[index];
+				let state = navItem.state;
+				if (source === 'tabChange' && navItem.loaded === true) {
+					//tab切换只有第一次需要加载数据
+					return;
+				}
+				if (navItem.loadingType === 'loading') {
+					//防止重复加载
+					return;
+				}
+				// 修改当前对象状态为加载中
+				navItem.loadingType = 'loading';
+
+				integrallist({
+						page: navItem.page,
+						limit: navItem.limit,
+
+					}, state)
+					.then(({
+						data
+					}) => {
+
+						data.map(e => {
+							console.log(e, 'map数据');
+							if (e.list.length > 0) {
+								console.log(e, '数据111');
+								navItem.orderList = navItem.orderList.concat(e.list);
+								console.log(navItem.orderList);
+								navItem.page++;
+							}
+							if (navItem.limit == e.list.length) {
+								//判断是否还有数据, 有改为 more, 没有改为noMore
+								navItem.loadingType = 'more';
+								return;
+							} else {
+								//判断是否还有数据, 有改为 more, 没有改为noMore
+								navItem.loadingType = 'noMore';
+							}
+							uni.hideLoading();
+							this.$set(navItem, 'loaded', true);
+						})
+						// .catch(e => {
+						// 	console.log(e);
+						// });
+					})
+				// obj.recharge = data.income;
+				// obj.orderStatusSum = data.expend;
+
+			},
+
+			//swiper 切换
+			changeTab(e) {
+				this.tabCurrentIndex = e.target.current;
+				this.loadData('tabChange');
+			},
+			//顶部tab点击
+			tabClick(index) {
+				this.tabCurrentIndex = index;
+			},
+			toBack(e) {
+				uni.switchTab({
+					url: e
+				})
+			}
 		}
-	}
-};
+	};
 </script>
 
 <style lang="scss">
-page {
-	background: #f1f1f1;
-	height: 100%;
-}
-.status_bar {
-	height: var(--status-bar-height);
-	width: 100%;
-}
-.content-money {
-	position: relative;
-	height: 480rpx;
-	.content-bg {
-		position: absolute;
-		top: 0;
-		left: 0;
-		right: 0;
-		width: 750rpx;
-		height: 480rpx;
-		image {
-			width: 100%;
-			height: 100%;
-		}
+	page {
+		background: #f1f1f1;
+		height: 100%;
 	}
-	.body-title {
-		height: 80rpx;
-		text-align: center;
-		font-size: 35rpx;
+
+	.status_bar {
+		height: var(--status-bar-height);
+		width: 100%;
+	}
+
+	.content-money {
 		position: relative;
-		.header {
+		height: 480rpx;
+
+		.content-bg {
 			position: absolute;
-			left: 0;
 			top: 0;
-			width: 100%;
-			font-size: 36rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #fffeff;
-			height: 80rpx;
-			font-size: 36rpx;
-			font-weight: 700;
-			z-index: 9;
-			display: flex;
-			justify-content: center;
-			align-items: center;
+			left: 0;
+			right: 0;
+			width: 750rpx;
+			height: 480rpx;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
 		}
-		.goback-box {
-			position: absolute;
-			left: 18rpx;
-			top: 0;
+
+		.body-title {
 			height: 80rpx;
+			text-align: center;
+			font-size: 35rpx;
+			position: relative;
+
+			.header {
+				position: absolute;
+				left: 0;
+				top: 0;
+				width: 100%;
+				font-size: 36rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #fffeff;
+				height: 80rpx;
+				font-size: 36rpx;
+				font-weight: 700;
+				z-index: 9;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+			}
+
+			.goback-box {
+				position: absolute;
+				left: 18rpx;
+				top: 0;
+				height: 80rpx;
+				display: flex;
+				align-items: center;
+			}
+
+			.goback {
+				z-index: 100;
+				width: 20rpx;
+				height: 37rpx;
+			}
+		}
+	}
+
+	.info-box {
+		width: 670rpx;
+		height: 186rpx;
+		background: #ffffff;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+		margin: -100rpx auto 0;
+		position: relative;
+		z-index: 2;
+
+		.info-item {
+			width: 50%;
 			display: flex;
+			flex-direction: column;
 			align-items: center;
+			line-height: 1;
+
+			.info-font {
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #999999;
+			}
+
+			.info-num {
+				margin-top: 30rpx;
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #181818;
+			}
 		}
 
-		.goback {
-			z-index: 100;
-			width: 20rpx;
-			height: 37rpx;
+		.shu {
+			width: 2rpx;
+			height: 74rpx;
+			background: #dcdfe6;
 		}
 	}
-}
-.info-box {
-	width: 670rpx;
-	height: 186rpx;
-	background: #ffffff;
-	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
-	border-radius: 20rpx;
-	margin: -100rpx auto 0;
-	position: relative;
-	z-index: 2;
-	.info-item {
-		width: 50%;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		line-height: 1;
-		.info-font {
-			font-size: 30rpx;
+
+	.money-box {
+		position: relative;
+		z-index: 2;
+		padding-top: 90rpx;
+		color: #ffffff;
+		text-align: center;
+
+		.money {
+			font-size: 72rpx;
 			font-family: PingFang SC;
 			font-weight: bold;
-			color: #999999;
+			color: #ffffff;
 		}
-		.info-num {
-			margin-top: 30rpx;
+
+		.text {
 			font-size: 30rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #181818;
 		}
 	}
-	.shu {
-		width: 2rpx;
-		height: 74rpx;
-		background: #dcdfe6;
-	}
-}
-.money-box {
-	position: relative;
-	z-index: 2;
-	padding-top: 90rpx;
-	color: #ffffff;
-	text-align: center;
-	.money {
-		font-size: 72rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
+
+	.money-btn {
+		position: relative;
+		z-index: 2;
 		color: #ffffff;
-	}
-	.text {
+		padding-right: 50rpx;
+		text-align: right;
 		font-size: 30rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #FFFFFF;
+
+		text {
+			display: inline-block;
+			padding-left: 10rpx;
+		}
 	}
-}
-.money-btn {
-	position: relative;
-	z-index: 2;
-	color: #ffffff;
-	padding-right: 50rpx;
-	text-align: right;
-	font-size: 30rpx;
-	font-family: PingFang SC;
-	font-weight: bold;
-	color: #FFFFFF;
-	text {
-		display: inline-block;
-		padding-left: 10rpx;
-	}
-}
-
-.navbar {
-	margin-top: 20rpx;
-	display: flex;
-	height: 88rpx;
-	padding: 0 5px;
-	background: #fff;
-	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
-	position: relative;
-	z-index: 10;
-	.nav-item {
-		flex: 1;
+
+	.navbar {
+		margin-top: 20rpx;
 		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		font-size: 15px;
-		color: #999999;
+		height: 88rpx;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
 		position: relative;
-		&.current {
-			color: #000;
-			&:after {
-				content: '';
-				position: absolute;
-				left: 50%;
-				bottom: 0;
-				transform: translateX(-50%);
-				width: 44px;
-				height: 0;
-				border-bottom: 2px solid #fe5b38;
+		z-index: 10;
+
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: #999999;
+			position: relative;
+
+			&.current {
+				color: #000;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 44px;
+					height: 0;
+					border-bottom: 2px solid #fe5b38;
+				}
 			}
 		}
 	}
-}
-//列表
-.swiper-box {
-	.order-item:last-child {
-		margin-bottom: 60rpx;
-	}
-	.order-item {
-		padding: 20rpx 30rpx;
-		line-height: 1.5;
-		.title-box {
-			.title {
-				font-size: $font-lg;
-				color: $font-color-base;
+
+	//列表
+	.swiper-box {
+		.order-item:last-child {
+			margin-bottom: 60rpx;
+		}
+
+		.order-item {
+			padding: 20rpx 30rpx;
+			line-height: 1.5;
+
+			.title-box {
+				.title {
+					font-size: $font-lg;
+					color: $font-color-base;
+				}
+
+				.time {
+					font-size: $font-base;
+					color: $font-color-light;
+				}
 			}
-			.time {
-				font-size: $font-base;
-				color: $font-color-light;
+
+			.money {
+				color: #fd5b23;
+				font-size: $font-lg;
+				text-align: right;
+
+				.status {
+					color: $font-color-light;
+				}
 			}
 		}
-		.money {
-			color: #fd5b23;
-			font-size: $font-lg;
-			text-align: right;
-			.status {
-				color: $font-color-light;
-			}
+	}
+
+	.list-scroll-content {
+		background: #ffffff;
+		height: 100%;
+	}
+
+	.content {
+		height: 100%;
+
+		.empty-content {
+			background-color: #ffffff;
 		}
 	}
-}
-.list-scroll-content {
-	background: #ffffff;
-	height: 100%;
-}
-.content {
-	height: 100%;
-	.empty-content {
-		background-color: #ffffff;
+
+	.btn-box {
+		width: 674rpx;
+		height: 88rpx;
+		background: linear-gradient(0deg, #2e58ff, #32c6ff);
+		border-radius: 44rpx;
+		font-size: 36rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #ffffff;
+		text-align: center;
+		line-height: 88rpx;
+		position: fixed;
+		bottom: 48rpx;
+		left: 0;
+		right: 0;
+		margin: 0 auto;
 	}
-}
-.btn-box {
-	width: 674rpx;
-	height: 88rpx;
-	background: linear-gradient(0deg, #2e58ff, #32c6ff);
-	border-radius: 44rpx;
-	font-size: 36rpx;
-	font-family: PingFang SC;
-	font-weight: 500;
-	color: #ffffff;
-	text-align: center;
-	line-height: 88rpx;
-	position: fixed;
-	bottom: 48rpx;
-	left: 0;
-	right: 0;
-	margin: 0 auto;
-}
 </style>

+ 468 - 397
pages/user/jiangjin.vue

@@ -8,419 +8,490 @@
 			</view>
 			<view class="content-bg"><image src="../../static/user/jjbg.png" mode=""></image></view>
 			<view class="money-box">
-				<view class="money">{{userInfo.integral | getMoneyStyle}}</view>
+				<view class="money">{{userInfo.brokerage_price | getMoneyStyle}}</view>
 				<view>我的奖金</view>
 			</view>
-			<view class="money-btn" @click="navto('/pages/money/withdmoenys')">
+			<view class="money-btn" @click="navto('/pages/money/withdrawal')">
 				奖金提现
 				<text>></text>
 			</view>
 		</view>
 		<view class="info-box flex">
-			<view class="info-item">
-				<view class="info-font">累计收入</view>
-				<view class="info-num">{{recharge}}</view>
-			</view>
-			<view class="shu"></view>
-			<view class="info-item">
-				<view class="info-font">累计支出</view>
-				<view class="info-num">{{orderStatusSum}}</view>
-			</view>
-		</view>
-		<view class="navbar">
-			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
-		</view>
-		<swiper :current="tabCurrentIndex" :style="{ height: height }" class="swiper-box" duration="300" @change="changeTab">
-			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
-				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
-					<!-- 空白页 -->
-					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
-	
-					<!-- 订单列表 -->
-					<view>
-						<view class="order-item flex" v-for="(item, index) in tabItem.orderList" :key="index">
-							<view class="title-box">
-								<view class="title">
-									<text>{{ item.mark }}</text>
-								</view>
-								<view class="time">
-									<text>{{ item.add_time }}</text>
+					<view class="info-item">
+						<view class="info-font">累计收入</view>
+						<view class="info-num">{{recharge | getMoneyStyle}}</view>
+					</view>
+					<view class="shu"></view>
+					<view class="info-item">
+						<view class="info-font">累计支出</view>
+						<view class="info-num">{{orderStatusSum |getMoneyStyle}}</view>
+					</view>
+				</view>
+				<view class="navbar">
+					<view v-for="(item, index) in navList" :key="index" class="nav-item"
+						:class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
+				</view>
+				<swiper :current="tabCurrentIndex" :style="{ height: height }" class="swiper-box" duration="300"
+					@change="changeTab">
+					<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
+						<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
+							<!-- 空白页 -->
+							<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
+		
+							<!-- 订单列表 -->
+							<view>
+								<view class="order-item flex" v-for="(item, index) in tabItem.orderList" :key="index">
+									<view class="title-box">
+										<view class="title">
+											<text>{{ item.title }}</text>
+										</view>
+										<view class="time">
+											<text>{{ item.add_time }}</text>
+										</view>
+									</view>
+									<view class="money">
+										<view>{{ (item.pm == 0 ? '-' : '+') + item.number }}</view>
+										<view v-if="item.status == 0" class="status">待发放</view>
+									</view>
 								</view>
 							</view>
-							<view class="money">
-								<view>{{ (item.pm == 0 ? '-' : '+') + item.number }}</view>
-								<view v-if="item.status == 0" class="status">待发放</view>
-							</view>
-						</view>
-					</view>
-					<uni-load-more :status="tabItem.loadingType" v-if="!(tabItem.orderList.length == 0 && tabItem.loaded)"></uni-load-more>
-				</scroll-view>
-			</swiper-item>
-		</swiper>
-	</view>
-</template>
-
-<script>
-import { integrallist } from '@/api/functionalUnit.js';
-import { getMoneyStyle } from '@/utils/rocessor.js';
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import empty from '@/components/empty';
-import { mapState, mapMutations } from 'vuex';
-export default {
-	filters: {
-		getMoneyStyle
-	},
-	components: {
-		empty,
-		uniLoadMore
-	},
-	computed: {
-		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
-	},
-	onReady(res) {
-		var _this = this;
-		uni.getSystemInfo({
-			success: resu => {
-				const query = uni.createSelectorQuery();
-				query.select('.swiper-box').boundingClientRect();
-				query.exec(function(res) {
-					_this.height = resu.windowHeight - res[0].top + 'px';
-					console.log('打印页面的剩余高度', _this.height);
-				});
-			},
-			fail: res => {}
-		});
-	},
-	data() {
-		return {
-			height: '',
-			// 头部图高度
-			maxheight:'',
-			tabCurrentIndex: 0,
-			orderStatusSum: 0,
-			recharge: 0,
-			navList: [
-				// {
-				// 	state: 0,
-				// 	text: '全部',
-				// 	loadingType: 'more',
-				// 	orderList: [],
-				// 	page: 1, //当前页数
-				// 	limit: 10 //每次信息条数
-				// },
-				{
-					state: 0,
-					text: '支出',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
+							<uni-load-more :status="tabItem.loadingType"
+								v-if="!(tabItem.orderList.length == 0 && tabItem.loaded)"></uni-load-more>
+						</scroll-view>
+					</swiper-item>
+				</swiper>
+			</view>
+		</template>
+		
+		<script>
+			import {
+				spreadCommission,
+				userBalance
+			} from '@/api/wallet.js';
+			import {
+				integrallist
+			} from '@/api/functionalUnit.js';
+			import {
+				getMoneyStyle
+			} from '@/utils/rocessor.js';
+			import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+			import empty from '@/components/empty';
+			import {
+				mapState,
+				mapMutations
+			} from 'vuex';
+			export default {
+				filters: {
+					getMoneyStyle
+				},
+				components: {
+					empty,
+					uniLoadMore
 				},
-				{
-					state: 1,
-					text: '收入',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
+				computed: {
+					...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+				},
+				onReady(res) {
+					var _this = this;
+					uni.getSystemInfo({
+						success: resu => {
+							const query = uni.createSelectorQuery();
+							query.select('.swiper-box').boundingClientRect();
+							query.exec(function(res) {
+								_this.height = resu.windowHeight - res[0].top + 'px';
+								console.log('打印页面的剩余高度', _this.height);
+							});
+						},
+						fail: res => {}
+					});
+				},
+				data() {
+					return {
+						money: '', //余额
+						height: '',
+						// 头部图高度
+						maxheight: '',
+						tabCurrentIndex: 0,
+						orderStatusSum: 0,
+						recharge: 0,
+						navList: [
+							// {
+							// 	state: 0,
+							// 	text: '全部',
+							// 	loadingType: 'more',
+							// 	orderList: [],
+							// 	page: 1, //当前页数
+							// 	limit: 10 //每次信息条数
+							// },
+		
+							{
+								state: 0,
+								text: '支出',
+								loadingType: 'more',
+								orderList: [],
+								page: 1, //当前页数
+								limit: 10 //每次信息条数
+							},
+							{
+								state: 1,
+								text: '收入',
+								loadingType: 'more',
+								orderList: [],
+								page: 1, //当前页数
+								limit: 10 //每次信息条数
+							},
+		
+						],
+					};
+				},
+				onLoad(options) {},
+				onShow() {
+					console.log(this.userInfo,'user');
+					this.loadData();
+					//获取用户余额
+					userBalance({}).then(({
+						data
+					}) => {
+						console.log(data, '22');
+						this.money = data.now_money;
+						this.recharge = data.recharge;
+						this.orderStatusSum = data.orderStatusSum;
+						console.log(this.money, '222');
+					});
+					// this.money = this.userInfo
+					// console.log(this.userInfo);
+				},
+				methods: {
+					// 页面跳转
+					navto(e) {
+						uni.navigateTo({
+							url: e
+						});
+					},
+					//获取收入支出信息
+					async loadData(source) {
+						let obj = this
+						//这里是将订单挂载到tab列表下
+						let index = this.tabCurrentIndex;
+						let navItem = this.navList[index];
+						let state = navItem.state+3;
+						if (source === 'tabChange' && navItem.loaded === true) {
+							//tab切换只有第一次需要加载数据
+							return;
+						}
+						if (navItem.loadingType === 'loading') {
+							//防止重复加载
+							return;
+						}
+						// 修改当前对象状态为加载中
+						navItem.loadingType = 'loading';
+		
+						spreadCommission({
+								page: navItem.page,
+								limit: navItem.limit,
+		
+							}, state)
+							.then(({
+								data
+							}) => {
+								console.log(data, '数据');
+								// console.log(data.length);
+								if(data.length!=0){
+									console.log(111);
+									data.map(e => {
+										console.log(e, 'map数据');
+										if (e.list.length > 0) {
+											console.log(e, '数据111');
+											navItem.orderList = navItem.orderList.concat(e.list);
+											console.log(navItem.orderList);
+											navItem.page++;
+										}
+										if (navItem.limit == e.list.length) {
+											//判断是否还有数据, 有改为 more, 没有改为noMore
+											navItem.loadingType = 'more';
+											return;
+										} else {
+											//判断是否还有数据, 有改为 more, 没有改为noMore
+											navItem.loadingType = 'noMore';
+										}
+										uni.hideLoading();
+										this.$set(navItem, 'loaded', true);
+									})
+								}
+								navItem.loadingType = 'noMore'
+								// .catch(e => {
+								// 	console.log(e);
+								// });
+							})
+						// obj.recharge = data.income;
+						// obj.orderStatusSum = data.expend;
+		
+					},
+		
+					//swiper 切换
+					changeTab(e) {
+						this.tabCurrentIndex = e.target.current;
+						this.loadData('tabChange');
+					},
+					//顶部tab点击
+					tabClick(index) {
+						this.tabCurrentIndex = index;
+					},
+					toBack(e) {
+						uni.switchTab({
+							url: e
+						})
+					}
 				}
-			],
-		};
-	},
-	onLoad(options) {},
-	onShow() {
-		this.loadData();
-	},
-	methods: {
-		// 页面跳转
-		navto(e) {
-			uni.navigateTo({
-				url: e
-			});
-		},
-		//获取收入支出信息
-		async loadData(source) {
-			let obj = this
-			//这里是将订单挂载到tab列表下
-			let index = this.tabCurrentIndex;
-			let navItem = this.navList[index];
-			let state = navItem.state;
-			if (source === 'tabChange' && navItem.loaded === true) {
-				//tab切换只有第一次需要加载数据
-				return;
+			};
+		</script>
+		
+		<style lang="scss">
+			page {
+				background: #f1f1f1;
+				height: 100%;
 			}
-			if (navItem.loadingType === 'loading') {
-				//防止重复加载
-				return;
+		
+			.status_bar {
+				height: var(--status-bar-height);
+				width: 100%;
 			}
-			// 修改当前对象状态为加载中
-			navItem.loadingType = 'loading';
-
-			integrallist(
-				{
-					page: navItem.page,
-					limit: navItem.limit,
-					pm: state
-				},
-			)
-				.then(({ data }) => {
-					obj.recharge = data.income;
-					obj.orderStatusSum = data.expend;
-					if (data.list.length > 0) {
-						console.log(data);
-						navItem.orderList = navItem.orderList.concat(data.list);
-						console.log(navItem.orderList);
-						navItem.page++;
+		
+			.content-money {
+				position: relative;
+				height: 480rpx;
+		
+				.content-bg {
+					position: absolute;
+					top: 0;
+					left: 0;
+					right: 0;
+					width: 750rpx;
+					height: 480rpx;
+		
+					image {
+						width: 100%;
+						height: 100%;
 					}
-					if (navItem.limit == data.list.length) {
-						//判断是否还有数据, 有改为 more, 没有改为noMore
-						navItem.loadingType = 'more';
-						return;
-					} else {
-						//判断是否还有数据, 有改为 more, 没有改为noMore
-						navItem.loadingType = 'noMore';
+				}
+		
+				.body-title {
+					height: 80rpx;
+					text-align: center;
+					font-size: 35rpx;
+					position: relative;
+		
+					.header {
+						position: absolute;
+						left: 0;
+						top: 0;
+						width: 100%;
+						font-size: 36rpx;
+						font-family: PingFang SC;
+						font-weight: bold;
+						color: #fffeff;
+						height: 80rpx;
+						font-size: 36rpx;
+						font-weight: 700;
+						z-index: 9;
+						display: flex;
+						justify-content: center;
+						align-items: center;
 					}
-					uni.hideLoading();
-					this.$set(navItem, 'loaded', true);
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-
-		//swiper 切换
-		changeTab(e) {
-			this.tabCurrentIndex = e.target.current;
-			this.loadData('tabChange');
-		},
-		//顶部tab点击
-		tabClick(index) {
-			this.tabCurrentIndex = index;
-		},
-		toBack(e) {
-			uni.switchTab({
-							url:e
-						})
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	background: #f1f1f1;
-	height: 100%;
-}
-.status_bar {
-	height: var(--status-bar-height);
-	width: 100%;
-}
-.content-money {
-	position: relative;
-	height: 480rpx;
-	.content-bg {
-		position: absolute;
-		top: 0;
-		left: 0;
-		right: 0;
-		width: 750rpx;
-		height: 480rpx;
-		image {
-			width: 100%;
-			height: 100%;
-		}
-	}
-	.body-title {
-		height: 80rpx;
-		text-align: center;
-		font-size: 35rpx;
-		position: relative;
-		.header {
-			position: absolute;
-			left: 0;
-			top: 0;
-			width: 100%;
-			font-size: 36rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #fffeff;
-			height: 80rpx;
-			font-size: 36rpx;
-			font-weight: 700;
-			z-index: 9;
-			display: flex;
-			justify-content: center;
-			align-items: center;
-		}
-		.goback-box {
-			position: absolute;
-			left: 18rpx;
-			top: 0;
-			height: 80rpx;
-			display: flex;
-			align-items: center;
-		}
-
-		.goback {
-			z-index: 100;
-		width: 20rpx;
-		height: 37rpx;
-		}
-	}
-}
-.info-box {
-	width: 670rpx;
-	height: 186rpx;
-	background: #ffffff;
-	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
-	border-radius: 20rpx;
-	margin: -100rpx auto 0;
-	position: relative;
-	z-index: 2;
-	.info-item {
-		width: 50%;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		line-height: 1;
-		.info-font {
-			font-size: 30rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #999999;
-		}
-		.info-num {
-			margin-top: 30rpx;
-			font-size: 30rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #181818;
-		}
-	}
-	.shu {
-		width: 2rpx;
-		height: 74rpx;
-		background: #dcdfe6;
-	}
-}
-.money-box {
-	position: relative;
-	z-index: 2;
-	padding-top: 90rpx;
-	color: #ffffff;
-	text-align: center;
-	.money {
-		font-size: 72rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
-		color: #ffffff;
-	}
-	.text {
-		font-size: 30rpx;
-	}
-}
-.money-btn {
-	position: relative;
-	z-index: 2;
-	color: #ffffff;
-	padding-right: 50rpx;
-	text-align: right;
-	font-size: 30rpx;
-	font-family: PingFang SC;
-	font-weight: bold;
-	color: #FFFFFF;
-	text {
-		display: inline-block;
-		padding-left: 10rpx;
-	}
-}
-
-.navbar {
-	margin-top: 20rpx;
-	display: flex;
-	height: 88rpx;
-	padding: 0 5px;
-	background: #fff;
-	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
-	position: relative;
-	z-index: 10;
-	.nav-item {
-		flex: 1;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		font-size: 15px;
-		color: #999999;
-		position: relative;
-		&.current {
-			color: #000;
-			&:after {
-				content: '';
-				position: absolute;
-				left: 50%;
-				bottom: 0;
-				transform: translateX(-50%);
-				width: 44px;
-				height: 0;
-				border-bottom: 2px solid #fe5b38;
+		
+					.goback-box {
+						position: absolute;
+						left: 18rpx;
+						top: 0;
+						height: 80rpx;
+						display: flex;
+						align-items: center;
+					}
+		
+					.goback {
+						z-index: 100;
+						width: 20rpx;
+						height: 37rpx;
+					}
+				}
 			}
-		}
-	}
-}
-//列表
-.swiper-box {
-	.order-item:last-child {
-		margin-bottom: 60rpx;
-	}
-	.order-item {
-		padding: 20rpx 30rpx;
-		line-height: 1.5;
-		.title-box {
-			.title {
-				font-size: $font-lg;
-				color: $font-color-base;
+		
+			.info-box {
+				width: 670rpx;
+				height: 186rpx;
+				background: #ffffff;
+				box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+				border-radius: 20rpx;
+				margin: -100rpx auto 0;
+				position: relative;
+				z-index: 2;
+		
+				.info-item {
+					width: 50%;
+					display: flex;
+					flex-direction: column;
+					align-items: center;
+					line-height: 1;
+		
+					.info-font {
+						font-size: 30rpx;
+						font-family: PingFang SC;
+						font-weight: bold;
+						color: #999999;
+					}
+		
+					.info-num {
+						margin-top: 30rpx;
+						font-size: 30rpx;
+						font-family: PingFang SC;
+						font-weight: bold;
+						color: #181818;
+					}
+				}
+		
+				.shu {
+					width: 2rpx;
+					height: 74rpx;
+					background: #dcdfe6;
+				}
+			}
+		
+			.money-box {
+				position: relative;
+				z-index: 2;
+				padding-top: 90rpx;
+				color: #ffffff;
+				text-align: center;
+		
+				.money {
+					font-size: 72rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #ffffff;
+				}
+		
+				.text {
+					font-size: 30rpx;
+				}
+			}
+		
+			.money-btn {
+				position: relative;
+				z-index: 2;
+				color: #ffffff;
+				padding-right: 50rpx;
+				text-align: right;
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #FFFFFF;
+		
+				text {
+					display: inline-block;
+					padding-left: 10rpx;
+				}
 			}
-			.time {
-				font-size: $font-base;
-				color: $font-color-light;
+		
+			.navbar {
+				margin-top: 20rpx;
+				display: flex;
+				height: 88rpx;
+				padding: 0 5px;
+				background: #fff;
+				box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+				position: relative;
+				z-index: 10;
+		
+				.nav-item {
+					flex: 1;
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					height: 100%;
+					font-size: 15px;
+					color: #999999;
+					position: relative;
+		
+					&.current {
+						color: #000;
+		
+						&:after {
+							content: '';
+							position: absolute;
+							left: 50%;
+							bottom: 0;
+							transform: translateX(-50%);
+							width: 44px;
+							height: 0;
+							border-bottom: 2px solid #fe5b38;
+						}
+					}
+				}
+			}
+		
+			//列表
+			.swiper-box {
+				.order-item:last-child {
+					margin-bottom: 60rpx;
+				}
+		
+				.order-item {
+					padding: 20rpx 30rpx;
+					line-height: 1.5;
+		
+					.title-box {
+						.title {
+							font-size: $font-lg;
+							color: $font-color-base;
+						}
+		
+						.time {
+							font-size: $font-base;
+							color: $font-color-light;
+						}
+					}
+		
+					.money {
+						color: #fd5b23;
+						font-size: $font-lg;
+						text-align: right;
+		
+						.status {
+							color: $font-color-light;
+						}
+					}
+				}
+			}
+		
+			.list-scroll-content {
+				background: #ffffff;
+				height: 100%;
+			}
+		
+			.content {
+				height: 100%;
+		
+				.empty-content {
+					background-color: #ffffff;
+				}
 			}
-		}
-		.money {
-			color: #fd5b23;
-			font-size: $font-lg;
-			text-align: right;
-			.status {
-				color: $font-color-light;
+		
+			.btn-box {
+				width: 674rpx;
+				height: 88rpx;
+				background: linear-gradient(0deg, #2e58ff, #32c6ff);
+				border-radius: 44rpx;
+				font-size: 36rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #ffffff;
+				text-align: center;
+				line-height: 88rpx;
+				position: fixed;
+				bottom: 48rpx;
+				left: 0;
+				right: 0;
+				margin: 0 auto;
 			}
-		}
-	}
-}
-.list-scroll-content {
-	background: #ffffff;
-	height: 100%;
-}
-.content {
-	height: 100%;
-	.empty-content {
-		background-color: #ffffff;
-	}
-}
-.btn-box {
-	width: 674rpx;
-	height: 88rpx;
-	background: linear-gradient(0deg, #2e58ff, #32c6ff);
-	border-radius: 44rpx;
-	font-size: 36rpx;
-	font-family: PingFang SC;
-	font-weight: 500;
-	color: #ffffff;
-	text-align: center;
-	line-height: 88rpx;
-	position: fixed;
-	bottom: 48rpx;
-	left: 0;
-	right: 0;
-	margin: 0 auto;
-}
-</style>
+		</style>
+