import type { TypeResult } from '@/pages/ApplyList/hooks'; import { Table } from 'antd'; import type { ColumnType } from 'antd/lib/table'; import { useMemo } from 'react'; import { FormattedMessage, useIntl } from 'umi'; import style from '../index.less'; import ApprovalSteps from './approvalSteps'; import PermissionTable from './permissionTable'; export interface PreviewTableProps { type?: 'single' | 'multiple'; packageData?: TypeResult; dataSource: Record[]; } const PreviewTable = (props: PreviewTableProps) => { const { dataSource, type = 'single', packageData } = props; const { formatMessage } = useIntl(); const list = useMemo(() => { if (type === 'single') return dataSource; // 权限包 const index = dataSource?.[0]?.data?.[0]; return [ { name: packageData?.name, uacStep: index?.uacStep, workflow: index?.workflow, }, ]; }, [dataSource, packageData?.name, type]); const columns = useMemo>[]>(() => { const res: ColumnType>[] = [ { title: , dataIndex: 'uacStep', ellipsis: true, render: (__, record) => { const { uacStep, workflow } = record || {}; const data = uacStep || workflow; return ; }, }, ]; if (type === 'multiple') { res.unshift( { title: formatMessage({ id: 'base.permissipn.type' }), dataIndex: 'type', ellipsis: true, width: 250, render: () => formatMessage({ id: 'base.common.multiple.app.apply' }), }, { title: formatMessage({ id: 'base.permissipn.name' }), dataIndex: 'name', ellipsis: true, width: 250, }, ); } else { // 单应用申请 res.unshift({ title: (
{formatMessage({ id: 'base.permissipn.type' })}
{formatMessage({ id: 'page.process.permission.name' })}
), fixed: 'left', dataIndex: 'name', className: style.permissionColumn, ellipsis: true, width: 500, render: (__, record) => { return ; }, }); } return res; }, [formatMessage, type]); return ( ); }; export default PreviewTable;