新页面和修改对应逻辑

This commit is contained in:
not-like-juvenile
2026-01-26 17:12:37 +08:00
parent b1c845d571
commit 1c83f29f7d
10 changed files with 1297 additions and 157 deletions

View File

@@ -77,14 +77,16 @@
</view>
<view class="task-actions">
<!-- 根据状态显示不同的操作按钮 -->
<button v-if="currentTask.status === 1" class="action-btn primary" @click="acceptTask">接受任务</button>
<button v-if="currentTask.status === 2" class="action-btn primary" @click="startPickup">开始取货</button>
<button v-if="currentTask.status === 3" class="action-btn primary" @click="confirmPickup">确认取货</button>
<button v-if="currentTask.status === 4" class="action-btn primary" @click="startDelivery">开始配送</button>
<button v-if="currentTask.status === 5" class="action-btn primary" @click="confirmDelivery">确认送达</button>
<button v-if="currentTask.status === 5" class="action-btn primary" @click="showConfirmDeliveryDialog">确认送达</button>
<button class="action-btn secondary" @click="contactCustomer">联系客户</button>
<button class="action-btn secondary" @click="viewNavigation">查看导航</button>
<button class="action-btn secondary" @click="viewOrderDetail">查看详情</button>
</view>
</view>
</view>
@@ -279,7 +281,7 @@
this.currentTask = {
id: '1',
order_no: 'D202501081234',
status: 2,
status: 2, // 👈 设置为“已接取”,以便测试“开始取货”按钮
pickup_address: {
detail: '华强北商业区华强电子世界2楼A205',
area: '华强北'
@@ -471,10 +473,24 @@
})
},
// 显示确认送达弹框
showConfirmDeliveryDialog() {
uni.showModal({
title: '确认送达',
content: '确认商品已送到顾客手中?',
success: (res) => {
if (res.confirm) {
this.confirmDelivery()
}
}
})
},
// 确认送达
confirmDelivery() {
// TODO: 调用API确认送达
if (this.currentTask) {
// 1. 假设将订单状态更新为“已完成” (假设5表示已完成)
// 1. 将订单状态更新为“已完成” (假设5表示已完成)
this.currentTask.status = 5;
// 2. 将已完成的任务保存到本地存储,以便历史订单页面可以读取
const completedOrder = {...this.currentTask}; // 创建副本,避免引用问题
@@ -504,6 +520,21 @@
})
},
// 查看订单详情(跳转到 order-detail 页面)
viewOrderDetail(orderId?: string) {
if (orderId) {
// 跳转到附近订单的详情页
uni.navigateTo({
url: `/pages/mall/delivery/order-detail?id=${orderId}`
})
} else if (this.currentTask) {
// 跳转到当前任务的详情页,并传递 status
uni.navigateTo({
url: `/pages/mall/delivery/order-detail?id=${this.currentTask.id}&status=${this.currentTask.status}`
})
}
},
// 订单操作方法
acceptOrder(orderId: string) {
// TODO: 调用API接受订单
@@ -515,12 +546,6 @@
this.loadAvailableOrders()
},
viewOrderDetail(orderId: string) {
uni.navigateTo({
url: `/pages/mall/delivery/order-detail?id=${orderId}`
})
},
// 导航方法
goToOrderHistory() {
uni.navigateTo({
@@ -550,6 +575,7 @@
</script>
<style>
/* ... 保持原有 style 部分不变 ... */
.delivery-container {
background-color: #f8f9fa;
min-height: 100vh;