hwq vor 3 Jahren
Ursprung
Commit
1856fd3866
62 geänderte Dateien mit 2130 neuen und 7257 gelöschten Zeilen
  1. 1 1
      manifest.json
  2. 31 85
      pages.json
  3. 0 267
      pages/activity/bargain/index.vue
  4. 0 172
      pages/activity/goods_bargain/index.vue
  5. 0 726
      pages/activity/goods_bargain_details/index.vue
  6. 171 5
      pages/hall/hall.vue
  7. 204 0
      pages/hall/hallinfo.vue
  8. 398 0
      pages/hall/halllist.vue
  9. 358 0
      pages/hall/porducthall.vue
  10. 52 16
      pages/index/index.vue
  11. 52 0
      pages/index/message.vue
  12. 45 0
      pages/index/messageInfo.vue
  13. 1 1
      pages/money/money.vue
  14. 1 1
      pages/order/order.vue
  15. 0 148
      pages/product/common/KlonContent.vue
  16. 0 68
      pages/product/common/contentText.vue
  17. 0 139
      pages/product/common/discounts.vue
  18. 0 115
      pages/product/common/estimate.vue
  19. 0 85
      pages/product/common/freshDetail.vue
  20. 0 155
      pages/product/common/groupBottom.vue
  21. 0 148
      pages/product/common/groupContent.vue
  22. 0 195
      pages/product/common/groupTime.vue
  23. 0 120
      pages/product/common/guessLike.vue
  24. 0 68
      pages/product/common/klonButtom.vue
  25. 0 169
      pages/product/common/productBottom.vue
  26. 0 146
      pages/product/common/productContent.vue
  27. 0 55
      pages/product/common/topSwiper.vue
  28. 0 386
      pages/product/groupBooking/detail.vue
  29. 0 236
      pages/product/groupBooking/index.vue
  30. 0 75
      pages/product/groupBooking/inviteImg.vue
  31. 0 2094
      pages/product/groupBooking/productCollage.vue
  32. 0 934
      pages/product/groupBooking/productGroup.vue
  33. 814 241
      pages/product/product.vue
  34. 0 404
      pages/product/seckill.vue
  35. 1 1
      pages/user/user.vue
  36. BIN
      static/img/afternoon.png
  37. BIN
      static/img/afternooninco.png
  38. BIN
      static/img/backb.png
  39. BIN
      static/img/evening.png
  40. BIN
      static/img/eveninginco.png
  41. BIN
      static/img/fanhui.png
  42. BIN
      static/img/gong.png
  43. BIN
      static/img/hall-bg.png
  44. BIN
      static/img/hell-main.png
  45. BIN
      static/img/hinco.png
  46. BIN
      static/img/hinfo-bg.png
  47. BIN
      static/img/jian.png
  48. BIN
      static/img/jingt.png
  49. BIN
      static/img/jt.png
  50. BIN
      static/img/kf.png
  51. BIN
      static/img/lc1.png
  52. BIN
      static/img/lc2.png
  53. BIN
      static/img/lc3.png
  54. BIN
      static/img/lc4.png
  55. BIN
      static/img/people.png
  56. BIN
      static/img/productIcon.png
  57. BIN
      static/img/quan.png
  58. BIN
      static/img/shua.png
  59. BIN
      static/img/yuan.png
  60. BIN
      static/img/zheng.png
  61. BIN
      static/tabBar/tab-pink-current.png
  62. 1 1
      utils/tabbar.js

+ 1 - 1
manifest.json

@@ -92,7 +92,7 @@
 	        "devServer" : {
 	            "proxy" : {
 	                "/api" : {
-	                    "target" : "http://zccy.frp.liuniu946.com", //请求的目标域名
+	                    "target" : "http://base.liuniu946.com", //请求的目标域名
 	                    "changeOrigin" : true,
 	                    // "secure": false,
 	                    "pathRewrite" : {

+ 31 - 85
pages.json

@@ -73,16 +73,9 @@
 			}
 		},
 		{
-			"path": "pages/product/groupBooking/index",
-			"style": {
-				"enablePullDownRefresh": true,
-				"navigationBarTitleText": "超值拼团"
-			}
-		},
-		{
-			"path": "pages/product/groupBooking/detail",
+			"path": "pages/product/reply",
 			"style": {
-				"navigationBarTitleText": "拼团列表",
+				"navigationBarTitleText": "商品评价",
 				"app-plus": {
 					"titleNView": {
 						"type": "transparent"
@@ -91,29 +84,9 @@
 			}
 		},
 		{
-			"path": "pages/product/groupBooking/productCollage",//拼团商品
-			"style": {
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				},
-				"navigationBarTitleText":"商品详情"
-			}
-		},
-		{
-			"path": "pages/product/groupBooking/inviteImg",
-			"style": {
-				"navigationBarTitleText": "拼团邀请图",
-				"app-plus": {
-					"titleNView": false
-				}
-			}
-		},
-		{
-			"path": "pages/product/groupBooking/productGroup",
+			"path": "pages/product/product",
 			"style": {
-				"navigationBarTitleText": "拼团详情展示",
+				"navigationBarTitleText": "详情展示",
 				"app-plus": {
 					"titleNView": {
 						"type": "transparent"
@@ -121,19 +94,10 @@
 				}
 			}
 		},
-		// {
-		// 	"path": "pages/product/groupBooking/groupdetails",
-		// 	"style": {
-		// 		"navigationBarTitleText": "拼团详情",
-		// 		"app-plus": {
-		// 			"titleNView": false
-		// 		}
-		// 	}
-		// },
 		{
-			"path": "pages/product/reply",
+			"path": "pages/hall/porducthall",
 			"style": {
-				"navigationBarTitleText": "商品评价",
+				"navigationBarTitleText": "详情展示",
 				"app-plus": {
 					"titleNView": {
 						"type": "transparent"
@@ -142,27 +106,21 @@
 			}
 		},
 		{
-			"path": "pages/product/product",
+			"path": "pages/product/list",
 			"style": {
-				"navigationBarTitleText": "详情展示",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
+				"navigationBarTitleText": "商品列表"
 			}
 		},
 		{
-			"path": "pages/product/seckill",
+			"path": "pages/index/message",
 			"style": {
-				"navigationBarTitleText": "限时秒杀"
+				"navigationBarTitleText": "官方公告"
 			}
 		},
 		{
-			"path": "pages/product/list",
+			"path": "pages/index/messageInfo",
 			"style": {
-				"enablePullDownRefresh": true,
-				"navigationBarTitleText": "商品列表"
+				"navigationBarTitleText": "公告详情"
 			}
 		},
 		{
@@ -419,6 +377,24 @@
 				}
 			}
 		},
+		{
+			"path": "pages/hall/halllist",
+			"style": {
+				"navigationBarTitleText": "会馆详情",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
+		{
+			"path": "pages/hall/hallinfo",
+			"style": {
+				"navigationBarTitleText": "场次详情",
+				"app-plus": {
+					"titleNView": false
+				}
+			}
+		},
 		{
 			"path": "pages/money/money",
 			"style": {
@@ -435,37 +411,7 @@
 			}
 		}
 	],
-	"subPackages": [
-		{
-			"root": "pages/activity",
-			"name": "activity",
-			"pages":[{
-					"path": "goods_bargain/index",
-					"style": {
-						"navigationStyle": "custom"
-						// #ifdef MP
-						,"navigationBarTextStyle": "#fff"
-						// #endif
-					}
-				},
-				{
-					"path": "goods_bargain_details/index",
-					"style": {
-						"navigationStyle": "custom"
-						// #ifdef MP
-						,"navigationBarTextStyle": "#fff"
-						// #endif
-					}
-				},
-				{
-					"path": "bargain/index",
-					"style": {
-						"navigationBarTitleText": "砍价记录"
-					}
-				}
-			]
-		}
-	],
+	
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
 		"navigationBarTitleText": "uni-app",

+ 0 - 267
pages/activity/bargain/index.vue

@@ -1,267 +0,0 @@
-<template>
-	<view>
-		<block v-if="bargain.length>0">
-			<div class="bargain-record" ref="container">
-				<div class="item" v-for="(item, index) in bargain" :key="index">
-					<div class="picTxt acea-row row-between-wrapper">
-						<div class="pictrue">
-							<image :src="item.image" />
-						</div>
-						<div class="text acea-row row-column-around">
-							<div class="line1" style="width: 100%;">{{ item.title }}</div>
-							<count-down :justify-left="'justify-content:left'" :is-day="true" :tip-text="'倒计时 '" :day-text="' 天 '" :hour-text="' 时 '" :minute-text="' 分 '"
-							 :second-text="' 秒'" :datatime="item.datatime" v-if="item.status === 1"></count-down>
-							<div class="successTxt font-color-red" v-else-if="item.status === 3">砍价成功</div>
-							<div class="endTxt" v-else>活动已结束</div>
-							<div class="money font-color-red">
-								已砍至<span class="symbol">¥</span><span class="num">{{ item.residue_price }}</span>
-							</div>
-						</div>
-					</div>
-					<div class="bottom acea-row row-between-wrapper">
-						<div class="purple" v-if="item.status === 1">活动进行中</div>
-						<div class="success" v-else-if="item.status === 3">砍价成功</div>
-						<div class="end" v-else>活动已结束</div>
-						<div class="acea-row row-middle row-right">
-							<div class="bnt cancel" v-if="item.status === 1" @click="getBargainUserCancel(item.bargain_id)">
-								取消活动
-							</div>
-							<div class="bnt bg-color-red" v-if="item.status === 1" @click="goDetail(item.bargain_id)">
-								继续砍价
-							</div>
-							<!-- <div class="bnt bg-color-red" v-else @click="goList">重开一个</div> -->
-						</div>
-					</div>
-				</div>
-				<Loading :loaded="status" :loading="loadingList"></Loading>
-			</div>
-		</block>
-		<block v-if="bargain.length == 0">
-			<emptyPage title="暂无砍价记录~"></emptyPage>
-		</block>
-	</view>
-</template>
-<script>
-	import CountDown from "@/components/countDown";
-	import emptyPage from '@/components/emptyPage.vue'
-	import {
-		getBargainUserList,
-		getBargainUserCancel
-	} from "@/api/activity";
-	import {
-		userinfos
-	} from '@/api/user.js';
-	import Loading from "@/components/Loading";
-
-	export default {
-		name: "BargainRecord",
-		components: {
-			CountDown,
-			Loading,
-			emptyPage
-		},
-		props: {},
-		data: function() {
-			return {
-				bargain: [],
-				status: false, //砍价列表是否获取完成 false 未完成 true 完成
-				loadingList: false, //当前接口是否请求完成 false 完成 true 未完成
-				page: 1, //页码
-				limit: 20, //数量
-				userInfo: {}
-			};
-		},
-		onLoad: function() {
-			this.getBargainUserList();
-			this.getUserInfo();
-			// this.$scroll(this.$refs.container, () => {
-			//   !this.loadingList && this.getBargainUserList();
-			// });
-		},
-		methods: {
-			goDetail: function(id) {
-				// this.$router.push({
-				// 	path: "/activity/dargain_detail/" + id +'&bargain='+ userInfo.uid
-				// });
-				uni.navigateTo({
-					url: `/pages/activity/goods_bargain_details/index?id=${id}&bargain=${this.userInfo.uid}`
-				})
-			},
-			// 砍价列表
-			goList: function() {
-				uni.navigateTo({
-					url: '/pages/activity/goods_bargain/index'
-				})
-			},
-			getBargainUserList: function() {
-				var that = this;
-				if (that.loadingList) return;
-				if (that.status) return;
-				getBargainUserList({
-						page: that.page,
-						limit: that.limit
-					})
-					.then(res => {
-						that.status = res.data.length < that.limit;
-						that.bargain.push.apply(that.bargain, res.data);
-						that.page++;
-						that.loadingList = false;
-					})
-					.catch(res => {
-						that.$dialog.error(res.msg);
-					});
-			},
-			getBargainUserCancel: function(bargainId) {
-				var that = this;
-				uni.showModal({
-				    title: '提示',
-				    content: '确定取消砍价商品吗',
-				    success: function (res) {
-				        if (res.confirm) {
-				            console.log('用户点击确定');
-							getBargainUserCancel({
-									bargainId: bargainId
-								})
-								.then(res => {
-									that.status = false;
-									that.loadingList = false;
-									that.page = 1;
-									that.bargain = [];
-									that.getBargainUserList();
-									uni.showToast({
-										title:res.msg
-									});
-								})
-								.catch(res => {
-									uni.showToast({
-										title:res
-									});
-								});
-				        } else if (res.cancel) {
-				            console.log('用户点击取消');
-				        }
-				    }
-				});
-			},
-			/**
-			 * 获取个人用户信息
-			 */
-			getUserInfo: function() {
-				let that = this;
-				userinfos().then(res => {
-					that.userInfo = res.data;
-				});
-			},
-		},
-		onReachBottom() {
-			this.getBargainUserList();
-		}
-	};
-</script>
-
-<style lang="scss">
-	page{
-		background-color: #f5f5f5;
-	}
-	/*砍价记录*/
-	.bargain-record .item .picTxt .text .time .styleAll {
-		color: #fc4141;
-		font-size:24rpx;
-	}
-	.bargain-record .item .picTxt .text .time .red {
-		color: #999;
-		font-size:24rpx;
-	}
-	.bargain-record .item {
-		background-color: #fff;
-		margin-bottom: 12upx;
-	}
-
-	.bargain-record .item .picTxt {
-		height: 210upx;
-		border-bottom: 1px solid #f0f0f0;
-		padding: 0 30upx;
-	}
-
-	.bargain-record .item .picTxt .pictrue {
-		width: 150upx;
-		height: 150upx;
-	}
-
-	.bargain-record .item .picTxt .pictrue image {
-		width: 100%;
-		height: 100%;
-		border-radius: 6upx;
-	}
-
-	.bargain-record .item .picTxt .text {
-		width: 515upx;
-		font-size: 30upx;
-		color: #282828;
-		height: 150upx;
-	}
-
-	.bargain-record .item .picTxt .text .time {
-		font-size: 24upx;
-		color: #868686;
-		justify-content: left !important;
-	}
-	
-	.bargain-record .item .picTxt .text .successTxt{
-		font-size:24rpx;
-	}
-	
-	.bargain-record .item .picTxt .text .endTxt{
-		font-size:24rpx;
-		color: #999;
-	}
-	.bargain-record .item .picTxt .text .money {
-		font-size: 24upx;
-	}
-
-	.bargain-record .item .picTxt .text .money .num {
-		font-size: 32upx;
-		font-weight: bold;
-	}
-
-	.bargain-record .item .picTxt .text .money .symbol {
-		font-weight: bold;
-	}
-
-	.bargain-record .item .bottom {
-		height: 100upx;
-		padding: 0 30upx;
-		font-size: 27upx;
-	}
-
-	.bargain-record .item .bottom .purple {
-		color: #f78513;
-	}
-
-	.bargain-record .item .bottom .end {
-		color: #999;
-	}
-
-	.bargain-record .item .bottom .success {
-		color: #e93323;
-	}
-
-	.bargain-record .item .bottom .bnt {
-		font-size: 27upx;
-		color: #fff;
-		width: 176upx;
-		height: 60upx;
-		border-radius: 32upx;
-		text-align: center;
-		line-height: 60upx;
-	}
-
-	.bargain-record .item .bottom .bnt.cancel {
-		color: #aaa;
-		border: 1px solid #ddd;
-	}
-
-	.bargain-record .item .bottom .bnt~.bnt {
-		margin-left: 18upx;
-	}
-</style>

Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 172
pages/activity/goods_bargain/index.vue


Datei-Diff unterdrückt, da er zu groß ist
+ 0 - 726
pages/activity/goods_bargain_details/index.vue


+ 171 - 5
pages/hall/hall.vue

@@ -1,20 +1,186 @@
 <template>
 	<view class="center">
-		<u-tabbar v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
+		<view class="top">
+			<image class="top-bg" src="../../static/img/hall-bg.png" mode=""></image>
+			<view class="title">趣豆会馆</view>
+		</view>
+		<view class="hall-main"><image src="../../static/img/hell-main.png" mode=""></image></view>
+		<view class="hall-center">
+			<view class="shingle-main" v-for="item in 10" @click="nav('/pages/hall/halllist')">
+				<view class="shingle-bg"><image src="../../static/img/sim-bg.png" mode=""></image></view>
+				<view class="shinglem-title flex">
+					<image class="address" src="../../static/img/address.png" mode=""></image>
+					<view class="shingle-font">浙江馆</view>
+				</view>
+				<view class="shingle-mmain flex">
+					<view class="smmain-item">
+						<view class="smitem-top">开放中</view>
+						<view class="smitem-bottom">状态</view>
+					</view>
+					<view class="shu"></view>
+					<view class="smmain-item">
+						<view class="smitem-top">纯平</view>
+						<view class="smitem-bottom">馆长</view>
+					</view>
+					<view class="shu"></view>
+					<view class="smmain-item">
+						<view class="people flex">
+							<view class="peopleitem" v-for="item in 1"><image src="../../static/img/busy.png" mode=""></image></view>
+							<view class="peopleitem" v-for="item in 4"><image src="../../static/img/leisure.png" mode=""></image></view>
+						</view>
+						<view class="smitem-bottom">流畅</view>
+					</view>
+				</view>
+				<image class="right-bottom" src="../../static/img/right-bottom.png" mode=""></image>
+			</view>
+		</view>
+		<u-tabbar activeColor="#375AFE" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
 	</view>
 </template>
 
 <script>
-import { tabbar } from '@/utils/tabbar.js'
+import { tabbar } from '@/utils/tabbar.js';
 export default {
 	data() {
 		return {
 			tabbar: tabbar,
-			current: 2,
+			current: 2
+		};
+	},
+	methods: {
+		nav(url){
+			uni.navigateTo({
+				url
+			})
 		}
 	}
-}
+};
 </script>
 
-<style>
+<style lang="less">
+.center,
+page {
+	height: auto;
+	min-height: 100%;
+	background: #ffffff;
+}
+.top {
+	position: relative;
+	width: 750rpx;
+	height: 346rpx;
+	.top-bg {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		width: 750rpx;
+		height: 346rpx;
+	}
+	.title {
+		padding-top: 20rpx;
+		text-align: center;
+		position: relative;
+		z-index: 2;
+		font-size: 36rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #ffffff;
+	}
+}
+.hall-main {
+	margin: -252rpx auto 0;
+	width: 700rpx;
+	height: 300rpx;
+	image {
+		width: 100%;
+		height: 100%;
+	}
+}
+.hall-center {
+	margin-top: 34rpx;
+}
+.shingle-main {
+	margin: 20rpx auto;
+	width: 690rpx;
+	height: 218rpx;
+	position: relative;
+	.shingle-bg {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		width: 690rpx;
+		height: 218rpx;
+		image {
+			width: 690rpx;
+			height: 218rpx;
+		}
+	}
+	.shinglem-title {
+		position: relative;
+		z-index: 2;
+		justify-content: center;
+		height: 70rpx;
+		.address {
+			width: 28rpx;
+			height: 30rpx;
+		}
+		.shingle-font {
+			font-size: 36rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #ffffff;
+			line-height: 70rpx;
+			margin-left: 14rpx;
+		}
+	}
+	.shingle-mmain {
+		position: relative;
+		z-index: 2;
+		margin-top: 30rpx;
+		.smmain-item {
+			width: 33%;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			.smitem-top {
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #ffffff;
+			}
+			.smitem-bottom {
+				margin-top: 10rpx;
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #ffffff;
+			}
+			.people {
+				justify-content: center;
+				.peopleitem {
+					width: 24rpx;
+					height: 34rpx;
+					image {
+						width: 100%;
+						height: 100%;
+					}
+				}
+			}
+		}
+		.shu {
+			width: 2rpx;
+			height: 70rpx;
+			background: #ffffff;
+		}
+	}
+	.right-bottom {
+		position: absolute;
+		z-index: 2;
+		right: 0;
+		bottom: 0;
+		width: 94rpx;
+		height: 92rpx;
+	}
+}
 </style>

+ 204 - 0
pages/hall/hallinfo.vue

@@ -0,0 +1,204 @@
+<template>
+	<view class="center">
+		<view class="content-money">
+			<view class="money-box">
+				<view class="status_bar"><!-- 这里是状态栏 --></view>
+				<image class="money_bg" src="../../static/img/hinfo-bg.png"></image>
+				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/img/fanhui.png" mode=""></image></view>
+				<view class="header">浙江馆</view>
+
+				<view class="message flex">潮奢馆馆长:李丹丹</view>
+			</view>
+		</view>
+		<view class="search">
+			<view class="search-left" @click="test()">订单</view>
+			<view class="search-right">
+				<view class="input-box flex">
+					<view class="input"><input type="text" placeholder="输入关键字" /></view>
+					<image class="search-inco" src="../../static/img/search.png" mode=""></image>
+				</view>
+			</view>
+		</view>
+		<view class="hotgoods" v-if="firstList.length != 0">
+			<view class="hotgoods-item" v-for="item in firstList" :key="item.id" @click="navToDetailPage(item)">
+				<view class="image-wrapper"><image :src="item.image" mode="scaleToFill"></image></view>
+				<view class="title clamp margin-c-20">{{ item.store_name }}</view>
+				<view class="hot-price">
+					<view class="price">
+						<text class="font-size-sm">¥</text>
+						{{ item.price }}
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			firstList: [],
+		};
+	},
+	methods: {
+		toBack() {
+			uni.navigateBack({});
+		},
+		nav(url) {
+			uni.navigateTo({
+				url
+			});
+		},
+		test() {
+			uni.navigateTo({
+				url:'/pages/hall/porducthall'
+			})
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+.center,
+page {
+	height: auto;
+	min-height: 100%;
+	background-color: #ffffff;
+}
+.money-box {
+	color: #ffffff;
+	text-align: center;
+	position: relative;
+	padding-top: 250rpx;
+	.money_bg {
+		position: absolute;
+		width: 750rpx;
+		height: 412rpx;
+		top: 0;
+		left: 0;
+		right: 0;
+	}
+	.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;
+	}
+	.message {
+		display: inline-block;
+		position: relative;
+		z-index: 2;
+		margin: 0 auto;
+		padding: 20rpx 40rpx;
+		background: rgba(253, 59, 57, 0.4);
+		border-radius: 25rpx;
+		font-size: 30rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #ffffff;
+	}
+}
+.search {
+	margin-top: 120rpx;
+	padding: 0 30rpx 0 20rpx;
+	display: flex;
+	align-items: center;
+	.search-left {
+		width: 112rpx;
+		height: 70rpx;
+		background: #fd3b39;
+		border-radius: 25rpx;
+		font-size: 30rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #ffffff;
+		line-height: 70rpx;
+		text-align: center;
+	}
+	.search-right {
+		width: 570rpx;
+		background: #dcdcdc;
+		border-radius: 35rpx;
+		margin-left: 20rpx;
+		padding: 18rpx 50rpx 18rpx 36rpx;
+		.search-inco {
+			width: 34rpx;
+			height: 34rpx;
+		}
+	}
+}
+.hotgoods {
+	margin-top: 38rpx;
+	width: 100%;
+	display: flex;
+	flex-wrap: wrap;
+	padding: 0 32rpx 108rpx;
+
+	.hotgoods-item {
+		width: 48%;
+		background-color: #ffffff;
+		border-radius: 12rpx;
+		margin-bottom: 24rpx;
+		&:nth-child(2n + 1) {
+			margin-right: 24rpx;
+		}
+		.image-wrapper {
+			width: 100%;
+			height: 330rpx;
+			background: red;
+			border-radius: 3px;
+			overflow: hidden;
+			image {
+				width: 100%;
+				height: 100%;
+				opacity: 1;
+				border-radius: 12rpx 12rpx 0 0;
+			}
+		}
+		.title {
+			font-size: $font-base;
+			color: $font-color-dark;
+			font-weight: bold;
+			line-height: 80rpx;
+		}
+		.hot-price {
+			display: flex;
+			justify-content: space-between;
+			padding: 0 16rpx 12rpx;
+
+			.price {
+				font-size: 40rpx;
+				color: #ff0000;
+				font-weight: 500;
+			}
+			.cart-icon {
+				image {
+					width: 44rpx;
+					height: 44rpx;
+				}
+			}
+		}
+	}
+}
+</style>

+ 398 - 0
pages/hall/halllist.vue

@@ -0,0 +1,398 @@
+<template>
+	<view class="center">
+		<view class="content-money">
+			<view class="status_bar"><!-- 这里是状态栏 --></view>
+			<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/hinfo-bg.png"></image>
+				<view class="message flex" @click="nav('/pages/index/message')">
+					<image class="message-left" src="../../static/img/hinco.png" mode=""></image>
+					<view class="message-font clamp">全民动员,公告内容信息公告消息显123456789</view>
+					<image class="message-right" src="../../static/img/backb.png" mode=""></image>
+				</view>
+			</view>
+		</view>
+		<view class="shingle-mmain flex">
+			<view class="smmain-item">
+				<view class="smitem-top red">开放中</view>
+				<view class="smitem-bottom">状态</view>
+			</view>
+			<view class="shu"></view>
+			<view class="smmain-item">
+				<view class="smitem-top">纯平</view>
+				<view class="smitem-bottom">馆长</view>
+			</view>
+			<view class="shu"></view>
+			<view class="smmain-item">
+				<view class="people flex">
+					<view class="peopleitem"><image src="../../static/img/busy.png" mode=""></image></view>
+				</view>
+				<view class="smitem-bottom">流畅</view>
+			</view>
+		</view>
+		<view class="main">
+			<view class="mtitle-english">AFTERNOON SHOWS</view>
+			<view class="mmain flex" @click="nav('/pages/hall/hallinfo')">
+				<view class="mmain-info">
+					<view class="mmain-title">
+						<image class="mmaint-left" src="../../static/img/afternooninco.png" mode=""></image>
+						<view class="mmaint-font">下午场</view>
+						<view class="mmaint-time">13:59开售</view>
+					</view>
+					<view class="mmain-time" style="margin-top: 28rpx;">预约时间:9:30-13:53</view>
+					<view class="mmain-time">入场时间:9:30-13:53</view>
+					<view class="mmain-time flex">
+						<view class="mmain-font">距预约结束:</view>
+						<view class="lyy-b-jz flex">
+							<uni-countdowns
+								color="#FFFFFF"
+								splitor-color="#4166FC"
+								background-color="#4166FC"
+								border-color="#4166FC"
+								:show-day="false"
+								:hour="stopTime.stopTimeH"
+								:minute="stopTime.stopTimeM"
+								:second="stopTime.stopTimeS"
+							></uni-countdowns>
+						</view>
+					</view>
+				</view>
+				<view class="mmain-image"><image src="../../static/img/afternoon.png" mode=""></image></view>
+			</view>
+			<view class="bottom" @click="open()">
+				<view class="bottom-font">立即预约</view>
+				<image class="bottom-image" src="../../static/img/jt.png" mode=""></image>
+			</view>
+		</view>
+		<view class="main">
+			<view class="mtitle-english">EVENING SHOWS</view>
+			<view class="mmain flex" @click="nav('/pages/hall/hallinfo')">
+				<view class="mmain-info">
+					<view class="mmain-title">
+						<image class="mmaint-left" src="../../static/img/eveninginco.png" mode=""></image>
+						<view class="mmaint-font">下午场</view>
+						<view class="mmaint-time">13:59开售</view>
+					</view>
+					<view class="mmain-time" style="margin-top: 28rpx;">预约时间:9:30-13:53</view>
+					<view class="mmain-time">入场时间:9:30-13:53</view>
+					<view class="mmain-time flex">
+						<view class="mmain-font">距预约结束:</view>
+						<view class="lyy-b-jz flex">
+							<uni-countdowns
+								color="#FFFFFF"
+								splitor-color="#4166FC"
+								background-color="#4166FC"
+								border-color="#4166FC"
+								:show-day="false"
+								:hour="stopTime.stopTimeH"
+								:minute="stopTime.stopTimeM"
+								:second="stopTime.stopTimeS"
+							></uni-countdowns>
+						</view>
+					</view>
+				</view>
+				<view class="mmain-image"><image src="../../static/img/evening.png" mode=""></image></view>
+			</view>
+			<view class="bottom" @click="open()">
+				<view class="bottom-font">立即预约</view>
+				<image class="bottom-image" src="../../static/img/jt.png" mode=""></image>
+			</view>
+		</view>
+		<uni-popup ref="popup" type="center">
+			<view class="popup">
+				<view class="popup-title">是否立即预约?</view>
+				<view class="btn-box">
+					<view class="btn-left" @click="close()">取消</view>
+					<view class="btn-right" @click="close()">确定</view>
+				</view>
+			</view>
+		</uni-popup>
+	</view>
+</template>
+
+<script>
+import uniCountdowns from '@/components/uni-countdown/uni-countdowns.vue';
+export default {
+	components: {
+		uniCountdowns
+	},
+	data() {
+		return {
+			// 倒计时
+			stopTime: {
+				stopTimeH: 1,
+				stopTimeM: 1,
+				stopTimeS: 1
+			}
+		};
+	},
+	methods: {
+		open() {
+			this.$refs.popup.open();
+		},
+		close() {
+			this.$refs.popup.close();
+		},
+		nav(url) {
+			uni.navigateTo({
+				url
+			})
+		},
+		toBack() {
+			uni.navigateBack({
+				
+			})
+		}
+	}
+};
+</script>
+
+<style lang="less">
+page,
+.center {
+	height: auto;
+	min-height: 100%;
+	background: #f2f5f4;
+}
+.money-box {
+	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;
+	}
+	.message {
+		justify-content: space-around;
+		position: absolute;
+		top: 270rpx;
+		left: 0;
+		right: 0;
+		margin: 0 auto;
+		padding: 16rpx 40rpx 16rpx 50rpx;
+		width: 690rpx;
+		background: #ffffff;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+		.message-left {
+			width: 52rpx;
+			height: 52rpx;
+			flex-shrink: 0;
+		}
+		.message-font {
+			margin: 0 40rpx;
+			font-size: 28rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #0c1732;
+		}
+		.message-right {
+			width: 18rpx;
+			height: 30rpx;
+		}
+	}
+}
+.shingle-mmain {
+	position: relative;
+	z-index: 2;
+	margin: -90rpx auto 0;
+	width: 690rpx;
+	height: 176rpx;
+	background: #ffffff;
+	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+	border-radius: 20rpx;
+	background-color: #ffffff;
+	.smmain-item {
+		width: 33%;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		.red {
+			color: #fd3b39 !important;
+		}
+		.smitem-top {
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: bolder;
+			color: #0c1732;
+		}
+		.smitem-bottom {
+			margin-top: 10rpx;
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #0c1732;
+		}
+		.people {
+			justify-content: center;
+			.peopleitem {
+				width: 24rpx;
+				height: 34rpx;
+				image {
+					width: 100%;
+					height: 100%;
+				}
+			}
+		}
+	}
+	.shu {
+		width: 2rpx;
+		height: 70rpx;
+		background: #dcdcdc;
+	}
+}
+.main {
+	margin: 30rpx auto 0;
+	padding: 50rpx 50rpx 36rpx 50rpx;
+	width: 690rpx;
+	background: #ffffff;
+	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+	border-radius: 20rpx;
+	.mtitle-english {
+		font-size: 30rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #9ea6ba;
+	}
+	.mmain {
+		margin-top: 24rpx;
+		.mmain-info {
+			.mmain-title {
+				display: flex;
+				justify-content: flex-start;
+				align-items: center;
+				.mmaint-left {
+					width: 52rpx;
+					height: 40rpx;
+				}
+				.mmaint-font {
+					margin-left: 10rpx;
+					font-size: 32rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #0c1732;
+				}
+				.mmaint-time {
+					margin-left: 20rpx;
+					font-size: 28rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #0c1732;
+				}
+			}
+			.mmain-time {
+				margin-top: 10rpx;
+				font-size: 26rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #0c1732;
+				.lyy-b-jz {
+					margin-left: 10rpx;
+				}
+			}
+		}
+		.mmain-image {
+			padding-top: 14rpx;
+			width: 182rpx;
+			height: 182rpx;
+			image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	}
+	.bottom {
+		margin-top: 32rpx;
+		width: 380rpx;
+		height: 64rpx;
+		background: #375afe;
+		border-radius: 20rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		.bottom-font {
+			font-size: 28rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #ffffff;
+		}
+		.bottom-image {
+			margin-left: 12rpx;
+			width: 24rpx;
+			height: 22rpx;
+		}
+	}
+}
+.popup {
+	width: 582rpx;
+	height: 378rpx;
+	background: #ffffff;
+	border-radius: 20rpx;
+	padding-top: 118rpx;
+	.popup-title {
+		text-align: center;
+		font-size: 42rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #0c1732;
+	}
+	.btn-box {
+		padding: 90rpx 30rpx 0;
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		.btn-left {
+			width: 248rpx;
+			height: 78rpx;
+			border: 2rpx solid #4166fc;
+			border-radius: 10rpx;
+			font-size: 34rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #4166fc;
+			text-align: center;
+			line-height: 78rpx;
+		}
+		.btn-right {
+			width: 248rpx;
+			height: 78rpx;
+			background: linear-gradient(0deg, rgba(60, 237, 237, 0.99), #04b8ff, #375afe);
+			border-radius: 10rpx;
+			font-size: 34rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #ffffff;
+			text-align: center;
+			line-height: 78rpx;
+		}
+	}
+}
+</style>

+ 358 - 0
pages/hall/porducthall.vue

@@ -0,0 +1,358 @@
+<template>
+	<view class="container">
+		<view class="carousel">
+			<swiper indicator-dots :circular="true" duration="400">
+				<!-- <swiper-item class="swiper-item" v-for="(item, index) in imgList" :key="index">
+					<view class="image-wrapper"><image :src="item" class="loaded" mode="scaleToFill"></image></view>
+				</swiper-item> -->
+			</swiper>
+			<view class="title flex">
+				<view class="title-num">
+					<text>¥</text>
+					1290
+				</view>
+				<view class="title-time">挂售时间:18:30-19:30</view>
+			</view>
+		</view>
+		<view class="title-main flex">
+			<view class="tm-left">
+				<view class="tm-title clamp">趣豆商城挂售礼盒</view>
+				<view class="tm-people flex">
+					<image class="people-image" src="../../static/img/people.png" mode=""></image>
+					<view class="people-name">归属人:李丹丹</view>
+				</view>
+			</view>
+			<view class="tm-right flex">
+				<view class="tmr-item">
+					<image class="tmr-image" src="../../static/img/shua.png" mode=""></image>
+					<view class="tmr-font">刷新倒计时</view>
+				</view>
+				<view class="tmr-item">
+					<image class="tmr-image1" src="../../static/img/yuan.png" mode=""></image>
+					<view class="tmr-font">溯源</view>
+				</view>
+			</view>
+		</view>
+		<view class="dz"></view>
+		<view class="introduce">
+			<view class="introduct-title">
+				<image class="introduce-image" src="../../static/img/productIcon.png" mode=""></image>
+				<view class="introduce-font">艺术品挂售交易平台</view>
+			</view>
+			<view class="introduct-main">
+				<view class="im-item">
+					<image class="im-image" src="../../static/img/jian.png" mode=""></image>
+					<view class="im-font">大师作品</view>
+				</view>
+				<view class="im-item">
+					<image class="im-image" src="../../static/img/zheng.png" mode=""></image>
+					<view class="im-font">证书收藏</view>
+				</view>
+				<view class="im-item">
+					<image class="im-image" src="../../static/img/gong.png" mode=""></image>
+					<view class="im-font">自由交易</view>
+				</view>
+			</view>
+		</view>
+		<view class="dz"></view>
+		<view class="explain">
+			<view class="explain-title">商品挂售说明</view>
+			<view class="explain-main">
+				<view class="explainImage-box">
+					<image class="explain-image-item" src="../../static/img/lc1.png" mode=""></image>
+					<image class="explain-image-jiant" src="../../static/img/jingt.png" mode=""></image>
+					<image class="explain-image-item" src="../../static/img/lc2.png" mode=""></image>
+					<image class="explain-image-jiant" src="../../static/img/jingt.png" mode=""></image>
+					<image class="explain-image-item" src="../../static/img/lc3.png" mode=""></image>
+					<image class="explain-image-jiant" src="../../static/img/jingt.png" mode=""></image>
+					<image class="explain-image-item" src="../../static/img/lc4.png" mode=""></image>
+				</view>
+				<view class="explainfont-box">
+					<view class="explain-font-item">挂售商品</view>
+					<view class="explain-font-item">支付货款</view>
+					<view class="explain-font-item">卖家发货</view>
+					<view class="explain-font-item">挂售/提货</view>
+				</view>
+			</view>
+		</view>
+		<view class="detail-desc">
+			<view class="d-header"><text>商品详情</text></view>
+			<!-- <rich-text class="detail-centent" :nodes="goodsObjact.description"></rich-text>
+			<view :class="{ contentBottomHeight: goodsType == 1 || goodsType == 2, goodsBottom: goodsType == 0 }"></view> -->
+		</view>
+		<view class="bottom flex">
+			<view class="bottom-item">
+				<image class="bi-image" src="../../static/img/quan.png" mode=""></image>
+				<view class="bottom-font">艺金券</view>
+				<view class="bottom-num">200</view>
+			</view>
+			<view class="shu"></view>
+			<view class="bottom-item">
+				<image class="bi-image" src="../../static/img/kf.png" mode=""></image>
+				<view class="bottom-font">联系</view>
+				<view class="bottom-num">客服</view>
+			</view>
+			<view class="btn">立即购买</view>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {};
+	},
+	methods: {}
+};
+</script>
+
+<style lang="less">
+.carousel {
+	width: 750rpx;
+	height: 710rpx;
+	background: #000000;
+	position: relative;
+	.title {
+		background: linear-gradient(90deg, #ef4e51 0%, #f4713b 100%);
+		width: 750rpx;
+		position: absolute;
+		bottom: 0;
+		padding: 30rpx;
+		.title-num {
+			font-size: 50rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #ffffff;
+			text {
+				font-size: 30rpx;
+			}
+		}
+		.title-time {
+			font-size: 28rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #ffffff;
+		}
+	}
+}
+.title-main {
+	padding: 30rpx 30rpx 30rpx 22rpx;
+	.tm-left {
+		width: 50%;
+		.tm-title {
+			width: 100%;
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #1d2023;
+		}
+		.tm-people {
+			margin-top: 30rpx;
+			justify-content: flex-start;
+			.people-image {
+				width: 22rpx;
+				height: 22rpx;
+				flex-shrink: 0;
+			}
+			.people-name {
+				margin-left: 12rpx;
+				font-size: 24rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #333333;
+			}
+		}
+	}
+	.tm-right {
+		justify-content: flex-end;
+		.tmr-item {
+			margin-left: 38rpx;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			.tmr-image {
+				width: 42rpx;
+				height: 38rpx;
+			}
+			.tmr-image1 {
+				width: 42rpx;
+				height: 42rpx;
+			}
+			.tmr-font {
+				margin-top: 16rpx;
+				font-size: 24rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #333333;
+			}
+		}
+	}
+}
+.dz {
+	width: 750rpx;
+	height: 20rpx;
+	background: #f8f6f6;
+}
+.introduce {
+	padding: 40rpx 24rpx;
+	.introduct-title {
+		display: flex;
+		align-items: center;
+		.introduce-image {
+			width: 36rpx;
+			height: 36rpx;
+		}
+		.introduce-font {
+			margin-left: 10rpx;
+			font-size: 28rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #333333;
+		}
+	}
+	.introduct-main {
+		display: flex;
+		justify-content: space-between;
+		margin-top: 26rpx;
+		.im-item {
+			display: flex;
+			align-items: center;
+			.im-image {
+				width: 44rpx;
+				height: 44rpx;
+			}
+			.im-font {
+				margin-left: 6rpx;
+				font-size: 28rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #333333;
+			}
+		}
+	}
+}
+.explain {
+	padding: 40rpx 34rpx 46rpx 34rpx;
+	.explain-title {
+		font-size: 32rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #333333;
+	}
+	.explain-main {
+		margin-top: 52rpx;
+		.explainImage-box {
+			display: flex;
+			justify-content: space-around;
+			align-items: center;
+			.explain-image-item {
+				width: 42rpx;
+				height: 40rpx;
+			}
+			.explain-image-jiant {
+				width: 38rpx;
+				height: 10rpx;
+			}
+		}
+		.explainfont-box {
+			margin-top: 20rpx;
+			display: flex;
+			justify-content: space-between;
+			.explain-font-item {
+				font-size: 28rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #333333;
+			}
+		}
+	}
+}
+.detail-desc {
+	background: #fff;
+	margin-top: 16rpx;
+	/deep/ img {
+		max-width: 100% !important;
+		display: inline !important;
+	}
+	/deep/ div {
+		max-width: 100% !important;
+	}
+	.d-header {
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		height: 80rpx;
+		font-size: 30rpx;
+		color: #303133;
+		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;
+		}
+	}
+}
+.bottom {
+	position: fixed;
+	bottom: 0;
+	background: #ffffff;
+	width: 750rpx;
+	height: 146rpx;
+	justify-content: flex-start;
+	.bottom-item {
+		margin-left: 42rpx;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		.bi-image {
+			width: 38rpx;
+			height: 34rpx;
+		}
+		.bottom-font {
+			margin-top: 14rpx;
+			font-size: 24rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #333333;
+		}
+		.bottom-num {
+			line-height: 1;
+			font-size: 24rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #333333;
+		}
+	}
+	.shu {
+		margin-left: 38rpx;
+		width: 2px;
+		height: 74rpx;
+		background: #c0bfc0;
+	}
+	.btn {
+		margin-left: 40rpx;
+		width: 430rpx;
+		height: 80rpx;
+		background: #fd3b39;
+		border-radius: 20rpx;
+		text-align: center;
+		font-size: 34rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #ffffff;
+		line-height: 80rpx;
+	}
+}
+</style>

+ 52 - 16
pages/index/index.vue

@@ -5,45 +5,45 @@
 			<view class="top-top flex">
 				<image class="ttop-left" src="../../static/img/log.png" mode=""></image>
 				<view class="ttop-right">
-					<view class="ttop-item">
+					<view class="ttop-item" @click="nav('/pages/user/user')">
 						<image class="titem-image" src="../../static/img/sign.png" mode=""></image>
 						<view class="titem-font">签到</view>
 					</view>
-					<view class="ttop-item">
+					<view class="ttop-item" @click="nav('/pages/index/message')">
 						<image class="titem-image" src="../../static/img/message.png" mode=""></image>
 						<view class="titem-font">消息</view>
 					</view>
 				</view>
 			</view>
 			<view class="top-main flex">
-				<view class="search-box flex">
+				<view class="search-box flex" @click="clickSearch()">
 					<image class="search" src="../../static/img/search.png" mode=""></image>
 					<view class="search-font">搜索</view>
 				</view>
-				<view class="cart flex">
+				<view class="cart flex" @click="nav('/pages/category/category')">
 					<view class="cart-font">分类</view>
 					<image class="cart-image" src="../../static/img/cart.png" mode=""></image>
 				</view>
 			</view>
 		</view>
 		<view class="navbar flex">
-			<view class="navbar-item">
+			<view class="navbar-item" @click="nav('/pages/product/classify')">
 				<image class="nitem-image" src="../../static/img/autotrophy.png" mode=""></image>
 				<view class="nitem-font">趣豆自营</view>
 			</view>
-			<view class="navbar-item">
+			<view class="navbar-item" @click="nav('/pages/product/classify')">
 				<image class="nitem-image" src="../../static/img/integral.png" mode=""></image>
 				<view class="nitem-font">积分商城</view>
 			</view>
-			<view class="navbar-item">
+			<view class="navbar-item" @click="nav('/pages/product/classify')">
 				<image class="nitem-image" src="../../static/img/replacement.png" mode=""></image>
 				<view class="nitem-font">置换商城</view>
 			</view>
-			<view class="navbar-item">
+			<view class="navbar-item" @click="nav('/pages/product/classify')">
 				<image class="nitem-image" src="../../static/img/Hang.png" mode=""></image>
 				<view class="nitem-font">挂售商城</view>
 			</view>
-			<view class="navbar-item">
+			<view class="navbar-item" @click="nav('/pages/hall/hall')">
 				<image class="nitem-image" src="../../static/img/offline.png" mode=""></image>
 				<view class="nitem-font">线下会馆</view>
 			</view>
@@ -52,12 +52,12 @@
 		<view class="shingle">
 			<view class="shingle-top flex">
 				<view class="shingle-title">艺术品挂牌交易区</view>
-				<view class="shingle-btn">
+				<view class="shingle-btn" @click="nav('/pages/hall/hall')">
 					查看更多趣豆会馆
 					<text>></text>
 				</view>
 			</view>
-			<view class="shingle-main">
+			<view class="shingle-main" @click="nav('/pages/hall/halllist')">
 				<view class="shingle-bg"><image src="../../static/img/sim-bg.png" mode=""></image></view>
 				<view class="shinglem-title flex">
 					<image class="address" src="../../static/img/address.png" mode=""></image>
@@ -104,22 +104,58 @@
 				</view>
 			</view>
 		</view>
-		<u-tabbar v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
+		<u-tabbar activeColor="#375AFE" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
 	</view>
 </template>
 
 <script>
-import { tabbar } from '@/utils/tabbar.js'
+import { loadIndexs } from '@/api/index.js';
+import { tabbar } from '@/utils/tabbar.js';
 export default {
 	data() {
 		return {
 			dataList: '',
 			tabbar: tabbar,
-			current: 0,
+			current: 0
 		};
 	},
-	onLoad() {},
-	methods: {}
+	onLoad() {
+		this.loadData();
+	},
+	methods: {
+		loadData() {
+			loadIndexs({})
+				.then(({ data }) => {
+					let goods = data.info;
+					this.dataList = goods.bastList; //精品推荐
+				})
+				.catch(e => {
+				});
+		},
+		nav(url) {
+			uni.navigateTo({
+				url,
+				fail() {
+					uni.switchTab({
+						url
+					});
+				}
+			});
+		},
+		// 點擊搜索框
+		clickSearch() {
+			uni.navigateTo({
+				url: '/pages/product/search'
+			});
+		},
+		//详情页
+		navToDetailPage(item) {
+			let id = item.id;
+			uni.navigateTo({
+				url: '/pages/product/product?id=' + id
+			});
+		},
+	}
 };
 </script>
 

+ 52 - 0
pages/index/message.vue

@@ -0,0 +1,52 @@
+<template>
+	<view class="center">
+		<view class="massage" v-for="(item, index) in 20" :key="index" @click="nav('/pages/index/messageInfo')">
+			<view class="title">携百大社群引爆启动的趣豆,究竟是个什么样的项目?</view>
+			<view class="time">2019-08-31 12:10:00</view>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			
+		}
+	},
+	onLoad() {
+		
+	},
+	methods:{
+		nav(url){
+			uni.navigateTo({
+				url
+			})
+		}
+	}
+}
+</script>
+
+<style lang="less">
+.center {
+	background: #f3f3f3;
+}
+.massage {
+	background: #FFFFFF;
+	padding: 30rpx;
+	border-bottom: 1px solid #E9E9E9;
+	.title {
+		font-size: 28rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #333333;
+	}
+	.time{
+		margin-top: 18rpx;
+		font-size: 20rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #999999;
+	}
+}
+</style>

+ 45 - 0
pages/index/messageInfo.vue

@@ -0,0 +1,45 @@
+<template>
+	<view class="center">
+		<view class="title clamp">趣豆最牛内容推广服务平台</view>
+		<view class="tip flex">
+			<view class="tip-left">作者:趣豆小编</view>
+			<view class="tip-right">2019-08-20 12:00</view>
+		</view>
+		<view v-html="content" class="content">
+			{{ content }}
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return{
+			content:'',
+		}
+	}
+}
+</script>
+
+<style lang="less">
+.center {
+	width: 100%;
+	height: 100%;
+}
+.title {
+	padding: 30rpx 30rpx 0 24rpx;
+	font-size: 32rpx;
+	font-family: PingFang SC;
+	font-weight: bold;
+	color: #333333;
+
+}
+.tip {
+	padding: 38rpx 32rpx 28rpx 24rpx;
+	font-size: 24rpx;
+	font-family: PingFang SC;
+	font-weight: 500;
+	color: #666666;
+	border-bottom: 1px solid #E9E9E9;
+}
+</style>

+ 1 - 1
pages/money/money.vue

@@ -1,6 +1,6 @@
 <template>
 	<view class="center">
-		<u-tabbar v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
+		<u-tabbar activeColor="#375AFE" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
 	</view>
 </template>
 

+ 1 - 1
pages/order/order.vue

@@ -66,7 +66,7 @@
 				</scroll-view>
 			</swiper-item>
 		</swiper>
-		<u-tabbar v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
+		<u-tabbar activeColor="#375AFE" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
 	</view>
 </template>
 

+ 0 - 148
pages/product/common/KlonContent.vue

@@ -1,148 +0,0 @@
-<template>
-	<view class="introduce-section">
-		<text class="title clamp">{{ goodsObjact.title }}</text>
-		<!-- <button open-type="share" class="shareDate">
-			<image class="share-img" src="/static/img/img57.png"></image>
-			好物推荐
-		</button> -->
-		<text class="info" v-if="goodsObjact.store_info">{{ goodsObjact.store_info }}</text>
-		<view class="progress-box">
-			<progress :percent="goodsObjact.percent | parseIntTo" activeColor="#F65527" font-size="10" show-info border-radius="5" stroke-width="9" />
-			<view class="number">剩余{{ goodsObjact.percent | parseIntTo }}%</view>
-		</view>
-		<view class="price-box">
-			<text class="price-tip">¥</text>
-			<view class="price">
-				{{ goodsObjact.price }}
-				<text class="text">/份</text>
-				<text class="m-price" v-if="goodsObjact.ot_price > goodsObjact.price">¥{{ goodsObjact.ot_price }}</text>
-			</view>
-		</view>
-		<!-- <view class="price-green">
-			¥{{ goodsObjact.ot_price }}
-			<text>市场价</text>
-		</view> -->
-	</view>
-</template>
-
-<script>
-export default {
-	props: {
-		goodsObjact: {
-			type: Object,
-			default: function() {
-				return {
-					percent:1
-				};
-			}
-		}
-	},
-	filters: {
-		parseIntTo(percent) {
-			percent = +percent * 100;
-			if (percent % 1 === 0) {
-				return percent;
-			} else {
-				percent = percent.toFixed(1);
-				return percent;
-			}
-		}
-	},
-	data() {
-		return {};
-	}
-};
-</script>
-
-<style lang="scss">
-/* 标题简介 */
-.introduce-section {
-	position: relative;
-	background: #fff;
-	padding: 35rpx 0rpx;
-	padding-left: 35rpx;
-	.title {
-		font-size: 32rpx;
-		color: $font-color-dark;
-		height: 50rpx;
-		width: 70%;
-		.tip-o {
-			color: #ff3334;
-			padding-left: 15rpx;
-		}
-	}
-	.shareDate {
-		position: absolute;
-		top: 25rpx;
-		right: 25rpx;
-		font-size: 26rpx;
-		color: #3d3f46;
-		border-radius: 15rpx;
-		background-color: #ffffff;
-		height: 60rpx;
-		line-height: 60rpx;
-	}
-	.share-img {
-		width: 30rpx;
-		height: 30rpx;
-		position: relative;
-		top: 5rpx;
-		left: 0;
-		margin-right: 10rpx;
-	}
-	.info {
-		color: #999999;
-		font-size: 26rpx;
-		padding-bottom: 15rpx;
-	}
-	.progress-box {
-		width: 260rpx;
-		position: relative;
-		margin-top: 15rpx;
-		line-height: 10px;
-		.number {
-			font-size: 17rpx;
-			position: absolute;
-			z-index: 99;
-			top: 3rpx;
-			left: 15rpx;
-			color: #ffffff;
-		}
-	}
-	.price-box {
-		display: flex;
-		align-items: baseline;
-		height: 64rpx;
-		padding: 10rpx 0;
-		font-size: 26rpx;
-		color: $uni-color-primary;
-	}
-	.price {
-		font-size: $font-lg + 6rpx;
-		.text {
-			padding-left: 5rpx;
-			color: #b0b0b0;
-			font-size: 22rpx !important;
-		}
-	}
-	.price-green {
-		color: #2dbd59;
-		font-size: 28rpx !important;
-		text {
-			background: #2dbd59;
-			color: #ffffff;
-			padding: 0rpx 10rpx;
-			border-radius: 5rpx;
-			font-size: 22rpx !important;
-			margin-left: 15rpx;
-		}
-	}
-	.m-price {
-		margin: 0 12rpx;
-		color: $font-color-light;
-		text-decoration: line-through;
-		margin-left: 25rpx;
-		font-size: 24rpx;
-	}
-}
-</style>

+ 0 - 68
pages/product/common/contentText.vue

@@ -1,68 +0,0 @@
-<template>
-	<view class="detail-desc">
-		<view class="d-header"><text>图文详情</text></view>
-		<rich-text class="detail-centent" :nodes="description"></rich-text>
-		<!-- 底部高度撑开 -->
-	</view>
-</template>
-
-<script>
-export default {
-	props: {
-		description: {
-			default: ''
-		},
-	},
-	data() {
-		return {
-			
-		};
-	},
-};
-</script>
-
-<style lang="scss">
-	/*  详情 */
-	.detail-desc {
-		margin-top: 14rpx;
-		background: #fff;
-		/deep/ img {
-			max-width: 100% !important;
-			display: inline !important;
-		}
-		/deep/ div {
-			max-width: 100% !important;
-		}
-		.d-header {
-			display: flex;
-			justify-content: center;
-			align-items: center;
-			height: 80rpx;
-			font-size: $font-base + 2rpx;
-			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;
-			}
-		}
-	}
-	/* 商品详情中限制图片大小 */
-	/deep/ .rich-img {
-		width: 100% !important;
-		height: auto;
-	}
-</style>

+ 0 - 139
pages/product/common/discounts.vue

@@ -1,139 +0,0 @@
-<template>
-	<view class="c-list">
-		<view class="c-row b-b">
-			<text class="tit">配送</text>
-			<view class="bz-list con" v-if="!mark">立即下单 ,预计最快第二天8.30-9:30送达</view>
-			<view class="bz-list con reding" v-else>{{mark}}</view>
-		</view>
-		<view v-if="showCoupon" class="c-row b-b" @click="Getcoupon">
-			<text class="tit">优惠券</text>
-			<text class="con t-r red">领取优惠券</text>
-			<text class="iconfont iconenter"></text>
-		</view>
-		<view class="c-row b-b">
-			<text class="tit">简介</text>
-			<view class="bz-list con">
-				<text>{{ Info }}</text>
-				<!-- <text>{{ copy2 }}</text> -->
-
-			</view>
-			<view class="copy-btn" @click="copy">一键复制</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		props: {
-			showCoupon: {
-				type: Boolean,
-				default: false
-			},
-			mark: {
-				default: ''
-			},
-			Info: {
-				default: ''
-			},
-		},
-		data() {
-			return {
-				copy1: '食材质检 ·',
-				copy2: '无接触配送到门口'
-			};
-		},
-		methods: {
-			Getcoupon() {
-				this.$emit('clickCoupon')
-			},
-			copy() {
-				// let copyText = this.copy1 + ' ' + this.copy2;
-				console.log(this.Info)
-				uni.setClipboardData({
-					//去找上面的数据
-					data: this.Info,
-					success: function(res) {
-						uni.showToast({
-							title: '复制成功',
-						});
-					},
-					fail: function(res) {
-					}
-				});
-			}
-		}
-	};
-</script>
-
-<style lang="scss">
-	.c-list {
-		font-size: $font-sm + 2rpx;
-		color: $font-color-base;
-		background: #fff;
-
-		.title {
-			color: #333333;
-			font-size: 32rpx;
-			font-weight: bold;
-		}
-
-		.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;
-			}
-		}
-
-		.reding {
-			color: #FF0815 !important;
-		}
-
-		.bz-list {
-			height: 40rpx;
-			font-size: $font-sm + 2rpx;
-			color: $font-color-dark;
-			overflow: hidden;
-			text-overflow: ellipsis;
-			white-space: nowrap;
-			
-			text {
-				display: inline-block;
-				margin-right: 30rpx;
-				overflow: hidden;
-				text-overflow: ellipsis;
-				white-space: nowrap;
-				width: 100%;
-			}
-		}
-
-		.copy-btn {
-			background-color: #F3F3F2;
-			padding: 8rpx 20rpx;
-			border-radius: 10rpx;
-			color: #040406;
-		}
-
-		.red {
-			color: #fb6d24;
-		}
-	}
-
-	/* 商品详情中限制图片大小 */
-	.rich-img {
-		width: 100% !important;
-		height: auto;
-	}
-</style>

+ 0 - 115
pages/product/common/estimate.vue

@@ -1,115 +0,0 @@
-<template>
-	<view class="eva-section" @click="navTo">
-		<view class="e-header">
-			<text class="tit">评价</text>
-			<text>({{ list.replyCount }})</text>
-			<text class="tip">好评率 {{ list.replyChance }}%</text>
-			<text class="iconfont iconenter"></text>
-		</view>
-		<view class="eva-box">
-			<image class="portrait" :src="reply.avatar" mode="aspectFill"></image>
-			<view class="right">
-				<text class="name">{{ reply.nickname }}</text>
-				<text class="con">{{ reply.comment }}</text>
-				<view class="con_box">
-					<view class="con_image" v-for="item in reply.pics"><image :src="item"></image></view>
-				</view>
-				<view class="bot">
-					<text class="attr"></text>
-					<text class="stime">{{ reply.add_time }}</text>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-export default {
-	props: {
-		list: {
-			default: ''
-		},
-		reply: {
-			default: ''
-		},
-	},
-	data() {
-		return {
-		};
-	},
-	methods: {
-		navTo() {
-			this.$emit('navTo')
-		}
-	},
-};
-</script>
-
-<style lang="scss">
-/* 评价 */
-.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;
-			color: $font-color-dark;
-			margin-right: 4rpx;
-		}
-		.tip {
-			flex: 1;
-			text-align: right;
-		}
-		.iconenter {
-			margin-left: 10rpx;
-		}
-	}
-	.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;
-			}
-			.bot {
-				display: flex;
-				justify-content: space-between;
-				font-size: $font-sm;
-				color: $font-color-light;
-			}
-		}
-	}
-	.con_image {
-		width: 130rpx;
-		height: 130rpx;
-		display: inline-block;
-		padding: 15rpx;
-		image {
-			width: 100%;
-			height: 100%;
-		}
-	}
-}
-</style>

+ 0 - 85
pages/product/common/freshDetail.vue

@@ -1,85 +0,0 @@
-<template>
-	<view class="c-list" v-if="goodsObjact.net_quantity||goodsObjact.storage_condition||goodsObjact.expiration_date">
-		<view class="c-row title b-b">规格</view>
-		<view class="c-row b-b" v-if="goodsObjact.net_quantity">
-			<text class="tit">净含量</text>
-			<text class="con t-r">{{ goodsObjact.net_quantity }}</text>
-		</view>
-		<view class="c-row b-b" v-if="goodsObjact.storage_condition">
-			<text class="tit">保存条件</text>
-			<text class="con t-r">{{ goodsObjact.storage_condition }}</text>
-		</view>
-		<view class="c-row b-b" v-if="goodsObjact.expiration_date">
-			<text class="tit">保质期</text>
-			<text class="con t-r">{{ goodsObjact.expiration_date }}</text>
-		</view>
-	</view>
-</template>
-
-<script>
-export default {
-	props: {
-		goodsObjact: {
-			type: Object,
-			default: function () {
-				return {
-					
-				}
-			}
-		},
-	},
-	data() {
-		return {
-			
-		};
-	},
-};
-</script>
-
-<style lang="scss">
-.c-list {
-	font-size: $font-sm + 2rpx;
-	color: $font-color-base;
-	background: #fff;
-	.title {
-		color: #333333;
-		font-size: 32rpx;
-		font-weight: bold;
-	}
-	.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;
-		}
-	}
-	.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: #fb6d24;
-	}
-}
-</style>

+ 0 - 155
pages/product/common/groupBottom.vue

@@ -1,155 +0,0 @@
-<template>
-	<view class="goods-pay-box ">
-		<view class="goods-pay-buttom flex" v-if="!seckillObj.stop">
-			<view class="goods-pay bg-pinks">
-			<!-- 	<view class="goods-pay-o flex">
-					<view class="title">本单发起人奖金</view>
-					<view class="money">{{peopleMoney}}元</view>
-				</view>
-				<view class="goods-pay-t">
-					本单销售额佣金
-					<text>?%</text>
-				</view> -->
-				发起拼团得奖金
-			</view>
-			<!-- 单规格 -->
-			<view class="goods-pay bg-danger" v-if="many == 1" @click="buy(1)"><view class="goods-buttom">一键开团</view></view>
-			<!-- 多规格 -->
-			<view class="goods-pay bg-danger" v-else @click="buys"><view class="goods-buttom">一键开团</view></view>
-		</view>
-		<view class="goods-pay-stop" v-else>活动已结束</view>
-	</view>
-</template>
-
-<script>
-export default {
-	props: {
-		peoplePrize: {
-			default:0
-		},
-		seckillObj: {
-			type: Object,
-			default: function() {
-				return {
-					stopTime: 0, //结束时间
-					stop: false, //是否结束
-					stopTimeH: 0, //小时
-					stopTimeM: 0, //分钟
-					stopTimeS: 0 //秒钟
-				};
-			}
-		},
-		many:{
-			default:9
-		}
-	},
-	computed: {
-		peopleMoney() {
-			return +this.peoplePrize 
-		}
-	},
-	data() {
-		return {};
-	},
-	methods: {
-		buy(ls) {
-			this.$emit('buy', ls);
-		},
-		buys(){
-			this.$emit('specOPne');
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-// 底部拼团、秒杀支付按钮
-.goods-pay-box {
-	position: fixed;
-	left: 0;
-	bottom: 0;
-	z-index: 99;
-	width: 100%;
-	height: 100rpx;
-	line-height: 1;
-	color: #ffffff;
-	padding: 10rpx 30rpx;
-	text-align: center;
-	font-size: $font-lg;
-	background-color: #ffffff;
-	.goods-pay-buttom {
-		overflow: hidden;
-		border-radius: 99rpx;
-		height: 100%;
-	}
-	.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;
-		height: 100rpx;
-		font-size: 22rpx;
-		.goods-buttom {
-			font-size: 35rpx;
-			width: 100%;
-		}
-
-		&.bg-danger {
-			// background:linear-gradient(14deg,rgba(254,107,38,1),rgba(255,50,40,1));
-			background: linear-gradient(270deg, #5dbc7c 0%, #5dbc7c 100%);
-		}
-		.goods-pay-o {
-			border: 1px solid #ddffdf;
-			.title {
-				background:linear-gradient(14deg,rgba(254,107,38,1),rgba(255,50,40,1));
-				padding: 5rpx 10rpx;
-				border-radius: 5rpx;
-				line-height: 1;
-				flex-shrink: 0;
-			}
-			.money {
-				padding: 5rpx 10rpx;
-				color: #ff0919;
-				flex-grow: 1;
-			}
-		}
-		.goods-pay-t {
-			padding: 5rpx 10rpx;
-			color: #ff0919;
-			text {
-				padding: 5rpx 10rpx;
-				color: rgba(249, 220, 221, 1);
-			}
-		}
-		.goods-pay-o,
-		.goods-pay-t {
-			width: 260rpx;
-			border-radius: 5rpx;
-			background-color: #fff5f4;
-			border: 1px solid #f9dcdd;
-		}
-	}
-	.bg-pinks {
-		// background: linear-gradient(90deg, #f9dcdd, #feeeee);
-		background: #ddffdf;
-		// color: #FD1A2B !important;
-		color: #5dbc7c;
-		font-size: 32rpx !important;
-		font-weight: bold;
-	}
-	.goods-pay-stop,
-	.goods-pay {
-		padding: 15rpx 0;
-		height: 100%;
-		width: 100%;
-	}
-	.goods-pay-stop {
-		background: $color-gray;
-		line-height: 70rpx;
-	}
-}
-</style>

+ 0 - 148
pages/product/common/groupContent.vue

@@ -1,148 +0,0 @@
-<template>
-	<view class="introduce-section">
-		<text class="title clamp">
-			{{goodsObjact.title}}
-			<!-- <text class="tip-o">截单后8小时到货</text> -->
-		</text>
-		<!-- <button open-type="share" class="shareDate flex_item">
-			<image class="share-img" src="/static/img/img085.png"></image>
-			<view class="name">分享</view>
-		</button> -->
-		<!-- <view class="progress-box">
-			<progress :percent="goodsObjact.percent | parseIntTo" activeColor="#F65527" font-size="10" show-info border-radius="5" stroke-width="9" />
-			<view class="number">剩余{{ goodsObjact.percent | parseIntTo }}%</view>
-		</view> -->
-		<view class="old_price" v-if="goodsObjact.pink_type == '达人团'">
-			¥{{ goodsObjact.product_price }}
-		</view>
-		<text class="info" v-if="goodsObjact.store_info">{{ goodsObjact.store_info }}</text>
-		<!-- <view class="price-green">
-			¥{{ goodsObjact.product_price }}
-			<text>市场价</text>
-		</view> -->
-	</view>
-</template>
-
-<script>
-export default {
-	props: {
-		goodsObjact: {
-			type: Object,
-			default: function() {
-				return {
-					store_info: '',
-					ot_price: ''
-				};
-			}
-		}
-	},
-	data() {
-		return {};
-	},
-	filters: {
-		parseIntTo(percent) {
-			percent = +percent * 100;
-			if (percent % 1 === 0) {
-				return percent;
-			} else {
-				percent = percent.toFixed(1);
-				return percent;
-			}
-		}
-	},
-	methods: {
-		Getcoupon() {
-			this.$emit('click');
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-/* 标题简介 */
-.introduce-section {
-	position: relative;
-	background: #fff;
-	padding: 35rpx 0rpx;
-	padding-left: 35rpx;
-	.title {
-		font-size: 32rpx;
-		color: $font-color-dark;
-		height: 50rpx;
-		width: 70%;
-		font-weight: bold;
-		.tip-o {
-			color: #ff3334;
-			padding-left: 15rpx;
-			font-size: 25rpx;
-		}
-	}
-	.shareDate {
-		padding: 15rpx 25rpx;
-		padding-bottom: 25rpx !important;
-		position: absolute;
-		top: 25rpx;
-		right: 0rpx;
-		font-size:30rpx;
-		color: #3d3f46;
-		border-bottom-left-radius: 25rpx;
-		border-top-left-radius: 25rpx;
-		background-color: #ffffff;
-		height: 60rpx;
-		background-color:#F2FEE6;
-		border: none !important;
-	}
-	uni-button:after{
-		border: none !important;
-	}
-	.share-img {
-		width: 45rpx;
-		height: 45rpx;
-		position: relative;
-		top: 5rpx;
-		left: 0;
-		margin-right: 10rpx;
-	}
-	.name{
-		position: relative;
-		top: 5rpx;
-	}
-	.progress-box {
-		width: 260rpx;
-		position: relative;
-		margin-top: 15rpx;
-		line-height: 10px;
-		.number {
-			font-size: 17rpx;
-			position: absolute;
-			z-index: 999;
-			top: 3rpx;
-			left: 15rpx;
-			color: #ffffff;
-		}
-	}
-	.old_price {
-		margin-top: 10rpx;
-		font-size: $font-base;
-		text-decoration: line-through;
-		color: #7a7a7a;
-	}
-	.info {
-		color: #999999;
-		font-size: 26rpx;
-		padding-bottom: 15rpx;
-	}
-	.price-green {
-		color: #2dbd59;
-		font-size: 28rpx !important;
-		text {
-			background: #2dbd59;
-			color: #ffffff;
-			padding: 0rpx 10rpx;
-			border-radius: 5rpx;
-			font-size: 22rpx !important;
-			margin-left: 15rpx;
-		}
-	}
-}
-</style>

+ 0 - 195
pages/product/common/groupTime.vue

@@ -1,195 +0,0 @@
-<template>
-	<view class="introduce-section seckill-box-title">
-		<view class="title flex" style="width: 100%;">
-			<view class="title-left flex">
-				<view class="title-box flex_item">
-					<view class="title-o">
-						<view class="price-tip flex">
-							<view class="tip-info">¥</view>
-							<text class="price">{{ goodsObjact.price }}</text>
-						</view>
-					</view>
-					<view class="title-t">
-						<view class="peice-out"></view>
-						<view class="num">{{ goodsObjact.people }}人起团</view>
-					</view>
-				</view>
-				<view class="group flex">
-					<image src="/static/img/img064.png"></image>
-					<view class="text">{{goodsObjact.pink_type}}</view>
-				</view>
-			</view>
-			<view class="timeStop">
-				<view class="item">
-					<view class="timeStop-name">距离结束</view><!-- #FF3334 -->
-					<uni-countdown
-						class="timeBox"
-						color="#ffffff"
-						background-color="#5dbc7c"
-						splitor-color="#000000"
-						:show-day="false"
-						:hour="seckillObj.stopTimeH+(seckillObj.stopTimeD*24)"
-						:minute="seckillObj.stopTimeM"
-						:second="seckillObj.stopTimeS"
-					></uni-countdown>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-import uniCountdown from '@/components/uni-countdown/uni-countdown.vue';
-export default {
-	components: {
-		uniCountdown
-	},
-	props: {
-		goodsObjact: {
-			type: Object,
-			default: function() {
-				return {
-					price: 0,
-					product_price: 0,
-					people: 0
-				};
-			}
-		},
-		seckillObj: {
-			type: Object,
-			default: function() {
-				return {
-					stopTime: 0, //结束时间
-					stop: false, //是否结束
-					stopTimeH: 0, //小时
-					stopTimeM: 0, //分钟
-					stopTimeS: 0, //秒钟
-					stopTimeD: 0, //秒钟
-					upTime: 0
-				};
-			}
-		}
-	},
-	data() {
-		return {};
-	}
-};
-</script>
-
-<style lang="scss">
-/* 标题简介 */
-.introduce-section {
-	position: relative;
-	background: #fff;
-	.title {
-		font-size: 32rpx;
-		color: $font-color-dark;
-		.tip-o {
-			color: #ff3334;
-			padding-left: 15rpx;
-		}
-		.title-left {
-			padding: 15rpx;
-			width: 560rpx;
-		}
-	}
-	.title-box {
-		color: #ffffff;
-		.title-o {
-			.price {
-				font-size: 65rpx !important;
-				position: relative;
-				top: 8rpx;
-			}
-		}
-		.title-t {
-			font-size: 24rpx !important;
-			position: relative;
-			bottom: 10rpx;
-			padding-left: 10rpx;
-			top: 10rpx;
-			.peice-out {
-				text-decoration: line-through;
-			}
-			.num {
-				margin-top: 10rpx;
-				background-color: #ffffff;
-				color: #ff3a56;
-				border-radius: 8rpx;
-				padding: 0 5rpx ;
-				float: left;
-			}
-		}
-	}
-	.group {
-		color: #ffffff;
-		position: relative;
-		top: 8rpx;
-		image {
-			width: 55rpx;
-			height: 45rpx;
-		}
-		.text {
-			font-size: 40rpx !important;
-			padding-left: 10rpx;
-		}
-	}
-	.timeStop {
-		// background-color: #feeeee;
-		background: #ddffdf;
-		height: 120rpx;
-		padding: 0 10rpx;
-		position: relative;
-		width: 0;
-		flex-grow: 1;
-		.timeStop-name {
-			padding-top: 15rpx;
-			text-align: center;
-			// color: #ff3334;
-			color:#5dbc7c;
-			font-size: 20rpx;
-		}
-		.timeBox {
-			// margin-left: -10rpx;
-			position: absolute;
-			top: 50rpx;
-		}
-		.item{
-			height: 120rpx;
-			width: 0;
-			min-width: 100%;
-			position: relative;
-		}
-	}
-	.share-img {
-		width: 30rpx;
-		height: 30rpx;
-		position: relative;
-		top: 5rpx;
-		left: 0;
-		margin-right: 10rpx;
-	}
-}
-.seckill-box-title {
-	// background:linear-gradient(14deg,rgba(254,107,38,1),rgba(255,50,40,1)) !important;
-	background: linear-gradient(270deg, #5dbc7c 0%, #5dbc7c 100%) !important;
-	.price,
-	.m-price {
-		color: #ffffff !important;
-	}
-	.price-tip {
-		font-size: $font-base;
-		color: #ffffff !important;
-	}
-	.tip-info{
-		position: relative;
-		top:18rpx;
-		font-size: 32rpx !important;
-		padding-right: 8rpx;
-	}
-	.price {
-		font-size: 45rpx !important;
-		font-weight: bold;
-	}
-}
-</style>

+ 0 - 120
pages/product/common/guessLike.vue

@@ -1,120 +0,0 @@
-<template>
-	<view class="guess-item">
-		<view class="guess">猜你喜欢</view>
-		<view class="guess-scroll flex_item" scroll-x>
-			<view class="scroll-list" v-for="ls in goodList" @click="navToDetailPage(ls)">
-				<view class="scoll-img"><image :src="ls.image"></image></view>
-				<view class="scoll-name ellipsis">{{ ls.store_name }}</view>
-				<view class="price-list flex">
-					<view class="tpl">
-						<view class="red-price">
-							¥
-							<text>{{ ls.price }}</text>
-						</view>
-						<view class="grey-price">¥{{ ls.ot_price }}</view>
-					</view>
-					<view class="img position-relative" @click.stop="Addcar(ls)">
-						<image src="/static/img/img13.png"></image>
-						<view class="corner" v-if="ls.cart_num > 0">
-							<text>{{ ls.cart_num }}</text>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-export default {
-	props: {
-		goodList: {
-			type: Array,
-			default: function () {
-				return []
-			}
-		},
-	},
-	methods: {
-		// 跳转到详情页
-		navToDetailPage(ls){
-			this.$emit('clickNavTo',ls)
-		},
-		// 加入购物车
-		Addcar(ls){
-			this.$emit('Addcar',ls)
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-//猜你喜欢
-.guess-item {
-	padding: 25rpx 25rpx;
-	background: #ffffff;
-	margin-bottom: 15rpx;
-	padding-bottom: 45rpx !important;
-	.guess {
-		color: #000000;
-		font-size: 35rpx;
-		font-weight: 500;
-		padding-bottom: 25rpx;
-	}
-	.guess-scroll {
-		width: 100%;
-		font-size: 24rpx;
-		overflow: hidden;
-		overflow-x: auto;
-		justify-content: flex-start;
-		.scroll-list {
-			border: 2rpx solid #f0f0f0;
-			border-radius: 25rpx;
-			margin-right: 15rpx;
-			.scoll-img {
-				width: 227rpx;
-				border-top-right-radius: 25rpx;
-				border-top-left-radius: 25rpx;
-				height: 227rpx;
-				overflow: hidden;
-				image {
-					width: 100%;
-					height: 100%;
-				}
-			}
-			.scoll-name {
-				height: 80rpx;
-				width: 227rpx;
-				font-size: 22rpx;
-				padding: 15rpx 15rpx;
-			}
-			.price-list {
-				padding: 25rpx 15rpx;
-				padding-right: 25rpx;
-				.tpl {
-					.red-price {
-						color: #f31d29;
-						text {
-							font-size: 35rpx !important;
-							font-weight: bold;
-						}
-					}
-					.grey-price {
-						text-decoration: line-through;
-						color: #999999;
-						font-size: 10px !important;
-					}
-				}
-				.img {
-					width: 45rpx;
-					height: 45rpx;
-					image {
-						width: 100%;
-						height: 100%;
-					}
-				}
-			}
-		}
-	}
-}
-</style>

+ 0 - 68
pages/product/common/klonButtom.vue

@@ -1,68 +0,0 @@
-<template>
-	<view class="klon-buttom">
-		<view class="klon-frame">
-			<button type="primary" class="klon-buy" @click="buy(1)" v-if="goodsObjact.stock > 0">
-				<view class="klon-buyText">立即购买</view>
-			</button>
-			<button type="primary" class="klon-no" v-if="goodsObjact.stock < 1">
-				<view class="klon-buyText">已售罄</view>
-			</button>
-		</view>
-	</view>
-</template>
-
-<script>
-export default {
-	props: {
-		goodsObjact: {
-			type: Object,
-			default: function () {
-				return {
-					
-				}
-			}
-		},
-	},
-	data() {
-		return {
-			
-		};
-	},
-	methods: {
-		buy(data){
-			this.$emit('buy',data)
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-.klon-buttom {
-	position: fixed;
-	bottom: 0rpx;
-	z-index: 95;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-	width: 750rpx;
-	height: 100rpx;
-	padding: 10rpx 30rpx;
-	background-color: #ffffff;
-	.klon-frame {
-		width: 100%;
-		.klon-buy {
-			border-radius: 100rpx;
-			// background: linear-gradient(270deg, rgba(181,116,242, 1) 0%, rgba(139,86,254, 1) 100%);
-			background:linear-gradient(14deg,rgba(255,116,37,1),rgba(255,30,41,1));
-		}
-		.klon-no {
-			border-radius: 100rpx;
-			background: #999999;
-		}
-		.klon-buyText {
-			font-size: 34rpx;
-			width: 100%;
-		}
-	}
-}
-</style>

+ 0 - 169
pages/product/common/productBottom.vue

@@ -1,169 +0,0 @@
-<template>
-	<view class="page-bottom">
-		<navigator url="/pages/index/index" open-type="switchTab" class="p-b-btn">
-			<text class="iconfont iconhome"></text>
-			<text>首页</text>
-		</navigator>
-		<view class="p-b-btn" :class="{ active: goodsObjact.userCollect }" @click="toFavorite(goodsObjact)">
-			<text class="iconfont " :class="{ iconlike: !goodsObjact.userCollect, iconlikefill: goodsObjact.userCollect }"></text>
-			<text>收藏</text>
-		</view>
-		<view class="action-btn-group">
-			<button type="primary" class=" action-btn no-border add-cart-btn" @click="buy(2)">加入购物车</button>
-			<button type="primary" class=" action-btn no-border buy-now-btn" @click="buy(1)">立即购买</button>
-		</view>
-	</view>
-</template>
-
-<script>
-import { collectAdd, collectDel } from '@/api/product.js';
-export default {
-	props: {
-		many: {
-			default: 9
-		},
-		goodsObjact: {
-			default: function() {
-				return {};
-			}
-		},
-		goodsid:{
-			default: ''
-		}
-	},
-	data() {
-		return {};
-	},
-	methods: {
-		buy(type) {
-			this.$emit('specOPne',type);
-		},
-		//收藏
-		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
-					});
-				});
-			} else {
-				collectAdd({ id: obj.goodsid, category: 'product' }).then(function(e) {
-					uni.showToast({
-						title: '成功加入收藏',
-						type: 'top',
-						duration: 1500
-					});
-				});
-			}
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-/* 底部操作菜单 */
-.page-bottom {
-	position: fixed;
-	bottom: 0rpx;
-	z-index: 95;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-	width: 750rpx;
-	height: 120rpx;
-	background-color: #ffffff;
-	/* 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: 96rpx;
-		height: 80rpx;
-		.iconfont {
-			font-size: 40rpx;
-			line-height: 48rpx;
-			color: $font-color-light;
-		}
-		&.active,
-		&.active .iconfont {
-			color: $uni-color-primary;
-		}
-		.iconlikefill {
-			font-size: 46rpx;
-		}
-		image {
-			width: 56rpx;
-			height: 58rpx;
-		}
-	}
-	.action-btn-group {
-		display: flex;
-		height: 76rpx;
-		border-radius: 100px;
-		overflow: hidden;
-		margin-left: 20rpx;
-		position: relative;
-		&:after {
-			content: '';
-			position: absolute;
-			top: 50%;
-			right: 50%;
-			transform: translateY(-50%);
-			height: 28rpx;
-			width: 0;
-			border-right: 1px solid rgba(255, 255, 255, 0.5);
-		}
-		.action-btn {
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			width: 270rpx;
-			height: 100%;
-			font-size: $font-base;
-			padding: 0;
-			border-radius: 0;
-			background: transparent;
-			&.buy-now-btn {
-				background-color: #303e49;
-			}
-			&.add-cart-btn {
-				background-color: $base-color;
-			}
-		}
-	}
-}
-.p-b-btn {
-	display: flex;
-	flex-direction: column;
-	align-items: center;
-	justify-content: center;
-	font-size: $font-sm;
-	color: $font-color-base;
-	width: 96rpx;
-	height: 80rpx;
-	.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;
-	}
-}
-</style>

+ 0 - 146
pages/product/common/productContent.vue

@@ -1,146 +0,0 @@
-<template>
-	<view class="introduce-section">
-		<text class="title clamp2">{{ goodsObjact.store_name }}</text>
-		<button open-type="share" class="shareDate">
-			<image class="share-img" src="../../../static/img/img57.png"></image>
-			好物推荐
-		</button>
-		<text class="info" v-if="goodsObjact.store_info">{{ goodsObjact.store_info }}</text>
-		<!-- <view class="progress-box">
-			<progress :percent="goodsObjact.percent | parseIntTo" activeColor="#F65527" font-size="10" show-info border-radius="5" stroke-width="9" />
-			<view class="number">剩余{{ goodsObjact.percent | parseIntTo }}%</view>
-		</view> -->
-		<view class="price-box">
-			<text class="price-tip">¥</text>
-			<view class="price">
-				{{ goodsObjact.price }}
-				<text class="text">/份</text>
-				<text class="m-price" v-if="goodsObjact.ot_price > goodsObjact.price">¥{{ goodsObjact.ot_price }}</text>
-			</view>
-		</view>
-		<view class="price-green">
-			¥{{ goodsObjact.ot_price }}
-			<text>市场价</text>
-		</view>
-	</view>
-</template>
-
-<script>
-export default {
-	props: {
-		goodsObjact: {
-			type: Object,
-			default: function() {
-				return {
-					percent:1
-				};
-			}
-		}
-	},
-	filters: {
-		parseIntTo(percent) {
-			percent = +percent * 100;
-			if (percent % 1 === 0) {
-				return percent;
-			} else {
-				percent = percent.toFixed(1);
-				return percent;
-			}
-		}
-	},
-	data() {
-		return {};
-	}
-};
-</script>
-
-<style lang="scss">
-/* 标题简介 */
-.introduce-section {
-	position: relative;
-	background: #fff;
-	padding: 35rpx 0rpx;
-	padding-left: 35rpx;
-	.title {
-		font-size: 32rpx;
-		color: $font-color-dark;
-		.tip-o {
-			color: #ff3334;
-			padding-left: 15rpx;
-		}
-	}
-	.shareDate {
-		position: absolute;
-		top: 25rpx;
-		right: 25rpx;
-		font-size: 26rpx;
-		color: #3d3f46;
-		border-radius: 15rpx;
-		background-color: #ffffff;
-		height: 60rpx;
-		line-height: 60rpx;
-	}
-	.share-img {
-		width: 30rpx;
-		height: 30rpx;
-		position: relative;
-		top: 5rpx;
-		left: 0;
-		margin-right: 10rpx;
-	}
-	.info {
-		color: #999999;
-		font-size: 26rpx;
-		padding-bottom: 15rpx;
-	}
-	.progress-box {
-		width: 260rpx;
-		position: relative;
-		margin-top: 15rpx;
-		line-height: 10px;
-		.number {
-			font-size: 17rpx;
-			position: absolute;
-			z-index: 999;
-			top: 3rpx;
-			left: 15rpx;
-			color: #ffffff;
-		}
-	}
-	.price-box {
-		display: flex;
-		align-items: baseline;
-		height: 64rpx;
-		padding: 10rpx 0;
-		font-size: 26rpx;
-		color: $uni-color-primary;
-	}
-	.price {
-		font-size: $font-lg + 6rpx;
-		.text {
-			padding-left: 5rpx;
-			color: #b0b0b0;
-			font-size: 22rpx !important;
-		}
-	}
-	.price-green {
-		color: #2dbd59;
-		font-size: 28rpx !important;
-		text {
-			background: #2dbd59;
-			color: #ffffff;
-			padding: 0rpx 10rpx;
-			border-radius: 5rpx;
-			font-size: 22rpx !important;
-			margin-left: 15rpx;
-		}
-	}
-	.m-price {
-		margin: 0 12rpx;
-		color: $font-color-light;
-		text-decoration: line-through;
-		margin-left: 25rpx;
-		font-size: 24rpx;
-	}
-}
-</style>

+ 0 - 55
pages/product/common/topSwiper.vue

@@ -1,55 +0,0 @@
-<template>
-	<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>
-			</swiper-item>
-		</swiper>
-	</view>
-</template>
-
-<script>
-export default {
-	props: {
-		imgList: {
-			type: Array,
-			default: function () {
-				return []
-			}
-		},
-	},
-	data() {
-		return {
-			
-		};
-	},
-};
-</script>
-
-<style lang="scss">
-.carousel {
-	/* #ifdef APP-PLUS */
-	padding-top: var(--status-bar-height);
-	/* #endif */
-	height: 700rpx;
-	position: relative;
-	swiper {
-		height: 100%;
-	}
-	.image-wrapper {
-		width: 100%;
-		height: 100%;
-	}
-	.swiper-item {
-		display: flex;
-		justify-content: center;
-		align-content: center;
-		height: 700rpx;
-		overflow: hidden;
-		image {
-			width: 100%;
-			height: 100%;
-		}
-	}
-}
-</style>

+ 0 - 386
pages/product/groupBooking/detail.vue

@@ -1,386 +0,0 @@
-<template>
-	<view class="box">
-		<!-- 拼团 -->
-		<view class="lyy-a">
-			<view class="lyy-a-p">
-				<view class="lyy-a-f">
-					<view><image :src="goods.image" class="lyy-a-tu" /></view>
-					<view class="lyy-a-z">
-						<view class="lyy-a-word lyy-a-word2">{{ goods.title }}</view>
-						<view class="flex money-box">
-							<view class="lyy-a-f lyy-a-word margin-r-20">
-								<view class="lyy-a-word3">¥{{ goods.price }}</view>
-							</view>
-							<view class="lyy-a-tu2 lyy-a-f padding-c-20 border-radius-all">
-								<view class="lyy-a-tu3"><image src="http://lxscimg.liuniu946.com/2019-11-02_5dbd110b5928a.png" class="lyy-a-tu5"></image></view>
-								<view class="lyy-a-tu4 flex-shrink-false">{{ goods.people }}人拼</view>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="lyy-hx"></view>
-		<!-- 第二部分 -->
-		<view class="lyy-b padding-t-20">
-			<view class="lyy-b-p">
-				<view class="lyy-b-jz flex">
-					<view class="image1"><view class="lyy-b-word">剩余时间</view></view>
-				</view>
-				<view class="lyy-b-jz flex">
-					<uni-countdowns
-						v-if="pinkBool == 0"
-						color="#FFFFFF"
-						splitor-color="#FC5B62"
-						background-color="#FC5B62"
-						border-color="#FC5B62"
-						:show-day="false"
-						:hour="stopTime.stopTimeH"
-						:minute="stopTime.stopTimeM"
-						:second="stopTime.stopTimeS"
-					></uni-countdowns>
-				</view>
-				<view class="lyy-b-jz flex">
-					<span class="lyy-b-word2">{{ pinkT.people }}</span>
-					<span class="lyy-b-word3">人成团,还差{{ peopleNub }}人</span>
-				</view>
-				<view class="lyy-b-jz flex">
-					<view class="cmy-user-box">
-						<view class="user-list">
-							<view class="lyy-y bg-gray"><image :src="pinkT.avatar" class="user-list-img" /></view>
-							<view class="lyy-y-word clamp">{{ pinkT.nickname }}</view>
-						</view>
-						<view class="user-list" v-for="(item , i) in people" :key='i'>
-						    <view class="lyy-y bg-gray"><image :src="item.avatar" class="user-list-img" /></view>
-						    <view class="lyy-y-word clamp">{{ item.nickname }}</view>
-						</view>
-						<view class="user-list" v-for="(l, i) in peopleNub" :key="i">
-							<view class="lyy-y bg-gray"></view>
-							<view class="lyy-y-word clamp">待邀请</view>
-						</view>
-					</view>
-				</view>
-				<view class="lyy-b-jz flex">
-					<view class="lyy-b-but" v-if="status == 1 && pinkBool == 0" @click="invitation">邀请好友参团</view>
-					<view class="lyy-b-but" v-if="status == 0&&pinkBool==0" @click="goBuy">立即加入</view>
-					<!-- <view class="lyy-b-but" @click="goBuy">立即加入</view> -->
-					<view class="lyy-b-but bg-gray" v-if="pinkBool == -1">拼团失败</view>
-					<view class="lyy-b-but" v-if="pinkBool == 1">拼团成功</view>
-				</view> 
-			</view>
-		</view>
-		<view class="lyy-hx"></view>
-		<!-- 第三部分 -->
-		<view class="lyy-c">
-			<view class="lyy-c-p">
-				<view class="lyy-c-word">
-					<view>拼团规则:</view>
-					<view>1.点击商品进入商品详情,通过超值拼团进入订单支付 页,用户付款成功后,按页面提示分享给微信好友。</view>
-					<view>2.好友通过分享,加入超值拼团,完成订单支付,待达成 拼团人数后,拼团成功。</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-import uniCountdowns from '@/components/uni-countdown/uni-countdowns.vue';
-import { getCombinationLisPink } from '@/api/product.js';
-import { groupGoods } from '@/api/product.js';
-import { timeComputed } from '@/utils/rocessor.js';
-import { mapState } from 'vuex';
-// 倒计时
-export default {
-	data() {
-		return {
-			gp_id: 0, //拼团商品id
-			goods: {}, //商品信息
-			pinkT: {}, //拼团团长信息
-			people: [], //拼团成员信息
-			status: 0, //判断是否为团长
-			gid: 0,
-			user_info: {}, //当前用户信息
-			// 倒计时
-			stopTime: {
-				stopTimeH: 0,
-				stopTimeM: 0,
-				stopTimeS: 0
-			},
-			pinkBool: 0, //拼团状态0为待拼团 -1为拼团失败 1为拼团成功
-			userBool: 0, //判断用户是否已经参与拼团 0未参加 1为已参加
-			spread: '', //默认没有邀请人
-			userInfo: {} ,//当前用户信息
-			peopleNub:0
-		};
-	},
-	onLoad(e) {
-		// 保存拼团订单id
-		this.gp_id = e.id;
-		// 判断是否有人邀请
-		if (e.spread) {
-			// 存储邀请人
-			this.spread = e.spread;
-			uni.setStorageSync('spread', option.spread);
-		}
-	},
-	onShow() {
-		this.getData();
-	},
-	components: {
-		uniCountdowns
-	},
-	methods: {
-		//前往参团
-		goBuy() {
-			let _self = this;
-			uni.navigateTo({
-				url: '/pages/order/createOrder?pinkId=' + this.gp_id + '&type=pink' + '&pid=' + this.goods.product_id + '&gid=' + this.goods.id + '&merid=' + this.goods.mer_id
-			});
-		},
-		//邀请参团
-		invitation() {
-			let obj = this;
-			// 判断拼团是否已经结束
-			if (obj.userBool == 0) {
-				uni.showModal({
-					title: '提示',
-					content: '该拼团已经结束!',
-					showCancel: false,
-					success: res => {},
-					fail: () => {},
-					complete: () => {}
-				});
-				return;
-			}
-			uni.navigateTo({
-				url: '/pages/product/groupBooking/inviteImg?id=' + this.pinkT.id + '&spread=' + this.userInfo.uid,
-				success: res => {},
-				fail: e => {
-					console.log(e);
-				},
-				complete: () => {}
-			});
-		},
-		// #ifdef H5
-		// 加载微信html5页面分享方法
-		shareDate() {
-			let obj = this;
-			// 判断是否微信浏览器
-			let bool = uni.getStorageSync('weichatBrowser') || '';
-			if (bool) {
-				// 过滤微信强制添加的链接地址
-				url = url.replace('?from=singlemessage', '');
-				let data = {
-					link: url, // 分享链接
-					imgUrl: obj.goodsObjact.image, // 分享图标
-					desc: obj.goodsObjact.store_info,
-					title: obj.goodsObjact.store_name,
-					success: function() {}
-				};
-				obj.weichatObj.updateAppMessageShareData(data);
-				obj.weichatObj.updateTimelineShareData(data);
-			}
-		},
-		// #endif
-		// 获取拼团信息
-		getData() {
-			let obj = this;
-			// let data = {gp_id:_self.gp_id},
-			getCombinationLisPink({}, this.gp_id).then(e => {
-				let r = e.data;
-				// 保存拼团商品详细
-				obj.goods = r.store_combination;
-				// 保存团长信息
-				obj.pinkT = r.pinkT;
-				/* 计算倒计时 */
-				obj.timeComputed(obj.pinkT.stop_time * 1000);
-				// 获取拼团用户列表
-				obj.people = r.pinkAll;
-				// 获取当前是否已参与过这个拼团
-				obj.userBool = r.userBool;
-				// 判断当前用户是否为团长
-				if (r.pinkT.uid == r.userInfo.uid) {
-					// 显示邀请好用选项
-					obj.status = 1;
-				}
-				// 保存当前登录用户信息
-				obj.userInfo = r.userInfo;
-				// 获取拼团是否已经过期
-				obj.pinkBool = r.pinkBool;
-				obj.peopleNub = obj.pinkT.people - 1 - obj.people.length;
-				// #ifdef H5
-				// 加载微信分享配置
-				this.shareDate();
-				// #endif
-			});
-		},
-		// 计算倒计时时间
-		timeComputed(da) {
-			let obj = this;
-			let stopTime = timeComputed(da);
-			obj.stopTime.stopTimeH = stopTime.hours;
-			obj.stopTime.stopTimeM = stopTime.minutes;
-			obj.stopTime.stopTimeS = stopTime.seconds;
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-.box {
-	/* #ifdef APP-PLUS | MP */
-	padding-top: var(--status-bar-height);
-	/* #endif */
-}
-.lyy-c {
-	width: 100%;
-	background: rgba(255, 255, 255, 1);
-	.lyy-c-word {
-		font-size: 28rpx;
-		color: rgba(102, 102, 102, 1);
-		line-height: 50rpx;
-	}
-
-	.lyy-c-p {
-		padding: 39rpx 30rpx;
-	}
-}
-
-.lyy-wrap {
-	background-color: #f4f4f4;
-}
-
-.lyy-hx {
-	height: 14rpx;
-}
-
-.image1 {
-	width: 200rpx;
-	height: 33rpx;
-	background: url('http://lxscimg.liuniu946.com/2019-11-02_5dbd0e10a2160.png') center center no-repeat;
-	background-size: 200rpx auto;
-}
-
-.lyy-b {
-	width: 100%;
-	background-color: white;
-	.lyy-b-p {
-		padding: 30rpx 45rpx;
-		.lyy-b-word2,
-		.lyy-b-word3 {
-			font-size: 28rpx;
-			font-weight: bold;
-		}
-		.lyy-b-word2 {
-			color: #fc5b62;
-		}
-		.lyy-b-word3 {
-			color: #1d2023;
-		}
-		.lyy-b-jz {
-			width: 100%;
-			justify-content: center;
-			margin-bottom: 20rpx;
-			.lyy-y {
-				width: 80rpx;
-				height: 80rpx;
-				margin: 0px 15rpx;
-				border-radius: 40rpx;
-				overflow: hidden;
-				.user-list-img {
-					width: 100%;
-					height: 100%;
-				}
-			}
-			.lyy-y-word {
-				margin-top: 10rpx;
-				font-size: 28rpx;
-				text-align: center;
-				width: 110rpx;
-			}
-			.lyy-b-but {
-				width: 550rpx;
-				height: 80rpx;
-				background: #fc5b62;
-				border-radius: 100rpx;
-				text-align: center;
-				color: white;
-				line-height: 80rpx;
-				font-size: 32rpx;
-			}
-			.cmy-user-box {
-				.user-list {
-					display: inline-block;
-					line-height: 1;
-				}
-			}
-		}
-		.lyy-b-word {
-			text-align: center;
-			font-size: 26rpx;
-			color: rgba(29, 32, 35, 1);
-		}
-	}
-}
-
-// 商品列表样式
-.lyy-a {
-	width: 100%;
-	background-color: white;
-	.lyy-a-p {
-		padding: 22rpx 30rpx;
-		.lyy-a-f {
-			display: flex;
-			align-items: center;
-			.lyy-a-f2 {
-				flex: 1;
-			}
-			.lyy-a-tu {
-				width: 122rpx;
-				height: 122rpx;
-			}
-			.lyy-a-z {
-				padding-left: 30rpx;
-				flex-grow: 1;
-				.money-box {
-					justify-content: flex-start;
-					.lyy-a-tu2 {
-						background: rgba(255, 255, 255, 1);
-						border: 1rpx solid #fc5b62;
-						.lyy-a-tu3 {
-							background-color: #fc5b62;
-							padding: 2px 4px 0px 4px;
-							text-align: center;
-							height: 26rpx;
-							.lyy-a-tu5 {
-								width: 20rpx;
-								height: 20rpx;
-								display: block;
-							}
-						}
-						.lyy-a-tu4 {
-							margin-left: 2px;
-							font-size: 10px;
-							color: #fc5b62;
-							padding: 0px 10rpx;
-							text-align: center;
-						}
-					}
-				}
-				.lyy-a-word {
-					line-height: 56rpx;
-					.lyy-a-word3 {
-						font-size: 28rpx;
-						font-weight: bold;
-						color: #fc5b62;
-					}
-				}
-				.lyy-a-word2 {
-					font-size: 30rpx;
-					color: rgba(29, 32, 35, 1);
-				}
-			}
-		}
-	}
-}
-</style>

+ 0 - 236
pages/product/groupBooking/index.vue

@@ -1,236 +0,0 @@
-<template>
-	<view class="lyy-bg4">
-		<view class="lyy-f-a">
-			<view class="lyy-f-b lyy-flex">
-				<view class="lyy-f-c item" @click="goProduct(items)" v-for="(items, ind) in goodsList" :key="ind">
-					<view class="content">
-						<view><image :src="items.image" class="lyy-f-image" /></view>
-						<view class="lyy-f-word1 lyy-f-jl ellipsis">{{ items.title }}</view>
-						<view class="lyy-flex2">
-							<view class="lyy-flex3">
-								<view class="lyy-f-word2 lyy-f-jl">¥{{ items.price * 1 }}</view>
-							</view>
-							<view class="lyy-a-tu2 lyy-flex2">
-								<view class="lyy-a-tu3"><image src="../../../static/img/img11.png" class="lyy-a-tu5" /></view>
-								<view class="lyy-a-tu4">{{ items.people }}人拼</view>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<uni-load-more :status="loadingType"></uni-load-more>
-	</view>
-</template>
-
-<script>
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import { getCombinationList } from '@/api/product.js';
-export default {
-	components: {
-		uniLoadMore
-	},
-	data() {
-		return {
-			goodsList: [],
-			loadingType: 'more', //加载更多状态
-			limit: 20, //每次加载数据条数
-			page: 1 //当前页数
-		};
-	},
-	onLoad(options) {
-		this.loadData();
-	},
-	//下拉刷新
-	onPullDownRefresh() {
-		this.loadData('refresh');
-	},
-	//监听页面是否滚动到底部加载更多
-	onReachBottom() {
-		this.loadData();
-	},
-	methods: {
-		//加载商品 ,带下拉刷新和上滑加载
-		async loadData(type = 'add', loading) {
-			let obj = this;
-			let data = {
-				page: obj.page,
-				limit: obj.limit
-			};
-			//没有更多直接返回
-			if (type === 'add') {
-				if (obj.loadingType === 'nomore') {
-					return;
-				}
-				obj.loadingType = 'loading';
-			} else {
-				obj.loadingType = 'more';
-			}
-
-			// 加载商品信息
-			getCombinationList(data)
-				.then(e => {
-					if (type === 'refresh') {
-						// 清空数组
-						obj.goodsList = [];
-					}
-					obj.goodsList = obj.goodsList.concat(e.data);
-					//判断是否还有下一页,有是more  没有是nomore
-					if (obj.limit == e.data.length) {
-						obj.page++;
-						obj.loadingType = 'more';
-					} else {
-						obj.loadingType = 'nomore';
-					}
-					if (type === 'refresh') {
-						if (loading == 1) {
-							uni.hideLoading();
-						} else {
-							uni.stopPullDownRefresh();
-						}
-					}
-				})
-				.catch();
-		},
-		goProduct(e) {
-			uni.navigateTo({
-				url: '/pages/product/groupBooking/productGroup?id=' + e.id
-			});
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	height: 100%;
-}
-// 拼团列表
-.lyy-f-a {
-	margin: 0px 15px;
-
-	.lyy-flex {
-		/* 内部模块1*/
-		display: flex;
-		justify-content: space-between;
-	}
-	.lyy-f-b {
-		flex-wrap: wrap;
-		.lyy-f-c {
-			flex: 0 0 50%;
-			/* width: 50%; */
-			margin: 10px 0px 0px 0px;
-		}
-
-		.item:nth-child(2n + 1) .content {
-			margin: 0px 7.5px 0px 0px;
-			border-radius: 10px;
-		}
-	}
-
-	.lyy-f-b .content {
-		background-color: white;
-		.lyy-f-image {
-			width: 100%;
-			height: 340rpx;
-			border-radius: 10rpx 10rpx 0rpx 0rpx;
-		}
-		.ellipsis {
-			width: 165px;
-			white-space: nowrap;
-			overflow: hidden;
-			text-overflow: ellipsis;
-		}
-		.lyy-f-jl {
-			padding: 5px 7px;
-		}
-		.lyy-f-word1 {
-			font-size: 12px;
-			color: rgba(50, 50, 50, 1);
-			line-height: 20px;
-			width: 300rpx;
-			white-space: nowrap;
-			overflow: hidden;
-			text-overflow: ellipsis;
-		}
-	}
-
-	.item:nth-child(2n) .content {
-		margin: 0px 0 0px 7.5px;
-		border-radius: 10px;
-	}
-
-	.lyy-f-word3 {
-		font-size: 12px;
-		text-decoration: line-through;
-		color: rgba(139, 139, 139, 1);
-	}
-
-	.lyy-f-word5 {
-		font-size: 20rpx;
-		color: rgba(153, 153, 153, 1);
-		margin: 20rpx 0px 0px 0px;
-	}
-
-	.lyy-f-word4 {
-		height: 26px;
-		background: #6fb22f;
-		color: white;
-		text-align: center;
-	}
-
-	.lyy-f-d {
-		height: 24rpx;
-		border: 1px solid rgba(252, 91, 98, 1);
-		border-radius: 3px;
-		font-size: 20rpx;
-		text-align: center;
-		width: 50rpx;
-		color: rgba(252, 91, 98, 1);
-		margin: 23rpx 0rpx 0rpx 0rpx;
-		line-height: 24rpx;
-	}
-
-	.lyy-flex2 {
-		display: flex;
-		padding-right: 10rpx;
-		align-items: center;
-		.lyy-flex3 {
-			flex: 1;
-			.lyy-f-word2 {
-				font-size: 14px;
-				color: rgba(241, 13, 59, 1);
-			}
-		}
-		&.lyy-a-tu2 {
-			height: 34rpx;
-			background: rgba(255, 255, 255, 1);
-			border: 1px solid #fc5b62;
-			border-radius: 2px;
-			margin: 10rpx 0rpx;
-
-			.lyy-a-tu3 {
-				height: 30rpx;
-				background-color: #fc5b62;
-				padding: 0px 6px;
-				text-align: center;
-				.lyy-a-tu5 {
-					width: 20rpx;
-					height: 20rpx;
-					margin-top: 6rpx;
-					display: block;
-				}
-			}
-
-			.lyy-a-tu4 {
-				margin-left: 4rpx;
-				font-size: 24rpx;
-				line-height: 30rpx;
-				color: #fc5b62;
-				padding: 0px 10rpx;
-				text-align: center;
-			}
-		}
-	}
-}
-</style>

+ 0 - 75
pages/product/groupBooking/inviteImg.vue

@@ -1,75 +0,0 @@
-<template>
-	<view class="box">
-		<image class="inviteImg" :src="image" ></image>
-		<view class="lyy-b-but">长按图片下载</view>
-		<!-- <view class="lyy-b-but" @click="domImg">点击下载图片</view> -->
-	</view>
-</template>
-
-<script>
-	import { getCombinationPoster } from '@/api/product.js';
-	import { mapState } from 'vuex';
-	export default {
-		data() {
-			return {
-				image:'',//海报
-				ptId:'',//拼团id
-			}
-		},
-		computed: {
-			...mapState(['baseURL','urlFile'])
-		},
-		onLoad(option) {
-			// 保存拼团id
-			this.ptId = option.id;
-			// 保存团长id
-			this.spread = option.spread;
-			// 加载分享图
-			this.getCombinationPoster();
-		},
-		methods: {
-			// 加载海报
-			getCombinationPoster() {
-				let obj = this;
-				getCombinationPoster({
-					id:obj.ptId,
-					// #ifdef H5|APP-PLUS
-					url:obj.baseURL+obj.urlFile+'/#/pages/product/groupBooking/detail?id='+obj.ptId+'&spread='+obj.spread,
-					from:'wechat',//来源wechat公众号
-					// #endif
-					// #ifdef MP
-					from:'routine',//来源routine小程序
-					url:'/pages/product/groupBooking/detail?id='+obj.ptId
-					// #endif
-				}).then((e) => {
-					obj.image = e.data.url;
-				}).catch((e) => {
-					console.log(e);
-				})
-			}
-		},
-	}
-</script>
-
-<style lang="scss">
-	page{
-		background-color: #FFFFFF;
-		height: 100%;
-	}
-	.box{
-		.inviteImg{
-			width: 750rpx;
-			height: 1200rpx;
-		}
-	}
-	.lyy-b-but {
-		height: 80rpx;
-		background: #fc5b62;
-		border-radius: 100rpx;
-		text-align: center;
-		color: white;
-		line-height: 80rpx;
-		font-size: 32rpx;
-		margin:  0 100rpx;
-	}
-</style>

+ 0 - 2094
pages/product/groupBooking/productCollage.vue

@@ -1,2094 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 轮播图 -->
-		<view class="carousel">
-			<swiper indicator-dots :circular="true" duration="400">
-				<swiper-item class="swiper-item" v-for="(item, index) in imgList" :key="index">
-					<view class="image-wrapper"><image :src="item" class="loaded" mode="scaleToFill"></image></view>
-				</swiper-item>
-			</swiper>
-		</view>
-		<!-- 介绍部分 -->
-		<view class="introduce-section">
-			<view class="introduce-price flex1">
-				<view class="price">
-					<view class="price-left">
-						<view class="left-1">¥</view>
-						<view class="left-2">{{goodsObjact.price}}</view>
-					</view>
-					<!-- <view class="price-right" >单买价 ¥{{goodsObjact.product_price}}</view> -->
-				</view>
-				<view class="people flex_item">
-					<view class="people_number">{{goodsObjact.people}}人拼</view>
-				</view>
-			</view>
-			<view class="title" >{{goodsObjact.title}}</view>
-			<view class="bot-row flex1">
-				<view>快递:¥ {{goodsObjact.postage}}</view>
-				<view>剩余:{{ goodsObjact.allStock}}件</view>
-				<view>销量:{{ goodsObjact.sales }}</view>
-			</view>
-		</view>
-		<!-- <view class="c-list">
-			<view class="c-row b-b"><text class="tit">拼团玩法</text></view>
-			<view class="c-row b-b">
-				<view class="c-text">
-					①开团/参团
-					<text>——</text>
-					②邀请好友
-					<text>——</text>
-					③满员发货
-				</view>
-			</view>
-			<view class="c-row b-b" @click="toggleSpec()" v-if="goodsType == 2">
-				<text class="tit">购买数量</text>
-				<view class="con">
-					<text class="selected-text">{{ goodsNumber }}</text>
-				</view>
-				<text class="iconfont iconenter"></text>
-			</view>
-		</view> -->
-		<view class="pinklistbox" v-if="pinkTlist.length > 0">
-			<view class="listbox-1 flex1">
-				<view >{{pinkTlist.length}}人在拼单,可直接参与</view>
-				<view class="more flex-center" @click="opens_popup" v-if="more">查看全部
-					<image src="../../../static/img/img39.png"></image>
-				</view>
-			</view>
-			<view class="pinklist">
-				<view v-for="(ls, ind) in showlist" :key="ind" class="flex pinklist_list">
-					<view class="pink_row flex1">
-						<view class="pink_img"><image :src="ls.avatar"></image></view>
-						<view class="pink_name">{{ ls.nickname }}</view>
-					</view>
-					<view class="pink_tpl flex1">
-						<view >
-							<view class="pink_people">
-								还差
-								<text>{{ ls.count}}</text>
-								人拼团
-							</view>
-							<!-- <view class="pink_people">
-								剩余{{ls.time || '00:00:00'}}
-							</view> -->
-						</view>
-						<view class="pint" @click="groupBooking(ls.id)">
-							去拼单
-							<!-- <text class="iconfont iconenter"></text> opens_popups-->
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<!-- 评价 -->
-		<!-- <view class="eva-section" v-if="replyCount > 0" @click="navTo('/pages/product/reply')">
-			<view class="e-header">
-				<text class="tit">评价</text>
-				<text class="number">({{replyCount}})</text>
-				<text class="tip">全部评价</text>
-				<text class="iconfont iconenter"></text>
-			</view>
-			<view class="eva-box">
-				<view class="box-1 flex1">
-					<view class="left flex-start">
-						<image :src="commentList.avatar"></image>
-						<view class="content">
-							<view class="content-name">{{commentList.nickname}}</view>
-							<view class="content-time">{{commentList.add_time}}</view>
-						</view>
-					</view>
-					<view class="right flex-upDown-center">
-						<view><uniRate text="1" size="14" margin="1" :value="commentList.product_score" ></uniRate></view>
-						<text class="red">{{commentList.product_score}}分</text>
-					</view>
-				</view>
-				<view class="box-2">{{commentList.comment}}</view>
-				<view class="box-3">
-					<view v-for="(item,index) in commentList.pics" :key="index" class="box-3-1">
-						<image :src="item"></image>
-					</view>
-				</view>
-			</view>
-		</view> -->
-		<view class="eva-section" v-if="reply.length > 0" @click="navTo('/pages/product/reply?id=' + goodsid)">
-			<view class="e-header">
-				<text class="tit">评价</text>
-				<text>({{ list.replyCount }})</text>
-				<text class="tip">好评率 {{ list.replyChance }}%</text>
-				<text class="iconfont iconenter"></text>
-			</view>
-			<view class="eva-box">
-				<image class="portrait" :src="reply.avatar" mode="aspectFill"></image>
-				<view class="right">
-					<text class="name">{{ reply.nickname }}</text>
-					<text class="con">{{ reply.comment }}</text>
-					<view class="con_box">
-						<view class="con_image" v-for="item in reply.pics"><image :src="item"></image></view>
-					</view>
-					<view class="bot">
-						<text class="attr"></text>
-						<text class="time">{{ reply.add_time }}</text>
-					</view>
-				</view>
-			</view>
-		</view>
-		<!-- 商品详情图 -->
-		<view class="detail-desc">
-			<view class="desc-title flex-center">
-				<view class="one"></view>
-				商品详情
-				<view class="two"></view>
-			</view>
-			<rich-text :nodes="goodsObjact.description"></rich-text>
-		</view>
-		<!-- <view class="detail-desc">
-			<view class="d-header"><text>图文详情</text></view>
-			<rich-text :nodes="goodsObjact.description"></rich-text>
-		</view> -->
-		<!-- 拼团商品 -->
-		<view class="page-bottom" >
-			<!-- <navigator url="/pages/index/index" open-type="switchTab" class="p-b-btn">
-				<text class="iconfont iconhomefill"></text>
-				<text>首页</text>
-			</navigator> -->
-			<!--<view class="botton-1 flex-center">
-				<view class="botton-frame" @click="toFavorite(goodsObjact)">
-					<view class="img-box" v-if="goodsObjact.userCollect == false"><image src="../../static/label/img02.png"></image></view>
-					<view class="img-box" v-if="goodsObjact.userCollect == true"><image src="../../static/label/img08.png"></image></view>
-					<view class="word" :class="{ active: goodsObjact.userCollect }">收藏</view>
-				</view>
-			</view> 
-			<view class="p-b-btn" :class="{ active: goodsObjact.userCollect }" @click="toFavorite(goodsObjact)">
-				<text class="iconfont iconlikefill"></text>
-				<text>收藏</text>
-			</view> -->
-			<view class="action-btn-group">
-				<!-- <button type="primary" class=" action-btn no-border btn-favorites-btn" @click="navTo('/pages/favorites/favorites')">收藏夹</button> -->
-				<!-- <button type="primary" class=" action-btn no-border buy-now-btn" @click="toFavorite(goodsObjact)">{{ goodsObjact.userCollect ? '取消收藏' : '收藏' }}</button> -->
-				<button type="primary" class=" action-btn no-border add-cart-btn" @click="specOPne()">一键开团</button>
-			</view>
-		</view>
-		
-		<!-- 规格-模态层弹窗 -->
-		<view class="popup spec" :class="specClass" @touchmove.stop.prevent="stopPrevent" @click="toggleSpec()">
-			<!-- 遮罩层 -->
-			<view class="mask"></view>
-			<view class="layer attr-content" @click.stop="stopPrevent">
-				<view class="a-t">
-					<image :src="actionImage"></image>
-					<view class="right">
-						<text class="name">{{ goodsObjact.store_name }}</text>
-						<text class="price">¥{{ actionPrice * goodsNumber }}</text>
-						<text class="stock">库存:{{ goodsStore }}件</text>
-						<view class="selected" v-if="specList != ''">
-							已选:
-							<text class="selected-text" v-for="(sItem, sIndex) in specSelected" :key="sIndex">{{ sItem }}</text>
-						</view>
-					</view>
-				</view>
-				<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)"
-						>
-							{{ childItem.attr }}
-						</text>
-					</view>
-				</view>
-				<!-- <view class="attr-list">
-					<text>购买数量</text>
-					<view class="item-list">
-						<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" v-show="buys_show">完成</button>
-				<button class="btn" style="background-color: #999999;" v-show="buys_shows">售罄</button>
-			</view>
-		</view>
-		
-		<!-- 查看全部拼单 -->
-		<uni-popup ref="popup" type="center" >
-			<view class="popup-row">
-				<view class="popup-1">
-					正在拼单
-				</view>
-				
-				<scroll-view scroll-y="true" class="popcont-box">
-					<view class="popup-2">
-						<view v-for="(item,index) in pinkTlist" :key="index" class="popup-2-row flex1">
-							<view class="row-1 flex1">
-								<view class="one">
-									<image :src="item.avatar"></image>
-									<view class="two">
-										<view class="two-1">{{item.nickname }}</view>
-										<!-- <view>剩余 {{item.time}}</view> -->
-									</view>
-								</view>
-								
-								<text class="two-1-1">还差{{item.count}}人</text>
-							</view>
-							<view class="row-2" @click="groupBooking(item.id)">
-								去拼单
-							</view>
-						</view>
-					</view>
-				</scroll-view>
-				
-			</view>
-			<view class="delete" @click="closes_popup"><image src="../../../static/img/deletes.png"></image></view>
-		</uni-popup>
-		
-		<!-- <uni-popup ref="popups" type="center" >
-			<view class="popup-rows" >
-				<view class="rows-1">参与李丹的拼单</view>
-				<view class="rows-2">仅剩<text class="red">1</text>个名额,23:41:55后结束</view>
-				<view class="rows-3 flex1">
-					<view class="rows-3-group" v-for="(item,index) in information" >
-						<view class="group-1">
-							<image src="../../static/delete/timg.jpg"></image>
-							<view class="group-1-1" >团长</view>
-						</view>
-						<view class="group-2">婷930sadasa</view>
-					</view>
-					<view class="rows-3-group" v-for="i in (5 - information.length) " >
-						<view class="group-1">
-							<image src="../../static/label/blank.png"></image>
-						</view>
-						<view class="group-2">带邀请</view>
-					</view>
-				</view>
-				<view class="rows-4" @click="navTo('/pages/order/createOrder')">参与拼单</view>
-			</view>
-			<view class="delete" @click="groupBooking()"><image src="../../static/label/deletes.png"></image></view>
-		</uni-popup>
-		 -->
-		
-		
-		<!-- #ifdef H5 -->
-        <!-- <view class="btn_fenxiang" @click="open">分享</view> -->
-        <view class="mask" v-show="show"><image @click="onTap" src="https://mmz.liuniu946.com/statics/img/shareimg.png"></image></view>
-        <!-- #endif -->  
-		<!-- #ifdef MP-WEIXIN -->
-		<button  open-type="share" class="shareDate">分享</button>
-		<!-- #endif -->
-	</view>
-</template>
-<script>
-import { mapState } from 'vuex';
-
-import { uniFav } from '@/components/uni-fav/uni-fav.vue';
-import { groupGoods, cartAdd, collectAdd, collectDel, productDetail } from '@/api/product.js';
-import { saveUrl } from '@/utils/loginUtils.js';
-import uniNoticeBar from '@/components/uni-notice-bar/uni-notice-bar.vue';
-import uniRate from '@/components/uni-rate/uni-rate.vue';
-import uniPopup from '@/components/uni-popup/uni-popup.vue'
-import uniPopupMessage from '@/components/uni-popup/uni-popup-message.vue'
-import uniPopupDialog from '@/components/uni-popup/uni-popup-dialog.vue'
-import uniNumberBox from '@/components/uni-number-box.vue';
-// #ifdef H5
-import { weixindata } from '@/utils/wxAuthorized';
-// #endif
-export default {
-	components: {
-		uniNumberBox,
-		uniFav,
-		uniNoticeBar,
-		uniRate,
-		uniPopup,
-		uniPopupMessage,
-		uniPopupDialog
-	},
-	// #ifdef MP
-	onShareAppMessage: function(res) {
-		if (res.from === 'button') {
-			// 来自页面内分享按钮
-			let pages = getCurrentPages();
-			// 获取当前页面
-			let page = pages[pages.length - 1];
-			let path = '/' + page.route + '?';
-			// 保存传值
-			for (let i in page.options) {
-				path += i + '=' + page.options[i] + '&';
-			}
-			// 保存邀请人
-			path += 'spread=' + this.userInfo.uid;
-			let data = {
-				path: path,
-				imageUrl: this.goodsObjact.image,
-				title: this.goodsObjact.title
-			};
-			return data;
-		}
-	},
-	// #endif
-	data() {
-		return {
-			imgList: [], //商品轮播图
-			goodsObjact: {}, //保存商品数据
-			pinkTlist:{
-				length:5
-			}, //进行中的拼团的信息
-			showlist: [],//进行中的拼团前两组的信息
-			replyCount:0,//评价总数
-			commentList:{},
-			specList: [],
-			ishow:'',
-			information:[],
-			popuplist:[],
-			show: false,
-			showModal: true, //拼单遮罩层
-			more: true, //查看更多按钮
-			autoplay: true,
-			vertical: true,
-			interval: 3000,
-			duration: 500,
-			buys_show: true,
-			buys_shows: false,
-			circular: true,
-			type: 1, //默认支付方式add为
-			specClass: 'none', //显示隐藏弹窗
-			actionImage: '', //商品图片
-			goodsid: '', //商品id
-			actionPrice: '', //商品价格
-			// specClass: 'none', //显示隐藏弹窗
-			shareList: [], //分享列表
-			goodsNumberMax: 0, //商品库存
-			//图片循环
-			people: '', //拼团人数
-			goodsNumber: 1, //购买数量(开团数量为1,整团数量为1*参团人数)
-			carnumber: '', //整团购买商品数量
-			reply: {}, //商品数据
-			list: '', //详情数据
-			goodsType: 1, //商品类型1秒杀商品0为普通商品2为拼团商品3为新人礼包
-			count: 0, //点击查看更多
-			showmore: true,
-			pinkTlistnum: '',
-			spread: '',
-			chooseGoodsNumber: 1, //选择商品的数量
-			specSelected: [], //选中的分类
-			goodsStore: 0, //选中库存
-			uniqueId: '',
-			productValue: '',
-			isCollect: '', //是否被收藏
-			maskshow: false, //弹窗
-			posturl: '',
-			option: '', //保存传值
-			opt: '', //保存小程序传值
-			uniquetype:false,//判断是否是从拼团详情界面跳回的 false 不是  true 是 
-			shop:'',//返回的拼团订单id
-			allStock:0//商品总库存
-		};
-	},
-	onLoad(option) {
-		this.option = option;
-		if (option.scene) {
-			if (typeof option.scene == 'string') {
-				let scene = ('{' + option.scene + '}')
-					.replace('qr%26', '')
-					.replace(/%3D/g, ':')
-					.replace(/%26/g, ',')
-					.replace('pid', '"pid"')
-					.replace('type', '"type"')
-					.replace('id', '"id"');
-				let opt = JSON.parse(scene);
-				this.opt = opt;
-				// 保存拼团订单id
-				this.goodsid = opt.id;
-				if (opt.pid) {
-					// 存储邀请人
-					this.spread = opt.pid;
-					uni.setStorageSync('spread', opt.pid);
-				}
-				if (opt.type) {
-					this.goodsType = opt.type;
-				}
-			}
-		} else {
-			//保存商品id
-			this.goodsid = option.id;
-			//判断有无人邀请
-			if (option.spread) {
-				// 存储邀请人
-				this.spread = option.spread;
-				uni.setStorageSync('spread', option.spread);
-			}
-			//判断是否是普通商品
-			if (option.type) {
-				console.log(option.type);
-				this.goodsType = option.type;
-			}
-			
-		}
-		//判断是否是从拼团详情界面跳回的
-		if (option.uniquetype) {
-			console.log(option.uniquetype);
-			this.uniquetype = option.uniquetype;
-		}
-		//接受返回的拼团订单id
-		if (option.shop) {
-			console.log(option.uniquetype);
-			this.shop = option.shop;
-		}
-		// 保存当前页面
-		saveUrl();
-	},
-	onShow() {
-		let obj = this;
-		groupGoods({}, obj.goodsid).then(function({ data }) {
-			console.log(data,112)
-			let goods = data.storeInfo;
-			obj.imgList = goods.images;//拼团轮播图
-			obj.goodsObjact = goods;//拼团拼团产品信息
-			// 保存商品总库存
-			obj.allStock = 0;
-			for(let key in 	data.productValue){
-				obj.allStock +=data.productValue[key].stock
-			}
-			obj.pinkTlist = data.pink;//进行中的拼团的信息
-			obj.showlist = obj.pinkTlist.slice(0, 2);//截取拼团信息的前两组
-			obj.replyCount = data.replyCount;//评价总数
-			//obj.commentList = data.reply[0];//保存评价里的第一条
-			obj.specList = data.productAttr;//保存产品属性
-			//商品详情图超出屏幕问题
-			if (obj.goodsObjact.description != null) {
-				obj.goodsObjact.description = obj.goodsObjact.description.replace(/<img/g, '<img class="rich-img"').replace(/<p>\S*<img/g, '<p class="pHeight"><img');
-			}
-			
-			if(obj.pinkTlist.length<=2){
-				obj.more = false;
-			};
-			if (data.reply) {
-				obj.reply = data.reply;
-			}
-			obj.list = data; //详情数据
-			obj.productValue = data.productValue; //保存属性值
-			// 保存数据修改数组
-			// console.log(obj.pinkTlist,55)
-			obj.people = goods.people; //拼团人数
-			obj.productId = goods.product_id;
-			
-			// 保存默认选中的对象
-			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.actionPrice = obj.productValue[str].price;
-			obj.goodsNumberMax = obj.productValue[str].stock;
-			obj.actionImage = obj.productValue[str].image;
-			obj.uniqueId = obj.productValue[str].unique;
-			obj.goodsStore = obj.productValue[str].quota;
-			console.log(obj.goodsStore,9000)
-			// #ifdef H5
-			obj.shareDate();
-			// #endif
-			// obj.clickMore();
-		});
-		// combination({}, obj.goodsid).then()
-	},
-	computed: {
-		...mapState(['userInfo', 'baseURL'])
-	},
-	methods: {
-		//选择规格
-		selectSpec(item, arr, ind) {
-			console.log(item,arr,ind,';')
-			arr.attr_value.forEach(function(e) {
-				e.check = false;
-			});
-			item.check = true;
-			let obj = this;
-			obj.specSelected[ind] = item.attr;
-			let str = obj.specSelected.join(',');
-			console.log(obj.productValue[str],116)
-			if (obj.productValue[str]) {
-				obj.buys_show = true;
-				obj.buys_shows = false;
-				obj.actionPrice = obj.productValue[str].price;
-				obj.goodsNumberMax = obj.productValue[str].stock;
-				obj.actionImage = obj.productValue[str].image;
-				obj.uniqueId = obj.productValue[str].unique;
-				if (obj.goodsType == 2) {
-					obj.goodsStore = obj.productValue[str].quota;
-				} else {
-					obj.goodsStore = obj.productValue[str].product_stock;
-				}
-			} else {
-				(obj.buys_show = false), (obj.buys_shows = true);
-			}
-		},
-		numberChange(e) {
-			//购买数量
-			this.chooseGoodsNumber = e.number;
-			// console.log(e.number)
-			// console.log(this.chooseGoodsNumber,'chooseGoodsNumber')
-		},
-		opens_popup(){
-			this.$refs.popup.open()
-		},
-		closes_popup(){
-			this.$refs.popup.close()
-		},
-		opens_popups(){
-			this.$refs.popup.close()
-			this.$refs.popups.open()
-		},
-		closes_popups(){
-			this.$refs.popups.close()
-		},
-		// 处理数组结构
-		dataUpReturn(data) {
-			//保存处理完毕数据
-			let arr = [];
-			// 保存临时数据
-			let arr1 = [];
-			// 设置每个小数组可以存放的数量
-			let num = 2;
-			if (data.length > 1) {
-				for (let i = 0; i < data.length; i++) {
-					// 保存数据到临时数组
-					arr1.push(data[i]);
-					if ((i + 1) % num === 0) {
-						console.log(arr1, 2);
-						// 添加数据到返回数组,用map方法解决物理指针问题导致的数据对象改变问题
-						arr.push(
-							arr1.map(e => {
-								return e;
-							})
-						);
-						// 清空临时数组重新开始计算
-						arr1 = [];
-					}
-				}
-			}
-			// 判断是否为奇数
-			if (data.length % num === 1) {
-				arr.push([data[data.length - 1]]);
-			}
-			return arr;
-		},
-		specOPne() {
-			//显示弹出框
-			// 是否有开团用户
-			// if (this.pinkTlist.length > 0) {
-			// 	this.groupBooking(this.pinkTlist[0][0].id);
-			// } else {
-			// }
-			this.specClass = 'show';
-		},
-		
-		//去拼团
-		groupBooking(item) {
-			uni.navigateTo({
-				url: '/pages/product/details?pink_id=' + item
-			});
-		},
-		//拼团列表数据分页
-		setPinkList() {
-			let obj = this;
-			let showlist = new Array();
-			for (let i = 0; i < obj.pinkTlist.length; i++) {
-				if (i >= obj.count) {
-					break;
-				}
-				showlist[i] = obj.pinkTlist[i];
-			}
-			obj.showlist = showlist;
-		},
-		//查看更多
-		// clickMore() {
-		// 	let obj = this;
-		// 	obj.count += 2;
-		// 	obj.setPinkList();
-		// 	if (obj.count >= obj.pinkTlist.length) {
-		// 		obj.showmore = false; //当次数大于拼团数据,查看更多隐藏
-		// 	} else {
-		// 		obj.showmore = true; //当次数大于拼团数据,查看更多隐藏
-		// 	}
-		// },
-		clickMore() {
-			this.showlist = this.pinkTlist;
-			console.log(this.showlist, 22);
-			this.more = false;
-		},
-		//规格弹窗开关
-		toggleSpec(str) {
-			if (this.specClass === 'show') {
-				this.specClass = 'hide';
-				setTimeout(() => {
-					this.specClass = 'none';
-				}, 250);
-			} else if (this.specClass === 'none') {
-				this.specClass = 'show';
-			}
-			// 判断是否为数字
-			if (typeof str == 'number') {
-				// 保存当前购买类型
-				this.type = str;
-			}
-		},
-		//显示弹窗
-		open() {
-			this.show = true;
-		},
-		//随意点击隐藏弹窗
-		onTap() {
-			if (!this.open) return;
-			this.close();
-		},
-		close() {
-			this.show = false;
-		},
-		//收藏
-		toFavorite(item) {
-			let obj = this;
-
-			item.userCollect = !item.userCollect;
-			// 判断是否已经收藏
-			if (!item.userCollect) {
-				collectDel({
-					id: item.id,
-					category: 'pink'
-				}).then(function(e) {
-					obj.$api.msg('成功取消收藏!');
-				});
-			} else {
-				collectAdd({
-					id: item.id,
-					category: 'pink'
-				}).then(function(e) {
-					obj.$api.msg('成功加入收藏!');
-				});
-			}
-		},
-		
-		// #ifdef H5
-		shareDate() {
-			let obj = this;
-			let url = window.location.href.replace(/[\?,&]{0,1}from=singlemessage/g, '') + '&spread=' + this.userInfo.uid;
-			let bool = uni.getStorageSync('weichatBrowser') || '';
-			// 判断是否微信浏览器
-			if (bool) {
-				let data;
-				if (obj.goodsType == 0) {
-					data = {
-						link: url, // 分享链接
-						imgUrl: obj.goodsObjact.image, // 分享图标
-						desc: obj.goodsObjact.store_info,
-						title: obj.goodsObjact.store_name,
-						success: function() {}
-					};
-				}
-				if (obj.goodsType == 2) {
-					data = {
-						link: url, // 分享链接
-						imgUrl: obj.goodsObjact.image, // 分享图标
-						title: obj.goodsObjact.title,
-						desc: obj.goodsObjact.info,
-						success: function() {}
-					};
-				}
-				weixindata(data);
-			}
-		},
-		// #endif
-		/**
-		 * 统一跳转接口,拦截未登录路由
-		 * navigator标签现在默认没有转场动画,所以用view
-		 */
-		navTo(url) {
-			uni.navigateTo({
-				url
-			});
-		},
-		// 立即购买
-		buy(item) {
-			let obj = this;
-			if(obj.uniquetype == false){
-				// 创建传值对象
-				console.log(obj.list.productValue);
-				console.log(obj.list);
-				let data = {
-					// cartNum: obj.goodsNumber, //商品数量
-					cartNum: obj.chooseGoodsNumber, //商品数量
-					uniqueId: obj.uniqueId, //商品标签
-					new: 1, //商品是否新增加到购物车1为不加入0为加入
-					mer_id: obj.shopId,
-					combinationId: obj.goodsid, //拼团编号
-					productId: obj.goodsObjact.product_id, //商品编号
-				};
-				this.specClass = 'none';
-				cartAdd(data)
-					.then(function(e) {
-						let da = e.data;
-						console.log(e);
-						if (obj.type == 1) {
-							// 跳转到支付页
-							uni.navigateTo({
-								url: '/pages/order/createOrder?id=' + da.cartId + '&goodsType=' + obj.goodsType
-							});
-						}
-						if (obj.type == 2) {
-							obj.$api.msg('成功加入购物车');
-							obj.toggleSpec();
-						}
-					})
-					.catch(e => {
-						console.log(e);
-					}); 
-			}else{
-				console.log(obj.uniquetype,'obj.uniquetype')
-				uni.navigateTo({
-					url: '/pages/product/details?pink_id=' + obj.shop + '&unique=' + obj.uniqueId + '&uniquetype=' + obj.uniquetype
-				});
-			}
-			
-		},
-		// 阻止触发上级事件
-		stopPrevent() {}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	background: $page-color-base;
-	padding-bottom: 160rpx;
-	line-height: 1;
-}
-
-// 处理图片间白色间距问题
-/deep/ .pHeight {
-	line-height: 0;
-}
-
-/deep/ div,
-/deep/ table {
-	max-width: 100% !important;
-}
-
-/* #ifdef MP */
-.rich-img {
-	width: 100% !important;
-	height: auto;
-}
-// 处理图片间白色间距问题
-.pHeight {
-	line-height: 0;
-}
-/* #endif */
-
-.popup-row{
-	width:580rpx;
-	background:#ffffff;
-	border-radius:20rpx;
-	.popup-1{
-		padding: 35rpx 0;
-		font-size:$font-lg;
-		font-weight:bold;
-		color:#333333;
-		text-align: center;
-		border-bottom: 1px solid #EEEEEE;
-	}
-	.popcont-box {
-		height: 600rpx;
-	}
-	.popup-2{
-		padding: 0 25rpx;
-		.popup-2-row{
-			padding: 25rpx 0;
-			border-bottom: 1px solid #EEEEEE;
-			&:nth-last-child(1){
-				border-bottom:none;
-			}
-			.row-1{
-				width: 70%;
-				.one{
-					display: flex;
-					align-items: center;
-					image{
-						width: 75rpx;
-						height: 75rpx;
-						border-radius: 50%;
-					}
-				}
-				.two{
-					margin-left: 20rpx;
-					font-size:28rpx;
-					font-weight:500;
-					color:#333333;
-					.two-1{
-						// margin-bottom: 20rpx;
-						font-size:$font-base;
-						font-weight:500;
-						max-width: 160rpx;
-						overflow: hidden;
-						text-overflow: ellipsis;
-						white-space: nowrap;
-					}
-				}
-				.two-1-1{
-					font-size:$font-base;
-					font-weight:500;
-					color:#666666;
-				}
-			}
-			.row-2{
-				padding: 20rpx 30rpx;
-				background:$base-color;
-				border-radius:10rpx;
-				font-size:28rpx;
-				font-weight:500;
-				color:#FFFFFF;
-			}
-		}
-	}
-}
-.popup-rows{
-	width:580rpx;
-	background:#ffffff;
-	border-radius:20rpx;
-	text-align: center;
-	padding-bottom: 35rpx;
-	.rows-1{
-		font-size:$font-lg;
-		font-weight:bold;
-		color:#333333;
-		padding-top: 60rpx;
-	}
-	.rows-2{
-		margin-top: 25rpx;
-		font-size:28rpx;
-		font-weight:500;
-		color:#333333;
-	}
-	.rows-3{
-		margin-top: 35rpx;
-		padding: 0 50rpx;
-		
-		.rows-3-group {
-			display: flex;
-			align-items: center;
-			flex-direction: column;
-			.group-1{
-				display: flex;
-				align-items: center;
-				flex-direction: column;
-			}
-			.group-2{
-				flex: 1;
-				font-size:$font-sm - 4rpx;
-				font-weight:500;
-				color:#666666;
-				margin-top: 10rpx;
-				width:55rpx;
-				overflow:hidden;
-				white-space:nowrap;
-				text-overflow:ellipsis;
-			}
-			image{
-				width: 80rpx;
-				height: 80rpx;
-				border-radius: 50%;
-			}
-			.group-1-1{
-				z-index: 10;
-				margin-top: -25rpx;
-				width:70rpx;
-				height:25rpx;
-				background:#e64048;
-				border-radius:12rpx;
-				font-size:$font-sm - 4rpx;
-				font-weight:500;
-				color:#ffffff;
-				line-height: 25rpx;
-			}
-		}
-	}
-	.rows-4{
-		margin: 40rpx 45rpx 0rpx 45rpx;
-		padding: 25rpx 0;
-		background:$base-color;
-		border-radius:10rpx;
-		
-		font-size:$font-lg;
-		font-weight:500;
-		color:#ffffff;
-	}
-}
-
-.delete{
-	width: 60rpx;
-	height: 60rpx;
-	position: absolute;
-	right: -30rpx;
-	top:-30rpx;
-	image{
-		width: 60rpx;
-		height: 60rpx;
-	}
-}
-
-/* 评价 */
-.eva-section {
-	padding: 20rpx 30rpx;
-	background: #fff;
-	margin-top: 20rpx;
-	.e-header {
-		display: flex;
-		align-items: center;
-		font-size:28rpx;
-		color: #333333;
-		.tit {
-			margin-right: 15rpx;
-		}
-		.tip {
-			flex: 1;
-			font-size:24rpx;
-			color: #999999;
-			text-align: right;
-		}
-		.iconenter {
-			width: 24rpx;
-			height: 24rpx;
-			margin-left: 10rpx;
-		}
-	}
-	.eva-box {
-		padding-top: 30rpx;
-		.box-1{
-			.left{
-				image{
-					width: 80rpx;
-					height: 80rpx;
-					border-radius: 50%;
-				}
-				.content{
-					margin-left: 15rpx;
-					.content-name{
-						font-size:24rpx;
-						font-weight:500;
-						color:#333333;
-					}
-					.content-time{
-						font-size:20rpx;
-						font-weight:500;
-						color:#999999;
-					}
-				}
-			}
-			.right{
-				.image{
-					width: 25rpx;
-					height: 25rpx;
-					margin-left: 10rpx;
-				}
-				.red{
-					margin-left: 15rpx;
-					font-size:24rpx;
-					font-weight:500;
-					color:#fd5b23;
-				}
-				.con_image{
-					
-				}
-			}
-		}
-		.box-2{
-			padding: 30rpx 0 15rpx 0;
-			font-size:28rpx;
-			font-weight:500;
-			color:#666666;
-		}
-		.box-3{
-			.box-3-1{
-				display: inline;
-				width: 150rpx;
-				height: 150rpx;
-				image{
-					margin-right: 20rpx;
-					width: 150rpx;
-					height: 150rpx;
-				}
-			}
-			
-		}
-	}
-}
-
-/* .list-row {
-	position: fixed;
-	top: 450rpx;
-	left: 86rpx;
-
-	.row {
-		position: relative;
-		width: 578rpx;
-		height: 700rpx;
-		background: #ffffff;
-		border-radius: 20rpx;
-
-		.row-1 {
-			flex: 1;
-			text-align: center;
-			padding: 26rpx 223rpx;
-			border-bottom: 2rpx solid #eeeeee;
-
-			.row-1-1 {
-				font-size: $font-lg;
-				font-weight: bold;
-				color: #333333;
-			}
-		}
-
-		.row-2 {
-			padding: 0 23rpx;
-
-			.pinklist_list {
-				padding: 20rpx 0;
-				display: flex;
-				justify-content: space-around;
-				align-items: center;
-				border-bottom: 1px solid #eeeeee;
-
-				.left {
-					width: 74rpx;
-					height: 74rpx;
-					background-color: #e3e3e3;
-					border-radius: 50%;
-				}
-
-				.center {
-					display: flex;
-					flex-wrap: wrap;
-					margin-left: 17rpx;
-
-					.center-1 {
-						display: flex;
-						align-items: center;
-						letter-spacing: 3rpx;
-
-						.center-1-1 {
-							font-size: $font-base;
-							font-weight: 500;
-							color: #333333;
-						}
-
-						.center-1-2 {
-							font-size: $font-base - 2rpx;
-							font-weight: 500;
-							color: #333333;
-						}
-					}
-				}
-
-				.right {
-					width: 134rpx;
-					height: 59rpx;
-					background: $base-color;
-					border-radius: 10rpx;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-
-					.right-word {
-						font-size: 26rpx;
-						font-weight: 500;
-						color: #ffffff;
-					}
-				}
-			}
-		}
-
-		.row-3 {
-			width: 56rpx;
-			height: 56rpx;
-			position: absolute;
-			top: -28rpx;
-			right: -28rpx;
-		}
-	}
-} */
-
-.iconenter {
-	font-size: $font-base + 2rpx;
-	color: #888;
-}
-
-
-.carousel {
-	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;
-		overflow: hidden;
-
-		image {
-			width: 100%;
-			height: 100%;
-		}
-	}
-}
-
-/* 标题简介 */
-.introduce-section {
-	background: #fff;
-	padding: 15rpx 25rpx 30rpx 25rpx;
-	.introduce-price{
-		width: 100%;
-		overflow: hidden;
-		.price{
-			display: flex;
-			align-items: flex-end;
-			justify-content: flex-start;
-			
-			.price-left{
-				display: flex;
-				align-items: flex-end;
-				color:#fc4141;
-				margin-right: 20rpx;
-				.left-1{
-					margin-right: 5rpx;
-					font-size:28rpx;
-				}
-				.left-2{
-					font-size:$font-lg + 16rpx;
-					line-height: 38rpx;
-				}
-			}
-			.price-right{
-				font-size:28rpx;
-				color:#333333;
-				opacity:0.61;
-			}
-		}
-		.people{
-			width: 140rpx;
-			height: 45rpx;
-			background: url(../../../static/img/img43.png) no-repeat center;
-			background-size: 100%;
-			.people_number{
-				margin-left: 60rpx;
-				font-size:20rpx;
-				font-weight:500;
-				color:rgba(250,39,64,1);
-				line-height: 40rpx;
-			}
-		}
-		/* .share{
-			image{
-				width: 30rpx;
-				height: 35rpx;
-			}
-		} */
-	}
-	.title {
-		margin-top: 30rpx;
-		font-size: 32rpx;
-		color: #1D2023;
-		line-height: 40rpx;
-		font-weight: 600;
-	}
-	.bot-row{
-		margin-top: 20rpx;
-		overflow: hidden;
-		font-size:24rpx;
-		font-weight:500;
-		color:#999999;
-	}
-}
-
-
-/* 标题简介 */
-/* .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: $uni-color-primary;
-	}
-
-	.price {
-		font-size: $font-lg + 2rpx;
-		color: #666666 !important;
-	}
-
-	.vip_price {
-		font-size: $font-lg + 2rpx;
-		color: $uni-color-primary;
-		padding-left: 15rpx;
-	}
-
-	.m-price {
-		margin: 0 12rpx;
-		color: $font-color-light;
-		text-decoration: line-through;
-	}
-
-	.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;
-		}
-	}
-
-	.people {
-		border-radius: 10rpx;
-		height: 35rpx !important;
-		border: 2rpx solid #db1935;
-		height: 40rpx;
-
-		.people_image {
-			background-color: #db1935;
-			width: 40rpx;
-			height: 35rpx;
-			text-align: center;
-			border-top-left-radius: 20%;
-			border-bottom-left-radius: 20%;
-
-			image {
-				width: 25rpx;
-				height: 20rpx;
-				// margin-bottom: 5rpx;
-			}
-		}
-
-		.people_number {
-			padding: 5rpx 10rpx;
-		}
-	}
-} */
-
-/* 分享 */
-.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;
-		}
-	}
-
-	.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;
-		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 {
-	font-size: $font-sm + 2rpx;
-	color: #303133;
-	margin-top: 20rpx;
-	background: #fff;
-
-	.c-row {
-		display: flex;
-		align-items: center;
-		padding: 20rpx 30rpx;
-		position: relative;
-
-		.c-text {
-			text {
-				padding-left: 25rpx;
-				padding-right: 25rpx;
-			}
-		}
-	}
-
-	.tit {
-		width: 140rpx;
-	}
-
-	.con {
-		flex: 1;
-		color: $font-color-dark;
-
-		.selected-text {
-			margin-right: 10rpx;
-		}
-	}
-
-	.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;
-	}
-}
-
-/* 评价 */
-/* .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;
-			color: $font-color-dark;
-			margin-right: 4rpx;
-		}
-
-		.tip {
-			flex: 1;
-			text-align: right;
-		}
-
-		.iconenter {
-			margin-left: 10rpx;
-		}
-	}
-}
- 
-.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;
-		}
-
-		.bot {
-			display: flex;
-			justify-content: space-between;
-			font-size: $font-sm;
-			color: $font-color-light;
-		}
-	}
-}
-
-.con_image {
-	width: 130rpx;
-	height: 130rpx;
-	display: inline-block;
-	padding: 15rpx;
-
-	image {
-		width: 100%;
-		height: 100%;
-	}
-}*/
-
-/*  详情 */
-.detail-desc {
-	.desc-title{
-		font-size:28rpx;
-		font-weight:500;
-		color:#1D2023;
-		padding: 25rpx 0;
-		.one{
-			width:77rpx;
-			height:1px;
-			background:linear-gradient( to right ,rgba(204,204,204,0), rgba(204,204,204,1));
-			margin-right: 10rpx;
-		}
-		.two{
-			margin-left: 10rpx;
-			width:77rpx;
-			height:1px;
-			background:linear-gradient( to left ,rgba(204,204,204,0), rgba(204,204,204,1));
-		}
-	}
-	
-}
-/* .detail-desc {
-	background: #fff;
-	margin-top: 16rpx;
-
-	img {
-		max-width: 100%;
-	}
-
-	.d-header {
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 80rpx;
-		font-size: $font-base + 2rpx;
-		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;
-		}
-	}
-} */
-
-/* 规格选择弹窗 */
-.attr-content {
-	padding: 25rpx 30rpx;
-
-	.a-t {
-		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;
-			width: 75%;
-
-			.price {
-				font-size: $font-lg;
-				color: $uni-color-primary;
-				margin: 10rpx 0rpx;
-			}
-
-			.name {
-				font-size: 32rpx;
-				color: $font-color-dark;
-				height: 50rpx;
-				overflow: hidden;
-				text-overflow: ellipsis;
-				white-space: nowrap;
-				display: block;
-			}
-
-			.selected-text {
-				margin-right: 10rpx;
-			}
-		}
-	}
-
-	.attr-list {
-		display: flex;
-		flex-direction: column;
-		font-size: $font-base + 2rpx;
-		color: $font-color-base;
-		padding-top: 30rpx;
-		padding-left: 10rpx;
-	}
-
-	.item-list {
-		padding: 20rpx 0 0;
-		display: flex;
-		flex-wrap: wrap;
-
-		text {
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			background: #eee;
-			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;
-		}
-	}
-}
-
-/*  弹出层 */
-.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;
-		}
-	}
-
-	&.hide {
-		.mask {
-			animation: hidePopup 0.2s linear both;
-		}
-
-		.layer {
-			animation: hideLayer 0.2s linear both;
-		}
-	}
-
-	&.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: 35vh;
-		border-radius: 10rpx 10rpx 0 0;
-		background-color: #fff;
-
-		.btn {
-			height: 66rpx;
-			line-height: 66rpx;
-			border-radius: 100rpx;
-			background: $uni-color-primary;
-			font-size: $font-base + 2rpx;
-			color: #fff;
-			margin: 30rpx auto 20rpx;
-		}
-	}
-
-	@keyframes showPopup {
-		0% {
-			opacity: 0;
-		}
-
-		100% {
-			opacity: 1;
-		}
-	}
-
-	@keyframes hidePopup {
-		0% {
-			opacity: 1;
-		}
-
-		100% {
-			opacity: 0;
-		}
-	}
-
-	@keyframes showLayer {
-		0% {
-			transform: translateY(120%);
-		}
-
-		100% {
-			transform: translateY(0%);
-		}
-	}
-
-	@keyframes hideLayer {
-		0% {
-			transform: translateY(0);
-		}
-
-		100% {
-			transform: translateY(120%);
-		}
-	}
-}
-//分享
-.btn_fenxiang {
-	position: fixed;
-	right: 20rpx;
-	bottom: 50%;
-	z-index: 95;
-	width: 100rpx;
-	color: #ffffff;
-	border-radius: 100%;
-	background-color: $background-color;
-	line-height: 100rpx;
-	text-align: center;
-	font-size: 30rpx;
-}
-.shareDate{
-	position: fixed;
-	right: 20rpx;
-	bottom: 50%;
-	z-index: 95;
-	color: #ffffff;
-	border-radius: 100rpx;
-	height: 120rpx;
-	line-height: 120rpx;
-	background-color: $background-color;
-	text-align: center;
-	font-size: 30rpx;
-}
-/* 底部操作菜单 */
-.page-bottom {
-	position: fixed;
-	bottom: 0rpx;
-	z-index: 95;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-	width: 100%;
-	height: 100rpx;
-	background: rgba(255, 255, 255, 0.9);
-	.botton-1{
-		width: 100rpx;
-		height: 100rpx;
-		background-color: #FFFFFF;
-		.botton-frame {
-			display: flex;
-			align-items: center;
-			flex-direction: column;
-			.img-box {
-				width: 45rpx;
-				height: 40rpx;
-				image{
-					width: 100%;
-					height: 100%;
-				}
-			}
-			
-		}
-		.word{
-			margin-top: 6rpx;
-			font-size:20rpx;
-			font-weight:400;
-			color:#666666;
-			&.active {
-				color: $uni-color-primary;
-			}
-		}
-	}
-	.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: 100rpx;
-
-		.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;
-		}
-	}
-
-	.gobuy {
-		width: 100%;
-		background: #db1935;
-		height: 100%;
-		color: #ffffff;
-		text-align: center;
-		padding-top: 25rpx;
-		border-radius: 15rpx;
-	}
-
-	.action-btn-group {
-		display: flex;
-		flex:1;
-		height: 100%;
-		overflow: hidden;
-		position: relative;
-
-		&:after {
-			content: '';
-			position: absolute;
-			top: 50%;
-			right: 50%;
-			transform: translateY(-50%);
-			height: 28rpx;
-			width: 0;
-			// border-right: 1px solid rgba(255, 255, 255, 0.5);
-		}
-
-		.action-btn {
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			flex: 1;
-			height: 100%;
-			font-size: $font-lg + 4rpx;
-			font-weight:bold;
-			background: transparent;
-			border-radius:0;
-			letter-spacing: 5rpx;
-
-			&.buy-now-btn {
-				background-color: #ffb238;
-			}
-
-			&.add-cart-btn {
-				background:$base-color;
-			}
-			&.btn-favorites-btn {
-				background-color: rgba(24, 179, 255, 1);
-			}
-		}
-
-		/* .action-btn1 {
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			width: 210rpx;
-			height: 100%;
-			font-size: $font-base;
-			padding: 0;
-			border-radius: 0;
-			background: transparent;
-
-			&.buy-now-btn {
-				background-color: #ffb238;
-			}
-
-			&.add-cart-btn {
-				background-color: #db1935;
-			}
-		} */
-	}
-}
-
-// 底部拼团、秒杀支付按钮
-.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%);
-	}
-	// 拼团支付按钮
-	.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;
-		}
-	}
-	.goods-pay-stop,
-	.goods-pay {
-		padding: 15rpx 0;
-		height: 100%;
-		width: 100%;
-	}
-	.goods-pay-stop {
-		background: $color-gray;
-		line-height: 70rpx;
-	}
-}
-
-
-//拼团列表
-.pinklistbox {
-	background: #ffffff;
-	text-align: center;
-	font-size: 26rpx;
-	margin-top: 25rpx;
-	.listbox-1{
-		padding: 25rpx;
-		font-size:$font-lg - 2rpx;
-		font-weight:500;
-		color:#333333;
-		border-bottom: 1px solid #EEEEEE;
-		.more{
-			font-size:$font-base - 2rpx;
-			font-weight:500;
-			color:#999999;
-			image {
-				width: 25rpx;
-				height: 25rpx;
-			}
-		}
-	}
-	.pinklist{
-		margin: 0 25rpx;
-		
-		.pinklist_list{
-			padding: 25rpx 0;
-			border-bottom: 1px solid #EEEEEE;
-			&:nth-last-child(1){
-				border-bottom: none;
-			}
-		}
-	}
-}
-
-/* .pinklistbox {
-	background: #ffffff;
-	margin-top: 25rpx;
-	overflow: hidden;
-} */
-
-.pink_num {
-	background: -webkit-linear-gradient(left, #fdf5f6, #fbebf6);
-	padding: 15rpx 25rpx;
-	font-size: 26rpx;
-	color: #dd524d;
-}
-
-.pint {
-	background: -webkit-linear-gradient(0deg, #fa2740,#fe5544);
-	border-radius:10rpx;
-	margin-left: 20rpx;
-	padding: 20rpx 25rpx;
-	color: #ffffff;
-	font-size: $font-base - 2rpx;
-
-	/* .iconenter {
-		font-size: 15px;
-		color: #ffffff;
-	} */
-}
-
-
-
-.pink_row {
-	.pink_img{
-		width: 70rpx;
-		height: 70rpx;
-		
-		image {
-			width: 100%;
-			height: 100%;
-			border-radius: 100%;
-		}
-	}
-	
-}
-.pink_people {
-	font-size: $font-base - 2rpx;
-	// margin-top: 10rpx;
-	text {
-		color: $font-color;
-	}
-}
-
-.pink_time {
-	font-size: 26rpx;
-	color: #909399;
-}
-
-.pink_name {
-	font-size:30rpx;
-	color:#333333;
-	margin-left: 20rpx;
-}
-.More {
-	width: 100%;
-	line-height: 2;
-	background-color: #fc2a3f;
-	font-size:$font-lg;
-	margin: 0 auto;
-	text-align: center;
-	color: #ffffff;
-	// border-radius: 50rpx;
-}
-.mask {
-	z-index: 999;
-	width: 100%;
-	height: 100%;
-	position: fixed;
-	top: 0;
-	left: 0;
-	text-align: center;
-	background-color: rgba(0, 0, 0, 0.5);
-	image {
-		width: 100%;
-		height: 100%;
-		opacity: 0.8;
-	}
-}
-</style>

+ 0 - 934
pages/product/groupBooking/productGroup.vue

@@ -1,934 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 轮播图 -->
-		<top-swiper :imgList="imgList"></top-swiper>
-		<!-- 拼团倒计时 -->
-		<group-time :goodsObjact="goodsObjact" :key='goodsObjact.product_price' :seckillObj="seckillObj"></group-time>
-		<!-- 拼团标题 -->
-		<group-content :goodsObjact="goodsObjact"></group-content>
-		<!-- 拼团到货时间及优惠 -->
-		<discounts :mark='goodsObjact.mark' :Info="goodsObjact.info" @clickCoupon="Getcoupon" :showCoupon='false'></discounts>
-		<!-- 规格信息 -->
-		<!-- <fresh-detail :goodsObjact="goodsObjact"></fresh-detail> -->
-		<!-- <view class="uni-padding-wrap pinklistbox" v-if="pinkTlist.length > 0">
-			<view class="pinklist">
-				<view v-for="(ls, ind) in showlist">
-					<view class="flex pinklist_list">
-						<view class="pink_img"><image :src="ls.avatar"></image></view>
-						<view class="pink_name">{{ ls.nickname }}</view>
-						<view class="pink_tpl">
-							<view class="pink_people">
-								还差
-								<text>{{ ls.count }}</text>
-								人拼团
-							</view>
-						</view>
-						<view class="pint" @click="groupBooking(ls.id)">
-							去拼团
-							<text class="iconfont iconenter"></text>
-						</view>
-					</view>
-				</view>
-			</view>
-			<view class="More" @click="clickMore" v-if="more">查看更多</view>
-		</view> -->
-		<!-- <view class="ping-plan">
-			<view class="participate-7 flex-between-center">
-				<view class="participate-7-1">
-					<text class="word" v-if="pink_type == 1">AA团</text>
-					<text class="word" v-else>达人团</text>
-					<text>玩法</text>
-				</view>
-				<view class="participate-7-1" @click="ToRule()">
-					<text class="word1">详细规则</text>
-					<image src="../../../static/img/img74.png"></image>
-				</view>
-			</view>
-			<view class="participate-8 flex-between-center">
-				<view class="participate-8-1">
-					<image class="img1" src="https://shicai.liuniu946.com/img/img76.png"></image>
-					<view class="word-1">开团/参团</view>
-					<view class="word-2">拼团享低价</view>
-				</view>
-				<image src="https://shicai.liuniu946.com/img/img75.png"></image>
-				<view class="participate-8-1">
-					<image class="img2" src="https://shicai.liuniu946.com/img/img77.png"></image>
-					<view class="word-1">邀请邻里参团</view>
-					<view class="word-2">分享优惠多</view>
-				</view>
-				<image src="https://shicai.liuniu946.com/img/img75.png"></image>
-				<view class="participate-8-1">
-					<image class="img3" src="https://shicai.liuniu946.com/img/img78.png"></image>
-					<view class="word-1">人满发货</view>
-					<view class="word-2">人不满退款</view>
-				</view>
-			</view>
-		</view> -->
-		
-		<!-- 大家都在拼 达人团显示 -->
-		<!-- <now-list v-if="pink_type == 2" :recommendedlist="recommendedlist"></now-list> -->
-		
-		
-		<!-- 图文详情 -->
-		<content-text :description="description"></content-text>
-
-		<!-- 底部高度撑开 -->
-		<view class="contentBottomHeight"></view>
-		<!-- 底部操作菜单 -->
-		<view >
-			<view >
-				<group-bottom :peoplePrize='goodsObjact.people_prize' @buy="openPinkT" @specOPne="specOPne" :seckillObj="seckillObj" :many='many'></group-bottom>
-			</view>
-		</view>
-		<!-- 规格-模态层弹窗 -->
-		<view class="popup spec" :class="specClass" @touchmove.stop.prevent="stopPrevent" @click="toggleSpec()">
-			<!-- 遮罩层 -->
-			<view class="mask"></view>
-			<view class="layer attr-content" @click.stop="stopPrevent">
-				<view class="a-t">
-					<image :src="actionImage"></image>
-					<view class="right">
-						<text class="name">{{ goodsObjact.store_name }}</text>
-						<text class="price">¥{{ actionPrice * goodsNumber }}</text>
-						<text class="stock">库存:{{ goodsStore }}件</text>
-						<view class="selected" v-if="specList != ''">
-							已选:
-							<text class="selected-text" v-for="(sItem, sIndex) in specSelected" :key="sIndex">{{ sItem }}</text>
-						</view>
-					</view>
-				</view>
-				<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)"
-						>
-							{{ childItem.attr }}
-						</text>
-					</view>
-				</view>
-				<!-- <view class="attr-list">
-					<text>购买数量</text>
-					<view class="item-list">
-						<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" v-show="buys_show">完成</button>
-				<button class="btn" style="background-color: #999999;" v-show="buys_shows">售罄</button>
-			</view>
-		</view>
-		<!-- 返回按钮 -->
-		<return-button></return-button>
-
-	</view>
-</template>
-
-<script>
-	import { nowPinkLst } from '@/api/order.js';
-	import {
-		goodsDetail,
-		cartAdd,
-		collectAdd,
-		collectDel,
-		seckillGoods,
-		groupGoods
-	} from '@/api/product.js';
-	import {
-		mapState
-	} from 'vuex';
-	import store from '@/store/index.js';
-	import {
-		saveUrl
-	} from '@/utils/loginUtils.js';
-	import {
-		timeComputed
-	} from '@/utils/rocessor.js';
-	// #ifdef H5
-	import {
-		weixindata
-	} from '@/utils/wxAuthorized';
-	// #endif
-	// 头部轮播图
-	import topSwiper from '../common/topSwiper.vue';
-	// 拼团倒计时
-	import groupTime from '../common/groupTime.vue';
-	// 拼团标题
-	import groupContent from '../common/groupContent.vue';
-	// 拼团到货时间及优惠
-	import discounts from '../common/discounts.vue';
-	// 规格信息
-	import freshDetail from '../common/freshDetail.vue';
-	// 图文详情
-	import contentText from '../common/contentText.vue';
-	// 底部按钮
-	import groupBottom from '../common/groupBottom.vue';
-	// 返回按钮
-	import returnButton from '@/components/returnButton.vue';
-	// 大家还在拼
-	import NowList from '@/components/newlist/nowList.vue';
-	export default {
-		components: {
-			topSwiper,
-			groupTime,
-			groupContent,
-			discounts,
-			freshDetail,
-			contentText,
-			groupBottom,
-			returnButton,
-			NowList
-		},
-		data() {
-			return {
-				goodsStore: 0, //选中库存
-				specList: [],
-				buys_show: true,
-				buys_shows: false,
-				specSelected: [], //选中的分类
-				reply: '', //评论
-				list: '', //商品详情的数据
-				type: 1, //默认支付方式add为
-				goodsNumber: 1, //购买数量
-				goodsid: '', //商品id
-				description: '', //商品描述
-				goodsObjact: {}, //保存商品数据
-				//图片循环
-				imgList: [],
-				// 对比对象
-				actionPrice: 0, //默认选中商品价格
-				actionImage: '', //默认选中图片
-				good_list: '', //猜你喜欢列表
-				goodsNumberMax: 0, //最大可购买数量
-				many:1,//1是单规格  2是多规格
-				// 倒计时数据保存
-				seckillObj: {
-					stopTime: 0, //结束时间
-					stop: false, //是否结束
-					stopTimeH: 0, //小时
-					stopTimeM: 0, //分钟
-					stopTimeS: 0, //秒钟
-					stopTimeD: 0, //天
-					upTime: 0 //更新组件内部组件用
-				},
-				// 拼团数据保存
-				pink: {
-					id: '', //拼团编号
-					uid: '', //用户编号
-					people: '', //拼团人数
-					price: '', //拼团价格
-					stop_time: '', //拼团结束时间
-					nickname: '', //团长昵称
-					avatar: '', //团长头像
-					count: '', //拼团剩余人数
-					h: '', //时
-					i: '', //分
-					s: '' //秒
-				},
-				userInfo: '',
-				pinkTlist: '', //拼团数据
-				more: true, //查看更多按钮
-				showlist: [],
-				pink_type: 1, //拼团类别
-				show: false, // 是否显示底部按钮
-				recommendedlist:[],// 大家都在拼
-				specClass: 'none' //显示隐藏弹窗
-			};
-
-		},
-		filters: {
-			parseIntTo(percent) {
-				percent = +percent * 100;
-				if (percent % 1 === 0) {
-					return percent;
-				} else {
-					percent = percent.toFixed(1);
-					return percent;
-				}
-			}
-		},
-		async onLoad(options) {
-			let obj = this;
-			obj.userInfo = uni.getStorageSync('userInfo');
-			//保存商品id
-			this.goodsid = options.id;
-			if (options.show) {
-				this.show = options.show;
-			}
-			console.log(this.show, 5656)
-			// 判断有无人邀请
-			if (options.spread) {
-				// 存储邀请人
-				uni.setStorageSync('spread', options.spread);
-			}
-			saveUrl();
-			// 家在数据
-			this.groupGoods();
-			return;
-			
-			// 注册邀请信息
-			// #ifdef H5
-			let bool = uni.getStorageSync('weichatBrowser') || '';
-			if (bool) {
-				weixindata();
-			}
-			// #endif
-		},
-		computed: {
-			...mapState(['weichatObj', 'baseURL', 'urlFile'])
-		},
-		// 分享
-		// onShareAppMessage(options) {
-		// 	// 设置菜单中的转发按钮触发转发事件时的转发内容
-		// 	let pages = getCurrentPages(); //获取加载的页面
-		// 	let currentPage = pages[pages.length - 1]; //获取当前页面的对象
-		// 	let url = currentPage.route; //当前页面url
-		// 	let item = currentPage.options; //如果要获取url中所带的参数可以查看options
-		// 	let shareObj = {
-		// 		title: this.goodsObjact.title + '   价格:' + this.goodsObjact.price, // 默认是小程序的名称(可以写slogan等)
-		// 		path: url + '?id=' + item.id + '&spread=' + this.userInfo.uid, // 默认是当前页面,必须是以‘/’开头的完整路径
-		// 		imageUrl: this.goodsObjact.image,
-		// 		success: function(res) {
-		// 			// 转发成功之后的回调
-		// 			if (res.errMsg == 'shareAppMessage:ok') {}
-		// 		},
-		// 		fail: function() {
-		// 			// 转发失败之后的回调
-		// 			if (res.errMsg == 'shareAppMessage:fail cancel') {
-		// 				// 用户取消转发
-		// 			} else if (res.errMsg == 'shareAppMessage:fail') {
-		// 				// 转发失败,其中 detail message 为详细失败信息
-		// 			}
-		// 		}
-		// 	};
-		// 	return shareObj;
-		// },
-		methods: {
-			// 跳转详细规则
-			ToRule() {
-				if( this.pink_type == 1 ) {
-					// AA团
-					uni.navigateTo({
-						url: '/pages/rule/AArule'
-					})
-				} else {
-					// 达人团
-					uni.navigateTo({
-						url: '/pages/rule/DaRrule'
-					})
-				}
-			},
-			//选择规格
-			selectSpec(item, arr, ind) {
-				arr.attr_value.forEach(function(e) {
-					e.check = false;
-				});
-				item.check = true;
-				let obj = this;
-				obj.specSelected[ind] = item.attr;
-				let str = obj.specSelected.join(',');
-				console.log(obj.productValue[str],116)
-				if (obj.productValue[str]) {
-					obj.buys_show = true;
-					obj.buys_shows = false;
-					obj.actionPrice = obj.productValue[str].price;
-					obj.goodsNumberMax = obj.productValue[str].stock;
-					obj.actionImage = obj.productValue[str].image;
-					obj.uniqueId = obj.productValue[str].unique;
-					obj.goodsStore = obj.productValue[str].stock;
-					// if (obj.goodsType == 2) {
-					// 	obj.goodsStore = obj.productValue[str].quota;
-					// } else {
-					// 	obj.goodsStore = obj.productValue[str].product_stock;
-					// }
-				} else {
-					(obj.buys_show = false), (obj.buys_shows = true);
-				}
-			},
-			// 立即购买
-			buy(item) {
-				let obj = this;
-				/* obj.toggleSpec();
-				this.specClass='show',
-				console.log(obj.list.productValue.默认.unique)
-				console.log(obj.chooseGoodsNumber,'chooseGoodsNumber')
-				return */
-				// 创建传值对象
-				console.log(obj.list.productValue);
-				console.log(obj.list);
-				let data = {
-					// cartNum: obj.goodsNumber, //商品数量
-					cartNum: obj.chooseGoodsNumber, //商品数量
-					uniqueId: obj.uniqueId, //商品标签
-					new: 1, //商品是否新增加到购物车1为不加入0为加入
-					mer_id: obj.shopId,
-					combinationId: obj.goodsid, //拼团编号
-					productId: obj.goodsObjact.product_id, //商品编号
-				};
-				this.specClass = 'none';
-				cartAdd(data)
-					.then(function(e) {
-						let da = e.data;
-						console.log(e);
-						if (obj.type == 1) {
-							// 跳转到支付页
-							uni.navigateTo({
-								url: '/pages/order/createOrder?id=' + da.cartId + '&goodsType=' + obj.goodsType
-							});
-						}
-						if (obj.type == 2) {
-							obj.$api.msg('成功加入购物车');
-							obj.toggleSpec();
-						}
-					})
-					.catch(e => {
-						console.log(e);
-					}); 
-			},
-			// 去开团
-			ToKaiTuan(item) {
-				let id = item.id;
-				uni.navigateTo({
-					url: '/pages/product/productGroup?id=' + id
-				});
-			},
-			
-			// 跳转页面
-			navTo(url) {
-				uni.navigateTo({
-					url
-				});
-			},
-			// 查看更多
-			clickMore() {
-				this.showlist = this.pinkTlist;
-				console.log(this.showlist, 22);
-				this.more = false;
-			},
-			//去拼团
-			groupBooking(item) {
-				uni.navigateTo({
-					url: '/pages/groupBooking/groupdetails?id=' + item
-				});
-			},
-			// 获取拼团商品详情
-			groupGoods() {
-				let obj = this;
-				
-				// // 大家还在拼
-				// nowPinkLst({}).then(({data}) => {
-				// 	this.recommendedlist = data;
-				// })
-				
-				groupGoods({}, this.goodsid).then(function({
-					data
-				}) {
-					let goods = data.storeInfo;
-					obj.goodsObjact = goods;
-					console.log(obj.goodsObjact, 88)
-					console.log(Array.isArray(data.productValue), 99)
-					if(Array.isArray(data.productValue) != true){
-						obj.many = 2;
-						obj.specList = data.productAttr;//保存产品属性
-						obj.productValue = data.productValue; //保存属性值
-						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(',');
-						console.log(str,'str')
-						// 设置默认值
-						
-						obj.actionPrice = obj.productValue[str].price;
-						obj.goodsNumberMax = obj.productValue[str].stock;
-						obj.actionImage = obj.productValue[str].image;
-						obj.uniqueId = obj.productValue[str].unique;
-						obj.goodsStore = obj.productValue[str].quota;
-					}else{
-						obj.many = 1;
-					}
-					console.log(obj.many,'obj.many')
-					if (obj.goodsObjact.description != null) {
-						obj.description = obj.goodsObjact.description.replace(/\<img/gi, '<img class="rich-img"');
-					}
-					obj.imgList = goods.images; //保存轮播图
-					obj.actionPrice = goods.price; //保存默认选中商品价格
-					obj.actionImage = goods.image_base; //保存默认选中商品图片
-					obj.goodsNumberMax = 1; //保存默认选中最大可购买商品数量
-					if (obj.goodsObjact.pink_type == 'AA团') {
-						obj.pink_type = 1;
-					} else {
-						obj.pink_type = 2;
-					}
-					obj.pinkTlist = data.pink;
-					obj.showlist = obj.pinkTlist.slice(0, 2);
-					if (obj.pinkTlist.length <= 2) {
-						obj.more = false;
-					}
-
-					// 保存结束时间
-					obj.seckillObj.stopTime = goods.stop_time * 1000;
-					// 获取当前时间
-					let acitonTime = new Date();
-					// 判断当前时间是否大于结束时间
-					if (acitonTime.getTime() > obj.seckillObj.stopTime) {
-						// 当前秒杀时间已经结束
-						obj.seckillObj.stop = true;
-					} else {
-						// 计算倒计时
-						let time = timeComputed(obj.seckillObj.stopTime)
-						// 倒计时数据保存
-						obj.seckillObj = {
-							stopTime: goods.stop_time * 1000, //结束时间
-							stop: false, //是否结束
-							stopTimeD: time.day, //天
-							stopTimeH: time.hours, //小时
-							stopTimeM: time.minutes, //分钟
-							stopTimeS: time.seconds, //秒钟
-							upTime: (new Date()).getTime()
-						}
-					}
-				});
-			},
-			// 立即购买
-			openPinkT(item) {
-				let obj = this;
-				obj.type = item;
-				// 创建传值对象
-				let data = {
-					cartNum: obj.goodsNumber, //商品数量
-					new: 1, //商品是否新增加到购物车1为不加入0为加入
-					combinationId: obj.goodsid,
-					productId: obj.goodsObjact.product_id
-				};
-				cartAdd(data)
-					.then(function(e) {
-						let da = e.data;
-						if (obj.type == 1) {
-							// 跳转到支付页
-							uni.navigateTo({
-								url: '/pages/order/createOrder?id=' + da.cartId+'&goodsType=2'
-							});
-						}
-					})
-					.catch(e => {
-						console.log(e);
-					});
-			},
-			specOPne(item) {
-				let obj = this;
-				obj.specClass = 'show';
-				console.log(obj.specClass,'this.specClass')
-			},
-			//规格弹窗开关
-			toggleSpec(str) {
-				if (this.specClass === 'show') {
-					this.specClass = 'hide';
-					setTimeout(() => {
-						this.specClass = 'none';
-					}, 250);
-				} else if (this.specClass === 'none') {
-					this.specClass = 'show';
-				}
-				// 判断是否为数字
-				if (typeof str == 'number') {
-					// 保存当前购买类型
-					this.type = str;
-				}
-			},
-			// 阻止触发上级事件
-			stopPrevent() {}
-		}
-	};
-</script>
-
-<style lang="scss">
-	/*  弹出层 */
-	.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;
-			}
-		}
-	
-		&.hide {
-			.mask {
-				animation: hidePopup 0.2s linear both;
-			}
-	
-			.layer {
-				animation: hideLayer 0.2s linear both;
-			}
-		}
-	
-		&.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: 35vh;
-			border-radius: 10rpx 10rpx 0 0;
-			background-color: #fff;
-	
-			.btn {
-				height: 66rpx;
-				line-height: 66rpx;
-				border-radius: 100rpx;
-				background: $uni-color-primary;
-				font-size: $font-base + 2rpx;
-				color: #fff;
-				margin: 30rpx auto 20rpx;
-			}
-		}
-	
-		@keyframes showPopup {
-			0% {
-				opacity: 0;
-			}
-	
-			100% {
-				opacity: 1;
-			}
-		}
-	
-		@keyframes hidePopup {
-			0% {
-				opacity: 1;
-			}
-	
-			100% {
-				opacity: 0;
-			}
-		}
-	
-		@keyframes showLayer {
-			0% {
-				transform: translateY(120%);
-			}
-	
-			100% {
-				transform: translateY(0%);
-			}
-		}
-	
-		@keyframes hideLayer {
-			0% {
-				transform: translateY(0);
-			}
-	
-			100% {
-				transform: translateY(120%);
-			}
-		}
-	}
-	/* 规格选择弹窗 */
-	.attr-content {
-		padding: 25rpx 30rpx;
-	
-		.a-t {
-			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;
-				width: 75%;
-	
-				.price {
-					font-size: $font-lg;
-					color: $uni-color-primary;
-					margin: 10rpx 0rpx;
-				}
-	
-				.name {
-					font-size: 32rpx;
-					color: $font-color-dark;
-					height: 50rpx;
-					overflow: hidden;
-					text-overflow: ellipsis;
-					white-space: nowrap;
-					display: block;
-				}
-	
-				.selected-text {
-					margin-right: 10rpx;
-				}
-			}
-		}
-	
-		.attr-list {
-			display: flex;
-			flex-direction: column;
-			font-size: $font-base + 2rpx;
-			color: $font-color-base;
-			padding-top: 30rpx;
-			padding-left: 10rpx;
-		}
-	
-		.item-list {
-			padding: 20rpx 0 0;
-			display: flex;
-			flex-wrap: wrap;
-	
-			text {
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				background: #eee;
-				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: #ddffdf;
-				color: $uni-color-primary;
-			}
-		}
-	}
-	
-	//默认商品底部高度
-	.goodsBottom {
-		height: 160rpx;
-	}
-
-	page {
-		background: #f0f0f0;
-	}
-
-	//秒杀、拼团底部高度
-	.contentBottomHeight {
-		height: 110rpx;
-		// background-color: #FFFFFF;
-	}
-
-	//默认商品底部高度
-	.goodsBottom {
-		height: 160rpx;
-	}
-
-	/deep/ .iconenter {
-		font-size: $font-base + 2rpx;
-		color: #888;
-	}
-
-	/deep/ .con_image {
-		width: 130rpx;
-		height: 130rpx;
-		display: inline-block;
-		padding: 15rpx;
-
-		image {
-			width: 100%;
-			height: 100%;
-		}
-	}
-
-	/* 商品详情中限制图片大小 */
-	/deep/ .rich-img {
-		width: 100% !important;
-		height: auto;
-	}
-
-	.pinklistbox {
-		background: #ffffff;
-		margin-top: 25rpx;
-		overflow: hidden;
-	}
-
-	.pink_num {
-		background: -webkit-linear-gradient(left, #fdf5f6, #fbebf6);
-		padding: 15rpx 25rpx;
-		font-size: 26rpx;
-		color: #dd524d;
-	}
-
-	.pint {
-		background: -webkit-linear-gradient(left, #ff1f4f, #ff0409);
-		padding: 10rpx 25rpx;
-		color: #ffffff;
-		font-size: 24rpx;
-		border-radius: 25rpx;
-
-		.iconenter {
-			font-size: 15px;
-			color: #ffffff;
-		}
-	}
-
-	.pinklist {
-		padding: 0rpx 25rpx;
-		padding-top: 45rpx !important;
-	}
-
-	.pinklist_list {
-		margin-bottom: 10rpx;
-	}
-
-	.pink_img {
-		width: 100rpx;
-		height: 100rpx;
-
-		image {
-			width: 100%;
-			height: 100%;
-			border-radius: 100%;
-		}
-	}
-
-	.pink_people {
-		font-size: 28rpx;
-
-		text {
-			color: #dd524d;
-		}
-	}
-
-	.pink_time {
-		font-size: 26rpx;
-		color: #909399;
-	}
-
-	.pink_name {
-		width: 200rpx;
-		overflow: hidden;
-		white-space: nowrap;
-		text-overflow: ellipsis;
-		padding-left: 10rpx;
-		// background: #FC2A3F;
-		// height: 50rpx;
-	}
-
-	.More {
-		width: 100%;
-		line-height: 2;
-		background-color: #fc2a3f;
-		font-size: $font-lg;
-		margin: 0 auto;
-		text-align: center;
-		color: #ffffff;
-		// border-radius: 50rpx;
-	}
-
-	.ping-plan {
-		background-color: #FFFFFF;
-		padding: 25rpx 35rpx;
-		border-top: 15rpx solid #F3F3F4;
-		border-bottom: 15rpx solid #F3F3F4;
-	}
-
-	.participate-7 {
-		color: #000000;
-		font-size: 29rpx;
-		font-weight: 500;
-		padding-bottom: 25rpx;
-
-		.participate-7-1 {
-			.word {
-				color: #ff0a1a;
-			}
-
-			.word1 {
-				font-size: 25rpx;
-				color: #989aa0;
-			}
-
-			image {
-				width: 10rpx;
-				height: 20rpx;
-				margin-left: 15rpx;
-			}
-		}
-	}
-
-	//左右顶格加上下居中
-	.flex-between-center {
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-	}
-
-	.participate-8 {
-		image {
-			width: 26rpx;
-			height: 12rpx;
-		}
-
-		.participate-8-1 {
-			text-align: center;
-
-			.img1 {
-				width: 43rpx;
-				height: 50rpx;
-			}
-
-			.img2 {
-				width: 43rpx;
-				height: 42rpx;
-			}
-
-			.img3 {
-				width: 60rpx;
-				height: 46rpx;
-			}
-
-			.word-1 {
-				font-size: 23rpx;
-				color: #000000;
-				line-height: 34rpx;
-			}
-
-			.word-2 {
-				font-size: 21rpx;
-				color: #91949B;
-				line-height: 34rpx;
-			}
-		}
-	}
-</style>

Datei-Diff unterdrückt, da er zu groß ist
+ 814 - 241
pages/product/product.vue


+ 0 - 404
pages/product/seckill.vue

@@ -1,404 +0,0 @@
-<template>
-	<view class="seckillBox">
-		<scroll-view scroll-x="true" class="class-box flex b-t" :scroll-left="scrollLeft" :scroll-with-animation="true">
-			<view @click="tabClass(idx)" class="item" :style="{ width: topNavWidth }" v-for="(item, idx) in indexList" :key="idx">
-				<view class="time" :class="{ action: idx == classIndex }">{{ item.time }}</view>
-				<view class="status" :class="{ action: idx == classIndex }">{{ item.state }}</view>
-			</view>
-		</scroll-view>
-		<swiper class="list-Box" :current="classIndex" @change="swiperChange" duration="500">
-			<swiper-item class="list-item" v-for="(ls, idx) in indexList">
-				<view class=" b-b position-relative">
-					<view class="title-box flex ">
-						<view class="title-box-left">
-							<text v-if="ls.status == 1">抢购中先下先得哦!</text>
-							<text v-if="ls.status == 2">精品好货即将开抢!</text>
-							<text v-if="ls.status == 0">本场已结束,下次早点来哦!</text>
-						</view>
-						<view class="title-box-right flex">
-							<text class="tip" v-if="ls.status == 1">距离结束</text>
-							<text class="tip" v-if="ls.status == 2">距离开始</text>
-							<uni-countdown
-								color="#F9F9F8"
-								background-color="#666666"
-								v-if="ls.status == 1 || ls.status == 2"
-								:show-day="false"
-								:hour="ls.stopTimeH"
-								:minute="ls.stopTimeM"
-								:second="ls.stopTimeS"
-							></uni-countdown>
-						</view>
-					</view>
-				</view>
-				<scroll-view scroll-y="true" class="list" @scrolltolower="getList(classIndex)">
-					<view class="goodsList-item flex" :key="ind" v-for="(lss, ind) in ls.dataList">
-						<image :src="lss.image" lazy-load mode="scaleToFill"></image>
-						<view class="goodsList-content">
-							<view class="title clamp">
-								<text>{{ lss.title }}</text>
-							</view>
-							<view class="slider flex">
-								<view class="slider-box"><view class="slider-action" :style="{ width: lss.percent + '%' }"></view></view>
-								<view class="sales-nub">已抢{{ lss.percent + '%' }}</view>
-							</view>
-							<view class="goods-money flex">
-								<view class="money-box">
-									<view class="money">
-										<text class="font-size-sm">¥</text>
-										{{ lss.price }}
-									</view>
-									<view class="otMoney-box">
-										<text class="otMoney">¥{{ lss.ot_price }}</text>
-									</view>
-								</view>
-								<view @click="navProduct(ls, ind)" class="cart" :class="{ 'seckill-action': ls.status == 1 }">
-									{{ ls.status == 1 ? '去抢购' : ls.status == 2 ? '未开始' : '已结束' }}
-								</view>
-							</view>
-						</view>
-					</view>
-					<uni-load-more :status="ls.loadingType"></uni-load-more>
-				</scroll-view>
-			</swiper-item>
-		</swiper>
-	</view>
-</template>
-
-<script>
-import { getSeckillList, getSeckillClass } from '@/api/product.js';
-import uniCountdown from '@/components/uni-countdown/uni-countdown.vue';
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import { timeComputed } from '@/utils/rocessor.js';
-export default {
-	components: {
-		uniCountdown,
-		uniLoadMore
-	},
-	data() {
-		return {
-			indexList: [], //分类列表
-			showTime: '', //显示的时间
-			showTImeId: '', //显示时间id用于查询数据
-			// 判断是否所有活动已经结束
-			stop: false, //活动是否已经结束
-			show: false, //是否显示活动
-			status: 0, //获取状态值1为有活动开始中 2为活动未开始 0为活动已经结束
-			topNavWidth: '25%', //设置导航默认宽度
-			classIndex: 0, //当前进行中的活动
-			itemWidht: 0 //顶部分类宽度
-		};
-	},
-	computed: {
-		// 计算左侧距离
-		scrollLeft() {
-			if (this.classIndex > 1) {
-				return this.itemWidht * (this.classIndex - 1.5);
-			} else {
-				return 0;
-			}
-		}
-	},
-	onLoad: function(e) {
-		// 载入分类
-		this.getClass();
-	},
-	methods: {
-		//抢购时间切换时触发效果
-		swiperChange(e) {
-			this.classIndex = e.target.current;
-			this.getList(this.classIndex, 'tabChange');
-		},
-		// 获取项目宽度
-		numClassWidht() {
-			uni.createSelectorQuery()
-				.select('.seckillBox')
-				.fields(
-					{
-						size: true
-					},
-					data => {
-						// 设置项目宽度
-						this.itemWidht = Math.floor((data.width / 750) * 187.5);
-					}
-				)
-				.exec();
-		},
-		// 切换当前选中的秒杀活动
-		tabClass(ind) {
-			// 保存当前选中的对象
-			this.classIndex = ind;
-		},
-		// 跳转到商品详情
-		navProduct(ls, ind) {
-			if (ls.status == 1) {
-				let data = ls.dataList[ind];
-
-				uni.navigateTo({
-					url: '/pages/product/product?id=' + data.id + '&type=1'
-				});
-			}
-		},
-		// 获取商品
-		getList(ind, source) {
-			// 获取数据对象
-			let date = this.indexList[ind];
-			console.log(date, source);
-			if (source === 'tabChange' && date.loaded === true) {              
-				//tab切换只有第一次需要加载数据
-				return;
-			}
-			if (date.loadingType === 'noMore') {
-				//防止重复加载
-				return;
-			}
-			if (date.loadingType === 'loading') {
-				//防止重复加载
-				return;
-			}
-			// 修改当前对象状态为加载中
-			date.loadingType = 'loading';
-			getSeckillList(
-				{
-					page: date.page,
-					limit: date.limit
-				},
-				date.id
-			)
-				.then(e => {
-					date.dataList.push(...e.data);
-					// 查询翻页增加
-					date.page++;
-					// 判断是否可以继续加载
-					if (date.limit == e.data.length) {
-						date.loadingType = 'more';
-					} else {
-						date.loadingType = 'noMore';
-					}
-					// 设置当前数据已加载完毕
-					this.$set(date, 'loaded', true);
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-		// 获取秒杀时间段
-		getClass() {
-			let obj = this;
-			getSeckillClass({})
-				.then(({ data }) => {
-					obj.indexList = data.seckillTime.map((e, ind) => {
-						console.log(e,'eeee')
-						// 初始化翻页页数
-						e.page = 1;
-						// 初始每次加载的数据条数
-						e.limit = 6;
-						// 创建储存订单数据
-						e.dataList = [];
-						// 初始化加载
-						// e.loadingType = 'more';
-						let ar = e;
-						// 判断是否为进行中的活动
-						if (ar.status === 1) {
-							// 计算倒计时时间
-							obj.timeComputed(ar.stop * 1000, ar);
-						} else {
-							// 获取距离开始还需要多少时间
-							let arTime = ar.time.split(':');
-							let h = arTime[0];
-							let m = arTime[1];
-							let time = new Date();
-							// 设置时间
-							time.setHours(h, m, 0);
-							// 计算倒计时时间
-							obj.timeComputed(time.getTime(), ar);
-						}
-
-						return e;
-					});
-					// 获取当前活动中的下标值
-					obj.classIndex = data.seckillTimeIndex;
-					// 获取当前显示中对象的数据
-					obj.$nextTick(() => {
-						obj.getList(obj.classIndex);
-					});
-					if (obj.indexList.length <= 4) {
-						// 当数量小于等于4的时候自适应宽度
-						obj.topNavWidth = 100 / obj.indexList.length + '%';
-					} else {
-						// 页面渲染完毕后加载scroll-view左侧距离
-						obj.$nextTick(() => {
-							obj.numClassWidht();
-						});
-					}
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-		// 计算倒计时时间
-		timeComputed(da, ar) {
-			let obj = this;
-			// 计算时间,保存需要多少时间到期
-			let stopTime = timeComputed(da);
-			console.log(stopTime);
-			ar.stopTimeH = stopTime.hours;
-			ar.stopTimeM = stopTime.minutes;
-			ar.stopTimeS = stopTime.seconds;
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page,
-.seckillBox {
-	min-height: 100%;
-	height: 100%;
-}
-// 头部时间段样式
-.class-box {
-	white-space: nowrap;
-	height: 60px;
-	.item {
-		text-align: center;
-		display: inline-block;
-		color: $font-color-base;
-		padding: 11.5px 5px;
-		background-color: #ffffff;
-		line-height: 1;
-		.time {
-			font-size: 16px;
-			padding-bottom: 3px;
-			&.action {
-				color: $color-red;
-			}
-		}
-		.status {
-			font-size: 12px;
-			margin: 0 auto;
-			width: 60px;
-			padding: 3px 0;
-			&.action {
-				color: #ffffff;
-				border-radius: 99px;
-				background-color: $color-red;
-			}
-		}
-	}
-}
-// 列表上方标题样式
-.title-box {
-	margin-top: 10px;
-	padding: 10px;
-	background-color: #ffffff;
-	.title-box-left {
-		font-size: 15px;
-		color: $font-color-base;
-	}
-	.title-box-right {
-		.tip {
-			font-size: 15px;
-			color: #999999;
-			padding-right: 5px;
-		}
-
-		/deep/ .uni-countdown__number {
-			border-radius: 3px;
-			width: 22px;
-		}
-		/deep/ .uni-countdown__splitor,
-		/deep/ .uni-countdown__number {
-			height: 20px;
-			line-height: 18px;
-		}
-	}
-}
-// 列表样式
-.list-Box {
-	height: calc(100% - 60px);
-	.list {
-		height: calc(100% - 55px);
-	}
-}
-// 商品列表
-$slider-color: #fe9398; //滑块左侧颜色
-.goodsList-item {
-	background-color: #ffffff;
-	padding: 30rpx;
-	border-bottom: 1px solid $border-color-light;
-	image {
-		flex-shrink: 0;
-		border-radius: $border-radius-sm;
-		height: 180rpx;
-		width: 180rpx;
-	}
-	.slider {
-		margin-top: 15rpx;
-		justify-content: flex-start;
-		.slider-box {
-			width: 196rpx;
-			border-radius: 99px;
-			border: 1px solid $slider-color;
-			height: 16rpx;
-			.slider-action {
-				background-color: $slider-color;
-				height: 100%;
-			}
-		}
-		.sales-nub {
-			color: $font-color-light;
-			font-size: 24rpx;
-			padding-left: 20rpx;
-		}
-	}
-	.goodsList-content {
-		margin-left: 20rpx;
-		flex-grow: 1;
-		height: 180rpx;
-		position: relative;
-		.title {
-			font-size: $font-base;
-			color: $font-color-dark;
-			font-weight: 500;
-			width: 0;
-			min-width: 100%;
-		}
-		.goods-money {
-			position: absolute;
-			left: 0;
-			bottom: 0;
-			width: 100%;
-			.money-box {
-				.money {
-					font-size: $font-lg + 10rpx;
-					color: $color-red;
-					font-weight: bold;
-				}
-				.otMoney-box {
-					font-size: $font-sm;
-					.otMoney {
-						color: $font-color-light;
-						padding-right: 20rpx;
-						text-decoration: line-through;
-					}
-					.sales {
-						color: $font-color-light;
-					}
-				}
-			}
-			.cart {
-				font-size: $font-base;
-				border-radius: 99px;
-				padding: 15rpx 30rpx;
-				line-height: 1;
-				color: #ffffff;
-				background-color: $color-gray;
-				&.seckill-action {
-					border: 1px solid $color-red;
-					background-color: $color-red;
-				}
-			}
-		}
-	}
-}
-</style>

+ 1 - 1
pages/user/user.vue

@@ -156,7 +156,7 @@
 				</view>
 			</view>
 		</scroll-view>
-		<u-tabbar v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
+		<u-tabbar activeColor="#375AFE" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
 	</view>
 </template>
 <script>

BIN
static/img/afternoon.png


BIN
static/img/afternooninco.png


BIN
static/img/backb.png


BIN
static/img/evening.png


BIN
static/img/eveninginco.png


BIN
static/img/fanhui.png


BIN
static/img/gong.png


BIN
static/img/hall-bg.png


BIN
static/img/hell-main.png


BIN
static/img/hinco.png


BIN
static/img/hinfo-bg.png


BIN
static/img/jian.png


BIN
static/img/jingt.png


BIN
static/img/jt.png


BIN
static/img/kf.png


BIN
static/img/lc1.png


BIN
static/img/lc2.png


BIN
static/img/lc3.png


BIN
static/img/lc4.png


BIN
static/img/people.png


BIN
static/img/productIcon.png


BIN
static/img/quan.png


BIN
static/img/shua.png


BIN
static/img/yuan.png


BIN
static/img/zheng.png


BIN
static/tabBar/tab-pink-current.png


+ 1 - 1
utils/tabbar.js

@@ -14,7 +14,7 @@ export const tabbar = [{
 	{
 		pagePath: "/pages/hall/hall",
 		iconPath: require("@/static/tabBar/tab-pink.png"),
-		selectedIconPath: require("@/static/tabBar/tab-pink.png"),
+		selectedIconPath: require("@/static/tabBar/tab-pink-current.png"),
 		text: "趣豆会馆",
 		midButton: true,
 	},

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.