Files
chazhi/src/utils/order.ts
2025-11-20 17:29:26 +08:00

277 lines
9.8 KiB
TypeScript

// 预约服务分类
export enum ReserveServiceCategory {
ReserveRoom = 'ReserveRoom', // 预约茶室
GroupBuying = 'GroupBuying', // 团购
}
/** 售后服务分类 **/
// 个人原因
enum PersonalReasonEnum {
OverBought = 1, // 买多了/买错了
NoLongerNeeded = 2 // 计划有变,暂时不需要的
}
// 商家原因
enum MerchantReasonEnum {
CannotContact = 3, // 电话联系不上商家
NotServing = 4, // 商家营业但不接待
Renovating = 5 // 商家停止装修
}
// 个人原因映射
export const PersonalReasonMap: { label: string, value: PersonalReasonEnum }[] = [
{ label: '买多了/买错了', value: PersonalReasonEnum.OverBought },
{ label: '计划有变,暂时不需要的', value: PersonalReasonEnum.NoLongerNeeded }
]
// 商家原因映射
export const MerchantReasonMap: { label: string, value: MerchantReasonEnum }[] = [
{ label: '电话联系不上商家', value: MerchantReasonEnum.CannotContact },
{ label: '商家营业但不接待', value: MerchantReasonEnum.NotServing },
{ label: '商家停止装修', value: MerchantReasonEnum.Renovating }
]
// 售后原因映射(用于提交时的参数转换)
export const ReasonMap: Record<number, string> = {
[PersonalReasonEnum.OverBought]: '买多了/买错了',
[PersonalReasonEnum.NoLongerNeeded]: '计划有变,暂时不需要的',
[MerchantReasonEnum.CannotContact]: '已退款',
[MerchantReasonEnum.NotServing]: '申请售后',
[MerchantReasonEnum.Renovating]: '申请售后中'
}
/** 结束 **/
// 订单来源
export enum OrderSource {
Direct = 'direct', // 直营店
Franchise = 'franchise', // 加盟店
DouYin = 'douyin', // 抖音团购
TeaRoom = 'teaRoom', // 茶室
TeaSpecialist = 'teaSpecialist' // 茶艺师
}
// 订单来源对应名称
export const OrderSourceText: Record<OrderSource, string> = {
[OrderSource.Direct]: '直营店',
[OrderSource.Franchise]: '加盟店',
[OrderSource.DouYin]: '抖音',
[OrderSource.TeaRoom]: '茶室',
[OrderSource.TeaSpecialist]: '茶艺师',
}
// 订单状态
export enum OrderStatus {
Consuming = 'consuming', // 消费中(服务中)
Reserved = 'reserved', // 预约单(已预约)
Serving = 'serving', // 服务中(茶艺师订单独有的)
Pending = 'pending', // 待付款
Confirm = 'confirm', // 待确认
Finished = 'finished', // 已完结
Cancelled = 'cancelled', // 已取消
ToUse = 'toUse', // 待使用
Used = 'used', // 已使用(交易完成)
Refunded = 'refunded', // 已退款
AfterSaleApply = 'afterSaleApply', // 申请售后
AfterSaleProcessing = 'afterSaleProcessing', // 申请售后中
}
// 订单状态对应名称
export const OrderStatusText: Record<OrderStatus, string> = {
[OrderStatus.Consuming]: '消费中',
[OrderStatus.Reserved]: '预约单',
[OrderStatus.Serving]: '服务中',
[OrderStatus.Pending]: '待付款',
[OrderStatus.Confirm]: '待确认',
[OrderStatus.Finished]: '已完结',
[OrderStatus.Cancelled]: '已取消',
[OrderStatus.ToUse]: '待使用',
[OrderStatus.Used]: '已使用',
[OrderStatus.Refunded]: '已退款',
[OrderStatus.AfterSaleApply]: '申请售后',
[OrderStatus.AfterSaleProcessing]: '申请售后中'
}
// 对应tabbar显示的标题
export const OrderStatusTitle: Record<OrderSource, Record<OrderStatus, string>> = {
[OrderSource.TeaRoom]: {
[OrderStatus.Consuming]: '消费中',
[OrderStatus.Reserved]: '预约单',
[OrderStatus.Serving]: '服务中',
[OrderStatus.Pending]: '等待付款',
[OrderStatus.Confirm]: '待确认',
[OrderStatus.Finished]: '交易完成',
[OrderStatus.Cancelled]: '订单取消',
[OrderStatus.ToUse]: '待使用',
[OrderStatus.Used]: '交易完成',
[OrderStatus.Refunded]: '售后完成',
[OrderStatus.AfterSaleApply]: '申请售后',
[OrderStatus.AfterSaleProcessing]: '申请售后中'
},
[OrderSource.TeaSpecialist]: {
[OrderStatus.Consuming]: '消费中',
[OrderStatus.Reserved]: '已预约',
[OrderStatus.Serving]: '服务中',
[OrderStatus.Pending]: '待付款',
[OrderStatus.Confirm]: '订单待确认',
[OrderStatus.Finished]: '已完结',
[OrderStatus.Cancelled]: '订单取消',
[OrderStatus.ToUse]: '待使用',
[OrderStatus.Used]: '交易完成',
[OrderStatus.Refunded]: '售后完成',
[OrderStatus.AfterSaleApply]: '申请售后',
[OrderStatus.AfterSaleProcessing]: '申请售后中'
},
[OrderSource.Direct]: {
[OrderStatus.Consuming]: '消费中',
[OrderStatus.Reserved]: '预约单',
[OrderStatus.Serving]: '服务中',
[OrderStatus.Pending]: '待付款',
[OrderStatus.Confirm]: '待确认',
[OrderStatus.Finished]: '已完结',
[OrderStatus.Cancelled]: '已取消',
[OrderStatus.ToUse]: '待使用',
[OrderStatus.Used]: '交易完成',
[OrderStatus.Refunded]: '售后完成',
[OrderStatus.AfterSaleApply]: '申请售后',
[OrderStatus.AfterSaleProcessing]: '申请售后中'
},
[OrderSource.Franchise]: {
[OrderStatus.Consuming]: '消费中',
[OrderStatus.Reserved]: '预约单',
[OrderStatus.Serving]: '服务中',
[OrderStatus.Pending]: '待付款',
[OrderStatus.Confirm]: '待确认',
[OrderStatus.Finished]: '已完结',
[OrderStatus.Cancelled]: '已取消',
[OrderStatus.ToUse]: '待使用',
[OrderStatus.Used]: '交易完成',
[OrderStatus.Refunded]: '售后完成',
[OrderStatus.AfterSaleApply]: '申请售后',
[OrderStatus.AfterSaleProcessing]: '申请售后中'
},
[OrderSource.DouYin]: {
[OrderStatus.Consuming]: '消费中',
[OrderStatus.Reserved]: '预约单',
[OrderStatus.Serving]: '服务中',
[OrderStatus.Pending]: '待付款',
[OrderStatus.Confirm]: '待确认',
[OrderStatus.Finished]: '已完结',
[OrderStatus.Cancelled]: '已取消',
[OrderStatus.ToUse]: '待使用',
[OrderStatus.Used]: '已使用', // DouYin专属
[OrderStatus.Refunded]: '售后完成',
[OrderStatus.AfterSaleApply]: '申请售后',
[OrderStatus.AfterSaleProcessing]: '申请售后中'
}
}
// 茶艺师订单状态数字(根据UI图还缺已退款、待接单、售后中、售后完成)
export enum TeaSpecialistOrderStatus {
Pending = 0, // 待付款(未支付)
Pay = 1, // 预约单、已预约(已支付)
Cancelled = 2, // 已取消(订单取消)
Confirm = 3, // 待确认(已接单)
Serving = 4, // 服务中
Finished = 5, // 已完成
}
// 茶艺师订单状态文本
export enum TeaSpecialistOrderStatusText {
All = 'all', // 待付款
Pending = 'pending', // 待付款
Pay = 'pay', // 已支付(预约单、已预约)
Cancelled = 'cancelled', // 已取消
Confirm = 'confirm', // 待确认
Serving = 'serving', // 服务中
Finished = 'finished', // 已完成
}
// 状态内容映射
export const TeaSpecialistOrderStatusTextValue: Record<TeaSpecialistOrderStatus, any> = {
[TeaSpecialistOrderStatus.Pending]: {
title: '等待付款'
},
[TeaSpecialistOrderStatus.Pay]: {
title: '已预约'
},
[TeaSpecialistOrderStatus.Cancelled]: {
title: '订单取消'
},
[TeaSpecialistOrderStatus.Confirm]: {
title: '订单待确认'
},
[TeaSpecialistOrderStatus.Serving]: {
title: '服务中'
},
[TeaSpecialistOrderStatus.Finished]: {
title: '交易完成'
},
}
// 茶艺师订单状态文本对应值
export const TeaSpecialistOrderStatusValue: Record<TeaSpecialistOrderStatusText, string | number> = {
[TeaSpecialistOrderStatusText.All]: '',
[TeaSpecialistOrderStatusText.Pending]: 0,
[TeaSpecialistOrderStatusText.Pay]: 1,
[TeaSpecialistOrderStatusText.Cancelled]: 2,
[TeaSpecialistOrderStatusText.Confirm]: 3,
[TeaSpecialistOrderStatusText.Serving]: 4,
[TeaSpecialistOrderStatusText.Finished]: 5,
}
// 下单类型
export const OrderType = {
TeaRoomOrder: 'teaRoomOrder',
}
// 包间订单状态数字(根据UI图还缺已退款、待接单、售后中、售后完成)
export enum TeaRoomOrderStatus {
Pending = 0, // 待付款
Pay = 1, // 已支付(预约单)
Consumption = 2, // 消费中
Finished = 3, // 完成
Cancelled = 4, // 订单取消
}
// 包间订单状态文本
export enum TeaRoomOrderStatusText {
All = 'all', // 待付款
Pending = 'pending', // 待付款
Pay = 'pay', // 已支付(预约单)
Consumption = 'consumption', // 消费中
Finished = 'finished', // 已完成
Cancelled = 'cancelled', // 已取消
}
// 状态内容映射
export const TeaRoomOrderStatusTextValue: Record<TeaRoomOrderStatus, any> = {
[TeaRoomOrderStatus.Pending]: {
title: '等待付款'
},
[TeaRoomOrderStatus.Pay]: {
title: '已预约'
},
[TeaRoomOrderStatus.Consumption]: {
title: '消费中'
},
[TeaRoomOrderStatus.Finished]: {
title: '交易完成'
},
[TeaRoomOrderStatus.Cancelled]: {
title: '订单取消'
},
}
// 包间订单状态文本对应值
export const TeaRoomOrderStatusValue: Record<TeaRoomOrderStatusText, string | number> = {
[TeaRoomOrderStatusText.All]: '',
[TeaRoomOrderStatusText.Pending]: 0,
[TeaRoomOrderStatusText.Pay]: 1,
[TeaRoomOrderStatusText.Consumption]: 2,
[TeaRoomOrderStatusText.Finished]: 3,
[TeaRoomOrderStatusText.Cancelled]: 4,
}