import { Suspense } from 'react'; import { enableStatusRecord } from '@/constants/business'; import { ATG_MAP } from '@/constants/common'; import { TableHeaderOperation, useTable, useTableOperate, useTableScroll } from '@/features/table'; import { fetchGetRoleList } from '@/service/api'; import RoleSearch from './modules/role-search'; const RoleOperateDrawer = lazy(() => import('./modules/role-operate-drawer')); const Role = () => { const { t } = useTranslation(); const isMobile = useMobile(); const nav = useNavigate(); const { scrollConfig, tableWrapperRef } = useTableScroll(); const { columnChecks, data, run, searchProps, setColumnChecks, tableProps } = useTable({ apiFn: fetchGetRoleList, apiParams: { current: 1, roleCode: undefined, roleName: undefined, size: 10, status: undefined }, columns: () => [ { align: 'center', dataIndex: 'index', key: 'index', title: t('common.index'), width: 64 }, { align: 'center', dataIndex: 'roleName', key: 'roleName', minWidth: 120, title: t('page.manage.role.roleName') }, { align: 'center', dataIndex: 'roleCode', key: 'roleCode', minWidth: 120, title: t('page.manage.role.roleCode') }, { dataIndex: 'roleDesc', key: 'roleDesc', minWidth: 120, title: t('page.manage.role.roleDesc') }, { align: 'center', dataIndex: 'status', key: 'status', render: (_, record) => { if (record.status === null) { return null; } const label = t(enableStatusRecord[record.status]); return {label}; }, title: t('page.manage.role.roleStatus'), width: 100 }, { align: 'center', key: 'operate', render: (_, record) => (
edit(record.id)} > {t('common.edit')} nav(`/manage/role/${record.id}/${record.roleName}/${record.status}`)} > 详情 handleDelete(record.id)} > {t('common.delete')}
), title: t('common.operate'), width: 195 } ] }); const { checkedRowKeys, editingData, generalPopupOperation, handleAdd, handleEdit, onBatchDeleted, onDeleted, rowSelection } = useTableOperate(data, run, async (res, type) => { if (type === 'add') { // add request 调用新增的接口 console.log(res); } else { // edit request 调用编辑的接口 console.log(res); } }); async function handleBatchDelete() { // request console.log(checkedRowKeys); onBatchDeleted(); } function handleDelete(id: number) { // request console.log(id); onDeleted(); } function edit(id: number) { handleEdit(id); } return (
, key: '1', label: t('common.search') } ]} /> } >
); }; export default Role;