Files
chazhi/src/hooks/useTeaSpecialistOrder.ts
wangxiaowei ca0d16cf05 调试接口
2025-12-22 04:48:05 +08:00

97 lines
2.8 KiB
TypeScript

import { router } from '@/utils/tools'
import { toast } from '@/utils/toast'
import { cancelTeaSpecialistOrder, deleteTeaSpecialistOrder, confirmTeaSpecialistOrder, refundTeaSpecialistOrder } from '@/api/teaSpecialist-order'
/**
* 取消订单
* @param orderId 订单ID
*/
export async function handleCancelOrderHooks(orderId: number) {
try {
const response = await cancelTeaSpecialistOrder({ id: orderId })
uni.$emit('refreshOrderList')
uni.$emit('refreshOrderDetail')
} catch (error) {
router.navigateBack()
throw error
}
}
/**
* 重新支付
* @param orderId 订单ID
* @param teaSpecialistId 茶艺师ID
* @returns
*/
export function handleToPayHooks(orderId: number, teaSpecialistId: number) {
try {
uni.$on('payment', params => {
console.log("🚀 ~ params:", params)
setTimeout(() => {
uni.$off("payment")
uni.$emit('refreshOrderList')
uni.$emit('refreshOrderDetail')
if (params.result) {
uni.redirectTo({
url: `/pages/notice/reserve?type=teaSpecialist&orderId=${params.orderId}`
})
} else {
uni.redirectTo({
url: '/bundle/order/tea-specialist/order-list'
})
}
}, 1000)
})
setTimeout(() => {
router.navigateTo(`/pages/cashier/cashier?from=order&orderId=${orderId}&teaSpecialistId=${teaSpecialistId}`)
}, 800)
} catch (error) {
toast.info('订单提交失败,请稍后重试')
return
}
}
/**
* 删除订单
*/
export async function handleDeleteOrderHooks(orderId: number) {
try {
const response = await deleteTeaSpecialistOrder({ id: orderId })
uni.$emit('refreshOrderList')
uni.$emit('refreshOrderDetail')
} catch (error) {
router.navigateBack()
throw error
}
}
/**
* 确认(完成)订单
*/
export async function handleConfirmOrderHooks(orderId: number) {
try {
const response = await confirmTeaSpecialistOrder({ id: orderId })
uni.$emit('refreshOrderList')
uni.$emit('refreshOrderDetail')
} catch (error) {
router.navigateBack()
throw error
}
}
/**
* 订单退款
* @param orderId 订单ID
* @param orderType 订单类型
*/
// export async function handleRefundOrderHooks(orderId: number, orderType: string) {
// try {
// const response = await refundTeaSpecialistOrder({ id: orderId, order_type: orderType })
// uni.$emit('refreshOrderList')
// uni.$emit('refreshOrderDetail')
// } catch (error) {
// router.navigateBack()
// throw error
// }
// }