// pages/profile/orders.js const toast = require('../../utils/toast.js') Page({ data: { currentTab: 'all', orders: [], page: 1, pageSize: 10, hasMoreOrders: true, isLoading: false }, onLoad: function (options) { // 如果有状态参数,则切换到对应状态选项卡 if (options.status) { this.setData({ currentTab: options.status }); } // 加载订单列表 this.loadOrders(true); }, // 切换选项卡 switchTab: function (e) { const tab = e.currentTarget.dataset.tab; this.setData({ currentTab: tab, orders: [], page: 1, hasMoreOrders: true }); this.loadOrders(true); }, // 加载订单列表 loadOrders: function (refresh = false) { if (this.data.isLoading || (!refresh && !this.data.hasMoreOrders)) { return; } this.setData({ isLoading: true }); if (refresh) { wx.showLoading({ title: '加载中...', }); } // 模拟请求数据 setTimeout(() => { // 模拟订单数据 - 只保留二手超市相关订单 const mockOrders = [ { id: 1, orderType: '二手商品', status: 'processing', statusText: '已付款', title: 'iPad Pro 2021 二手95新', price: 4500, image: '/images/ipad.jpg', createTime: '2023-05-19 10:15' }, { id: 2, orderType: '二手商品', status: 'completed', statusText: '已完成', title: '微积分教材 同济第七版', price: 20, image: '/images/book.jpg', createTime: '2023-05-17 16:20' }, { id: 3, orderType: '二手商品', status: 'refund', statusText: '退款中', title: '自行车 捷安特 ATX', price: 800, image: '/images/bike.jpg', createTime: '2023-05-16 09:30' }, { id: 4, orderType: '二手商品', status: 'waiting', statusText: '待付款', title: 'AirPods Pro 二代', price: 1200, image: '/images/airpods.jpg', createTime: '2023-05-15 14:20' }, { id: 5, orderType: '二手商品', status: 'completed', statusText: '已完成', title: '学习桌 可调节高度', price: 150, image: '/images/table.jpg', createTime: '2023-05-14 11:45' } ]; // 根据当前选项卡筛选订单 let filteredOrders = this.data.currentTab === 'all' ? mockOrders : mockOrders.filter(item => item.status === this.data.currentTab); // 模拟分页 const start = (this.data.page - 1) * this.data.pageSize; const end = start + this.data.pageSize; const pageOrders = filteredOrders.slice(start, end); // 更新数据 if (refresh) { this.setData({ orders: pageOrders, hasMoreOrders: pageOrders.length === this.data.pageSize, page: this.data.page + 1, isLoading: false }); wx.hideLoading(); wx.stopPullDownRefresh(); } else { this.setData({ orders: [...this.data.orders, ...pageOrders], hasMoreOrders: pageOrders.length === this.data.pageSize, page: this.data.page + 1, isLoading: false }); } }, 1000); }, // 加载更多 loadMore: function () { if (!this.data.isLoading && this.data.hasMoreOrders) { this.loadOrders(); } }, //雷雨田2025.8.30添加 confirmOrder() { if (!this.data.address) { wx.showToast({ title: '请选择地址', icon: 'none' }) return } wx.showToast({ title: '下单成功', icon: 'success' }) }, // 下拉刷新 onPullDownRefresh: function () { this.setData({ page: 1, hasMoreOrders: true }); this.loadOrders(true); }, // 查看订单详情 viewOrderDetail: function (e) { const orderId = e.currentTarget.dataset.id; wx.navigateTo({ url: `/pages/profile/order_detail?id=${orderId}` }); }, // 取消订单 cancelOrder: function (e) { const orderId = e.currentTarget.dataset.id; wx.showModal({ title: '确认取消', content: '确定要取消此订单吗?', success: (res) => { if (res.confirm) { // 模拟取消订单 wx.showLoading({ title: '处理中...', }); setTimeout(() => { wx.hideLoading(); // 更新本地订单状态或重新加载订单列表 const orders = this.data.orders.filter(item => item.id !== orderId); this.setData({ orders: orders }); wx.showToast({ title: '订单已取消', icon: 'success' }); }, 1000); } } }); } })