Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
AmosBankView
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
bank
AmosBankView
Commits
c8140d95
Commit
c8140d95
authored
Jun 11, 2020
by
zhengjiangtao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改自建系统为通用接口
parent
3a321c1a
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
94 additions
and
370 deletions
+94
-370
index.js
src/view/bank/virtualCloudPlatform/index.js
+70
-200
index.js
src/view/bizview/selfSupport/index.js
+24
-170
No files found.
src/view/bank/virtualCloudPlatform/index.js
View file @
c8140d95
import
React
,
{
Component
}
from
'react'
;
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
classnames
from
'classnames'
;
import
classnames
from
'classnames'
;
import
{
message
}
from
'amos-framework'
;
import
{
message
}
from
'amos-framework'
;
import
dt2react
from
'dt2react'
;
import
dt2react
from
'dt2react'
;
import
AmosWebSocket
from
'amos-websocket'
;
import
AmosWebSocket
from
'amos-websocket'
;
import
TopologyComponent
from
'./TopologyComponent'
;
import
TopologyComponent
from
'./TopologyComponent'
;
import
TreeComponent
from
'./TreeComponent'
;
import
TreeComponent
from
'./TreeComponent'
;
import
mqtt
from
'mqtt'
;
import
*
as
endConf
from
'amos-processor/lib/config/endconf'
;
// import AmosGridTable from './../../bizview/common/tableComponent/table/AmosGridTable';
import
AmosGridTable
from
'./../../component/table/table/AmosGridTable'
;
import
SysWsURL
from
'./../../../consts/wsUrlConsts'
;
import
SysWsURL
from
'./../../../consts/wsUrlConsts'
;
const
AmosConfig
=
endConf
.
AmosConfig
;
import
{
getTypeBySystem
}
from
'./../financialCityLan/conf'
;
import
{
getTypeBySystem
}
from
'./../financialCityLan/conf'
;
import
{
getTopoTreeByTypeAction
,
getNodesByTypeAndTreeIdAction
,
saveNodesByTypeUrlAction
}
from
'./../../../services/monitorService'
;
import
{
getTopoTreeByTypeAction
,
getNodesByTypeAndTreeIdAction
,
saveNodesByTypeUrlAction
}
from
'./../../../services/monitorService'
;
const
type
=
getTypeBySystem
(
'CloudPlatform'
);
const
type
=
getTypeBySystem
(
'CloudPlatform'
);
//偏移
//偏移
const
offsetHeight
=
110
;
const
offsetHeight
=
110
;
const
defaultHeight
=
450
;
const
defaultHeight
=
450
;
class
VirtualCloudPlatform
extends
Component
{
class
VirtualCloudPlatform
extends
Component
{
constructor
(
props
)
{
constructor
(
props
)
{
super
(
props
);
super
(
props
);
this
.
pageConfig
=
{
this
.
pageConfig
=
{
...
@@ -59,100 +49,21 @@ class VirtualCloudPlatform extends Component {
...
@@ -59,100 +49,21 @@ class VirtualCloudPlatform extends Component {
selectedRows
:
[],
selectedRows
:
[],
selectedRowKeys
:
[],
selectedRowKeys
:
[],
pagination
:
true
,
pagination
:
true
,
isChecked
:
false
,
isChecked
:
false
};
};
this
.
updateTopologyData
=
{};
this
.
updateTopologyData
=
{};
this
.
mapView
=
true
;
this
.
mapView
=
true
;
}
}
componentWillMount
()
{
componentWillMount
()
{}
}
componentDidMount
()
{
componentDidMount
()
{
this
.
initData
();
this
.
initData
();
if
(
this
.
props
.
location
.
state
)
{
this
.
state
.
cityLine
=
JSON
.
parse
(
this
.
props
.
location
.
state
.
cityLine
);
this
.
viewlineItem
();
}
// this.receivcemqtt();
}
componentWillReceiveProps
(
nextProps
)
{
if
(
nextProps
.
location
.
state
)
{
this
.
state
.
cityLine
=
JSON
.
parse
(
nextProps
.
location
.
state
.
cityLine
);
this
.
viewlineItem
();
}
}
}
receivcemqtt
=
()
=>
{
client
.
on
(
'connect'
,
(
e
)
=>
{
console
.
log
(
"连接成功!!!"
)
//QoS0,最多一次送达。也就是发出去就fire掉,没有后面的事情了。
// QoS1,至少一次送达。发出去之后必须等待ack,没有ack,就要找时机重发
// QoS2,准确一次送达。消息id将拥有一个简单的生命周期。
// client.subscribe('bank/equipment/ping', { qos: 1 }, (res) => {
client
.
subscribe
(
'bank/equipment/ping'
,
{
qos
:
1
},
(
res
)
=>
{
if
(
!
res
)
{
console
.
log
(
'订阅成功'
);
}
else
{
console
.
log
(
'订阅失败'
)
}
});
// 接收消息处理
client
.
on
(
'message'
,
(
topic
,
message
)
=>
{
// console.log('收到来自', topic, '的消息', message.toString());
const
{
selectedKeys
}
=
this
.
state
;
this
.
initTopologyData
(
selectedKeys
[
0
],
''
);
});
// 断开发起重连
client
.
on
(
'reconnect'
,
(
error
)
=>
{
console
.
log
(
'正在重连:'
,
error
)
});
// 链接异常处理
client
.
on
(
'error'
,
(
error
)
=>
{
console
.
log
(
'连接失败:'
,
error
)
});
});
}
//点击地图线操作
viewlineItem
=
()
=>
{
let
{
treeData
,
selectedKeys
,
cityLine
}
=
this
.
state
;
if
(
cityLine
)
{
let
currentLine
=
`
${
cityLine
.
citys
[
0
]}
-
${
cityLine
.
citys
[
1
]}
`
;
for
(
let
i
=
0
;
i
<
treeData
.
length
;
i
++
)
{
let
dataItem
=
treeData
[
i
].
children
;
for
(
let
j
=
0
;
j
<
dataItem
.
length
;
j
++
)
{
if
(
dataItem
[
j
].
name
===
currentLine
)
{
// selectedKeys.push(dataItem[j].id)
selectedKeys
=
[
dataItem
[
j
].
id
];
console
.
log
(
selectedKeys
);
if
(
selectedKeys
[
0
])
{
this
.
initTopologyData
(
selectedKeys
[
0
]);
}
this
.
setState
({
selectedKeys
});
}
}
}
}
}
componentWillUnmount
()
{
window
.
localStorage
.
removeItem
(
'cityLine'
);
}
getPanelHeight
=
()
=>
{
getPanelHeight
=
()
=>
{
let
tableNode
=
this
.
tableNode
;
let
tableNode
=
this
.
tableNode
;
let
tableLocation
=
dt2react
.
getOffset
(
tableNode
)
||
{};
let
tableLocation
=
dt2react
.
getOffset
(
tableNode
)
||
{};
return
(
tableLocation
!==
undefined
?
tableLocation
.
height
-
offsetHeight
:
defaultHeight
)
-
30
;
return
(
tableLocation
!==
undefined
?
tableLocation
.
height
-
offsetHeight
:
defaultHeight
)
-
30
;
};
};
// 数据初始化
// 数据初始化
...
@@ -164,20 +75,20 @@ class VirtualCloudPlatform extends Component {
...
@@ -164,20 +75,20 @@ class VirtualCloudPlatform extends Component {
});
});
this
.
initTopologyData
(
data
[
0
].
id
);
this
.
initTopologyData
(
data
[
0
].
id
);
//this.initTopologyEventData();
//this.initTopologyEventData();
this
.
setState
(
{
this
.
setState
(
treeData
:
data
,
{
selectedKeys
:
[
data
[
0
].
id
]
,
treeData
:
data
,
expandedKeys
:
expandedKeysData
,
selectedKeys
:
[
data
[
0
].
id
]
,
pHeight
:
this
.
getPanelHeight
()
expandedKeys
:
expandedKeysData
,
},
()
=>
{
pHeight
:
this
.
getPanelHeight
()
this
.
viewlineItem
();
}
}
);
);
});
});
}
}
;
// 拓扑图数据初始化
// 拓扑图数据初始化
initTopologyData
=
(
id
,
value
=
''
)
=>
{
initTopologyData
=
(
id
,
value
=
''
)
=>
{
getNodesByTypeAndTreeIdAction
(
type
,
id
).
then
(
data
=>
{
getNodesByTypeAndTreeIdAction
(
type
,
id
).
then
(
data
=>
{
if
(
value
===
'refresh'
)
{
if
(
value
===
'refresh'
)
{
message
.
success
(
'拓扑图刷新成功!'
);
message
.
success
(
'拓扑图刷新成功!'
);
}
}
...
@@ -187,21 +98,15 @@ class VirtualCloudPlatform extends Component {
...
@@ -187,21 +98,15 @@ class VirtualCloudPlatform extends Component {
topologyData
:
data
topologyData
:
data
});
});
});
});
};
}
/**
/**
* 获取表格所选则的行数据
* 获取表格所选则的行数据
*/
*/
getSelectedRows
=
(
selectedRows
,
selectedRowKeys
)
=>
{
getSelectedRows
=
(
selectedRows
,
selectedRowKeys
)
=>
{
this
.
setState
({
selectedRows
,
selectedRowKeys
});
this
.
setState
({
selectedRows
,
selectedRowKeys
});
let
{
riskSourceId
,
equipmentId
,
callBack
}
=
this
.
props
;
// callBack(selectedRowKeys,riskSourceId,equipmentId);
};
};
// 树选择
// 树选择
onSelect
=
(
selectedKeys
,
e
)
=>
{
onSelect
=
(
selectedKeys
,
e
)
=>
{
if
(
selectedKeys
.
length
&&
!
e
.
node
.
props
.
parent
)
{
if
(
selectedKeys
.
length
&&
!
e
.
node
.
props
.
parent
)
{
...
@@ -211,39 +116,29 @@ class VirtualCloudPlatform extends Component {
...
@@ -211,39 +116,29 @@ class VirtualCloudPlatform extends Component {
selectedKeys
selectedKeys
});
});
}
}
}
};
mapLineClick
=
(
data
)
=>
{
window
.
localStorage
.
removeItem
(
'cityLine'
);
this
.
state
.
cityLine
=
data
;
this
.
viewlineItem
();
}
// 树展开
// 树展开
onExpand
=
(
expandedKeys
)
=>
{
onExpand
=
expandedKeys
=>
{
this
.
setState
({
this
.
setState
({
expandedKeys
,
expandedKeys
,
autoExpandParent
:
false
autoExpandParent
:
false
});
});
};
};
// 选择节点
// 选择节点
nodeSelectionChanged
=
(
e
)
=>
{
nodeSelectionChanged
=
e
=>
{
// console.log('e',e);
// console.log('e',e);
if
(
e
.
isSelected
)
{
}
if
(
e
.
isSelected
)
{
}
}
};
// 节点数据改变
// 节点数据改变
nodeChange
=
(
e
)
=>
{
nodeChange
=
e
=>
{
// console.log(e.model.toJson());
// console.log(e.model.toJson());
this
.
updateTopologyData
=
JSON
.
parse
(
e
.
model
.
toJson
());
this
.
updateTopologyData
=
JSON
.
parse
(
e
.
model
.
toJson
());
}
}
;
// 保存节点数据
// 保存节点数据
saveTopologyData
=
()
=>
{
saveTopologyData
=
()
=>
{
...
@@ -254,14 +149,14 @@ class VirtualCloudPlatform extends Component {
...
@@ -254,14 +149,14 @@ class VirtualCloudPlatform extends Component {
nodeData
:
nodeDataArray
,
nodeData
:
nodeDataArray
,
linkData
:
linkDataArray
linkData
:
linkDataArray
};
};
saveNodesByTypeUrlAction
(
type
,
params
).
then
(
data
=>
{
saveNodesByTypeUrlAction
(
type
,
params
).
then
(
data
=>
{
message
.
success
(
'拓扑图保存成功!'
);
message
.
success
(
'拓扑图保存成功!'
);
});
});
}
}
;
/**
/**
* 分页设置参数
* 分页设置参数
*/
*/
setPageConfig
=
({
pageSize
,
current
})
=>
{
setPageConfig
=
({
pageSize
,
current
})
=>
{
if
(
pageSize
!==
undefined
)
{
if
(
pageSize
!==
undefined
)
{
this
.
pageConfig
.
pageSize
=
pageSize
;
this
.
pageConfig
.
pageSize
=
pageSize
;
...
@@ -271,8 +166,8 @@ class VirtualCloudPlatform extends Component {
...
@@ -271,8 +166,8 @@ class VirtualCloudPlatform extends Component {
};
};
/**
/**
* 获取表格刷新方法
* 获取表格刷新方法
*/
*/
reload
=
r
=>
{
reload
=
r
=>
{
this
.
setState
(
this
.
setState
(
{
{
...
@@ -289,10 +184,10 @@ class VirtualCloudPlatform extends Component {
...
@@ -289,10 +184,10 @@ class VirtualCloudPlatform extends Component {
refreshTopologyData
=
()
=>
{
refreshTopologyData
=
()
=>
{
const
{
selectedKeys
}
=
this
.
state
;
const
{
selectedKeys
}
=
this
.
state
;
this
.
initTopologyData
(
selectedKeys
[
0
],
'refresh'
);
this
.
initTopologyData
(
selectedKeys
[
0
],
'refresh'
);
}
}
;
// 视图切换
// 视图切换
toggleView
=
(
value
)
=>
{
toggleView
=
value
=>
{
if
(
value
===
'left'
)
{
if
(
value
===
'left'
)
{
this
.
setState
({
this
.
setState
({
isTreeDisplay
:
true
,
isTreeDisplay
:
true
,
...
@@ -306,63 +201,55 @@ class VirtualCloudPlatform extends Component {
...
@@ -306,63 +201,55 @@ class VirtualCloudPlatform extends Component {
activeView
:
'detail'
activeView
:
'detail'
});
});
}
}
}
}
;
//webSocket 接收消息
//webSocket 接收消息
handleData
=
(
data
)
=>
{
handleData
=
data
=>
{
const
{
selectedKeys
}
=
this
.
state
;
const
{
selectedKeys
}
=
this
.
state
;
this
.
initTopologyData
(
selectedKeys
[
0
],
''
);
this
.
initTopologyData
(
selectedKeys
[
0
],
''
);
}
}
;
handetopologyData
=
(
topologyData
)
=>
{
handetopologyData
=
topologyData
=>
{
let
pointdatas
=
topologyData
.
nodeData
||
[];
let
pointdatas
=
topologyData
.
nodeData
||
[];
let
newNodeData
=
[];
let
newNodeData
=
[];
console
.
log
(
pointdatas
);
console
.
log
(
pointdatas
)
pointdatas
.
map
(
e
=>
{
pointdatas
.
map
(
e
=>
{
if
(
e
&&
e
.
ports
&&
null
!==
e
.
ports
)
{
if
(
e
&&
e
.
ports
&&
null
!==
e
.
ports
)
{
var
jsonObj
=
JSON
.
parse
(
e
.
ports
);
var
jsonObj
=
JSON
.
parse
(
e
.
ports
);
let
item
=
{
...
e
,
...
jsonObj
};
let
item
=
{
...
e
,
...
jsonObj
};
newNodeData
.
push
(
item
)
newNodeData
.
push
(
item
)
;
}
else
if
(
e
)
{
}
else
if
(
e
)
{
let
item
=
e
;
let
item
=
e
;
newNodeData
.
push
(
item
)
newNodeData
.
push
(
item
)
;
}
}
})
})
;
topologyData
.
nodeData
=
newNodeData
;
topologyData
.
nodeData
=
newNodeData
;
return
topologyData
;
}
return
topologyData
;
};
render
()
{
render
()
{
const
{
treeData
,
selectedKeys
,
expandedKeys
,
isTreeDisplay
,
totalCount
,
selectedRowKeys
,
pagination
,
isChecked
}
=
this
.
state
;
const
{
treeData
,
selectedKeys
,
expandedKeys
,
isTreeDisplay
}
=
this
.
state
;
let
defaultPageConfig
=
this
.
pageConfig
;
if
(
treeData
[
0
]
&&
treeData
[
0
].
children
.
length
<
1
)
{
if
(
treeData
[
0
]
&&
treeData
[
0
].
children
.
length
<
1
)
{
return
null
;
return
null
;
}
}
if
(
treeData
&&
treeData
.
length
>
0
&&
selectedKeys
&&
selectedKeys
.
length
>
0
)
{
if
(
treeData
&&
treeData
.
length
>
0
&&
selectedKeys
&&
selectedKeys
.
length
>
0
)
{
if
(
treeData
[
0
].
id
!=
selectedKeys
[
0
])
{
if
(
treeData
[
0
].
id
!=
=
selectedKeys
[
0
])
{
this
.
mapView
=
false
;
this
.
mapView
=
false
;
}
else
{
}
else
{
this
.
mapView
=
true
;
this
.
mapView
=
true
;
}
}
}
}
debugger
let
{
topologyData
}
=
this
.
state
;
let
{
topologyData
}
=
this
.
state
;
let
newtopologyData
=
this
.
handetopologyData
(
topologyData
)
let
newtopologyData
=
this
.
handetopologyData
(
topologyData
);
const
{
tableData
,
isTableDisplay
,
pHeight
,
activeView
}
=
this
.
state
;
const
{
isTableDisplay
,
activeView
}
=
this
.
state
;
console
.
log
(
topologyData
);
console
.
log
(
topologyData
);
return
(
return
(
<
div
className
=
"virtualCloudPlatform-wrapper"
>
<
div
className
=
"virtualCloudPlatform-wrapper"
>
<
AmosWebSocket
<
AmosWebSocket
ref
=
{
node
=>
(
this
.
aws
=
node
)}
url
=
{
SysWsURL
.
technologyIpURI
}
onMessage
=
{
this
.
handleData
}
reconnect
debug
/>
ref
=
{
node
=>
this
.
aws
=
node
}
url
=
{
SysWsURL
.
technologyIpURI
}
onMessage
=
{
this
.
handleData
}
reconnect
debug
/>
<
div
className
=
"virtualCloudPlatform-header"
>
<
div
className
=
"virtualCloudPlatform-header"
>
<
div
className
=
"virtualCloudPlatform-view"
>
<
div
className
=
"virtualCloudPlatform-view"
>
<
div
className
=
{
classnames
(
'left-view'
,
{
'left-active-view'
:
activeView
===
'left'
})}
>
<
div
className
=
{
classnames
(
'left-view'
,
{
'left-active-view'
:
activeView
===
'left'
})}
>
...
@@ -382,22 +269,21 @@ class VirtualCloudPlatform extends Component {
...
@@ -382,22 +269,21 @@ class VirtualCloudPlatform extends Component {
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
div
className
=
"virtualCloudPlatform-content"
>
<
div
className
=
"virtualCloudPlatform-content"
>
{
<
div
className
=
{
classnames
({
'left-content'
:
isTreeDisplay
,
'left-content-close'
:
!
isTreeDisplay
})}
>
{
<
div
className
=
{
classnames
({
'left-content'
:
isTreeDisplay
,
'left-content-close'
:
!
isTreeDisplay
})}
>
<
TreeComponent
<
TreeComponent
treeData
=
{
treeData
}
treeData
=
{
treeData
}
//treeData={moniTreeData}
//treeData={moniTreeData}
selectedKeys
=
{
selectedKeys
}
selectedKeys
=
{
selectedKeys
}
expandedKeys
=
{
expandedKeys
}
expandedKeys
=
{
expandedKeys
}
// onSelect={this.onSelect}
// onSelect={this.onSelect}
onExpand
=
{
this
.
onExpand
}
onExpand
=
{
this
.
onExpand
}
/
>
/
>
<
/div>
}
<
/div
>
}
<
div
className
=
{
`middle-content
${
isTreeDisplay
&&
isTableDisplay
?
''
:
'only-middle'
}
`
}
>
<
div
className
=
{
`middle-content
${
isTreeDisplay
&&
isTableDisplay
?
''
:
'only-middle'
}
`
}
>
<
div
className
=
"paslogy-content"
>
<
div
className
=
"paslogy-content"
>
<
div
className
=
"middle-content-div"
>
<
div
className
=
"middle-content-div"
><
/div
>
<
/div
>
<
div
className
=
"net-topo-content"
>
<
div
className
=
"net-topo-content"
>
<
TopologyComponent
<
TopologyComponent
topologyData
=
{
newtopologyData
}
topologyData
=
{
newtopologyData
}
...
@@ -408,28 +294,12 @@ class VirtualCloudPlatform extends Component {
...
@@ -408,28 +294,12 @@ class VirtualCloudPlatform extends Component {
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
{
/* <div className={`middle-content ${isTreeDisplay && isTableDisplay?'':'only-middle'}`}>
<div className="paslogy-content">
{
this.mapView ? <IndexChart mapLineClick={this.mapLineClick} /> :
<TopologyComponent
topologyData={topologyData}
nodeSelectionLinkChanged={this.nodeSelectionLinkChanged}
nodeChange={this.nodeChange}
/>
}
</div>
</div> */
}
<
/div
>
<
/div
>
<
/div
>
<
/div
>
);
);
}
}
}
}
VirtualCloudPlatform
.
propTypes
=
{
VirtualCloudPlatform
.
propTypes
=
{};
};
export
default
VirtualCloudPlatform
;
export
default
VirtualCloudPlatform
;
src/view/bizview/selfSupport/index.js
View file @
c8140d95
import
React
,
{
Component
}
from
'react'
;
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
classnames
from
'classnames'
;
import
classnames
from
'classnames'
;
import
{
message
}
from
'amos-framework'
;
import
{
message
}
from
'amos-framework'
;
import
dt2react
from
'dt2react'
;
import
dt2react
from
'dt2react'
;
import
AmosWebSocket
from
'amos-websocket'
;
import
AmosWebSocket
from
'amos-websocket'
;
import
TopologyComponent
from
'./TopologyComponent'
;
import
TopologyComponent
from
'./TopologyComponent'
;
import
TreeComponent
from
'./TreeComponent'
;
import
TreeComponent
from
'./TreeComponent'
;
import
mqtt
from
'mqtt'
;
import
{
getDeivceListAction
}
from
'./../../../services/selfServices'
;
import
*
as
endConf
from
'amos-processor/lib/config/endconf'
;
import
{
getTopoTreeByTypeAction
,
getNodesByTypeAndTreeIdAction
,
saveNodesByTypeUrlAction
}
from
'./../../../services/monitorService'
;
import
{
getSelfTopoTreeAction
,
getSelfTopographyAction
,
updateSelfTopographyAction
,
getTopographyEventsAction
,
getDeivceListAction
}
from
'./../../../services/selfServices'
;
// import AmosGridTable from './../../bizview/common/tableComponent/table/AmosGridTable';
import
AmosGridTable
from
'./../../component/table/table/AmosGridTable'
;
import
AmosGridTable
from
'./../../component/table/table/AmosGridTable'
;
import
SysWsURL
from
'./../../../consts/wsUrlConsts'
;
import
SysWsURL
from
'./../../../consts/wsUrlConsts'
;
import
{
getTypeBySystem
}
from
'./../../bank/financialCityLan/conf'
;
const
AmosConfig
=
endConf
.
AmosConfig
;
const
mqttURI
=
AmosConfig
.
wsURI
.
mqttURI
;
const
options
=
{
//默认 30 * 1000毫秒,收到 CONNACK 之前等待的时间,即连接超时时间。
connectTimeout
:
40000
,
// 客户端 ID,随机生成
clientId
:
'bank_self_mqtt'
+
Math
.
random
().
toString
(
16
).
substr
(
2
,
8
),
clean
:
true
,
//默认 1000 毫秒,两次重新连接之间的间隔,客户端 ID 重复、认证失败等客户端会重新连接;
reconnectPeriod
:
1000
*
50
}
let
client
=
mqtt
.
connect
(
mqttURI
,
options
)
const
checkListColumns
=
(
self
)
=>
{
const
checkListColumns
=
(
self
)
=>
{
return
[
return
[
...
@@ -87,6 +71,7 @@ const checkListColumns = (self) => {
...
@@ -87,6 +71,7 @@ const checkListColumns = (self) => {
//偏移
//偏移
const
offsetHeight
=
110
;
const
offsetHeight
=
110
;
const
defaultHeight
=
450
;
const
defaultHeight
=
450
;
const
type
=
getTypeBySystem
(
'SelfSupport'
);
class
SelfSupport
extends
Component
{
class
SelfSupport
extends
Component
{
...
@@ -121,106 +106,20 @@ class SelfSupport extends Component {
...
@@ -121,106 +106,20 @@ class SelfSupport extends Component {
selectedRows
:
[],
selectedRows
:
[],
selectedRowKeys
:
[],
selectedRowKeys
:
[],
pagination
:
true
,
pagination
:
true
,
isChecked
:
false
,
isChecked
:
false
};
};
this
.
updateTopologyData
=
{};
this
.
updateTopologyData
=
{};
this
.
mapView
=
true
;
this
.
mapView
=
true
;
}
}
componentWillMount
()
{
componentWillMount
()
{
}
componentDidMount
()
{
this
.
initData
();
if
(
this
.
props
.
location
.
state
)
{
this
.
state
.
cityLine
=
JSON
.
parse
(
this
.
props
.
location
.
state
.
cityLine
);
this
.
viewlineItem
();
}
// this.receivcemqtt();
}
}
componentWillReceiveProps
(
nextProps
)
{
if
(
nextProps
.
location
.
state
)
{
this
.
state
.
cityLine
=
JSON
.
parse
(
nextProps
.
location
.
state
.
cityLine
);
this
.
viewlineItem
();
}
}
receivcemqtt
=
()
=>
{
client
.
on
(
'connect'
,
(
e
)
=>
{
console
.
log
(
"连接成功!!!"
)
//QoS0,最多一次送达。也就是发出去就fire掉,没有后面的事情了。
// QoS1,至少一次送达。发出去之后必须等待ack,没有ack,就要找时机重发
// QoS2,准确一次送达。消息id将拥有一个简单的生命周期。
// client.subscribe('bank/equipment/ping', { qos: 1 }, (res) => {
client
.
subscribe
(
'bank/equipment/ping'
,
{
qos
:
1
},
(
res
)
=>
{
if
(
!
res
)
{
console
.
log
(
'订阅成功'
);
}
else
{
console
.
log
(
'订阅失败'
)
}
});
// 接收消息处理
client
.
on
(
'message'
,
(
topic
,
message
)
=>
{
// console.log('收到来自', topic, '的消息', message.toString());
const
{
selectedKeys
}
=
this
.
state
;
this
.
initTopologyData
(
selectedKeys
[
0
],
''
);
});
// 断开发起重连
client
.
on
(
'reconnect'
,
(
error
)
=>
{
console
.
log
(
'正在重连:'
,
error
)
});
// 链接异常处理
client
.
on
(
'error'
,
(
error
)
=>
{
console
.
log
(
'连接失败:'
,
error
)
});
});
}
//点击地图线操作
viewlineItem
=
()
=>
{
let
{
treeData
,
selectedKeys
,
cityLine
}
=
this
.
state
;
if
(
cityLine
)
{
let
currentLine
=
`
${
cityLine
.
citys
[
0
]}
-
${
cityLine
.
citys
[
1
]}
`
;
for
(
let
i
=
0
;
i
<
treeData
.
length
;
i
++
)
{
let
dataItem
=
treeData
[
i
].
children
;
for
(
let
j
=
0
;
j
<
dataItem
.
length
;
j
++
)
{
if
(
dataItem
[
j
].
name
===
currentLine
)
{
// selectedKeys.push(dataItem[j].id)
selectedKeys
=
[
dataItem
[
j
].
id
];
console
.
log
(
selectedKeys
);
if
(
selectedKeys
[
0
])
{
this
.
initTopologyData
(
selectedKeys
[
0
]);
}
this
.
setState
({
selectedKeys
});
}
}
}
}
}
componentWillUnmount
()
{
window
.
localStorage
.
removeItem
(
'cityLine'
);
}
getPanelHeight
=
()
=>
{
let
tableNode
=
this
.
tableNode
;
let
tableLocation
=
dt2react
.
getOffset
(
tableNode
)
||
{};
return
(
tableLocation
!==
undefined
?
tableLocation
.
height
-
offsetHeight
:
defaultHeight
)
-
30
;
};
// 数据初始化
// 数据初始化
// eslint-disable-next-line react/sort-comp
initData
=
()
=>
{
initData
=
()
=>
{
let
expandedKeysData
=
[];
let
expandedKeysData
=
[];
get
SelfTopoTreeAction
(
).
then
(
data
=>
{
get
TopoTreeByTypeAction
(
type
).
then
(
data
=>
{
data
.
map
(
item
=>
{
data
.
map
(
item
=>
{
expandedKeysData
.
push
(
item
.
id
);
expandedKeysData
.
push
(
item
.
id
);
});
});
...
@@ -231,15 +130,25 @@ class SelfSupport extends Component {
...
@@ -231,15 +130,25 @@ class SelfSupport extends Component {
selectedKeys
:
[
data
[
0
].
id
],
selectedKeys
:
[
data
[
0
].
id
],
expandedKeys
:
expandedKeysData
,
expandedKeys
:
expandedKeysData
,
pHeight
:
this
.
getPanelHeight
()
pHeight
:
this
.
getPanelHeight
()
},
()
=>
{
this
.
viewlineItem
();
});
});
});
});
}
}
componentDidMount
()
{
this
.
initData
();
}
getPanelHeight
=
()
=>
{
let
tableNode
=
this
.
tableNode
;
let
tableLocation
=
dt2react
.
getOffset
(
tableNode
)
||
{};
return
(
tableLocation
!==
undefined
?
tableLocation
.
height
-
offsetHeight
:
defaultHeight
)
-
30
;
};
// 拓扑图数据初始化
// 拓扑图数据初始化
initTopologyData
=
(
id
,
value
=
''
)
=>
{
initTopologyData
=
(
id
,
value
=
''
)
=>
{
get
SelfTopographyAction
(
id
).
then
(
data
=>
{
get
NodesByTypeAndTreeIdAction
(
type
,
id
).
then
(
data
=>
{
if
(
value
===
'refresh'
)
{
if
(
value
===
'refresh'
)
{
message
.
success
(
'拓扑图刷新成功!'
);
message
.
success
(
'拓扑图刷新成功!'
);
}
}
...
@@ -255,23 +164,12 @@ class SelfSupport extends Component {
...
@@ -255,23 +164,12 @@ class SelfSupport extends Component {
});
});
}
}
// // 拓扑图事件数据初始化
// initTopologyEventData = () => {
// debugger
// getDeivceListAction().then(data => {
// this.setState({
// tableData: data
// });
// });
// }
/**
/**
* 获取表格所选则的行数据
* 获取表格所选则的行数据
*/
*/
getSelectedRows
=
(
selectedRows
,
selectedRowKeys
)
=>
{
getSelectedRows
=
(
selectedRows
,
selectedRowKeys
)
=>
{
this
.
setState
({
selectedRows
,
selectedRowKeys
});
this
.
setState
({
selectedRows
,
selectedRowKeys
});
let
{
riskSourceId
,
equipmentId
,
callBack
}
=
this
.
props
;
// callBack(selectedRowKeys,riskSourceId,equipmentId);
};
};
...
@@ -286,14 +184,6 @@ class SelfSupport extends Component {
...
@@ -286,14 +184,6 @@ class SelfSupport extends Component {
}
}
}
}
mapLineClick
=
(
data
)
=>
{
window
.
localStorage
.
removeItem
(
'cityLine'
);
this
.
state
.
cityLine
=
data
;
this
.
viewlineItem
();
}
// 树展开
// 树展开
onExpand
=
(
expandedKeys
)
=>
{
onExpand
=
(
expandedKeys
)
=>
{
this
.
setState
({
this
.
setState
({
...
@@ -314,20 +204,6 @@ class SelfSupport extends Component {
...
@@ -314,20 +204,6 @@ class SelfSupport extends Component {
});
});
}
}
// // 选择节点连线
// nodeSelectionLinkChanged = (node) => {
// if (node.isSelected) {
// // 点击选择节点
// if (node.data.clickable) {
// this.initTopologyData(node.data.treeNodeId);
// this.setState({
// selectedKeys: [node.data.treeNodeId]
// });
// }
// // console.log(node.data);
// }
// }
// 选择节点
// 选择节点
nodeSelectionChanged
=
(
e
)
=>
{
nodeSelectionChanged
=
(
e
)
=>
{
// console.log('e',e);
// console.log('e',e);
...
@@ -349,7 +225,7 @@ class SelfSupport extends Component {
...
@@ -349,7 +225,7 @@ class SelfSupport extends Component {
nodeData
:
nodeDataArray
,
nodeData
:
nodeDataArray
,
linkData
:
linkDataArray
linkData
:
linkDataArray
};
};
updateSelfTopographyAction
(
params
).
then
(
data
=>
{
saveNodesByTypeUrlAction
(
type
,
params
).
then
(
data
=>
{
message
.
success
(
'拓扑图保存成功!'
);
message
.
success
(
'拓扑图保存成功!'
);
});
});
}
}
...
@@ -424,7 +300,7 @@ class SelfSupport extends Component {
...
@@ -424,7 +300,7 @@ class SelfSupport extends Component {
}
}
}
}
const
{
topologyData
}
=
this
.
state
;
const
{
topologyData
}
=
this
.
state
;
const
{
tableData
,
isTableDisplay
,
pHeight
,
activeView
}
=
this
.
state
;
const
{
tableData
,
isTableDisplay
,
activeView
}
=
this
.
state
;
console
.
log
(
topologyData
);
console
.
log
(
topologyData
);
return
(
return
(
<
div
className
=
"self-wrapper"
>
<
div
className
=
"self-wrapper"
>
...
@@ -485,36 +361,14 @@ class SelfSupport extends Component {
...
@@ -485,36 +361,14 @@ class SelfSupport extends Component {
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
{
/* <div className={`middle-content ${isTreeDisplay && isTableDisplay?'':'only-middle'}`}>
<div className="paslogy-content">
{
this.mapView ? <IndexChart mapLineClick={this.mapLineClick} /> :
<TopologyComponent
topologyData={topologyData}
nodeSelectionLinkChanged={this.nodeSelectionLinkChanged}
nodeChange={this.nodeChange}
/>
}
</div>
</div> */
}
<
div
className
=
{
classnames
({
'right-content'
:
isTableDisplay
,
'right-content-close'
:
!
isTableDisplay
})}
>
<
div
className
=
{
classnames
({
'right-content'
:
isTableDisplay
,
'right-content-close'
:
!
isTableDisplay
})}
>
<
div
className
=
"devive-title"
>
<
div
className
=
"devive-title"
>
日志
日志
<
/div
>
<
/div
>
<
div
className
=
"device-lists"
ref
=
{
node
=>
this
.
tableNode
=
node
}
>
<
div
className
=
"device-lists"
ref
=
{
node
=>
this
.
tableNode
=
node
}
>
{
/* <AmosGridTable
columns={checkListColumns(this)}
getTableDataAction={()=>{}}
callBack={()=>{}}
isPageable={true}
isChecked={false}
dataList={tableData}
//dataList={data}
getPanelHeight={this.getPanelHeight}
pHeight={pHeight}
/>
</div> */
}
<
AmosGridTable
<
AmosGridTable
columns
=
{
checkListColumns
(
this
)}
columns
=
{
checkListColumns
(
this
)}
callBack
=
{
this
.
reload
}
callBack
=
{
this
.
reload
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment