import {Button, Divider, Dropdown, Space, Table, TableProps} from "antd"; import {CheckOutlined, LoadingOutlined, ReloadOutlined, RedoOutlined} from "@ant-design/icons"; import {useEffect, useState} from "react"; import {IProjMod} from "../../../interfaces/proj/IProj.ts"; type PropsType = { mods: IProjMod[]; newMods: ProjModType[], handleGenerate: () => void; handleSave: (index: number, mod: ProjModType) => void; handleResaveField: (index: number, projModId: string) => void; handleRemove: (index: number, projModId: string, item: IProjMod) => void; handleEdit: (index: number, projModId: string, item: IProjMod) => void; } type ProjModType = { name: string, desc: string, } export default function AiHelperMod(props: PropsType) { const [modArray, setModArray] = useState([]); const [newModArray, setNewModArray] = useState([]); useEffect(() => { setModArray(props.mods); setNewModArray(props.newMods); }, [props.mods, props.newMods]); const modColumnArray: TableProps['columns'] = [ { title: '序号', dataIndex: 'index', key: 'index', width: 60, align: 'center', render: (_value, _record, index) => { return index + 1 } }, {title: '模块名称', dataIndex: 'modName', key: 'name', width: 200, align: 'center'}, {title: '模块描述', dataIndex: 'modDesc', key: 'desc', align: 'center'}, { title: 'AI状态', dataIndex: 'aiFieldStatus', key: 'desc', width: 100, align: 'center', render: (value) => { if(value == 'GENERATING') { return '处理中' } if(value == 'FAILED') { return '失败' } if(value == 'SUCCESS') { return '成功' } } }, { title: '操作', dataIndex: 'option', key: 'option', width: 80, align: 'center', render: (_value, record, index) => { if(record.aiFieldStatus == 'GENERATING') { return } if(record.aiFieldStatus == 'FAILED') { return } return ( { props.handleEdit(index, record.projModId, record); } },{ key: 'remove', label: '删除', onClick: () => { props.handleRemove(index, record.projModId, record); } }, ] }} placement="bottom" arrow> ) } }, ]; const newModColumnArray: TableProps['columns'] = [ { title: '序号', dataIndex: 'index', key: 'index', width: 60, align: 'center', render: (_value, _record, index) => { return index + 1 } }, {title: '模块名称', dataIndex: 'name', key: 'name', width: 200, align: 'center'}, {title: '模块描述', dataIndex: 'desc', key: 'desc', align: 'center'}, { title: '确认', dataIndex: 'option', key: 'option', width: 80, align: 'center', render: (_value, record, index) => { return ( ) } }, ]; return ( <>
模块管理
{newModArray.length > 0 ? 原模块 : <>} { newModArray.length > 0 ? ( <> 新模块
) : <> }
{ newModArray.length > 0 ? ( ) : }
) }