From 7faec45a809b62ce62a3108b550c091081de0dd5 Mon Sep 17 00:00:00 2001 From: hflllll Date: Wed, 23 Apr 2025 20:14:40 +0800 Subject: [PATCH] =?UTF-8?q?1.5.3=20=E5=AE=8C=E6=88=90=E8=B4=AD=E7=89=A9?= =?UTF-8?q?=E8=BD=A6=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/base/navbar.vue | 2 +- pages/index/cart.vue | 576 ++++++++++++----------- pages/index/center.vue | 587 ------------------------ pages/index/oldCart.vue | 294 ++++++++++++ pages/index/oldCenter.vue | 582 +++++++++++++++++++++++ pages/index/order.vue | 61 +-- pages_order/components/order/MemberFoodItem.vue | 100 +++- pages_order/order/groupMealDetail.vue | 73 +-- pages_order/order/newOrderDetail.vue | 2 +- static/js/mockCartData.js | 38 ++ static/js/mockOrders.js | 219 ++++++++- uni.scss | 1 + 12 files changed, 1547 insertions(+), 988 deletions(-) create mode 100644 pages/index/oldCart.vue create mode 100644 pages/index/oldCenter.vue create mode 100644 static/js/mockCartData.js diff --git a/components/base/navbar.vue b/components/base/navbar.vue index 0ec7d43..8f5e163 100644 --- a/components/base/navbar.vue +++ b/components/base/navbar.vue @@ -69,7 +69,7 @@ }, bgColor : { - default : '#fff' + default: '#019245' }, color : { default : '#333' diff --git a/pages/index/cart.vue b/pages/index/cart.vue index 32b8758..a6d01c3 100644 --- a/pages/index/cart.vue +++ b/pages/index/cart.vue @@ -1,297 +1,353 @@ - \ No newline at end of file +} + + diff --git a/pages/index/center.vue b/pages/index/center.vue index 65eadae..e69de29 100644 --- a/pages/index/center.vue +++ b/pages/index/center.vue @@ -1,587 +0,0 @@ - - - - - \ No newline at end of file diff --git a/pages/index/oldCart.vue b/pages/index/oldCart.vue new file mode 100644 index 0000000..ab741e4 --- /dev/null +++ b/pages/index/oldCart.vue @@ -0,0 +1,294 @@ + + + + + \ No newline at end of file diff --git a/pages/index/oldCenter.vue b/pages/index/oldCenter.vue new file mode 100644 index 0000000..5a79a33 --- /dev/null +++ b/pages/index/oldCenter.vue @@ -0,0 +1,582 @@ + + + + + \ No newline at end of file diff --git a/pages/index/order.vue b/pages/index/order.vue index 786f735..0e366e0 100644 --- a/pages/index/order.vue +++ b/pages/index/order.vue @@ -14,16 +14,14 @@ + @click="clickTabs" /> - - - 团餐{{index+1}} - 本单佣金合计: ¥{{meal.price}} - + + {{ meal.name }} + 本单佣金合计: ¥{{meal.price}} @@ -122,8 +120,7 @@ import tabber from '@/components/base/tabbar.vue' import customerServicePopup from '@/components/config/customerServicePopup.vue' import OrderItem from '@/components/order/OrderItem.vue' - import mockOrders from '@/static/js/mockOrders.js' - + import { mockOrders, mockGroupMeals} from '@/static/js/mockOrders.js' export default { mixins: [mixinsList, mixinsOrder], components: { @@ -135,25 +132,6 @@ data() { return { keyword: '', - // tabs: [{ - // name: '全部' - // }, - // { - // name: '待付款' - // }, - // { - // name: '待发货' - // }, - // { - // name: '待收货' - // }, - // { - // name: '已完成' - // }, - // { - // name: '已取消' - // } - // ], tabs: [{ name: '待支付' }, @@ -173,26 +151,7 @@ current: 0, mixinsListApi: 'getOrderPageList', orderList: [], - groupMeals: [ - { - id: '1', - name: '团餐1', - price: '18.00', - status: 'pending' - }, - { - id: '2', - name: '团餐2', - price: '18.00', - status: 'pending' - }, - { - id: '3', - name: '团餐3', - price: '18.00', - status: 'pending' - } - ] + groupMeals: [] } }, onLoad(args) { @@ -236,16 +195,13 @@ // 查看团餐订单 viewOrder(meal) { this.$utils.navigateTo({ - url: '/pages_order/order/groupMealDetail?id=' + meal.id + url: '/pages_order/order/groupMealDetail?id=' + meal.id + '&status=' + meal.status }) - // uni.showToast({ - // title: '查看团餐' + meal.id, - // icon: 'none' - // }) }, // 加载模拟订单数据 loadMockOrders() { this.orderList = mockOrders + this.groupMeals = mockGroupMeals }, // 根据状态筛选订单 filterOrdersByStatus(index) { @@ -264,6 +220,7 @@ const targetStatus = statusMap[index] if (targetStatus) { this.orderList = this.orderList.filter(order => order.status === targetStatus) + this.groupMeals = this.groupMeals.filter(meal => meal.status === targetStatus) } }, // 处理取消订单 diff --git a/pages_order/components/order/MemberFoodItem.vue b/pages_order/components/order/MemberFoodItem.vue index 468841a..238e644 100644 --- a/pages_order/components/order/MemberFoodItem.vue +++ b/pages_order/components/order/MemberFoodItem.vue @@ -8,32 +8,34 @@ {{ member.name }} - + {{ isExpanded ? '收起餐点' : '查看餐点' }} + + 通知取餐 + + + 完成取餐 + - - - 点击收起 - - + {{ food.name }} 已售出 {{ food.sold }}单 + ¥ {{ food.price.toFixed(1) }} - ¥{{ food.price.toFixed(2) }} ×{{ food.quantity }} @@ -55,6 +57,11 @@ export default { defaultExpanded: { type: Boolean, default: false + }, + // 从父页面获取的订单状态 + status: { + type: String, + default: 'processing' } }, data() { @@ -75,6 +82,44 @@ export default { member: this.member, expanded: this.isExpanded }); + }, + sendNotice() { + // 模拟通知体验 + setTimeout(() => { + uni.showLoading({ + title: '通知中...', + icon: 'loading', + duration: 2000 + }) + setTimeout(() => { + uni.hideLoading() + uni.showToast({ + title: '通知成功', + icon: 'success', + duration: 2000 + }) + }, 1200) + }, 200) + // 这里存放通知函数的逻辑.... + }, + completeSend() { + // 模拟体验 + setTimeout(() => { + uni.showLoading({ + title: '请稍等...', + icon: 'loading', + duration: 2000 + }) + setTimeout(() => { + uni.hideLoading() + uni.showToast({ + title: '已完成', + icon: 'success', + duration: 2000 + }) + }, 1200) + }, 200) + // 这里执行函数逻辑 } } } @@ -113,14 +158,11 @@ export default { } } - .check-food-btn { - border: 2rpx solid $uni-color; + .check-btn{ border-radius: 30rpx; display: flex; align-items: center; - color: $uni-color; - font-size: 28rpx; - padding: 10rpx 20rpx; + font-size: 26rpx; gap: 10rpx; transition: all 0.3s; @@ -129,6 +171,18 @@ export default { transform: scale(0.98); } } + .check-food-btn { + border: 2rpx solid $uni-color; + color: $uni-color; + padding: 10rpx 20rpx; + } + .check-notice-btn{ + padding: 10rpx 40rpx; + background-color: $uni-color; + color: #fff; + margin-left: 20rpx; + } + } .food-detail { @@ -146,7 +200,7 @@ export default { .fold-text { font-size: 24rpx; - color: #999; + color: $uni-color-third; margin-left: 10rpx; } @@ -172,9 +226,9 @@ export default { align-items: center; .food-image { - width: 100rpx; - height: 100rpx; - border-radius: 8rpx; + width: 120rpx; + height: 120rpx; + // border-radius: 8rpx; margin-right: 15rpx; } @@ -190,24 +244,24 @@ export default { display: flex; align-items: center; font-size: 24rpx; - color: #999; + color: $uni-color-third; text { margin-left: 4rpx; } } + .food-price { + font-size: 28rpx; + color: $uni-color-second; + display: block; + margin-bottom: 10rpx; + } } } .food-right { text-align: right; - .food-price { - font-size: 28rpx; - color: #f00; - display: block; - margin-bottom: 10rpx; - } .food-quantity { font-size: 24rpx; diff --git a/pages_order/order/groupMealDetail.vue b/pages_order/order/groupMealDetail.vue index ccda972..62a8007 100644 --- a/pages_order/order/groupMealDetail.vue +++ b/pages_order/order/groupMealDetail.vue @@ -12,6 +12,7 @@ v-for="(member, index) in members" :key="index" :member="member" + :status="mealInfo.status" :default-expanded="index === defaultExpandedIndex" @toggle="handleMemberToggle" /> @@ -26,7 +27,8 @@