Browse Source

新增订单页面并更新个人中心订单按钮

pull/12/head
徐飞洋 2 months ago
parent
commit
5d8e5b66df
  1. 3
      app.json
  2. 57
      pages/order/index.js
  3. 6
      pages/order/index.json
  4. 21
      pages/order/index.wxml
  5. 197
      pages/order/index.wxss
  6. 7
      pages/profile/index.js
  7. 5
      pages/profile/index.wxml

3
app.json

@ -17,7 +17,8 @@
"pages/message-list/index", "pages/message-list/index",
"pages/customer-service/index", "pages/customer-service/index",
"pages/cooperation/index", "pages/cooperation/index",
"pages/goods/index" "pages/goods/index",
"pages/order/index"
], ],
"subpackages": [ "subpackages": [
{ {

57
pages/order/index.js

@ -0,0 +1,57 @@
// pages/order/index.js
Page({
// 分享给朋友/群聊
onShareAppMessage() {
return {
title: '鸡蛋贸易平台 - 我的订单',
path: '/pages/order/index',
imageUrl: '/images/你有好蛋.png'
}
},
// 分享到朋友圈
onShareTimeline() {
return {
title: '鸡蛋贸易平台 - 我的订单',
query: '',
imageUrl: '/images/你有好蛋.png'
}
},
data: {
userInfo: {},
orders: []
},
onLoad() {
// 页面加载时的初始化逻辑
this.loadUserInfo();
},
onShow() {
// 页面显示时的逻辑
this.loadUserInfo();
// 更新自定义tabBar状态
if (typeof this.getTabBar === 'function' && this.getTabBar()) {
this.getTabBar().setData({
selected: 4 // 保持与个人中心相同的选中状态
});
}
},
// 加载用户信息
loadUserInfo() {
const app = getApp();
if (app.globalData.userInfo) {
this.setData({ userInfo: app.globalData.userInfo });
} else {
const localUserInfo = wx.getStorageSync('userInfo') || {};
this.setData({ userInfo: localUserInfo });
}
},
// 返回上一页
goBack() {
wx.navigateBack();
}
})

6
pages/order/index.json

@ -0,0 +1,6 @@
{
"usingComponents": {},
"navigationBarTitleText": "我的订单",
"navigationBarBackgroundColor": "#fff",
"navigationBarTextStyle": "black"
}

21
pages/order/index.wxml

@ -0,0 +1,21 @@
<view class="order-page">
<!-- 订单状态标签栏 -->
<view class="order-tabs">
<view class="tab-item active">全部</view>
<view class="tab-item">待付款</view>
<view class="tab-item">待发货</view>
<view class="tab-item">待收货</view>
<view class="tab-item">已完成</view>
</view>
<!-- 订单列表 -->
<view class="order-list">
<!-- 暂无订单提示 -->
<view class="no-orders">
<view class="no-orders-icon">📦</view>
<view class="no-orders-title">空空如也~</view>
<view class="no-orders-subtitle">您还没有任何订单,快去选购吧</view>
<button class="go-shopping-btn" bindtap="goToHome">去首页购物</button>
</view>
</view>
</view>

197
pages/order/index.wxss

@ -0,0 +1,197 @@
/* pages/order/index.wxss */
.order-page {
min-height: 100vh;
background-color: #f5f5f5;
}
/* 订单状态标签栏 */
.order-tabs {
display: flex;
background-color: #fff;
border-bottom: 1rpx solid #e0e0e0;
overflow-x: auto;
white-space: nowrap;
}
.tab-item {
flex: 1;
min-width: 160rpx;
text-align: center;
padding: 24rpx 0;
font-size: 32rpx;
color: #666;
position: relative;
}
.tab-item.active {
color: #1677ff;
font-weight: bold;
}
.tab-item.active::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 60rpx;
height: 6rpx;
background-color: #1677ff;
border-radius: 3rpx;
}
/* 订单列表 */
.order-list {
padding: 20rpx;
}
/* 暂无订单提示 */
.no-orders {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 120rpx 0;
background-color: #fff;
border-radius: 12rpx;
box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);
}
.no-orders-icon {
font-size: 160rpx;
margin-bottom: 40rpx;
}
.no-orders-title {
font-size: 36rpx;
font-weight: bold;
color: #333;
margin-bottom: 20rpx;
}
.no-orders-subtitle {
font-size: 28rpx;
color: #999;
margin-bottom: 60rpx;
}
.go-shopping-btn {
background-color: #1677ff;
color: #fff;
border: none;
padding: 20rpx 80rpx;
border-radius: 60rpx;
font-size: 32rpx;
font-weight: bold;
}
/* 订单卡片样式(预留) */
.order-card {
background-color: #fff;
border-radius: 12rpx;
padding: 30rpx;
margin-bottom: 20rpx;
box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);
}
.order-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20rpx;
padding-bottom: 20rpx;
border-bottom: 1rpx solid #f0f0f0;
}
.order-info {
font-size: 28rpx;
color: #666;
}
.order-status {
font-size: 28rpx;
color: #1677ff;
font-weight: bold;
}
.order-goods {
margin-bottom: 20rpx;
}
.goods-item {
display: flex;
margin-bottom: 20rpx;
}
.goods-image {
width: 120rpx;
height: 120rpx;
border-radius: 8rpx;
margin-right: 20rpx;
}
.goods-info {
flex: 1;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.goods-name {
font-size: 32rpx;
color: #333;
margin-bottom: 10rpx;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.goods-spec {
font-size: 26rpx;
color: #999;
margin-bottom: 10rpx;
}
.goods-price {
font-size: 32rpx;
color: #ff4d4f;
font-weight: bold;
}
.order-footer {
display: flex;
justify-content: space-between;
align-items: center;
padding-top: 20rpx;
border-top: 1rpx solid #f0f0f0;
}
.total-price {
font-size: 32rpx;
color: #333;
}
.total-price .price {
color: #ff4d4f;
font-weight: bold;
}
.order-actions {
display: flex;
}
.action-btn {
padding: 12rpx 30rpx;
border-radius: 40rpx;
font-size: 28rpx;
margin-left: 20rpx;
border: 2rpx solid #1677ff;
color: #1677ff;
background-color: #fff;
}
.action-btn.primary {
background-color: #1677ff;
color: #fff;
}

7
pages/profile/index.js

@ -964,4 +964,11 @@ Page({
}); });
}, },
// 跳转到订单页面
goToOrders() {
wx.navigateTo({
url: '/pages/order/index'
});
},
}) })

5
pages/profile/index.wxml

@ -38,6 +38,11 @@
<text style="margin-right: 8rpx;">⭐</text> <text style="margin-right: 8rpx;">⭐</text>
<text>收藏夹</text> <text>收藏夹</text>
</view> </view>
<!-- 订单按钮 -->
<view style="background: linear-gradient(135deg, #1677ff 0%, #0d54c7 100%); color: white; padding: 12rpx 24rpx; border-radius: 24rpx; margin: 10rpx; font-size: 26rpx; font-weight: bold; box-shadow: 0 4rpx 12rpx rgba(22, 119, 255, 0.3); display: flex; align-items: center; cursor: pointer;" bindtap="goToOrders">
<text style="margin-right: 8rpx;">📦</text>
<text>订单</text>
</view>
</view> </view>
</view> </view>

Loading…
Cancel
Save