import { PageContainer } from '@ant-design/pro-layout'; import Service from '@/pages/rule-engine/Instance/serivce'; import type { InstanceItem } from '@/pages/rule-engine/Instance/typings'; import { useRef, useState } from 'react'; import type { ActionType, ProColumns } from '@jetlinks/pro-table'; import { CheckCircleOutlined, DeleteOutlined, EditOutlined, EyeOutlined, PlusOutlined, StopOutlined, } from '@ant-design/icons'; import { Button, message, Popconfirm, Tooltip } from 'antd'; import { useIntl } from '@@/plugin-locale/localeExports'; import SearchComponent from '@/components/SearchComponent'; import { BadgeStatus, ProTableCard } from '@/components'; import RuleInstanceCard from '@/components/ProTableCard/CardItems/ruleInstance'; import Save from '@/pages/rule-engine/Instance/Save'; import SystemConst from '@/utils/const'; import { StatusColorEnum } from '@/components/BadgeStatus'; import { getButtonPermission } from '@/utils/menu'; export const service = new Service('rule-engine/instance'); const Instance = () => { const intl = useIntl(); const actionRef = useRef(); const [visible, setVisible] = useState(false); const [current, setCurrent] = useState>({}); const [searchParams, setSearchParams] = useState({}); const tools = (record: InstanceItem) => [ , // , , , ]; const columns: ProColumns[] = [ { dataIndex: 'name', title: intl.formatMessage({ id: 'pages.table.name', defaultMessage: '名称', }), ellipsis: true, }, { dataIndex: 'state', title: '状态', render: (text: any, record: any) => ( ), valueType: 'select', valueEnum: { started: { text: '正常', status: 'started', }, disable: { text: '禁用', status: 'disable', }, }, }, { dataIndex: 'description', title: '说明', ellipsis: true, }, { title: intl.formatMessage({ id: 'pages.data.option', defaultMessage: '操作', }), valueType: 'option', align: 'center', width: 200, render: (text, record) => [ , , , , ], }, ]; return ( field={columns} target="device-instance" onSearch={(data) => { // 重置分页数据 actionRef.current?.reset?.(); setSearchParams(data); }} /> columns={columns} actionRef={actionRef} params={searchParams} options={{ fullScreen: true }} request={(params) => service.query({ ...params, sorts: [ { name: 'createTime', order: 'desc', }, ], }) } rowKey="id" search={false} pagination={{ pageSize: 10 }} headerTitle={[ , ]} cardRender={(record) => ( { window.open(`/${SystemConst.API_BASE}/rule-editor/index.html#flow/${record.id}`); }} > } /> )} /> {visible && ( { setVisible(false); actionRef.current?.reload(); }} /> )} ); }; export default Instance;