订单按钮优化完成

This commit is contained in:
2022-07-15 21:09:46 +08:00
parent b688195a60
commit 3eafc7539f
18 changed files with 158 additions and 875 deletions
+27 -51
View File
@@ -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])