@@ -2390,6 +2433,93 @@ export default function DouyuTasksPage({ handbook }: { handbook: HandbookKind })
)}
+ {/* 和平小店兑换记录 Modal */}
+
+
+ 和平小店兑换记录
+
+ }
+ open={xpdPurchaseRecordsAccountId != null}
+ onCancel={() => setXpdPurchaseRecordsAccountId(null)}
+ footer={null}
+ width={980}
+ centered
+ >
+
+ {xpdPurchaseAccount?.nickname || xpdPurchaseAccount?.username || `#${xpdPurchaseRecordsAccountId}`}
+ {xpdPurchaseTask?.result?.total != null ? `,共 ${String(xpdPurchaseTask.result.total)} 条` : ''}
+
+ {xpdPurchaseTask && ['failed', 'error'].includes(xpdPurchaseTask.status) ? (
+
+ ) : (
+ String(record.serial || `${record.buy_time || ''}-${index}`)}
+ size="small"
+ loading={!xpdPurchaseTask || ['planned', 'pending', 'running'].includes(xpdPurchaseTask.status)}
+ dataSource={xpdPurchaseRecords}
+ pagination={{ pageSize: 10, showLessItems: true }}
+ scroll={{ x: 850 }}
+ columns={[
+ {
+ title: '商品',
+ dataIndex: 'goods_name',
+ width: 240,
+ render: (value: unknown) => String(value || '-'),
+ },
+ {
+ title: '兑换时间',
+ dataIndex: 'buy_time',
+ width: 170,
+ render: (value: unknown) => String(value || '-'),
+ },
+ {
+ title: '支付时间',
+ dataIndex: 'pay_time',
+ width: 170,
+ render: (value: unknown) => String(value || '-'),
+ },
+ {
+ title: '价格',
+ width: 90,
+ render: (_: unknown, record: Record) =>
+ record.pay_amount ?? record.price ?? '-',
+ },
+ {
+ title: '状态',
+ dataIndex: 'status',
+ width: 90,
+ render: (value: unknown) => (
+
+ {String(value) === '3' ? '已完成' : String(value || '未知')}
+
+ ),
+ },
+ {
+ title: '角色',
+ dataIndex: 'role_name',
+ width: 150,
+ ellipsis: true,
+ render: (value: unknown) => String(value || '-'),
+ },
+ {
+ title: '订单号',
+ dataIndex: 'serial',
+ width: 250,
+ ellipsis: true,
+ render: (value: unknown) => String(value || '-'),
+ },
+ ]}
+ locale={{ emptyText: xpdPurchaseTask ? '暂无兑换记录' : '正在查询兑换记录...' }}
+ />
+ )}
+
+
{/* 兑换结果图片预览 Modal */}