|
|
|
@ -1,6 +1,6 @@ |
|
|
|
<template> |
|
|
|
<!-- 拼团单一商家 --> |
|
|
|
<view class="page1"> |
|
|
|
<view class="page1" :class="{'store-group-page': isStoreGroupOrder}"> |
|
|
|
<!-- 固定顶部导航栏(悬浮在背景图之上) --> |
|
|
|
<view class="nav-bar" |
|
|
|
:style="{'padding-top': menuButtonInfo.top +'px','background':((orderListWait.length > 0 && lastScrollTop>217) || (orderListWait.length == 0 && lastScrollTop>149))?'#fff':''}"> |
|
|
|
@ -38,7 +38,7 @@ |
|
|
|
{{shopItem.shopName}} |
|
|
|
</view> |
|
|
|
<view class="shop-subtitle"> |
|
|
|
约上室友同学一起拼,越快成团越快开吃 |
|
|
|
{{isStoreGroupOrder ? '到店核销,约上同学一起拼更划算' : '约上室友同学一起拼,越快成团越快开吃'}} |
|
|
|
</view> |
|
|
|
<view class="shop-content-center"> |
|
|
|
<view class="shop-rate"> |
|
|
|
@ -118,7 +118,7 @@ |
|
|
|
<scroll-view scroll-y id="menuList" class="menu-scroll" |
|
|
|
:style="{ height: stickyInnerHeight + 'px' }"> |
|
|
|
<view class="menu1" @tap="checkTab(index)" v-for="(item,index) in menuList" :key="index" |
|
|
|
:style="{'border-top-right-radius':item.checked?'20rpx':'','border-bottom-right-radius':item.checked?'20rpx':'','color':item.checked?'rgba(0, 35, 28, 1)':'#777','background':item.checked?'#fff':''}"> |
|
|
|
:style="{'border-top-right-radius':item.checked?'20rpx':'','border-bottom-right-radius':item.checked?'20rpx':'','color':item.checked ? (isStoreGroupOrder ? '#f0642f' : 'rgba(0, 35, 28, 1)') : (isStoreGroupOrder ? '#9b6a4c' : '#777'),'background':item.checked ? (isStoreGroupOrder ? 'linear-gradient(90deg, #fff4e8, #fff)' : '#fff') : ''}"> |
|
|
|
<image class="menu-active-dot" v-if="item.checked" src="/static/images/img/loading.gif" |
|
|
|
mode="aspectFit"></image> |
|
|
|
<view style="width: 160rpx;">{{item.categoryName}}</view> |
|
|
|
@ -209,7 +209,11 @@ |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="bottom-right checkout-btn" @tap="submitCartCheckout"> |
|
|
|
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/d93d893296ed46ea99cfd0e8e2835eaa.png" alt="" /> |
|
|
|
<img v-if="!isStoreGroupOrder" src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/d93d893296ed46ea99cfd0e8e2835eaa.png" alt="" /> |
|
|
|
<view v-else class="store-checkout-btn"> |
|
|
|
<text>去下单</text> |
|
|
|
<view class="store-checkout-shine"></view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
@ -276,8 +280,12 @@ |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="bottom-right" @tap="submitCartCheckout"> |
|
|
|
<img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/d93d893296ed46ea99cfd0e8e2835eaa.png" |
|
|
|
<img v-if="!isStoreGroupOrder" src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/d93d893296ed46ea99cfd0e8e2835eaa.png" |
|
|
|
alt="" /> |
|
|
|
<view v-else class="store-checkout-btn"> |
|
|
|
<text>去下单</text> |
|
|
|
<view class="store-checkout-shine"></view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
@ -298,7 +306,7 @@ |
|
|
|
<uni-icons type="close" size="30" color="#fff"></uni-icons> |
|
|
|
</view> |
|
|
|
<view class="popup-rally-title" v-if="isPintuan"> |
|
|
|
<view class="popup-rally-main">拼团搭子哪里找-隔壁宿舍全是宝!</view> |
|
|
|
<view class="popup-rally-main">{{isStoreGroupOrder ? '到店团购搭子哪里找-同校同学一起省!' : '拼团搭子哪里找-隔壁宿舍全是宝!'}}</view> |
|
|
|
</view> |
|
|
|
<view class="goods-top popup-product-card"> |
|
|
|
<view class="goods-img"> |
|
|
|
@ -427,13 +435,13 @@ |
|
|
|
<view class="pintuan2" |
|
|
|
style="background: rgba(0, 35, 28, 1);border-bottom-right-radius: 100rpx;border-top-right-radius: 100rpx;color: rgba(166, 255, 234, 1);" |
|
|
|
@tap.stop="submitPintuan(false)"> |
|
|
|
发起拼团¥{{selectedGroupRule && selectedGroupRule.groupPrice ? parseFloat(selectedGroupRule.groupPriceAndMore).toFixed(2) : '0.00'}} |
|
|
|
{{isStoreGroupOrder ? '发起到店团' : '发起拼团'}}¥{{selectedGroupRule && selectedGroupRule.groupPrice ? parseFloat(selectedGroupRule.groupPriceAndMore).toFixed(2) : '0.00'}} |
|
|
|
</view> |
|
|
|
</template> |
|
|
|
<template v-else> |
|
|
|
<view class="pintuan2" style="width: 100%; border-radius: 100rpx;" |
|
|
|
@tap.stop="submitPintuan(false)"> |
|
|
|
参与拼团¥{{selectedGroupRule && selectedGroupRule.groupPriceAndMore ? parseFloat(selectedGroupRule.groupPriceAndMore).toFixed(2) : '0.00'}} |
|
|
|
{{isStoreGroupOrder ? '参与到店团' : '参与拼团'}}¥{{selectedGroupRule && selectedGroupRule.groupPriceAndMore ? parseFloat(selectedGroupRule.groupPriceAndMore).toFixed(2) : '0.00'}} |
|
|
|
</view> |
|
|
|
</template> |
|
|
|
</view> |
|
|
|
@ -514,7 +522,7 @@ |
|
|
|
若拼团失败,将会为您自动退款 |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="box1" style="display: flex;padding: 40rpx;" v-if="groupdeliveryType == 2"> |
|
|
|
<view class="box1" style="display: flex;padding: 40rpx;" v-if="groupdeliveryType == 2 && !isStoreGroupOrder"> |
|
|
|
<view style="flex: 1;"> |
|
|
|
<view style="height: 42rpx;line-height: 42rpx;display: flex;"> |
|
|
|
<!-- <img src="https://jewel-shop.oss-cn-beijing.aliyuncs.com/4c8e0cc311db4d38ab43e019673c4b8c.png" |
|
|
|
@ -564,7 +572,7 @@ |
|
|
|
<view class="btn" |
|
|
|
style="background: linear-gradient(90deg, rgba(227, 255, 150, 1), rgba(166, 255, 234, 1));width: 90%;height: 100rpx;border-radius: 100rpx;text-align: center;font-size: 28rpx;font-weight: 700;line-height: 100rpx;margin: 40rpx auto;" |
|
|
|
@tap="wxPayment"> |
|
|
|
确认付款{{nowMake && groupdeliveryType == 2 ? '-即刻出餐' : ''}} |
|
|
|
确认付款{{nowMake && groupdeliveryType == 2 && !isStoreGroupOrder ? '-即刻出餐' : ''}} |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
@ -694,6 +702,7 @@ |
|
|
|
loadStatus: 'more', |
|
|
|
type: '', |
|
|
|
isPindan:true, |
|
|
|
orderScene: '', |
|
|
|
shopId: '', |
|
|
|
shopItem: { |
|
|
|
shopIcon: '', |
|
|
|
@ -760,6 +769,9 @@ |
|
|
|
|
|
|
|
}, |
|
|
|
computed: { |
|
|
|
isStoreGroupOrder() { |
|
|
|
return this.orderScene === 'storeGroup' || this.shopItem.merchantType == 2; |
|
|
|
}, |
|
|
|
cartTotalCount() { |
|
|
|
return this.cartItems.reduce((acc, curr) => acc + curr.quantity, 0); |
|
|
|
}, |
|
|
|
@ -803,6 +815,7 @@ |
|
|
|
}, |
|
|
|
onLoad(option) { |
|
|
|
this.type = option.type; |
|
|
|
this.orderScene = option.orderScene || ''; |
|
|
|
if (option.groupId) { |
|
|
|
this.groupId = option.groupId; |
|
|
|
} |
|
|
|
@ -1378,12 +1391,13 @@ |
|
|
|
specs: specChoices, |
|
|
|
orderType: 2, // 2 indicates Group Buy |
|
|
|
groupId: this.groupId, |
|
|
|
isFaceToFace: this.groupId ? this.isFaceToFaceGroup : (isFaceToFace || false) |
|
|
|
isFaceToFace: this.groupId ? this.isFaceToFaceGroup : (isFaceToFace || false), |
|
|
|
orderScene: this.orderScene |
|
|
|
}; |
|
|
|
uni.navigateTo({ |
|
|
|
url: '/package1/buyFood/buyFood?item=' + encodeURIComponent(JSON.stringify(goData)) + |
|
|
|
'&shopItem=' + encodeURIComponent(JSON.stringify(this.shopItem)) + '&packageFee=' + |
|
|
|
packageFee |
|
|
|
packageFee + (this.orderScene ? '&orderScene=' + this.orderScene : '') |
|
|
|
}); |
|
|
|
this.$refs.pintuanPopup.close(); |
|
|
|
}, |
|
|
|
@ -1681,7 +1695,7 @@ |
|
|
|
|
|
|
|
let amountInCents = Math.round(this.backendTotalAmount * 100); |
|
|
|
let userRequireMake = 0 |
|
|
|
if(this.nowMake && this.groupdeliveryType == 2){ |
|
|
|
if(this.nowMake && this.groupdeliveryType == 2 && !this.isStoreGroupOrder){ |
|
|
|
userRequireMake = 1 |
|
|
|
} |
|
|
|
|
|
|
|
@ -3574,4 +3588,167 @@ |
|
|
|
0%, 100% { transform: scale(0.6); opacity: 0.35; } |
|
|
|
50% { transform: scale(1.45); opacity: 1; } |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page { |
|
|
|
background: |
|
|
|
radial-gradient(circle at 85% 90rpx, rgba(255, 228, 177, 0.58), transparent 260rpx), |
|
|
|
linear-gradient(180deg, #fff3e5 0%, #fff8f1 44%, #fffaf6 100%); |
|
|
|
color: #3f2618; |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .title { |
|
|
|
background: |
|
|
|
radial-gradient(circle at 76% 22%, rgba(255, 245, 218, 0.72), transparent 230rpx), |
|
|
|
linear-gradient(135deg, #ff9569 0%, #ffc47d 52%, #ffe8c6 100%); |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .group-hero-card, |
|
|
|
.store-group-page .goods-card { |
|
|
|
background: |
|
|
|
radial-gradient(circle at 92% 6%, rgba(255, 210, 138, 0.34) 0, rgba(255, 210, 138, 0) 150rpx), |
|
|
|
#fff; |
|
|
|
border-color: rgba(255, 218, 183, 0.82); |
|
|
|
box-shadow: 0 18rpx 42rpx rgba(178, 102, 48, 0.12); |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .group-hero-card { |
|
|
|
background: |
|
|
|
radial-gradient(circle at 92% 0, rgba(255, 235, 198, 0.95) 0, rgba(255, 235, 198, 0) 190rpx), |
|
|
|
linear-gradient(135deg, #ffffff 0%, #fff8f1 52%, #fff1df 100%); |
|
|
|
border: 2rpx solid rgba(255, 116, 68, 0.18); |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .group-card-glow, |
|
|
|
.store-group-page .goods-card-shine { |
|
|
|
background: rgba(255, 196, 126, 0.32); |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .shop-name { |
|
|
|
color: #3f2618; |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .shop-subtitle, |
|
|
|
.store-group-page .shop-deal { |
|
|
|
color: #8f684c !important; |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .shop-rate { |
|
|
|
background: rgba(255, 240, 220, 0.92); |
|
|
|
box-shadow: inset 0 0 0 1rpx rgba(255, 190, 130, 0.26); |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .shop-tag text { |
|
|
|
background: #fff0dc !important; |
|
|
|
color: #d65f2c !important; |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .shop-bottom { |
|
|
|
color: #8f684c; |
|
|
|
border-top: 1rpx solid rgba(255, 126, 39, 0.1); |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .notice-label { |
|
|
|
background: rgba(255, 116, 68, 0.12); |
|
|
|
color: #f0642f; |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .catalog-menu-wrap, |
|
|
|
.store-group-page .menu-scroll { |
|
|
|
background: linear-gradient(180deg, #fff3e7 0%, #fffaf6 100%) !important; |
|
|
|
border-right: 1rpx solid rgba(255, 190, 130, 0.22); |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .menu1 { |
|
|
|
color: #9b6a4c; |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .menu-active-dot { |
|
|
|
filter: hue-rotate(148deg) saturate(1.5); |
|
|
|
opacity: 0.9; |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .group-live-card { |
|
|
|
background: |
|
|
|
radial-gradient(circle at 92% 0, rgba(255, 209, 110, 0.34) 0, rgba(255, 209, 110, 0) 150rpx), |
|
|
|
linear-gradient(135deg, #fff9f2 0%, #fff0dc 48%, #fff7ee 100%); |
|
|
|
border-color: rgba(255, 194, 132, 0.72); |
|
|
|
color: #4f311f; |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .goods-vibe-tag, |
|
|
|
.store-group-page .live-pill, |
|
|
|
.store-group-page .pintuan0, |
|
|
|
.store-group-page .pintuan2, |
|
|
|
.store-group-page .list-btn { |
|
|
|
background: linear-gradient(90deg, #ff7444, #ffb35e) !important; |
|
|
|
color: #fff !important; |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .group-buy-btn { |
|
|
|
background: linear-gradient(90deg, #ff7444 0%, #ffb35e 62%, #ffe0a8 100%) !important; |
|
|
|
color: #fff; |
|
|
|
box-shadow: 0 12rpx 26rpx rgba(255, 126, 39, 0.26); |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .solo-buy-btn { |
|
|
|
color: #b4572d !important; |
|
|
|
border-color: rgba(255, 180, 118, 0.5) !important; |
|
|
|
background: rgba(255, 244, 232, 0.72) !important; |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .checkout-bar, |
|
|
|
.store-group-page .popup-bottom-bar { |
|
|
|
box-shadow: 0 -8rpx 34rpx rgba(178, 102, 48, 0.16); |
|
|
|
} |
|
|
|
|
|
|
|
.store-group-page .bottom-right.checkout-btn, |
|
|
|
.store-group-page .bottom-right { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: flex-end; |
|
|
|
padding: 16rpx 18rpx 16rpx 0; |
|
|
|
box-sizing: border-box; |
|
|
|
} |
|
|
|
|
|
|
|
.store-checkout-btn { |
|
|
|
width: 318rpx; |
|
|
|
height: 92rpx; |
|
|
|
border-radius: 999rpx; |
|
|
|
background: linear-gradient(100deg, #ff7444 0%, #ff9f38 52%, #ffd16e 100%); |
|
|
|
color: #fff; |
|
|
|
font-size: 30rpx; |
|
|
|
font-weight: 900; |
|
|
|
line-height: 92rpx; |
|
|
|
text-align: center; |
|
|
|
position: relative; |
|
|
|
overflow: hidden; |
|
|
|
box-shadow: 0 16rpx 34rpx rgba(255, 126, 39, 0.34); |
|
|
|
border: 2rpx solid rgba(255, 255, 255, 0.64); |
|
|
|
} |
|
|
|
|
|
|
|
.store-checkout-btn text { |
|
|
|
position: relative; |
|
|
|
z-index: 2; |
|
|
|
letter-spacing: 2rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.store-checkout-shine { |
|
|
|
position: absolute; |
|
|
|
left: -120rpx; |
|
|
|
top: -40rpx; |
|
|
|
width: 120rpx; |
|
|
|
height: 180rpx; |
|
|
|
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.44), transparent); |
|
|
|
transform: rotate(18deg); |
|
|
|
animation: storeCheckoutShine 2.8s ease-in-out infinite; |
|
|
|
} |
|
|
|
|
|
|
|
@keyframes storeCheckoutShine { |
|
|
|
0%, 40% { |
|
|
|
transform: translateX(0) rotate(18deg); |
|
|
|
} |
|
|
|
100% { |
|
|
|
transform: translateX(480rpx) rotate(18deg); |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |