【愚公系列】2022年11月 微信小程序-优购电商项目-订单列表页面

本文主要是介绍【愚公系列】2022年11月 微信小程序-优购电商项目-订单列表页面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、订单列表页面
    • 1. 业务逻辑
    • 2.涉及的接口数据
    • 3. 关键技术
  • 二、订单列表页面代码
    • 1.页面代码
    • 2.效果


前言

订单列表页面对于用户来说具备以下两个方面的作用:

1.交易凭证:售后、维权、发票都有据可循;针对买卖双方的争议,提供一条依据。

2.状态跟踪:交易链条较长的订单有跟踪订单状态的需求,譬如通过淘宝购买一件产品,长时间未收到货物,用户希望能看到订单及物流状态。如,待下单、待支付、运输中(相关物流信息查询)待收货、待评价等等。

一、订单列表页面

1. 业务逻辑

  1. 根据不同的的状态去加载不同的订单数据
  2. 点击标题紧挨着对应数据

2.涉及的接口数据

  1. 查询订单数据

3. 关键技术

  • ⼩程序 ⾃定义组件的 传参 ⽗向⼦动态传参 this.selectComponent(“#tabs”);
  • 时间戳 格式化处理

二、订单列表页面代码

1.页面代码

<Tabs tabs="{{tabs}}" bindtabsItemChange="handleTabsItemChange" ><view class="order_main"><view wx:for="{{orders}}"wx:key="order_id"class="order_item"><view class="order_no_row"><view class="order_no_text">订单编号</view><view class="order_no_value">{{item.order_number}}</view></view><view class="order_price_row"><view class="order_price_text">订单价格</view><view class="order_price_value">{{item.order_price}}</view></view><view class="order_time_row"><view class="order_time_text">订单日期</view><view class="order_time_value">{{item.create_time_cn}}</view></view></view></view>
</Tabs>
import { request } from "../../request/index.js";Page({/*** 页面的初始数据*/data: {orders: [],tabs: [{id: 0,value: "全部",isActive: true},{id: 1,value: "待付款",isActive: false},{id: 2,value: "待发货",isActive: false},{id: 3,value: "退款/退货",isActive: false}]},onShow(options) {const token = wx.getStorageSync("token");if (!token) {wx.navigateTo({url: '/pages/auth/index'});return;}// 1 获取当前的小程序的页面栈-数组 长度最大是10页面 let pages = getCurrentPages();// 2 数组中 索引最大的页面就是当前页面let currentPage = pages[pages.length - 1];// 3 获取url上的type参数const { type } = currentPage.options;// 4 激活选中页面标题 当 type=1 index=0 this.changeTitleByIndex(type-1);this.getOrders(type);},// 获取订单列表的方法async getOrders(type) {const res = await request({ url: "/my/orders/all", data: { type } });this.setData({orders: res.orders.map(v=>({...v,create_time_cn:(new Date(v.create_time*1000).toLocaleString())}))})},// 根据标题索引来激活选中 标题数组changeTitleByIndex(index) {// 2 修改源数组let { tabs } = this.data;tabs.forEach((v, i) => i === index ? v.isActive = true : v.isActive = false);// 3 赋值到data中this.setData({tabs})},handleTabsItemChange(e) {// 1 获取被点击的标题索引const { index } = e.detail;this.changeTitleByIndex(index);// 2 重新发送请求 type=1 index=0this.getOrders(index+1);}
})
.order_main .order_item {padding: 20rpx;border-bottom: 1rpx solid #ccc;color: #666;
}
.order_main .order_item .order_no_row {display: flex;padding: 10rpx 0;justify-content: space-between;
}
.order_main .order_item .order_price_row {display: flex;padding: 10rpx 0;justify-content: space-between;
}
.order_main .order_item .order_price_row .order_price_value {color: var(--themeColor);font-size: 32rpx;
}
.order_main .order_item .order_time_row {display: flex;padding: 10rpx 0;justify-content: space-between;
}

2.效果

在这里插入图片描述

这篇关于【愚公系列】2022年11月 微信小程序-优购电商项目-订单列表页面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/368700

相关文章

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

C++11范围for初始化列表auto decltype详解

《C++11范围for初始化列表autodecltype详解》C++11引入auto类型推导、decltype类型推断、统一列表初始化、范围for循环及智能指针,提升代码简洁性、类型安全与资源管理效... 目录C++11新特性1. 自动类型推导auto1.1 基本语法2. decltype3. 列表初始化3

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker