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, Space } 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 chartIcon = require('@/assets/deviceManager/chartIcon.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 = ({ projectId, 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}
今日进厂人数:{2}
今日出厂人数:{2}
{data?.map((item, idx) => (
{renderRed(item)}
))} ); }; export default DeviceManager;