import React, { useEffect } from 'react'; import { ModalForm, ProForm, ProFormDigit, ProFormRadio, ProFormTreeSelect, ProFormText, ProDescriptions, } from '@ant-design/pro-components'; import { Form } from 'antd'; import { DictValueEnumObj } from '@/components/DictTag'; import { FormattedMessage } from '@@/exports'; import { getCmsIndustryTreeList } from '@/services/classify/industry'; // 修改导入为 getCmsIndustryTreeList interface IndustryDetail { id?: number; industryName?: string; orderNum?: number; status?: string; parentId?: number; parentName?: string; } export type ListFormProps = { onCancel: (flag?: boolean, formVars?: unknown) => void; onSubmit: (values: any) => Promise; open: boolean; values?: Partial; industryStatusEnum: DictValueEnumObj; mode?: 'view' | 'edit' | 'create'; }; const listEdit: React.FC = (props) => { const [form] = Form.useForm(); const { industryStatusEnum, mode = props.values ? 'edit' : 'create', values } = props; useEffect(() => { form.resetFields(); if (values) { form.setFieldsValue({ ...values, parentId: values?.parentId ?? 0 }); } }, [form, values?.id]); const getSafeDetailData = (data?: Partial): IndustryDetail => { return { id: data?.id ?? 0, industryName: data?.industryName ?? '', orderNum: data?.orderNum ?? 0, parentId: data?.parentId ?? 0, parentName: data?.parentName ?? '顶级节点', status: data?.status ?? '0', }; }; const handleCancel = () => { props.onCancel(); form.resetFields(); }; const handleFinish = async (values: Record) => { const submitValues = { ...values, parentId: values.parentId === 0 ? undefined : values.parentId }; props.onSubmit(submitValues); }; // 获取行业树数据 const fetchIndustryTree = async () => { const res = await getCmsIndustryTreeList(); return [ { id: 0, label: '顶级节点', value: 0, children: res.data || [] } ]; }; if (mode === 'view') { return ( handleCancel(), footer: null, }} submitter={false} > column={1} dataSource={getSafeDetailData(values)} loading={!values} > record.parentId === 0 ? '顶级节点' : text} /> ); } return ( handleCancel(), }} submitTimeout={2000} onFinish={handleFinish} > ); }; export default listEdit;