订单列表对接

This commit is contained in:
2022-05-27 20:34:13 +08:00
parent e73bd1bc25
commit b93b59332b
19 changed files with 236 additions and 111 deletions
+10 -41
View File
@@ -20,9 +20,10 @@ type Param = {
total_number: number,
status: 0,
id: number
}
},
onClickBtn?: (val:number) => void
}
export default memo(({value}: Param) => {
export default memo(({value, onClickBtn}: Param) => {
const userInfo = useSelector(state => state.userInfo)
//对应数量
const formatCount = useCallback((item, sale_mode) => {
@@ -33,49 +34,17 @@ export default memo(({value}: Param) => {
return formatPriceDiv(price).toLocaleString() + '/' + (sale_mode == 1?'m':'kg')
}, [value])
//订单按钮按订单状态归类
const orderBtnsList = useRef([
{
value: [0, 1, 2, 9, 3], //取消订单按钮对应: 待接单,待配布,已配布, 待付款, 待发货
label: '取消订单'
},
{
value: [3, 9], //去付款按钮对应:待付款, 待发货
label: '去付款'
},
{
value: [3], //取消订单按钮对应: 待发货
label: '申请退款'
},
{
value: [4, 7, 8, 6], //取消订单按钮对应: 待收货, 已收货, 已完成, 已退款
label: '查看物流'
},
{
value: [4, 7, 6], //取消订单按钮对应: 待收货, 已收货, 已退款
label: '申请退货'
},
{
value: [4], //取消订单按钮对应: 待收货
label: '确认收货'
},
{
value: [4,7,8,6], //取消订单按钮对应: 待收货,已收货,已完成, 已退款
label: '再次购买'
}
])
const orderBtnsShow = useCallback((item, status) => {
return item.value.includes(status)
},[])
//点击订单按钮
const orderBtnsClick = useCallback((status) => {
onClickBtn?.(status)
}, [value])
return (
<View className={styles.order_item}>
<View className={styles.header} onClick={() => goLink('/pages/order/index', {id: value?.id})}>
<View className={styles.user}>
<Image src={`${userInfo.adminUserInfo.avatar_url}`}/>
<Text className={styles.name}>{userInfo.adminUserInfo.user_name}</Text>
<Image src={`${userInfo?.adminUserInfo?.avatar_url}`}/>
<Text className={styles.name}>{userInfo?.adminUserInfo?.user_name}</Text>
</View>
<View className={styles.order_num}>
<Text>订单号:{value?.order_no}</Text>
@@ -114,7 +83,7 @@ export default memo(({value}: Param) => {
</View>
<View className={styles.color_count_num}>{`${value?.total_fabrics}种面料,${value?.total_colors}种颜色,共${value?.total_number}条`}</View>
</View>
<OrderBtns status={value?.status}/>
<OrderBtns status={value?.status} onClick={orderBtnsClick} orderId={value?.id as number}/>
</View>
)
})
+14 -4
View File
@@ -1,7 +1,7 @@
import Search from "@/components/search"
import useLogin from "@/use/useLogin"
import { Image, ScrollView, Text, View } from "@tarojs/components"
import Taro, { useDidShow, useRouter } from "@tarojs/taro"
import Taro, { useDidShow, usePullDownRefresh, useRouter } from "@tarojs/taro"
import { useCallback, useEffect, useMemo, useRef, useState } from "react"
import {ORDER_STATUS} from '@/common/enum'
import styles from './index.module.scss'
@@ -44,7 +44,6 @@ export default () => {
const getOrderList = async () => {
let res = await listFetchData(getFilterData(searchField))
setOrderData({list: res.data.list, total: res.data.total})
Taro.stopPullDownRefresh()
}
@@ -82,6 +81,17 @@ export default () => {
setOrderData(() => ({list:[], total:0}))
setSearchField((val) => ({...val, name:e, size:10}))
}, [])
const clickOrderBtn = useCallback((state) => {
getOrderList()
}, [orderData])
//列表下拉刷新
const [refresherTriggeredStatus, setRefresherTriggeredStatus] = useState(false)
const getRefresherRefresh = async () => {
pageNum.current.size = 1
setRefresherTriggeredStatus(true)
}
return (
<View className={styles.order_list_main}>
@@ -98,9 +108,9 @@ export default () => {
</View>
</View>
<View className={styles.order_list}>
<InfiniteScroll statusMore={statusMore} selfonScrollToLower={getScrolltolower} >
<InfiniteScroll statusMore={statusMore} selfonScrollToLower={getScrolltolower} refresherEnabled={true} selfOnRefresherRefresh={getRefresherRefresh}>
{orderData?.list.map(item => {
return <View key={item.id} className={styles.order_item_con}> <Order value={item}/></View>
return <View key={item.id} className={styles.order_item_con}> <Order value={item} onClickBtn={clickOrderBtn}/></View>
})}
</InfiniteScroll>
</View>