mirror of
https://gitee.com/beijing_hongye_huicheng/lilishop-uniapp.git
synced 2026-09-20 20:02:02 +08:00
refactor(logistics): 重构物流信息展示与处理逻辑
- 更新物流详情页面,简化数据获取流程,增强用户体验。 - 优化订单详情页面,动态展示物流信息,支持不同配送状态。 - 新增配送工具函数,提升代码复用性与可读性。 - 调整样式以改善界面布局,确保信息清晰可读。
This commit is contained in:
47
utils/orderDelivery.js
Normal file
47
utils/orderDelivery.js
Normal file
@@ -0,0 +1,47 @@
|
||||
/**
|
||||
* 订单配送展示工具(整单 / 拆单 / 无需配送)
|
||||
*/
|
||||
|
||||
export function shouldLoadDelivery(order) {
|
||||
return (
|
||||
order?.deliveryMethod === 'LOGISTICS' &&
|
||||
order?.allowOperationVO?.showLogistics === true
|
||||
)
|
||||
}
|
||||
|
||||
export function isNoDelivery(packageItem) {
|
||||
return (
|
||||
packageItem?.fulfillmentMode === 'NO_DELIVERY' ||
|
||||
packageItem?.logisticsRequired === false
|
||||
)
|
||||
}
|
||||
|
||||
export function getPackageTitle(packageItem, index) {
|
||||
if (isNoDelivery(packageItem)) return '无需配送'
|
||||
if (packageItem?.fulfillmentMode === 'WHOLE') return '整单发货'
|
||||
if (packageItem?.fulfillmentMode === 'SPLIT') return `包裹 ${index + 1}`
|
||||
return `包裹 ${index + 1}`
|
||||
}
|
||||
|
||||
export function getDeliveryEntryText(packages, orderStatus, legacyTraces) {
|
||||
if (packages?.length) {
|
||||
const allNoDelivery = packages.every(isNoDelivery)
|
||||
if (allNoDelivery) return '查看配送说明'
|
||||
if (orderStatus === 'PARTS_DELIVERED') {
|
||||
return `已发出 ${packages.length} 个包裹,剩余商品待发货`
|
||||
}
|
||||
return `共 ${packages.length} 个配送包裹`
|
||||
}
|
||||
|
||||
const traces = legacyTraces?.traces
|
||||
if (Array.isArray(traces) && traces.length) {
|
||||
const latest = traces[0]
|
||||
return latest?.AcceptStation || '商家已发货,物流信息同步中'
|
||||
}
|
||||
|
||||
return '商家已发货,物流信息同步中'
|
||||
}
|
||||
|
||||
export function getOrderAllowOperation(order, orderDetail) {
|
||||
return order?.allowOperationVO || orderDetail?.allowOperationVO || {}
|
||||
}
|
||||
Reference in New Issue
Block a user