lhl 1 سال پیش
والد
کامیت
16063bf1f3
14فایلهای تغییر یافته به همراه1556 افزوده شده و 1323 حذف شده
  1. 9 0
      api/wallet.js
  2. 3 106
      pages.json
  3. 165 145
      pages/index/index.vue
  4. 222 0
      pages/index/jfGoods.vue
  5. 7 3
      pages/order/createOrder.vue
  6. 1106 958
      pages/product/product.vue
  7. 1 3
      pages/user/jhz.vue
  8. 15 86
      pages/user/sz.vue
  9. 7 0
      pages/user/user.vue
  10. 5 2
      pages/user/userCard.vue
  11. 7 14
      pages/user/yjzz.vue
  12. 9 6
      pages/user/yue.vue
  13. BIN
      static/icon/jf.png
  14. BIN
      static/video/v1.mp4

+ 9 - 0
api/wallet.js

@@ -130,3 +130,12 @@ export function setBank(data) {
 		data
 	});
 }
+
+export function getIntegralList(data) {
+	// integral/list
+	return request({
+		url: '/api/integral/list',
+		method: 'get',
+		data
+	});
+}

+ 3 - 106
pages.json

@@ -19,18 +19,6 @@
 				"navigationBarTitleText": "开发中"
 			}
 		},
-		{
-			"path": "pages/index/buySale",
-			"style": {
-				"navigationBarTitleText": "交易市场"
-			}
-		},
-		{
-			"path": "pages/index/zero",
-			"style": {
-				"navigationBarTitleText": "零创业"
-			}
-		},
 		{
 			"path": "pages/index/three",
 			"style": {
@@ -38,17 +26,9 @@
 			}
 		},
 		{
-			"path": "pages/index/threeDetail",
+			"path": "pages/index/jfGoods",
 			"style": {
-				"navigationBarTitleText": "商品详情",
-				"navigationStyle": "custom"
-			}
-		},
-		{
-			"path": "pages/index/usert",
-			"style": {
-				"enablePullDownRefresh": true,
-				"navigationBarTitleText": "我的薪酬"
+				"navigationBarTitleText": "积分商品"
 			}
 		},
 		{
@@ -57,28 +37,6 @@
 				"navigationBarTitleText": "更新"
 			}
 		},
-		{
-			"path": "pages/index/lifeOrder",
-			"style": {
-				"navigationBarTitleText": "我的订单"
-			}
-		},
-		{
-			"path": "pages/index/life",
-			"style": {
-				"navigationBarTitleText": "本地生活",
-				"app-plus": {
-					"bounce": "none",
-					"titleNView": {
-						"buttons": [{
-								"fontSize": "15px",
-								"text": "我的订单"
-							}
-						]
-					}
-				}
-			}
-		},
 		{
 			"path": "pages/index/gift",
 			"style": {
@@ -86,67 +44,6 @@
 				"navigationBarTitleText": "VIP商品"
 			}
 		},
-		{
-			"path": "pages/zero/task",
-			"style": {
-				"navigationBarTitleText": "做任务赚积分",
-				"navigationBarTextStyle": "white",
-				"navigationBarBackgroundColor": "#282623"
-			}
-		},
-		{
-			"path": "pages/zero/ren",
-			"style": {
-				"navigationBarTitleText": "视频任务",
-				"navigationBarTextStyle": "white",
-				"navigationBarBackgroundColor": "#f53935"
-			}
-		},
-		{
-			"path": "pages/zero/gs",
-			"style": {
-				"navigationBarTitleText": "挂售"
-			}
-		},
-		{
-			"path": "pages/zero/award",
-			"style": {
-				"navigationBarTitleText": "",
-				"navigationStyle": "custom"
-			}
-		},
-		{
-			"path": "pages/zero/gg",
-			"style": {
-				"navigationBarTitleText": "视频",
-				"navigationBarTextStyle": "white",
-				"navigationBarBackgroundColor": "#000000"
-			}
-		},
-		{
-			"path": "pages/zero/chou",
-			"style": {
-				"navigationBarTitleText": "摇奖"
-			}
-		},
-		{
-			"path": "pages/zero/jfhz",
-			"style": {
-				"navigationBarTitleText": "兑换阅读积分"
-			}
-		},
-		{
-			"path": "pages/zero/gfz",
-			"style": {
-				"navigationBarTitleText": "共富值"
-			}
-		},
-		{
-			"path": "pages/zero/pay",
-			"style": {
-				"navigationBarTitleText": "上传凭证"
-			}
-		},
 		{
 			"path": "pages/zero/order",
 			"style": {
@@ -376,7 +273,7 @@
 		{
 			"path": "pages/user/yjzye",
 			"style": {
-				"navigationBarTitleText": "佣金兑换消费积分"
+				"navigationBarTitleText": "佣金兑换"
 			}
 		},
 		{

+ 165 - 145
pages/index/index.vue

@@ -21,7 +21,7 @@
 		<!-- 轮播图 end -->
 		<!-- 分类 start -->
 		<view class="cate-section flex">
-			<view class="cate-item flex"  v-for="citem in cateList" @click="gogogo(citem)">
+			<view class="cate-item flex" v-for="citem in cateList" @click="gogogo(citem)">
 				<view class="img-wrapper flex">
 					<image :src="citem.img" mode=""></image>
 				</view>
@@ -40,20 +40,21 @@
 					<view class="image-wrapper">
 						<image class="image" :src="jfitem.image" mode="scaleToFill"></image>
 					</view>
-					<view class="flex" style="flex-direction: column;justify-content: space-between;align-items: flex-start;height: 170rpx;">
+					<view class="flex"
+						style="flex-direction: column;justify-content: space-between;align-items: flex-start;height: 170rpx;">
 						<view class="title clamp2">{{jfitem.store_name}}</view>
 						<view class="hot-price">
 							<view class="price">
 								<text>¥{{ jfitem.price * 1 }}</text>
-								<text class="ot-pirce" >¥{{jfitem.ot_price}}</text>
+								<text class="ot-pirce">¥{{jfitem.ot_price}}</text>
 							</view>
 						</view>
 					</view>
-					
+
 				</view>
 			</view>
 		</view>
-		
+
 		<!-- 商品列表 ed-->
 		<uni-popup ref="popupkf" type="center">
 			<view class="popup-box">
@@ -108,13 +109,12 @@
 	export default {
 		data() {
 			return {
-				bastList: [],//爆款推荐
+				bastList: [], //爆款推荐
 				muted: false,
-				cateList: [
-					{
-						path: '/pages/index/gift',
+				cateList: [{
+						path: '/pages/index/jfGoods',
 						img: '../../static/icon/in01.png',
-						tit: '全部商品'
+						tit: '积分商品'
 					},
 					{
 						path: '/pages/index/three',
@@ -131,7 +131,7 @@
 						img: '../../static/icon/in04.png',
 						tit: '邀请好友'
 					},
-					
+
 				],
 				text: '', //客服微信
 				// page: 1,
@@ -153,7 +153,7 @@
 				shopList: [],
 				period: 1,
 				shareImage: '',
-				fgList: '',//复购商品
+				fgList: '', //复购商品
 			};
 		},
 		computed: {
@@ -208,8 +208,8 @@
 		},
 		onReachBottom() {
 			console.log('到底')
-			
-			
+
+
 			// this.getGoodList()
 		},
 		onLoad: function(option) {
@@ -236,28 +236,34 @@
 			this.getGoodList()
 			this.loadData();
 		},
-		onHide() {
-		},
+		onHide() {},
 		methods: {
 			gogogo(item) {
-				if(!item.path) {
+				if (!item.path) {
 					uni.navigateTo({
 						url: '/pages/index/dkf'
 					})
-				}if(item.path == 'kf') {
+				}
+				if (item.path == 'kf') {
 					this.$refs.popupkf.open()
 				} else {
-					
+
 					uni.navigateTo({
 						url: item.path + '&tit=' + item.tit,
 						fail() {
 							uni.navigateTo({
-								url: item.path
-							})					}
+								url: item.path,
+								fail() {
+									uni.switchTab({
+										url: item.path,
+									})
+								}
+							})
+						}
 					})
 				}
 			},
- 			getGoodList() {
+			getGoodList() {
 				let obj = this
 				if (obj.loadingType == 'loading' || obj.loadingType == 'noMore') {
 					return
@@ -437,6 +443,7 @@
 		height: 80rpx;
 		padding: 0 20rpx;
 		position: relative;
+
 		.top-logo {
 			width: 50rpx;
 			// height: 50rpx;
@@ -452,7 +459,7 @@
 			justify-content: center;
 			width: 698rpx;
 			height: 60rpx;
-			background: rgba(255,255,255,0.5);
+			background: rgba(255, 255, 255, 0.5);
 			color: #fff;
 			// box-shadow: 0px 10rpx 20rpx 0px rgba(4, 114, 69, 0.22);
 			border-radius: 30rpx;
@@ -476,6 +483,7 @@
 		width: 690rpx;
 		height: 320rpx;
 		margin: auto;
+
 		.carousel-item {
 			image {
 				width: 100%;
@@ -483,9 +491,9 @@
 				border-radius: 20rpx;
 			}
 		}
-		
+
 		// margin: 20rpx 0 0;
-		
+
 	}
 
 	.swiper-btm {
@@ -520,6 +528,7 @@
 		background-color: #fff;
 		padding: 0 0 30rpx;
 		flex-wrap: wrap;
+
 		.cate-item {
 			padding-top: 30rpx;
 			flex-grow: 0;
@@ -530,7 +539,7 @@
 			justify-content: center;
 
 			.img-wrapper {
-				width:123rpx;
+				width: 123rpx;
 				height: 123rpx;
 				border-radius: 20rpx;
 				position: relative;
@@ -553,139 +562,147 @@
 			}
 		}
 	}
-.hot-wrap {
-	background-color: #fff;
-	padding-top: 20rpx;
-	.tit {
-		display: block;
-		height: 40rpx;
-		margin: 20rpx auto 40rpx;
-	}
-	.hot-list {
-		// margin-top: 38rpx;
-		width: 100%;
-		display: flex;
-		flex-wrap: wrap;
-		padding: 0 20rpx 30rpx;
-		justify-content: space-between;
-		.hotgoods-item {
-			width: 345rpx;
-			background-color: #ffffff;
-			border-radius: 12rpx;
-			box-shadow: 0 0 15rpx rgba(0, 0, 0, 0.2);
-			margin-bottom: 15rpx;
-			
-			.image-wrapper {
+
+	.hot-wrap {
+		background-color: #fff;
+		padding-top: 20rpx;
+
+		.tit {
+			display: block;
+			height: 40rpx;
+			margin: 20rpx auto 40rpx;
+		}
+
+		.hot-list {
+			// margin-top: 38rpx;
+			width: 100%;
+			display: flex;
+			flex-wrap: wrap;
+			padding: 0 20rpx 30rpx;
+			justify-content: space-between;
+
+			.hotgoods-item {
 				width: 345rpx;
-				height: 345rpx;
-				border-radius: 3px;
-				overflow: hidden;
-				position: relative;
-			
-				.image-bg {
-					position: absolute;
-					top: 0;
-					left: 0;
-					right: 0;
-					bottom: 0;
-					width: 100%;
-					height: 100%;
-					opacity: 1;
-					border-radius: 12rpx 12rpx 0 0;
-					z-index: 2;
-				}
-			
-				.image {
-					width: 100%;
-					height: 100%;
-					opacity: 1;
-					border-radius: 12rpx 12rpx 0 0;
-				}
-			}
-			
-			.title {
-				margin-top: 24rpx;
-				padding: 0 20rpx;
-				font-size: 32rpx;
-				font-weight: 500;
-				color: #333333;
-			}
-			
-			.hot-price {
-				display: flex;
-				justify-content: flex-start;
-				align-items: center;
-				width: 100%;
-				padding: 0 10rpx;
-				// padding: 14rpx 0 30rpx;
-			
-				.hotPrice-box {
-					padding: 2rpx 6rpx;
-			
-					background: linear-gradient(90deg, #c79a4c, #f9df7f);
-					border-radius: 5rpx;
-					text-align: center;
-					line-height: 28rpx;
-					font-size: 20rpx;
-					font-family: Source Han Sans CN;
-					font-weight: 400;
-					color: #ffffff;
+				background-color: #ffffff;
+				border-radius: 12rpx;
+				box-shadow: 0 0 15rpx rgba(0, 0, 0, 0.2);
+				margin-bottom: 15rpx;
+
+				.image-wrapper {
+					width: 345rpx;
+					height: 345rpx;
+					border-radius: 3px;
+					overflow: hidden;
+					position: relative;
+
+					.image-bg {
+						position: absolute;
+						top: 0;
+						left: 0;
+						right: 0;
+						bottom: 0;
+						width: 100%;
+						height: 100%;
+						opacity: 1;
+						border-radius: 12rpx 12rpx 0 0;
+						z-index: 2;
+					}
+
+					.image {
+						width: 100%;
+						height: 100%;
+						opacity: 1;
+						border-radius: 12rpx 12rpx 0 0;
+					}
 				}
-			
-				.price {
-					margin-left: 10rpx;
-					font-size: 36rpx;
-					color: #ff0000;
+
+				.title {
+					margin-top: 24rpx;
+					padding: 0 20rpx;
+					font-size: 32rpx;
 					font-weight: 500;
+					color: #333333;
+				}
+
+				.hot-price {
 					display: flex;
-					width: 100%;
 					justify-content: flex-start;
 					align-items: center;
-					.jf {
+					width: 100%;
+					padding: 0 10rpx;
+					// padding: 14rpx 0 30rpx;
+
+					.hotPrice-box {
+						padding: 2rpx 6rpx;
+
+						background: linear-gradient(90deg, #c79a4c, #f9df7f);
+						border-radius: 5rpx;
+						text-align: center;
+						line-height: 28rpx;
 						font-size: 20rpx;
+						font-family: Source Han Sans CN;
+						font-weight: 400;
+						color: #ffffff;
 					}
-					.give-jf {
-						display: inline-block;
-						padding: 8rpx;
-						
-						background: linear-gradient(90deg, #FF834D, #FF2600);
-						border-radius: 12rpx 0px 12rpx 0px;
-						
-						font-size: 22rpx;
+
+					.price {
+						margin-left: 10rpx;
+						font-size: 36rpx;
+						color: #ff0000;
 						font-weight: 500;
-						color: #FFFFFF;
-						margin-left: 22rpx;
+						display: flex;
+						width: 100%;
+						justify-content: flex-start;
+						align-items: center;
+
+						.jf {
+							font-size: 20rpx;
+						}
+
+						.give-jf {
+							display: inline-block;
+							padding: 8rpx;
+
+							background: linear-gradient(90deg, #FF834D, #FF2600);
+							border-radius: 12rpx 0px 12rpx 0px;
+
+							font-size: 22rpx;
+							font-weight: 500;
+							color: #FFFFFF;
+							margin-left: 22rpx;
+						}
+
+						.ot-pirce {
+							margin-left: 7rpx;
+							font-size: 26rpx;
+							font-weight: 500;
+							text-decoration: line-through;
+							color: #999999;
+							align-self: flex-end;
+						}
+
 					}
-					.ot-pirce {
-						margin-left: 7rpx;
-						font-size: 26rpx;
+
+					.yuanPrice {
+						margin-left: 10rpx;
+						font-size: 20rpx;
+						font-family: PingFang SC;
 						font-weight: 500;
 						text-decoration: line-through;
 						color: #999999;
-						align-self: flex-end;
 					}
-					
-				}
-			
-				.yuanPrice {
-					margin-left: 10rpx;
-					font-size: 20rpx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					text-decoration: line-through;
-					color: #999999;
-				}
-			
-				.cart-icon {
-					image {
-						width: 44rpx;
-						height: 44rpx;
+
+					.cart-icon {
+						image {
+							width: 44rpx;
+							height: 44rpx;
+						}
 					}
 				}
 			}
 		}
 	}
-}
+
 	.popup-box {
 		width: 522rpx;
 		height: 605rpx;
@@ -773,19 +790,22 @@
 			}
 		}
 	}
+
 	.top-bg {
 		height: 450rpx;
 		//#f53934
-		background-image: linear-gradient(to bottom,$base-color,#fff);
+		background-image: linear-gradient(to bottom, $base-color, #fff);
 		position: absolute;
 		top: 0;
 		width: 100%;
 	}
+
 	.gsjs {
 		width: 100%;
 	}
+
 	.status_bar {
-	        height: var(--status-bar-height);
-	        width: 100%;
-	    }
-</style>
+		height: var(--status-bar-height);
+		width: 100%;
+	}
+</style>

+ 222 - 0
pages/index/jfGoods.vue

@@ -0,0 +1,222 @@
+<template>
+	<view class="content">
+		<view class="hot-list">
+			<view class="hotgoods-item" v-if="list.length > 0" v-for="jfitem in list" :key="jfitem.id"
+				@click="navto('/pages/product/product?id=' + jfitem.id)">
+				<view class="image-wrapper">
+					<image class="image" :src="jfitem.image" mode="scaleToFill"></image>
+				</view>
+				<view class="flex"
+					style="flex-direction: column;justify-content: space-between;align-items: flex-start;">
+					<view class="title clamp">{{jfitem.store_name}}</view>
+					<view class="hot-price">
+						<view class="price">
+							<image src="../../static/icon/jf.png" mode=""></image>
+							<text>{{ jfitem.max_integral * 1 }} + {{(jfitem.price*1 - jfitem.max_integral * 1).toFixed(2)}}</text>
+							<!-- <text class="ot-pirce">¥{{jfitem.ot_price}}</text> -->
+						</view>
+					</view>
+				</view>
+				
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		getProducts
+	} from '@/api/product.js';
+	export default {
+		data() {
+			return {
+				list: [],
+				page: 1,
+				limit: 5,
+				loadingType: 'more',
+				loaded: false
+			}
+		},
+		onLoad() {
+			this.getList()
+		},
+		onShow() {
+			
+		},
+		onReachBottom() {
+			this.getList()
+		},
+		onReady() {
+			
+		},
+		methods: {
+			navto(url) {
+				uni.navigateTo({
+					url,
+					fail() {
+						uni.switchTab({
+							url
+						})
+					}
+				})
+			},
+ 			getList() {
+				let that = this
+				if(that.loadingType == 'noMore' || that.loadingType == 'loading') {
+					return
+				}
+				that.loadingType = 'loading'
+				getProducts({
+					page: that.page,
+					limit: that.limit,
+					is_integral: 1
+				}).then(res => {
+					let arr = res.data
+					that.list = that.list.concat(arr)
+					if(arr.length == that.limit) {
+						that.loadingType = 'more'
+					}else {
+						that.loadingType = 'noMore'
+					}
+					that.loaded = true
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.hot-list {
+		// margin-top: 38rpx;
+		width: 100%;
+		display: flex;
+		flex-wrap: wrap;
+		padding: 0 20rpx 30rpx;
+		justify-content: space-between;
+	
+		.hotgoods-item {
+			width: 345rpx;
+			background-color: #ffffff;
+			border-radius: 12rpx;
+			box-shadow: 0 0 15rpx rgba(0, 0, 0, 0.2);
+			margin-bottom: 15rpx;
+			padding-bottom:20rpx;
+	
+			.image-wrapper {
+				width: 345rpx;
+				height: 345rpx;
+				border-radius: 3px;
+				overflow: hidden;
+				position: relative;
+	
+				.image-bg {
+					position: absolute;
+					top: 0;
+					left: 0;
+					right: 0;
+					bottom: 0;
+					width: 100%;
+					height: 100%;
+					opacity: 1;
+					border-radius: 12rpx 12rpx 0 0;
+					z-index: 2;
+				}
+	
+				.image {
+					width: 100%;
+					height: 100%;
+					opacity: 1;
+					border-radius: 12rpx 12rpx 0 0;
+				}
+			}
+	
+			.title {
+				margin-top: 24rpx;
+				padding: 0 20rpx 10rpx;
+				font-size: 32rpx;
+				font-weight: 500;
+				color: #333333;
+				width: 345rpx;
+			}
+	
+			.hot-price {
+				display: flex;
+				justify-content: flex-start;
+				align-items: center;
+				width: 100%;
+				padding: 0 10rpx;
+				// padding: 14rpx 0 30rpx;
+	
+				.hotPrice-box {
+					padding: 2rpx 6rpx;
+	
+					background: linear-gradient(90deg, #c79a4c, #f9df7f);
+					border-radius: 5rpx;
+					text-align: center;
+					line-height: 28rpx;
+					font-size: 20rpx;
+					font-family: Source Han Sans CN;
+					font-weight: 400;
+					color: #ffffff;
+				}
+	
+				.price {
+					margin-left: 10rpx;
+					font-size: 36rpx;
+					color: #ff6b2e;
+					font-weight: 500;
+					display: flex;
+					width: 100%;
+					justify-content: flex-start;
+					align-items: center;
+					image {
+						width: 24rpx;
+						height: 26rpx;
+					}
+					.jf {
+						font-size: 20rpx;
+					}
+	
+					.give-jf {
+						display: inline-block;
+						padding: 8rpx;
+	
+						background: linear-gradient(90deg, #FF834D, #FF2600);
+						border-radius: 12rpx 0px 12rpx 0px;
+	
+						font-size: 22rpx;
+						font-weight: 500;
+						color: #FFFFFF;
+						margin-left: 22rpx;
+					}
+	
+					.ot-pirce {
+						margin-left: 7rpx;
+						font-size: 26rpx;
+						font-weight: 500;
+						text-decoration: line-through;
+						color: #999999;
+						align-self: flex-end;
+					}
+	
+				}
+	
+				.yuanPrice {
+					margin-left: 10rpx;
+					font-size: 20rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					text-decoration: line-through;
+					color: #999999;
+				}
+	
+				.cart-icon {
+					image {
+						width: 44rpx;
+						height: 44rpx;
+					}
+				}
+			}
+		}
+	}
+</style>

+ 7 - 3
pages/order/createOrder.vue

@@ -119,10 +119,10 @@
 				<text class="cell-tit clamp">优惠金额</text>
 				<text class="cell-tip red">-¥35</text>
 			</view> -->
-			<!-- <view class="yt-list-cell b-b" v-if="integralAll > 0 && userInfo.level > 0">
+			<view class="yt-list-cell b-b" v-if="is_integral > 0">
 				<text class="cell-tit clamp">积分抵扣{{ '(当前积分:' + integralAll + ')' }}</text>
-				<view class="cell-tip"><radio @click="checkedPoints = !checkedPoints" color="#ff5319" :checked="checkedPoints" /></view>
-			</view> -->
+				<view class="cell-tip"><radio @click="checkedPoints = !checkedPoints" color="#007c92" :checked="checkedPoints" /></view>
+			</view>
 			<view class="yt-list-cell b-b" v-if="tabCurrentIndex == 0">
 				<text class="cell-tit clamp">运费</text>
 				<text class="cell-tip">{{ Postage }}</text>
@@ -225,6 +225,7 @@
 	export default {
 		data() {
 			return {
+				is_integral: 0,
 				showbtn: true,
 				store_list: [],
 				checkedPoint: {},
@@ -298,6 +299,9 @@
 				this.cartId = option.id;
 				this.loadData();
 			}
+			if(option.is_integral) {
+				this.is_integral = option.is_integral
+			}
 			this.userinfo();
 			this.storeList()
 		},

+ 1106 - 958
pages/product/product.vue

@@ -3,7 +3,9 @@
 		<view class="carousel">
 			<swiper indicator-dots :circular="true" duration="400">
 				<swiper-item class="swiper-item" v-for="(item, index) in imgList" :key="index">
-					<view class="image-wrapper"><image :src="item" class="loaded" mode="scaleToFill"></image></view>
+					<view class="image-wrapper">
+						<image :src="item" class="loaded" mode="scaleToFill"></image>
+					</view>
 				</swiper-item>
 			</swiper>
 		</view>
@@ -12,32 +14,35 @@
 			<view class="title flex">
 				<view class="title-box">
 					<text class="price-tip">¥</text>
-					<text class="price" v-if="userInfo && userInfo.level == 1">{{ goodsObjact.vip_repurchase*1 || ''}}</text>
-					<text class="price" v-if="userInfo && userInfo.level == 2">{{ goodsObjact.agent_repurchase*1 || ''}}</text>
+					<text class="price"
+						v-if="userInfo && userInfo.level == 1">{{ goodsObjact.vip_repurchase*1 || ''}}</text>
+					<text class="price"
+						v-if="userInfo && userInfo.level == 2">{{ goodsObjact.agent_repurchase*1 || ''}}</text>
 					<text class="price" v-if="(!hasLogin || userInfo.level == 0)">{{ goodsObjact.price*1 }}</text>
-					<text class="m-price" v-if="goodsObjact.ot_price > goodsObjact.price">¥{{ goodsObjact.ot_price }}</text>
+					<text class="m-price"
+						v-if="goodsObjact.ot_price > goodsObjact.price">¥{{ goodsObjact.ot_price }}</text>
 					<!-- <text class="coupon-tip">7折</text> -->
 				</view>
 				<view class="flex timeStop">
 					<view>距离结束</view>
-					<uni-countdown
-						color="#ffffff"
-						background-color="#D65B3F"
-						splitor-color="#FFFFFF"
-						:show-day="false"
-						:hour="seckillObj.stopTimeH"
-						:minute="seckillObj.stopTimeM"
-						:second="seckillObj.stopTimeS"
-					></uni-countdown>
+					<uni-countdown color="#ffffff" background-color="#D65B3F" splitor-color="#FFFFFF" :show-day="false"
+						:hour="seckillObj.stopTimeH" :minute="seckillObj.stopTimeM"
+						:second="seckillObj.stopTimeS"></uni-countdown>
 				</view>
 			</view>
 		</view>
 
 		<view class="introduce-section">
-			<view class="price-box" v-if="goodsType == 0">
+			<view class="price-box" v-if="goodsType == 0 && goodsObjact.is_integral != 1">
 				<text class="price-tip">¥</text>
 				<text class="price">{{ goodsObjact.price}}</text>
-				<text class="m-price" >vip:¥{{ goodsObjact.vip_price }}</text>
+				<text class="m-price">vip:¥{{ goodsObjact.vip_price }}</text>
+			</view>
+			<view class="price-box" v-if="goodsType == 0 && goodsObjact.is_integral == 1">
+				<!-- <text class="price-tip"></text> -->
+				<image src="../../static/icon/jf.png" mode=""></image>
+				<text class="price">{{ goodsObjact.max_integral + ' '}} </text>
+				<text class="jf-price"> + {{ (goodsObjact.price*1 - goodsObjact.max_integral*1).toFixed(2)  }}</text>
 			</view>
 			<text class="title" v-if="goodsType == 0">{{ goodsObjact.store_name }}</text>
 		</view>
@@ -59,16 +64,19 @@
 		<view class="detail-desc">
 			<view class="d-header"><text>商品详情</text></view>
 			<rich-text class="detail-centent" :nodes="goodsObjact.description"></rich-text>
-			<view :class="{ contentBottomHeight: goodsType == 1 || goodsType == 2, goodsBottom: goodsType == 0 }"></view>
+			<view :class="{ contentBottomHeight: goodsType == 1 || goodsType == 2, goodsBottom: goodsType == 0 }">
+			</view>
 		</view>
 		<!-- 底部操作菜单 -->
 		<view class="page-bottom" v-if="goodsType == 0">
 			<view class="action-btn-group">
 				<view class="buy-now">
-					<button type="primary" class=" action-btn no-border buy-now-btn" @click.stop="toggleSpec(2)" v-if="goodsObjact.id && goodsObjact.is_level != 1">加入购物车</button>
-					<button type="primary" class=" action-btn no-border  add-cart-btn" @click.stop="toggleSpec(1)">立即购买</button>
+					<button type="primary" class=" action-btn no-border buy-now-btn" @click.stop="toggleSpec(2)"
+						v-if="goodsObjact.id && goodsObjact.is_level != 1">加入购物车</button>
+					<button type="primary" class=" action-btn no-border  add-cart-btn"
+						@click.stop="toggleSpec(1)">立即购买</button>
 				</view>
-				
+
 			</view>
 		</view>
 		<!-- 规格-模态层弹窗 -->
@@ -92,13 +100,8 @@
 				<view v-for="(item, index) in specList" :key="index" class="attr-list">
 					<text>{{ item.attr_name }}</text>
 					<view class="item-list">
-						<text
-							v-for="(childItem, childIndex) in item.attr_value"
-							:key="childIndex"
-							class="tit"
-							:class="{ selected: childItem.check }"
-							@click="selectSpec(childItem, item, index)"
-						>
+						<text v-for="(childItem, childIndex) in item.attr_value" :key="childIndex" class="tit"
+							:class="{ selected: childItem.check }" @click="selectSpec(childItem, item, index)">
 							{{ childItem.attr }}
 						</text>
 					</view>
@@ -106,7 +109,8 @@
 				<view class="attr-list" style="padding-bottom: 120rpx;">
 					<text>购买数量</text>
 					<view class="item-list">
-						<uni-number-box class="step" :isMin="true" :value="goodsNumber" :min="1" :max="goodsNumberMax" @eventChange="numberChange"></uni-number-box>
+						<uni-number-box class="step" :isMin="true" :value="goodsNumber" :min="1" :max="goodsNumberMax"
+							@eventChange="numberChange"></uni-number-box>
 					</view>
 				</view>
 				<button class="btn" @click.stop="buy">确定</button>
@@ -119,1045 +123,1189 @@
 </template>
 
 <script>
-// import share from '@/components/share';
-import uniNumberBox from '@/components/uni-number-box.vue';
-import uniCountdown from '@/components/uni-countdown/uni-countdown.vue';
-import { goodsDetail, cartAdd, collectAdd, collectDel, seckillGoods, groupGoods } from '@/api/product.js';
-// #ifdef H5
-import { weixindata,shareLoad } from '@/utils/wxAuthorized';
-import weixinObj from "@/plugin/jweixin-module/index.js";
-import { userInfo } from 'os';
-// #endif
+	// import share from '@/components/share';
+	import uniNumberBox from '@/components/uni-number-box.vue';
+	import uniCountdown from '@/components/uni-countdown/uni-countdown.vue';
+	import {
+		goodsDetail,
+		cartAdd,
+		collectAdd,
+		collectDel,
+		seckillGoods,
+		groupGoods
+	} from '@/api/product.js';
+	// #ifdef H5
+	import {
+		weixindata,
+		shareLoad
+	} from '@/utils/wxAuthorized';
+	import weixinObj from "@/plugin/jweixin-module/index.js";
+	import {
+		userInfo
+	} from 'os';
+	// #endif
 	import {
 		mapState,
 		mapMutations
 	} from 'vuex';
-export default {
-	components: {
-		uniNumberBox,
-		uniCountdown
-	},
-	filters: {
-		address(val) {
-			let str = '';
-			if (val) {
-				str = val[0] + ' ' + val[1];
-			}
-			return str;
-		}
-	},
-	data() {
-		return {
-			isfg: 0,
-			details: '',
-			reply: '', //评论
-			type: 1, //默认支付方式add为
-			goodsNumber: 1, //购买数量
-			goodsid: '', //商品id
-			specClass: 'none', //显示隐藏弹窗
-			shareList: [], //分享列表
-			goodsObjact: {}, //保存商品数据
-			storeObjact: {}, //保存店铺数据
-			//图片循环
-			imgList: [],
-			specList: [],
-			// 对比对象
-			productValue: [],
-			actionPrice: 0, //默认选中商品价格
-			actionImage: '', //默认选中图片
-			uniqueId: '', //选中的商品分类
-			specSelected: [], //选中的分类
-			specSelectedName: '', //选中分类名称
-			goodsNumberMax: 0, //最大可购买数量
-			shopId: '', //商店id
-			//商店信息
-			shopInfo: {
-				logo: '',
-				title: ''
-			}, //商店信息
-			goodsType: 0, //商品类型1秒杀商品0为普通商品2为拼团商品
-			// 秒杀数据保存
-			seckillObj: {
-				stopTime: 0, //结束时间
-				stop: false, //是否结束
-				stopTimeH: 0, //小时
-				stopTimeM: 0, //分钟
-				stopTimeS: 0 //秒钟
-			},
-			// 拼团数据保存
-			pink: {
-				id: '', //拼团编号
-				uid: '', //用户编号
-				people: '', //拼团人数
-				price: '', //拼团价格
-				stop_time: '', //拼团结束时间
-				nickname: '', //团长昵称
-				avatar: '', //团长头像
-				count: '', //拼团剩余人数
-				h: '', //时
-				i: '', //分
-				s: '' //秒
-			},
-			is_bk: 0,
-			is_xf: 0,
-			goodIntegral: 0,//需要使用的积分
-		};
-	},
-	async onLoad(options) {
-		let obj = this;
-		if(options.isfg) {
-			this.isfg = options.isfg
-		}
-		if(options.is_bk) {
-			obj.is_bk = options.is_bk
-		}
-		if(options.is_xf) {
-			obj.is_xf = options.is_xf
-		}
-		//保存商品id
-		this.goodsid = options.id;
-		// 判断有无人邀请
-		if (options.spread) {
-			// 存储邀请人
-			uni.setStorageSync('spread', options.spread);
-		}
-		// 判断是否为秒杀商品
-		if (options.type == 1) {
-			// 保存商品类型
-			this.goodsType = 1;
-			// 保存结束时间
-			this.seckillObj.stopTime = options.stoptime;
-			// 获取当前时间毫秒数
-			let stoptime = options.stoptime * 1000;
-			// 获取当前时间
-			let acitonTime = new Date();
-			// 判断当前时间是否大于结束时间
-			if (acitonTime.getTime() > stoptime) {
-				// 当前秒杀时间已经结束
-				this.seckillObj.stop = true;
-			} else {
-				// 计算倒计时
-				this.timeComputed(stoptime, this.seckillObj);
-			}
-			this.seckillGoods();
-			return;
-		}
-		if (options.type == 2) {
-			// 保存当前拼团商品类型
-			this.goodsType = 2;
-			// 家在数据
-			this.groupGoods();
-			return;
-		}
-		if (this.goodsType == 0) {
-			// 加载普通商品详情
-			this.goodsDetail();
-		}
-	},
-	computed: {
-		// #ifdef H5
-		...mapState(['weichatObj', 'baseURL', 'urlFile']),
-		
-		// #endif
-		...mapState('user', ['userInfo','hasLogin'])
-	},
-	methods: {
-		navTo(url) {
-			uni.navigateTo({
-				url
-			});
-		},
-		// 转换字符串为数字
-		moneyNum: function(value) {
-			return +value;
+	export default {
+		components: {
+			uniNumberBox,
+			uniCountdown
 		},
-		navToProductGoods() {
-			uni.redirectTo({
-				url: '/pages/product/product?id=' + this.goodsObjact.product_id
-			});
-		},
-		// 获取商品信息
-		goodsDetail() {
-			let obj = this;
-			goodsDetail({}, this.goodsid).then(function({ data }) {
-				obj.details = data;
-				let goods = data.storeInfo;
-				let store_info = data.system_store; // 保存店铺信息
-				console.log(store_info);
-				obj.storeObjact = store_info;
-				obj.goodsObjact = goods;
-				if (obj.goodsObjact.description != null) {
-					obj.goodsObjact.description = obj.goodsObjact.description.replace(/\<img/gi, '<img class="rich-img"');
-				} //小程序商品详情图超出屏幕问题
-				// console.log()
-				obj.reply = data.reply; //保存评论列表
-				obj.imgList = goods.slider_image; //保存轮播图
-				obj.specList = data.productAttr; //保存分类列表
-				console.log(data.productAttr);
-				obj.productValue = data.productValue; //保存分类查询数据
-				 //保存默认选中商品价格
-				obj.actionPrice = goods.price;
-				obj.actionImage = goods.image_base; //保存默认选中商品价格
-				obj.goodsNumberMax = goods.stock; //保存默认选中最大可购买商品数量
-				obj.shopId = data.mer_id; //保存商店id
-				console.log(obj.goodsObjact.is_pack,'v');
-				if(obj.goodsObjact.is_pack == 1) {
-					obj.goodsNumberMax = 1
+		filters: {
+			address(val) {
+				let str = '';
+				if (val) {
+					str = val[0] + ' ' + val[1];
 				}
-				// 保存默认选中的对象
-				obj.specSelected = []; //初始化默认选择对象
-				for (let i = 0; i < obj.specList.length; i++) {
-					// 设置默认数据
-					let attrValue = obj.specList[i].attr_value[0];
-					attrValue.check = true;
-					obj.specSelected.push(attrValue.attr);
-				}
-
-				//保存默认选中的对象字符串名称
-				let str = obj.specSelected.join(',');
-				// 设置默认值
-				obj.actionImage = obj.productValue[str].image;
-				obj.uniqueId = obj.productValue[str].unique;
-				obj.goodIntegral = obj.productValue[str].integral
-				
-				// #ifdef H5
-				obj.shareDate();
-				// #endif
-			});
-		},
-		// #ifdef H5
-		// 加载微信html5页面分享方法
-		shareDate() {
-			let obj = this;
-			// 保存分享人id链接
-			let url = window.location.href + '&spread=' + this.userInfo.uid;
-			// 判断是否微信浏览器
-			let bool = uni.getStorageSync('weichatBrowser') || '';
-			if (bool) {
-				// 过滤微信强制添加的链接地址
-				url = url.replace(/[\?,&]from=singlemessage/g, '');
-				let data = {
-					link: url, // 分享链接
-					imgUrl: obj.goodsObjact.image, // 分享图标
-					desc: obj.goodsObjact.store_info,
-					title: obj.goodsObjact.store_name,
-					success: function(e) {
-						console.log(e);
-					}
-				};
-				shareLoad(data);
+				return str;
 			}
 		},
-		// #endif
-		// 购买数量变化
-		numberChange(e) {
-			this.goodsNumber = e.number;
+		data() {
+			return {
+				isfg: 0,
+				details: '',
+				reply: '', //评论
+				type: 1, //默认支付方式add为
+				goodsNumber: 1, //购买数量
+				goodsid: '', //商品id
+				specClass: 'none', //显示隐藏弹窗
+				shareList: [], //分享列表
+				goodsObjact: {}, //保存商品数据
+				storeObjact: {}, //保存店铺数据
+				//图片循环
+				imgList: [],
+				specList: [],
+				// 对比对象
+				productValue: [],
+				actionPrice: 0, //默认选中商品价格
+				actionImage: '', //默认选中图片
+				uniqueId: '', //选中的商品分类
+				specSelected: [], //选中的分类
+				specSelectedName: '', //选中分类名称
+				goodsNumberMax: 0, //最大可购买数量
+				shopId: '', //商店id
+				//商店信息
+				shopInfo: {
+					logo: '',
+					title: ''
+				}, //商店信息
+				goodsType: 0, //商品类型1秒杀商品0为普通商品2为拼团商品
+				// 秒杀数据保存
+				seckillObj: {
+					stopTime: 0, //结束时间
+					stop: false, //是否结束
+					stopTimeH: 0, //小时
+					stopTimeM: 0, //分钟
+					stopTimeS: 0 //秒钟
+				},
+				// 拼团数据保存
+				pink: {
+					id: '', //拼团编号
+					uid: '', //用户编号
+					people: '', //拼团人数
+					price: '', //拼团价格
+					stop_time: '', //拼团结束时间
+					nickname: '', //团长昵称
+					avatar: '', //团长头像
+					count: '', //拼团剩余人数
+					h: '', //时
+					i: '', //分
+					s: '' //秒
+				},
+				is_bk: 0,
+				is_xf: 0,
+				goodIntegral: 0, //需要使用的积分
+			};
 		},
-		//规格弹窗开关
-		toggleSpec(str) {
-			if (this.specClass === 'show') {
-				this.specClass = 'hide';
-				setTimeout(() => {
-					this.specClass = 'none';
-				}, 250);
-			} else if (this.specClass === 'none') {
-				this.specClass = 'show';
+		async onLoad(options) {
+			let obj = this;
+			if (options.isfg) {
+				this.isfg = options.isfg
 			}
-			// 保存当前购买类型
-			this.type = str;
-		},
-		//选择规格
-		selectSpec(item, arr, ind) {
-			let obj = this
-			arr.attr_value.forEach(function(e) {
-				e.check = false;
-			});
-			item.check = true;
-			this.specSelected[ind] = item.attr;
-			let str = this.specSelected.join(',');
-			this.specSelectedName = this.specSelected.join(' ');
-			if (this.productValue[str]) {
-				let data = this.productValue[str];
-				this.actionPrice = data.price;
-				if(obj.goodsObjact.is_pack == 1) {
-					this.goodsNumberMax =1;
-				}else {
-					this.goodsNumberMax = data.stock;
+			if (options.is_bk) {
+				obj.is_bk = options.is_bk
+			}
+			if (options.is_xf) {
+				obj.is_xf = options.is_xf
+			}
+			//保存商品id
+			this.goodsid = options.id;
+			// 判断有无人邀请
+			if (options.spread) {
+				// 存储邀请人
+				uni.setStorageSync('spread', options.spread);
+			}
+			// 判断是否为秒杀商品
+			if (options.type == 1) {
+				// 保存商品类型
+				this.goodsType = 1;
+				// 保存结束时间
+				this.seckillObj.stopTime = options.stoptime;
+				// 获取当前时间毫秒数
+				let stoptime = options.stoptime * 1000;
+				// 获取当前时间
+				let acitonTime = new Date();
+				// 判断当前时间是否大于结束时间
+				if (acitonTime.getTime() > stoptime) {
+					// 当前秒杀时间已经结束
+					this.seckillObj.stop = true;
+				} else {
+					// 计算倒计时
+					this.timeComputed(stoptime, this.seckillObj);
 				}
-				
-				this.actionImage = data.image;
-				this.uniqueId = data.unique;
-				this.goodIntegral = data.integral
-				console.log(this.goodIntegral,'xuanz')
+				this.seckillGoods();
+				return;
+			}
+			if (options.type == 2) {
+				// 保存当前拼团商品类型
+				this.goodsType = 2;
+				// 家在数据
+				this.groupGoods();
+				return;
 			}
-			if(obj.goodsObjact.is_pack == 1) {
-				console.log('dddddddddddddddddddddd');
-				this.goodsNumberMax = 1;
+			if (this.goodsType == 0) {
+				// 加载普通商品详情
+				this.goodsDetail();
 			}
 		},
-		//分享
-		share() {
-			this.$refs.share.toggleMask();
+		computed: {
+			// #ifdef H5
+			...mapState(['weichatObj', 'baseURL', 'urlFile']),
+
+			// #endif
+			...mapState('user', ['userInfo', 'hasLogin'])
 		},
-		//收藏
-		toFavorite(item) {
-			let obj = this;
-			item.userCollect = !item.userCollect;
-			if (!item.userCollect) {
-				collectDel({ id: obj.goodsid, category: 'product' }).then(function(e) {
-					uni.showToast({
-						title: '成功取消收藏',
-						type: 'top',
-						duration: 1500
-					});
+		methods: {
+			navTo(url) {
+				uni.navigateTo({
+					url
 				});
-			} else {
-				collectAdd({ id: obj.goodsid, category: 'product' }).then(function(e) {
-					uni.showToast({
-						title: '成功加入收藏',
-						type: 'top',
-						duration: 1500
-					});
+			},
+			// 转换字符串为数字
+			moneyNum: function(value) {
+				return +value;
+			},
+			navToProductGoods() {
+				uni.redirectTo({
+					url: '/pages/product/product?id=' + this.goodsObjact.product_id
 				});
-			}
-		},
-		// 立即购买
-		buy() {
-			let obj = this;
-			let data = {
-				cartNum: obj.goodsNumber, //商品数量
-				uniqueId: obj.uniqueId, //商品标签
-				new: '1', //商品是否新增加到购物车1为不加入0为加入
-				mer_id: obj.shopId,
-				is_pack: obj.goodsObjact.is_pack,
-				is_level: obj.goodsObjact.is_level
-				// type: 0,//0为余额支付  1为消费券支付 2为积分支付
-			};
-			if (obj.type == 2) {
-				data.new = 0;
-			}
-			if (obj.goodsType == 0) {
-				data.productId = obj.goodsid; //商品编号
-			}
-			// 判断是否为秒杀商品
-			if (obj.goodsType == 1) {
-				data.secKillId = obj.goodsid; //秒杀商品编号
-				data.productId = obj.goodsObjact.product_id; //商品编号
-				// 判断是否秒杀已经结束
-				if (obj.seckillObj.stop) {
-					uni.showModal({
-						title: '提示',
-						content: '当前活动已经结束',
-						showCancel: false
-					});
-					return;
+			},
+			// 获取商品信息
+			goodsDetail() {
+				let obj = this;
+				goodsDetail({}, this.goodsid).then(function({
+					data
+				}) {
+					obj.details = data;
+					let goods = data.storeInfo;
+					let store_info = data.system_store; // 保存店铺信息
+					console.log(store_info);
+					obj.storeObjact = store_info;
+					obj.goodsObjact = goods;
+					if (obj.goodsObjact.description != null) {
+						obj.goodsObjact.description = obj.goodsObjact.description.replace(/\<img/gi,
+							'<img class="rich-img"');
+					} //小程序商品详情图超出屏幕问题
+					// console.log()
+					obj.reply = data.reply; //保存评论列表
+					obj.imgList = goods.slider_image; //保存轮播图
+					obj.specList = data.productAttr; //保存分类列表
+					console.log(data.productAttr);
+					obj.productValue = data.productValue; //保存分类查询数据
+					//保存默认选中商品价格
+					obj.actionPrice = goods.price;
+					obj.actionImage = goods.image_base; //保存默认选中商品价格
+					obj.goodsNumberMax = goods.stock; //保存默认选中最大可购买商品数量
+					obj.shopId = data.mer_id; //保存商店id
+					console.log(obj.goodsObjact.is_pack, 'v');
+					if (obj.goodsObjact.is_pack == 1) {
+						obj.goodsNumberMax = 1
+					}
+					// 保存默认选中的对象
+					obj.specSelected = []; //初始化默认选择对象
+					for (let i = 0; i < obj.specList.length; i++) {
+						// 设置默认数据
+						let attrValue = obj.specList[i].attr_value[0];
+						attrValue.check = true;
+						obj.specSelected.push(attrValue.attr);
+					}
+
+					//保存默认选中的对象字符串名称
+					let str = obj.specSelected.join(',');
+					// 设置默认值
+					obj.actionImage = obj.productValue[str].image;
+					obj.uniqueId = obj.productValue[str].unique;
+					obj.goodIntegral = obj.productValue[str].integral
+
+					// #ifdef H5
+					obj.shareDate();
+					// #endif
+				});
+			},
+			// #ifdef H5
+			// 加载微信html5页面分享方法
+			shareDate() {
+				let obj = this;
+				// 保存分享人id链接
+				let url = window.location.href + '&spread=' + this.userInfo.uid;
+				// 判断是否微信浏览器
+				let bool = uni.getStorageSync('weichatBrowser') || '';
+				if (bool) {
+					// 过滤微信强制添加的链接地址
+					url = url.replace(/[\?,&]from=singlemessage/g, '');
+					let data = {
+						link: url, // 分享链接
+						imgUrl: obj.goodsObjact.image, // 分享图标
+						desc: obj.goodsObjact.store_info,
+						title: obj.goodsObjact.store_name,
+						success: function(e) {
+							console.log(e);
+						}
+					};
+					shareLoad(data);
 				}
-			}
-			// 判断是否为拼团商品
-			if (obj.goodsType == 2) {
-				data.combinationId = obj.goodsid; //拼团编号
-				data.productId = obj.goodsObjact.product_id; //商品编号
-			}
-			cartAdd(data)
-				.then(function({ data }) {
-					if (obj.type == 1) {
-						// 跳转到支付页
-						uni.navigateTo({
-							url: '/pages/order/createOrder?id=' + data.cartId + '&goodsType=' + obj.goodsType + '&is_pack=' + obj.goodsObjact.is_pack + '&affiliation_uid=' + obj.goodsObjact.affiliation_uid + '&is_level=' + obj.goodsObjact.is_level
-						});
+			},
+			// #endif
+			// 购买数量变化
+			numberChange(e) {
+				this.goodsNumber = e.number;
+			},
+			//规格弹窗开关
+			toggleSpec(str) {
+				if (this.specClass === 'show') {
+					this.specClass = 'hide';
+					setTimeout(() => {
+						this.specClass = 'none';
+					}, 250);
+				} else if (this.specClass === 'none') {
+					this.specClass = 'show';
+				}
+				// 保存当前购买类型
+				this.type = str;
+			},
+			//选择规格
+			selectSpec(item, arr, ind) {
+				let obj = this
+				arr.attr_value.forEach(function(e) {
+					e.check = false;
+				});
+				item.check = true;
+				this.specSelected[ind] = item.attr;
+				let str = this.specSelected.join(',');
+				this.specSelectedName = this.specSelected.join(' ');
+				if (this.productValue[str]) {
+					let data = this.productValue[str];
+					this.actionPrice = data.price;
+					if (obj.goodsObjact.is_pack == 1) {
+						this.goodsNumberMax = 1;
+					} else {
+						this.goodsNumberMax = data.stock;
 					}
-					if (obj.type == 2) {
+
+					this.actionImage = data.image;
+					this.uniqueId = data.unique;
+					this.goodIntegral = data.integral
+					console.log(this.goodIntegral, 'xuanz')
+				}
+				if (obj.goodsObjact.is_pack == 1) {
+					console.log('dddddddddddddddddddddd');
+					this.goodsNumberMax = 1;
+				}
+			},
+			//分享
+			share() {
+				this.$refs.share.toggleMask();
+			},
+			//收藏
+			toFavorite(item) {
+				let obj = this;
+				item.userCollect = !item.userCollect;
+				if (!item.userCollect) {
+					collectDel({
+						id: obj.goodsid,
+						category: 'product'
+					}).then(function(e) {
 						uni.showToast({
-							title: '成功加入购物车',
+							title: '成功取消收藏',
 							type: 'top',
-							duration: 2000
+							duration: 1500
+						});
+					});
+				} else {
+					collectAdd({
+						id: obj.goodsid,
+						category: 'product'
+					}).then(function(e) {
+						uni.showToast({
+							title: '成功加入收藏',
+							type: 'top',
+							duration: 1500
+						});
+					});
+				}
+			},
+			// 立即购买
+			buy() {
+				let obj = this;
+				let data = {
+					is_integral: obj.goodsObjact.is_integral,
+					cartNum: obj.goodsNumber, //商品数量
+					uniqueId: obj.uniqueId, //商品标签
+					new: '1', //商品是否新增加到购物车1为不加入0为加入
+					mer_id: obj.shopId,
+					is_pack: obj.goodsObjact.is_pack,
+					is_level: obj.goodsObjact.is_level
+					// type: 0,//0为余额支付  1为消费券支付 2为积分支付
+				};
+				if (obj.type == 2) {
+					data.new = 0;
+				}
+				if (obj.goodsType == 0) {
+					data.productId = obj.goodsid; //商品编号
+				}
+				// 判断是否为秒杀商品
+				if (obj.goodsType == 1) {
+					data.secKillId = obj.goodsid; //秒杀商品编号
+					data.productId = obj.goodsObjact.product_id; //商品编号
+					// 判断是否秒杀已经结束
+					if (obj.seckillObj.stop) {
+						uni.showModal({
+							title: '提示',
+							content: '当前活动已经结束',
+							showCancel: false
 						});
-						obj.toggleSpec();
+						return;
 					}
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-		stopPrevent() {}
-	}
-};
+				}
+				// 判断是否为拼团商品
+				if (obj.goodsType == 2) {
+					data.combinationId = obj.goodsid; //拼团编号
+					data.productId = obj.goodsObjact.product_id; //商品编号
+				}
+				cartAdd(data)
+					.then(function({
+						data
+					}) {
+						if (obj.type == 1) {
+							// 跳转到支付页
+							uni.navigateTo({
+								url: '/pages/order/createOrder?id=' + data.cartId + '&goodsType=' + obj
+									.goodsType + '&is_pack=' + obj.goodsObjact.is_pack + '&affiliation_uid=' +
+									obj.goodsObjact.affiliation_uid + '&is_level=' + obj.goodsObjact.is_level +
+									'&is_integral=' + obj.goodsObjact.is_integral
+							});
+						}
+						if (obj.type == 2) {
+							uni.showToast({
+								title: '成功加入购物车',
+								type: 'top',
+								duration: 2000
+							});
+							obj.toggleSpec();
+						}
+					})
+					.catch(e => {
+						console.log(e);
+					});
+			},
+			stopPrevent() {}
+		}
+	};
 </script>
 
 <style lang="scss">
-page {
-	background: $page-color-base;
-}
-//秒杀底部高度
-.seckillBottom {
-	height: 110rpx;
-}
-// 文章页底部高度撑开
-.contentBottomHeight {
-	height: 110rpx;
-}
-//默认商品底部高度
-.goodsBottom {
-	height: 100rpx;
-}
-.iconenter {
-	font-size: $font-base + 2rpx;
-	color: #888;
-}
-.carousel {
-	/* #ifdef APP-PLUS */
-	padding-top: var(--status-bar-height);
-	/* #endif */
-	height: 722rpx;
-	position: relative;
-	swiper {
-		height: 100%;
-	}
-	.image-wrapper {
-		width: 100%;
-		height: 100%;
-	}
-	.swiper-item {
-		display: flex;
-		justify-content: center;
-		align-content: center;
-		// height: 750rpx;
-		height: 710rpx;
-		overflow: hidden;
-		image {
-			width: 100%;
-			height: 100%;
-		}
+	page {
+		background: $page-color-base;
 	}
-}
-// 秒杀
-.seckill-box-title {
-	background: linear-gradient(90deg, rgba(239, 78, 81, 1) 0%, rgba(244, 113, 59, 1) 100%) !important;
-	.price,
-	.price-tip,
-	.timeStop,
-	.m-price {
-		color: #ffffff !important;
-	}
-	.price-tip {
-		font-size: $font-base;
+
+	//秒杀底部高度
+	.seckillBottom {
+		height: 110rpx;
 	}
-	.price {
-		font-size: 45rpx !important;
-		font-weight: bold;
+
+	// 文章页底部高度撑开
+	.contentBottomHeight {
+		height: 110rpx;
 	}
-	.timeStop {
+
+	//默认商品底部高度
+	.goodsBottom {
+		height: 100rpx;
 	}
-}
-// 底部拼团、秒杀支付按钮
-.goods-pay-box {
-	position: fixed;
-	left: 0;
-	bottom: 0;
-	z-index: 95;
-	width: 750rpx;
-	height: 100rpx;
-	line-height: 1;
-	color: #ffffff;
-	text-align: center;
-	font-size: $font-lg;
-	.bgLine {
-		background: linear-gradient(90deg, rgba(239, 78, 81, 1) 0%, rgba(244, 113, 59, 1) 100%);
+
+	.iconenter {
+		font-size: $font-base + 2rpx;
+		color: #888;
 	}
-	// 拼团支付按钮
-	.goods-pay {
-		display: flex;
-		align-content: center;
-		flex-wrap: wrap;
-		justify-content: center;
-		.goods-buttom,
-		.goods-buttom-money {
+
+	.carousel {
+		/* #ifdef APP-PLUS */
+		padding-top: var(--status-bar-height);
+		/* #endif */
+		height: 722rpx;
+		position: relative;
+
+		swiper {
+			height: 100%;
+		}
+
+		.image-wrapper {
 			width: 100%;
+			height: 100%;
 		}
-		.goods-buttom-money {
-			font-size: $font-base;
+
+		.swiper-item {
+			display: flex;
+			justify-content: center;
+			align-content: center;
+			// height: 750rpx;
+			height: 710rpx;
+			overflow: hidden;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
 		}
 	}
-	.goods-pay-stop,
-	.goods-pay {
-		padding: 15rpx 0;
-		height: 100%;
-		width: 100%;
-	}
-	.goods-pay-stop {
-		background: $color-gray;
-		line-height: 70rpx;
-	}
-}
-/* 标题简介 */
-.introduce-section {
-	background: #fff;
-	padding: 20rpx 30rpx;
-	.title {
-		font-size: 32rpx;
-		color: $font-color-dark;
-		height: 50rpx;
-		line-height: 50rpx;
-	}
-	.price-box {
-		display: flex;
-		align-items: baseline;
-		height: 64rpx;
-		padding: 10rpx 0;
-		font-size: 26rpx;
-		color: #FD3B39;
-	}
-	.price {
-		font-size: $font-lg + 2rpx;
-	}
-	.m-price {
-		margin: 0 12rpx;
-		color: $base-color;
-		// text-decoration: line-through;
-	}
-	.pt {
-		text-decoration:none;
-	}
-	.coupon-tip {
-		align-items: center;
-		padding: 4rpx 10rpx;
-		background: $uni-color-primary;
-		font-size: $font-sm;
-		color: #fff;
-		border-radius: 6rpx;
-		line-height: 1;
-		transform: translateY(-4rpx);
-	}
-	.bot-row {
-		display: flex;
-		align-items: center;
-		height: 50rpx;
-		font-size: $font-sm;
-		color: $font-color-light;
-		text {
-			flex: 1;
+
+	// 秒杀
+	.seckill-box-title {
+		background: linear-gradient(90deg, rgba(239, 78, 81, 1) 0%, rgba(244, 113, 59, 1) 100%) !important;
+
+		.price,
+		.price-tip,
+		.timeStop,
+		.m-price {
+			color: #ffffff !important;
 		}
-	}
-}
-/* 分享 */
-.share-section {
-	display: flex;
-	align-items: center;
-	color: $font-color-base;
-	background: linear-gradient(left, #fdf5f6, #fbebf6);
-	padding: 12rpx 30rpx;
-	.share-icon {
-		display: flex;
-		align-items: center;
-		width: 70rpx;
-		height: 30rpx;
-		line-height: 1;
-		border: 1px solid $uni-color-primary;
-		border-radius: 4rpx;
-		position: relative;
-		overflow: hidden;
-		font-size: 22rpx;
-		color: $uni-color-primary;
-		&:after {
-			content: '';
-			width: 50rpx;
-			height: 50rpx;
-			border-radius: 50%;
-			left: -20rpx;
-			top: -12rpx;
-			position: absolute;
-			background: $uni-color-primary;
+
+		.price-tip {
+			font-size: $font-base;
 		}
+
+		.price {
+			font-size: 45rpx !important;
+			font-weight: bold;
+		}
+
+		.timeStop {}
 	}
-	.iconfavorfill {
-		position: relative;
-		z-index: 1;
-		font-size: 24rpx;
-		margin-left: 2rpx;
-		margin-right: 10rpx;
-		color: #fff;
-		line-height: 1;
-	}
-	.tit {
-		font-size: $font-base;
-		margin-left: 10rpx;
-	}
-	.iconprompt {
-		padding: 10rpx;
-		font-size: 30rpx;
+
+	// 底部拼团、秒杀支付按钮
+	.goods-pay-box {
+		position: fixed;
+		left: 0;
+		bottom: 0;
+		z-index: 95;
+		width: 750rpx;
+		height: 100rpx;
 		line-height: 1;
-	}
-	.share-btn {
-		flex: 1;
-		text-align: right;
-		font-size: $font-sm;
-		color: $uni-color-primary;
-	}
-	.iconenter {
-		font-size: $font-sm;
-		margin-left: 4rpx;
-		color: $uni-color-primary;
-	}
-}
-
-.c-list {
-	margin-top: 20rpx;
-	font-size: $font-sm + 2rpx;
-	color: $font-color-base;
-	background: #fff;
-	.c-row {
-		display: flex;
-		align-items: center;
-		padding: 20rpx 30rpx;
-		position: relative;
-	}
-	.tit {
-		width: 140rpx;
-	}
-	.con {
-		flex: 1;
-		color: $font-color-dark;
-		.selected-text {
-			margin-right: 10rpx;
-			.num {
-				color: #FD3B39;
+		color: #ffffff;
+		text-align: center;
+		font-size: $font-lg;
+
+		.bgLine {
+			background: linear-gradient(90deg, rgba(239, 78, 81, 1) 0%, rgba(244, 113, 59, 1) 100%);
+		}
+
+		// 拼团支付按钮
+		.goods-pay {
+			display: flex;
+			align-content: center;
+			flex-wrap: wrap;
+			justify-content: center;
+
+			.goods-buttom,
+			.goods-buttom-money {
+				width: 100%;
+			}
+
+			.goods-buttom-money {
+				font-size: $font-base;
 			}
 		}
-	}
-	.bz-list {
-		height: 40rpx;
-		font-size: $font-sm + 2rpx;
-		color: $font-color-dark;
-		text {
-			display: inline-block;
-			margin-right: 30rpx;
+
+		.goods-pay-stop,
+		.goods-pay {
+			padding: 15rpx 0;
+			height: 100%;
+			width: 100%;
+		}
+
+		.goods-pay-stop {
+			background: $color-gray;
+			line-height: 70rpx;
 		}
 	}
-	.con-list {
-		flex: 1;
-		display: flex;
-		flex-direction: column;
-		color: $font-color-dark;
-		line-height: 40rpx;
-	}
-	.red {
-		color: $uni-color-primary;
-	}
-}
-
-/* 评价 */
-.eva-section {
-	display: flex;
-	flex-direction: column;
-	padding: 20rpx 30rpx;
-	background: #fff;
-	margin-top: 16rpx;
-	.e-header {
-		display: flex;
-		align-items: center;
-		height: 70rpx;
-		font-size: $font-sm + 2rpx;
-		color: $font-color-light;
-		.tit {
-			font-size: $font-base + 2rpx;
+
+	/* 标题简介 */
+	.introduce-section {
+		background: #fff;
+		padding: 20rpx 30rpx;
+
+		.title {
+			font-size: 32rpx;
 			color: $font-color-dark;
-			margin-right: 4rpx;
+			height: 50rpx;
+			line-height: 50rpx;
 		}
-		.tip {
-			flex: 1;
-			text-align: right;
+
+		.price-box {
+			display: flex;
+			align-items: baseline;
+			height: 64rpx;
+			padding: 10rpx 0;
+			font-size: 26rpx;
+			color: #FD3B39;
+
+			image {
+				width: 23rpx;
+				height: 24rpx;
+			}
 		}
-		.iconenter {
-			margin-left: 10rpx;
+
+		.price {
+			font-size: $font-lg + 2rpx;
 		}
-	}
-}
-.eva-box {
-	display: flex;
-	padding: 20rpx 0;
-	.portrait {
-		flex-shrink: 0;
-		width: 80rpx;
-		height: 80rpx;
-		border-radius: 100px;
-	}
-	.right {
-		flex: 1;
-		display: flex;
-		flex-direction: column;
-		font-size: $font-base;
-		color: $font-color-base;
-		padding-left: 26rpx;
-		.con {
-			font-size: $font-base;
-			color: $font-color-dark;
-			padding: 20rpx 0;
+
+		.m-price {
+			margin: 0 12rpx;
+			color: $base-color;
+			// text-decoration: line-through;
 		}
-		.bot {
-			display: flex;
-			justify-content: space-between;
-			font-size: $font-sm;
-			color: $font-color-light;
+
+		.jf-price {
+			color: #ff6b2e;
+			padding-left: 10rpx;
 		}
-	}
-}
-
-.eva-boxs {
-	width: 100%;
-	overflow: hidden;
-	padding: 10px 28rpx;
-	background: #f4f4f4;
-	border-radius: 12rpx;
-	font-size: $font-sm + 2rpx;
-	color: #333;
-	.portrait {
-		flex-shrink: 0;
-		width: 80rpx;
-		height: 80rpx;
-		border-radius: 100px;
-	}
-	.right {
-		flex: 1;
-		display: flex;
-		flex-direction: column;
-		font-size: $font-base;
-		color: $font-color-base;
-		.con {
-			font-size: $font-base;
-			color: $font-color-dark;
+
+		.pt {
+			text-decoration: none;
+		}
+
+		.coupon-tip {
+			align-items: center;
+			padding: 4rpx 10rpx;
+			background: $uni-color-primary;
+			font-size: $font-sm;
+			color: #fff;
+			border-radius: 6rpx;
+			line-height: 1;
+			transform: translateY(-4rpx);
 		}
-		.bot {
+
+		.bot-row {
 			display: flex;
-			justify-content: space-between;
+			align-items: center;
+			height: 50rpx;
 			font-size: $font-sm;
 			color: $font-color-light;
+
+			text {
+				flex: 1;
+			}
 		}
 	}
-}
-/*  详情 */
-.detail-desc {
-	background: #fff;
-	margin-top: 16rpx;
-	/deep/ img {
-		max-width: 100% !important;
-		display: inline !important;
-	}
-	/deep/ div {
-		max-width: 100% !important;
-	}
-	.d-header {
+
+	/* 分享 */
+	.share-section {
 		display: flex;
-		justify-content: center;
 		align-items: center;
-		height: 80rpx;
-		font-size: $font-base + 2rpx;
-		color: $font-color-dark;
-		position: relative;
+		color: $font-color-base;
+		background: linear-gradient(left, #fdf5f6, #fbebf6);
+		padding: 12rpx 30rpx;
 
-		text {
-			padding: 0 20rpx;
-			background: #fff;
+		.share-icon {
+			display: flex;
+			align-items: center;
+			width: 70rpx;
+			height: 30rpx;
+			line-height: 1;
+			border: 1px solid $uni-color-primary;
+			border-radius: 4rpx;
 			position: relative;
-			z-index: 1;
-		}
-		&:after {
-			position: absolute;
-			left: 50%;
-			top: 50%;
-			transform: translateX(-50%);
-			width: 300rpx;
-			height: 0;
-			content: '';
-			border-bottom: 1px solid #ccc;
+			overflow: hidden;
+			font-size: 22rpx;
+			color: $uni-color-primary;
+
+			&:after {
+				content: '';
+				width: 50rpx;
+				height: 50rpx;
+				border-radius: 50%;
+				left: -20rpx;
+				top: -12rpx;
+				position: absolute;
+				background: $uni-color-primary;
+			}
 		}
-	}
-}
 
-/* 规格选择弹窗 */
-.attr-content {
-	padding: 10rpx 0 0;
-	.a-t {
-		padding: 0 30rpx;
-		display: flex;
-		image {
-			width: 170rpx;
-			height: 170rpx;
-			flex-shrink: 0;
-			border-radius: 8rpx;
+		.iconfavorfill {
+			position: relative;
+			z-index: 1;
+			font-size: 24rpx;
+			margin-left: 2rpx;
+			margin-right: 10rpx;
+			color: #fff;
+			line-height: 1;
 		}
-		.right {
+
+		.tit {
+			font-size: $font-base;
+			margin-left: 10rpx;
+		}
+
+		.iconprompt {
+			padding: 10rpx;
+			font-size: 30rpx;
+			line-height: 1;
+		}
+
+		.share-btn {
+			flex: 1;
+			text-align: right;
+			font-size: $font-sm;
+			color: $uni-color-primary;
+		}
+
+		.iconenter {
+			font-size: $font-sm;
+			margin-left: 4rpx;
+			color: $uni-color-primary;
+		}
+	}
+
+	.c-list {
+		margin-top: 20rpx;
+		font-size: $font-sm + 2rpx;
+		color: $font-color-base;
+		background: #fff;
+
+		.c-row {
 			display: flex;
-			flex-direction: column;
-			padding-left: 24rpx;
-			font-size: $font-sm + 2rpx;
-			color: $font-color-base;
-			line-height: 42rpx;
-			.good-name {
-				padding-top: 20rpx;
-				max-width: 320rpx;
-				font-size: 30rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #1d2023;
-				line-height: 42rpx;
-				margin-bottom: 15rpx;
-			}
-			.price {
-				font-size: 60rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #ff6f0f;
-				// font-size: $font-lg;
-				// color: $uni-color-primary;
-				// margin-bottom: 10rpx;
-			}
+			align-items: center;
+			padding: 20rpx 30rpx;
+			position: relative;
+		}
+
+		.tit {
+			width: 140rpx;
+		}
+
+		.con {
+			flex: 1;
+			color: $font-color-dark;
+
 			.selected-text {
 				margin-right: 10rpx;
+
+				.num {
+					color: #FD3B39;
+				}
+			}
+		}
+
+		.bz-list {
+			height: 40rpx;
+			font-size: $font-sm + 2rpx;
+			color: $font-color-dark;
+
+			text {
+				display: inline-block;
+				margin-right: 30rpx;
 			}
 		}
+
+		.con-list {
+			flex: 1;
+			display: flex;
+			flex-direction: column;
+			color: $font-color-dark;
+			line-height: 40rpx;
+		}
+
+		.red {
+			color: $uni-color-primary;
+		}
 	}
-	.attr-list {
+
+	/* 评价 */
+	.eva-section {
 		display: flex;
 		flex-direction: column;
-		font-size: $font-base + 2rpx;
-		color: $font-color-base;
-		padding-top: 30rpx;
-		padding-left: 40rpx;
-		padding-right: 30rpx;
+		padding: 20rpx 30rpx;
+		background: #fff;
+		margin-top: 16rpx;
+
+		.e-header {
+			display: flex;
+			align-items: center;
+			height: 70rpx;
+			font-size: $font-sm + 2rpx;
+			color: $font-color-light;
+
+			.tit {
+				font-size: $font-base + 2rpx;
+				color: $font-color-dark;
+				margin-right: 4rpx;
+			}
+
+			.tip {
+				flex: 1;
+				text-align: right;
+			}
+
+			.iconenter {
+				margin-left: 10rpx;
+			}
+		}
 	}
-	.item-list {
-		padding: 20rpx 0 0;
+
+	.eva-box {
 		display: flex;
-		flex-wrap: wrap;
-		.tit {
+		padding: 20rpx 0;
+
+		.portrait {
+			flex-shrink: 0;
+			width: 80rpx;
+			height: 80rpx;
+			border-radius: 100px;
+		}
+
+		.right {
+			flex: 1;
 			display: flex;
-			align-items: center;
-			justify-content: center;
-			background: #eee;
-			// margin-left: 10rpx;
-			margin-right: 20rpx;
-			margin-bottom: 20rpx;
-			border-radius: 100rpx;
-			min-width: 60rpx;
-			height: 60rpx;
-			padding: 0 20rpx;
+			flex-direction: column;
 			font-size: $font-base;
-			color: $font-color-dark;
-		}
-		.selected {
-			background: #fbebee;
-			color: $uni-color-primary;
+			color: $font-color-base;
+			padding-left: 26rpx;
+
+			.con {
+				font-size: $font-base;
+				color: $font-color-dark;
+				padding: 20rpx 0;
+			}
+
+			.bot {
+				display: flex;
+				justify-content: space-between;
+				font-size: $font-sm;
+				color: $font-color-light;
+			}
 		}
 	}
-}
-
-/*  弹出层 */
-.popup {
-	position: fixed;
-	left: 0;
-	top: 0;
-	right: 0;
-	bottom: 0;
-	z-index: 99;
-
-	&.show {
-		display: block;
-		.mask {
-			animation: showPopup 0.2s linear both;
+
+	.eva-boxs {
+		width: 100%;
+		overflow: hidden;
+		padding: 10px 28rpx;
+		background: #f4f4f4;
+		border-radius: 12rpx;
+		font-size: $font-sm + 2rpx;
+		color: #333;
+
+		.portrait {
+			flex-shrink: 0;
+			width: 80rpx;
+			height: 80rpx;
+			border-radius: 100px;
 		}
-		.layer {
-			animation: showLayer 0.2s linear both;
+
+		.right {
+			flex: 1;
+			display: flex;
+			flex-direction: column;
+			font-size: $font-base;
+			color: $font-color-base;
+
+			.con {
+				font-size: $font-base;
+				color: $font-color-dark;
+			}
+
+			.bot {
+				display: flex;
+				justify-content: space-between;
+				font-size: $font-sm;
+				color: $font-color-light;
+			}
 		}
 	}
-	&.hide {
-		.mask {
-			animation: hidePopup 0.2s linear both;
+
+	/*  详情 */
+	.detail-desc {
+		background: #fff;
+		margin-top: 16rpx;
+
+		/deep/ img {
+			max-width: 100% !important;
+			display: inline !important;
 		}
-		.layer {
-			animation: hideLayer 0.2s linear both;
+
+		/deep/ div {
+			max-width: 100% !important;
 		}
-	}
-	&.none {
-		display: none;
-	}
-	.mask {
-		position: fixed;
-		top: 0;
-		width: 100%;
-		height: 100%;
-		z-index: 1;
-		background-color: rgba(0, 0, 0, 0.4);
-	}
-	.layer {
-		position: fixed;
-		z-index: 99;
-		bottom: 0;
-		width: 100%;
-		min-height: 30vh;
-		border-radius: 10rpx 10rpx 0 0;
-		background-color: #fff;
-		.btn {
-			position: absolute;
-			bottom: 0;
-			width: 750rpx;
-			height: 98rpx;
-			background: #FE5B38;
-			line-height: 98rpx;
-			// background: $uni-color-primary;
+
+		.d-header {
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 80rpx;
 			font-size: $font-base + 2rpx;
-			color: #fff;
+			color: $font-color-dark;
+			position: relative;
+
+			text {
+				padding: 0 20rpx;
+				background: #fff;
+				position: relative;
+				z-index: 1;
+			}
+
+			&:after {
+				position: absolute;
+				left: 50%;
+				top: 50%;
+				transform: translateX(-50%);
+				width: 300rpx;
+				height: 0;
+				content: '';
+				border-bottom: 1px solid #ccc;
+			}
 		}
 	}
-	@keyframes showPopup {
-		0% {
-			opacity: 0;
-		}
-		100% {
-			opacity: 1;
+
+	/* 规格选择弹窗 */
+	.attr-content {
+		padding: 10rpx 0 0;
+
+		.a-t {
+			padding: 0 30rpx;
+			display: flex;
+
+			image {
+				width: 170rpx;
+				height: 170rpx;
+				flex-shrink: 0;
+				border-radius: 8rpx;
+			}
+
+			.right {
+				display: flex;
+				flex-direction: column;
+				padding-left: 24rpx;
+				font-size: $font-sm + 2rpx;
+				color: $font-color-base;
+				line-height: 42rpx;
+
+				.good-name {
+					padding-top: 20rpx;
+					max-width: 320rpx;
+					font-size: 30rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #1d2023;
+					line-height: 42rpx;
+					margin-bottom: 15rpx;
+				}
+
+				.price {
+					font-size: 60rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #ff6f0f;
+					// font-size: $font-lg;
+					// color: $uni-color-primary;
+					// margin-bottom: 10rpx;
+				}
+
+				.selected-text {
+					margin-right: 10rpx;
+				}
+			}
 		}
-	}
-	@keyframes hidePopup {
-		0% {
-			opacity: 1;
+
+		.attr-list {
+			display: flex;
+			flex-direction: column;
+			font-size: $font-base + 2rpx;
+			color: $font-color-base;
+			padding-top: 30rpx;
+			padding-left: 40rpx;
+			padding-right: 30rpx;
 		}
-		100% {
-			opacity: 0;
+
+		.item-list {
+			padding: 20rpx 0 0;
+			display: flex;
+			flex-wrap: wrap;
+
+			.tit {
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				background: #eee;
+				// margin-left: 10rpx;
+				margin-right: 20rpx;
+				margin-bottom: 20rpx;
+				border-radius: 100rpx;
+				min-width: 60rpx;
+				height: 60rpx;
+				padding: 0 20rpx;
+				font-size: $font-base;
+				color: $font-color-dark;
+			}
+
+			.selected {
+				background: #fbebee;
+				color: $uni-color-primary;
+			}
 		}
 	}
-	@keyframes showLayer {
-		0% {
-			transform: translateY(120%);
+
+	/*  弹出层 */
+	.popup {
+		position: fixed;
+		left: 0;
+		top: 0;
+		right: 0;
+		bottom: 0;
+		z-index: 99;
+
+		&.show {
+			display: block;
+
+			.mask {
+				animation: showPopup 0.2s linear both;
+			}
+
+			.layer {
+				animation: showLayer 0.2s linear both;
+			}
 		}
-		100% {
-			transform: translateY(0%);
+
+		&.hide {
+			.mask {
+				animation: hidePopup 0.2s linear both;
+			}
+
+			.layer {
+				animation: hideLayer 0.2s linear both;
+			}
 		}
-	}
-	@keyframes hideLayer {
-		0% {
-			transform: translateY(0);
+
+		&.none {
+			display: none;
 		}
-		100% {
-			transform: translateY(120%);
+
+		.mask {
+			position: fixed;
+			top: 0;
+			width: 100%;
+			height: 100%;
+			z-index: 1;
+			background-color: rgba(0, 0, 0, 0.4);
 		}
-	}
-}
-
-/* 底部操作菜单 */
-.page-bottom {
-	position: fixed;
-	left: 0rpx;
-	bottom: 0rpx;
-	z-index: 95;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-	width: 750rpx;
-	height: 98rpx;
-	background: rgba(255, 255, 255, 0.9);
-	box-shadow: 0 0 20rpx 0 rgba(0, 0, 0, 0.5);
-	// border-radius: 16rpx;
-	.p-b-btn {
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
-		font-size: $font-sm;
-		color: $font-color-base;
-		width: 100rpx;
-		height: 98rpx;
-		.iconfont {
-			font-size: 40rpx;
-			line-height: 48rpx;
-			color: $font-color-light;
+
+		.layer {
+			position: fixed;
+			z-index: 99;
+			bottom: 0;
+			width: 100%;
+			min-height: 30vh;
+			border-radius: 10rpx 10rpx 0 0;
+			background-color: #fff;
+
+			.btn {
+				position: absolute;
+				bottom: 0;
+				width: 750rpx;
+				height: 98rpx;
+				background: #FE5B38;
+				line-height: 98rpx;
+				// background: $uni-color-primary;
+				font-size: $font-base + 2rpx;
+				color: #fff;
+			}
 		}
-		&.active,
-		&.active .iconfont {
-			color: $uni-color-primary;
+
+		@keyframes showPopup {
+			0% {
+				opacity: 0;
+			}
+
+			100% {
+				opacity: 1;
+			}
+		}
+
+		@keyframes hidePopup {
+			0% {
+				opacity: 1;
+			}
+
+			100% {
+				opacity: 0;
+			}
 		}
-		.icon-fenxiang2 {
-			font-size: 42rpx;
-			transform: translateY(-2rpx);
+
+		@keyframes showLayer {
+			0% {
+				transform: translateY(120%);
+			}
+
+			100% {
+				transform: translateY(0%);
+			}
 		}
-		.iconlikefill {
-			font-size: 46rpx;
+
+		@keyframes hideLayer {
+			0% {
+				transform: translateY(0);
+			}
+
+			100% {
+				transform: translateY(120%);
+			}
 		}
 	}
-	.action-btn-group {
+
+	/* 底部操作菜单 */
+	.page-bottom {
+		position: fixed;
+		left: 0rpx;
+		bottom: 0rpx;
+		z-index: 95;
 		display: flex;
+		justify-content: center;
+		align-items: center;
+		width: 750rpx;
 		height: 98rpx;
-		overflow: hidden;
-		position: relative;
-		.shoucang {
-			width: 100rpx;
-			height: 100rpx;
-			background: #FFFFFF;
+		background: rgba(255, 255, 255, 0.9);
+		box-shadow: 0 0 20rpx 0 rgba(0, 0, 0, 0.5);
+
+		// border-radius: 16rpx;
+		.p-b-btn {
+			display: flex;
 			flex-direction: column;
+			align-items: center;
 			justify-content: center;
-			font-size: 20rpx;
-			image {
-				width: 36rpx;
-				height: 35rpx;
-				margin-bottom: 10rpx;
+			font-size: $font-sm;
+			color: $font-color-base;
+			width: 100rpx;
+			height: 98rpx;
+
+			.iconfont {
+				font-size: 40rpx;
+				line-height: 48rpx;
+				color: $font-color-light;
+			}
+
+			&.active,
+			&.active .iconfont {
+				color: $uni-color-primary;
+			}
+
+			.icon-fenxiang2 {
+				font-size: 42rpx;
+				transform: translateY(-2rpx);
+			}
+
+			.iconlikefill {
+				font-size: 46rpx;
 			}
 		}
-		.buy-now {
-			flex-grow: 1;
-			// width: 650rpx;
-			width: 750rpx;
-			display: flex;
-		}
-		.action-btn {
-			flex-shrink: 0;
-			flex-grow: 1;
+
+		.action-btn-group {
 			display: flex;
-			align-items: center;
-			justify-content: center;
-			// width: 580rpx;
-			flex-grow: 1;
-			height: 100%;
-			font-size: 34rpx;
-			padding: 0;
-			border-radius: 0;
-			// background: transparent;
-			background: #ffb238;
-			&.buy-now-btn {
-				background-color: #ffb238;
+			height: 98rpx;
+			overflow: hidden;
+			position: relative;
+
+			.shoucang {
+				width: 100rpx;
+				height: 100rpx;
+				background: #FFFFFF;
+				flex-direction: column;
+				justify-content: center;
+				font-size: 20rpx;
+
+				image {
+					width: 36rpx;
+					height: 35rpx;
+					margin-bottom: 10rpx;
+				}
 			}
-			&.add-cart-btn {
-				background: #FD3B39;
+
+			.buy-now {
+				flex-grow: 1;
+				// width: 650rpx;
+				width: 750rpx;
+				display: flex;
+			}
+
+			.action-btn {
+				flex-shrink: 0;
+				flex-grow: 1;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				// width: 580rpx;
+				flex-grow: 1;
+				height: 100%;
+				font-size: 34rpx;
+				padding: 0;
+				border-radius: 0;
+				// background: transparent;
+				background: #ffb238;
+
+				&.buy-now-btn {
+					background-color: #ffb238;
+				}
+
+				&.add-cart-btn {
+					background: #FD3B39;
+				}
 			}
 		}
 	}
-}
-// 商店头
-.shop-box {
-	background-color: #ffffff;
-	margin-top: 20rpx;
-	margin-bottom: 10rpx;
-	padding: 20rpx;
-	.shop-img {
-		border-radius: 300rpx;
-		height: 80rpx;
-		width: 80rpx;
-		margin-right: 20rpx;
+
+	// 商店头
+	.shop-box {
+		background-color: #ffffff;
+		margin-top: 20rpx;
+		margin-bottom: 10rpx;
+		padding: 20rpx;
+
+		.shop-img {
+			border-radius: 300rpx;
+			height: 80rpx;
+			width: 80rpx;
+			margin-right: 20rpx;
+		}
+
+		.shop-button {
+			border-radius: 100rpx;
+			padding: 10rpx 20rpx;
+			color: $color-red;
+			border: 1px solid $color-red;
+			font-size: $font-lg;
+			line-height: 1;
+		}
 	}
-	.shop-button {
-		border-radius: 100rpx;
-		padding: 10rpx 20rpx;
-		color: $color-red;
-		border: 1px solid $color-red;
-		font-size: $font-lg;
-		line-height: 1;
+
+	.detail-centent {
+		img {
+			vertical-align: top;
+		}
 	}
-}
-.detail-centent {
-	img {
-		vertical-align: top;
+
+	/* 商品详情中限制图片大小 */
+	/deep/ .rich-img {
+		width: 100% !important;
+		height: auto;
 	}
-}
-/* 商品详情中限制图片大小 */
-/deep/ .rich-img {
-	width: 100% !important;
-	height: auto;
-}
-</style>
+</style>

+ 1 - 3
pages/user/jhz.vue

@@ -279,12 +279,10 @@ page {
 	justify-content: space-between;
 	position: relative;
 	z-index: 2;
-	color: #ffffff;
 	padding: 20rpx 50rpx;
 	font-size: 30rpx;
-	font-family: PingFang SC;
 	font-weight: bold;
-	color: #ffffff;
+	color: $base-color;
 }
 
 .navbar {

+ 15 - 86
pages/user/sz.vue

@@ -31,14 +31,19 @@
 </template>
 
 <script>
-	import { spreadCommission } from '@/api/wallet.js';
+	import empty from '@/components/empty';
+	import { spreadCommission,getIntegralList } from '@/api/wallet.js';
 	export default {
+		components: {
+			empty
+		},
 		data() {
 			return {
 				maxheight: '',
 				tabCurrentIndex: 0,
 				navList: [
 					{
+						loaded: false,
 						state: 1,
 						text: '收入',
 						loadingType: 'more',
@@ -47,6 +52,7 @@
 						limit: 10 //每次信息条数
 					},
 					{
+						loaded: false,
 						state: 0,
 						text: '支出',
 						loadingType: 'more',
@@ -96,6 +102,7 @@
 				let qdata = {
 					page: item.page,
 					limit: item.limit,
+					pm: item.state
 				}
 				if(type == 'tab' && item.loaded) {
 					return
@@ -104,94 +111,16 @@
 					return
 				}
 				item.loadingType = 'loading'
-				if(that.type == 2 || that.type ==4) {
-					if(that.type == 2 ) {
-						if(item.state == 1) {
-							status =3
-						}else {
-							status = 4
-						}
-					}else {
-						if(item.state == 1) {
-							status = 2
-						}else {
-							status =1
-						}
-					}
-					
-				}else {
-					
-					if(that.type == 1) {
-						status = 7
-						qdata.category = 'resumption'
-						if(item.state == 1) {
-							qdata.pm = 1
-						}else {
-							qdata.pm = 0
-						}
-					}else if(that.type == 3){
-						status = 6
-						qdata.category = 'pool'
-						if(item.state == 1) {
-							qdata.pm = 1
-						}else {
-							qdata.pm = 0
-						}
-					}else if(that.type == 8) {
-						status = 8
-						qdata.category = 'points'
-						if(item.state == 1) {
-							qdata.pm = 1
-						}else {
-							qdata.pm = 0
-						}
-					}else if(that.type == 9) {
-						status = 9
-						qdata.category = 'pass'
-						if(item.state == 1) {
-							qdata.pm = 1
-						}else {
-							qdata.pm = 0
-						}
-					}else if(that.type == 10) {
-						status = 10
-						qdata.category = 'integral'
-						if(item.state == 1) {
-							qdata.pm = 1
-						}else {
-							qdata.pm = 0
-						}
-					}else if(that.type == 11) {
-						status = 11
-						qdata.category = 'freeze_points'
-						if(item.state == 1) {
-							qdata.pm = 1
-						}else {
-							qdata.pm = 0
-						}
-					}
-				}
-				
-				spreadCommission(qdata,status).then(({data})=> {
-					if(data.length > 0) {
-						let arr = []
-						data.forEach(item => {
-							arr = arr.concat(item.list)
-							console.log(arr);
-						})
-						item.orderList = item.orderList.concat(arr);
-						item.page++;
-						if (item.limit == data.length) {
-							item.loadingType = 'more';
-							return;
-						} else {
-							item.loadingType = 'noMore';
-						}
-						// uni.hideLoading();
-						that.$set(item, 'loaded', true);
+				getIntegralList(qdata).then(res => {
+					// console.log(res)
+					let arr = res.data
+					item.orderList = item.orderList.concat(arr)
+					if(item.limit == arr.length) {
+						item.loadingType = 'more'
 					}else {
 						item.loadingType = 'noMore'
 					}
+					item.loaded = true
 				})
 			}
 		}

+ 7 - 0
pages/user/user.vue

@@ -107,6 +107,13 @@
 			</view>
 			<image src="../../static/icon/back.png" mode="" class="right-img"></image>
 		</view>
+		<view class="user-list flex" @click="navTo('/pages/user/sz')">
+			<image src="../../static/icon/jf.png" mode="" class="left-img"></image>
+			<view class="">
+				我的积分({{userInfo.integral || '0'}})
+			</view>
+			<image src="../../static/icon/back.png" mode="" class="right-img"></image>
+		</view>
 		<view class="user-list flex" @click="navTo('/pages/user/shareQrCode')">
 			<image src="../../static/icon/u3.png" mode="" class="left-img"></image>
 			<view class="">

+ 5 - 2
pages/user/userCard.vue

@@ -3,7 +3,7 @@
 		<view class="flex nav-list">
 			<view class="item" v-for="(item,index) in navList" :class="{'action': current == index}"
 				@click="changeNavT(index)">
-				{{item.tit}}
+				{{item.tit}}   <text v-if="item.loaded">({{item.count}})</text> 
 			</view>
 		</view>
 		<swiper  class="good-content" :style="{'height':height }" :current="current">
@@ -83,6 +83,7 @@
 				current: 0,
 				navList: [
 					{
+						count: 0,
 						status: -1,
 						tit: '全部',
 						list: [],
@@ -91,6 +92,7 @@
 						loaded: false,
 						loadingType: 'more'
 					},{
+						count: 0,
 					status: 0,
 						tit: '待使用',
 						list: [],
@@ -100,6 +102,7 @@
 						loadingType: 'more'
 					},
 					{
+						count: 0,
 						status: 1,
 						tit: '已使用',
 						list: [],
@@ -188,7 +191,6 @@
 				if(type == 're') {
 					item.page = 1
 					item.list = []
-					item.loaded = false
 					item.loadingType = 'more'
 				}
 				if(item.loadingType == 'loading' || item.loadingType == 'noMore') {
@@ -203,6 +205,7 @@
 				}).then(res => {
 					let arr = res.data.list
 					item.list = item.list.concat(arr)
+					item.count = res.data.count
 					if(item.limit == arr.length) {
 						item.loadingType = 'more'
 						item.page++

+ 7 - 14
pages/user/yjzz.vue

@@ -3,8 +3,8 @@
 		<view class="content-money">
 			<view class="flex">
 				<view class="buttom">
-					<view class="icon" v-if="type == 0">{{  (userInfo.brokerage_price | getMoneyStyle) || 0}}</view>
-					<view class="icon" v-if="type == 1">{{ (userInfo.now_money | getMoneyStyle) || 0}}</view>
+					<view class="icon" v-if="type == 0">{{  userInfo.brokerage_price  || 0}}</view>
+					<view class="icon" v-if="type == 1">{{ userInfo.now_money || 0}}</view>
 					<view class="icon" v-if="type == 3">{{ pUser.points  || 0}}</view>
 					<text class="text">可转账余额</text>
 				</view>
@@ -24,14 +24,10 @@
 			</view>
 		</view>
 		<button class="add-btn up"  @click="!loding ? confirm('zz') : ''">转账</button>
-		<button class="add-btn up jy"  @click="!loding ? confirm('jy') : ''">交易</button>
 	</view>
 </template>
 
 <script>
-	import {
-		getMoneyStyle
-	} from '@/utils/rocessor.js';
 	import {
 		getUserInfo,
 		jfzz
@@ -42,9 +38,6 @@
 		mapState
 	} from 'vuex';
 	export default {
-		filters: {
-			getMoneyStyle
-		},
 		data() {
 			return {
 				phone: '',
@@ -70,7 +63,7 @@
 				this.type = options.type;
 				if(this.type == 1) {
 					uni.setNavigationBarTitle({
-						title:'消费积分转账'
+						title:'余额转账'
 					})
 				}else if(this.type == 3) {
 					uni.setNavigationBarTitle({
@@ -107,7 +100,7 @@
 						obj.loding = false;
 						// 保存返回用户数据
 						obj.setUserInfo(e.data);
-						this.passUser()
+						// this.passUser()
 					})
 					.catch(e => {
 						console.log(e);
@@ -266,7 +259,7 @@
 			}
 
 			.buttom {
-				color: #f21f5d;
+				color: $base-color;
 				font-size: $font-base;
 			}
 		}
@@ -279,8 +272,8 @@
 		margin: 140rpx auto 0;
 		font-size: 36rpx;
 		font-weight: bold;
-		color: #F8DABA;
-		background-color: #303030;
+		color: #fff;
+		background-color:$base-color;
 	}
 
 	.back-btn {

+ 9 - 6
pages/user/yue.vue

@@ -9,13 +9,13 @@
 				</view>
 				<view class="content-bg"><image src="../../static/img/tg-bg.png" mode=""></image></view>
 				<view class="money-box">
-					<view class="money">{{ userInfo.now_money | getMoneyStyle }}</view>
+					<view class="money">{{ userInfo.now_money}}</view>
 					<view>余额</view>
 				</view>
 				<view class="moneybtn-box">
 					<!-- <view class="money-btn" style="text-decoration: underline;" @click="navto('/pages/money/freeze')">冻结记录</view> -->
 					<view class="money-btn" style="text-decoration: underline;"></view>
-					<view class="money-btn" @click="navto('/pages/user/xfjfzz?type=3')"></view>
+					<view class="money-btn" @click="navto('/pages/user/yjzz?type=1')">余额转账</view>
 				</view>
 			</view>
 		</view>
@@ -122,7 +122,7 @@ export default {
 	onLoad(options) {},
 	onShow() {
 		this.getUserInfo();
-		this.loadData();
+		this.loadData('re');
 		//获取用户余额
 		// userBalance({}).then(({ data }) => {
 		// 	this.money = data.commissionCount;
@@ -146,6 +146,11 @@ export default {
 			let index = this.tabCurrentIndex;
 			let navItem = this.navList[index];
 			let state = navItem.state ;
+			if(source == 're' ) {
+				navItem.orderList = []
+				navItem.loadingType = 'more'
+				navItem.page = 1
+			}
 			if (source === 'tabChange' && navItem.loaded === true) {
 				//tab切换只有第一次需要加载数据
 				return;
@@ -304,12 +309,10 @@ page {
 	justify-content: space-between;
 	position: relative;
 	z-index: 2;
-	color: #ffffff;
+	color:$base-color;
 	padding: 20rpx 50rpx;
 	font-size: 30rpx;
-	font-family: PingFang SC;
 	font-weight: bold;
-	color: #ffffff;
 }
 
 .navbar {

BIN
static/icon/jf.png


BIN
static/video/v1.mp4