+ {/* 支付倒计时显示 - 详情页实时更新 */}
+ {!order.payStatus && order.orderStatus !== 2 && (
+
+ )}
+
|
|
diff --git a/src/user/order/components/OrderList.tsx b/src/user/order/components/OrderList.tsx
index 2c81f9e..5d57a43 100644
--- a/src/user/order/components/OrderList.tsx
+++ b/src/user/order/components/OrderList.tsx
@@ -9,6 +9,7 @@ import {ShopOrder, ShopOrderParam} from "@/api/shop/shopOrder/model";
import {listShopOrderGoods} from "@/api/shop/shopOrderGoods";
import {ShopOrderGoods} from "@/api/shop/shopOrderGoods/model";
import {copyText} from "@/utils/common";
+import PaymentCountdown from "@/components/PaymentCountdown";
const getInfiniteUlStyle = (showSearch: boolean = false): CSSProperties => ({
marginTop: showSearch ? '0' : '0', // 如果显示搜索框,增加更多的上边距
@@ -188,7 +189,7 @@ function OrderList(props: OrderListProps) {
try {
const res = await pageShopOrder(searchConditions);
- let newList: OrderWithGoods[] = [];
+ let newList: OrderWithGoods[];
if (res?.list && res?.list.length > 0) {
// 批量获取订单商品信息,限制并发数量
@@ -261,7 +262,7 @@ function OrderList(props: OrderListProps) {
Taro.showToast({
title: '确认收货成功',
});
- reload(true); // 重新加载列表
+ await reload(true); // 重新加载列表
props.onReload?.(); // 通知父组件刷新
} catch (error) {
Taro.showToast({
@@ -293,7 +294,7 @@ function OrderList(props: OrderListProps) {
title: '订单已取消',
icon: 'success'
});
- reload(true).then(); // 重新加载列表
+ void reload(true); // 重新加载列表
props.onReload?.(); // 通知父组件刷新
} catch (error) {
console.error('取消订单失败:', error);
@@ -305,7 +306,7 @@ function OrderList(props: OrderListProps) {
};
useEffect(() => {
- reload(true).then(); // 首次加载或tab切换时重置页码
+ void reload(true); // 首次加载或tab切换时重置页码
}, [tapIndex]); // 监听tapIndex变化
// 监听外部statusFilter变化,同步更新tab索引
@@ -332,25 +333,7 @@ function OrderList(props: OrderListProps) {
}
}, [props.searchParams?.statusFilter]); // 监听statusFilter变化
- useEffect(() => {
- // 当外部传入的搜索参数变化时(不包括statusFilter,因为上面已经处理)
- // 只有当搜索关键词等其他条件变化时才重新加载
- const {statusFilter, ...otherParams} = props.searchParams || {};
-
- // 检查是否有除statusFilter外的其他搜索条件变化
- const hasOtherSearchParams = Object.keys(otherParams).some(key =>
- otherParams[key] !== undefined && otherParams[key] !== ''
- );
-
- console.log('searchParams变化 (非statusFilter):', {
- otherParams,
- hasOtherSearchParams
- });
- if (hasOtherSearchParams) {
- reload(true).then(); // 只有其他搜索条件变化时才重新加载
- }
- }, [props.searchParams?.keywords, props.searchParams?.orderNo]); // 只监听具体的搜索字段
return (
<>
@@ -367,7 +350,6 @@ function OrderList(props: OrderListProps) {
}}
value={tapIndex}
onChange={(paneKey) => {
- console.log('Tab切换到:', paneKey, '对应状态:', tabs[paneKey]?.title, 'statusFilter:', tabs[paneKey]?.statusFilter);
setTapIndex(paneKey)
}}
>
@@ -428,11 +410,23 @@ function OrderList(props: OrderListProps) {
onClick={() => Taro.navigateTo({url: `/shop/orderDetail/index?orderId=${item.orderId}`})}>
- {
- e.stopPropagation();
- copyText(`${item.orderNo}`)
- }}>{item.orderNo}
+
+ {
+ e.stopPropagation();
+ copyText(`${item.orderNo}`)
+ }}>{item.orderNo}
+ {/* 添加倒计时显示 - 列表页不实时更新 */}
+
+
+
+
{getOrderStatusText(item)}