lhl 4 years ago
parent
commit
c487e6fde0
76 changed files with 2603 additions and 898 deletions
  1. 1 1
      manifest.json
  2. 51 5
      pages.json
  3. 228 0
      pages/category/apply.vue
  4. 230 0
      pages/category/fillTable.vue
  5. 289 74
      pages/money/recharge.vue
  6. 125 84
      pages/money/wallet.vue
  7. 119 122
      pages/money/withdrawal.vue
  8. 233 0
      pages/user/JDcool.vue
  9. 160 80
      pages/user/award.vue
  10. 0 310
      pages/user/coupon.vue
  11. 139 0
      pages/user/integralTransforms.vue
  12. 335 0
      pages/user/jindou.vue
  13. 331 0
      pages/user/team.vue
  14. 360 220
      pages/user/user.vue
  15. BIN
      static/icon/appleIcon.png
  16. BIN
      static/icon/c3.png
  17. BIN
      static/icon/c5.png
  18. BIN
      static/icon/c6.png
  19. BIN
      static/icon/c7.png
  20. BIN
      static/icon/c8.png
  21. BIN
      static/icon/i-left.png
  22. BIN
      static/icon/i-right.png
  23. BIN
      static/icon/i1.png
  24. BIN
      static/icon/i2.png
  25. BIN
      static/icon/i3.png
  26. BIN
      static/icon/i4.png
  27. BIN
      static/icon/i5.png
  28. BIN
      static/icon/i6.png
  29. BIN
      static/icon/i7.png
  30. BIN
      static/icon/i8.png
  31. BIN
      static/icon/img02.png
  32. BIN
      static/icon/img03.png
  33. BIN
      static/icon/img04.png
  34. BIN
      static/icon/img05.png
  35. BIN
      static/icon/img06.png
  36. BIN
      static/icon/img07.png
  37. BIN
      static/icon/img08.png
  38. BIN
      static/icon/img09.png
  39. BIN
      static/icon/img10.png
  40. BIN
      static/icon/img11.png
  41. BIN
      static/icon/img12.png
  42. BIN
      static/icon/select.png
  43. BIN
      static/icon/selected.png
  44. BIN
      static/icon/u1.png
  45. BIN
      static/icon/u2.png
  46. BIN
      static/icon/u3.png
  47. BIN
      static/icon/u4.png
  48. BIN
      static/icon/u5.png
  49. BIN
      static/icon/wenhao.png
  50. BIN
      static/img/anchor12.png
  51. BIN
      static/img/fanhui.png
  52. BIN
      static/img/vip-bg.png
  53. BIN
      static/img/vip-card-bg.png
  54. BIN
      static/img/vip.png
  55. BIN
      static/user/bg.png
  56. BIN
      static/user/open-m.png
  57. BIN
      static/user/order1.png
  58. BIN
      static/user/order2.png
  59. BIN
      static/user/order3.png
  60. BIN
      static/user/order4.png
  61. BIN
      static/user/right.png
  62. BIN
      static/user/right01.png
  63. BIN
      static/user/right02.png
  64. BIN
      static/user/set.png
  65. BIN
      static/user/tuiguang.png
  66. BIN
      static/user/u1.png
  67. BIN
      static/user/u2.png
  68. BIN
      static/user/u3.png
  69. BIN
      static/user/u4.png
  70. BIN
      static/user/u5.png
  71. BIN
      static/user/u6.png
  72. BIN
      static/user/yaoqing.png
  73. BIN
      static/user/yongjin.png
  74. BIN
      static/user/yue.png
  75. 1 1
      store/index.js
  76. 1 1
      uni.scss

+ 1 - 1
manifest.json

@@ -73,7 +73,7 @@
         "devServer" : {
             "proxy" : {
                 "/api" : {
-                    "target" : "http://base.liuniu946.com/api",
+                    "target" : "http://lt.frp.liuniu946.com/api",
                     // "changeOrigin": true,
                     "pathRewrite" : {
                         "/api" : "" // rewrite path

+ 51 - 5
pages.json

@@ -355,11 +355,6 @@
 			"style": {
 				"navigationBarTitleText": "收藏夹"
 			}
-		}, {
-			"path": "pages/user/coupon",
-			"style": {
-				"navigationBarTitleText": "我的卡卷"
-			}
 		},
 		{
 			"path": "pages/user/scoreAccumulate",
@@ -379,6 +374,39 @@
 				"navigationBarTitleText": "订单详情"
 			}
 		},
+		{
+			"path": "pages/user/jindou",
+			"style": {
+				"navigationBarTitleText": "我的金豆",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
+		{
+			"path": "pages/user/JDcool",
+			"style": {
+				"navigationBarTitleText": "金豆池",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
+		{
+			"path": "pages/user/integralTransforms",
+			"style": {
+				"navigationBarTitleText": "余额转账"
+			}
+		},
+		{
+			"path": "pages/user/team",
+			"style": {
+				"navigationBarTitleText": "我的推广",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
 		{
 			"path": "pages/order/order",
 			"style": {
@@ -485,6 +513,24 @@
 				"navigationBarTitleText": "分类"
 			}
 		},
+		{
+			"path": "pages/category/apply",
+			"style": {
+				// #ifndef MP
+				"app-plus": {
+					"titleNView": false
+				},
+				// #endif
+				"navigationBarTitleText": "申请美容院"
+
+			}
+		},
+		{
+			"path": "pages/category/fillTable",
+			"style": {
+				"navigationBarTitleText": "申请美容院"
+			}
+		},
 		{
 			"path": "pages/redirect/redirect",
 			"style": {

+ 228 - 0
pages/category/apply.vue

@@ -0,0 +1,228 @@
+<template>
+	<view class="wrapper">
+			<view class="top-box" style="height: 135rpx;">
+				<image src="../../static/img/vip-bg.png" mode=""></image>
+			</view>
+			<view class="top">
+				<view class="top-tit">
+					陀罗商城美容院身份
+				</view>
+				<view class="top-btm">
+					<text class="hx"></text><text>购买美容院礼包即可升级为美容院身份</text><text class="hx"></text>
+				</view>
+			</view>
+			
+			<view class="item">
+				<view class="item-top">特权一</view>
+				<view class="item-tit">
+					享受3.5折拿货价
+					<view class="line"></view>
+				</view>
+				<view class="item-info">
+					<view class="info-y"></view>
+					<view class="info">美容院专区商品享受3.5折的拿货价</view>
+				</view>
+			</view>
+			<view class="item">
+				<view class="item-top">特权二</view>
+				<view class="item-tit">
+					金豆奖励
+					<view class="line"></view>
+				</view>
+				<view class="item-info">
+					<view class="info-y"></view>
+					<view class="info">购买美容院产品享受返10%的金豆奖励</view>
+				</view>
+			</view>
+			<!-- <view class="item">
+				<view class="item-top">特权三</view>
+				<view class="item-tit">
+					开实体店奖励
+					<view class="line"></view>
+				</view>
+				<view class="item-info">
+					<view class="info-y"></view>
+					<view class="info">享受伞下全部用户产生的业绩奖励</view>
+				</view>
+			</view> -->
+			<view class="more">
+				<image src="../../static/icon/i-left.png" mode=""></image>
+				<view class="more-tit">
+					更多店长特权持续开放中,敬请期待
+				</view>
+				<image src="../../static/icon/i-right.png" mode=""></image>
+			</view>
+			<view class="btn" @click="changeStep">立即申请成为美容院</view>
+	</view>
+</template>
+
+<script>
+import { mapState, mapMutations } from 'vuex';
+import { register, verify } from '@/api/login.js';
+import { upload ,enter} from '@/api/user.js';
+export default {
+	data() {
+		return {
+			
+		};
+	},
+	onLoad() {
+		let obj = this
+		obj.speed_id = uni.getStorageSync('spread') || '';
+		if(obj.speed_id == '') {
+			obj.speed_id = obj.userInfo.spread_uid || ''
+		}
+	},
+	methods: {
+		changeStep() {
+			uni.navigateTo({
+				url:'/pages/category/fillTable'
+			})
+		},
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.wrapper {
+	height: 100%;
+}
+.top {
+	position: relative;
+	z-index: 2;
+	margin: 0 auto 49rpx;
+	width: 674rpx;
+	background: linear-gradient(-23deg, #ffe7be, #fed591);
+	border-radius: 10rpx;
+	padding-bottom: 40rpx;
+	.top-tit {
+		padding-top: 80rpx;
+		text-align: center;
+		font-size: 49rpx;
+		font-family: Source Han Sans CN;
+		font-weight: 500;
+		color: #6A4714;
+	}
+	.top-btm {
+		margin-top: 40rpx;
+		font-size: 19rpx;
+		font-family: Source Han Sans CN;
+		font-weight: 400;
+		color: #6A4714;
+		text-align: center;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		text {
+			display: inline-block;
+			padding: 0 4rpx;
+		}
+		.hx {
+			width: 66rpx;
+			height: 1rpx;
+			background: #81504A;
+		}
+	}
+}
+.item {
+	margin: 44rpx auto;
+	width: 674rpx;
+	// height: 176rpx;
+	box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.2);
+	border-radius: 10rpx;
+	padding-bottom: 40rpx;
+	.item-top {
+		width: 85rpx;
+		line-height: 36rpx;
+		background-color: #fed591;
+		border-radius: 10rpx 18rpx 18rpx 0;
+		text-align: center;
+		font-size: 20rpx;
+		font-family: Source Han Sans CN;
+		font-weight: 400;
+		color: #975f4a;
+	}
+	.item-tit {
+		display: inline-block;
+		padding: 0 10rpx;
+		font-size: 26rpx;
+		font-family: Source Han Sans CN;
+		font-weight: 500;
+		color: #202020;
+		margin-left: 68rpx;
+		margin-top: 20rpx;
+		.line {
+			// width: 197rpx;
+			margin-top: -10rpx;
+			height: 15rpx;
+			background: #FFF0C5;
+		}
+	}
+	.item-info {
+		display: flex;
+		align-items: flex-start;
+		padding-left: 68rpx;
+		padding-top: 15rpx;
+		// align-items: center;
+		font-size: 21rpx;
+		font-family: Source Han Sans CN;
+		font-weight: 400;
+		color: #6F6F6F;
+		line-height: 40rpx;
+		.info-y {
+			width: 24rpx;
+			height: 24rpx;
+			background: #343238;
+			border-radius: 50%;
+			margin-right: 14rpx;
+			margin-top: 8rpx;
+			flex-shrink: 0;
+		}
+		.info {
+			padding-right: 20rpx;
+		}
+	}
+}
+.btn {
+	margin: 133rpx auto;
+	width: 606rpx;
+	height: 80rpx;
+	background: linear-gradient(-23deg, #ffe7be, #fed591);
+	border-radius: 40rpx;
+	font-size: 35rpx;
+	font-family: Source Han Sans CN;
+	font-weight: 500;
+	color: #704e1c;
+	line-height: 80rpx;
+	text-align: center;
+}
+.top-box {
+	position: relative;
+	z-index: 1;
+	image {
+		width: 750rpx;
+		height: 236rpx;
+		position: absolute;
+		top: 0;
+		
+	}
+}
+.more {
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	font-size: 21rpx;
+	font-family: Source Han Sans CN;
+	font-weight: 400;
+	color: #6F6F6F;
+	height: 40rpx;
+	line-height: 40rpx;
+	image {
+		height: 15rpx;
+		width: 40rpx;
+	}
+	view {
+		padding: 0 8rpx;
+	}
+}
+</style>

+ 230 - 0
pages/category/fillTable.vue

@@ -0,0 +1,230 @@
+<template>
+	<view class="wrapper">
+		<view class="tab-wrapper">
+			<view class="tab-item">
+				<view class="itemx">
+					<view class="item-tit">店铺名称:</view>
+					<input type="text" v-model="merchant_name" placeholder="请输入店铺名称" />
+				</view>
+				<view class="up-wrapper">
+					店铺logo
+					<view class="imgs">
+						<view class="imgs-item">
+							<image :src="sfzz" mode="" v-if="yyzz" @click.stop="upImg('yyzz')"></image>
+							<image src="../../static/img/add.png" mode="" v-if="!yyzz" @click.stop="upImg('yyzz')"></image>
+						</view>
+					</view>
+				</view>
+				
+				<view class="itemx">
+					<view class="item-tit">联系电话:</view>
+					<input type="text" v-model="phone" placeholder="请输入联系电话" />
+				</view>
+				<view class="itemx">
+					<view class="item-tit">营业时间:</view>
+					<input type="text" v-model="time" placeholder="请输入营业时间" disabled />
+				</view>
+				<view class="itemx">
+					<view class="item-tit">店铺地址:</view>
+					<input type="text" v-model="area" placeholder="请输入店铺地址" />
+				</view>
+			</view>
+			
+			<view class="btn-tc"></view>
+			<view class="sub-btn" @click="sub">提交申请</view>
+		</view>
+	</view>
+</template>
+
+<script>
+import { mapState, mapMutations } from 'vuex';
+import { register, verify } from '@/api/login.js';
+import { upload, enter } from '@/api/user.js';
+export default {
+	data() {
+		return {
+			phone: '',
+			time:'',//输入营业时间
+			yyzz: '', //店铺logo
+			merchant_name: '', //店铺名称
+			area: '' //店长区域
+		};
+	},
+	onLoad() {
+		let obj = this;
+		obj.speed_id = uni.getStorageSync('spread') || '';
+		if (obj.speed_id == '') {
+			obj.speed_id = obj.userInfo.spread_uid || '';
+		}
+	},
+	computed: {
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+	},
+	watch: {
+		countDown(i) {
+			if (i == 0) {
+				clearInterval(this.time);
+			}
+		}
+	},
+	methods: {
+		upImg(item) {
+			let obj = this;
+			upload({
+				filename: ''
+			})
+				.then(res => {
+					console.log(res[0].url);
+
+					obj[item] = res[0].url;
+				})
+				.catch(err => {
+					console.log(err);
+				});
+		},
+		//提交
+		sub() {
+			let obj = this;
+			if (obj.phone == '') {
+				obj.$api.msg('请输入联系方式');
+				return;
+			}
+			if (this.phone.length < 11) {
+				this.$api.msg('请输入正确的手机号');
+				return;
+			}
+			if (obj.yyzz == '') {
+				obj.$api.msg('请上传店铺logo');
+				return;
+			}
+			if (obj.area == '') {
+				obj.$api.msg('请输入店铺地址');
+				return;
+			}
+			let card_id = obj.sfzz + ',' + obj.sfzf;
+			uni.showLoading({
+				title: '提交中...',
+				mask: true
+			});
+			enter({
+				type: 1,
+				merchant_name: obj.area,
+				link_user: obj.name,
+				link_tel: obj.phone,
+				spread_uid: obj.speed_id,
+				charter: obj.yyzz,
+				card_id: card_id
+			})
+				.then(res => {
+					uni.hideLoading();
+					uni.showToast({
+						title: '提交成功',
+						duration: 2000
+					});
+					setTimeout(() => {
+						uni.navigateBack({});
+					}, 2000);
+
+					console.log(res);
+				})
+				.catch(err => {
+					uni.hideLoading();
+					console.log(err);
+				});
+		}
+	}
+};
+</script>
+
+<style lang="scss" scoped>
+.wrapper {
+	height: 100%;
+}
+.tab-wrapper {
+	padding: 20rpx 30rpx;
+	background-color: #f2f3f5;
+	.itemx {
+		margin: 0 auto;
+		width: 100%;
+		background-color: #fff !important;
+		height: 100rpx;
+		display: flex;
+		// width: 690px;
+		border: 1px #f4f4f4 solid;
+		.code {
+			width: 150rpx;
+			flex-shrink: 0;
+			text-align: center;
+			font-size: 28rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #ff4c4c;
+			line-height: 100rpx;
+		}
+		.item-tit {
+			height: 100rpx;
+			line-height: 100rpx;
+			padding-left: 30rpx;
+			width: 310rpx;
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #666666;
+			flex-shrink: 0;
+		}
+		input {
+			width: 440rpx;
+			padding-right: 20rpx;
+			height: 100rpx;
+			line-height: 100rpx;
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #333333;
+		}
+	}
+}
+.sub-btn {
+	// position: fixed;
+	// bottom: 0;
+	margin: 60rpx auto;
+	width: 600rpx;
+	height: 98rpx;
+	border-radius: 49rpx;
+	background: linear-gradient(180deg, #fd4646, #ff3535);
+	font-size: 36rpx;
+	font-family: PingFang SC;
+	font-weight: 500;
+	color: #ffffff;
+	line-height: 98rpx;
+	text-align: center;
+}
+.btn-tc {
+	height: 98rpx;
+}
+.up-wrapper {
+	margin: auto;
+	padding: 38rpx 21rpx;
+	width: 690rpx;
+	// height: 250rpx;
+	background: #ffffff;
+	border-radius: 10rpx;
+	font-size: 28rpx;
+	font-family: PingFang SC;
+	font-weight: 500;
+	color: #333333;
+	.imgs {
+		padding: 27rpx 70rpx;
+		display: flex;
+		justify-content: space-around;
+		.imgs-item {
+			height: 160rpx;
+			width: 160rpx;
+			image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	}
+}
+</style>

+ 289 - 74
pages/money/recharge.vue

@@ -1,66 +1,97 @@
 <template>
 	<view class="content">
-		<view class="row-box">
+		<view class="top_box">
+			<text class="yue-tit">当前余额:</text>
+			<text class="yue-num">¥{{ now_money | parseFloatNum }}</text>
+		</view>
+
+		<view class="line_box"></view>
+
+		<view class="cz_box">
+			<view class="cz_wrap">
+				<text class="cz_tit">¥</text>
+				<input class="cz_input" type="number" v-model="money" @focus="changeNum()" placeholder="请输入充值金额" placeholder-class="placeholder" />
+			</view>
+			<view class="zc_list_box">
+				<view class="zc_list_price" :class="{ seletPrice: seletNum == item }" @click="seletChange(item, index)" v-for="(item, index) in list" :key="index">
+					{{ item | parseFloatNum }}元
+				</view>
+			</view>
+		</view>
+		<!-- <view class="line_box"></view> -->
+
+		<!-- <view class="row-box">
 			<view class="title">充值金额</view>
 			<view class="row">
 				<text class="tit">¥</text>
 				<input class="input" type="number" v-model="money" placeholder="请输入充值金额" placeholder-class="placeholder" />
 			</view>
-		</view>
+		</view> -->
 
-		<view class="list">
-			<radio-group @change="tabRadio">
-				<!-- #ifdef APP-PLUS -->
-				<label>
-					<view class="box">
-						<view class="icon iconfont iconzhifubao"></view>
-						<view class="title-box">
-							<view class="title"><text>支付宝充值</text></view>
-						</view>
-						<view class="right"><radio value="alipay" color="#5dbc7c" :checked="type == 'alipay'" /></view>
-					</view>
-				</label>
-				<label>
-					<view class="box">
-						<view class="icon iconfont iconweixin1"></view>
-						<view class="title-box">
-							<view class="title"><text>微信充值</text></view>
-							<view class="node"><text>真实姓名(代勇明)</text></view>
-						</view>
-						<view class="right"><radio value="weixin" color=" #5dbc7c" :checked="type == 'weixin'" /></view>
-					</view>
-				</label>
-				<!-- #endif -->
-			</radio-group>
+		<!-- <view class="rechar-box">
+			<view class="rechar-title">注意事项</view>
+			<view class="rechar-text" v-for="(item, index) in zhuyi" :key="index">
+				<text>{{ index + 1 }}.{{item}}</text>
+			</view>
+		</view> -->
+		<view class="line_box"></view>
+		<view class="cz-type">
+			<view class="type-left">
+				<view class="icon iconfont iconweixin"></view>
+				<view class="tit">微信支付</view>
+			</view>
+			<view class="type-right"><image src="https://zhibo.liuniu946.com/img/checked.png" mode=""></image></view>
 		</view>
-		<button class="add-btn up" :class="{ 'active-bg': payLoding }" @click="!payLoding ? confirm() : ''">确认充值</button>
+		<button class="add-btn up" :class="{ 'active-bg': payLoding }" @click="!payLoding ? confirm() : ''">立即充值</button>
 	</view>
 </template>
 
 <script>
 import { getMoneyStyle } from '@/utils/rocessor.js';
 // #ifdef H5
-import { rechargeWechat } from '@/api/wallet.js';
+import { rechargeWechat, rechargeIndex } from '@/api/wallet.js';
 // #endif
 // #ifdef MP
-import { rechargeRoutine } from '@/api/wallet.js';
+import { rechargeWechat, rechargeRoutine, rechargeIndex } from '@/api/wallet.js';
 // #endif
 import { mapState } from 'vuex';
+import { spreadCommission, userBalance } from '@/api/wallet.js';
 export default {
 	filters: {
-		getMoneyStyle
+		getMoneyStyle,
+		// 去处小数点后的0
+		parseFloatNum(clock) {
+			return parseFloat(clock);
+		}
 	},
 	data() {
 		return {
 			type: 'weixin',
-			money: '', //充值金额
-			payLoding: false //是否加载中
+			money: 300, //充值金额
+			payLoding: false ,//是否加载中
+			list: [
+				'300',
+				'200',
+				'150',
+				'100',
+				'50'
+			],
+			now_money:'',
+			seletNum: '300',	// 选中
+			zhuyi: [],
+			quota: '',	// 送的钱
+			typeText: 0,	// 0-微信 1-佣金
 		};
 	},
-	onLoad(options) {},
+	onLoad(options) {
+		this.loadData();
+	},
 	computed: {
 		// #ifdef H5
-		...mapState(['weichatObj'])
+		...mapState(['weichatObj', 'userInfo'])
+		// #endif
+		// #ifdef MP
+		...mapState(['userInfo'])
 		// #endif
 	},
 	methods: {
@@ -70,17 +101,51 @@ export default {
 				url: url
 			});
 		},
+		changeNum() {
+			this.seletNum = this.money = '';
+			console.log(this.seletNum, this.money);
+		},
+		seletChange(item, index) {
+			this.seletNum = item;
+			this.seletMoney = item;
+			console.log(this.seletNum);
+			this.money = item
+		},
 		// 切换选中对象
 		tabRadio(e) {
-			this.type = e;
+			this.type = e.detail.value;
+			if ( e.detail.value == 'weixin' ) {
+				this.typeText = 0
+			} else {
+				this.typeText = 1
+			}
 		},
+		// 充值金额
+		rechargeXuan(item) {
+			this.money = item.price;
+			this.quota = item.quota;
+		},
+
+		loadData() {
+			userBalance({}).then(({ data }) => {
+				this.now_money = data.now_money;
+			});
+		},
+
 		// 提交
 		confirm() {
 			let obj = this;
 			obj.payLoding = true;
+			if( !obj.money ) {
+				obj.$api.msg('请输入金额');
+				obj.payLoding = false;
+				return;
+			}
 			// #ifdef H5
-			rechargeWechat({ price: this.money, from: this.type })
-				.then(e => {
+			rechargeWechat({
+				price: this.money,
+				from: this.type ,
+			}).then(e => {
 					let da = e.data.data;
 					obj.weichatObj.chooseWXPay({
 						timestamp: da.timestamp,
@@ -92,7 +157,10 @@ export default {
 							uni.showToast({
 								title: '充值成功',
 								duration: 2000,
-								position: 'top'
+								position: 'top',
+								success: function(res) {
+									uni.navigateBack()
+								}
 							});
 						}
 					});
@@ -114,13 +182,18 @@ export default {
 								signType: da.signType,
 								paySign: da.paySign,
 								success: function(res) {
-									uni.redirectTo({
-										url: '/pages/money/paySuccess'
+									uni.showToast({
+										title: '充值成功',
+										duration: 2000,
+										position: 'top',
+										success: function(res) {
+											uni.navigateBack()
+										}
 									});
 								},
-								
+
 							})
-					
+
 					obj.payLoding = false;
 				})
 				.catch(e => {
@@ -129,33 +202,6 @@ export default {
 				});
 			// #endif
 		},
-		//获取订单列表
-		loadData(source) {
-			console.log(source);
-			//这里是将订单挂载到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';
-			setTimeout(() => {
-				let orderList = [];
-				orderList.forEach(item => {
-					navItem.orderList.push(item);
-				});
-				//loaded新字段用于表示数据加载完毕,如果为空可以显示空白页
-				this.$set(navItem, 'loaded', true);
-				//判断是否还有数据, 有改为 more, 没有改为noMore
-				navItem.loadingType = 'more';
-			}, 600);
-		}
 	}
 };
 </script>
@@ -163,26 +209,189 @@ export default {
 <style lang="scss">
 page {
 	height: 100%;
+	background: #ffffff;
+}
+.top_box {
+	padding: 20rpx 26rpx 20rpx 47rpx;
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+	.yue-tit {
+		font-size: 28rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #333333;
+	}
+	.yue-num {
+		font-size: 30rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #ff6f0f;
+	}
 }
 
+.line_box {
+	width: 100%;
+	height: 20rpx;
+	background: #f8f8f8;
+}
+.cz_box {
+	padding: 40rpx 20rpx 20rpx;
+	.cz_wrap {
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		padding-bottom: 20rpx;
+		border-bottom: 1px solid #e6e6e6;
+		.cz_tit {
+			font-size: 32rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+		}
+		.cz_input {
+			text-align: right;
+			font-size: 32rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			// color: #BFBFBF;
+		}
+	}
+	.zc_list_box {
+		display: flex;
+		flex-wrap: wrap;
+		.zc_list_price {
+			width: 202rpx;
+			height: 60rpx;
+			background: #f0f0f0;
+			border-radius: 8rpx;
+			margin-top: 36rpx;
+			margin-right: 50rpx;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			&:nth-child(3n) {
+				margin-right: 0;
+			}
+		}
+		.seletPrice {
+			background: #FF4C4C;
+			color: #ffffff;
+		}
+	}
+}
+.recha-box {
+	padding: 50rpx 30rpx 0;
+	display: flex;
+	flex-wrap: wrap;
+	.recha-frame {
+		width: 210rpx;
+		height: 181rpx;
+		border: 1px solid #dbdede;
+		border-radius: 20rpx;
+		display: flex;
+		align-items: center;
+		flex-direction: column;
+		justify-content: center;
+		margin-right: 30rpx;
+		margin-bottom: 30rpx;
+		&:nth-child(3n) {
+			margin-right: 0;
+		}
+		.recha-top {
+			display: flex;
+			align-items: center;
+			.recha-img {
+				width: 64rpx;
+				height: 62rpx;
+			}
+			.recha-tit {
+				margin-left: 10rpx;
+				font-size: 36rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #333333;
+			}
+		}
+		.recha-song {
+			margin-top: 20rpx;
+			font-size: $font-base;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #ff9900;
+		}
+	}
+	.select-frame {
+		border: 1px solid #ef041f;
+	}
+}
+
+.rechar-box {
+	padding: 30rpx 20rpx 0;
+	.rechar-title {
+		font-size: 32rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #333333;
+		margin-bottom: 10rpx;
+	}
+	.rechar-text {
+		font-size: 28rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #333333;
+	}
+}
+.cz-type {
+	margin-top: 22rpx;
+	display: flex;
+	justify-content: space-between;
+	padding: 32rpx;
+	align-items: center;
+	.type-left {
+		display: flex;
+		align-items: center;
+		.icon {
+			height: 38rpx;
+			image {
+				width: 48rpx;
+				height: 38rpx;
+			}
+		}
+		.iconweixin {
+			color: #36cb59;
+		}
+		.tit {
+			margin-left: 12rpx;
+			font-size: 30rpx;
+			color: #333333;
+		}
+	}
+	.type-right {
+		image {
+			width: 36rpx;
+			height: 36rpx;
+		}
+	}
+}
 .add-btn {
 	&.modified {
 		color: $base-color;
 	}
 	&.up {
-		background-color: $base-color;
+		// background:$base-color;
 		color: #fff;
 	}
 	display: flex;
 	align-items: center;
 	justify-content: center;
-	width: 690rpx;
+	width: 560rpx;
 	height: 80rpx;
 	margin: 0 auto;
-	margin-top: 30rpx;
+	margin-top: 120rpx;
 	font-size: $font-lg;
-	border-radius: 10rpx;
-	// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
+	background: #FF4C4C;
+	box-shadow: 0px 12rpx 45rpx 5rpx rgba(36, 17, 2, 0.04);
+	border-radius: 8rpx;
 }
 .row-box {
 	margin-top: 30rpx;
@@ -229,9 +438,15 @@ page {
 		width: 100%;
 		height: 120rpx;
 		border-bottom: 1px solid $border-color-light;
+		padding-right: 25rpx;
 		.icon {
 			font-size: 48rpx;
 			padding-right: 20rpx;
+			display: flex;
+		}
+		.yongjing {
+			width: 48rpx;
+			height: 48rpx;
 		}
 		.iconweixin1 {
 			color: #18bf16;

+ 125 - 84
pages/money/wallet.vue

@@ -2,54 +2,49 @@
 	<view class="content">
 		<view class="content-money">
 			<view class="money-box">
-				<view class="text">可提现金额(元)</view>
-				<view class="money">{{ money | getMoneyStyle }}</view>
-			</view>
-			<view class="moneyTx" @click="navto('/pages/money/recharge')">充值</view>
-			<view class="flex buttom-box">
-				<view class="buttom" @click="navto('/pages/money/recharge')">
-					<view class="icon"><image class="icon-img" src="/static/icon/i5.png" mode="aspectFit"></image></view>
-					<text>充值</text>
-				</view>
-				<view class="interval"></view>
-				<view class="buttom" @click="navto('/pages/money/withdrawal')">
-					<view class="icon"><image class="icon-img" src="/static/icon/i1.png" mode="aspectFit"></image></view>
-					<text>提现</text>
-				</view>
+				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/img/fanhui.png" mode=""></image></view>
+				<view class="header">我的佣金</view>
+				<image class="money_bg" src="../../static/img/anchor12.png"></image>
+				<view class="money">{{ userInfo.brokerage_price | 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':maxheight+'px'}" class="swiper-box" duration="300" @change="changeTab">
+		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300" @change="changeTab">
 			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
 				<scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData">
 					<!-- 空白页 -->
 					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
-
 					<!-- 订单列表 -->
-					<view v-for="(item, index) in tabItem.orderList" :key="index" class="order-item flex">
-						<view class="title-box">
-							<view class="title">
-								<text>{{ item.title }}</text>
+					<template v-for="(ls, index) in tabItem.orderList">
+						<view v-for="(item, i) in ls.list" class="order-item flex">
+							<view class="title-box">
+								<view class="title">
+									<text>{{ item.title }}</text>
+								</view>
+
+								<view class="time">
+									<text>{{ item.add_time }}</text>
+								</view>
 							</view>
-							<view class="time">
-								<text>{{ item.add_time }}</text>
+							<view class="money">
+								<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
 							</view>
 						</view>
-						<view class="money">
-							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
-						</view>
-					</view>
+					</template>
 					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
 				</scroll-view>
 			</swiper-item>
 		</swiper>
+		<view class="wallet-btn" @click="navto('/pages/money/withdrawal')">立即提现</view>
 	</view>
 </template>
 
 <script>
 import { spreadCommission, userBalance } from '@/api/wallet.js';
+import { mapState, mapMutations } from 'vuex';
 import { getMoneyStyle } from '@/utils/rocessor.js';
 import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 import empty from '@/components/empty';
@@ -61,33 +56,30 @@ export default {
 		empty,
 		uniLoadMore
 	},
-	onReady() {
+	onReady(res) {
 		// 初始化获取页面宽度
-		uni.createSelectorQuery()
-			.select('.content')
-			.fields(
-				{
-					size: true
-				},
-				data => {
-					console.log(data);
-					console.log(Math.floor((data.width / 750) * 300));
-					// 保存头部高度
-					this.maxheight =data.height - Math.floor((data.width / 750) * 570);
-					console.log(this.maxheight);
-				}
-			)
-			.exec();
+		var _this = this;
+		uni.getSystemInfo({
+			success: resu => {
+				const query = uni.createSelectorQuery();
+				query.select('.swiper-box').boundingClientRect();
+				query.exec(function(res) {
+					_this.maxheight = resu.windowHeight - res[0].top + 'px';
+					console.log('打印页面的剩余高度', _this.height);
+				});
+			},
+			fail: res => {}
+		});
 	},
 	data() {
 		return {
 			// 头部图高度
-			maxheight:'',
+			maxheight: '',
 			tabCurrentIndex: 0,
 			navList: [
 				{
 					state: 0,
-					text: '全部',
+					text: '收入',
 					loadingType: 'more',
 					orderList: [],
 					page: 1, //当前页数
@@ -100,26 +92,16 @@ export default {
 					orderList: [],
 					page: 1, //当前页数
 					limit: 10 //每次信息条数
-				},
-				{
-					state: 2,
-					text: '收入',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
 				}
 			],
 			money: ''
 		};
 	},
-	onLoad(options) {},
-	onShow() {
+	onLoad(options) {
 		this.loadData();
-		// 获取用户余额
-		userBalance({}).then(({ data }) => {
-			this.money = data.now_money;
-		});
+	},
+	computed: {
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
 	},
 	methods: {
 		// 页面跳转
@@ -133,18 +115,17 @@ export default {
 			//这里是将订单挂载到tab列表下
 			let index = this.tabCurrentIndex;
 			let navItem = this.navList[index];
-			let state = navItem.state;
+			let state = navItem.state + 3;
 			if (source === 'tabChange' && navItem.loaded === true) {
 				//tab切换只有第一次需要加载数据
 				return;
 			}
-			if (navItem.loadingType === 'loading') {
+			if (navItem.loadingType === 'noMore') {
 				//防止重复加载
 				return;
 			}
 			// 修改当前对象状态为加载中
 			navItem.loadingType = 'loading';
-
 			spreadCommission(
 				{
 					page: navItem.page,
@@ -153,11 +134,8 @@ export default {
 				state
 			)
 				.then(({ data }) => {
-					if (data.length > 0) {
-						navItem.orderList = navItem.orderList.concat(data[0].list);
-						console.log(navItem.orderList);
-						navItem.page++;
-					}
+					navItem.orderList = navItem.orderList.concat(data);
+					navItem.page++;
 					if (navItem.limit == data.length) {
 						//判断是否还有数据, 有改为 more, 没有改为noMore
 						navItem.loadingType = 'more';
@@ -182,6 +160,12 @@ export default {
 		//顶部tab点击
 		tabClick(index) {
 			this.tabCurrentIndex = index;
+		},
+		// 点击返回 我的页面
+		toBack() {
+			uni.switchTab({
+				url: '/pages/user/user'
+			});
 		}
 	}
 };
@@ -195,18 +179,20 @@ page {
 .content-money {
 	padding-bottom: 30rpx;
 	background: $page-color-base;
+	// border: 2px solid #ffffff;
+	// padding-top: var(--status-bar-height);
 	.moneyTx {
 		position: absolute;
-		top: 150rpx;
+		top: 120rpx;
 		right: 0rpx;
-		width: 150rpx;
-		padding: 10rpx 30rpx;
+		// width: 150rpx;
+		padding: 10rpx 10rpx;
 		border: 2px solid #ffffff;
-		border-top-left-radius: 99rpx;
-		border-bottom-left-radius: 99rpx;
-		color: #ffffff;
+		border-top-left-radius: 15rpx;
+		border-bottom-left-radius: 15rpx;
 		line-height: 1;
 		font-size: $font-base;
+		background: #ffffff;
 	}
 	.buttom-box {
 		background-color: #ffffff;
@@ -225,8 +211,8 @@ page {
 			background-color: #eeeeee;
 		}
 		.icon {
-			height: 50rpx;
-			width: 48rpx;
+			height: 36rpx;
+			width: 36rpx;
 			margin: 0 auto;
 			.icon-img {
 				width: 100%;
@@ -236,17 +222,56 @@ page {
 	}
 }
 .money-box {
-	background-color: $base-color;
-	padding-top: var(--status-bar-height);
-	height: 368rpx;
 	color: #ffffff;
 	text-align: center;
+	position: relative;
+	background-color: pink;
+	.header {
+		position: absolute;
+		left: 0;
+		top: 0;
+		width: 100%;
+		height: 80rpx;
+		font-size: 32rpx;
+		font-weight: 700;
+		z-index: 99;
+		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: 34rpx;
+		height: 34rpx;
+	}
+	.money_bg {
+		width: 100%;
+		height: 360rpx;
+		display: block;
+	}
 	.text {
-		padding-top: 147rpx;
-		font-size: $font-sm;
+		padding-top: 80rpx;
+		font-size: $font-lg;
 	}
 	.money {
-		font-size: 56rpx;
+		position: absolute;
+		top: 0;
+		width: 100%;
+		padding-top: 186rpx;
+		font-size: 60rpx;
+		font-weight: bold;
+		&::before {
+			content: '¥';
+			font-size: 30rpx;
+		}
 	}
 }
 
@@ -265,10 +290,10 @@ page {
 		align-items: center;
 		height: 100%;
 		font-size: 15px;
-		color: $font-color-dark;
+		color: #999999;
 		position: relative;
 		&.current {
-			color: $base-color;
+			color: #000000;
 			&:after {
 				content: '';
 				position: absolute;
@@ -277,7 +302,7 @@ page {
 				transform: translateX(-50%);
 				width: 44px;
 				height: 0;
-				border-bottom: 2px solid $base-color;
+				border-bottom: 2px solid #FF4C4C;
 			}
 		}
 	}
@@ -300,7 +325,7 @@ page {
 			}
 		}
 		.money {
-			color: #fd5b23;
+			color: #ff0000;
 			font-size: $font-lg;
 		}
 	}
@@ -308,6 +333,22 @@ page {
 .list-scroll-content {
 	height: 100%;
 }
+.wallet-btn {
+	width: 674rpx;
+	height: 88rpx;
+	background: #FF4C4C;
+	border-radius: 44rpx;
+	font-size: $font-lg;
+	font-family: PingFang SC;
+	font-weight: 500;
+	color: #ffffff;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	position: fixed;
+	left: 38rpx;
+	bottom: 50rpx;
+}
 .content {
 	height: 100%;
 	.empty-content {

+ 119 - 122
pages/money/withdrawal.vue

@@ -1,31 +1,30 @@
 <template>
-	<view class="content">
-		<uni-notice-bar single="true" text="每月25号到月底可提现上月结算余额"></uni-notice-bar>
+	<view class="content" v-if="!sh">
 		<view class="content-money">
-			<view class="flex ">
-				<view class="buttom">
-					<view class="icon">{{ money | getMoneyStyle }}</view>
-					<text class="text">可提现金额</text>
+			<view class="buttom">
+				<text class="text">可提现金额</text>
+				<view class="icon">
+					<text>¥</text>
+					{{ money }}
 				</view>
-				<view class="interval"></view>
-				<view class="buttom">
-					<view class=" icon">{{ freeze | getMoneyStyle }}</view>
-					<text class="text">待审核提现金额</text>
+			</view>
+			<view class="interval"></view>
+			<view class="buttom">
+				<text class="text">申请提现金额</text>
+				<view class=" icon">
+					<input class="input" type="number" v-model="withdrawal" :placeholder="'最低提现金额' + minPrice + '元'" placeholder-class="placeholder" />
 				</view>
 			</view>
-		</view>
-		<view class="row-box">
-			<view class="title">提现金额</view>
-			<view class="row">
-				<text class="tit">¥</text>
-				<input class="input" type="number" v-model="withdrawal" :placeholder="'最低提现金额' + minPrice + '元'" placeholder-class="placeholder" />
-				<view class="buttom" @click="withdrawal = money">全部提现</view>
+			<view class="interval"></view>
+			<view class="tip">
+				<text class="tip-text">申请提现金额</text>
+				<view class=" tip-icon" @click="all()">全部提现</view>
 			</view>
 		</view>
-		<!-- #ifndef MP-WEIXIN -->
-		<view class="list" v-if="!weichatBsrowser">
+
+		<view class="list">
 			<radio-group @change="tabRadio">
-				<label>
+				<!-- <label>
 					<view class="box">
 						<view class="icon iconfont iconweixin1"></view>
 						<view class="title-box">
@@ -33,20 +32,20 @@
 						</view>
 						<view class="right"><radio value="weixin" color="#5dbc7c" :checked="type == 'weixin'" /></view>
 					</view>
-				</label>
+				</label> -->
 				<label>
 					<view class="box">
 						<view class="icon iconfont iconzhifubao"></view>
 						<view class="title-box">
 							<view class="title">
-								<text v-if="aliData.fullname">提现至支付宝</text>
+								<text v-if="aliData.fullname != null">提现至支付宝</text>
 								<text v-else>请创建支付宝账号</text>
 							</view>
 							<view class="node">
-								<text v-if="aliData.fullname">真实姓名({{ aliData.fullname }})</text>
+								<text v-if="aliData.fullname != null">真实姓名({{ aliData.fullname }})</text>
 							</view>
 						</view>
-						<view class="right"><radio value="alipay" color="#5dbc7c" :checked="type == 'alipay'" /></view>
+						<view class="right"><radio value="alipay" color="#FF4C4C" :checked="type == 'alipay'" /></view>
 					</view>
 				</label>
 				<label>
@@ -54,83 +53,73 @@
 						<view class="icon iconfont"><image class="icon-img" src="/static/icon/i8.png" mode="aspectFit"></image></view>
 						<view class="title-box">
 							<view class="title">
-								<text v-if="bankData.bankno">{{ bankData.bank + ' ' + bankData.bankno }}</text>
+								<text v-if="bankData.bankno != null">{{ bankData.bank + ' ' + bankData.bankno }}</text>
 								<text v-else>请创建银行账号</text>
 							</view>
 							<view class="node">
-								<text v-if="bankData.fullname">真实姓名({{ bankData.fullname }})</text>
+								<text v-if="bankData.fullname != null">真实姓名({{ bankData.fullname}})</text>
 							</view>
 						</view>
-						<view class="right"><radio value="bank" color="#5dbc7c" :checked="type == 'bank'" /></view>
+						<view class="right"><radio value="bank" color="#FF4C4C" :checked="type == 'bank'" /></view>
 					</view>
 				</label>
 			</radio-group>
 		</view>
-		<!-- #endif -->
 		<button class="add-btn up" @click="confirm">提交申请</button>
-		<button class="add-btn modified" v-if="!weichatBsrowser" @click="navTo('/pages/money/account')">账号管理</button>
+		<button class="add-btn modified" @click="navTo('/pages/money/account')">账号管理</button>
 	</view>
 </template>
 
 <script>
 import { getMoneyStyle } from '@/utils/rocessor.js';
 import { extractCash, extractBank, aliInfo, bankInfo } from '@/api/wallet.js';
-import uniNoticeBar from '@/components/uni-notice-bar/uni-notice-bar.vue';
+import { mapState, mapMutations } from 'vuex';
+import { loadIndexs } from '@/api/index.js';
 export default {
-	filters: {
-		getMoneyStyle
-	},
-	components: {
-		uniNoticeBar
-	},
 	data() {
 		return {
-			type: 'weixin', //提现方式
-			money: '0.00', //可提现金额
-			freeze: '0.0', //冻结金额
+			sh: true,
+			type: 'alipay', //提现方式
+			money: '', //可提现金额
 			withdrawal: '', //提现金额
 			minPrice: '', //最少提现金额
-			aliData: {},
-			bankData: {},
+			coldMoney: '', //冻结中的金额
+			aliData: { fullname: '', alino: '' },
+			bankData: { fullname: '', bank: '', bankno: '' },
 			// #ifdef H5
 			weichatBsrowser: false
 			// #endif
 		};
 	},
-	onLoad(options) {
+	computed: {
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin']),
+		moneyMin() {
+			return '最低提现金额' + this.minPrice + '元';
+		}
+	},
+	onShow(options) {
 		// #ifdef H5
 		this.weichatBsrowser = uni.getStorageSync('weichatBrowser');
 		// #endif
 		//加载提现信息
 		this.loadData();
 		// 加载提款账号信息
-		this.loadAli();
-		this.loadBank();
+		this.aliData.fullname = this.userInfo.alipay_name;
+		console.log(this.aliData.fullname);
+		this.aliData.alino = this.userInfo.alipay_code;
+		this.bankData.fullname = this.userInfo.bank_user_name;
+		this.bankData.bank = this.userInfo.bank_name;
+		this.bankData.bankno = this.userInfo.bank_code;
 	},
 	methods: {
-		// 更新数据
-		dataUp(){
-			this.loadAli();
-			this.loadBank();
-		},
-		//加载数据
-		async loadAli(source) {
-			aliInfo({}).then(e => {
-				this.aliData = e.data;
-			});
-		},
-		// 加载银行卡信息
-		async loadBank() {
-			bankInfo({}).then(e => {
-				this.bankData = e.data;
-			});
-		},
 		// 加载余额信息
 		async loadData() {
 			extractBank({}).then(({ data }) => {
-				this.money = data.moneyCount;//可提现余额
-				this.minPrice = data.minPrice;//最小提现
-				this.freeze =data.inmoneyCount//提现中的余额
+				console.log(data);
+				this.coldMoney = data.brokerage_price; //冻结中金额
+				this.money = data.commissionCount * 1; //可提现余额
+				this.minPrice = data.minPrice; //最小提现
+				this.freeze = data.inmoneyCount; //提现中的余额
 			});
 		},
 		// 跳转
@@ -139,34 +128,47 @@ export default {
 				url: url
 			});
 		},
+		all() {
+			this.withdrawal = this.money;
+		},
 		// 切换选中对象
 		tabRadio(e) {
 			this.type = e.detail.value;
 		},
 		// 提交
 		confirm() {
+			console.log(this.withdrawal);
+			if (this.withdrawal === '') {
+				this.$api.msg('请填写需要提现的佣金');
+				return;
+			}
+			if (this.withdrawal == 0) {
+				this.$api.msg('提现佣金不能为0');
+				return;
+			}
+			if (this.withdrawal < this.minPrice) {
+				this.$api.msg('提现金额不能低于最小金额');
+				return;
+			}
 			let data = {
 				extract_type: this.type, //bank -银行卡 alipay-支付宝 weixin-微信
 				money: this.withdrawal, //金额
-				money_type: 1//0佣金1余额
-			}
-			if (this.type=='alipay') {
+				money_type: 'brokerage' //0佣金1余额
+			};
+			if (this.type == 'alipay') {
 				data.name = this.aliData.fullname;
 				data.alipay_code = this.aliData.alino;
 			}
-			if (this.type=='bank') {
+			if (this.type == 'bank') {
 				data.name = this.bankData.fullname;
 				data.bankname = this.bankData.bank;
 				data.cardnum = this.bankData.bankno;
 			}
-			
-			
+
 			extractCash(data)
 				.then(e => {
-					uni.showToast({
-						title: '提交成功',
-						duration: 2000,
-						position: 'top'
+					uni.navigateTo({
+						url: '/pages/money/success?type=1'
 					});
 				})
 				.catch(e => {
@@ -182,77 +184,72 @@ page {
 	height: 100%;
 }
 .content-money {
-	padding: 30rpx 0;
-	background: #ffffff;
-}
-.flex {
+	padding: 0 20rpx;
 	background-color: #ffffff;
-	text-align: center;
-	margin: 0 30rpx;
-	border-radius: $border-radius-sm;
 	.buttom {
-		font-size: $font-lg;
-		width: 50%;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		height: 110rpx;
 	}
 	.interval {
-		width: 2px;
-		height: 60rpx;
-		background-color: #eeeeee;
+		width: 100%;
+		height: 1px;
+		background: #e6e6e6;
 	}
 	.icon {
-		background-size: 100%;
-		font-size: 42rpx;
-		color: $font-color-dark;
-		font-weight: bold;
-		background-repeat: no-repeat;
-		background-position: center;
-	}
-	.text {
-		color: $font-color-light;
-	}
-}
-
-.row-box {
-	margin-top: 30rpx;
-	padding: 20rpx 30rpx;
-	background: #fff;
-	.title {
-		font-size: $font-base + 2rpx;
-		color: $font-color-dark;
-	}
-	.row {
-		display: flex;
-		align-items: center;
-		position: relative;
-		height: 80rpx;
-		.tit {
-			flex-shrink: 0;
-			width: 40rpx;
-			font-size: 30rpx;
-			color: $font-color-dark;
+		font-size: 48rpx;
+		font-family: SourceHanSansCN;
+		font-weight: 500;
+		color: #333333;
+		text {
+			font-size: 32rpx;
 		}
 		.input {
+			text-align: right;
 			flex: 1;
 			font-size: 30rpx;
 			color: $font-color-dark;
 		}
 		.iconlocation {
+			text-align: right;
 			font-size: 36rpx;
 			color: $font-color-light;
 		}
-
-		.buttom {
-			color: $font-color-spec;
-			font-size: $font-base;
+	}
+	.text {
+		font-size: 32rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #333333;
+	}
+	.tip {
+		height: 74rpx;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		.tip-text {
+			font-size: 24rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #999999;
+		}
+		.tip-icon {
+			font-size: 26rpx;
+			font-family: SourceHanSansCN;
+			font-weight: 400;
+			color: #438bed;
 		}
 	}
 }
+
 .add-btn {
 	&.modified {
-		color: $base-color;
+		color: #FF4C4C;
+		border:1px solid  #FF4C4C;
 	}
 	&.up {
-		background-color: $base-color;
+		background: #FF4C4C;
 		color: #fff;
 	}
 	display: flex;

+ 233 - 0
pages/user/JDcool.vue

@@ -0,0 +1,233 @@
+<template>
+	<view class="content">
+		<view class="content-money">
+			<view class="money-box">
+				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/img/fanhui.png" mode=""></image></view>
+				<view class="header">金豆池</view>
+				<image class="money_bg" src="../../static/img/anchor12.png"></image>
+				<view class="money">100</view>
+				<view class="tip">
+					金豆数量
+				</view>
+			</view>
+		</view>
+		<view class="title">
+			- 实时瓜分 -
+		</view>
+		<scroll-view class="swiper-box" scroll-y>
+			<!-- 空白页 -->
+			<!-- <empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty> -->
+			<!-- 订单列表 -->
+			<template>
+				<view v-for="(item, i) in 10" class="order-item flex">
+					<view class="left flex">
+						<view class="avator">
+							<image src="" mode=""></image>
+						</view>
+						<view class="order-font">
+							御风获得<text>20</text>个金豆
+						</view>
+					</view>
+					<view class="time">
+						2019-12-02 12:00:00
+					</view>
+				</view>
+			</template>
+			<!-- <uni-load-more :status="tabItem.loadingType"></uni-load-more> -->
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+import empty from '@/components/empty';
+export default {
+	components: {
+		empty,
+		uniLoadMore
+	},
+	onReady(res) {
+		// 初始化获取页面宽度
+		var _this = this;
+		uni.getSystemInfo({
+			success: resu => {
+				const query = uni.createSelectorQuery();
+				query.select('.swiper-box').boundingClientRect();
+				query.exec(function(res) {
+					_this.maxheight = resu.windowHeight - res[0].top + 'px';
+					console.log('打印页面的剩余高度', _this.height);
+				});
+			},
+			fail: res => {}
+		});
+	}
+};
+</script>
+
+<style lang="scss">
+page {
+	background: #ffffff;
+	height: 100%;
+}
+.content-money {
+	background: $page-color-base;
+	// border: 2px solid #ffffff;
+	// padding-top: var(--status-bar-height);
+	.moneyTx {
+		position: absolute;
+		top: 120rpx;
+		right: 0rpx;
+		// width: 150rpx;
+		padding: 10rpx 10rpx;
+		border: 2px solid #ffffff;
+		border-top-left-radius: 15rpx;
+		border-bottom-left-radius: 15rpx;
+		line-height: 1;
+		font-size: $font-base;
+		background: #ffffff;
+	}
+	.buttom-box {
+		background-color: #ffffff;
+		text-align: center;
+		margin: 0 30rpx;
+		padding: 20rpx 0;
+		border-radius: $border-radius-sm;
+		margin-top: -60rpx;
+		.buttom {
+			font-size: $font-lg;
+			flex-grow: 1;
+		}
+		.interval {
+			width: 2px;
+			height: 60rpx;
+			background-color: #eeeeee;
+		}
+		.icon {
+			height: 36rpx;
+			width: 36rpx;
+			margin: 0 auto;
+			.icon-img {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	}
+}
+.money-box {
+	height: 430rpx;
+	color: #ffffff;
+	text-align: center;
+	position: relative;
+	background-color: pink;
+	.header {
+		position: absolute;
+		left: 0;
+		top: 0;
+		width: 100%;
+		height: 80rpx;
+		font-size: 32rpx;
+		font-weight: 700;
+		z-index: 99;
+		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: 34rpx;
+		height: 34rpx;
+	}
+	.money_bg {
+		width: 100%;
+		height: 430rpx;
+		display: block;
+	}
+	.text {
+		padding-top: 80rpx;
+		font-size: $font-lg;
+	}
+	.money {
+		position: absolute;
+		top: 0;
+		width: 100%;
+		padding-top: 186rpx;
+		font-size: 84rpx;
+		font-weight: bold;
+	}
+	.tip {
+		position: absolute;
+		top: 0;
+		width: 100%;
+		text-align: center;
+		padding-top: 304rpx;
+		font-size: 26rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #FFFFFF;
+	}
+}
+
+.title {
+	height: 82rpx;
+	line-height: 82rpx;
+	text-align: center;
+	font-size: 30rpx;
+	font-family: PingFang SC;
+	font-weight: 500;
+	color: #333333;
+	border-bottom: 1px solid #f0f0f0;
+}
+
+// 列表
+.swiper-box {
+	.order-item {
+		padding: 18rpx 24rpx 14rpx;
+		border-bottom: 1px solid #f0f0f0;
+		.left {
+			justify-content: flex-start;
+			.avator {
+				width: 70rpx;
+				height: 70rpx;
+				border-radius: 50rpx;
+				background: #03A9F4;
+				image {
+					width: 70rpx;
+					height: 70rpx;
+					border-radius: 50rpx;
+				}
+			}
+			.order-font {
+				margin-left: 10rpx;
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #3F454B;
+				text {
+					color: #FF4D4C;
+				}
+			}
+		}
+		.time {
+			font-size: 22rpx;
+			font-family: PingFang SC;
+			font-weight: 400;
+			color: #999999;
+		}
+		
+	}
+}
+.content {
+	height: 100%;
+	.empty-content {
+		background-color: #ffffff;
+	}
+}
+</style>

+ 160 - 80
pages/user/award.vue

@@ -2,49 +2,46 @@
 	<view class="content">
 		<view class="content-money">
 			<view class="money-box">
-				<view class="text">可提现佣金(元)</view>
-				<view class="money">{{ money | getMoneyStyle }}</view>		
-			</view>
-			<view class="moneyTx" @click="navto('./withdrawal')">提现</view>
-			<view class="flex buttom-box">
-				<view class="buttom" @click="navto('/pages/money/recharge')">
-					<view class="icon"><image src="/static/icon/i6.png" mode="aspectFill" class="icon-img"></image></view>
-					<text>统计</text>
-				</view>
-				<view class="interval"></view>
-				<view class="buttom" @click="navto('./withdrawal')">
-					<view class="icon"><image src="/static/icon/i7.png" mode="aspectFill" class="icon-img"></image></view>
-					<text>提现</text>
+				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/img/fanhui.png" mode=""></image></view>
+				<view class="yue" @click="navto('/pages/user/integralTransforms')">
+					积分转账
 				</view>
+				<view class="header">我的余额</view>
+				<image class="money_bg" src="../../static/img/anchor12.png"></image>
+				<view class="money">{{ money | 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':maxheight+'px'}" class="swiper-box" duration="300" @change="changeTab">
+		<swiper :current="tabCurrentIndex" :style="{ height: maxheight + 'px' }" 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">
+				<scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData">
 					<!-- 空白页 -->
 					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
-					
 					<!-- 订单列表 -->
-					<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>
+					<template v-for="(ls, index) in tabItem.orderList">
+						<view v-for="(item, i) in ls.list" class="order-item flex">
+							<view class="title-box">
+								<view class="title">
+									<text>{{ item.title }}</text>
+								</view>
+
+								<view class="time">
+									<text>{{ item.add_time }}</text>
+								</view>
 							</view>
-							<view class="time">
-								<text>{{ item.add_time }}</text>
+							<view class="money">
+								<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
 							</view>
 						</view>
-						<view class="money">
-							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
-						</view>
-					</view>
+					</template>
 					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
 				</scroll-view>
 			</swiper-item>
 		</swiper>
+		<view class="wallet-btn" @click="navto('/pages/money/recharge')">立即充值</view>
 	</view>
 </template>
 
@@ -63,18 +60,16 @@ export default {
 		uniLoadMore
 	},
 	onReady() {
-		//初始化获取页面宽度
-		uni.createSelectorQuery().select('.content')
+		// 初始化获取页面宽度
+		uni.createSelectorQuery()
+			.select('.content')
 			.fields(
-			{
-				size:true
-			},
-			data => {
-				console.log(data);
-				console.log(Math.floor((data.width /750) * 300));
-				//保存头部高度
-				this.maxheight =data.height - Math.floor((data.width / 750) * 570);
-				console.log(this.maxheight);
+				{
+					size: true
+				},
+				data => {
+					// 保存头部高度
+					this.maxheight = data.height - Math.floor((data.width / 750) * 330) - 40 - 40;
 				}
 			)
 			.exec();
@@ -82,15 +77,15 @@ export default {
 	data() {
 		return {
 			// 头部图高度
-			maxheight:'',
+			maxheight: '',
 			tabCurrentIndex: 0,
 			navList: [
 				{
-					state: 0,
+					state: 2,
 					text: '收入',
 					loadingType: 'more',
 					orderList: [],
-					page: 1, //当前页
+					page: 1, //当前页
 					limit: 10 //每次信息条数
 				},
 				{
@@ -98,43 +93,45 @@ export default {
 					text: '支出',
 					loadingType: 'more',
 					orderList: [],
-					page: 1, //当前页
+					page: 1, //当前页
 					limit: 10 //每次信息条数
-				},
+				}
 			],
 			money: ''
 		};
 	},
-	onLoad(options) {},
-	onShow() {
+	onLoad(options) {
 		this.loadData();
-		//获取用户余额
+	},
+	onShow() {
+		// 获取用户余额
 		userBalance({}).then(({ data }) => {
-			this.money = data.commissionCount;
+			this.money = data.now_money;
 		});
 	},
 	methods: {
+		// 页面跳转
 		navto(e) {
 			uni.navigateTo({
 				url: e
 			});
 		},
+		//获取收入支出信息
 		async loadData(source) {
-			//这里将订单挂载到tab列表下
+			//这里将订单挂载到tab列表下
 			let index = this.tabCurrentIndex;
 			let navItem = this.navList[index];
-			let state = navItem.state+3;
+			let state = navItem.state;
 			if (source === 'tabChange' && navItem.loaded === true) {
 				//tab切换只有第一次需要加载数据
 				return;
 			}
-			if (navItem.loadingType === 'loading') {
+			if (navItem.loadingType === 'noMore') {
 				//防止重复加载
 				return;
 			}
-			//修改当前对象状态为加载中
+			// 修改当前对象状态为加载中
 			navItem.loadingType = 'loading';
-			
 			spreadCommission(
 				{
 					page: navItem.page,
@@ -143,16 +140,14 @@ export default {
 				state
 			)
 				.then(({ data }) => {
-					if(data.length > 0) {
-						navItem.orderList = navItem.orderList.concat(data[0].list);
-						console.log(navItem.orderList);
-						navItem.page++;
-					}
-					//判断是否还有数据, 有改为more, 没有改为noMore
+					navItem.orderList = navItem.orderList.concat(data);
+					navItem.page++;
 					if (navItem.limit == data.length) {
+						//判断是否还有数据, 有改为 more, 没有改为noMore
 						navItem.loadingType = 'more';
 						return;
 					} else {
+						//判断是否还有数据, 有改为 more, 没有改为noMore
 						navItem.loadingType = 'noMore';
 					}
 					uni.hideLoading();
@@ -162,6 +157,7 @@ export default {
 					console.log(e);
 				});
 		},
+
 		//swiper 切换
 		changeTab(e) {
 			this.tabCurrentIndex = e.target.current;
@@ -170,9 +166,15 @@ export default {
 		//顶部tab点击
 		tabClick(index) {
 			this.tabCurrentIndex = index;
+		},
+		// 点击返回 我的页面
+		toBack() {
+			uni.switchTab({
+				url: '/pages/user/user'
+			});
 		}
 	}
-}
+};
 </script>
 
 <style lang="scss">
@@ -180,21 +182,28 @@ page {
 	background: #ffffff;
 	height: 100%;
 }
+// .header{
+// 	width: 100%;
+// 	height: 54px;
+// 	background-color: #FF0000;
+// }
 .content-money {
 	padding-bottom: 30rpx;
 	background: $page-color-base;
-	.moneyTx{
+	// border: 2px solid #ffffff;
+	// padding-top: var(--status-bar-height);
+	.moneyTx {
 		position: absolute;
-		top: 150rpx;
+		top: 120rpx;
 		right: 0rpx;
-		width: 150rpx;
-		padding: 10rpx 30rpx;
-		border: 2px solid #FFFFFF;
-		border-top-left-radius: 99rpx;
-		border-bottom-left-radius: 99rpx;
-		color: #FFFFFF;
+		// width: 150rpx;
+		padding: 10rpx 10rpx;
+		border: 2px solid #ffffff;
+		border-top-left-radius: 15rpx;
+		border-bottom-left-radius: 15rpx;
 		line-height: 1;
 		font-size: $font-base;
+		background: #ffffff;
 	}
 	.buttom-box {
 		background-color: #ffffff;
@@ -213,8 +222,8 @@ page {
 			background-color: #eeeeee;
 		}
 		.icon {
-			height: 50rpx;
-			width: 48rpx;
+			height: 36rpx;
+			width: 36rpx;
 			margin: 0 auto;
 			.icon-img {
 				width: 100%;
@@ -224,17 +233,72 @@ page {
 	}
 }
 .money-box {
-	background-color: $base-color;
-	padding-top: var(--status-bar-height);
-	height: 368rpx;
 	color: #ffffff;
 	text-align: center;
+	position: relative;
+	background-color: pink;
+	.yue{
+		position: absolute;
+		right: 0;
+		z-index: 9999;
+		text-align: center;
+		line-height: 50rpx;
+		top: 100rpx;
+		width: 142rpx;
+		height: 50rpx;
+		background: #FFFFFF;
+		border-radius: 7rpx;
+		font-size: 26rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #FF4C4C;
+	}
+	.header {
+		position: absolute;
+		left: 0;
+		top: 0;
+		width: 100%;
+		height: 80rpx;
+		font-size: 32rpx;
+		font-weight: 700;
+		z-index: 99;
+		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: 34rpx;
+		height: 34rpx;
+	}
+	.money_bg {
+		width: 100%;
+		height: 360rpx;
+		display: block;
+	}
 	.text {
-		padding-top: 147rpx;
-		font-size: $font-sm;
+		padding-top: 80rpx;
+		font-size: $font-lg;
 	}
 	.money {
-		font-size: 56rpx;
+		position: absolute;
+		top: 0;
+		width: 100%;
+		padding-top: 186rpx;
+		font-size: 60rpx;
+		font-weight: bold;
+		&::before {
+			content: '¥';
+			font-size: 30rpx;
+		}
 	}
 }
 
@@ -253,10 +317,10 @@ page {
 		align-items: center;
 		height: 100%;
 		font-size: 15px;
-		color: $font-color-dark;
+		color: #999999;
 		position: relative;
 		&.current {
-			color: $base-color;
+			color: #000000;
 			&:after {
 				content: '';
 				position: absolute;
@@ -265,12 +329,12 @@ page {
 				transform: translateX(-50%);
 				width: 44px;
 				height: 0;
-				border-bottom: 2px solid $base-color;
+				border-bottom: 2px solid #FF4C4C;
 			}
 		}
 	}
 }
-//列表
+// 列表
 
 .swiper-box {
 	padding-top: 10rpx;
@@ -288,7 +352,7 @@ page {
 			}
 		}
 		.money {
-			color: #fd5b23;
+			color: #ff0000;
 			font-size: $font-lg;
 		}
 	}
@@ -296,6 +360,22 @@ page {
 .list-scroll-content {
 	height: 100%;
 }
+.wallet-btn {
+	width: 674rpx;
+	height: 88rpx;
+	background: #FF4C4C;
+	border-radius: 44rpx;
+	font-size: $font-lg;
+	font-family: PingFang SC;
+	font-weight: 500;
+	color: #ffffff;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	position: fixed;
+	left: 38rpx;
+	bottom: 50rpx;
+}
 .content {
 	height: 100%;
 	.empty-content {

+ 0 - 310
pages/user/coupon.vue

@@ -1,310 +0,0 @@
-<template>
-	<view class="content">
-		<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" class="swiper-box" duration="300" @change="changeTab">
-			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
-				<!-- 空白页 -->
-				<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
-				<view v-for="(item, index) in tabItem.orderList" :key="index" class="row flex">
-					<view class="list-money flex">
-						<image :src="item._type == 2 ? '/static/img/img03.png' : '/static/img/img02.png'" mode="scaleToFill"></image>
-						<view class="list-money-text">
-							<view class="tit" :class="{ action: item._type} == 2">
-								<text>{{ item.coupon_price }}</text>
-							</view>
-							<view class="price">
-								<text>满{{ item.use_min_price }}元</text>
-							</view>
-						</view>
-					</view>
-					<view class="list-interval position-relative">
-						<view class="bottom"></view>
-						<view class="top"></view>
-					</view>
-					<view class="row_list_right">
-						<view class="right_top">
-							<text class="right_title" :class="{ action: item._type == 2}">{{ item.coupon_title }}</text>
-						</view>
-						<view class="right_time">
-							<text>{{ item._add_time }}-{{ item.end_time }}</text>
-						</view>
-						<view class="right_use action" v-if="item._type == 2">
-							<text>{{ item._msg }}</text>
-						</view>
-						<view class="right_use noAction" v-if="item._type == 0">
-							<text>{{ item._msg }}</text>
-						</view>
-					</view>
-				</view>
-				<uni-load-more :status="tabItem.loadingType"></uni-load-more>
-			</swiper-item>
-		</swiper>
-	</view>
-</template>
-
-<script>
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import empty from '@/components/empty';
-import { getCouponsList } from '@/api/order.js';
-export default{
-	components: {
-		uniLoadMore,
-		empty
-	},
-	data() {
-		return {
-			tabCurrentIndex: 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 //每次信息条数
-				}
-			]
-		};
-	},
-	onLoad(options) {
-		this.loadData();
-	},
-	methods: {
-		//返回首页
-		navTo(){
-			uni.switchTab({
-				url: '/pages/index/index'
-			});
-		},
-		//获取订单列表
-		loadData(source) {
-			//将订单挂载到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';
-			getCouponsList(
-				{
-					page: navItem.page,
-					limit: navItem.limit
-				},
-				index
-			)
-				.then(({ data }) => {
-					let da = data.map(e => {
-						e.coupon_price = +e.coupon_price.replace(',', '');
-						e.use_min_price = +e.use_min_price.replace(',', '');
-						return e
-					});
-					navItem.orderList = navItem.orderList.concat(da);
-					console.log(navItem.orderList);
-					navItem.page++;
-					if (navItem.limit == data.length) {
-						// 判断是否还有数据,有改为more,没有改为noMore
-						navItem.loadingType = 'more';
-						return;
-					}else {
-						navItem.loadingType = 'noMore';
-					}
-					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;
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-// 卡卷可用时颜色
-$card-color-action: #fc4141;
-page,
-.content {
-	background: $page-color-base;
-	height: 100%;
-}
-
-.navbar {
-	display: flex;
-	height: 40px;
-	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: $font-color-dark;
-		position: relative;
-		&.current {
-			color: #bc253a;
-			&:after {
-				content: '';
-				position: absolute;
-				left: 50%;
-				bottom: 0;
-				transform: translateX(-50%);
-				width: 44px;
-				height: 0;
-				border-bottom: 2px solid #bc253a;
-			}
-		}
-	}
-}
-
-.swiper-box {
-	height: calc(100% - 40px);
-	.tab-content {
-		padding: 25rpx 0px;
-		font-size: 28rpx;
-		color: #1b1b1b;
-	}
-}
-
-.row {
-	border-radius: 15rpx;
-	margin: 0 25rpx;
-	margin-bottom: 25rpx;
-	height: 200rpx;
-	overflow: hidden;
-	background-color: #ffffff;
-	.list-interval {
-		border: 1px dashed $border-color-light;
-		height: 100%;
-		.top,
-		.bottom {
-			border-radius: 100rpx;
-			width: 30rpx;
-			height: 30rpx;
-			position: absolute;
-			background-color: $page-color-base;
-			right: -15rpx;
-		}
-		.top {
-			top: -18rpx;
-		}
-		.bottom {
-			bottom: -18rpx;
-		}
-	}
-	.list-money {
-		height: 100%;
-		image {
-			height: 100%;
-			width: 20rpx;
-		}
-		.list-money-text {
-			width: 220rpx;
-			padding: 0 25rpx;
-			text-align: center;
-			color: $font-color-light;
-			.tit {
-				padding: 15rpx 0rpx;
-				font-size: 55rpx;
-				font-weight: bold;
-				&.action {
-					color: $card-color-action;
-				}
-			}
-			.price {
-				padding-bottom: 25rpx;
-			}
-		}
-	}
-	.row_list_right {
-		flex-grow: 1;
-		padding-left: 25rpx;
-		line-height: 1;
-		.right_time {
-			color: $font-color-light;
-			font-size: $font-sm;
-		}
-		.right_use {
-			margin: 15rpx 0;
-			padding: 10rpx;
-			width: 140rpx;
-			text_align: center;
-			border-radius: 50rpx;
-			color: #fff;
-			font-size: $font-sm - 4rpx;
-			&.action {
-				background-color: $card-color-action;
-			}
-			&.noAction {
-				background-color: $color-gray;
-			}
-		}
-		.right_top {
-			margin: 15rpx 0;
-			font-size: $font-lg;
-			height: 50rpx;
-			color: $font-color-light;
-			.right_name {
-				font-weight: bold;
-			}
-			.right_title {
-				font-weight: bold;
-				&.action {
-					color: $font-color-base;
-				}
-			}
-		}
-	}
-	
-	.iconlocation {
-		font-size: 36rpx;
-		color: $font-color-light;
-	}
-}
-// uni-load-more
-.uni-load-more {
-	display: flex;
-	flex-direction: row;
-	height: 80rpx;
-	align-items: center;
-	justify-content: center;
-}
-</style>

+ 139 - 0
pages/user/integralTransforms.vue

@@ -0,0 +1,139 @@
+<template>
+	<view class="integralTransforms">
+		<view class="header">
+			<text class="title">{{ jifen || '0.00' }}</text><br>
+			<text>可转换积分</text>
+		</view>
+		<view class="account">
+			<text class="title">收款人UID</text>
+			<input type="number" placeholder="请输入收款人UID" v-model="account" />
+		</view>
+		<view class="num">
+			<text class="title">转账数量</text>
+			<view class="">
+				<text class="ti">¥</text>
+				<input type="number" v-model.number="num" placeholder="请输入转账数量" />
+			</view>
+		</view>
+		<view class="button" @click="submit">
+			提交申请
+		</view>
+	</view>
+</template>
+
+<script>
+// import { goPay } from '@/api/finance.js';
+import { spreadCommission, userBalance } from '@/api/wallet.js';
+import { mapState, mapMutations } from 'vuex';
+	
+	export default {
+		data() {
+			return {
+				password:'',//交易密码
+				jifen:'',//可转积分
+				num: '', //转账数量
+				account: '', //收款人账户
+				type:''
+			}
+		},
+		methods: {
+			
+			submit() {
+				let obj = this
+				if(obj.account == ''){
+					obj.$api.msg('请输入对方账号ID')
+					return
+				}
+				if(obj.num ==''){
+					obj.$api.msg('请输入转账数量')
+					return
+				}
+				if(obj.account == this.userInfo.uid){
+					obj.$api.msg('请勿转账给自己')
+					return
+				}
+				goPay({
+					num: obj.num,
+					uid: obj.account,
+				}).then(data =>{
+					console.log(data,'转账')
+					obj.num = ''
+					obj.account = ''
+					obj.$api.msg('转账成功')
+				})
+				
+				
+			}
+		},
+		computed: {
+
+			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+		},
+		onLoad(option) {
+		
+			// 获取用户余额
+			userBalance({}).then(({ data }) => {
+				this.jifen = data.now_money;
+			});
+		},
+		watch: {
+			num() {
+				if (this.num > this.jifen) {
+					this.num = this.jifen
+				}
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.integralTransforms {
+
+		.header,
+		.account,
+		.num {
+			background-color: #fff;
+			margin: 20rpx 0;
+			padding: 30rpx;
+
+			input {
+				margin-top: 10rpx;
+			}
+
+			.title {
+				font-size: 30rpx;
+				color: #333333;
+				font-family: PingFang-SC-Regular;
+			}
+		}
+
+		.header {
+			text-align: center;
+
+			text:nth-child(1) {
+				font-size: 45rpx;
+			}
+
+			text:nth-child(3) {
+				font-size: 30rpx;
+				color: #666666;
+			}
+		}
+
+		.num {
+			.ti {
+				float: left;
+			}
+		}
+
+		.button {
+			width: 520rpx;
+			margin: 60rpx auto;
+			padding: 20rpx;
+			text-align: center;
+			border-radius: 10rpx;
+			background: #FF4C4C;
+			color: #fff;
+		}
+	}
+</style>

+ 335 - 0
pages/user/jindou.vue

@@ -0,0 +1,335 @@
+<template>
+	<view class="content">
+		<view class="content-money">
+			<view class="money-box">
+				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/img/fanhui.png" mode=""></image></view>
+				<view class="header">我的金豆</view>
+				<image class="money_bg" src="../../static/img/anchor12.png"></image>
+				<view class="money">{{ userInfo.brokerage_price | 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: maxheight }" class="swiper-box" duration="300" @change="changeTab">
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
+				<scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData">
+					<!-- 空白页 -->
+					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
+					<!-- 订单列表 -->
+					<template v-for="(ls, index) in tabItem.orderList">
+						<view v-for="(item, i) in ls.list" class="order-item flex">
+							<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">
+								<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
+							</view>
+						</view>
+					</template>
+					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+
+<script>
+import { spreadCommission, userBalance } from '@/api/wallet.js';
+import { mapState, mapMutations } from 'vuex';
+import { getMoneyStyle } from '@/utils/rocessor.js';
+import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+import empty from '@/components/empty';
+export default {
+	filters: {
+		getMoneyStyle
+	},
+	components: {
+		empty,
+		uniLoadMore
+	},
+	onReady(res) {
+		// 初始化获取页面宽度
+		var _this = this;
+		uni.getSystemInfo({
+			success: resu => {
+				const query = uni.createSelectorQuery();
+				query.select('.swiper-box').boundingClientRect();
+				query.exec(function(res) {
+					_this.maxheight = resu.windowHeight - res[0].top + 'px';
+					console.log('打印页面的剩余高度', _this.height);
+				});
+			},
+			fail: res => {}
+		});
+	},
+	data() {
+		return {
+			// 头部图高度
+			maxheight: '',
+			tabCurrentIndex: 0,
+			navList: [
+				{
+					state: 0,
+					text: '收入',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页数
+					limit: 10 //每次信息条数
+				},
+				{
+					state: 1,
+					text: '支出',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页数
+					limit: 10 //每次信息条数
+				}
+			],
+			money: ''
+		};
+	},
+	onLoad(options) {
+		this.loadData();
+	},
+	computed: {
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+	},
+	methods: {
+		//获取收入支出信息
+		async loadData(source) {
+			//这里是将订单挂载到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 === 'noMore') {
+				//防止重复加载
+				return;
+			}
+			// 修改当前对象状态为加载中
+			navItem.loadingType = 'loading';
+			spreadCommission(
+				{
+					page: navItem.page,
+					limit: navItem.limit
+				},
+				state
+			)
+				.then(({ data }) => {
+					navItem.orderList = navItem.orderList.concat(data);
+					navItem.page++;
+					if (navItem.limit == data.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);
+				});
+		},
+
+		//swiper 切换
+		changeTab(e) {
+			this.tabCurrentIndex = e.target.current;
+			this.loadData('tabChange');
+		},
+		//顶部tab点击
+		tabClick(index) {
+			this.tabCurrentIndex = index;
+		},
+		// 点击返回 我的页面
+		toBack() {
+			uni.switchTab({
+				url: '/pages/user/user'
+			});
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+page {
+	background: #ffffff;
+	height: 100%;
+}
+.content-money {
+	padding-bottom: 30rpx;
+	background: $page-color-base;
+	// border: 2px solid #ffffff;
+	// padding-top: var(--status-bar-height);
+	.moneyTx {
+		position: absolute;
+		top: 120rpx;
+		right: 0rpx;
+		// width: 150rpx;
+		padding: 10rpx 10rpx;
+		border: 2px solid #ffffff;
+		border-top-left-radius: 15rpx;
+		border-bottom-left-radius: 15rpx;
+		line-height: 1;
+		font-size: $font-base;
+		background: #ffffff;
+	}
+	.buttom-box {
+		background-color: #ffffff;
+		text-align: center;
+		margin: 0 30rpx;
+		padding: 20rpx 0;
+		border-radius: $border-radius-sm;
+		margin-top: -60rpx;
+		.buttom {
+			font-size: $font-lg;
+			flex-grow: 1;
+		}
+		.interval {
+			width: 2px;
+			height: 60rpx;
+			background-color: #eeeeee;
+		}
+		.icon {
+			height: 36rpx;
+			width: 36rpx;
+			margin: 0 auto;
+			.icon-img {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	}
+}
+.money-box {
+	color: #ffffff;
+	text-align: center;
+	position: relative;
+	background-color: pink;
+	.header {
+		position: absolute;
+		left: 0;
+		top: 0;
+		width: 100%;
+		height: 80rpx;
+		font-size: 32rpx;
+		font-weight: 700;
+		z-index: 99;
+		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: 34rpx;
+		height: 34rpx;
+	}
+	.money_bg {
+		width: 100%;
+		height: 360rpx;
+		display: block;
+	}
+	.text {
+		padding-top: 80rpx;
+		font-size: $font-lg;
+	}
+	.money {
+		position: absolute;
+		top: 0;
+		width: 100%;
+		padding-top: 186rpx;
+		font-size: 60rpx;
+		font-weight: bold;
+		&::before {
+			content: '¥';
+			font-size: 30rpx;
+		}
+	}
+}
+
+.navbar {
+	display: flex;
+	height: 40px;
+	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: #000000;
+			&:after {
+				content: '';
+				position: absolute;
+				left: 50%;
+				bottom: 0;
+				transform: translateX(-50%);
+				width: 44px;
+				height: 0;
+				border-bottom: 2px solid #FF4C4C;
+			}
+		}
+	}
+}
+// 列表
+
+.swiper-box {
+	padding-top: 10rpx;
+	.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: #ff0000;
+			font-size: $font-lg;
+		}
+	}
+}
+.list-scroll-content {
+	height: 100%;
+}
+.content {
+	height: 100%;
+	.empty-content {
+		background-color: #ffffff;
+	}
+}
+</style>

+ 331 - 0
pages/user/team.vue

@@ -0,0 +1,331 @@
+<template>
+	<view class="content">
+		<view class="content-money">
+			<view class="money-box">
+				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/img/fanhui.png" mode=""></image></view>
+				<view class="header">我的推广</view>
+				<image src="../../static/img/anchor12.png" mode="" class="money_bg"></image>
+				<view class="money">
+					<text>共</text>
+					{{ all.all || 0 }}
+					<text>人</text>
+				</view>
+			</view>
+		</view>
+		<view class="navbar flex">
+			<view class="nav-item">
+				<view class="num">0</view>
+				<view class="font">个人消费</view>
+			</view>
+			<view class="xian"></view>
+			<view class="nav-item">
+				<view class="num">0</view>
+				<view class="font">团体消费</view>
+			</view>
+		</view>
+		<view class="swiper-box" :style="{ height: height }">
+			<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData" :style="{ height: height }">
+
+				<!-- 空白页 -->
+				<!-- <empty v-if="list.length === 0"></empty> -->
+
+				<!-- 订单列表 -->
+				<view class="order-item flex" v-for="(item, index) in list" :key="index">
+					<view class="title-box flex_item">
+						<view class="title-avatar"><image :src="item.avatar || '/static/error/missing-face.png'"></image></view>
+						<view class="list_tpl">
+							<view class="title">
+								<text>{{ item.mobile || item.email }}</text>
+							</view>
+							<view class="time">
+								<text>{{ item.time }}</text>
+							</view>
+						</view>
+					</view>
+				</view>
+				<uni-load-more :status="loadingType"></uni-load-more>
+			</scroll-view>
+		</view>
+	</view>
+</template>
+
+<script>
+import { spread_children,num } from '@/api/user.js';
+import { mapState, mapMutations } from 'vuex';
+import { getMoneyStyle, getTime } from '@/utils/rocessor.js';
+import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+import empty from '@/components/empty';
+export default {
+	components: {
+		empty,
+		uniLoadMore
+	},
+	onReady(res) {
+		var obj = this;
+		uni.getSystemInfo({
+			success: resu => {
+				const query = uni.createSelectorQuery();
+				query.select('.swiper-box').boundingClientRect();
+				query.exec(function(res) {
+					console.log(res, 'ddddddddddddd');
+					obj.height = resu.windowHeight - res[0].top + 'px';
+					console.log('打印页面的剩余高度', obj.height);
+				});
+			},
+			fail: res => {}
+		});
+	},
+	data() {
+		return {
+			// 头部图高度
+			height: '',
+			tabCurrentIndex: 0,
+			all: '',
+			list: [],
+			loadingType: 'more',
+			limit: 10,
+			page: 1,
+			id: ''
+		};
+	},
+	onShow() {
+		this.id = this.userInfo.id;
+		num().then(({data}) =>{
+			console.log(data)
+			this.all = data
+		})
+		this.loadData();
+	},
+	computed: {
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+	},
+	methods: {
+		loadData() {
+			const obj = this;
+			if (obj.loadingType == 'noMore' || obj.loadingType == 'loading') {
+				return;
+			}
+			obj.loadingType == 'loading';
+			spread_children({ limit: obj.limit, page: obj.page }, obj.id).then(({ data }) => {
+				data.forEach(e => {
+					e.time = getTime(e.createtime);
+				});
+				console.log(data,'123456');
+				obj.list = obj.list.concat(data);
+				// obj.list = data
+				obj.page++;
+				if (data.length == obj.limit) {
+					obj.loadingType = 'more';
+					return
+				} else {
+					obj.loadingType = 'noMore';
+				}
+			});
+		},
+		navto(e) {
+			uni.navigateTo({
+				url: e
+			});
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+page {
+	background: #f1f1f1;
+	height: 100%;
+}
+.content-money {
+	height: 480rpx;
+	padding-bottom: 30rpx;
+	background: $page-color-base;
+	position: relative;
+	.moneyTx {
+		position: absolute;
+		top: 150rpx;
+		right: 0rpx;
+		width: 150rpx;
+		padding: 10rpx 30rpx;
+		border: 2px solid #ffffff;
+		border-top-left-radius: 99rpx;
+		border-bottom-left-radius: 99rpx;
+		color: #ffffff;
+		line-height: 1;
+		font-size: $font-base;
+	}
+	.buttom-box {
+		background-color: #ffffff;
+		text-align: center;
+		margin: 0 30rpx;
+		padding: 20rpx 0;
+		border-radius: $border-radius-sm;
+		margin-top: -60rpx;
+		.buttom {
+			font-size: $font-lg;
+			flex-grow: 1;
+		}
+		.interval {
+			width: 2px;
+			height: 60rpx;
+			background-color: #eeeeee;
+		}
+		.icon {
+			height: 50rpx;
+			width: 48rpx;
+			margin: 0 auto;
+			.icon-img {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	}
+}
+.money-box {
+	height: 480rpx;
+	color: #FFFFFF;
+	text-align: center;
+	position: relative;
+	.header {
+		position: absolute;
+		left: 0;
+		top: 0;
+		width: 100%;
+		height: 80rpx;
+		font-size: 32rpx;
+		font-weight: 700;
+		z-index: 99;
+		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: 34rpx;
+		height: 34rpx;
+	}
+	.money_bg {
+		width: 100%;
+		height: 480rpx;
+		display: block;
+	}
+	.text {
+		padding-top: 80rpx;
+		font-size: $font-sm;
+	}
+	.money {
+		position: absolute;
+		top: 0;
+		width: 100%;
+		padding-top: 186rpx;
+		font-size: 60rpx;
+		font-weight: bold;
+		font-size: 82rpx;
+		text {
+			font-size: 36rpx;
+		}
+	}
+}
+
+.navbar {
+	width: 702rpx;
+	height: auto;
+	padding: 20rpx 0;
+	background: #FFFFFF;
+	border-radius: 10rpx;
+	position: relative;
+	z-index: 10;
+	margin: -60rpx auto;
+	.xian {
+		width: 2rpx;
+		height: 54rpx;
+		background: #eeeeee;
+	}
+	.nav-item {
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+		height: 100%;
+		font-size: 15px;
+		color: #fff;
+		position: relative;
+		width: 50%;
+		.num {
+			font-size: 32rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #000;
+		}
+		.font {
+			font-size: 28rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #000;
+		}
+	}
+}
+//列表
+
+
+.swiper-box {
+	margin-top: 74rpx;
+	background: #FFFFFF;
+	.order-item {
+		padding: 20rpx 30rpx;
+		line-height: 1.5;
+
+		.title-box {
+			width: 100%;
+
+			.title-avatar {
+				width: 100rpx;
+				height: 100rpx;
+				margin-right: 25rpx;
+				border-radius: 100%;
+				image {
+					width: 100%;
+					height: 100%;
+					border-radius: 100%;
+				}
+			}
+
+			.list_tpl {
+				width: 85%;
+
+				.title {
+					font-size: $font-lg;
+					color: $font-color-base;
+					overflow: hidden; //超出的文本隐藏
+					text-overflow: ellipsis; //溢出用省略号显示
+					white-space: nowrap;
+				}
+
+				.time {
+					font-size: $font-base;
+					color: $font-color-light;
+				}
+			}
+		}
+
+		.money {
+			color: #db1935;
+			font-size: $font-lg;
+		}
+	}
+}
+.content {
+	height: 100%;
+	.empty-content {
+		background-color: #000;
+	}
+}
+</style>

+ 360 - 220
pages/user/user.vue

@@ -1,157 +1,100 @@
 <template>
 	<view class="container">
-		<view class="vheigh"></view>
 		<scroll-view class="content-box" scroll-y="true">
 			<view class="user-section">
-				<view class="bg"></view>
+				<view class="bg"><image src="/static/user/bg.png" mode=""></image></view>
 				<view class="user-info-box ">
-					<view class="detail flex" @click="navTo('/pages/set/userinfo')">
-						<view class="portrait-box"><image class="portrait" :src="userInfo.avatar || '/static/error/missing-face.png'"></image></view>
+					<view class="detail flex">
+						<view class="portrait-box" @click="navTo('/pages/set/userinfo')">
+							<image class="portrait" :src="userInfo.avatar || '/static/error/missing-face.png'"></image>
+						</view>
 						<view class="info-box">
-							<view class="username">{{ userInfo.nickname || '游客' }}</view>
-							<view class="font-size-sm" v-if="userInfo.spread_uid">邀请码:{{ userInfo.spread_uid }}</view>
+							<view class="info-top flex">
+								<view class="username clamp">{{ userInfo.nickname || '游客' }}</view>
+								<view class="vip" v-if="userInfo.level > 0">
+									<image class="vip-bg" src="../../static/img/vip.png" mode=""></image>
+									<view class="vip-title">V{{ userInfo.level }}会员</view>
+								</view>
+							</view>
+							<view class="font-size-sm">{{ userInfo.account }}</view>
 						</view>
 					</view>
-					<view class="config iconfont">
-						<text class="setting iconsetting" @click="navTo('/pages/set/set')"></text>
-						<text class="message iconmessage" @click="navTo('/pages/user/notice')"></text>
-					</view>
-				</view>
-				<!-- 会员卡功能 -->
-				<view class="vip-card-box">
-					<image class="card-bg" src="/static/img/vip-card-bg.png" mode=""></image>
-					<view class="b-btn">我要升级</view>
-					<view class="tit">
-						<text class="iconfont icon-iLinkapp-"></text>
-						升级专享优惠权益
+					<view class="my-info flex" @click="navTo('/pages/set/userinfo')" v-if="hasLogin">
+						<image src="../../static/user/set.png" mode=""></image>
+						<view class="title">设置</view>
 					</view>
-					<text class="e-m">DCloud Union</text>
-					<text class="e-b">开通会员开发无bug 一测就上线</text>
 				</view>
 			</view>
-
-			<view
-				class="cover-container"
-				:style="[
-					{
-						transform: coverTransform,
-						transition: coverTransition
-					}
-				]"
-				@touchstart="coverTouchstart"
-				@touchmove="coverTouchmove"
-				@touchend="coverTouchend"
-			>
-				<image class="arc" src="/static/img/arc.png"></image>
-
-				<view class="tj-sction">
-					<view class="tj-item" @click="navTo('/pages/money/wallet')">
-						<text class="num">{{ userInfo.now_money || '0.00' }}</text>
-						<text>余额</text>
-					</view>
-					<view class="tj-item" @click="navTo('/pages/user/award')">
-						<text class="num">{{ userInfo.brokerage_price || '0.00' }}</text>
-						<text>佣金</text>
-					</view>
-					<view class="tj-item" @click="navTo('/pages/user/scoreAccumulate')">
-						<text class="num">{{ userInfo.integral || '0.00' }}</text>
-						<text>积分</text>
-					</view>
+			<!-- 订单 -->
+			<view class="item-box item-box-b">
+				<view class="box-title flex borde-b">
+					<view class="title"><text>我的订单</text></view>
+					<view class="link" @click="navTo('/pages/order/order?state=0')" hover-class="common-hover"><text class="iconfont iconenter"></text></view>
 				</view>
-				<!-- 订单 -->
-
-				<view class="item-box">
-					<!-- <view class="box-title flex borde-b">
-						<view class="title"><text>我的订单</text></view>
-						<view class="link" @click="navTo('/pages/order/order?state=0')" hover-class="common-hover">
-							<text>全部订单</text>
-							<text class="iconfont iconenter"></text>
-						</view>
-					</view> -->
-					<view class="order-section">
-						<view class="order-item" @click="navTo('/pages/order/order?state=0')" hover-class="common-hover" :hover-stay-time="50">
-							<view class=" icon position-relative">
-								<image class="icon-img" src="/static/icon/i1.png" mode="aspectFit"></image>
-								<view class="corner" v-if="orderInfo.unpaid_count > 0">
-									<text>{{ orderInfo.unpaid_count }}</text>
-								</view>
-							</view>
-							<text>待付款</text>
-						</view>
-						<view class="order-item" @click="navTo('/pages/order/order?state=1')" hover-class="common-hover" :hover-stay-time="50">
-							<view class=" icon position-relative">
-								<image class="icon-img" src="/static/icon/i2.png" mode="aspectFit"></image>
-								<view class="corner" v-if="orderInfo.unshipped_count > 0">
-									<text>{{ orderInfo.unshipped_count }}</text>
-								</view>
+				<view class="order-section">
+					<view class="order-item" @click="navTo('/pages/order/order?state=0')" hover-class="common-hover" :hover-stay-time="50">
+						<view class=" icon position-relative">
+							<image class="icon-img" src="/static/user/order1.png" mode="aspectFit"></image>
+							<view class="corner" v-if="orderInfo.unpaid_count > 0">
+								<text>{{ orderInfo.unpaid_count }}</text>
 							</view>
-							<text>待发货</text>
 						</view>
-						<view class="order-item" @click="navTo('/pages/order/order?state=2')" hover-class="common-hover" :hover-stay-time="50">
-							<view class="icon position-relative">
-								<image class="icon-img" src="/static/icon/i3.png" mode="aspectFit"></image>
-								<view class="corner" v-if="orderInfo.received_count > 0">
-									<text>{{ orderInfo.received_count }}</text>
-								</view>
+						<text>待付款</text>
+					</view>
+					<view class="order-item" @click="navTo('/pages/order/order?state=1')" hover-class="common-hover" :hover-stay-time="50">
+						<view class=" icon position-relative">
+							<image class="icon-img" src="/static/user/order2.png" mode="aspectFit"></image>
+							<view class="corner" v-if="orderInfo.unshipped_count > 0">
+								<text>{{ orderInfo.unshipped_count }}</text>
 							</view>
-							<text>待收货</text>
 						</view>
-						<view class="order-item" @click="navTo('/pages/order/order?state=3')" hover-class="common-hover" :hover-stay-time="50">
-							<view class="icon position-relative">
-								<image class="icon-img" src="/static/icon/i4.png" mode="aspectFit"></image>
-								<!-- <view class="corner" v-if="orderInfo.complete_count > 0">
-									<text>{{ orderInfo.complete_count }}</text>
-								</view> -->
+						<text>待发货</text>
+					</view>
+					<view class="order-item" @click="navTo('/pages/order/order?state=2')" hover-class="common-hover" :hover-stay-time="50">
+						<view class="icon position-relative">
+							<image class="icon-img" src="/static/user/order3.png" mode="aspectFit"></image>
+							<view class="corner" v-if="orderInfo.received_count > 0">
+								<text>{{ orderInfo.received_count }}</text>
 							</view>
-							<text>已完成</text>
 						</view>
+						<text>待收货</text>
+					</view>
+					<view class="order-item" @click="navTo('/pages/order/order?state=4')" hover-class="common-hover" :hover-stay-time="50">
+						<view class="icon position-relative"><image class="icon-img" src="/static/user/order4.png" mode="aspectFit"></image></view>
+						<text>已完成</text>
 					</view>
 				</view>
-				<view class="item-box">
-					<!-- <view class="box-title flex borde-b">
-						<view class="title"><text>我的资产</text></view>
-					</view> -->
+			</view>
+			<view class="vip-box"><image src="../../static/user/open-m.png" mode=""></image></view>
+			<view>
+				<view class="item-box item-box-a">
 					<view class="order-section">
 						<view class="order-item" @click="navTo('/pages/money/wallet')" hover-class="common-hover" :hover-stay-time="50">
-							<view class="icon"><image class="icon-img" src="/static/icon/u1.png" mode="aspectFit"></image></view>
-							<text>我的钱包</text>
+							<view class="icon icon-b"><image class="icon-img" src="/static/user/yue.png" mode="aspectFit"></image></view>
+							<view class="order-font">我的奖金</view>
 						</view>
 						<view class="order-item" @click="navTo('/pages/user/award')" hover-class="common-hover" :hover-stay-time="50">
-							<view class="icon"><image class="icon-img" src="/static/icon/u2.png" mode="aspectFit"></image></view>
-							<text>奖励明细</text>
+							<view class="icon icon-b"><image class="icon-img" src="/static/user/yongjin.png" mode="aspectFit"></image></view>
+							<view class="order-font">我的余额</view>
 						</view>
-						<view class="order-item" @click="navTo('/pages/user/award')" hover-class="common-hover" :hover-stay-time="50">
-							<view class="icon"><image class="icon-img" src="/static/icon/u3.png" mode="aspectFit"></image></view>
-							<text>积分明细</text>
+						<view class="order-item" @click="navTo('/pages/user/jindou')" hover-class="common-hover" :hover-stay-time="50">
+							<view class="icon icon-b"><image class="icon-img" src="/static/user/yaoqing.png" mode="aspectFit"></image></view>
+							<view class="order-font">我的金豆</view>
 						</view>
-						<view class="order-item" @click="navTo('/pages/order/order?state=4')" hover-class="common-hover" :hover-stay-time="50">
-							<view class="icon"><image class="icon-img" src="/static/icon/u4.png" mode="aspectFit"></image></view>
-							<text>通用币</text>
+						<view class="order-item" @click="navTo('/pages/user/team')" hover-class="common-hover" :hover-stay-time="50">
+							<view class="icon icon-b"><image class="icon-img" src="/static/user/tuiguang.png" mode="aspectFit"></image></view>
+							<view class="order-font">我的推广</view>
 						</view>
 					</view>
 				</view>
-
-				<!-- 浏览历史 -->
 				<view class="history-section icon">
-					<view class="sec-header">
-						<text class="iconfont iconfavor"></text>
-						<text>浏览历史</text>
-					</view>
-					<scroll-view scroll-x class="h-list">
-						<image
-							class="h-list-image"
-							@click="navTo('/pages/product/product')"
-							src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1553105186633&di=c121a29beece4e14269948d990f9e720&imgtype=0&src=http%3A%2F%2Fimg004.hc360.cn%2Fm8%2FM04%2FDE%2FDE%2FwKhQplZ-QteEBvsbAAAAADUkobU751.jpg"
-							mode="aspectFill"
-						></image>
-					</scroll-view>
 					<uni-list>
-						<uni-list-item title="我的钱包" @click="navTo('/pages/money/wallet')" thumb="/static/icon/img11.png"></uni-list-item>
-						<uni-list-item title="我的卡卷" @click="navTo('/pages/user/coupon')" thumb="/static/icon/img12.png"></uni-list-item>
-						<uni-list-item title="我的收藏" @click="navTo('/pages/user/favorites')" thumb="/static/icon/img02.png"></uni-list-item>
-						<uni-list-item title="商户入驻" @click="navTo('/pages/set/address')" thumb="/static/icon/img05.png"></uni-list-item>
-						<uni-list-item title="邀请好友" @click="navTo('/pages/user/shareQrCode')" thumb="/static/icon/img10.png"></uni-list-item>
-						<uni-list-item title="关于我们" @click="navTo('/pages/shareQrCode/index')" thumb="/static/icon/img09.png"></uni-list-item>
+						<uni-list-item title="批发订单" @click="navTo('')" thumb="/static/user/u1.png"></uni-list-item>
+						<uni-list-item title="金豆池" @click="navTo('/pages/user/JDcool')" thumb="/static/user/u2.png"></uni-list-item>
+						<uni-list-item title="申请美容院" @click="navTo('/pages/category/apply')" thumb="/static/user/u3.png"></uni-list-item>
+						<uni-list-item title="分享海报" @click="navTo('/pages/user/shareQrCode')" thumb="/static/user/u4.png"></uni-list-item>
+						<uni-list-item title="我的收藏" @click="navTo('/pages/user/favorites')" thumb="/static/user/u5.png"></uni-list-item>
+						<uni-list-item title="收货地址" @click="navTo('/pages/set/address')" thumb="/static/user/u6.png"></uni-list-item>
 					</uni-list>
 				</view>
 			</view>
@@ -173,13 +116,7 @@ export default {
 		uniListItem
 	},
 	data() {
-		return {
-			coverTransform: 'translateY(0px)',
-			coverTransition: '0s',
-			moving: false,
-			userDowm: 0, //卡片升级专属高度
-			userMaxDowm: 0 //卡片最高高度
-		};
+		return {};
 	},
 	onShow() {
 		// 判断是否已经登录
@@ -204,26 +141,6 @@ export default {
 			)
 			.exec();
 	},
-	// #ifndef MP
-	// onNavigationBarButtonTap(e) {
-	// 	const index = e.index;
-	// 	if (index === 0) {
-	// 		this.navTo('/pages/set/set');
-	// 	} else if (index === 1) {
-	// 		// #ifdef APP-PLUS
-	// 		const pages = getCurrentPages();
-	// 		const page = pages[pages.length - 1];
-	// 		const currentWebview = page.$getAppWebview();
-	// 		currentWebview.hideTitleNViewButtonRedDot({
-	// 			index
-	// 		});
-	// 		// #endif
-	// 		uni.navigateTo({
-	// 			url: '/pages/user/notice'
-	// 		});
-	// 	}
-	// },
-	// #endif
 	computed: {
 		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
 	},
@@ -258,60 +175,16 @@ export default {
 		 * navigator标签现在默认没有转场动画,所以用view
 		 */
 		navTo(url) {
-			if (!this.hasLogin) {
-				// 保存地址
-				saveUrl();
-				// 登录拦截
-				interceptor();
-			} else {
+			// if (!this.hasLogin) {
+			//  // 保存地址
+			// 	saveUrl();
+			//  	// 登录拦截
+			// 	interceptor();
+			//  } else {
 				uni.navigateTo({
 					url
 				});
-			}
-		},
-
-		/**
-		 *  会员卡下拉和回弹
-		 *  1.关闭bounce避免ios端下拉冲突
-		 *  2.由于touchmove事件的缺陷(以前做小程序就遇到,比如20跳到40,h5反而好很多),下拉的时候会有掉帧的感觉
-		 *    transition设置0.1秒延迟,让css来过渡这段空窗期
-		 *  3.回弹效果可修改曲线值来调整效果,推荐一个好用的bezier生成工具 http://cubic-bezier.com/
-		 */
-		coverTouchstart(e) {
-			// console.log(e);
-			if (pageAtTop === false) {
-				return;
-			}
-
-			this.coverTransition = 'transform .1s linear';
-			startY = e.touches[0].clientY;
-		},
-		coverTouchmove(e) {
-			// console.log(e);
-			moveY = e.touches[0].clientY;
-			let moveDistance = moveY - startY;
-			let maxDowm = this.userMaxDowm;
-			let Dowm = this.userDowm;
-			if (moveDistance < 0) {
-				this.moving = false;
-				return;
-			}
-			this.moving = true;
-			if (moveDistance >= Dowm && moveDistance < maxDowm) {
-				moveDistance = Dowm;
-			}
-
-			if (moveDistance > 0 && moveDistance <= Dowm) {
-				this.coverTransform = `translateY(${moveDistance}px)`;
-			}
-		},
-		coverTouchend() {
-			if (this.moving === false) {
-				return;
-			}
-			this.moving = false;
-			this.coverTransition = 'transform 0.3s cubic-bezier(.21,1.93,.53,.64)';
-			this.coverTransform = 'translateY(0px)';
+			// }
 		}
 	}
 };
@@ -319,13 +192,16 @@ export default {
 <style lang="scss">
 page {
 	height: 100%;
+	background-color: $page-color-base;
 }
+
 %flex-center {
 	display: flex;
 	flex-direction: column;
 	justify-content: center;
 	align-items: center;
 }
+
 %section {
 	display: flex;
 	justify-content: space-around;
@@ -333,30 +209,34 @@ page {
 	background: #fff;
 	border-radius: 10rpx;
 }
+
 .container {
 	height: 100%;
-	background-color: $page-color-base;
+	background-color: #fff;
 }
+
 .content-box {
 	height: 100%;
 }
-.vheigh {
-	height: var(--status-bar-height);
-	background-color: $base-color;
-}
+
 .user-section {
-	height: 435rpx;
-	padding: 15rpx 30rpx 0;
+	height: 420rpx;
+	padding: 50rpx 0rpx 0 30rpx;
 	position: relative;
+
 	.bg {
 		position: absolute;
 		left: 0;
 		top: 0;
-		width: 100%;
-		height: 100%;
-		background-color: $base-color;
+		width: 750rpx;
+		height: 420rpx;
+		image {
+			width: 750rpx;
+			height: 420rpx;
+		}
 	}
 }
+
 .user-info-box {
 	height: 180rpx;
 	color: white;
@@ -365,10 +245,13 @@ page {
 	justify-content: space-between;
 	position: relative;
 	z-index: 1;
+
 	.detail {
 		height: 130rpx;
+
 		.portrait-box {
 			height: 100%;
+
 			.portrait {
 				width: 130rpx;
 				height: 100%;
@@ -376,22 +259,95 @@ page {
 				border-radius: 50%;
 			}
 		}
+
 		.info-box {
 			margin-left: 20rpx;
 			line-height: 1.5;
+
 			.username {
-				font-size: $font-lg + 6rpx;
+				font-size: $font-lg + 2rpx;
 				height: 100%;
+				max-width: 200rpx;
+			}
+			.vip {
+				position: relative;
+				margin-left: 12rpx;
+				width: 120rpx;
+				height: 40rpx;
+				.vip-bg {
+					position: absolute;
+					top: 0;
+					left: 0;
+					right: 0;
+					width: 100%;
+					height: 100%;
+				}
+				.vip-title {
+					position: relative;
+					z-index: 10;
+					font-size: 20rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #93794b;
+					padding-left: 36rpx;
+					line-height: 40rpx;
+				}
+			}
+
+			.username-t {
+				font-size: $font-lg + 6rpx;
+				// height: 32rpx;
+				display: flex;
+				align-items: center;
+
+				image {
+					display: inline-block;
+					margin-left: 10rpx;
+					width: 147rpx;
+					height: 32rpx;
+				}
+			}
+
+			.user-get {
+				font-size: $font-lg;
+
+				text {
+					font-size: $font-lg + 6rpx;
+				}
 			}
 		}
 	}
+
 	.config {
 		font-size: 48rpx;
 		height: 130rpx;
+
 		.setting {
 			margin-right: 51rpx;
 		}
 	}
+
+	.my-info {
+		margin-right: 30rpx;
+		width: 130rpx;
+		height: 50rpx;
+		border: 1px solid #ffffff;
+		border-radius: 26rpx;
+		justify-content: center;
+
+		image {
+			width: 30rpx;
+			height: 30rpx;
+		}
+
+		.title {
+			padding-left: 9rpx;
+			font-size: 24rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #ffffff;
+		}
+	}
 }
 
 .vip-card-box {
@@ -404,6 +360,7 @@ page {
 	overflow: hidden;
 	position: relative;
 	padding: 20rpx 24rpx;
+
 	.card-bg {
 		position: absolute;
 		top: 20rpx;
@@ -411,6 +368,7 @@ page {
 		width: 380rpx;
 		height: 260rpx;
 	}
+
 	.b-btn {
 		position: absolute;
 		right: 20rpx;
@@ -425,21 +383,25 @@ page {
 		background: linear-gradient(left, #f9e6af, #ffd465);
 		z-index: 1;
 	}
+
 	.tit {
 		font-size: $font-base + 2rpx;
 		color: #f7d680;
 		margin-bottom: 28rpx;
+
 		.iconfont {
 			color: #f6e5a3;
 			margin-right: 16rpx;
 		}
 	}
+
 	.e-b {
 		font-size: $font-sm;
 		color: #d8cba9;
 		margin-top: 10rpx;
 	}
 }
+
 .cover-container {
 	background: $page-color-base;
 	margin-top: -150rpx;
@@ -447,6 +409,7 @@ page {
 	position: relative;
 	background: #f5f5f5;
 	padding-bottom: 20rpx;
+
 	.arc {
 		position: absolute;
 		left: 0;
@@ -455,8 +418,10 @@ page {
 		height: 36rpx;
 	}
 }
+
 .tj-sction {
 	@extend %section;
+
 	.tj-item {
 		@extend %flex-center;
 		flex-direction: column;
@@ -464,48 +429,81 @@ page {
 		font-size: $font-sm;
 		color: #75787d;
 	}
+
 	.num {
 		font-size: $font-lg;
 		color: $font-color-dark;
 		margin-bottom: 8rpx;
 	}
 }
-
+.vip-box {
+	width: 710rpx;
+	height: 90rpx;
+	margin: 32rpx auto 0;
+	image {
+		width: 100%;
+		height: 100%;
+	}
+}
 .item-box {
-	border-radius: 10rpx;
-	background-color: white;
-	margin-top: 20rpx;
+	// width: 710rpx;
+	// height: 221rpx;
+	// background: #FFFFFF;
+	// box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+	// border-radius: 20rpx;
+	// position: relative;
+	// top: -150rpx;
+	// left: 0;
+	// right: 0;
+	// margin: 0 auto -150rpx;
+	margin: 20rpx 0;
+
 	.box-title {
+		background-color: #fff;
 		line-height: 1;
-		padding: 30rpx;
+		// padding: 30rpx;
+		padding: 0 36rpx 0 35rpx;
+		height: 73rpx;
+		border-radius: 20rpx 20rpx 0 0;
+
 		.title {
-			font-size: $font-lg;
 			font-weight: bold;
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #333333;
 		}
+
 		.link {
 			font-size: $font-base - 2rpx;
 			color: $font-color-light;
 		}
 	}
+
 	.order-section {
+		height: 146rpx;
 		@extend %section;
-		padding: 28rpx 0;
+
+		// padding: 28rpx 0;
 		.order-item {
 			@extend %flex-center;
 			width: 120rpx;
-			height: 120rpx;
+			height: 146rpx;
 			border-radius: 10rpx;
 			font-size: $font-sm;
 			color: $font-color-dark;
 		}
+
 		.iconfont {
 			font-size: 48rpx;
 			margin-bottom: 18rpx;
 			color: #fa436a;
 		}
+
 		.icon-shouhoutuikuan {
 			font-size: 44rpx;
 		}
+
 		.icon {
 			height: 50rpx;
 			width: 48rpx;
@@ -513,11 +511,17 @@ page {
 			background-size: 100%;
 			background-repeat: no-repeat;
 			background-position: center;
+
 			.icon-img {
 				width: 100%;
 				height: 100%;
 			}
 		}
+
+		.icon-b {
+			height: 90rpx;
+			width: 88rpx;
+		}
 	}
 }
 
@@ -526,6 +530,7 @@ page {
 	margin-top: 20rpx;
 	background: #fff;
 	border-radius: 10rpx;
+
 	.sec-header {
 		display: flex;
 		align-items: center;
@@ -534,6 +539,7 @@ page {
 		line-height: 40rpx;
 		margin-left: 30rpx;
 		padding-top: 30rpx;
+
 		.iconfont {
 			font-size: 44rpx;
 			color: $color-red;
@@ -541,9 +547,11 @@ page {
 			line-height: 40rpx;
 		}
 	}
+
 	.h-list {
 		white-space: nowrap;
 		padding: 30rpx 30rpx 0;
+
 		.h-list-image {
 			display: inline-block;
 			width: 160rpx;
@@ -553,4 +561,136 @@ page {
 		}
 	}
 }
+
+.up-box {
+	margin: 21rpx auto;
+	width: 710rpx;
+	height: 90rpx;
+	background: linear-gradient(73deg, #ffffff 0%, #fffbeb 0%, #fff1da 0%, #fed591 100%);
+	border-radius: 20rpx;
+
+	image {
+		width: 100%;
+		height: 100%;
+		border-radius: 20rpx;
+	}
+}
+
+.item-box-b {
+	width: 710rpx;
+	height: 221rpx;
+	background: #ffffff;
+	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.5);
+	border-radius: 20rpx;
+	position: relative;
+	top: -150rpx;
+	left: 0;
+	right: 0;
+	margin: 0 auto -150rpx;
+}
+
+.popup-box {
+	width: 522rpx;
+	height: 605rpx;
+	background-color: #ffffff;
+	border-radius: 20rpx;
+	position: relative;
+
+	.img {
+		position: relative;
+		top: -56rpx;
+		left: 0;
+		width: 522rpx;
+		height: 132rpx;
+		display: flex;
+		justify-content: center;
+
+		image {
+			border-radius: 20rpx 20rpx 0 0;
+			width: 450rpx;
+			height: 132rpx;
+		}
+	}
+
+	.mian {
+		margin-top: -44rpx;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		// padding: 32rpx 32rpx;
+		background-color: #ffffff;
+		border-radius: 0 0 20rpx 20rpx;
+		text-align: center;
+
+		.delivery {
+			font-size: 40rpx;
+			color: #333333;
+			display: flex;
+			align-items: center;
+			flex-direction: column;
+
+			.title {
+			}
+
+			image {
+				margin-top: 48rpx;
+				width: 172rpx;
+				height: 160rpx;
+			}
+		}
+
+		.nocancel {
+			font-size: 32rpx;
+			color: #333333;
+			margin-top: 14rpx;
+		}
+
+		.comfirm-box {
+			margin-top: 52rpx;
+			display: flex;
+			// margin-bottom: 32rpx;
+
+			// justify-content: space-around;
+			.cancel {
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				width: 197rpx;
+				height: 74rpx;
+				border: 1px solid #dcc786;
+				border-radius: 38rpx;
+
+				font-size: 32rpx;
+				color: #605128;
+			}
+
+			.comfirm {
+				margin-left: 32rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				width: 197rpx;
+				height: 74rpx;
+				background: linear-gradient(-90deg, #d1ba77 0%, #f7e8ad 100%);
+				border-radius: 38px;
+				font-size: 32rpx;
+				color: #605128;
+			}
+		}
+	}
+}
+
+.outlogin {
+	margin: 40rpx auto;
+	width: 500rpx;
+	background-color: #fff;
+	color: #ff4c4b;
+	border: 1px solid #ff4c4b;
+	text-align: center;
+	padding: 10rpx 0rpx;
+	border-radius: 50rpx;
+}
+.order-font {
+	margin-top: -24rpx;
+}
 </style>

BIN
static/icon/appleIcon.png


BIN
static/icon/c3.png


BIN
static/icon/c5.png


BIN
static/icon/c6.png


BIN
static/icon/c7.png


BIN
static/icon/c8.png


BIN
static/icon/i-left.png


BIN
static/icon/i-right.png


BIN
static/icon/i1.png


BIN
static/icon/i2.png


BIN
static/icon/i3.png


BIN
static/icon/i4.png


BIN
static/icon/i5.png


BIN
static/icon/i6.png


BIN
static/icon/i7.png


BIN
static/icon/i8.png


BIN
static/icon/img02.png


BIN
static/icon/img03.png


BIN
static/icon/img04.png


BIN
static/icon/img05.png


BIN
static/icon/img06.png


BIN
static/icon/img07.png


BIN
static/icon/img08.png


BIN
static/icon/img09.png


BIN
static/icon/img10.png


BIN
static/icon/img11.png


BIN
static/icon/img12.png


BIN
static/icon/select.png


BIN
static/icon/selected.png


BIN
static/icon/u1.png


BIN
static/icon/u2.png


BIN
static/icon/u3.png


BIN
static/icon/u4.png


BIN
static/icon/u5.png


BIN
static/icon/wenhao.png


BIN
static/img/anchor12.png


BIN
static/img/fanhui.png


BIN
static/img/vip-bg.png


BIN
static/img/vip-card-bg.png


BIN
static/img/vip.png


BIN
static/user/bg.png


BIN
static/user/open-m.png


BIN
static/user/order1.png


BIN
static/user/order2.png


BIN
static/user/order3.png


BIN
static/user/order4.png


BIN
static/user/right.png


BIN
static/user/right01.png


BIN
static/user/right02.png


BIN
static/user/set.png


BIN
static/user/tuiguang.png


BIN
static/user/u1.png


BIN
static/user/u2.png


BIN
static/user/u3.png


BIN
static/user/u4.png


BIN
static/user/u5.png


BIN
static/user/u6.png


BIN
static/user/yaoqing.png


BIN
static/user/yongjin.png


BIN
static/user/yue.png


+ 1 - 1
store/index.js

@@ -6,7 +6,7 @@ Vue.use(Vuex)
 const store = new Vuex.Store({
 	state: {
 		// baseURL:"http://yrh.liuniu946.com",//'http://eb.shuibo.net',//请求地址配置 
-		baseURL:'http://base.liuniu946.com',//请求地址配置 
+		baseURL:'http://lt.frp.liuniu946.com',//请求地址配置 
 		urlFile:'/index',//项目部署所在文件夹
 		userInfo: {}, //登录信息
 		loginInterceptor:false,//是否打开强制登录

+ 1 - 1
uni.scss

@@ -4,7 +4,7 @@ $page-row-spacing: 30rpx;
 $page-color-base: #f8f8f8;//页面背景颜色
 $page-color-light: #f8f6fc;
 // 主题颜色
-$base-color: #5dbc7c;//项目颜色
+$base-color: #FF4C4C;//项目颜色
 $box-shadow-color:#5dbc7c;//阴影颜色
 $font-color:#5dbc7c;//字体颜色
 $font-color-spec: #5dbc7c;//可操作文字颜色