|
|
@ -3,7 +3,7 @@ |
|
|
<view class="page1" @touchmove="onPageTouchMove"> |
|
|
<view class="page1" @touchmove="onPageTouchMove"> |
|
|
<!-- 固定顶部导航栏(悬浮在背景图之上) --> |
|
|
<!-- 固定顶部导航栏(悬浮在背景图之上) --> |
|
|
<view class="nav-bar" |
|
|
<view class="nav-bar" |
|
|
:style="{'padding-top': menuButtonInfo.top +'px','background':lastScrollTop>200?'#fff':''}"> |
|
|
:style="{'padding-top': menuButtonInfo.top +'px','background':lastScrollTop>217?'#fff':''}"> |
|
|
<view class="back-btn" @tap="back"> |
|
|
<view class="back-btn" @tap="back"> |
|
|
<uni-icons type="left" size="28"></uni-icons> |
|
|
<uni-icons type="left" size="28"></uni-icons> |
|
|
</view> |
|
|
</view> |
|
|
@ -98,7 +98,7 @@ |
|
|
<view style="width: 160rpx;">{{item.categoryName}}</view> |
|
|
<view style="width: 160rpx;">{{item.categoryName}}</view> |
|
|
</view> |
|
|
</view> |
|
|
</scroll-view> |
|
|
</scroll-view> |
|
|
<scroll-view class="goods-list" scroll-y :scroll-into-view="scrollIntoViewId" :scroll-top="goodsListScrollTop" @scroll="onGoodsListScroll" @scrolltoupper="onGoodsListScrollToTop" :scroll-with-animation="true"> |
|
|
<scroll-view class="goods-list" :style="{'overflow':lastScrollTop>217?'scroll':'hidden'}" :scroll-into-view="scrollIntoViewId" :scroll-top="goodsListScrollTop" @scroll="onGoodsListScroll" @scrolltoupper="onGoodsListScrollToTop" :scroll-with-animation="true"> |
|
|
<view class="goods-member" :id="'category-' + item.categoryId" v-for="(item,index) in productItem" :key="index" |
|
|
<view class="goods-member" :id="'category-' + item.categoryId" v-for="(item,index) in productItem" :key="index" |
|
|
@tap="goDetail('product',item)"> |
|
|
@tap="goDetail('product',item)"> |
|
|
<view class="goods-top"> |
|
|
<view class="goods-top"> |
|
|
@ -411,8 +411,8 @@ |
|
|
|
|
|
|
|
|
<!-- 支付弹出层 --> |
|
|
<!-- 支付弹出层 --> |
|
|
<uni-popup ref="payPopup" background-color="#fff"> |
|
|
<uni-popup ref="payPopup" background-color="#fff"> |
|
|
<view class="pay-popup" style="height: 1920rpx;background: #fff;border-radius: 40rpx 40rpx 0 0;padding-top: 40rpx;"> |
|
|
<view class="pay-popup" style="height: 290px;background: #fff;border-radius: 40rpx 40rpx 0 0;padding-top: 40rpx;"> |
|
|
<view class="content"> |
|
|
<view class="content" style="height: 100%;margin-top:0"> |
|
|
<view class="box1"> |
|
|
<view class="box1"> |
|
|
<view style="height: 70rpx;line-height: 70rpx;text-align: center;"> |
|
|
<view style="height: 70rpx;line-height: 70rpx;text-align: center;"> |
|
|
支付剩余时间 59:09 |
|
|
支付剩余时间 59:09 |
|
|
@ -422,15 +422,15 @@ |
|
|
¥<text |
|
|
¥<text |
|
|
style="font-size: 60rpx;">{{backendTotalAmount ? backendTotalAmount.toFixed(2) : '0.00'}}</text> |
|
|
style="font-size: 60rpx;">{{backendTotalAmount ? backendTotalAmount.toFixed(2) : '0.00'}}</text> |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
<view style="height: 40rpx;text-align: center;color: #777;"> |
|
|
|
|
|
|
|
|
|
|
|
<text v-if="groupId != '' && isFaceToFaceGroup">配送费(均摊) {{tuanzhangOrder.deliveryFee}} 元 </text> |
|
|
|
|
|
|
|
|
|
|
|
<text v-if="groupdeliveryType == 1"> 打包费 {{currentItem.lunchBox}} 元</text> |
|
|
|
|
|
</view> |
|
|
<view style="height: 40rpx;text-align: center;color: red;"> |
|
|
<view style="height: 40rpx;text-align: center;color: red;"> |
|
|
若拼团失败,将会为您自动退款 |
|
|
若拼团失败,将会为您自动退款 |
|
|
</view> |
|
|
</view> |
|
|
<view v-if="groupId != '' && isFaceToFaceGroup" style="height: 40rpx;text-align: center;color: red;"> |
|
|
|
|
|
配送费(均摊) {{tuanzhangOrder.deliveryFee}} 元 |
|
|
|
|
|
</view> |
|
|
|
|
|
<view v-if="groupdeliveryType == 1" style="height: 40rpx;text-align: center;color: red;"> |
|
|
|
|
|
包含打包费 {{currentItem.lunchBox}} 元 |
|
|
|
|
|
</view> |
|
|
|
|
|
</view> |
|
|
</view> |
|
|
<view class="box1" style="display: flex;padding: 40rpx;"> |
|
|
<view class="box1" style="display: flex;padding: 40rpx;"> |
|
|
<view style="flex: 1;"> |
|
|
<view style="flex: 1;"> |
|
|
@ -649,6 +649,7 @@ |
|
|
}, |
|
|
}, |
|
|
onPageScroll(e) { |
|
|
onPageScroll(e) { |
|
|
this.lastScrollTop = e.scrollTop; |
|
|
this.lastScrollTop = e.scrollTop; |
|
|
|
|
|
console.log(e.scrollTop) |
|
|
// 当页面滚动到container应该触顶的位置时,启用吸顶 |
|
|
// 当页面滚动到container应该触顶的位置时,启用吸顶 |
|
|
const stickyThreshold = this.containerOriginalTop - this.navBarHeight; |
|
|
const stickyThreshold = this.containerOriginalTop - this.navBarHeight; |
|
|
|
|
|
|
|
|
@ -657,6 +658,7 @@ |
|
|
// 页面touchmove事件:吸顶后阻止页面整体滑动(让goods-list接管滚动) |
|
|
// 页面touchmove事件:吸顶后阻止页面整体滑动(让goods-list接管滚动) |
|
|
onPageTouchMove(e) { |
|
|
onPageTouchMove(e) { |
|
|
// 吸顶状态下不需要额外处理,scroll-view会自己处理 |
|
|
// 吸顶状态下不需要额外处理,scroll-view会自己处理 |
|
|
|
|
|
console.log(e) |
|
|
}, |
|
|
}, |
|
|
// goods-list滚动事件:检测分类切换 + 滚回顶部取消吸顶 |
|
|
// goods-list滚动事件:检测分类切换 + 滚回顶部取消吸顶 |
|
|
onGoodsListScroll(e) { |
|
|
onGoodsListScroll(e) { |
|
|
@ -1149,6 +1151,7 @@ |
|
|
return arr.join(','); |
|
|
return arr.join(','); |
|
|
}, |
|
|
}, |
|
|
submitCartCheckout() { |
|
|
submitCartCheckout() { |
|
|
|
|
|
|
|
|
if (this.cartItems.length === 0) { |
|
|
if (this.cartItems.length === 0) { |
|
|
this.$refs.warnPopup.open() |
|
|
this.$refs.warnPopup.open() |
|
|
return; |
|
|
return; |
|
|
@ -1352,7 +1355,6 @@ |
|
|
height: 100%; |
|
|
height: 100%; |
|
|
font-size: 24rpx; |
|
|
font-size: 24rpx; |
|
|
position: relative; |
|
|
position: relative; |
|
|
overflow: hidden; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 顶部背景图随页面滚动(不固定) */ |
|
|
/* 顶部背景图随页面滚动(不固定) */ |
|
|
@ -1404,7 +1406,7 @@ |
|
|
margin-top: -150rpx; |
|
|
margin-top: -150rpx; |
|
|
position: relative; |
|
|
position: relative; |
|
|
z-index: 1; |
|
|
z-index: 1; |
|
|
height: 88%; |
|
|
height: auto; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.shop-img { |
|
|
.shop-img { |
|
|
|