修复再来一单问题

This commit is contained in:
2025-12-15 17:24:15 +08:00
parent eae0dd75f1
commit f01b5f3625
3 changed files with 201 additions and 38 deletions

View File

@@ -1,13 +1,15 @@
<template> <template>
<view class="min-page bg-f7 u-font-28"> <view class="min-page bg-f7 u-font-28">
<up-navbar bg-color="transparent" :placeholder="false" title="拼团特惠" left-icon-color="#fff" <up-sticky :offsetTop="0" :customNavHeight="0">
title-color="#fff"></up-navbar>
<view class="top" :style="topStyle"> <view class="top" :style="topStyle">
<up-navbar bg-color="transparent" :fixed="false" :placeholder="false" title="拼团特惠"
left-icon-color="#fff" title-color="#fff"></up-navbar>
<view class="u-flex info u-col-center"> <view class="u-flex info u-col-center">
<image :src="imgs.map" class="map"></image> <image :src="imgs.map" class="map"></image>
<view class="u-line-1 u-m-l-20">这里是店铺名称</view> <view class="u-line-1 u-m-l-20">这里是店铺名称</view>
</view> </view>
</view> </view>
<view class="translateY20">
<view class="steps"> <view class="steps">
<view class="step" v-for="(item,index) in steps" :key="index"> <view class="step" v-for="(item,index) in steps" :key="index">
<text class="index">{{index+1}}</text> <text class="index">{{index+1}}</text>
@@ -20,17 +22,31 @@
{{'>'}} {{'>'}}
</text> </text>
</template> </template>
</view> </view>
<view class="step"></view> </view>
<view class="step"></view> <view class="filters ">
<view class="u-flex tabs">
<view class="tab" v-for="(item,index) in tabs.list" :class="{'active':tabs.sel==index}"
@click="tabs.sel=index">{{item}}</view>
</view> </view>
<up-sticky> <view class="u-flex" v-if="tabs.sel==0">
<view class="filters"></view> <up-search></up-search>
</view>
<view class="u-flex orderStatus" v-if="tabs.sel==1">
<view class="orderState" :class="{'active':orders.sel==index}"
v-for="(item,index) in orders.list" :key="index" @click="orders.sel=index">
{{item.name}}
</view>
</view>
</view>
</view>
</up-sticky> </up-sticky>
<view class="lists">
<view class="lists" v-if="tabs.sel==0">
<view class="item" v-for="(item,index) in 10" :key="index"> <view class="item" v-for="(item,index) in 10" :key="index">
<up-image width="218rpx" radius="16rpx" height="218rpx"></up-image> <up-image width="218rpx" radius="16rpx" height="218rpx"></up-image>
@@ -58,10 +74,39 @@
</view> </view>
</view> </view>
</view> </view>
<view class="orders" v-else-if="tabs.sel==1">
<view class="item" v-for="(item,index) in 10" :key="index">
<view class="u-flex u-col-center u-row-between">
<text class="numbers">3人团</text>
<text class="status success">待成团</text>
</view>
<view class="u-m-t-32 u-flex">
<up-image width="154rpx" height="154rpx"></up-image>
<view class="u-flex-1 u-flex u-p-l-30 u-col-center u-row-between">
<view>
<view class="">这里是商品名称</view>
<view class="u-m-t-34 price">¥999.99</view>
</view>
<text class="u-font-40 font-bold">x1</text>
</view>
<view class="u-m-t-32 info">
</view>
</view>
</view>
</view>
</view> </view>
</template> </template>
<script setup> <script setup>
import {
reactive
} from 'vue';
const imgs = { const imgs = {
bg: 'https://cashier-oss.oss-cn-beijing.aliyuncs.com/upload/1/d21f2dfd7bec44618f2d5e4b88372b08.png', bg: 'https://cashier-oss.oss-cn-beijing.aliyuncs.com/upload/1/d21f2dfd7bec44618f2d5e4b88372b08.png',
bg1: 'https://cashier-oss.oss-cn-beijing.aliyuncs.com/upload/1/604c3f917daa41af9239145196c6d3f3.png', bg1: 'https://cashier-oss.oss-cn-beijing.aliyuncs.com/upload/1/604c3f917daa41af9239145196c6d3f3.png',
@@ -74,6 +119,34 @@
const topStyle = { const topStyle = {
backgroundImage: 'url(' + imgs.bg + ')' backgroundImage: 'url(' + imgs.bg + ')'
} }
const tabs = reactive({
list: ['正在进行中', '我的拼团'],
sel: 1
})
const orders = reactive({
list: [{
name: '全部',
value: ''
},
{
name: '待成团',
value: ''
},
{
name: '待核销',
value: ''
},
{
name: '已核销',
value: ''
},
{
name: '退款',
value: ''
},
],
sel: 0
})
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@@ -82,7 +155,7 @@
background-size: cover; background-size: cover;
.info { .info {
padding: 190rpx 30rpx 0 30rpx; padding: 32rpx 30rpx 0 30rpx;
color: #fff; color: #fff;
font-size: 32rpx; font-size: 32rpx;
font-weight: 700; font-weight: 700;
@@ -100,7 +173,6 @@
gap: 20rpx; gap: 20rpx;
border-radius: 14rpx 14rpx 0 0; border-radius: 14rpx 14rpx 0 0;
background: linear-gradient(90deg, #FFF5E6 0%, #FFD2CA 100%); background: linear-gradient(90deg, #FFF5E6 0%, #FFD2CA 100%);
transform: translateY(-20rpx);
.step { .step {
display: flex; display: flex;
@@ -173,14 +245,17 @@
background-size: cover; background-size: cover;
transform: translateY(-10rpx); transform: translateY(-10rpx);
display: flex; display: flex;
.left { .left {
width: 306rpx; width: 306rpx;
color: #fff; color: #fff;
padding: 16rpx 22rpx; padding: 16rpx 22rpx;
} }
.right { .right {
padding-left: 16rpx; padding-left: 16rpx;
margin-top: 30rpx; margin-top: 30rpx;
.pin { .pin {
width: 76rpx; width: 76rpx;
height: 54rpx; height: 54rpx;
@@ -189,9 +264,96 @@
} }
} }
} }
.filters { .filters {
padding: 16rpx 28rpx; padding: 16rpx 28rpx;
border-radius: 6rpx 6rpx 16rpx 16rpx; border-radius: 6rpx 6rpx 16rpx 16rpx;
background: #FFF; background: #FFF;
} }
.tabs {
display: flex;
justify-content: space-between;
font-size: 24rpx;
color: #999;
padding: 32rpx 88rpx;
.tabs {
transition: all .3s linear;
}
.active {
color: #ED5A2E;
font-size: 32rpx;
font-weight: 700;
font-weight: 700;
}
}
.translateY20 {
transform: translateY(-20rpx);
}
.orderStatus {
padding: 26rpx 28rpx;
justify-content: space-between;
.orderState {
color: #999;
transition: all .3s linear;
&.active {
color: #000;
font-size: 32rpx;
font-weight: 700;
}
}
}
.orders {
padding: 0 26rpx 36rpx;
.item {
padding: 32rpx 24rpx;
border-radius: 16rpx;
background: #FFF;
margin-bottom: 32rpx;
.numbers {
background-color: #ED5A2E;
padding: 16rpx 30rpx;
border-radius: 12rpx;
font-size: 32rpx;
color: #fff;
font-weight: 700;
line-height: 36rpx;
}
.status{
padding: 8rpx 18rpx;
border-radius: 8rpx;
border: 2rpx solid transparent;
&.success{
border-color: rgba(123, 209, 54, 1);
color: rgba(123, 209, 54, 1);
background: rgba(123, 209, 54, 0.12);
}
}
.price{
color: #ED5A2E;
font-weight: 700;
line-height: 36rpx;
font-size: 40rpx;
}
.info{
display: flex;
padding: 16rpx 34rpx;
flex-direction: column;
align-items: flex-start;
gap: 32rpx;
border-radius: 8rpx;
background: #F8F8F8;
}
}
}
</style> </style>

View File

@@ -356,8 +356,7 @@
// } // }
, { , {
"root": "groupBuying", "root": "groupBuying",
"pages": [ "pages": [{
{
"path": "index/index", "path": "index/index",
"style": { "style": {
"navigationBarTitleText": "拼团特惠", "navigationBarTitleText": "拼团特惠",

View File

@@ -2170,7 +2170,9 @@
...options.initMessage, ...options.initMessage,
...extraInitPar ...extraInitPar
}, onMessage); }, onMessage);
setTimeout(()=>{
useSocket.chnageInitMessage(options.initMessage) useSocket.chnageInitMessage(options.initMessage)
},500)
console.log('onLoad:e', e); console.log('onLoad:e', e);
cartStore.setOldOrder({ cartStore.setOldOrder({