import React, { useState, useEffect } from 'react' import { View, Text, ScrollView } from '@tarojs/components' import Taro from '@tarojs/taro' import { getRefundDetail, type RefundDetail } from '@/api/shop/shopOrderRefund' import Loading from '@/components/common/Loading' import EmptyState from '@/components/common/EmptyState' definePageConfig({ navigationBarTitleText: '退款详情', }) const RefundDetailPage: React.FC = () => { const { orderId } = Taro.getCurrentInstance().router?.params || {} const [loading, setLoading] = useState(true) const [refundDetail, setRefundDetail] = useState(null) useEffect(() => { loadRefundDetail() }, [orderId]) const loadRefundDetail = async () => { try { setLoading(true) const data = await getRefundDetail(orderId || '') setRefundDetail(data) } catch (err) { Taro.showToast({ title: '加载失败', icon: 'none' }) console.error('加载退款详情失败', err) } finally { setLoading(false) } } if (loading) { return } if (!refundDetail) { return ( ) } return ( {/* 退款状态 */} {refundDetail.statusText} 退款金额: {'\u00A5'}{refundDetail.refundMoney} {/* 退款进度 */} 退款进度 {refundDetail.steps.map((step, idx) => ( {idx < refundDetail.steps.length - 1 && ( )} {step.title} {step.desc} {step.time && ( {step.time} )} ))} {/* 退款信息 */} 退款信息 订单编号: {refundDetail.orderNo} 退款原因: {refundDetail.reason} 申请时间: {refundDetail.time} ) } export default RefundDetailPage