import { dayjs } from 'wot-design-uni' export const navTabTypeList = [ { name: '全部', value: 0 }, { name: '配送(外卖)', value: 3 }, { name: '快递', value: 1 }, ] export const orderStatusList = [ { name: '全部', value: 'all' }, { name: '待支付', value: 'paddingPay' }, { name: '进行中', value: 'ing' }, { name: '已完成', value: 'completed' }, { name: '已取消', value: 'cancel' }, ] export enum OrderStatus { /** * 待支付 */ PaddingPay = 0, /** * 订单已接单 */ OrderAccepted = 20, /** * 订单待配送 */ OrderWaitDelivery = 30, /** * 订单配送中 */ OrderDelivering = 40, /** * 订单取消审核 */ OrderCancelAudit = 50, /** * 订单取消 */ OrderCancel = 60, /** * 订单已送达 */ OrderArrived = 70, /** * 订单完成 */ OrderCompleted = 80, } /** * 订单状态文字统一处理 * @param order * */ export function handleCommonOrderStatusText(order: Api.xsbOrderList): any { if (order.hbOrderStatus === OrderStatus.PaddingPay) { const endTime = dayjs(order.createTime).add(15, 'minutes') const remaining = dayjs(endTime).valueOf() - dayjs().valueOf() return Math.max(0, remaining) // 确保不会返回负数 } if (order.hbOrderStatus === OrderStatus.OrderAccepted) { return '订单已接单' } if (order.hbOrderStatus === OrderStatus.OrderWaitDelivery) { return '订单待配送' } if (order.hbOrderStatus === OrderStatus.OrderDelivering) { return '订单配送中' } if (order.hbOrderStatus === OrderStatus.OrderCancelAudit) { return '订单取消审核' } if (order.hbOrderStatus === OrderStatus.OrderCancel) { return '订单取消' } if (order.hbOrderStatus === OrderStatus.OrderArrived) { return '订单已送达' } if (order.hbOrderStatus === OrderStatus.OrderCompleted) { return '订单完成' } return '未知订单状态' } /** * 统一取消订单逻辑处理 * @param order */ export function handleCommonCancelOrder(order: Api.xsbOrderList) { console.log(order, '取消顶顶顶') return new Promise((resolve, reject) => { useGlobalMessage().confirm({ title: '取消订单', msg: '确定要取消订单吗?', success: async () => { uni.showLoading({ mask: true }) Apis.xsb.cancelOrder({ data: { orderNo: String(order.orderNumber), }, }).then(res => resolve(res)).catch(err => reject(err)).finally(() => uni.hideLoading()) }, fail: async (err) => { reject(err) }, }) }) } /** * 统一删除订单 */ export function handleCommonDeleteOrder(order: Api.xsbOrderList) { return new Promise((resolve, reject) => { useGlobalMessage().confirm({ title: '删除订单', msg: '确定要删除该订单吗?', success: async () => { uni.showLoading({ mask: true }) Apis.xsb.deleteOrder({ pathParams: { ids: String(order.orderId), }, }).then(res => resolve(res)).catch(err => reject(err)).finally(() => uni.hideLoading()) }, fail: async (err) => { reject(err) }, }) }) }