写一个微信小程序的订单列表,加载页面申请数据 接口路径:/workorder/processes 接口说明:维修人员查询派给自己的全部工单,包括已经维修的和未维修的 请求方式:get 需要参数(参数名+参数含义): 无 可能返回的Json内容: code:0表示查询成功 processList:维修单的汇总列表,用process类封装,未处理的排在前面,然后按照时间顺序排列 processListCount:processList的长度 workorderList:上面那些维修单对应的工单信息,用workorder类封装 workorderListCount:workorderList的长度 获得数据后要求根据processList顺序获得workorderList中的订单的具体信息并按顺序显示,要求每一条订单显示订单的标题,订单的类型,订单的完成情况(完成,未完成),再根据超时预警表示显示红色的警告信息。点击订单后,跳转到具体对应的订单页面,
时间: 2024-03-04 14:48:18 浏览: 75
以下是一个简单的微信小程序订单列表的示例代码,仅供参考:
1. wxml文件代码:
```
<view class="order-list">
<block wx:for="{{orders}}" wx:key="orderId">
<view class="order-item {{item.isOverdue ? 'overdue' : ''}}" bindtap="onOrderTap" data-order-id="{{item.orderId}}">
<view class="title">{{item.title}}</view>
<view class="type">{{item.type}}</view>
<view class="status">{{item.isCompleted ? '已完成' : '未完成'}}</view>
</view>
</block>
</view>
```
2. js文件代码:
```
Page({
data: {
orders: []
},
onLoad: function () {
this.loadOrders();
},
loadOrders: function () {
wx.request({
url: '/workorder/processes',
success: (res) => {
if (res.data.code === 0) {
let processList = res.data.processList;
let workorderList = res.data.workorderList;
let orders = [];
for (let i = 0; i < processList.length; i++) {
let process = processList[i];
let workorder = workorderList.find((w) => w.orderId === process.orderId);
let order = {
orderId: workorder.orderId,
title: workorder.title,
type: workorder.type,
isCompleted: workorder.isCompleted,
isOverdue: new Date() > new Date(workorder.deadline)
};
orders.push(order);
}
this.setData({ orders });
}
}
});
},
onOrderTap: function (e) {
let orderId = e.currentTarget.dataset.orderId;
wx.navigateTo({
url: '/pages/order-detail/order-detail?orderId=' + orderId
});
}
});
```
3. 样式代码:
```
.order-list {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
}
.order-item {
width: 90%;
margin: 10rpx;
padding: 10rpx;
border-radius: 10rpx;
box-shadow: 0 5rpx 10rpx 0 rgba(0, 0, 0, 0.1);
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
background-color: #fff;
transition: all 0.3s ease-in-out;
}
.order-item.overdue {
background-color: #fdd;
}
.order-item:hover {
transform: scale(1.05);
}
.title {
font-size: 16rpx;
font-weight: bold;
}
.type {
font-size: 14rpx;
color: #999;
}
.status {
font-size: 14rpx;
color: #999;
}
```
以上示例代码实现了一个简单的订单列表页面,根据后台返回的processList和workorderList数据,按照要求显示订单的标题、类型、完成情况和超时预警等信息,点击订单后可以跳转到对应订单的详情页面。需要注意的是,示例代码中的请求路径和页面跳转路径需要根据实际情况进行修改。
阅读全文