'use client'; import { Display } from '@/components/display'; import { Empty } from '@/components/empty'; import { ProList, ProListActions } from '@/components/pro-list'; import { closeOrder, queryOrderList } from '@/services/user/order'; import { AiroButton } from '@workspace/airo-ui/components/AiroButton'; import { Card, CardContent } from '@workspace/airo-ui/components/card'; import { formatDate } from '@workspace/airo-ui/utils'; import { useTranslations } from 'next-intl'; import Link from 'next/link'; import { useRef } from 'react'; import OrderDetailDialog from './components/OrderDetailDialog'; export default function Page() { const t = useTranslations('order'); const ref = useRef(null); const OrderDetailDialogRef = useRef(null); return (
> action={ref} request={async (pagination, filter) => { const response = await queryOrderList({ ...pagination, ...filter }); return { list: response.data.data?.list || [], total: response.data.data?.total || 0, }; }} renderItem={(item) => { return (
{t('orderNo')}

{item.order_no}

{item.status === 1 ? ( <> { await closeOrder({ orderNo: item.order_no }); ref.current?.refresh(); }} > {t('cancelOrder')} {t('payment')} ) : ( OrderDetailDialogRef?.current?.show(item.order_no)} > {t('detail')} )}
{item.status === 1 ? ( { await closeOrder({ orderNo: item.order_no }); ref.current?.refresh(); }} > {t('cancelOrder')} ) : null}
  • {t('name')} {item.subscribe.name || t(`type.${item.type}`)}
  • {t('paymentAmount')}
  • {t('status.0')} {t(`status.${item.status}`)}
  • {t('createdAt')}
{item.status === 1 ? ( <> {t('payment')} ) : ( OrderDetailDialogRef?.current?.show(item.order_no)} > {t('detail')} )}
); }} empty={} />
); }