|
|
@ -1,11 +1,11 @@ |
|
|
|
import React, { useEffect, useState, useRef, useMemo } from 'react' |
|
|
|
import { connect } from 'react-redux' |
|
|
|
import { Spin, Card, CardGroup, Form, Select, Input, Button, Table, Pagination, Tooltip } from 'antd' |
|
|
|
import { Spin, Card, CardGroup, Form, Select, Input, Button, Table, Pagination, Tooltip,Modal } from 'antd' |
|
|
|
import ExportData from '../components/export-data' |
|
|
|
import moment from 'moment' |
|
|
|
|
|
|
|
const Network = props => { |
|
|
|
const { dispatch, actions, user, clientHeight, thingId, deviceListAlarms, devicesCardStatusList, project, token } = props |
|
|
|
const { dispatch, actions, user, clientHeight, thingId, deviceListAlarms, devicesCardStatusList, project, token, } = props |
|
|
|
const { analysis } = actions |
|
|
|
const form = useRef() //表单
|
|
|
|
const [deployData, setDeployData] = useState([]) |
|
|
@ -21,6 +21,8 @@ const Network = props => { |
|
|
|
const [typeList, setTypeList] = useState([]) |
|
|
|
const [query, setQuery] = useState({ limit: 10, page: 0 }) //页码信息
|
|
|
|
const [deviceId,setDeviceId] = useState([]) |
|
|
|
const [modalVis,setModalVis]=useState(false) |
|
|
|
const [loading,setLoading]=useState(true) |
|
|
|
const DeviceTypes = { |
|
|
|
'DTU': 'DTU', |
|
|
|
'gateway': '网关', |
|
|
@ -52,6 +54,7 @@ const Network = props => { |
|
|
|
sensorId: i, |
|
|
|
sensorName: dataList.instances[i]?.name, |
|
|
|
deviceType: dataList?.instances[i]?.instance?.properties?.deviceType, |
|
|
|
model:dataList?.instances[i]?.instance?.properties?.productType, |
|
|
|
collectTime: '--', |
|
|
|
data: '--', |
|
|
|
iotCardStatus: '--', |
|
|
@ -73,12 +76,12 @@ const Network = props => { |
|
|
|
for (const id in dataList.instances) { |
|
|
|
deviceIds.push(id) |
|
|
|
const instances = dataList.instances[id] |
|
|
|
|
|
|
|
if (instances.type == 's.d' && instances.instance.properties.deviceType == 'sensor') { |
|
|
|
const meta = deviceMetaDeployed.devices.find(m => m.id == instances.instance.deviceMetaId) |
|
|
|
sensorsDataItems[id] = { |
|
|
|
items: {}, |
|
|
|
deviceName: instances.name, |
|
|
|
model:instances.instance.properties.productType |
|
|
|
} |
|
|
|
if (meta) { |
|
|
|
sensorsDataItems[id].items = meta.capabilities[0].properties.reduce((p, n) => { |
|
|
@ -136,6 +139,7 @@ const Network = props => { |
|
|
|
sensorId: sd.sensorId, |
|
|
|
sensorName: sensorName, |
|
|
|
collectTime: collectTime, |
|
|
|
model:sensorsDataItems[sd.sensorId]?.model, |
|
|
|
data: dataStr, |
|
|
|
deviceType: 'sensor', //传感器
|
|
|
|
iotCardStatus: '--', |
|
|
@ -162,14 +166,13 @@ const Network = props => { |
|
|
|
collectTime: objRslt ? objRslt.collectTime : p.collectTime, |
|
|
|
data: objRslt ? objRslt.data : p.data, |
|
|
|
deviceType: DeviceTypes[objRslt ? objRslt.deviceType : p.deviceType], |
|
|
|
model:objRslt?objRslt?.model:p.model, |
|
|
|
iotCardStatus: |
|
|
|
res.payload.data && res.payload.data.length |
|
|
|
? res.payload.data.find(v => v.deviceId == p.sensorId)?.status === 0 |
|
|
|
res.payload.data && res.payload.data.length&&res.payload.data.find(v => v.deviceId == p.sensorId)?.status === 0 |
|
|
|
? '正常' |
|
|
|
: res.payload.data.find(v => v.deviceId == p.sensorId)?.status === 1 |
|
|
|
? '未激活' |
|
|
|
: '停机' |
|
|
|
: '--', |
|
|
|
? '未激活':res.payload.data.find(v => v.deviceId == p.sensorId)?.status === 2?'停机' |
|
|
|
: '--', |
|
|
|
status: |
|
|
|
deviceListAlarms && deviceListAlarms.length |
|
|
|
? deviceListAlarms?.find(v => v.deviceId == p.sensorId) |
|
|
@ -188,6 +191,7 @@ const Network = props => { |
|
|
|
}, []) |
|
|
|
setTypeList(typeList) |
|
|
|
setLastData(dataD) |
|
|
|
setLoading(false) |
|
|
|
setLastDataCopy(dataD) |
|
|
|
} |
|
|
|
} |
|
|
@ -280,12 +284,19 @@ const Network = props => { |
|
|
|
{ |
|
|
|
title: '操作', |
|
|
|
width: '10%', |
|
|
|
dataIndex: 'option', |
|
|
|
// dataIndex: 'option',
|
|
|
|
key: 'option', |
|
|
|
render: (_, r) => { |
|
|
|
return ( |
|
|
|
<div> {r.model==='FS-WSD-01M'?<Button onClick={()=>{setModalVis(true)}}>查询</Button>: '--'}</div> |
|
|
|
) |
|
|
|
} |
|
|
|
}, |
|
|
|
] |
|
|
|
console.log('modalVis',modalVis) |
|
|
|
return ( |
|
|
|
<> |
|
|
|
<Spin spinning={loading}> |
|
|
|
<div style={{ marginBottom: 12, display: 'flex' }}> |
|
|
|
<div> |
|
|
|
<Input // suffix={<IconSearch />}
|
|
|
@ -325,6 +336,11 @@ const Network = props => { |
|
|
|
// scroll={scroll}
|
|
|
|
columns={columns} |
|
|
|
dataSource={lastData}></Table> |
|
|
|
<Modal |
|
|
|
title='开关' |
|
|
|
visible={modalVis} |
|
|
|
></Modal> |
|
|
|
</Spin> |
|
|
|
</> |
|
|
|
) |
|
|
|
} |
|
|
@ -336,7 +352,9 @@ function mapStateToProps (state) { |
|
|
|
actions: global.actions, |
|
|
|
clientHeight: global.clientHeight, |
|
|
|
deviceListAlarms: deviceListAlarms?.data || [], |
|
|
|
devicesCardStatusList: devicesCardStatus?.data || [], |
|
|
|
devicesCardStatusList: devicesCardStatus?.data || [], |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|