import PropTypes from 'prop-types'; import { useState } from 'react'; import { Popover, TableRow, MenuItem, TableCell, IconButton, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Button, Stack } from '@mui/material'; import Label from 'ui-component/Label'; import TableSwitch from 'ui-component/Switch'; import { timestamp2string, renderQuota, copy } from 'utils/common'; import { IconDotsVertical, IconEdit, IconTrash } from '@tabler/icons-react'; export default function RedemptionTableRow({ item, manageRedemption, handleOpenModal, setModalRedemptionId }) { const [open, setOpen] = useState(null); const [openDelete, setOpenDelete] = useState(false); const [statusSwitch, setStatusSwitch] = useState(item.status); const handleDeleteOpen = () => { handleCloseMenu(); setOpenDelete(true); }; const handleDeleteClose = () => { setOpenDelete(false); }; const handleOpenMenu = (event) => { setOpen(event.currentTarget); }; const handleCloseMenu = () => { setOpen(null); }; const handleStatus = async () => { const switchVlue = statusSwitch === 1 ? 2 : 1; const { success } = await manageRedemption(item.id, 'status', switchVlue); if (success) { setStatusSwitch(switchVlue); } }; const handleDelete = async () => { handleCloseMenu(); await manageRedemption(item.id, 'delete', ''); }; return ( <> {item.id} {item.name} {item.status !== 1 && item.status !== 2 ? ( ) : ( )} {renderQuota(item.quota)} {timestamp2string(item.created_time)} {item.redeemed_time ? timestamp2string(item.redeemed_time) : '尚未兑换'} { handleCloseMenu(); handleOpenModal(); setModalRedemptionId(item.id); }} > 编辑 删除 删除兑换码 是否删除兑换码 {item.name}? ); } RedemptionTableRow.propTypes = { item: PropTypes.object, manageRedemption: PropTypes.func, handleOpenModal: PropTypes.func, setModalRedemptionId: PropTypes.func };