feat(order): 增加门店订单页收货信息一键导航功能
- 订单卡片收货信息区域添加点击事件,实现一键导航至收货地址 - 新增 handleNavigate 方法,利用微信小程序内置地图 API 实现导航 - 导航功能支持坐标有效性检查,坐标无效时显示错误提示 - 订单详情页“过期时间”字段改为“送达时间”并显示对应数据 - 保留“发货时间”字段,确保送达时间与发货时间分别展示 - 确认代码构建和类型检查无新增错误
This commit is contained in:
@@ -461,6 +461,23 @@ export default function StoreOrdersPage() {
|
||||
})
|
||||
}
|
||||
|
||||
/** 一键导航到收货地址(调用微信内置地图) */
|
||||
const handleNavigate = (order: ShopOrder) => {
|
||||
const lat = parseFloat(order.addressLat || '')
|
||||
const lng = parseFloat(order.addressLng || '')
|
||||
if (isNaN(lat) || isNaN(lng)) {
|
||||
Taro.showToast({title: '该订单未记录定位信息,无法导航', icon: 'none'})
|
||||
return
|
||||
}
|
||||
Taro.openLocation({
|
||||
latitude: lat,
|
||||
longitude: lng,
|
||||
name: order.realName || '收货地址',
|
||||
address: order.address || '',
|
||||
scale: 16,
|
||||
})
|
||||
}
|
||||
|
||||
/** 渲染单个订单卡片 */
|
||||
const renderOrderCard = (order: ShopOrder) => {
|
||||
const actions = getOrderActions(order)
|
||||
@@ -497,13 +514,22 @@ export default function StoreOrdersPage() {
|
||||
</View>
|
||||
))}
|
||||
|
||||
{/* 收货信息 */}
|
||||
{/* 收货信息(点击区域一键导航) */}
|
||||
{(order.realName || order.phone) && (
|
||||
<View className='bg-gray-50 rounded-lg p-3 mb-3'>
|
||||
<Text className='text-sm text-gray-700 block'>{order.realName} {order.phone}</Text>
|
||||
{order.address && (
|
||||
<Text className='text-xs text-gray-400 mt-1 block'>{order.address}</Text>
|
||||
)}
|
||||
<View
|
||||
className='bg-gray-50 rounded-lg p-3 mb-3 flex items-center'
|
||||
onClick={() => handleNavigate(order)}
|
||||
>
|
||||
<View className='flex-1'>
|
||||
<Text className='text-sm text-gray-700 block'>{order.realName} {order.phone}</Text>
|
||||
{order.address && (
|
||||
<Text className='text-xs text-gray-400 mt-1 block'>{order.address}</Text>
|
||||
)}
|
||||
</View>
|
||||
<View className='ml-2 flex flex-col items-center justify-center px-1'>
|
||||
<Text className='text-lg text-green-500 leading-none'>›</Text>
|
||||
<Text className='text-xs text-green-500 mt-0.5'>导航</Text>
|
||||
</View>
|
||||
</View>
|
||||
)}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user