对接售后退款申请

This commit is contained in:
2022-06-24 19:54:01 +08:00
parent 9503d35dbb
commit 3d349d405a
14 changed files with 134 additions and 66 deletions
+19 -17
View File
@@ -15,28 +15,26 @@ type Param = {
sale_mode: number //订单类型
type: number //1退货,2退款
},
onClick?: (val: number) => void //点击后触发的事件,返回订单状态
onClick?: (val: number) => void, //点击后触发的事件,返回订单状态
onBtnNull?: () => void //所有按钮都为空
}
export default memo(({orderInfo, onClick}:Param) => {
export default memo(({orderInfo, onClick, onBtnNull}:Param) => {
//售后订单状态
const {
ReturnStageApplying,
ReturnStageWaitCheck,
ReturnStageChecked,
ReturnStageReturned,
ReturnStageCancel,
ReturnStageQualityCheckPendingRefund,
ReturnStageServiceOrderPendingRefund,
ReturnStageRejected
} = AFTER_ORDER_STATUS
//订单类型
const {
SaLeModeBulk,
SaleModeLengthCut,
SaLeModeWeightCut,
} = SALE_MODE
// const {
// SaLeModeBulk,
// SaleModeLengthCut,
// SaLeModeWeightCut,
// } = SALE_MODE
//售后按钮按售后状态归类, value是该订单状态,可能该按钮会出现
const orderBtnsList = useRef([
@@ -50,11 +48,11 @@ export default memo(({orderInfo, onClick}:Param) => {
value: [ReturnStageWaitCheck.value],
label: '退货物流'
},
{
id: 3,
value: [ReturnStageChecked.value, ReturnStageQualityCheckPendingRefund.value],
label: '查看物流'
},
// {
// id: 3,
// value: [ReturnStageChecked.value, ReturnStageQualityCheckPendingRefund.value],
// label: '查看物流'
// },
{
id: 4,
value: [ReturnStageQualityCheckPendingRefund.value, ReturnStageServiceOrderPendingRefund.value, ReturnStageReturned.value],
@@ -86,7 +84,6 @@ export default memo(({orderInfo, onClick}:Param) => {
//判断是否显示该按钮
const orderBtnsShow = (item) => {
if(!orderInfo) return false
if(item.id == 1) {
//取消退货
return (orderInfo.type == 1)&&item.value.includes(orderInfo.stage)
@@ -94,9 +91,14 @@ export default memo(({orderInfo, onClick}:Param) => {
//取消退款
return (orderInfo.type == 2)&&item.value.includes(orderInfo.stage)
} else {
return item.value.includes(orderInfo.stage)
if(item.value.includes(orderInfo.stage)) {
return true
} else {
onBtnNull?.()
}
}
}
//显示的按钮数组
+25
View File
@@ -7,6 +7,7 @@ import {useRef, memo, useState, useMemo } from "react"
import classnames from "classnames";
import styles from './index.module.scss'
import { AddShoppingCartApi } from "@/api/shopCart"
import { ApplyRefundApi } from "@/api/salesAfterOrder"
type Param = {
orderInfo: {
@@ -133,6 +134,8 @@ export default memo(({orderInfo, onClick}:Param) => {
receiveOrder()
} else if(val == 5) {
goLink('/pages/applyAfterSales/index',{id:orderInfo?.orderId})
} else if(val == 8) {
applyRefund()
} else {
onClick?.(val)
}
@@ -181,6 +184,28 @@ export default memo(({orderInfo, onClick}:Param) => {
})
}
//退款
const {fetchData: fetchDataApplyRefund} = ApplyRefundApi()
const applyRefund = async () => {
Taro.showModal({
title: '确定退款?',
success: async function async (res) {
if(res.confirm) {
let res = await fetchDataApplyRefund({sale_order_id: orderInfo?.orderId})
if(res.success) {
alert.success('申请成功')
} else {
alert.error('申请失败')
}
onClick?.(8)
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
}
//显示更多按钮
const [showMore, setShowMore] = useState(false)