import { observer } from '@formily/react'; import { Space, Tabs } from 'antd'; import BaseMetadata from './Base'; import { useIntl } from '@@/plugin-locale/localeExports'; import Import from './Import'; import type { ReactNode } from 'react'; import { useState } from 'react'; import Cat from './Cat'; import Service from '@/pages/device/components/Metadata/service'; import { InfoCircleOutlined } from '@ant-design/icons'; import styles from './index.less'; import { InstanceModel } from '@/pages/device/Instance'; import { PermissionButton } from '@/components'; interface Props { tabAction?: ReactNode; type: 'product' | 'device'; independentMetadata?: boolean; } export const service = new Service(); const Metadata = observer((props: Props) => { const intl = useIntl(); const [visible, setVisible] = useState(false); const [cat, setCat] = useState(false); const { permission } = PermissionButton.usePermission( props.type === 'device' ? 'device/Instance' : 'device/Product', ); return (
{InstanceModel.detail?.independentMetadata ? '该设备已脱离产品物模型,修改产品物模型对该设备无影响' : '设备会默认继承产品的物模型,修改设备物模型后将脱离产品物模型'}
{props?.tabAction} setVisible(true)}> {intl.formatMessage({ id: 'pages.device.productDetail.metadata.quickImport', defaultMessage: '快速导入', })} setCat(true)}> {intl.formatMessage({ id: 'pages.device.productDetail.metadata', defaultMessage: '物模型', })} TSL } destroyInactiveTabPane > setVisible(false)} /> setCat(false)} type={props.type} />
); }); export default Metadata;