import { useAjax } from "@/Hook/useAjax" import { delSendEmailLogApi, getSendEmailListApi, getSendEmailLogProps } from "@/services/gameData/roleOperate" import { Button, DatePicker, Popconfirm, Space, Table, Tag, message } from "antd" import React, { useEffect, useState } from "react" import { columnsSendEmailLog } from "./tableConfig" import './index.less' import moment from "moment" import SendMail from "./sendMail" interface Props { data: any onChange?: () => void } const SendEmailTable: React.FC = ({ data, onChange }) => { /*********************************/ const [queryForm, setQueryForm] = useState({ pageNum: 1, pageSize: 20 }) const [selectedRowKeys, setSelectedRowKeys] = useState([]) const [sendEmialvisible, setSendEmialVisible] = useState(false) const [ids, setIds] = useState([]) const getSendEmailList = useAjax((params) => getSendEmailListApi(params)) const delSendEmailLog = useAjax((params) => delSendEmailLogApi(params)) /*********************************/ useEffect(() => { getSendEmailList.run({ ...queryForm, gameId: data.user_reg_game_id, roleId: data.role_id, serverId: data.server_id, userId: data.user_id }) }, [queryForm, data]) const del = (ids: any[]) => { delSendEmailLog.run(ids.toString()).then(res => { if (res) { onChange?.() getSendEmailList.refresh() message.success('删除成功') } }) } const update = (ids: any[]) => { setIds(ids) setSendEmialVisible(true) } return { if (e && e.length === 2) { setQueryForm({ ...queryForm, pageNum: 1, startDateTime: moment(e[0]).format('YYYY-MM-DD HH:mm:ss'), endDateTime: moment(e[1]).format('YYYY-MM-DD HH:mm:ss') }) } else { setQueryForm({ ...queryForm, startDateTime: undefined, endDateTime: undefined }) } }} /> { del(selectedRowKeys.map(item => item.id)) }} > 总共{total}数据, showSizeChanger: true, //手动开启条数筛选器,默认超过50条开启 size: 'small',//设置分页尺寸 onChange: (page: number, pageSize: number) => { setQueryForm({ ...queryForm, pageNum: page, pageSize }) }, showLessItems: true } } rowSelection={{ selectedRowKeys: selectedRowKeys.map(item => item?.id), onChange: (selectedRowKeys: React.Key[], selectedRows: any[]) => { setSelectedRowKeys(selectedRows) }, }} /> {/* 发送礼包 */} {sendEmialvisible && setSendEmialVisible(false)} onChange={() => { setSendEmialVisible(false); getSendEmailList?.refresh(); setIds([]) setSelectedRowKeys([]) }} />} } export default React.memo(SendEmailTable)