feat: 新增确认送达弹框组件、添加安卓打包测试证书、骑手配送流程接口对接
This commit is contained in:
@@ -3,12 +3,12 @@
|
||||
<view class="transfer-page">
|
||||
<scroll-view class="body" scroll-y>
|
||||
<u-steps direction="column" :current="currentIndex" class="steps-wrap">
|
||||
<u-steps-item v-for="(item, idx) in records" :key="idx">
|
||||
<!-- <u-steps-item v-for="(item, idx) in records" :key="idx">
|
||||
<template #title>
|
||||
<text class="step-title">{{ item.title }}</text>
|
||||
<text class="step-title">{{ item.operator }}</text>
|
||||
</template>
|
||||
<template #desc>
|
||||
<text class="step-desc">{{ item.time }}</text>
|
||||
<text class="step-desc">{{ item.operator }}</text>
|
||||
</template>
|
||||
<template #content>
|
||||
<view class="step-content">
|
||||
@@ -16,7 +16,20 @@
|
||||
<text class="op-note" v-if="item.note"> · {{ item.note }}</text>
|
||||
</view>
|
||||
</template>
|
||||
</u-steps-item>
|
||||
</u-steps-item> -->
|
||||
<template v-for="(item, idx) in records" :key="idx">
|
||||
<up-steps-item :desc="item.time">
|
||||
<template #title>
|
||||
<view>
|
||||
<view class="step-title">{{ item.title }}</view>
|
||||
<view>
|
||||
<text class="step-desc">{{ item.operator }}</text>
|
||||
<text class="op-note" v-if="item.note"> · {{ item.note }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</up-steps-item>
|
||||
</template>
|
||||
</u-steps>
|
||||
<view v-if="records.length === 0" class="empty">暂无交接记录</view>
|
||||
</scroll-view>
|
||||
@@ -33,6 +46,7 @@
|
||||
onLoad
|
||||
} from '@dcloudio/uni-app';
|
||||
import sheep from '@/sheep';
|
||||
import DeliveryOrderApi from '@/sheep/api/member/deliveryOrder';
|
||||
|
||||
const records = ref([]);
|
||||
const orderId = ref(null);
|
||||
@@ -42,38 +56,51 @@
|
||||
fetchRecords();
|
||||
});
|
||||
|
||||
function formatTime(timestamp) {
|
||||
if (!timestamp) return '';
|
||||
const date = new Date(Number(timestamp));
|
||||
const year = date.getFullYear();
|
||||
const month = String(date.getMonth() + 1).padStart(2, '0');
|
||||
const day = String(date.getDate()).padStart(2, '0');
|
||||
const hours = String(date.getHours()).padStart(2, '0');
|
||||
const minutes = String(date.getMinutes()).padStart(2, '0');
|
||||
return `${year}-${month}-${day} ${hours}:${minutes}`;
|
||||
}
|
||||
|
||||
async function fetchRecords() {
|
||||
try {
|
||||
if (sheep && typeof sheep.request === 'function') {
|
||||
const res = await sheep.request({
|
||||
url: '/order/transferRecords',
|
||||
method: 'GET',
|
||||
data: {
|
||||
id: orderId.value
|
||||
const res = await DeliveryOrderApi.getHandoverRecord(orderId.value);
|
||||
if (res.code === 0 && res.data) {
|
||||
console.log('交接记录原始数据:', res.data);
|
||||
const rawRecords = res.data || [];
|
||||
// 转换接口数据为页面所需格式
|
||||
const transformedRecords = rawRecords.map(item => {
|
||||
// 根据 deliveryStatus 生成标题
|
||||
let title = '状态更新';
|
||||
switch (item.deliveryStatus) {
|
||||
case 1: title = '待接单'; break;
|
||||
case 2: title = '骑手待到店'; break;
|
||||
case 3: title = '待取货'; break;
|
||||
case 4: title = '待送达交接点'; break;
|
||||
case 5: title = '送达交接点待分配'; break;
|
||||
case 6: title = '待送达顾客'; break;
|
||||
case 7: title = '已完成'; break;
|
||||
case 0: title = '已取消'; break;
|
||||
case -1: title = '配送异常'; break;
|
||||
}
|
||||
|
||||
return {
|
||||
title: title,
|
||||
time: formatTime(item.createTime),
|
||||
operator: item.deliverymanName ? `${item.deliverymanName} ${item.deliverymanPhoneLastFour ? ('尾号' + item.deliverymanPhoneLastFour) : ''}` : '系统',
|
||||
note: '' // 接口暂无备注字段
|
||||
};
|
||||
});
|
||||
records.value = (res && res.data) ? res.data.records || res.data : res.records || res;
|
||||
console.log('交接记录转换后:', transformedRecords);
|
||||
records.value = transformedRecords;
|
||||
} else {
|
||||
// mock 数据
|
||||
records.value = [{
|
||||
title: '已接单',
|
||||
time: '2026-01-15 10:02',
|
||||
operator: '系统',
|
||||
note: '订单自动接单'
|
||||
},
|
||||
{
|
||||
title: '到店取货',
|
||||
time: '2026-01-15 10:12',
|
||||
operator: '骑手 张三',
|
||||
note: '已取货'
|
||||
},
|
||||
{
|
||||
title: '转单给同城骑手',
|
||||
time: '2026-01-15 10:20',
|
||||
operator: '客服 小李',
|
||||
note: '因配送区域调整'
|
||||
}
|
||||
];
|
||||
sheep.$helper.toast(res.msg || '获取交接记录失败');
|
||||
records.value = [];
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('fetchRecords error', e);
|
||||
@@ -125,7 +152,7 @@
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
display: block;
|
||||
margin-top: 6rpx;
|
||||
margin: 15rpx 0;
|
||||
}
|
||||
|
||||
.step-content {
|
||||
|
||||
Reference in New Issue
Block a user