'use client'; import { useState, useEffect } from 'react'; import { X, User, CreditCard, ShoppingBag, Loader2, CheckCircle } from 'lucide-react'; import api from '@/lib/api'; import LocalTime from '@/components/common/LocalTime'; import { PaymentConfirmation } from '@/types/payment'; interface ConfirmationDetailModalProps { isOpen: boolean; onClose: () => void; data: PaymentConfirmation | null; onApprove: (item: PaymentConfirmation) => void; // onReject: (item: PaymentConfirmation) => void; // 移除 } export default function ConfirmationDetailModal({ isOpen, onClose, data, onApprove }: ConfirmationDetailModalProps) { const [loading, setLoading] = useState(false); // 详情数据状态 const [paymentInfo, setPaymentInfo] = useState(null); const [orderInfo, setOrderInfo] = useState(null); const [userInfo, setUserInfo] = useState(null); useEffect(() => { if (isOpen && data) { fetchDetails(); } else { // 重置数据 setPaymentInfo(null); setOrderInfo(null); setUserInfo(null); } }, [isOpen, data]); const fetchDetails = async () => { if (!data) return; setLoading(true); try { // 1. 获取用户信息 (已有 user_id) const userRes = await api.get('/api/user/detail', { params: { user_id: data.user_id } }); setUserInfo(userRes.data.data); // 2. 获取支付详情 (已有 payment_id) const payRes = await api.get('/api/vas/payment/detail', { params: { payment_id: data.payment_id } }); const paymentData = payRes.data.data; setPaymentInfo(paymentData); // 3. 获取订单详情 (通过支付详情里的 order_id) if (paymentData && paymentData.order_id) { const orderRes = await api.get('/api/vas/order/detail', { params: { order_id: paymentData.order_id } }); setOrderInfo(orderRes.data.data); } } catch (error) { console.error("Failed to load details", error); } finally { setLoading(false); } }; if (!isOpen || !data) return null; return (
{/* Header */}

支付确认详情

Confirmation ID: #{data.id}

{/* Content */}
{loading ? (

正在加载关联数据...

) : (
{/* 1. 用户提交的确认信息 */}

用户提交的确认信息

提交金额 {(data.amount / 100).toFixed(2)} {data.currency}
随机立减 -{(data.random_offset / 100).toFixed(2)}
用户点击时间
当前状态 {data.status.toUpperCase()}
{/* 2. 支付单详情 (系统记录) */}

关联支付单 (Payment)

{paymentInfo ? (
Payment ID {paymentInfo.id}
渠道 Provider {paymentInfo.provider}
应付金额 {(paymentInfo.amount / 100).toFixed(2)} {paymentInfo.currency}
外部流水号 {paymentInfo.external_trade_no || '-'}
) : (

未找到支付记录

)}
{/* 3. 订单详情 */}

关联订单 (Order)

{orderInfo ? (
Order ID {orderInfo.id}
商品名称 {orderInfo.product_title}
申请人 {orderInfo.user_inputs?.first_name} {orderInfo.user_inputs?.last_name}
) : (

未找到订单记录

)}
{/* 4. 用户信息 */}

下单用户 (User)

{userInfo ? (
{userInfo.avatar_url ? ( ) : ( )}
昵称 {userInfo.nickname || '-'}
邮箱 {userInfo.email}
手机号 {userInfo.phone || '-'}
) : (

未找到用户信息

)}
)}
{/* Footer Actions */}
{data.status === 'pending' && ( // 移除了驳回按钮 )}
); }