Просмотр исходного кода

新增商家优惠活动配置和商家短信包配置

嘀嘀嘀 1 год назад
Родитель
Сommit
9e063fc210
30 измененных файлов с 659 добавлено и 84 удалено
  1. 64 19
      pages/index/index.vue
  2. 117 4
      pages/index/search/index.vue
  3. 56 3
      pages/index/shop/confirmOrder.vue
  4. 3 1
      pages/index/shop/goodsList.vue
  5. 163 21
      pages/index/shop/index.vue
  6. 72 7
      pages/index/shopList/index.vue
  7. 68 6
      running/huodong/list.vue
  8. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  9. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/search/index.js.map
  10. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/shop/confirmOrder.js.map
  11. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/shop/goodsList.js.map
  12. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/shop/index.js.map
  13. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/shopList/index.js.map
  14. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/running/huodong/list.js.map
  15. 2 2
      unpackage/dist/dev/mp-weixin/components/watch-login/watch-input.json
  16. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  17. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  18. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/search/index.js
  19. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/search/index.wxml
  20. 45 0
      unpackage/dist/dev/mp-weixin/pages/index/search/index.wxss
  21. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/shop/confirmOrder.js
  22. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/shop/confirmOrder.wxml
  23. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/shop/goodsList.wxml
  24. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/shop/index.js
  25. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/shop/index.wxml
  26. 49 1
      unpackage/dist/dev/mp-weixin/pages/index/shop/index.wxss
  27. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/shopList/index.js
  28. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/shopList/index.wxml
  29. 1 1
      unpackage/dist/dev/mp-weixin/running/huodong/list.js
  30. 1 1
      unpackage/dist/dev/mp-weixin/running/huodong/list.wxml

+ 64 - 19
pages/index/index.vue

@@ -117,7 +117,7 @@
 						</view>
 						</view>
 						<view class="jxShop-box-c-list flex justify-between">
 						<view class="jxShop-box-c-list flex justify-between">
 							<view class="jxShop-box-c-list-item"
 							<view class="jxShop-box-c-list-item"
-								@click="goShopDet('/pages/index/shop/index?shopId='+item.shopId,item)"
+								@click="goShopDet(item.shopId,item,item.shopActivityList)"
 								v-for="(item,index) in jxlist" :key="index">
 								v-for="(item,index) in jxlist" :key="index">
 								<image :src="item.shopCover" mode="aspectFill"></image>
 								<image :src="item.shopCover" mode="aspectFill"></image>
 								<view class="jxShop-box-c-list-item-name">
 								<view class="jxShop-box-c-list-item-name">
@@ -164,8 +164,8 @@
 				<view class="hd-box">
 				<view class="hd-box">
 					<scroll-view scroll-x="true" class="scroll-view_H">
 					<scroll-view scroll-x="true" class="scroll-view_H">
 						<view class="hd-box-item" :style="currenthd==index?'background-color:#fcd202;':''"
 						<view class="hd-box-item" :style="currenthd==index?'background-color:#fcd202;':''"
-							@click="searchhd(index,item.activityId)" v-for="(item,index) in hdlist" :key="index">
-							{{item.activityTitle}}
+							@click="searchhd(index,item.id)" v-for="(item,index) in hdlist" :key="index">
+							{{item.title}}
 						</view>
 						</view>
 					</scroll-view>
 					</scroll-view>
 				</view>
 				</view>
@@ -173,7 +173,7 @@
 			<view class="padding-lr">
 			<view class="padding-lr">
 				<view class="margin-tb-sm flex justify-between bg-white padding-sm radius"
 				<view class="margin-tb-sm flex justify-between bg-white padding-sm radius"
 					v-for="(item,index) in shopList" :key='index'
 					v-for="(item,index) in shopList" :key='index'
-					@click="goShopDet('/pages/index/shop/index?shopId='+item.shopId,item)">
+					@click="goShopDet(item.shopId,item,item.shopActivityList)">
 					<image :src="item.shopCover[0]" class="radius" style="width: 160rpx;height: 160rpx;"></image>
 					<image :src="item.shopCover[0]" class="radius" style="width: 160rpx;height: 160rpx;"></image>
 					<view class=" margin-left-sm" style="width: 450rpx;">
 					<view class=" margin-left-sm" style="width: 450rpx;">
 						<view class=" flex flex-direction justify-between">
 						<view class=" flex flex-direction justify-between">
@@ -199,14 +199,29 @@
 										不参与配送费满减</view> -->
 										不参与配送费满减</view> -->
 									<view class="lable flex justify-center align-center" v-if="item.enableFullReductionFlag==0&&item.exemptMinMoney">
 									<view class="lable flex justify-center align-center" v-if="item.enableFullReductionFlag==0&&item.exemptMinMoney">
 										满{{item.exemptMinMoney}}免配送费</view>
 										满{{item.exemptMinMoney}}免配送费</view>
-									<view class="lable flex justify-center align-center"
-										v-for="(ite,ind) in item.shopLable" :key='ind' v-if="item.shopLable">
+									<view v-for="(ite,ind) in item.shopActivityList" :key='ind' v-if="item.shopActivityList && ite.activityType!='1'">
+										<view class="lable flex justify-center align-center" style="border-radius: 4rpx;background-color: #ffffff;color: red;box-sizing: border-box;">
+											<text v-if="ite.activityType=='2'">时段</text>
+											<text v-if="ite.activityType=='3'">满额</text>
+											<text v-if="ite.activityType=='4'">全场</text>
+											<text style="margin-left: 3px;">|</text>
+											<text style="margin-left: 3px;">{{ite.activityName}}</text>
+										</view>
+										<!-- <view class="lable flex justify-center align-center"
+											style="border-radius: 4rpx;border: 1rpx solid red;background-color: #ffffff;color: red;box-sizing: border-box;"
+											>{{ite.activityName}}
+										</view> -->
+									</view>
+									<view class="lable flex justify-center align-center" v-for="(ite,ind) in item.shopLable" :key='ind'
+										v-if="item.shopLable">
 										{{ite}}
 										{{ite}}
 									</view>
 									</view>
-									<view class="lable flex justify-center align-center" v-if="item.couponList"
-										style="border-radius: 4rpx;border: 1rpx solid red;background-color: #ffffff;color: red;box-sizing: border-box;"
-										v-for="(it,ide) in item.couponList" :key="ide">满{{it.minMoney}}减{{it.money}}
+									<view class="lable flex justify-center align-center" v-if="item.couponList" style="border-radius: 4rpx;border: 1rpx solid red;background-color: #ffffff;color: red;box-sizing: border-box;" v-for="(it,ide) in item.couponList" :key="ide">
+										<text>优惠券</text>
+										<text style="margin-left: 3px;">|</text>
+										满{{it.minMoney}}减{{it.money}}
 									</view>
 									</view>
+									
 								</view>
 								</view>
 							</view>
 							</view>
 						</view>
 						</view>
@@ -514,6 +529,7 @@
 				tuiguangImg: '',
 				tuiguangImg: '',
 				huodongList: [],
 				huodongList: [],
 				jxlist: [],
 				jxlist: [],
+				huoList:[],//商户参与的活动
 			}
 			}
 		},
 		},
 		onLoad(e) {
 		onLoad(e) {
@@ -778,14 +794,28 @@
 			},
 			},
 			//获取所有活动
 			//获取所有活动
 			gethdlist() {
 			gethdlist() {
-				this.$Request.get("/app/activityManage/getActivityList").then(res => {
+				// this.$Request.get("/app/activityManage/getActivityList").then(res => {
+				let data={
+					page:1,
+					limit:10,
+				}
+				this.$Request.get('/app/activity/page').then(res => {
 					if (res.code == 0) {
 					if (res.code == 0) {
-						res.data.records.map((item, index) => {
-							if (item.activityId == 14) {
-								res.data.records.splice(index, 1)
+						var total=res.totalCount
+						let data={
+							page:1,
+							limit:total,
+						}
+						this.$Request.get('/app/activity/page').then(res => {
+							if (res.code == 0) {
+								res.data.list.map((item, index) => {
+									if (item.id == 14) {
+										res.data.list.splice(index, 1)
+									}
+								})
+								this.hdlist = res.data.list
 							}
 							}
-						})
-						this.hdlist = res.data.records
+						});
 					}
 					}
 				});
 				});
 			},
 			},
@@ -846,9 +876,23 @@
 			getHuoDongList() {
 			getHuoDongList() {
 				// huodongList
 				// huodongList
 				// 
 				// 
-				this.$Request.getT('/app/activityManage/getActivityList').then(res => {
+				// this.$Request.getT('/app/activityManage/getActivityList').then(res => {
+				let data={
+					page:1,
+					limit:10,
+				}
+				this.$Request.getT('/app/activity/page',data).then(res => {
 					if (res.code === 0) {
 					if (res.code === 0) {
-						this.huodongList = res.data.records
+						var total=res.totalCount
+						let data={
+							page:1,
+							limit:total,
+						}
+						this.$Request.getT('/app/activity/page',data).then(res => {
+							if (res.code === 0) {
+								this.huodongList = res.data.list
+							}
+						});
 					}
 					}
 				});
 				});
 			},
 			},
@@ -1041,7 +1085,7 @@
 					})
 					})
 				}
 				}
 			},
 			},
-			goShopDet(url, e) {
+			goShopDet(url, e,shuzu) {
 				if (uni.getStorageSync('sendMsg')) {
 				if (uni.getStorageSync('sendMsg')) {
 					console.log('授权+1')
 					console.log('授权+1')
 					wx.requestSubscribeMessage({
 					wx.requestSubscribeMessage({
@@ -1091,9 +1135,10 @@
 				}
 				}
 
 
 				console.log(url)
 				console.log(url)
+				let items = encodeURIComponent(JSON.stringify(shuzu));
 				if (this.userId) {
 				if (this.userId) {
 					uni.navigateTo({
 					uni.navigateTo({
-						url
+						url:'/pages/index/shop/index?shopId='+url+'&huoListss='+items
 					})
 					})
 				} else {
 				} else {
 					uni.navigateTo({
 					uni.navigateTo({

+ 117 - 4
pages/index/search/index.vue

@@ -62,7 +62,7 @@
 				<view class="padding-lr">
 				<view class="padding-lr">
 					<view class="" v-for="(item,index) in keywordList" :key='index'>
 					<view class="" v-for="(item,index) in keywordList" :key='index'>
 						<view class=" flex justify-between bg-white padding" style="margin-bottom: 20rpx;"
 						<view class=" flex justify-between bg-white padding" style="margin-bottom: 20rpx;"
-							@click="goNav('/pages/index/shop/index?shopId='+item.shopId)">
+							@click="goNav(item.shopId,item,item.shopActivityList)">
 							<image :src="item.shopCover" class="radius" style="width: 160rpx;height: 160rpx;"></image>
 							<image :src="item.shopCover" class="radius" style="width: 160rpx;height: 160rpx;"></image>
 							<view class=" margin-left-sm" style="width: 450rpx;">
 							<view class=" margin-left-sm" style="width: 450rpx;">
 								<view class=" flex flex-direction justify-between">
 								<view class=" flex flex-direction justify-between">
@@ -87,11 +87,28 @@
 											<view class="lable flex justify-center align-center" v-if="item.enableFullReductionFlag==0&&item.exemptMinMoney">
 											<view class="lable flex justify-center align-center" v-if="item.enableFullReductionFlag==0&&item.exemptMinMoney">
 												满{{item.exemptMinMoney}}免配送费</view>
 												满{{item.exemptMinMoney}}免配送费</view>
 											<!-- <view class="lable flex justify-center align-center" v-if="item.exemptMinMoney">满{{item.exemptMinMoney}}免配送费</view> -->
 											<!-- <view class="lable flex justify-center align-center" v-if="item.exemptMinMoney">满{{item.exemptMinMoney}}免配送费</view> -->
+											<view v-for="(ite,ind) in item.shopActivityList" :key='ind' v-if="item.shopActivityList && ite.activityType!='1'">
+												<view class="lable flex justify-center align-center" style="border-radius: 4rpx;background-color: #ffffff;color: red;box-sizing: border-box;">
+													<text v-if="ite.activityType=='2'">时段</text>
+													<text v-if="ite.activityType=='3'">满额</text>
+													<text v-if="ite.activityType=='4'">全场</text>
+													<text style="margin-left: 3px;">|</text>
+													<text style="margin-left: 3px;">{{ite.activityName}}</text>
+												</view>
+												<!-- <view class="lable flex justify-center align-center"
+													style="border-radius: 4rpx;border: 1rpx solid red;background-color: #ffffff;color: red;box-sizing: border-box;"
+													>{{ite.activityName}}
+												</view> -->
+											</view>
 											<view class="lable flex justify-center align-center" v-for="(ite,ind) in item.shopLable" :key='ind'
 											<view class="lable flex justify-center align-center" v-for="(ite,ind) in item.shopLable" :key='ind'
 												v-if="item.shopLable">
 												v-if="item.shopLable">
 												{{ite}}
 												{{ite}}
 											</view>
 											</view>
-											<view class="lable flex justify-center align-center" v-if="item.couponList" style="border-radius: 4rpx;border: 1rpx solid red;background-color: #ffffff;color: red;box-sizing: border-box;" v-for="(it,ide) in item.couponList" :key="ide">满{{it.minMoney}}减{{it.money}}</view>
+											<view class="lable flex justify-center align-center" v-if="item.couponList" style="border-radius: 4rpx;border: 1rpx solid red;background-color: #ffffff;color: red;box-sizing: border-box;" v-for="(it,ide) in item.couponList" :key="ide">
+												<text>优惠券</text>
+												<text style="margin-left: 3px;">|</text>
+												<text style="margin-left: 3px;">满{{it.minMoney}}减{{it.money}}</text>
+											</view>
 										</view>
 										</view>
 									</view>
 									</view>
 								</view>
 								</view>
@@ -145,6 +162,18 @@
 					</view>
 					</view>
 				</view>
 				</view>
 			</view>
 			</view>
+			
+		</view>
+		<!-- 打样提示 -->
+		<view v-if="hintShow" class="hintPopul" @click.stop="hintShow=false">
+			<view class="content_">
+				<image src="../../../static/images/index/shop.png" mode="" style="width: 200rpx;height: 180rpx;">
+				</image>
+				<view class="text-xl text-bold">店铺打烊啦</view>
+				<view class="hintText margin-top-sm text-gray">现在店铺已经打烊了,营业时间</view>
+				<view class="margin-top-xs text-gray margin-bottom">{{shop.businessHours}}-{{shop.lockHours}}</view>
+				<view class="skuBtn" @click="hintShow=false">知道了</view>
+			</view>
 		</view>
 		</view>
 	</view>
 	</view>
 </template>
 </template>
@@ -157,6 +186,8 @@
 		},
 		},
 		data() {
 		data() {
 			return {
 			return {
+				hintShow: false,
+				shop: {},
 				currenthd:-1,
 				currenthd:-1,
 				hdlist:[],
 				hdlist:[],
 				activityId:'',
 				activityId:'',
@@ -390,11 +421,44 @@
 					url: '/pages/index/shop/goodsDet?goodsId=' + goodsId + '&shopId=' + shopId + '&orderType=1'
 					url: '/pages/index/shop/goodsDet?goodsId=' + goodsId + '&shopId=' + shopId + '&orderType=1'
 				})
 				})
 			},
 			},
-			goNav(url) {
+			goNav(url,e,shuzu) {
+				this.shop = e
+				// console.log(e, '当前店铺')
+				
+				let myDate = new Date();
+				let hours = myDate.getHours();
+				let minute = myDate.getMinutes();
+				let openTime = this.shop.businessHours.split(':')[0] //开始小时
+				let openTime1 = this.shop.businessHours.split(':')[1] //开始分钟
+				let closeTime = this.shop.lockHours.split(':')[0] //结束小时
+				let closeTime1 = this.shop.lockHours.split(':')[1] //结束分钟.
+				console.log(hours)
+				console.log(minute)
+				console.log(openTime)
+				console.log(openTime1)
+				
+				console.log(closeTime)
+				console.log(closeTime1)
+				console.log(minute >= closeTime1)
+				if (hours < openTime) {
+					this.hintShow = true
+					return
+				} else if (hours == openTime && minute < openTime1) {
+					this.hintShow = true
+					return
+				} else if (hours > closeTime) {
+					this.hintShow = true
+					return
+				} else if (hours == closeTime && minute >= closeTime1) {
+					this.hintShow = true
+					return
+				}
+				
 				console.log(url)
 				console.log(url)
+				let items = encodeURIComponent(JSON.stringify(shuzu));
 				if (this.userId) {
 				if (this.userId) {
 					uni.navigateTo({
 					uni.navigateTo({
-						url
+						url:'/pages/index/shop/index?shopId='+url+'&huoListss='+items
 					})
 					})
 				} else {
 				} else {
 					uni.navigateTo({
 					uni.navigateTo({
@@ -637,4 +701,53 @@
 		margin-right: 10rpx;
 		margin-right: 10rpx;
 		margin-bottom: 10rpx;
 		margin-bottom: 10rpx;
 	}
 	}
+	
+	.hintPopul {
+		width: 100%;
+		height: 100vh;
+		position: fixed;
+		top: 0;
+		background: rgba(0, 0, 0, .4);
+		z-index: 999;
+	}
+	.content_ {
+		position: absolute;
+		left: 0;
+		right: 0;
+		top: 0;
+		bottom: 0;
+		margin: auto;
+		text-align: center;
+		width: 500rpx;
+		height: 400rpx;
+		border-radius: 20rpx;
+		background-color: #fff;
+		padding-top: 120rpx;
+	}
+	
+	.content_ image {
+		position: absolute;
+		top: -50rpx;
+		left: 0;
+		right: 0;
+		margin: auto;
+	}
+	
+	.hintText {
+		font-size: 30rpx;
+	}
+	
+	.skuBtn {
+		width: 460rpx;
+		height: 60rpx;
+		line-height: 60rpx;
+		text-align: center;
+		background: #FCD202;
+		font-size: 28rpx;
+		border: 2rpx solid #FCD202;
+		color: #333333;
+		border-radius: 50rpx;
+		font-weight: 700;
+		margin: auto;
+	}
 </style>
 </style>

+ 56 - 3
pages/index/shop/confirmOrder.vue

@@ -96,6 +96,14 @@
 					</image>
 					</image>
 				</view>
 				</view>
 			</view>
 			</view>
+			<view class="tosend_header_do justify-between do_bot" @click="huodongShow">
+				<view>优惠活动</view>
+				<view class="tosend_header_do_ri" v-if="coupon">- ¥{{ coupon.money }}</view>
+				<view v-else>
+					<image src="../../../static/images/order/right1.png" style="width: 14rpx;height: 24rpx;" mode="">
+					</image>
+				</view>
+			</view>
 			<view class="tosend_header_do justify-between">
 			<view class="tosend_header_do justify-between">
 				<view class="tosend_header_do_le2">合计</view>
 				<view class="tosend_header_do_le2">合计</view>
 				<view class="tosend_header_do_ri2">
 				<view class="tosend_header_do_ri2">
@@ -132,9 +140,9 @@
 					<view class="flex-sub text-xl margin-left">{{ item.text }} <text
 					<view class="flex-sub text-xl margin-left">{{ item.text }} <text
 							style="font-size: 30rpx;margin-left: 10rpx;"
 							style="font-size: 30rpx;margin-left: 10rpx;"
 							v-if="userMoney && userMoney > 0">(余额:{{userMoney}})</text>
 							v-if="userMoney && userMoney > 0">(余额:{{userMoney}})</text>
-						<text v-else
+						<!-- <text v-else
 							style="font-size: 30rpx;margin-left: 10rpx;text-decoration:underline;color: #ea0000;"
 							style="font-size: 30rpx;margin-left: 10rpx;text-decoration:underline;color: #ea0000;"
-							@tap="goCash()">去充值</text>
+							@tap="goCash()">去充值</text> -->
 					</view>
 					</view>
 					<radio-group name="openWay" style="margin-left: 20upx;" @change="selectWay(item)">
 					<radio-group name="openWay" style="margin-left: 20upx;" @change="selectWay(item)">
 						<label class="tui-radio">
 						<label class="tui-radio">
@@ -184,6 +192,30 @@
 					style="height: 100rpx;line-height: 100rpx;text-align: center;font-weight: 700;">暂无可用优惠券</view>
 					style="height: 100rpx;line-height: 100rpx;text-align: center;font-weight: 700;">暂无可用优惠券</view>
 			</view>
 			</view>
 		</u-popup>
 		</u-popup>
+		<!-- 选择优惠活动 -->
+		<u-popup v-model="youhui" mode="center" :closeable="true" close-icon-pos="top-right" close-icon="close-circle"
+			close-icon-size="50" border-radius="20" width="80%" @close="closeYouhui()">
+			<view class="padding bg-gray">
+				<view class="text-center text-lg text-bold margin-bottom-sm">可用优惠活动</view>
+				<scroll-view scroll-y="true" style="height: 600rpx;" v-if="huoList.length > 0">
+					<view class="flex justify-between align-center radius margin-tb-sm padding-sm bg-white"
+						v-for="(item, index) in huoList" :key="index">
+						<view>
+							<view>{{ item.activityTitle }}</view>
+							<view>有效期至{{ item.activityEndTime }}</view>
+						</view>
+						<!-- <view class="text-sm text-bold">
+							¥
+							<text class="text-lg" v-if="item.activityType=='2'">{{ item.money }}</text>
+							<text class="text-lg" v-if="item.activityType=='2'">{{ item.money }}</text>
+							<text class="text-lg" v-if="item.activityType=='4'">全场打{{ item.discountAmount }}折</text>
+						</view> -->
+					</view>
+				</scroll-view>
+				<view v-if="huoList.length == 0"
+					style="height: 100rpx;line-height: 100rpx;text-align: center;font-weight: 700;">暂无可用优惠活动</view>
+			</view>
+		</u-popup>
 	</view>
 	</view>
 </template>
 </template>
 
 
@@ -209,8 +241,10 @@
 				parentId: '',
 				parentId: '',
 				shopId: '',
 				shopId: '',
 				show: false,
 				show: false,
-				coupon: '',
+				youhui:false,//优惠活动
+				coupon: '',//选择的优惠券信息
 				couponList: [],
 				couponList: [],
+				huoList:[],//可用活动
 				orderType: 2,
 				orderType: 2,
 				paotuiMoney: 0,
 				paotuiMoney: 0,
 				dabaoMoney: 0,
 				dabaoMoney: 0,
@@ -359,6 +393,10 @@
 			isShow() {
 			isShow() {
 				this.show = true;
 				this.show = true;
 			},
 			},
+			//选择优惠活动弹框
+			huodongShow(){
+				this.youhui=true
+			},
 			getDistance() {
 			getDistance() {
 				if (this.address.lng && this.dataList.shopLng) {
 				if (this.address.lng && this.dataList.shopLng) {
 					let data = {
 					let data = {
@@ -382,6 +420,9 @@
 			close() {
 			close() {
 				this.show = false;
 				this.show = false;
 			},
 			},
+			closeYouhui() {
+				this.youhui = false;
+			},
 			switchTab(e) {
 			switchTab(e) {
 				this.orderType = e;
 				this.orderType = e;
 				this.coupon = '';
 				this.coupon = '';
@@ -463,6 +504,17 @@
 					}
 					}
 				});
 				});
 			},
 			},
+			// 优惠活动列表
+			getHuoList(){
+				let data = {
+					orderId: this.dataList.orderId,
+				};
+				this.$Request.get(`/app/activity/suit-activity/${this.dataList.orderId}`, data).then(res => {
+					if (res.code == 0) {
+						this.huoList = res.data;
+					}
+				});
+			},
 
 
 			//拼单支付成功取消订单
 			//拼单支付成功取消订单
 
 
@@ -528,6 +580,7 @@
 
 
 						// console.log(this.dataList)
 						// console.log(this.dataList)
 						this.getCouponList();
 						this.getCouponList();
+						this.getHuoList();
 						this.detCoupon();
 						this.detCoupon();
 						this.getDistance();
 						this.getDistance();
 					}
 					}

+ 3 - 1
pages/index/shop/goodsList.vue

@@ -28,7 +28,9 @@
 								<!-- <view style="color: #FCD202;margin-right: 8rpx;">{{shopDet.autoSendOrder==1?'商家配送':'平台配送'}}</view> -->
 								<!-- <view style="color: #FCD202;margin-right: 8rpx;">{{shopDet.autoSendOrder==1?'商家配送':'平台配送'}}</view> -->
 								<view style="margin-right: 8rpx;">{{shopDet.autoSendOrder==1?'商家配送:':'平台配送:'}}</view>
 								<view style="margin-right: 8rpx;">{{shopDet.autoSendOrder==1?'商家配送:':'平台配送:'}}</view>
 								<view class="text-gray" style="margin-right: 8rpx;">配送费{{shopDet.errandMoney?shopDet.errandMoney:0}}元</view>
 								<view class="text-gray" style="margin-right: 8rpx;">配送费{{shopDet.errandMoney?shopDet.errandMoney:0}}元</view>
-								<view class="lable text-gray" v-if="shopDet.exemptMinMoney">满{{shopDet.exemptMinMoney}}元免配送费</view>
+								<!-- <view class="lable text-gray" v-if="shopDet.exemptMinMoney">满{{shopDet.exemptMinMoney}}元免配送费</view> -->
+								<view class="lable flex justify-center align-center" v-if="shopDet.enableFullReductionFlag==0&&shopDet.exemptMinMoney">
+									满{{item.exemptMinMoney}}免配送费</view>
 							</view>
 							</view>
 							
 							
 						</view>
 						</view>

+ 163 - 21
pages/index/shop/index.vue

@@ -56,11 +56,29 @@
 							bg-color="#f5f5f5" style="width: 86%;" type="none" mode="horizontal" :volume-icon="false"
 							bg-color="#f5f5f5" style="width: 86%;" type="none" mode="horizontal" :volume-icon="false"
 							:list="shopDet.shopNotice.split(',')"></u-notice-bar>
 							:list="shopDet.shopNotice.split(',')"></u-notice-bar>
 					</view>
 					</view>
+					<view style="display: flex; margin-top: 3px;" class="flex flex-wrap align-center" @click="clickGong">
+						<view v-for="(ite,ind) in huoListss" :key='ind' v-if="huoListss && ite.activityType!='1'">
+							<view class="lable flex justify-center align-center" style="border-radius: 4rpx;background-color: #ffffff;color: red;box-sizing: border-box;">
+								<text v-if="ite.activityType=='2'">时段</text>
+								<text v-if="ite.activityType=='3'">满额</text>
+								<text v-if="ite.activityType=='4'">全场</text>
+								<text style="margin-left: 3px;">|</text>
+								<text style="margin-left: 3px;">{{ite.activityName}}</text>
+							</view>
+							<!-- <view class="lable flex justify-center align-center"
+								style="border-radius: 4rpx;border: 1rpx solid red;background-color: #ffffff;color: red;box-sizing: border-box;"
+								>{{ite.activityName}}
+							</view> -->
+						</view>
+					</view>
+					
 					<view class="margin-top-xs" style="width: 100%;height: 40rpx;" v-if="couponList.length>0">
 					<view class="margin-top-xs" style="width: 100%;height: 40rpx;" v-if="couponList.length>0">
 						<scroll-view scroll-x="true" class="scroll-view_H">
 						<scroll-view scroll-x="true" class="scroll-view_H">
 							<view class="coupon-item flex align-center" v-for="(item,index) in couponList" :key="index"
 							<view class="coupon-item flex align-center" v-for="(item,index) in couponList" :key="index"
 								@click="coupons=true">
 								@click="coupons=true">
-								<view>¥</view>
+								<text>优惠券</text>
+								<text style="margin-left: 3px;">|</text>
+								<view style="margin-left: 3px;">¥</view>
 								<view class="" style="font-weight: bold;font-size: 24rpx;margin-right: 10rpx;">
 								<view class="" style="font-weight: bold;font-size: 24rpx;margin-right: 10rpx;">
 									{{item.money}}
 									{{item.money}}
 								</view>
 								</view>
@@ -142,6 +160,7 @@
 										</view>
 										</view>
 									</view>
 									</view>
 								</view>
 								</view>
+								<view style="height: 30px;"></view>
 							</view>
 							</view>
 						</scroll-view>
 						</scroll-view>
 						<empty v-if="!dataList.length"></empty>
 						<empty v-if="!dataList.length"></empty>
@@ -391,6 +410,75 @@
 					</view>
 					</view>
 				</u-popup>
 				</u-popup>
 
 
+				<!-- 点击店铺公告栏弹框 -->
+				<u-popup v-model="popupGong" mode="center" border-radius="20">
+					<view style="width: 700rpx;height: 592rpx;">
+						<view style="width: 500rpx;display: flex;">
+							<view class="gong_img">
+								<image :src="shopDet.shopCover" class="radius"
+									style="width: 110rpx;height: 110rpx;">
+								</image>
+							</view>
+							<view class="gong_name">{{shopDet.shopName}}</view>
+							
+							<view class="flex align-center margin-top-xs gong_pei">
+								<!-- <view style="color: #FCD202;margin-right: 8rpx;">{{shopDet.autoSendOrder==1?'商家配送':'平台配送'}}</view> -->
+								<view style="margin-right: 8rpx;">{{shopDet.autoSendOrder==1?'商家配送:':'平台配送:'}}</view>
+								<view class="text-gray" style="margin-right: 8rpx;">
+									配送费{{shopDet.errandMoney?shopDet.errandMoney:0}}元</view>
+								<!-- <view class="lable text-gray" v-if="shopDet.enableFullReductionFlag==1">
+										不参与配送费满减</view> -->
+								<view class="lable text-gray" v-if="shopDet.enableFullReductionFlag==0&&shopDet.exemptMinMoney">
+									满{{shopDet.exemptMinMoney}}元免配送费</view>
+							</view>
+							<view class="gong_line"></view>
+					
+						</view>
+						<view class=" align-center margin-top-xs" style="margin-top: 35rpx;">
+							<view v-for="(ite,ind) in gongHuo" :key='ind'>
+								<view class=" flex align-center" style="margin-left: 40rpx;margin-top: 4px;" v-for="(ite2,ind2) in ite.activityInGroups" :key='ind2'>
+									<text style="border-radius: 4rpx;background-color: #ffffff;color: red;box-sizing: border-box;border: 1px solid rgba(215, 55, 49, 1);" v-if="ite.activityType=='2'">时段</text>
+									<text style="border-radius: 4rpx;background-color: #ffffff;color: red;box-sizing: border-box;border: 1px solid rgba(215, 55, 49, 1);" v-if="ite.activityType=='3'">满额</text>
+									<text style="border-radius: 4rpx;background-color: #ffffff;color: red;box-sizing: border-box;border: 1px solid rgba(215, 55, 49, 1);" v-if="ite.activityType=='4'">全场</text>
+									<text style="margin-left: 6px;">{{ite2.activityTitle}}</text>
+									<view class="gong_huo" style="margin-left: 6px;">
+										<text v-if="ite2.suitType=='1'">皆适用</text>
+										<text v-if="ite2.suitType=='2'">仅针对第一次下单</text>
+										<text v-if="ite2.limitType=='1'">无数量限制</text>
+										<text v-if="ite2.limitType=='2'">每天限使用{{ite2.limitValue}}次</text>
+									</view>
+								</view>
+							</view>
+							<!-- <view v-for="(ite,ind) in gongHuo" :key='ind' v-if="ite.activityType=='3'">
+								<view class=" flex align-center" style="margin-left: 40rpx;margin-top: 4px;" v-for="(ite2,ind2) in ite2.activityInGroups" :key='ind2'>
+									<text style="border-radius: 4rpx;background-color: #ffffff;color: red;box-sizing: border-box;border: 1px solid rgba(215, 55, 49, 1);">时段</text>
+									<text style="margin-left: 6px;">{{ite2.activityTitle}}</text>
+									<view class="gong_huo" style="margin-left: 6px;">
+										<text v-if="ite2.suitType=='1'">无限制</text>
+										<text v-if="ite2.suitType=='2'">仅针对第一次下单</text>
+									</view>
+								</view>
+							</view>
+							<view v-for="(ite,ind) in gongHuo" :key='ind' v-if="ite.activityType=='4'">
+								<view class=" flex align-center" style="margin-left: 40rpx;margin-top: 4px;" v-for="(ite2,ind2) in ite2.activityInGroups" :key='ind2'>
+									<text style="border-radius: 4rpx;background-color: #ffffff;color: red;box-sizing: border-box;border: 1px solid rgba(215, 55, 49, 1);">时段</text>
+									<text style="margin-left: 6px;">{{ite2.activityTitle}}</text>
+									<view class="gong_huo" style="margin-left: 6px;">
+										<text v-if="ite2.suitType=='1'">无限制</text>
+										<text v-if="ite2.suitType=='2'">仅针对第一次下单</text>
+									</view>
+								</view>
+							</view> -->
+						</view>
+						<view class="flex align-center margin-top-xs" v-if="shopDet.shopNotice" style="margin-top: 35rpx;margin-left: 40rpx;">
+							<text style="width: 14%;">公告:</text>
+							<view>{{shopDet.shopNotice}}</view>
+						</view>
+						
+						
+					</view>
+				</u-popup>
+				
 			</view>
 			</view>
 			<view class="hintPopul" v-if="shopDet&&shopDet.putawayFlag==1">
 			<view class="hintPopul" v-if="shopDet&&shopDet.putawayFlag==1">
 				<view class="content_">
 				<view class="content_">
@@ -466,6 +554,9 @@
 				},
 				},
 				popupShow: false,
 				popupShow: false,
 				skuShow: false,
 				skuShow: false,
+				
+				popupGong: false,//店铺公告弹框
+				gongHuo:[],//店铺公告活动
 
 
 				userId: '',
 				userId: '',
 				hintShow: true, //
 				hintShow: true, //
@@ -498,9 +589,13 @@
 				XCXIsSelect: '否',
 				XCXIsSelect: '否',
 				couponList: [], //优惠券列表
 				couponList: [], //优惠券列表
 				coupons: false,
 				coupons: false,
+				huoListss:[],//活动
 			}
 			}
 		},
 		},
 		onLoad(option) {
 		onLoad(option) {
+			if(option.huoListss){
+				this.huoListss = JSON.parse(decodeURIComponent(option.huoListss))
+			}
 			this.XCXIsSelect = this.$queue.getData('XCXIsSelect');
 			this.XCXIsSelect = this.$queue.getData('XCXIsSelect');
 			if (this.XCXIsSelect == '否') {
 			if (this.XCXIsSelect == '否') {
 				// this.getGuize()
 				// this.getGuize()
@@ -523,7 +618,6 @@
 			uni.getLocation({
 			uni.getLocation({
 				type: 'gcj02', //返回可以用于uni.openLocation的经纬度
 				type: 'gcj02', //返回可以用于uni.openLocation的经纬度
 				success: function(res) {
 				success: function(res) {
-					console.log(res, '经纬度')
 					that.lat = res.latitude;
 					that.lat = res.latitude;
 					that.lng = res.longitude;
 					that.lng = res.longitude;
 
 
@@ -574,6 +668,22 @@
 			}
 			}
 		},
 		},
 		methods: {
 		methods: {
+			//点击店铺公告弹框
+			clickGong(){
+				this.getHuoList()
+				this.popupGong=true
+			},
+			//获取店铺活动信息
+			getHuoList(){
+				let data = {
+					shopId: this.shopId,
+				}
+				this.$Request.get(`/app/activity-shop/shop-activity-group/${this.shopId}`, data).then(res => {
+					if (res.code == 0) {
+						this.gongHuo=res.data.activityTypeGroups
+					}
+				});
+			},
 			//领取优惠券
 			//领取优惠券
 			lingqv(couponId, needIntegral) {
 			lingqv(couponId, needIntegral) {
 				let that = this
 				let that = this
@@ -714,7 +824,6 @@
 			},
 			},
 			// 弹窗展示商品详情
 			// 弹窗展示商品详情
 			selSku(item) {
 			selSku(item) {
-				console.log(item)
 				this.checkStateList = []
 				this.checkStateList = []
 				this.checkString = ''
 				this.checkString = ''
 				this.attrList = [];
 				this.attrList = [];
@@ -752,7 +861,6 @@
 								}
 								}
 								this.checkStateList.push(data);
 								this.checkStateList.push(data);
 								let detail = [];
 								let detail = [];
-								console.log(res.detail)
 								if (res.detail.length > 0) {
 								if (res.detail.length > 0) {
 									res.detail.split(',').forEach(d => {
 									res.detail.split(',').forEach(d => {
 										let data = {
 										let data = {
@@ -775,7 +883,6 @@
 			},
 			},
 			// 选择规格
 			// 选择规格
 			skuSel(item, index, ind) {
 			skuSel(item, index, ind) {
-				console.log(item, index, ind)
 				this.attrList[index].goodsId = index
 				this.attrList[index].goodsId = index
 				this.attrList[index].attrId = ind
 				this.attrList[index].attrId = ind
 				this.checkStateList[index].name = item.name;
 				this.checkStateList[index].name = item.name;
@@ -790,7 +897,6 @@
 						}
 						}
 					}
 					}
 				});
 				});
-				console.log(this.skuList)
 				for (var i = 0; i < this.skuList.length; i++) {
 				for (var i = 0; i < this.skuList.length; i++) {
 					let d = this.skuList[i];
 					let d = this.skuList[i];
 					if (d.detailJson == this.checkString) {
 					if (d.detailJson == this.checkString) {
@@ -832,16 +938,13 @@
 				let goodstr1 = 0 //商品库的 必须次数
 				let goodstr1 = 0 //商品库的 必须次数
 				let goodstr2 = 0 //购物车的 必须次数
 				let goodstr2 = 0 //购物车的 必须次数
 				let regex = new RegExp('必选', 'g');
 				let regex = new RegExp('必选', 'g');
-				console.log("this.dataList----" + this.dataList)
 				let dataList = JSON.stringify(this.dataList)
 				let dataList = JSON.stringify(this.dataList)
 				if (dataList.match(regex)) {
 				if (dataList.match(regex)) {
 					goodstr1 = dataList.match(regex).length
 					goodstr1 = dataList.match(regex).length
-					console.log("goodstr1----" + goodstr1)
 					if (dataList.indexOf('必选') != -1) { //检测商品是否存在必选
 					if (dataList.indexOf('必选') != -1) { //检测商品是否存在必选
 						let goodsList = JSON.stringify(this.goodsDet)
 						let goodsList = JSON.stringify(this.goodsDet)
 						if (goodsList.match(regex)) {
 						if (goodsList.match(regex)) {
 							goodstr2 = goodsList.match(regex).length
 							goodstr2 = goodsList.match(regex).length
-							console.log("goodstr2----" + goodstr2)
 							if (goodstr1 == goodstr2) { //检查购物车商品是否存在必须
 							if (goodstr1 == goodstr2) { //检查购物车商品是否存在必须
 								let data = {
 								let data = {
 									goodsId: this.goodsDet.goodsId,
 									goodsId: this.goodsDet.goodsId,
@@ -980,7 +1083,6 @@
 			},
 			},
 			// 展示购物车弹窗
 			// 展示购物车弹窗
 			isPopupShow() {
 			isPopupShow() {
-				console.log(this.goodsList, '677')
 				if (this.goodsList && this.goodsList.orderGoodsList && this.goodsList.orderGoodsList[0].length > 0) {
 				if (this.goodsList && this.goodsList.orderGoodsList && this.goodsList.orderGoodsList[0].length > 0) {
 					this.popupShow = true
 					this.popupShow = true
 				} else {
 				} else {
@@ -993,7 +1095,6 @@
 			// 添加数量
 			// 添加数量
 			add(item, index) {
 			add(item, index) {
 				// this.count++;
 				// this.count++;
-				console.log(item, index)
 				this.goodsList.orderGoodsList[0][index].goodsNum++
 				this.goodsList.orderGoodsList[0][index].goodsNum++
 
 
 				let data = {
 				let data = {
@@ -1013,7 +1114,6 @@
 			},
 			},
 			// 减少数量
 			// 减少数量
 			noAdd(item, index) {
 			noAdd(item, index) {
-				console.log(item, index)
 				this.goodsList.orderGoodsList[0][index].goodsNum--
 				this.goodsList.orderGoodsList[0][index].goodsNum--
 				// this.count--;
 				// this.count--;
 				let data = {
 				let data = {
@@ -1107,17 +1207,13 @@
 				if (this.goodsList && this.goodsList.orderGoodsList[0].length > 0) {
 				if (this.goodsList && this.goodsList.orderGoodsList[0].length > 0) {
 					// aa=this.dataList.map(item => item.goodsList)
 					// aa=this.dataList.map(item => item.goodsList)
 					// bb=aa.map(item => item)
 					// bb=aa.map(item => item)
-					// console.log('结算',aa,bb,this.dataList)
 					let dataList = JSON.stringify(this.dataList)
 					let dataList = JSON.stringify(this.dataList)
 					if (dataList.match(regex)) {
 					if (dataList.match(regex)) {
 						goodstr1 = dataList.match(regex).length
 						goodstr1 = dataList.match(regex).length
-						console.log("goodstr12----" + goodstr1)
 						if (dataList.indexOf('必选') != -1) { //检测商品是否存在必选
 						if (dataList.indexOf('必选') != -1) { //检测商品是否存在必选
 							let goodsList = JSON.stringify(this.goodsList.orderGoodsList)
 							let goodsList = JSON.stringify(this.goodsList.orderGoodsList)
-							console.log(goodsList)
 							if (goodsList.match(regex)) {
 							if (goodsList.match(regex)) {
 								goodstr2 = goodsList.match(regex).length
 								goodstr2 = goodsList.match(regex).length
-								console.log("goodstr2----" + goodstr2)
 								if (goodstr1 == goodstr2) { //检查购物车商品是否存在必须
 								if (goodstr1 == goodstr2) { //检查购物车商品是否存在必须
 									uni.navigateTo({
 									uni.navigateTo({
 										url: '/pages/index/shop/confirmOrder?shopId=' + this.shopId +
 										url: '/pages/index/shop/confirmOrder?shopId=' + this.shopId +
@@ -1154,7 +1250,6 @@
 				}
 				}
 			},
 			},
 			TabSelect(e) {
 			TabSelect(e) {
-				console.log(e.currentTarget.dataset.id)
 				this.tabCur = e.currentTarget.dataset.id;
 				this.tabCur = e.currentTarget.dataset.id;
 				this.mainCur = e.currentTarget.dataset.id;
 				this.mainCur = e.currentTarget.dataset.id;
 				this.verticalNavTop = (e.currentTarget.dataset.id - 1) * 50
 				this.verticalNavTop = (e.currentTarget.dataset.id - 1) * 50
@@ -1168,7 +1263,6 @@
 						view.fields({
 						view.fields({
 							size: true
 							size: true
 						}, data => {
 						}, data => {
-							console.log(data, 'data 828')
 							this.dataList[i].top = tabHeight;
 							this.dataList[i].top = tabHeight;
 							tabHeight = tabHeight + data.height;
 							tabHeight = tabHeight + data.height;
 							this.dataList[i].bottom = tabHeight;
 							this.dataList[i].bottom = tabHeight;
@@ -1177,12 +1271,10 @@
 					this.load = false
 					this.load = false
 				}
 				}
 				let scrollTop = e.detail.scrollTop;
 				let scrollTop = e.detail.scrollTop;
-				// console.log(scrollTop,'111')
 				for (let i = 0; i < this.dataList.length; i++) {
 				for (let i = 0; i < this.dataList.length; i++) {
 					if (scrollTop > this.dataList[i].top && scrollTop < this.dataList[i].bottom) {
 					if (scrollTop > this.dataList[i].top && scrollTop < this.dataList[i].bottom) {
 						this.verticalNavTop = (this.dataList[i].id - 1) * 50
 						this.verticalNavTop = (this.dataList[i].id - 1) * 50
 						this.tabCur = this.dataList[i].id
 						this.tabCur = this.dataList[i].id
-						console.log(scrollTop) //不能删除
 						return false
 						return false
 					}
 					}
 				}
 				}
@@ -1616,7 +1708,7 @@
 		display: flex;
 		display: flex;
 		justify-content: space-between;
 		justify-content: space-between;
 		align-items: center;
 		align-items: center;
-		margin-top: 100rpx;
+		margin-top: 190rpx;
 		background-color: #FFFFFF;
 		background-color: #FFFFFF;
 		// padding-bottom: 3%;
 		// padding-bottom: 3%;
 		padding: 3%;
 		padding: 3%;
@@ -1930,4 +2022,54 @@
 		background: #FCD202;
 		background: #FCD202;
 		border-radius: 36rpx;
 		border-radius: 36rpx;
 	}
 	}
+	
+	.lable {
+		border: 1rpx solid #FFE6D9;
+		height: 40rpx;
+		padding: 0 14rpx;
+		background: #FFE6D9;
+		border-radius: 4rpx;
+		font-weight: 500;
+		color: #FD6416;
+		font-size: 20rpx;
+		margin-right: 10rpx;
+		margin-bottom: 10rpx;
+	}
+	//店铺公告弹框
+	.gong_img{
+		margin: 40rpx 0 0 40rpx;
+		width: 46px;
+		height: 46px;
+	}
+	.gong_name{
+		position: absolute;
+		margin: 41rpx 0 0 163rpx;
+		font-size: 28rpx;
+		font-weight: 700;
+		color: rgba(0, 0, 0, 1);
+	}
+	.gong_pei{
+		position: absolute;
+		margin: 87rpx 0 0 163rpx;
+		font-size: 20rpx;
+		font-weight: 400;
+		color: rgba(0, 0, 0, 1);
+	}
+	.gong_line{
+		position: absolute;
+		margin: 161rpx 0 0 1rpx;
+		width: 635.5rpx;
+		border: 1rpx solid rgba(230, 230, 230, 1);
+	}
+	.gong_huo{
+		width: 151rpx;
+		height: 34rpx;
+		border-radius: 5rpx;
+		background: rgba(230, 74, 69, 1);
+		font-size: 16rpx;
+		font-weight: 400;
+		line-height: 34rpx;
+		color: rgba(255, 255, 255, 1);
+		text-align: center;
+	}
 </style>
 </style>

+ 72 - 7
pages/index/shopList/index.vue

@@ -48,7 +48,7 @@
 				<!-- #endif -->
 				<!-- #endif -->
 				<view class="" v-for="(item,index) in shopList" :key='index'>
 				<view class="" v-for="(item,index) in shopList" :key='index'>
 					<view class="margin-tb-sm flex justify-between bg-white padding"
 					<view class="margin-tb-sm flex justify-between bg-white padding"
-						@click="goNav('/pages/index/shop/index?shopId='+item.shopId)">
+						@click="goNav(item.shopId,item,item.shopActivityList)">
 						<image :src="item.shopCover" class="radius" style="width: 160rpx;height: 160rpx;"></image>
 						<image :src="item.shopCover" class="radius" style="width: 160rpx;height: 160rpx;"></image>
 						<view class=" margin-left-sm" style="width: 450rpx;">
 						<view class=" margin-left-sm" style="width: 450rpx;">
 							<view class=" flex flex-direction justify-between">
 							<view class=" flex flex-direction justify-between">
@@ -70,12 +70,32 @@
 									营业时间:{{item.businessHours}}-{{item.lockHours}}</view>
 									营业时间:{{item.businessHours}}-{{item.lockHours}}</view>
 								<view class="flex margin-top-xs justify-between align-start" style="width: 100%;">
 								<view class="flex margin-top-xs justify-between align-start" style="width: 100%;">
 									<view class="flex flex-wrap align-center" style="width: 100%;height: 100%;overflow: hidden;">
 									<view class="flex flex-wrap align-center" style="width: 100%;height: 100%;overflow: hidden;">
-										<view class="lable flex justify-center align-center" v-if="item.exemptMinMoney">满{{item.exemptMinMoney}}免配送费</view>
+										<view class="lable flex justify-center align-center" v-if="item.enableFullReductionFlag==0&&item.exemptMinMoney">
+											满{{item.exemptMinMoney}}免配送费</view>
+										<!-- <view class="lable flex justify-center align-center" v-if="item.exemptMinMoney">满{{item.exemptMinMoney}}免配送费</view> -->
+										<view v-for="(ite,ind) in item.shopActivityList" :key='ind' v-if="item.shopActivityList && ite.activityType!='1'">
+											<view class="lable flex justify-center align-center" style="border-radius: 4rpx;background-color: #ffffff;color: red;box-sizing: border-box;">
+												<text v-if="ite.activityType=='2'">时段</text>
+												<text v-if="ite.activityType=='3'">满额</text>
+												<text v-if="ite.activityType=='4'">全场</text>
+												<text style="margin-left: 3px;">|</text>
+												<text style="margin-left: 3px;">{{ite.activityName}}</text>
+											</view>
+											<!-- <view class="lable flex justify-center align-center"
+												style="border-radius: 4rpx;border: 1rpx solid red;background-color: #ffffff;color: red;box-sizing: border-box;"
+												>{{ite.activityName}}
+											</view> -->
+										</view>
 										<view class="lable flex justify-center align-center" v-for="(ite,ind) in item.shopLable" :key='ind'
 										<view class="lable flex justify-center align-center" v-for="(ite,ind) in item.shopLable" :key='ind'
 											v-if="item.shopLable">
 											v-if="item.shopLable">
 											{{ite}}
 											{{ite}}
 										</view>
 										</view>
-										<view class="lable flex justify-center align-center" v-if="item.couponList" style="border-radius: 4rpx;border: 1rpx solid red;background-color: #ffffff;color: red;box-sizing: border-box;" v-for="(it,ide) in item.couponList" :key="ide">满{{it.minMoney}}减{{it.money}}</view>
+										<view class="lable flex justify-center align-center" v-if="item.couponList" style="border-radius: 4rpx;border: 1rpx solid red;background-color: #ffffff;color: red;box-sizing: border-box;" v-for="(it,ide) in item.couponList" :key="ide">
+											<text>优惠券</text>
+											<text style="margin-left: 3px;">|</text>
+											<text style="margin-left: 3px;">满{{it.minMoney}}减{{it.money}}</text>
+										</view>
+										<!-- <view class="lable flex justify-center align-center" v-if="item.couponList" style="border-radius: 4rpx;border: 1rpx solid red;background-color: #ffffff;color: red;box-sizing: border-box;" v-for="(it,ide) in item.couponList" :key="ide">满{{it.minMoney}}减{{it.money}}</view> -->
 									</view>
 									</view>
 								</view>
 								</view>
 							</view>
 							</view>
@@ -95,7 +115,18 @@
 				</view>
 				</view>
 			</view>
 			</view>
 			<empty v-if="!shopList.length"></empty>
 			<empty v-if="!shopList.length"></empty>
-
+			
+			<!-- 打样提示 -->
+			<view v-if="hintShow" class="hintPopul" @click.stop="hintShow=false">
+				<view class="content_">
+					<image src="../../../static/images/index/shop.png" mode="" style="width: 200rpx;height: 180rpx;">
+					</image>
+					<view class="text-xl text-bold">店铺打烊啦</view>
+					<view class="hintText margin-top-sm text-gray">现在店铺已经打烊了,营业时间</view>
+					<view class="margin-top-xs text-gray margin-bottom">{{shop.businessHours}}-{{shop.lockHours}}</view>
+					<view class="skuBtn" @click="hintShow=false">知道了</view>
+				</view>
+			</view>
 		</view>
 		</view>
 		<view v-else>
 		<view v-else>
 			<view style="font-size: 28upx;" v-html="content"></view>
 			<view style="font-size: 28upx;" v-html="content"></view>
@@ -153,7 +184,8 @@
 				title3: '筛选',
 				title3: '筛选',
 				totalCount: 0,
 				totalCount: 0,
 				XCXIsSelect: '否',
 				XCXIsSelect: '否',
-				content:''
+				content:'',
+				hintShow: false,
 			}
 			}
 		},
 		},
 		onLoad(e) {
 		onLoad(e) {
@@ -339,11 +371,44 @@
 					}
 					}
 				})
 				})
 			},
 			},
-			goNav(url) {
+			goNav(url,e,shuzu) {
+				this.shop = e
+				// console.log(e, '当前店铺')
+				
+				let myDate = new Date();
+				let hours = myDate.getHours();
+				let minute = myDate.getMinutes();
+				let openTime = this.shop.businessHours.split(':')[0] //开始小时
+				let openTime1 = this.shop.businessHours.split(':')[1] //开始分钟
+				let closeTime = this.shop.lockHours.split(':')[0] //结束小时
+				let closeTime1 = this.shop.lockHours.split(':')[1] //结束分钟.
+				console.log(hours)
+				console.log(minute)
+				console.log(openTime)
+				console.log(openTime1)
+				
+				console.log(closeTime)
+				console.log(closeTime1)
+				console.log(minute >= closeTime1)
+				if (hours < openTime) {
+					this.hintShow = true
+					return
+				} else if (hours == openTime && minute < openTime1) {
+					this.hintShow = true
+					return
+				} else if (hours > closeTime) {
+					this.hintShow = true
+					return
+				} else if (hours == closeTime && minute >= closeTime1) {
+					this.hintShow = true
+					return
+				}
+				
 				console.log(url)
 				console.log(url)
+				let items = encodeURIComponent(JSON.stringify(shuzu));
 				if (this.userId) {
 				if (this.userId) {
 					uni.navigateTo({
 					uni.navigateTo({
-						url
+						url:'/pages/index/shop/index?shopId='+url+'&huoListss='+items
 					})
 					})
 				} else {
 				} else {
 					uni.navigateTo({
 					uni.navigateTo({

+ 68 - 6
running/huodong/list.vue

@@ -54,7 +54,7 @@
 				<!-- #endif -->
 				<!-- #endif -->
 				<view class="" v-for="(item,index) in shopList" :key='index'>
 				<view class="" v-for="(item,index) in shopList" :key='index'>
 					<view class="margin-tb-sm flex justify-between bg-white padding"
 					<view class="margin-tb-sm flex justify-between bg-white padding"
-						@click="goNav('/pages/index/shop/index?shopId='+item.shopId)">
+						@click="goNav(item.shopId,item,item.shopActivityList)">
 						<image :src="item.shopCover" class="radius" style="width: 160rpx;height: 160rpx;"></image>
 						<image :src="item.shopCover" class="radius" style="width: 160rpx;height: 160rpx;"></image>
 						<view class=" margin-left-sm" style="width: 450rpx;">
 						<view class=" margin-left-sm" style="width: 450rpx;">
 							<view class=" flex flex-direction justify-between">
 							<view class=" flex flex-direction justify-between">
@@ -76,12 +76,31 @@
 									营业时间:{{item.businessHours}}-{{item.lockHours}}</view>
 									营业时间:{{item.businessHours}}-{{item.lockHours}}</view>
 								<view class="flex margin-top-xs justify-between align-start" style="width: 100%;">
 								<view class="flex margin-top-xs justify-between align-start" style="width: 100%;">
 									<view class="flex flex-wrap align-center" style="width: 100%;height: 100%;overflow: hidden;">
 									<view class="flex flex-wrap align-center" style="width: 100%;height: 100%;overflow: hidden;">
-										<view class="lable flex justify-center align-center" v-if="item.exemptMinMoney">满{{item.exemptMinMoney}}免配送费</view>
+										<view class="lable flex justify-center align-center" v-if="item.enableFullReductionFlag==0&&item.exemptMinMoney">
+											满{{item.exemptMinMoney}}免配送费</view>
+										<!-- <view class="lable flex justify-center align-center" v-if="item.exemptMinMoney">满{{item.exemptMinMoney}}免配送费</view> -->
+										<view v-for="(ite,ind) in item.shopActivityList" :key='ind' v-if="item.shopActivityList && ite.activityType!='1'">
+											<view class="lable flex justify-center align-center" style="border-radius: 4rpx;background-color: #ffffff;color: red;box-sizing: border-box;">
+												<text v-if="ite.activityType=='2'">时段</text>
+												<text v-if="ite.activityType=='3'">满额</text>
+												<text v-if="ite.activityType=='4'">全场</text>
+												<text style="margin-left: 3px;">|</text>
+												<text style="margin-left: 3px;">{{ite.activityName}}</text>
+											</view>
+											<!-- <view class="lable flex justify-center align-center"
+												style="border-radius: 4rpx;border: 1rpx solid red;background-color: #ffffff;color: red;box-sizing: border-box;"
+												>{{ite.activityName}}
+											</view> -->
+										</view>
 										<view class="lable flex justify-center align-center" v-for="(ite,ind) in item.shopLable" :key='ind'
 										<view class="lable flex justify-center align-center" v-for="(ite,ind) in item.shopLable" :key='ind'
 											v-if="item.shopLable">
 											v-if="item.shopLable">
 											{{ite}}
 											{{ite}}
 										</view>
 										</view>
-										<view class="lable flex justify-center align-center" v-if="item.couponList" style="border-radius: 4rpx;border: 1rpx solid red;background-color: #ffffff;color: red;box-sizing: border-box;" v-for="(it,ide) in item.couponList" :key="ide">满{{it.minMoney}}减{{it.money}}</view>
+										<view class="lable flex justify-center align-center" v-if="item.couponList" style="border-radius: 4rpx;border: 1rpx solid red;background-color: #ffffff;color: red;box-sizing: border-box;" v-for="(it,ide) in item.couponList" :key="ide">
+											<text>优惠券</text>
+											<text style="margin-left: 3px;">|</text>
+											<text style="margin-left: 3px;">满{{it.minMoney}}减{{it.money}}</text>
+										</view>
 									</view>
 									</view>
 								</view>
 								</view>
 							</view>
 							</view>
@@ -101,7 +120,17 @@
 				</view>
 				</view>
 			</view>
 			</view>
 			<empty v-if="!shopList.length"></empty>
 			<empty v-if="!shopList.length"></empty>
-
+			<!-- 打样提示 -->
+			<view v-if="hintShow" class="hintPopul" @click.stop="hintShow=false">
+				<view class="content_">
+					<image src="../../../static/images/index/shop.png" mode="" style="width: 200rpx;height: 180rpx;">
+					</image>
+					<view class="text-xl text-bold">店铺打烊啦</view>
+					<view class="hintText margin-top-sm text-gray">现在店铺已经打烊了,营业时间</view>
+					<view class="margin-top-xs text-gray margin-bottom">{{shop.businessHours}}-{{shop.lockHours}}</view>
+					<view class="skuBtn" @click="hintShow=false">知道了</view>
+				</view>
+			</view>
 		</view>
 		</view>
 		<view v-else>
 		<view v-else>
 			<view style="font-size: 28upx;" v-html="content"></view>
 			<view style="font-size: 28upx;" v-html="content"></view>
@@ -342,11 +371,44 @@
 					}
 					}
 				})
 				})
 			},
 			},
-			goNav(url) {
+			goNav(url,e,shuzu) {
+				this.shop = e
+				// console.log(e, '当前店铺')
+				
+				let myDate = new Date();
+				let hours = myDate.getHours();
+				let minute = myDate.getMinutes();
+				let openTime = this.shop.businessHours.split(':')[0] //开始小时
+				let openTime1 = this.shop.businessHours.split(':')[1] //开始分钟
+				let closeTime = this.shop.lockHours.split(':')[0] //结束小时
+				let closeTime1 = this.shop.lockHours.split(':')[1] //结束分钟.
+				console.log(hours)
+				console.log(minute)
+				console.log(openTime)
+				console.log(openTime1)
+				
+				console.log(closeTime)
+				console.log(closeTime1)
+				console.log(minute >= closeTime1)
+				if (hours < openTime) {
+					this.hintShow = true
+					return
+				} else if (hours == openTime && minute < openTime1) {
+					this.hintShow = true
+					return
+				} else if (hours > closeTime) {
+					this.hintShow = true
+					return
+				} else if (hours == closeTime && minute >= closeTime1) {
+					this.hintShow = true
+					return
+				}
+				
 				console.log(url)
 				console.log(url)
+				let items = encodeURIComponent(JSON.stringify(shuzu));
 				if (this.userId) {
 				if (this.userId) {
 					uni.navigateTo({
 					uni.navigateTo({
-						url
+						url:'/pages/index/shop/index?shopId='+url+'&huoListss='+items
 					})
 					})
 				} else {
 				} else {
 					uni.navigateTo({
 					uni.navigateTo({

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/search/index.js.map


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/shop/confirmOrder.js.map


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/shop/goodsList.js.map


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/shop/index.js.map


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/shopList/index.js.map


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/running/huodong/list.js.map


+ 2 - 2
unpackage/dist/dev/mp-weixin/components/watch-login/watch-input.json

@@ -1,4 +1,4 @@
 {
 {
-  "usingComponents": {},
-  "component": true
+  "component": true,
+  "usingComponents": {}
 }
 }

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/index.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/index.wxml


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/search/index.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/search/index.wxml


+ 45 - 0
unpackage/dist/dev/mp-weixin/pages/index/search/index.wxss

@@ -200,5 +200,50 @@ page {
   font-size: 20rpx;
   font-size: 20rpx;
   margin-right: 10rpx;
   margin-right: 10rpx;
   margin-bottom: 10rpx;
   margin-bottom: 10rpx;
+}
+.hintPopul {
+  width: 100%;
+  height: 100vh;
+  position: fixed;
+  top: 0;
+  background: rgba(0, 0, 0, 0.4);
+  z-index: 999;
+}
+.content_ {
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 0;
+  margin: auto;
+  text-align: center;
+  width: 500rpx;
+  height: 400rpx;
+  border-radius: 20rpx;
+  background-color: #fff;
+  padding-top: 120rpx;
+}
+.content_ image {
+  position: absolute;
+  top: -50rpx;
+  left: 0;
+  right: 0;
+  margin: auto;
+}
+.hintText {
+  font-size: 30rpx;
+}
+.skuBtn {
+  width: 460rpx;
+  height: 60rpx;
+  line-height: 60rpx;
+  text-align: center;
+  background: #FCD202;
+  font-size: 28rpx;
+  border: 2rpx solid #FCD202;
+  color: #333333;
+  border-radius: 50rpx;
+  font-weight: 700;
+  margin: auto;
 }
 }
 
 

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/shop/confirmOrder.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/shop/confirmOrder.wxml


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/shop/goodsList.wxml


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/shop/index.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/shop/index.wxml


+ 49 - 1
unpackage/dist/dev/mp-weixin/pages/index/shop/index.wxss

@@ -314,7 +314,7 @@ page.data-v-154aa962 {
   display: flex;
   display: flex;
   justify-content: space-between;
   justify-content: space-between;
   align-items: center;
   align-items: center;
-  margin-top: 100rpx;
+  margin-top: 190rpx;
   background-color: #FFFFFF;
   background-color: #FFFFFF;
   padding: 3%;
   padding: 3%;
 }
 }
@@ -584,5 +584,53 @@ page.data-v-154aa962 {
   text-align: center;
   text-align: center;
   background: #FCD202;
   background: #FCD202;
   border-radius: 36rpx;
   border-radius: 36rpx;
+}
+.lable.data-v-154aa962 {
+  border: 1rpx solid #FFE6D9;
+  height: 40rpx;
+  padding: 0 14rpx;
+  background: #FFE6D9;
+  border-radius: 4rpx;
+  font-weight: 500;
+  color: #FD6416;
+  font-size: 20rpx;
+  margin-right: 10rpx;
+  margin-bottom: 10rpx;
+}
+.gong_img.data-v-154aa962 {
+  margin: 40rpx 0 0 40rpx;
+  width: 46px;
+  height: 46px;
+}
+.gong_name.data-v-154aa962 {
+  position: absolute;
+  margin: 41rpx 0 0 163rpx;
+  font-size: 28rpx;
+  font-weight: 700;
+  color: black;
+}
+.gong_pei.data-v-154aa962 {
+  position: absolute;
+  margin: 87rpx 0 0 163rpx;
+  font-size: 20rpx;
+  font-weight: 400;
+  color: black;
+}
+.gong_line.data-v-154aa962 {
+  position: absolute;
+  margin: 161rpx 0 0 1rpx;
+  width: 635.5rpx;
+  border: 1rpx solid #e6e6e6;
+}
+.gong_huo.data-v-154aa962 {
+  width: 151rpx;
+  height: 34rpx;
+  border-radius: 5rpx;
+  background: #e64a45;
+  font-size: 16rpx;
+  font-weight: 400;
+  line-height: 34rpx;
+  color: white;
+  text-align: center;
 }
 }
 
 

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/shopList/index.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/shopList/index.wxml


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/mp-weixin/running/huodong/list.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
unpackage/dist/dev/mp-weixin/running/huodong/list.wxml