import { message, Form } from 'antd'; import React, { useState, useEffect, useRef } from 'react'; import { useParams, useModel, Helmet } from '@umijs/max'; import { BASE_TITLE } from '@/common/constants'; import { ISemantic } from '../../data'; import { getAllModelByDomainId, getDataSetDetail } from '../../service'; import DetailContainer from '@/pages/SemanticModel/components/DetailContainer'; import DetailSider from '@/pages/SemanticModel/components/DetailContainer/DetailSider'; import { ProjectOutlined, ConsoleSqlOutlined } from '@ant-design/icons'; import DatasetCreateForm from './DatasetCreateForm'; import DetailFormWrapper from '@/pages/SemanticModel/components/DetailContainer/DetailFormWrapper'; type Props = Record; const DataSetDetail: React.FC = () => { const settingList = [ { icon: , key: 'basic', text: '基本信息', }, { icon: , key: 'relation', text: '关联信息', }, ]; const params: any = useParams(); const detailId = params.datasetId; const menuKey = params.menuKey; const [detailData, setDetailData] = useState(); const domainModel = useModel('SemanticModel.domainData'); const { selectDomainId, setSelectDataSet } = domainModel; const [modelList, setModelList] = useState([]); const [activeMenu, setActiveMenu] = useState(() => { if (menuKey) { const target = settingList.find((item) => item.key === menuKey); if (target) { return target; } } return settingList[0]; }); const detailFormRef = useRef(); useEffect(() => { return () => { setSelectDataSet(undefined); }; }, []); useEffect(() => { if (!detailId) { return; } queryDetailData(detailId); }, [detailId]); useEffect(() => { if (!selectDomainId) { return; } queryDomainAllModel(); }, [selectDomainId]); const queryDomainAllModel = async () => { const { code, data, msg } = await getAllModelByDomainId(selectDomainId); if (code === 200) { setModelList(data); } else { message.error(msg); } }; const queryDetailData = async (id: number) => { const { code, data, msg } = await getDataSetDetail(id); if (code === 200) { setDetailData(data); setSelectDataSet(data); return; } message.error(msg); }; return ( <> { // setSettingKey(key); setActiveMenu(menu); }} /> } containerNode={ { detailFormRef.current.onSave(); }} > } /> ); }; export default DataSetDetail;