import { TableCard } from '@/components'; import SearchComponent from '@/components/SearchComponent'; import { getMenuPathByCode, MENUS_CODE } from '@/utils/menu'; import { StatusColorEnum } from '@/components/BadgeStatus'; import { PageContainer } from '@ant-design/pro-layout'; import type { ProColumns } from '@jetlinks/pro-table'; import { Badge, Button, Card, Col, Empty, message, Pagination, Popconfirm, Row } from 'antd'; import { useEffect, useState } from 'react'; import { useHistory } from 'umi'; import styles from './index.less'; import Service from './service'; import { CheckCircleOutlined, DeleteOutlined, EditOutlined, StopOutlined } from '@ant-design/icons'; const defaultImage = require('/public/images/device-access.png'); export const service = new Service('gateway/device'); const AccessConfig = () => { const history = useHistory(); const [param, setParam] = useState({ pageSize: 10 }); const columns: ProColumns[] = [ { title: '名称', dataIndex: 'name', }, { title: '状态', dataIndex: 'state', valueType: 'select', valueEnum: { disabled: { text: '已停止', status: 'disabled', }, enabled: { text: '已启动', status: 'enabled', }, }, }, { title: '说明', dataIndex: 'description', }, ]; const [dataSource, setDataSource] = useState({ data: [], pageSize: 10, pageIndex: 0, total: 0, }); const handleSearch = (params: any) => { setParam(params); service .queryList({ ...params, sorts: [{ name: 'createTime', order: 'desc' }] }) .then((resp) => { if (resp.status === 200) { setDataSource(resp.result); } }); }; useEffect(() => { handleSearch(param); }, []); return ( { const dt = { pageSize: 10, terms: [...data?.terms], }; handleSearch(dt); }} />
{dataSource?.data.length > 0 ? ( {(dataSource?.data || []).map((item: any) => ( { history.push( `${getMenuPathByCode(MENUS_CODE['link/AccessConfig/Detail'])}?id=${ item.id }`, ); }} > 编辑 , , , ]} status={item.state.value} statusText={item.state.text} statusNames={{ enabled: StatusColorEnum.processing, disabled: StatusColorEnum.error, }} >
{''}
{item.name || '--'}
{item.description || '--'}
{item?.channelInfo?.name || '--'}

{item.channelInfo?.addresses.map((i: any) => (

))}

{item?.protocolDetail?.name || '--'}

{item.protocolDetail?.description || '--'}

))}
) : ( )} {dataSource.data.length > 0 && (
{ handleSearch({ ...param, pageIndex: page - 1, pageSize: size, }); }} pageSizeOptions={[10, 20, 50, 100]} pageSize={dataSource?.pageSize} showTotal={(num) => { const minSize = dataSource?.pageIndex * dataSource?.pageSize + 1; const MaxSize = (dataSource?.pageIndex + 1) * dataSource?.pageSize; return `第 ${minSize} - ${MaxSize > num ? num : MaxSize} 条/总共 ${num} 条`; }} />
)}
); }; export default AccessConfig;