58 lines
1.3 KiB
JavaScript
58 lines
1.3 KiB
JavaScript
function mapTaskStatus(status) {
|
|
const statusMap = {
|
|
pending: "待接单",
|
|
accepted: "已接单",
|
|
picked_up: "已揽货",
|
|
delivered: "已送达",
|
|
canceled: "已取消",
|
|
};
|
|
return statusMap[status] || status || "-";
|
|
}
|
|
|
|
Page({
|
|
data: {
|
|
loading: true,
|
|
message: "",
|
|
taskRows: [],
|
|
},
|
|
|
|
async onShow() {
|
|
await this.loadTasks();
|
|
},
|
|
|
|
async loadTasks() {
|
|
const app = getApp();
|
|
this.setData({ loading: true, message: "" });
|
|
try {
|
|
const data = await app.request({
|
|
url: "/api/driver/tasks",
|
|
method: "GET",
|
|
});
|
|
this.setData({
|
|
taskRows: (data.list || []).map((item) => ({
|
|
taskId: item.task_id,
|
|
taskNo: item.task_no,
|
|
pickupAddress: item.pickup_address,
|
|
deliveryAddress: item.delivery_address,
|
|
pickupContent: item.pickup_content,
|
|
status: item.status,
|
|
statusText: mapTaskStatus(item.status),
|
|
})),
|
|
});
|
|
} catch (error) {
|
|
this.setData({
|
|
message: error.message || "加载司机任务失败",
|
|
});
|
|
} finally {
|
|
this.setData({ loading: false });
|
|
}
|
|
},
|
|
|
|
handleOpenDetail(event) {
|
|
const { id } = event.currentTarget.dataset;
|
|
wx.navigateTo({
|
|
url: `/pages/task-detail?id=${id}`,
|
|
});
|
|
},
|
|
});
|