订单按钮优化完成
This commit is contained in:
@@ -38,73 +38,49 @@ export default memo(({orderInfo, onClick, fixedBottom = true}:Param) => {
|
||||
ReturnApplyOrderTypeSalesRefund // 销售退款
|
||||
} = REFUND_STATUS_ORDER
|
||||
|
||||
//订单类型
|
||||
// const {
|
||||
// SaLeModeBulk,
|
||||
// SaleModeLengthCut,
|
||||
// SaLeModeWeightCut,
|
||||
// } = SALE_MODE
|
||||
|
||||
//注册订单
|
||||
const orderBtnsList = useRef([
|
||||
//注册按钮
|
||||
type orderBtnsListParams = {id: number, label: string, validatarFunc: (val: typeof orderInfo) => any}
|
||||
const orderBtnsList = useRef<orderBtnsListParams[]>([
|
||||
{
|
||||
id: 8,
|
||||
big_value: [ReturnStageQualityCheckPendingRefund.value, ReturnStageServiceOrderPendingRefund.value],
|
||||
cut_value: [ReturnStageQualityCheckPendingRefund.value, ReturnStageServiceOrderPendingRefund.value, ReturnStageReturned.value ],
|
||||
model_value: [],
|
||||
|
||||
label: '申请记录'
|
||||
label: '申请记录',
|
||||
validatarFunc: (orderInfo) => {
|
||||
if(orderInfo.sale_mode !== 1) return [ReturnStageQualityCheckPendingRefund.value, ReturnStageServiceOrderPendingRefund.value, ReturnStageReturned.value].includes(orderInfo.stage)
|
||||
return false
|
||||
},
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
big_value: [ReturnStageApplying.value, ReturnStageWaitCheck.value],
|
||||
cut_value: [ReturnStageApplying.value, ReturnStageWaitCheck.value, ],
|
||||
model_value: [],
|
||||
label: '取消退货'
|
||||
label: '取消退货',
|
||||
validatarFunc: (orderInfo) => {
|
||||
if(orderInfo.sale_mode !== 1) return [ReturnStageApplying.value, ReturnStageWaitCheck.value].includes(orderInfo.stage)
|
||||
return false
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
big_value: [ReturnStageQualityCheckPendingRefund.value, ReturnStageServiceOrderPendingRefund.value, ReturnStageReturned.value],
|
||||
cut_value: [ReturnStageQualityCheckPendingRefund.value, ReturnStageServiceOrderPendingRefund.value, ReturnStageReturned.value],
|
||||
model_value: [],
|
||||
label: '质检结果'
|
||||
label: '质检结果',
|
||||
validatarFunc: (orderInfo) => {
|
||||
if(orderInfo.sale_mode !== 1) return [ReturnStageQualityCheckPendingRefund.value, ReturnStageServiceOrderPendingRefund.value, ReturnStageReturned.value].includes(orderInfo.stage)
|
||||
return false
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
big_value: [ReturnStageApplying.value, ReturnStageServiceOrderPendingRefund.value],
|
||||
cut_value: [ReturnStageWaitCheck.value, ReturnStageApplying.value],
|
||||
model_value: [ReturnStageApplying.value],
|
||||
label: '取消退款'
|
||||
},
|
||||
|
||||
])
|
||||
|
||||
|
||||
//判断是否显示该按钮
|
||||
const orderBtnsShow = (item) => {
|
||||
let key = ['big_value', 'model_value', 'cut_value']
|
||||
if(item.id == 1) {
|
||||
//取消退货
|
||||
return (orderInfo.type == ReturnApplyOrderTypeReturnForRefund.value)&&item[key[orderInfo?.sale_mode]]?.includes(orderInfo.stage)
|
||||
} else if (item.id == 6) {
|
||||
//取消退款
|
||||
if(orderInfo?.sale_mode == 0) {
|
||||
return (orderInfo.type != ReturnApplyOrderTypeReturnForRefund.value)&&item[key[orderInfo?.sale_mode]]?.includes(orderInfo.stage)
|
||||
} else {
|
||||
return item[key[orderInfo?.sale_mode]]?.includes(orderInfo.stage)
|
||||
label: '取消退款',
|
||||
validatarFunc: (orderInfo) => {
|
||||
//大货 是销售退款时
|
||||
if(orderInfo?.sale_mode == 0 && orderInfo.type != ReturnApplyOrderTypeReturnForRefund.value) return [ReturnStageApplying.value, ReturnStageServiceOrderPendingRefund.value]?.includes(orderInfo.stage)
|
||||
if(orderInfo?.sale_mode == 1) return [ReturnStageApplying.value].includes(orderInfo.stage)
|
||||
return false
|
||||
}
|
||||
} else if (item.id == 4) {
|
||||
//质检结果
|
||||
return (orderInfo?.type == ReturnApplyOrderTypeReturnForRefund.value)&&item[key[orderInfo?.sale_mode]]?.includes(orderInfo.stage) //退货才有
|
||||
} else {
|
||||
return item[key[orderInfo?.sale_mode]]?.includes(orderInfo.stage)
|
||||
}
|
||||
}
|
||||
},
|
||||
])
|
||||
|
||||
//显示的按钮数组
|
||||
const orderBtnsShowList: any[] = useMemo(() => {
|
||||
return orderBtnsList.current.filter(item => {
|
||||
return orderBtnsShow(item)
|
||||
return item.validatarFunc(orderInfo)
|
||||
})
|
||||
}, [orderInfo])
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ type Param = {
|
||||
wait_pay_amount: number, //待付金额
|
||||
sale_mode: number, //订单类型
|
||||
av_return_roll?: number, //可退数量
|
||||
is_return?: true|false, //是否申请了售后
|
||||
|
||||
},
|
||||
onClick?: (val: number) => void //点击后触发的事件,返回订单状态
|
||||
@@ -67,38 +68,6 @@ export default memo(({orderInfo, onClick}:Param) => {
|
||||
return orderInfo.actual_amount == 0 && orderStatus.includes(orderInfo.status)
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
label: '申请退款',
|
||||
validatarFunc: (orderInfo) => {
|
||||
//大货在待发货付过款
|
||||
let orderStatus = [
|
||||
SaleOrderStatusWaitingDelivery.value,
|
||||
SaleOrderStatusTaking.value
|
||||
]
|
||||
return orderInfo.sale_mode == SaLeModeBulk.value && orderInfo.actual_amount != 0 && orderInfo.av_return_roll && orderStatus.includes(orderInfo.status)
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
label: '申请退货',
|
||||
validatarFunc: (orderInfo) => {
|
||||
let orderStatus = [
|
||||
SaleOrderStatusAlreadyReceipt.value,
|
||||
]
|
||||
return orderInfo&&orderStatus.includes(orderInfo.status)
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
label: '确认收货',
|
||||
validatarFunc: (orderInfo) => {
|
||||
let orderStatus = [
|
||||
SaleOrderStatusWaitingReceipt.value
|
||||
]
|
||||
return orderStatus.includes(orderInfo.status)
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
label: '再次购买',
|
||||
@@ -121,10 +90,39 @@ export default memo(({orderInfo, onClick}:Param) => {
|
||||
id: 9,
|
||||
label: '售后记录',
|
||||
validatarFunc: (orderInfo) => {
|
||||
return orderInfo.is_return
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
label: '申请退款',
|
||||
validatarFunc: (orderInfo) => {
|
||||
//大货在待发货付过款
|
||||
let orderStatus = [
|
||||
SaleOrderStatusRefund.value
|
||||
SaleOrderStatusWaitingDelivery.value,
|
||||
SaleOrderStatusTaking.value
|
||||
]
|
||||
return orderInfo&&orderStatus.includes(orderInfo.status)
|
||||
return orderInfo.sale_mode == SaLeModeBulk.value && orderInfo.actual_amount != 0 && orderInfo.av_return_roll && orderStatus.includes(orderInfo.status)
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
label: '申请退货',
|
||||
validatarFunc: (orderInfo) => {
|
||||
let orderStatus = [
|
||||
SaleOrderStatusAlreadyReceipt.value,
|
||||
]
|
||||
return orderStatus.includes(orderInfo.status)
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
label: '确认收货',
|
||||
validatarFunc: (orderInfo) => {
|
||||
let orderStatus = [
|
||||
SaleOrderStatusWaitingReceipt.value
|
||||
]
|
||||
return orderStatus.includes(orderInfo.status)
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -153,7 +151,7 @@ export default memo(({orderInfo, onClick}:Param) => {
|
||||
})
|
||||
}, [orderInfo])
|
||||
|
||||
//订阅消息
|
||||
//小程序订阅
|
||||
const {ApplyGoods} = SUBSCRIPTION_MESSAGE_SCENE
|
||||
const {openSubscriptionMessage} = UseSubscriptionMessage()
|
||||
|
||||
@@ -236,7 +234,6 @@ export default memo(({orderInfo, onClick}:Param) => {
|
||||
//退款
|
||||
const {fetchData: fetchDataApplyRefund} = ApplyRefundApi()
|
||||
const applyRefund = async () => {
|
||||
// if(!orderInfo?.av_return_roll) return alert.none('该订单没有可退条数')
|
||||
Taro.showModal({
|
||||
title: '确定退款?',
|
||||
success: async function async (res) {
|
||||
|
||||
Reference in New Issue
Block a user