import { PageContainer } from '@ant-design/pro-layout'; import { InstanceModel, service } from '@/pages/device/Instance'; import { history } from 'umi'; import { Button } from 'antd'; import { useEffect, useState } from 'react'; import { statusMap } from '@/pages/device/Product'; import { observer } from '@formily/react'; import Config from '@/pages/device/Instance/Detail/Config'; import Metadata from '@/pages/device/Instance/Detail/Metadata'; import Log from '@/pages/device/Instance/Detail/Log'; import Alarm from '@/pages/device/Instance/Detail/Alarm'; import Info from '@/pages/device/Instance/Detail/Info'; import Functions from '@/pages/device/Instance/Detail/Functions'; import Running from '@/pages/device/Instance/Detail/Running'; import { useIntl } from '@@/plugin-locale/localeExports'; const InstanceDetail = observer(() => { const intl = useIntl(); const [tab, setTab] = useState('detail'); const getDetail = (id: string) => { service.detail(id).then((response) => { InstanceModel.detail = response?.result; }); }; useEffect(() => { if (!InstanceModel.current) { history.goBack(); } else { getDetail(InstanceModel.current?.id); } }, []); const list = [ { key: 'detail', tab: intl.formatMessage({ id: 'pages.device.instanceDetail.detail', defaultMessage: '实例信息', }), component: , }, { key: 'running', tab: intl.formatMessage({ id: 'pages.device.instanceDetail.running', defaultMessage: '运行状态', }), component: , }, { key: 'metadata', tab: intl.formatMessage({ id: 'pages.device.instanceDetail.metadata', defaultMessage: '物模型', }), component: , }, { key: 'functions', tab: intl.formatMessage({ id: 'pages.device.instanceDetail.functions', defaultMessage: '设备功能', }), component: , }, { key: 'log', tab: intl.formatMessage({ id: 'pages.device.instanceDetail.log', defaultMessage: '日志管理', }), component: , }, { key: 'alarm', tab: intl.formatMessage({ id: 'pages.device.instanceDetail.alarm', defaultMessage: '告警设置', }), component: , }, { key: 'visualization', tab: intl.formatMessage({ id: 'pages.device.instanceDetail.visualization', defaultMessage: '可视化', }), component: null, }, { key: 'shadow', tab: intl.formatMessage({ id: 'pages.device.instanceDetail.shadow', defaultMessage: '设备影子', }), component: null, }, ]; return ( } extra={[ statusMap[0], , , ]} > {list.find((k) => k.key === tab)?.component} ); }); export default InstanceDetail;