import {Avatar, Cell, Space, Tabs, Button, TabPane} from '@nutui/nutui-react-taro' import {useEffect, useState, CSSProperties} from "react"; import Taro from '@tarojs/taro'; import {InfiniteLoading} from '@nutui/nutui-react-taro' import dayjs from "dayjs"; import {pageShopOrder} from "@/api/shop/shopOrder"; import {ShopOrder} from "@/api/shop/shopOrder/model"; import {copyText} from "@/utils/common"; const InfiniteUlStyle: CSSProperties = { marginTop: '84px', height: '82vh', width: '100%', padding: '0', overflowY: 'auto', overflowX: 'hidden', } const tabs = [ { index: 0, key: '全部', title: '全部' }, { index: 1, key: '待付款', title: '待付款' }, { index: 2, key: '待发货', title: '待发货' }, { index: 3, key: '已收货', title: '已收货' }, { index: 4, key: '已完成', title: '已完成' } ] function OrderList(props: any) { const [list, setList] = useState([]) const [page, setPage] = useState(1) const [hasMore, setHasMore] = useState(true) const [tapIndex, setTapIndex] = useState('0') console.log(props.statusBarHeight, 'ppp') const getOrderStatusParams = (index: string | number) => { let params: { payStatus?: number; deliveryStatus?: number; orderStatus?: number } = {}; switch (index) { case '1': // 待付款 params.payStatus = 0; break; case '2': // 待发货 params.payStatus = 1; params.deliveryStatus = 10; break; case '3': // 已收货 params.deliveryStatus = 30; break; case '4': // 已完成 params.orderStatus = 1; break; case '0': // 全部 default: break; } return params; }; const reload = async (resetPage = false) => { const currentPage = resetPage ? 1 : page; const params = getOrderStatusParams(tapIndex); pageShopOrder({ page: currentPage, ...params }).then(res => { let newList: ShopOrder[] | undefined = []; if (res?.list && res?.list.length > 0) { newList = resetPage ? res.list : list?.concat(res.list); setHasMore(true); } else { newList = res?.list; setHasMore(false); } setList(newList || []); setPage(currentPage); }); }; const reloadMore = async () => { setPage(page + 1); reload(); }; useEffect(() => { reload(true); // 首次加载或tab切换时重置页码 }, [tapIndex]); // 监听tapIndex变化 return ( <> { setTapIndex(paneKey) }} > { tabs?.map((item, index) => { return }) }
{ }} onScrollToUpper={() => { }} loadingText={ <> 加载中 } loadMoreText={ <> 没有更多了 } > {list?.map(item => { return ( Taro.navigateTo({url: `/shop/orderDetail/index?orderId=${item.orderId}`})}>
{e.stopPropagation(); copyText(`${item.orderNo}`)}}>{item.orderNo} 待付款 {/* 这里可以根据item.orderStatus显示不同的状态 */}
{dayjs(item.createTime).format('YYYY年MM月DD日 HH:mm:ss')}
{item.realName}
{item.totalNum}件商品
实付金额:¥{item.payPrice}
) })}
) } export default OrderList