102 lines
3.4 KiB
TypeScript
102 lines
3.4 KiB
TypeScript
import {
|
|
MyBetaModalFormProps,
|
|
MyButtons,
|
|
MyColumns,
|
|
MyProTableProps,
|
|
} from '@/common';
|
|
import { MyModal } from '@/components/MyModal';
|
|
import { Apis } from '@/gen/Apis';
|
|
import { ActivityEnrollsStatusEnum } from '@/gen/Enums';
|
|
import { ProTable } from '@ant-design/pro-components';
|
|
import { Space } from 'antd';
|
|
|
|
export default function EnrollsList(props: MyBetaModalFormProps) {
|
|
return (
|
|
<MyModal
|
|
title={props.title || '报名'}
|
|
type={props.item?.type || 'primary'}
|
|
width="800px"
|
|
node={
|
|
<ProTable
|
|
{...MyProTableProps.props}
|
|
request={async (params, sort) =>
|
|
MyProTableProps.request(
|
|
{ ...params, activities_id: props?.item?.id },
|
|
sort,
|
|
Apis.Activity.ActivityEnrolls.List,
|
|
)
|
|
}
|
|
options={false}
|
|
columns={[
|
|
MyColumns.ID(),
|
|
{
|
|
title: '客户姓名',
|
|
dataIndex: 'customer_name',
|
|
search: false,
|
|
},
|
|
{
|
|
title: '客户电话',
|
|
dataIndex: 'customer_phone',
|
|
search: false,
|
|
},
|
|
MyColumns.EnumTag({
|
|
title: '状态',
|
|
dataIndex: 'status',
|
|
valueEnum: ActivityEnrollsStatusEnum,
|
|
}),
|
|
MyColumns.Option({
|
|
render: (_, item: any, index, action) => (
|
|
<Space key={index}>
|
|
<MyButtons.Default
|
|
title={
|
|
item.status === ActivityEnrollsStatusEnum.Success.value
|
|
? '取消报名'
|
|
: item.status ===
|
|
ActivityEnrollsStatusEnum.Cancelled.value
|
|
? '重新报名'
|
|
: '报名'
|
|
}
|
|
isConfirm
|
|
description={
|
|
item.status === ActivityEnrollsStatusEnum.Success.value
|
|
? '确认取消报名吗?'
|
|
: item.status ===
|
|
ActivityEnrollsStatusEnum.Cancelled.value
|
|
? '确认重新报名吗?'
|
|
: '确认报名吗?'
|
|
}
|
|
onConfirm={() => {
|
|
let newStatus;
|
|
if (
|
|
item.status === ActivityEnrollsStatusEnum.Success.value
|
|
) {
|
|
newStatus = ActivityEnrollsStatusEnum.Cancelled.value;
|
|
} else if (
|
|
item.status ===
|
|
ActivityEnrollsStatusEnum.Cancelled.value
|
|
) {
|
|
newStatus = ActivityEnrollsStatusEnum.Success.value;
|
|
} else {
|
|
newStatus = ActivityEnrollsStatusEnum.Success.value;
|
|
}
|
|
Apis.Activity.ActivityEnrolls.ChangeStatus({
|
|
id: item.id,
|
|
status: newStatus,
|
|
}).then(() => action?.reload());
|
|
}}
|
|
/>
|
|
<EnrollsList
|
|
item={item}
|
|
title="报名信息"
|
|
reload={action?.reload}
|
|
/>
|
|
</Space>
|
|
),
|
|
}),
|
|
]}
|
|
/>
|
|
}
|
|
/>
|
|
);
|
|
}
|