第一次
This commit is contained in:
249
src/pages/finance/withdraw/index.tsx
Normal file
249
src/pages/finance/withdraw/index.tsx
Normal file
@@ -0,0 +1,249 @@
|
||||
import { withdrawPage } from '@/services/finance/index';
|
||||
import { usersPage } from '@/services/user/user';
|
||||
|
||||
|
||||
import React, { useRef, useEffect, useState } from 'react';
|
||||
import { useIntl, useAccess } from '@umijs/max';
|
||||
import { message, Tag, Select, Button, Upload } from 'antd';
|
||||
import { ActionType, PageContainer, ProTable, ProFormSelect } from '@ant-design/pro-components';
|
||||
import { UploadOutlined } from '@ant-design/icons';
|
||||
import TempFormModal from './components/TempFormModal';
|
||||
|
||||
|
||||
const LogTableList: React.FC = () => {
|
||||
const actionRef = useRef<ActionType>();
|
||||
const [tempFormModal, setTempFormModal] = useState(false);
|
||||
|
||||
const [shopOption, setShopOption] = useState([]);
|
||||
|
||||
const searchShop = async (value) => {
|
||||
const { success, data } = await usersPage({
|
||||
userName: value
|
||||
});
|
||||
data.records.map((i) => {
|
||||
i.userName = i.userName + ' ' + i.phone
|
||||
})
|
||||
|
||||
setShopOption(data.records)
|
||||
}
|
||||
|
||||
|
||||
const handleTemp = async (fields) => {
|
||||
return
|
||||
const { success } = await userTransferHanging(fields);
|
||||
if (success) {
|
||||
message.success('导入成功');
|
||||
actionRef.current?.reload();
|
||||
setTempFormModal(false);
|
||||
}
|
||||
};
|
||||
|
||||
const columns = [
|
||||
{
|
||||
title: 'ID',
|
||||
dataIndex: 'id',
|
||||
valueType: 'text',
|
||||
search: false,
|
||||
},
|
||||
{
|
||||
title: '用户信息',
|
||||
dataIndex: 'userId',
|
||||
valueType: 'text',
|
||||
renderFormItem: (
|
||||
_,
|
||||
{ type, defaultRender, formItemProps, fieldProps, ...rest },
|
||||
form,
|
||||
) => {
|
||||
return <Select
|
||||
{...fieldProps}
|
||||
allowClear
|
||||
showSearch
|
||||
placeholder="请输入用户名"
|
||||
style={{ width: "100%" }}
|
||||
filterOption={false}
|
||||
onSearch={
|
||||
(e) => {
|
||||
if (!e) {
|
||||
return;
|
||||
}
|
||||
searchShop(e);
|
||||
}
|
||||
}
|
||||
fieldNames={{
|
||||
label: "userName",
|
||||
value: "id"
|
||||
}}
|
||||
options={shopOption}
|
||||
/>
|
||||
// <div className='w-52'>
|
||||
// <ProFormSelect
|
||||
// name="formUserId"
|
||||
// fieldProps={{
|
||||
// fieldNames: {
|
||||
// label: "userName",
|
||||
// value: "id"
|
||||
// },
|
||||
// placeholder: "请输入用户名",
|
||||
// showSearch: true
|
||||
// }}
|
||||
// request={async (param) => {
|
||||
// const { success, data } = await usersPage({
|
||||
// userName: param.keyWords
|
||||
// });
|
||||
// data.records.map((i) => {
|
||||
// i.userName = i.userName + ' ' + i.phone
|
||||
// })
|
||||
// return data.records;
|
||||
// }}
|
||||
// />
|
||||
// </div>
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '订单号',
|
||||
dataIndex: 'orderNo',
|
||||
valueType: 'text',
|
||||
search: false,
|
||||
},
|
||||
{
|
||||
title: '提取积分',
|
||||
dataIndex: 'points',
|
||||
valueType: 'text',
|
||||
search: false,
|
||||
},
|
||||
{
|
||||
title: '收益',
|
||||
dataIndex: 'points1',
|
||||
valueType: 'text',
|
||||
search: false,
|
||||
},
|
||||
{
|
||||
title: '状态',
|
||||
dataIndex: 'status',
|
||||
valueType: 'text',
|
||||
render: (_: any, record: any) => {
|
||||
let color = record.status == 0 ? 'orange' : record.status == 1 ? 'green' : record.status == -1 ? 'red' : ''
|
||||
return <Tag color={color}>{record.status == 0 ? '申请中' : record.status == 1 ? '提现成功' : record.status == -1 ? '失败' : ''}</Tag>
|
||||
},
|
||||
renderFormItem: (
|
||||
_,
|
||||
{ type, defaultRender, formItemProps, fieldProps, ...rest },
|
||||
form,
|
||||
) => {
|
||||
const statusMap = [
|
||||
{ label: '申请中', value: 0 },
|
||||
{ label: '提现成功', value: 1 },
|
||||
{ label: '失败', value: -1 },
|
||||
]
|
||||
return <Select
|
||||
{...fieldProps}
|
||||
allowClear
|
||||
style={{ width: "100%" }}
|
||||
filterOption={false}
|
||||
fieldNames={{
|
||||
label: "label",
|
||||
value: "value"
|
||||
}}
|
||||
options={statusMap}
|
||||
/>
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '提现信息',
|
||||
dataIndex: 'type',
|
||||
valueType: 'text',
|
||||
search: false,
|
||||
render: (_: any, record: any) => {
|
||||
let color = record.type == 1 ? 'cyan' : record.type == 2 ? 'red' : ''
|
||||
return <div>
|
||||
<div>
|
||||
<Tag color={color}>{record.type == 1 ? '个人' : record.type == 2 ? '企业' : ''}</Tag>
|
||||
{record.name}
|
||||
</div>
|
||||
<div hidden={record.type == 2}>
|
||||
身份证号:{record.idCard}
|
||||
</div>
|
||||
<div>
|
||||
银行卡号:{record.bankCard}
|
||||
</div>
|
||||
<div>
|
||||
开户行:{record.idCard}
|
||||
</div>
|
||||
<div>
|
||||
开户支行:{record.idCard}
|
||||
</div>
|
||||
<div hidden={record.type == 1}>
|
||||
纳税人识别号:{record.taxNo}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '完成时间',
|
||||
dataIndex: 'completeTime',
|
||||
valueType: 'text',
|
||||
search: false,
|
||||
},
|
||||
{
|
||||
title: '处理结果',
|
||||
dataIndex: 'handleMessage',
|
||||
valueType: 'text',
|
||||
search: false,
|
||||
},
|
||||
{
|
||||
title: '创建时间',
|
||||
dataIndex: 'createTime',
|
||||
valueType: 'dateRange',
|
||||
search: {
|
||||
transform: (value) => {
|
||||
return {
|
||||
createTimeBegin: value[0],
|
||||
createTimeEnd: value[1],
|
||||
};
|
||||
},
|
||||
},
|
||||
render: (_, record) => {
|
||||
return record?.createTime
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
<PageContainer>
|
||||
<div style={{ width: '100%', float: 'right' }}>
|
||||
<TempFormModal
|
||||
modalOpenState={tempFormModal}
|
||||
onModalOpenState={setTempFormModal}
|
||||
onSubmit={handleTemp}
|
||||
/>
|
||||
<ProTable
|
||||
actionRef={actionRef}
|
||||
rowKey="id"
|
||||
key="logList"
|
||||
search={{
|
||||
labelWidth: 120,
|
||||
defaultCollapsed: false,
|
||||
}}
|
||||
toolBarRender={() => [
|
||||
<Button type="primary" onClick={() => {
|
||||
window.location.href = exportLink(searchParams, '/admin/withdraw/export1');
|
||||
}}>导出提现申请</Button>,
|
||||
<Button icon={<UploadOutlined />} onClick={() => {
|
||||
setTempFormModal(true)
|
||||
}}>导入提现结果</Button>
|
||||
]}
|
||||
request={async (params, sorter, filter) => {
|
||||
let { data } = await withdrawPage(params)
|
||||
return {
|
||||
data: data?.records || [],
|
||||
total: data?.total,
|
||||
};
|
||||
}}
|
||||
columns={columns}
|
||||
/>
|
||||
</div>
|
||||
</PageContainer>
|
||||
);
|
||||
};
|
||||
|
||||
export default LogTableList;
|
||||
Reference in New Issue
Block a user