134 lines
3.3 KiB
TypeScript
134 lines
3.3 KiB
TypeScript
import React, { useRef } from 'react';
|
|
import Table, { ProColumns, ActionType } from '@/components/Table';
|
|
import { getWithdrawList, solveWithdraw } from '@/services/recharge/withdraw';
|
|
import { fetchTableData } from '@/utils/table';
|
|
import ConfirmButton from '@/components/Table/ConfirmButton';
|
|
import moment from 'moment';
|
|
import { WithdrawType } from '@/constants/enum/withdraw';
|
|
import RejectButton from '@/components/Table/RejectButton';
|
|
import { Access, useAccess } from 'umi';
|
|
|
|
const WithdrawList = () => {
|
|
const tableRef = useRef<ActionType>();
|
|
const access = useAccess();
|
|
|
|
const handleClick = async (uuid, status) => {
|
|
await solveWithdraw({ uuid: uuid, status: status });
|
|
tableRef.current?.reload();
|
|
};
|
|
|
|
const WithdrawTypeList = [
|
|
{
|
|
label: '成功',
|
|
value: WithdrawType.SUCCESS,
|
|
status: 'Success',
|
|
},
|
|
{
|
|
label: '失败',
|
|
value: WithdrawType.FAILED,
|
|
status: 'Error',
|
|
},
|
|
{
|
|
label: '待处理',
|
|
value: WithdrawType.PENDDING,
|
|
status: 'Warning',
|
|
},
|
|
];
|
|
|
|
const columns: ProColumns<any>[] = [
|
|
{
|
|
title: '提现订单号',
|
|
dataIndex: 'uuid',
|
|
ellipsis: true,
|
|
},
|
|
{
|
|
title: '金额',
|
|
dataIndex: 'price',
|
|
width: '10%',
|
|
hideInSearch: true,
|
|
},
|
|
{
|
|
title: '接收地址',
|
|
dataIndex: 'to_address',
|
|
hideInSearch: true,
|
|
ellipsis: true,
|
|
},
|
|
{
|
|
title: '类型',
|
|
dataIndex: 'type',
|
|
hideInSearch: true,
|
|
width: '10%',
|
|
},
|
|
{
|
|
title: '状态',
|
|
dataIndex: 'status',
|
|
width: '10%',
|
|
valueEnum: () => {
|
|
const options = {};
|
|
WithdrawTypeList.forEach((item) => {
|
|
options[item.value] = { text: item.label, status: item.status };
|
|
});
|
|
return options;
|
|
},
|
|
},
|
|
{
|
|
title: '时间',
|
|
dataIndex: 'time',
|
|
valueType: 'dateRange',
|
|
ellipsis: true,
|
|
},
|
|
{
|
|
title: '操作',
|
|
valueType: 'option',
|
|
width: 150,
|
|
render: (_, row) => [
|
|
row.status === 30000 ? (
|
|
<Access accessible={access.canShowButton('提现通过')}>
|
|
<ConfirmButton
|
|
key="confirm"
|
|
title="确认通过提现?"
|
|
buttonName="通过"
|
|
onConfirm={() => {
|
|
handleClick(row.uuid, WithdrawType.SUCCESS);
|
|
}}
|
|
/>
|
|
</Access>
|
|
) : null,
|
|
row.status === 30000 ? (
|
|
<Access accessible={access.canShowButton('提现拒绝')}>
|
|
<RejectButton
|
|
key="confirm"
|
|
title="确认拒绝提现?"
|
|
buttonName="拒绝"
|
|
onConfirm={() => {
|
|
handleClick(row.uuid, WithdrawType.FAILED);
|
|
}}
|
|
/>
|
|
</Access>
|
|
) : null,
|
|
],
|
|
},
|
|
];
|
|
return (
|
|
<div>
|
|
<Table
|
|
columns={columns}
|
|
rowKey="uuid"
|
|
actionRef={tableRef}
|
|
request={async (params) => {
|
|
const res = await fetchTableData(getWithdrawList, params);
|
|
for (const key in res.data) {
|
|
if (Object.prototype.hasOwnProperty.call(res.data, key)) {
|
|
const element = res.data[key];
|
|
element.time = moment(element.time * 1000).format('YYYY-MM-DD hh:mm:ss');
|
|
}
|
|
}
|
|
return res;
|
|
}}
|
|
/>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export default WithdrawList;
|