import useModal from '@/components/Modal' import { PageContainer } from '@ant-design/pro-layout' import { Button } from 'antd' import { ColumnsType } from 'antd/lib/table' import { useRowScript } from './hooks/useRowScript' import { ArrowDownOutlined, ArrowUpOutlined, DeleteOutlined, EditOutlined, FileAddOutlined, FolderAddOutlined, SelectOutlined, FolderOpenFilled, FileTextOutlined } from '@ant-design/icons' import LeftMenu from '../RuleCode/components/LeftMenu' import ProTable from '@ant-design/pro-table' import { useEffect, useState } from 'react' import styles from './index.less' export enum TemplateMode { PAPER = 'paper', UPLOAD = 'upload', NIL = 'nil' } const Inventory = () => { const [modal, ModalDOM] = useModal() const [activeKey, setActivekey] = useState>(null) const { query, loading, record, list = [], rowClick, move, addFolder, addFile, editFolder, deleteFolderOrFile, moveWithOperation } = useRowScript(modal, activeKey) useEffect(() => { if (activeKey) { query() } }, [activeKey]) const columns: ColumnsType = [ { title: '目录文件名称', dataIndex: 'name', width: '50%', onHeaderCell: () => ({ style: { textAlign: 'center' } }), render: (text, record) => (
{record.folder ? : } {text}
) }, { title: '状态', dataIndex: 'enable', align: 'center', onHeaderCell: () => ({ style: { textAlign: 'center' } }), render: (text, record) => { if (record.folder) return null return text ? 启用 : 停用 } }, { title: '是否必填', dataIndex: 'required', align: 'center', onHeaderCell: () => ({ style: { textAlign: 'center' } }), render: (text, record) => { if (record.folder) return null return text ? '是' : '否' } }, { title: '资料提供方式', dataIndex: 'mode', align: 'center', render: (mode: TemplateMode, record) => { if (record.folder) return null return (
{mode.includes(TemplateMode.PAPER) ? ( 纸质 ) : null} {mode.includes(TemplateMode.UPLOAD) ? ( 上传 ) : null}
) } } ] const handleMenuOnChange = (key: string) => { setActivekey(key) } return (
handleMenuOnChange(key)} />
} loading={loading} columns={columns} dataSource={list} pagination={false} size="small" bordered expandable={{ defaultExpandAllRows: true }} onRow={record => ({ onClick: () => rowClick(record) })} rowClassName={row => (row.ID === record?.ID ? 'ant-table-row-selected' : '')} />
{ModalDOM}
) } export default Inventory