import {LDColumnsType, LDTableButton, modifyDataColumns} from '@components'; import {useTableDeleteEvent, useTableModalEvent} from '@hooks'; import {RoleListData} from '@models'; import {TABLE_CELL_WIDTH} from '@utils'; import {deleteRole} from '@apis'; const tableColumns: LDColumnsType[] = [ { title: '角色名称', dataIndex: 'roleName', width: TABLE_CELL_WIDTH.normal, sort: true, }, { title: '备注信息', dataIndex: 'remarks', width: TABLE_CELL_WIDTH.maximal, }, ...modifyDataColumns, ]; export function useColumns(refetch: () => void) { const [deleteId, onDelete] = useTableDeleteEvent( deleteRole, refetch, {label: '角色'}, ); const [{visible, editId}, {onAdd, onClose, onEdit}] = useTableModalEvent(); const [ {visible: authVisible, editId: authId}, {onClose: onAuthClose, onEdit: onAuthClick}, ] = useTableModalEvent(); const columns: LDColumnsType[] = [ ...tableColumns, { title: '操作', dataIndex: 'id', fixed: 'right', width: TABLE_CELL_WIDTH.huge, render({id, roleName}) { const loading = deleteId === String(id); return ( <> 修改 菜单权限 删除 ); }, }, ]; return [ {columns, visible, editId, authVisible, authId}, {onAdd, onClose, onAuthClose}, ] as const; }