From 2d979e821e68945a3fbe499a5426e6458599ba22 Mon Sep 17 00:00:00 2001 From: 18631081161 <2088094923@qq.com> Date: Tue, 17 Mar 2026 15:42:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E5=90=83=E8=A1=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/src/views/ShopDishes.vue | 7 +- admin/src/views/Shops.vue | 38 +- miniapp/pages/delivery/delivery.vue | 3 +- miniapp/pages/food/food-order.vue | 6 +- miniapp/pages/food/food.vue | 97 +-- miniapp/pages/food/shop-detail.vue | 866 +++++++++++++----------- miniapp/pages/help/help.vue | 531 ++++++++------- miniapp/pages/order-hall/order-hall.vue | 125 +++- miniapp/pages/pickup/pickup.vue | 3 +- miniapp/pages/purchase/purchase.vue | 442 ++++++++---- miniapp/static/ic_address.png | Bin 0 -> 655 bytes miniapp/static/ic_courier.png | Bin 0 -> 7399 bytes miniapp/static/ic_delicacy.png | Bin 0 -> 765 bytes 13 files changed, 1241 insertions(+), 877 deletions(-) create mode 100644 miniapp/static/ic_address.png create mode 100644 miniapp/static/ic_courier.png create mode 100644 miniapp/static/ic_delicacy.png diff --git a/admin/src/views/ShopDishes.vue b/admin/src/views/ShopDishes.vue index aa9d01d..c61ec41 100644 --- a/admin/src/views/ShopDishes.vue +++ b/admin/src/views/ShopDishes.vue @@ -36,11 +36,12 @@ - - 上传照片 + :on-success="(res) => form.photo = res.url" accept="image/*"> + + 上传照片 + 移除 diff --git a/admin/src/views/Shops.vue b/admin/src/views/Shops.vue index 3c2db74..6f97942 100644 --- a/admin/src/views/Shops.vue +++ b/admin/src/views/Shops.vue @@ -5,32 +5,33 @@ 新增门店 - - + + - - - + + + - - - + + - + @@ -42,11 +43,12 @@ - - 上传照片 + :on-success="(res) => form.photo = res.url" accept="image/*"> + + 上传照片 + 移除 diff --git a/miniapp/pages/delivery/delivery.vue b/miniapp/pages/delivery/delivery.vue index 9e8cb54..a1d8ef2 100644 --- a/miniapp/pages/delivery/delivery.vue +++ b/miniapp/pages/delivery/delivery.vue @@ -224,12 +224,11 @@ export default { /* 顶部大图 */ .top-banner { - padding: 20rpx 24rpx 0; + width: 100%; } .banner-img { width: 100%; height: 330rpx; - border-radius: 20rpx; } /* 表单区域 */ diff --git a/miniapp/pages/food/food-order.vue b/miniapp/pages/food/food-order.vue index bbeb786..50134fe 100644 --- a/miniapp/pages/food/food-order.vue +++ b/miniapp/pages/food/food-order.vue @@ -367,7 +367,7 @@ export default { padding-bottom: calc(20rpx + env(safe-area-inset-bottom)); display: flex; align-items: center; - justify-content: space-between; + justify-content: flex-end; box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.05); } @@ -375,17 +375,19 @@ export default { font-size: 32rpx; color: #e64340; font-weight: bold; + flex: 1; } .submit-btn { width: 240rpx; height: 80rpx; line-height: 80rpx; - background-color: #007AFF; + background-color: #FAD146; color: #ffffff; font-size: 30rpx; border-radius: 40rpx; border: none; + margin-right: 10rpx; } .submit-btn[disabled] { diff --git a/miniapp/pages/food/food.vue b/miniapp/pages/food/food.vue index 151efd2..0512a0c 100644 --- a/miniapp/pages/food/food.vue +++ b/miniapp/pages/food/food.vue @@ -19,17 +19,18 @@ - + {{ shop.name }} - {{ shop.location }} - {{ shop.dishCount || 0 }} 种美食 + + + {{ shop.location || '暂无位置信息' }} + + + + {{ shop.dishCount || 0 }}种美食 + @@ -67,20 +68,13 @@ export default { if (res?.value) this.bannerUrl = res.value } catch (e) {} }, - /** 加载门店列表 */ async loadShops() { this.loading = true try { const res = await getShops() this.shops = res || [] - } catch (e) { - // 错误已在 request 中处理 - } finally { - this.loading = false - } + } catch (e) {} finally { this.loading = false } }, - - /** 跳转门店详情 */ goShopDetail(id) { uni.navigateTo({ url: `/pages/food/shop-detail?id=${id}` }) } @@ -89,6 +83,11 @@ export default { + /* 购物车弹窗 */ + .cart-popup-mask { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.5); + z-index: 100; + display: flex; + align-items: flex-end; + } + + .cart-popup { + width: 100%; + max-height: 60vh; + background: #fff; + border-radius: 24rpx 24rpx 0 0; + display: flex; + flex-direction: column; + overflow: hidden; + box-sizing: border-box; + } + + .cart-popup-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 24rpx 30rpx; + border-bottom: 1rpx solid #f0f0f0; + } + + .cart-popup-title { + font-size: 30rpx; + font-weight: bold; + color: #333; + } + + .cart-popup-clear { + font-size: 26rpx; + color: #999; + } + + .cart-popup-list { + max-height: 50vh; + padding: 0 30rpx; + box-sizing: border-box; + width: 100%; + } + + .cart-popup-item { + display: flex; + align-items: center; + padding: 20rpx 0; + border-bottom: 1rpx solid #f0f0f0; + } + + .cart-item-photo { + width: 80rpx; + height: 80rpx; + border-radius: 8rpx; + flex-shrink: 0; + } + + .cart-item-info { + flex: 1; + padding: 0 16rpx; + display: flex; + flex-direction: column; + min-width: 0; + } + + .cart-item-name { + font-size: 26rpx; + color: #333; + } + + .cart-item-price { + font-size: 26rpx; + color: #FF6B00; + } + + .cart-popup-footer { + padding: 16rpx 30rpx; + padding-bottom: calc(16rpx + env(safe-area-inset-bottom)); + border-top: 1rpx solid #f0f0f0; + } + + .cart-fee-row { + display: flex; + justify-content: space-between; + align-items: center; + padding: 8rpx 0; + } + + .cart-fee-label { + font-size: 26rpx; + color: #666; + } + + .cart-fee-value { + font-size: 26rpx; + color: #333; + } + + .cart-fee-total { + font-size: 32rpx; + color: #FF6B00; + font-weight: bold; + } + \ No newline at end of file diff --git a/miniapp/pages/help/help.vue b/miniapp/pages/help/help.vue index 5229fa6..22ac64b 100644 --- a/miniapp/pages/help/help.vue +++ b/miniapp/pages/help/help.vue @@ -21,9 +21,10 @@ - 1.要做的事情 + 1.万能帮事项 -