import PageContent from '@/components/PageContent'; import TabsContent from '@/components/TabsContent'; import { queryGateList, queryGateOverView, queryMonitorList, queryMonitorOnlineCount, } from '@/services/safety'; import { UnityAction } from '@/utils/utils'; import { useNavigate, useParams, useRequest } from '@umijs/max'; import { Button, Spin } from 'antd'; import { useEffect, useState } from 'react'; import styles from './index.less'; const doorIcon = require('@/assets/deviceManager/doorIcon.png'); const videoIcon = require('@/assets/air-conditioner.png'); const DeviceManager = () => { const { projectId } = useParams(); const [tab, setTab] = useState(localStorage.safeTab || '1'); //门禁接口 const { data, run, loading } = useRequest( () => queryGateList({ project_id: projectId }), { manual: true, }, ); //视频接口 const { data: dataOver, run: runOver, loading: loadingOver, } = useRequest(() => queryGateOverView({ project_id: projectId }), { manual: true, }); //视频接口 const { data: dataVList, run: runVideo, loading: loadingVList, } = useRequest(() => queryMonitorList(projectId)); const { data: dataVOnline, run: runVOnLine, loading: loadingVOnline, } = useRequest(() => queryMonitorOnlineCount(projectId)); useEffect(() => { if (data?.list && tab == '2') UnityAction.sendMsg('doorData', JSON.stringify(data?.list)); if (dataVList?.list && tab == '1') UnityAction.sendMsg('camData', JSON.stringify(dataVList?.list)); }, [data, dataVList]); const handleTabChange = (tab) => { setTab(tab); if (tab == '1') { runVideo(); runVOnLine(); } else { run(); runOver(); } }; useEffect(() => { localStorage.safeTab = '1'; if (tab == '2') { run(); runOver(); } }, []); return ( ), }, { label: `门禁监控`, key: '2', children: ( ), }, ]} /> ); }; const Video = ({ data, dataOnline, loading }) => { const renderRed = (item) => { return (
{item.Name}
); }; return (
{dataOnline?.total || 0}
在库数量(个)
在线:{dataOnline?.online || 0}
离线:{dataOnline?.offline || 0}
{data?.map((item, idx) => (
{renderRed(item)}
))}
); }; const Door = ({ data, dataOver, loading, projectId }) => { const navigate = useNavigate(); const handleClick = () => { localStorage.safeTab = '2'; navigate(`/safety/detail/${projectId}`); }; const renderRed = (item) => { return (
{item?.name}
); }; return (
{dataOver?.total}
门禁数量(个)
在线:{dataOver?.online}
离线:{dataOver?.offline}
今日进厂次数:{dataOver?.today_in}
今日出厂次数:{dataOver?.today_out}
{data?.map((item, idx) => (
{renderRed(item)}
))}
); }; export default DeviceManager;