wangfukang 4 weeks ago
parent
commit
e97204839a
  1. 19
      package2/group/groupBuyList.vue
  2. 203
      package2/group/groupBuySingle.vue
  3. 2
      package2/group/studentStoreList.vue
  4. 1143
      package2/login/login.vue

19
package2/group/groupBuyList.vue

@ -26,23 +26,22 @@
<view class="steam steam-one"></view>
<view class="steam steam-two"></view>
<view class="steam steam-three"></view>
<view class="food-float float-one">🍜</view>
<!-- <view class="food-float float-one">🍜</view>
<view class="food-float float-two">🥤</view>
<view class="food-float float-three">🍢</view>
<view class="food-float float-four">🥟</view>
<view class="food-float float-four">🥟</view> -->
<view class="banner-copy">
<view class="banner-sticker">宿舍正在拼</view>
<view class="banner-title">今天谁还没吃</view>
<view class="banner-desc">楼下热乎的那口凑个饭搭子就出发</view>
<!-- <view class="banner-desc">楼下热乎的那口凑个饭搭子就出发</view> -->
<view class="banner-bubbles">
<text>还差1人</text>
<text>拼团局开了</text>
<text>一起点奶茶</text>
<text>刚刚有人拼成功</text>
</view>
</view>
<view class="banner-food-card">
<img src="/static/images/img/loading.gif" alt="" />
<view class="food-card-tag">刚刚有人拼成功</view>
<!-- <view class="food-card-tag">刚刚有人拼成功</view> -->
</view>
</view>
</view>
@ -87,7 +86,7 @@
<view class="title-sort">
<view class="sort-member">
<view class="sort-text" @tap="searchShop('all','')">
附近热拼 <text style="font-size: 20rpx;"></text>
综合排序 <text style="font-size: 20rpx;"></text>
</view>
</view>
<view class="sort-member">
@ -192,7 +191,7 @@
<view class="zaixian-item">宿舍群正在等一个饭搭子</view>
</swiper-item>
<swiper-item v-for="(item,index) in onlineWorkerAreaList" :key="index">
<view class="zaixian-item">{{item.areaName}} 附近 {{item.onlineWorkerCount}} 位同学在线</view>
<view class="zaixian-item">{{item.areaName}} 附近 {{item.onlineWorkerCount}} 位同学在线接单</view>
</swiper-item>
</swiper>
</view>
@ -234,7 +233,7 @@
orderSale: ''
},
shopList: [],
searchHotWords: ['🍜 今晚吃啥', '🥤 奶茶续命拼团', '🔥 夜宵局差1人', '🍱 宿舍套餐热拼'],
searchHotWords: ['🍜 今晚吃啥', '🥤 奶茶续命拼团', '🔥 差1人', '🍱 宿舍套餐热拼'],
liveSlogans: ['谁在偷吃夜宵', '差个饭搭子', '隔壁宿舍已开拼'],
liveFeeds: [{
avatar: '🍜',
@ -795,7 +794,7 @@
}
.banner-bubbles {
margin-top: 18rpx;
margin-top: 88rpx;
white-space: nowrap;
text {

203
package2/group/groupBuySingle.vue

@ -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>

2
package2/group/studentStoreList.vue

@ -450,7 +450,7 @@
},
goShop(item) {
uni.navigateTo({
url: '/package2/group/groupBuySingle?type=shop&item=' + encodeURIComponent(JSON.stringify(item))
url: '/package2/group/groupBuySingle?type=shop&orderScene=storeGroup&item=' + encodeURIComponent(JSON.stringify(item))
})
},
getShopType(item) {

1143
package2/login/login.vue

File diff suppressed because it is too large
Loading…
Cancel
Save