|
@@ -45,9 +45,10 @@ const DeviceManager = () => {
|
|
|
} = useRequest(() => queryMonitorOnlineCount(projectId));
|
|
|
|
|
|
useEffect(() => {
|
|
|
- if (data?.list && tab == '2') UnityAction.sendMsg('doorData', data?.list);
|
|
|
+ if (data?.list && tab == '2')
|
|
|
+ UnityAction.sendMsg('doorData', JSON.stringify(data?.list));
|
|
|
if (dataVList?.list && tab == '1')
|
|
|
- UnityAction.sendMsg('camData', dataVList?.list);
|
|
|
+ UnityAction.sendMsg('camData', JSON.stringify(dataVList?.list));
|
|
|
}, [data, dataVList]);
|
|
|
|
|
|
const handleTabChange = (tab) => {
|
|
@@ -98,73 +99,41 @@ const DeviceManager = () => {
|
|
|
const Video = ({ projectId, data, dataOnline, loading }) => {
|
|
|
const renderRed = (item) => {
|
|
|
return (
|
|
|
- <div style={{ display: 'flex', alignItems: 'center' }}>
|
|
|
+ <div className={styles.cardItem}>
|
|
|
<div
|
|
|
- style={{
|
|
|
- backgroundColor: item.Online ? '#12ceb3' : 'red',
|
|
|
- width: '10px',
|
|
|
- height: '10px',
|
|
|
- borderRadius: '5px',
|
|
|
- marginRight: '10px',
|
|
|
- }}
|
|
|
+ className={item.Online ? styles.onlinePoint : styles.outlinePoint}
|
|
|
/>
|
|
|
- <span>{item.Name}</span>
|
|
|
+ <span className={styles.name}>{item.Name}</span>
|
|
|
</div>
|
|
|
);
|
|
|
};
|
|
|
return (
|
|
|
- <Space direction="vertical" className={styles.sparePart}>
|
|
|
+ <Space direction="vertical" size={16} className={styles.sparePart}>
|
|
|
<div className={`card-box ${styles.titleContent}`}>
|
|
|
- <img className={styles.img} src={img} />
|
|
|
- <div>
|
|
|
- <div className={styles.num}>{dataOnline?.total || 0}</div>
|
|
|
- <div>在库数量(个)</div>
|
|
|
+ <div className={styles.titleLeft}>
|
|
|
+ <img className={styles.img} src={img} />
|
|
|
+ <div className={styles.textCon}>
|
|
|
+ <div className={styles.num}>{dataOnline?.total || 0}</div>
|
|
|
+ <div>在库数量(个)</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div>
|
|
|
- <div
|
|
|
- style={{
|
|
|
- display: 'flex',
|
|
|
- alignItems: 'center',
|
|
|
- marginBottom: '20px',
|
|
|
- }}
|
|
|
- >
|
|
|
- <div
|
|
|
- style={{
|
|
|
- backgroundColor: '#12ceb3',
|
|
|
- width: '10px',
|
|
|
- height: '10px',
|
|
|
- borderRadius: '5px',
|
|
|
- marginRight: '10px',
|
|
|
- }}
|
|
|
- />
|
|
|
+ <div className={styles.lTextCon1}>
|
|
|
+ <div className={styles.onlinePoint} />
|
|
|
<span>在线:{dataOnline?.online || 0}</span>
|
|
|
</div>
|
|
|
- <div style={{ display: 'flex', alignItems: 'center' }}>
|
|
|
- <div
|
|
|
- style={{
|
|
|
- backgroundColor: 'gray',
|
|
|
- width: '10px',
|
|
|
- height: '10px',
|
|
|
- borderRadius: '5px',
|
|
|
- marginRight: '10px',
|
|
|
- }}
|
|
|
- />
|
|
|
+ <div className={styles.lTextCon2}>
|
|
|
+ <div className={styles.outlinePoint} />
|
|
|
<span>离线:{dataOnline?.offline || 0}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
- <Space direction="vertical" className={styles.sparePart}>
|
|
|
- {data?.map((item, idx) => (
|
|
|
- <div
|
|
|
- key={`video_${idx}`}
|
|
|
- className="card-box"
|
|
|
- style={{ padding: '10px' }}
|
|
|
- >
|
|
|
- {renderRed(item)}
|
|
|
- </div>
|
|
|
- ))}
|
|
|
- </Space>
|
|
|
+ {data?.map((item, idx) => (
|
|
|
+ <div key={`video_${idx}`} className="card-box">
|
|
|
+ {renderRed(item)}
|
|
|
+ </div>
|
|
|
+ ))}
|
|
|
</Space>
|
|
|
);
|
|
|
};
|
|
@@ -177,36 +146,21 @@ const Door = ({ data, dataOver, loading, projectId }) => {
|
|
|
|
|
|
const renderRed = (item) => {
|
|
|
return (
|
|
|
- <div style={{ display: 'flex', alignItems: 'center' }}>
|
|
|
+ <div className={styles.cardItem}>
|
|
|
<div
|
|
|
- style={{
|
|
|
- backgroundColor: item?.status ? '#12ceb3' : 'red',
|
|
|
- width: '10px',
|
|
|
- height: '10px',
|
|
|
- borderRadius: '5px',
|
|
|
- marginRight: '10px',
|
|
|
- }}
|
|
|
+ className={item?.status ? styles.onlinePoint : styles.outlinePoint}
|
|
|
/>
|
|
|
- <span>{item?.name}</span>
|
|
|
+ <span className={styles.name}>{item?.name}</span>
|
|
|
</div>
|
|
|
);
|
|
|
};
|
|
|
return (
|
|
|
- <div>
|
|
|
- <div
|
|
|
- style={{
|
|
|
- display: 'flex',
|
|
|
- justifyContent: 'space-between',
|
|
|
- marginBottom: '10px',
|
|
|
- }}
|
|
|
- >
|
|
|
- <div className="card-box" style={{ width: '49%', padding: '10px' }}>
|
|
|
- <div
|
|
|
- className={styles.titleTwoContent}
|
|
|
- style={{ width: '100%', marginBottom: '10px' }}
|
|
|
- >
|
|
|
+ <Space direction="vertical" size={16} className={styles.doorPart}>
|
|
|
+ <div className={styles.titleContent}>
|
|
|
+ <div className={`card-box ${styles.cardLeft}`}>
|
|
|
+ <div className={styles.up}>
|
|
|
<img className={styles.img} src={img} />
|
|
|
- <div>
|
|
|
+ <div className={styles.textCon}>
|
|
|
<div className={styles.num}>{dataOver?.total}</div>
|
|
|
<div>在库数量(个)</div>
|
|
|
</div>
|
|
@@ -296,7 +250,7 @@ const Door = ({ data, dataOver, loading, projectId }) => {
|
|
|
</div>
|
|
|
))}
|
|
|
</Space>
|
|
|
- </div>
|
|
|
+ </Space>
|
|
|
);
|
|
|
};
|
|
|
|