|
|
@@ -56,9 +56,14 @@ export default function OrdersScreen() {
|
|
|
|
|
|
const [loading, setLoading] = useState(true);
|
|
|
const [refreshing, setRefreshing] = useState(false);
|
|
|
- const [activeTab, setActiveTab] = useState(params.tab === '4' ? 1 : 0);
|
|
|
+ const [activeTab, setActiveTab] = useState(() => {
|
|
|
+ if (params.active) return parseInt(params.active as string, 10);
|
|
|
+ if (params.tab === '4') return 1;
|
|
|
+ return 0;
|
|
|
+ });
|
|
|
const [orders, setOrders] = useState<AwardOrderItem[]>([]);
|
|
|
const [page, setPage] = useState(1);
|
|
|
+ const [hasMore, setHasMore] = useState(true);
|
|
|
|
|
|
const loadData = useCallback(async (tabValue?: string, refresh = false) => {
|
|
|
if (refresh) {
|
|
|
@@ -69,8 +74,22 @@ export default function OrdersScreen() {
|
|
|
}
|
|
|
try {
|
|
|
const data = await getAwardOrders(refresh ? 1 : page, 10, tabValue);
|
|
|
- if (data?.records) {
|
|
|
- setOrders(refresh ? data.records : [...orders, ...data.records]);
|
|
|
+ console.log('奖池订单数据:', tabValue, data);
|
|
|
+
|
|
|
+ let records: AwardOrderItem[] = [];
|
|
|
+ if (Array.isArray(data)) {
|
|
|
+ records = data;
|
|
|
+ } else if (data?.records) {
|
|
|
+ records = data.records;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (records.length > 0) {
|
|
|
+ setOrders(refresh ? records : [...orders, ...records]);
|
|
|
+ setPage((prev) => (refresh ? 2 : prev + 1));
|
|
|
+ setHasMore(records.length === 10);
|
|
|
+ } else {
|
|
|
+ if (refresh) setOrders([]);
|
|
|
+ setHasMore(false);
|
|
|
}
|
|
|
} catch (error) {
|
|
|
console.error('加载订单失败:', error);
|