Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
bi
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
张苑
bi
Commits
56017eec
Commit
56017eec
authored
Sep 28, 2021
by
莫坚培
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 增加变量值缓存
parent
3f349bc5
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
251 additions
and
177 deletions
+251
-177
dashboard.js
js/dashboard.js
+250
-176
tokenSetting.js
js/tokenSetting.js
+1
-1
No files found.
js/dashboard.js
View file @
56017eec
...
@@ -32,6 +32,10 @@ let requestLoopWaitingTime = 1000 // 每一个请求的间隔时间,减轻服
...
@@ -32,6 +32,10 @@ let requestLoopWaitingTime = 1000 // 每一个请求的间隔时间,减轻服
let
requestLoopGroupSliceNum
=
30
// 请求池requestLoopDataPool分组,每组多少个
let
requestLoopGroupSliceNum
=
30
// 请求池requestLoopDataPool分组,每组多少个
let
requestLoopGroupSliceRes
=
[]
// 分组结果
let
requestLoopGroupSliceRes
=
[]
// 分组结果
let
requestLoopVaribleCache
=
{}
// 每一批(一批多组)轮询的变量数据缓存。
// 背景是同一个变量,可能会在多个组都有请求,后面的请求拿到的结果可能跟前面拿到的结果不一致,导致明明同一个变量,但是显示不同的值
// 这里的处理是同一批次的请求,每个变量只取第一次的结果
// 添加定时器
// 添加定时器
var
timer1
=
null
var
timer1
=
null
var
app
=
{
var
app
=
{
...
@@ -938,6 +942,7 @@ function startRequestLoop() {
...
@@ -938,6 +942,7 @@ function startRequestLoop() {
}
}
// 每一轮都把标记清除
// 每一轮都把标记清除
requestLoopVaribleCache
=
{}
Object
.
values
(
Controls
.
dataPoolMap
).
forEach
(
item
=>
{
Object
.
values
(
Controls
.
dataPoolMap
).
forEach
(
item
=>
{
item
.
isHasMeetVariable
=
false
item
.
isHasMeetVariable
=
false
})
})
...
@@ -1072,6 +1077,15 @@ function loopRenderBarchart(poolData, resData, resCode) {
...
@@ -1072,6 +1077,15 @@ function loopRenderBarchart(poolData, resData, resCode) {
return
i
return
i
})
})
// 取对应变量缓存过的值
let
cacheKey
=
`
${
k
.
CheckData
.
equipmentId
||
k
.
CheckData
.
equipmentid
}
-
${
k
.
CheckData
.
id
}
`
if
(
requestLoopVaribleCache
[
cacheKey
]
===
undefined
)
{
requestLoopVaribleCache
[
cacheKey
]
=
dataList
}
else
{
console
.
log
(
'柱状图缓存'
,
requestLoopVaribleCache
[
cacheKey
])
dataList
=
requestLoopVaribleCache
[
cacheKey
]
}
let
obj
=
{
let
obj
=
{
name
:
variablesList
[
ki
].
DimensionName
,
name
:
variablesList
[
ki
].
DimensionName
,
data
:
dataList
,
data
:
dataList
,
...
@@ -1160,6 +1174,15 @@ function loopRenderLinechart(poolData, resData, resCode) {
...
@@ -1160,6 +1174,15 @@ function loopRenderLinechart(poolData, resData, resCode) {
return
item1
return
item1
})
})
// 取对应变量缓存过的值
let
cacheKey
=
`
${
k
.
CheckData
.
equipmentId
||
k
.
CheckData
.
equipmentid
}
-
${
k
.
CheckData
.
id
}
`
if
(
requestLoopVaribleCache
[
cacheKey
]
===
undefined
)
{
requestLoopVaribleCache
[
cacheKey
]
=
dataList
}
else
{
console
.
log
(
'折线图缓存'
,
requestLoopVaribleCache
[
cacheKey
])
dataList
=
requestLoopVaribleCache
[
cacheKey
]
}
serireData
.
push
({
serireData
.
push
({
name
:
chartOption
.
legend
[
0
].
data
[
ki
],
name
:
chartOption
.
legend
[
0
].
data
[
ki
],
data
:
dataList
,
data
:
dataList
,
...
@@ -1192,6 +1215,33 @@ function loopRenderLinechart(poolData, resData, resCode) {
...
@@ -1192,6 +1215,33 @@ function loopRenderLinechart(poolData, resData, resCode) {
}
}
}
}
// 把折线图、柱状图的请求数据推到请求池
function
handleRequestDataLineAndBar
(
label
,
item
,
index
)
{
let
lineAndBarItem
=
Controls
.
Data
[
label
].
find
(
dItem
=>
dItem
.
name
===
item
.
Name
)
if
(
lineAndBarItem
&&
lineAndBarItem
.
defaultDataConfig
.
datatype
===
'实时数据'
)
{
let
list
=
lineAndBarItem
.
option
?.
Variables
||
[]
requestLoopDataPool
.
push
({
urlType
:
'limit'
,
assemblyKey
:
`
${
index
}
-
${
item
.
Name
}
`
,
limitData
:
{
limit
:
lineAndBarItem
.
DataCount
,
variableSearchList
:
list
.
map
(
lItem
=>
{
return
{
deviceId
:
lItem
.
CheckData
.
equipmentId
||
lItem
.
CheckData
.
equipmentid
,
variableId
:
lItem
.
CheckData
.
id
,
variableName
:
lItem
.
CheckData
.
name
}
})
}
})
Controls
.
dataPoolMap
[
index
]
=
lineAndBarItem
Controls
.
dataPoolMap
[
index
].
ControlType
=
item
.
ControlType
Controls
.
dataPoolMap
[
index
].
dataPoolMapIndex
=
index
}
}
// 渲染仪表盘
// 渲染仪表盘
function
loopRenderDashboardchart
(
poolData
,
resData
,
resCode
)
{
function
loopRenderDashboardchart
(
poolData
,
resData
,
resCode
)
{
// 清空数据
// 清空数据
...
@@ -1215,6 +1265,15 @@ function loopRenderDashboardchart(poolData, resData, resCode) {
...
@@ -1215,6 +1265,15 @@ function loopRenderDashboardchart(poolData, resData, resCode) {
if
(
resValue
)
{
if
(
resValue
)
{
let
value
=
resValue
[
variableInfo
.
CheckData
.
equipmentId
||
variableInfo
.
CheckData
.
equipmenid
][
variableInfo
.
CheckData
.
name
]
let
value
=
resValue
[
variableInfo
.
CheckData
.
equipmentId
||
variableInfo
.
CheckData
.
equipmenid
][
variableInfo
.
CheckData
.
name
]
// 取对应变量缓存过的值
let
cacheKey
=
`
${
variableInfo
.
CheckData
.
equipmentId
||
variableInfo
.
CheckData
.
equipmentid
}
-
${
variableInfo
.
CheckData
.
id
}
`
if
(
requestLoopVaribleCache
[
cacheKey
]
===
undefined
)
{
requestLoopVaribleCache
[
cacheKey
]
=
value
}
else
{
console
.
log
(
'仪表盘缓存'
,
requestLoopVaribleCache
[
cacheKey
])
value
=
requestLoopVaribleCache
[
cacheKey
]
}
serireData
.
push
({
serireData
.
push
({
value
value
})
})
...
@@ -1227,6 +1286,28 @@ function loopRenderDashboardchart(poolData, resData, resCode) {
...
@@ -1227,6 +1286,28 @@ function loopRenderDashboardchart(poolData, resData, resCode) {
}
}
}
}
// 把仪表盘的请求数据推到请求池
function
handleRequestDataDashboard
(
item
,
index
)
{
let
dashboardItem
=
Controls
.
Data
.
DashBoardChartItemList
.
find
(
dItem
=>
dItem
.
name
===
item
.
Name
)
if
(
dashboardItem
&&
dashboardItem
.
defaultDataConfig
.
datatype
===
'实时数据'
)
{
let
VariableCheckDataObj
=
dashboardItem
.
option
?.
Variable
?.
CheckData
||
{}
requestLoopDataPool
.
push
({
urlType
:
'pieChartOrPanel'
,
assemblyKey
:
`
${
index
}
-
${
item
.
Name
}
`
,
pieChartOrPanel
:
[{
deviceId
:
VariableCheckDataObj
.
equipmentId
||
VariableCheckDataObj
.
equipmentid
,
variableId
:
VariableCheckDataObj
.
id
,
variableCode
:
VariableCheckDataObj
.
name
}]
})
Controls
.
dataPoolMap
[
index
]
=
dashboardItem
Controls
.
dataPoolMap
[
index
].
ControlType
=
item
.
ControlType
Controls
.
dataPoolMap
[
index
].
dataPoolMapIndex
=
index
}
}
// 渲染饼图
// 渲染饼图
function
loopRenderPiechart
(
poolData
,
resData
,
resCode
)
{
function
loopRenderPiechart
(
poolData
,
resData
,
resCode
)
{
// 清空数据
// 清空数据
...
@@ -1252,6 +1333,15 @@ function loopRenderPiechart(poolData, resData, resCode) {
...
@@ -1252,6 +1333,15 @@ function loopRenderPiechart(poolData, resData, resCode) {
variablesList
.
forEach
((
vItem
,
vIndex
)
=>
{
variablesList
.
forEach
((
vItem
,
vIndex
)
=>
{
let
value
=
resValue
[
vItem
.
CheckData
.
equipmentId
||
vItem
.
CheckData
.
equipmentid
][
vItem
.
CheckData
.
name
]
let
value
=
resValue
[
vItem
.
CheckData
.
equipmentId
||
vItem
.
CheckData
.
equipmentid
][
vItem
.
CheckData
.
name
]
value
&&
(
value
=
value
.
toFixed
(
vItem
.
d
||
0
))
value
&&
(
value
=
value
.
toFixed
(
vItem
.
d
||
0
))
// 取对应变量缓存过的值
let
cacheKey
=
`
${
vItem
.
CheckData
.
equipmentId
||
vItem
.
CheckData
.
equipmentid
}
-
${
vItem
.
CheckData
.
id
}
`
if
(
requestLoopVaribleCache
[
cacheKey
]
===
undefined
)
{
requestLoopVaribleCache
[
cacheKey
]
=
value
}
else
{
console
.
log
(
'饼图缓存'
,
requestLoopVaribleCache
[
cacheKey
])
value
=
requestLoopVaribleCache
[
cacheKey
]
}
serireData
.
push
({
serireData
.
push
({
value
,
value
,
name
:
chartOption
.
legend
[
0
].
data
[
vIndex
],
name
:
chartOption
.
legend
[
0
].
data
[
vIndex
],
...
@@ -1271,6 +1361,33 @@ function loopRenderPiechart(poolData, resData, resCode) {
...
@@ -1271,6 +1361,33 @@ function loopRenderPiechart(poolData, resData, resCode) {
}
}
}
}
// 把饼图的请求数据推到请求池
function
handleRequestDataPie
(
item
,
index
)
{
let
pieItem
=
Controls
.
Data
.
PieChartItemList
.
find
(
dItem
=>
dItem
.
name
===
item
.
Name
)
if
(
pieItem
&&
pieItem
.
defaultDataConfig
.
datatype
===
'实时数据'
)
{
let
list
=
pieItem
.
option
?.
Variables
||
[]
let
pieChartOrPanel
=
list
.
map
(
variableItem
=>
{
let
vc
=
variableItem
.
CheckData
return
{
deviceId
:
vc
.
equipmentId
||
vc
.
equipmentid
,
variableId
:
vc
.
id
,
variableCode
:
vc
.
name
}
})
requestLoopDataPool
.
push
({
urlType
:
'pieChartOrPanel'
,
assemblyKey
:
`
${
index
}
-
${
item
.
Name
}
`
,
pieChartOrPanel
})
Controls
.
dataPoolMap
[
index
]
=
pieItem
Controls
.
dataPoolMap
[
index
].
ControlType
=
item
.
ControlType
Controls
.
dataPoolMap
[
index
].
dataPoolMapIndex
=
index
}
}
// 渲染动态图片、动态文本
// 渲染动态图片、动态文本
function
loopRenderImage
(
poolData
,
resData
,
label
)
{
function
loopRenderImage
(
poolData
,
resData
,
label
)
{
if
(
poolData
.
isHasMeetVariable
)
{
if
(
poolData
.
isHasMeetVariable
)
{
...
@@ -1281,30 +1398,39 @@ function loopRenderImage(poolData, resData, label) {
...
@@ -1281,30 +1398,39 @@ function loopRenderImage(poolData, resData, label) {
image
:
'presetText'
image
:
'presetText'
}
}
let
flagItem
=
poolData
.
DataList
.
find
((
item
,
index
)
=>
{
let
flagItem
=
null
poolData
.
DataList
.
forEach
((
dlItem
,
dlIndex
)
=>
{
// 拼装跟返回的数据一样的key,然后找到对应的数据
// 拼装跟返回的数据一样的key,然后找到对应的数据
let
key
=
`
${
poolData
.
dataPoolMapIndex
}
-
${
index
}
-
${
i
tem
.
variable
}
`
let
key
=
`
${
poolData
.
dataPoolMapIndex
}
-
${
dlIndex
}
-
${
dlI
tem
.
variable
}
`
if
(
!
resData
.
hasOwnProperty
(
key
)
||
Object
.
prototype
.
toString
.
call
(
JSON
.
parse
(
resData
[
key
]))
!==
'[object Object]'
)
{
if
(
!
resData
.
hasOwnProperty
(
key
)
||
Object
.
prototype
.
toString
.
call
(
JSON
.
parse
(
resData
[
key
]))
!==
'[object Object]'
)
{
return
false
return
false
}
}
let
itemResData
=
JSON
.
parse
(
resData
[
key
])
let
itemResData
=
JSON
.
parse
(
resData
[
key
])
let
itemValue
=
itemResData
[
item
.
variable
]
let
itemValue
=
itemResData
&&
itemResData
[
dlItem
.
variable
]
let
flag
=
transFlag
(
item
.
flag
)
if
(
!
itemResData
)
{
// 取对应变量缓存过的值
return
false
let
cacheKey
=
`
${
dlItem
.
CheckData
.
equipmentId
||
dlItem
.
CheckData
.
equipmentid
}
-
${
dlItem
.
CheckData
.
id
}
`
if
(
requestLoopVaribleCache
[
cacheKey
]
===
undefined
)
{
requestLoopVaribleCache
[
cacheKey
]
=
itemValue
}
else
{
itemValue
=
requestLoopVaribleCache
[
cacheKey
]
}
}
return
(
let
flag
=
transFlag
(
dlItem
.
flag
)
(
flag
===
'='
&&
itemValue
==
item
[
labelMap
[
label
]])
||
let
isMeet
=
(
(
flag
===
'>='
&&
itemValue
>=
item
[
labelMap
[
label
]])
||
(
flag
===
'='
&&
itemValue
==
dlItem
[
labelMap
[
label
]])
||
(
flag
===
'<='
&&
itemValue
<=
item
[
labelMap
[
label
]])
||
(
flag
===
'>='
&&
itemValue
>=
dlItem
[
labelMap
[
label
]])
||
(
flag
===
'>'
&&
itemValue
>
item
[
labelMap
[
label
]])
||
(
flag
===
'<='
&&
itemValue
<=
dlItem
[
labelMap
[
label
]])
||
(
flag
===
'<'
&&
itemValue
<
item
[
labelMap
[
label
]])
||
(
flag
===
'>'
&&
itemValue
>
dlItem
[
labelMap
[
label
]])
||
(
flag
===
'!='
&&
itemValue
!=
item
[
labelMap
[
label
]])
(
flag
===
'<'
&&
itemValue
<
dlItem
[
labelMap
[
label
]])
||
(
flag
===
'!='
&&
itemValue
!=
dlItem
[
labelMap
[
label
]])
)
)
if
(
isMeet
&&
!
flagItem
)
{
flagItem
=
dlItem
}
})
})
if
(
!
flagItem
)
{
if
(
!
flagItem
)
{
...
@@ -1318,6 +1444,7 @@ function loopRenderImage(poolData, resData, label) {
...
@@ -1318,6 +1444,7 @@ function loopRenderImage(poolData, resData, label) {
}
}
return
return
}
}
// 只要有一个满足条件,则渲染该条件
// 只要有一个满足条件,则渲染该条件
if
(
label
===
'image'
)
{
if
(
label
===
'image'
)
{
$
(
`#image-img
${
poolData
.
dataPoolMapIndex
}
`
).
attr
(
'src'
,
flagItem
.
img
)
$
(
`#image-img
${
poolData
.
dataPoolMapIndex
}
`
).
attr
(
'src'
,
flagItem
.
img
)
...
@@ -1326,80 +1453,53 @@ function loopRenderImage(poolData, resData, label) {
...
@@ -1326,80 +1453,53 @@ function loopRenderImage(poolData, resData, label) {
$
(
`#dynamictext-text
${
poolData
.
dataPoolMapIndex
}
`
).
text
(
flagItem
.
presetText
)
$
(
`#dynamictext-text
${
poolData
.
dataPoolMapIndex
}
`
).
text
(
flagItem
.
presetText
)
$
(
`#dynamictext-text
${
poolData
.
dataPoolMapIndex
}
`
).
css
(
'color'
,
flagItem
.
backColor
)
$
(
`#dynamictext-text
${
poolData
.
dataPoolMapIndex
}
`
).
css
(
'color'
,
flagItem
.
backColor
)
}
}
poolData
.
isHasMeetVariable
=
true
poolData
.
isHasMeetVariable
=
true
}
}
// 渲染
数值显示、读写框
// 渲染
矩形、圆形状态灯 label: commonlamp矩形状态灯 ellipselamp圆形状态灯
function
loopRender
Datatextblock
(
poolData
,
resData
,
label
)
{
function
loopRender
Lamp
(
poolData
,
resData
,
label
)
{
if
(
poolData
.
isHasMeetVariable
)
{
if
(
poolData
.
isHasMeetVariable
)
{
return
return
}
}
let
dight
=
poolData
.
DecimalDigits
===
null
?
0
:
poolData
.
DecimalDigits
let
flagItem
=
null
let
valueInfo
=
JSON
.
parse
(
resData
[
Object
.
keys
(
resData
)[
0
]])
let
isSameGroup
=
true
let
resDataValue
=
valueInfo
[
poolData
.
CheckData
.
name
]
if
(
!
[
'number'
,
'string'
].
includes
(
typeof
resDataValue
))
{
poolData
.
DataList
.
forEach
((
dlItem
,
dlIndex
)
=>
{
let
key
=
`
${
poolData
.
dataPoolMapIndex
}
-
${
dlIndex
}
-
${
dlItem
.
variable
}
`
// 只要DataList中有一个变量没有在resData找到对应的key,则说明这个组件的请求数据不是在同一组的
if
(
!
resData
.
hasOwnProperty
(
key
)
||
Object
.
prototype
.
toString
.
call
(
JSON
.
parse
(
resData
[
key
]))
!==
'[object Object]'
)
{
isSameGroup
=
false
return
return
}
}
let
flagItem
=
poolData
.
DataList
.
find
(
item
=>
{
let
itemResData
=
JSON
.
parse
(
resData
[
key
])
let
flag
=
transFlag
(
item
.
flag
)
let
itemValue
=
itemResData
&&
itemResData
[
dlItem
.
variable
]
return
(
(
flag
===
'='
&&
resDataValue
==
item
.
num
)
||
(
flag
===
'>='
&&
resDataValue
>=
item
.
num
)
||
(
flag
===
'<='
&&
resDataValue
<=
item
.
num
)
||
(
flag
===
'>'
&&
resDataValue
>
item
.
num
)
||
(
flag
===
'<'
&&
resDataValue
<
item
.
num
)
||
(
flag
===
'!='
&&
item
.
num
!=
resDataValue
)
)
})
if
(
!
flagItem
)
{
// 取对应变量缓存过的值
// 给读写框赋值、默认颜色
let
cacheKey
=
`
${
dlItem
.
CheckData
.
equipmentId
||
dlItem
.
CheckData
.
equipmentid
}
-
${
dlItem
.
CheckData
.
id
}
`
if
(
label
===
'datatextblock'
)
{
if
(
requestLoopVaribleCache
[
cacheKey
]
===
undefined
)
{
resDataValue
=
resDataValue
.
toFixed
(
Number
(
dight
))
requestLoopVaribleCache
[
cacheKey
]
=
itemValue
$
(
`#datatextblock
${
poolData
.
dataPoolMapIndex
}
`
).
text
(
resDataValue
)
$
(
`#datatextblock
${
poolData
.
dataPoolMapIndex
}
`
).
css
(
'color'
,
'#000'
)
}
else
{
}
else
{
$
(
`#rwtextbox-text
${
poolData
.
dataPoolMapIndex
}
`
).
val
(
resDataValue
)
itemValue
=
requestLoopVaribleCache
[
cacheKey
]
$
(
`#rwtextbox-text
${
poolData
.
dataPoolMapIndex
}
`
).
css
(
'color'
,
'#000'
)
}
return
}
// 只要有一个满足条件,则渲染该条件的颜色
if
(
flagItem
&&
poolData
.
conCheck
)
{
$
(
`#
${
label
===
'datatextblock'
?
'datatextblock'
:
'rwtextbox-text'
}${
poolData
.
dataPoolMapIndex
}
`
).
css
(
'color'
,
flagItem
.
backColor
)
poolData
.
isHasMeetVariable
=
true
}
}
}
// 渲染矩形、圆形状态灯 label: commonlamp矩形状态灯 ellipselamp圆形状态灯
let
flag
=
transFlag
(
dlItem
.
flag
)
function
loopRenderLamp
(
poolData
,
resData
,
label
)
{
if
(
poolData
.
isHasMeetVariable
)
{
return
}
let
flagItem
=
poolData
.
DataList
.
find
((
item
,
index
)
=>
{
let
isMeet
=
(
let
key
=
`
${
poolData
.
dataPoolMapIndex
}
-
${
index
}
-
${
item
.
variable
}
`
(
flag
===
'='
&&
itemValue
==
dlItem
.
num
)
||
(
flag
===
'>='
&&
itemValue
>=
dlItem
.
num
)
||
(
flag
===
'<='
&&
itemValue
<=
dlItem
.
num
)
||
(
flag
===
'>'
&&
itemValue
>
dlItem
.
num
)
||
(
flag
===
'<'
&&
itemValue
<
dlItem
.
num
)
||
(
flag
===
'!='
&&
itemValue
!=
dlItem
.
num
)
)
if
(
!
resData
.
hasOwnProperty
(
key
)
||
Object
.
prototype
.
toString
.
call
(
JSON
.
parse
(
resData
[
key
]))
!==
'[object Object]'
)
{
if
(
isMeet
&&
!
flagItem
)
{
return
false
flagItem
=
dlItem
}
}
let
itemResData
=
JSON
.
parse
(
resData
[
key
])
let
itemValue
=
itemResData
[
item
.
variable
]
let
flag
=
transFlag
(
item
.
flag
)
return
(
(
flag
===
'='
&&
itemValue
==
item
.
num
)
||
(
flag
===
'>='
&&
itemValue
>=
item
.
num
)
||
(
flag
===
'<='
&&
itemValue
<=
item
.
num
)
||
(
flag
===
'>'
&&
itemValue
>
item
.
num
)
||
(
flag
===
'<'
&&
itemValue
<
item
.
num
)
||
(
flag
===
'!='
&&
itemValue
!=
item
.
num
)
)
})
})
if
(
!
flagItem
)
{
if
(
!
flagItem
)
{
...
@@ -1412,6 +1512,7 @@ function loopRenderLamp(poolData, resData, label) {
...
@@ -1412,6 +1512,7 @@ function loopRenderLamp(poolData, resData, label) {
}
}
return
return
}
}
// 只要有一个满足条件,则渲染该条件的颜色
// 只要有一个满足条件,则渲染该条件的颜色
$
(
`#
${
label
}${
poolData
.
dataPoolMapIndex
}
`
).
css
(
'background-color'
,
flagItem
.
backColor
)
$
(
`#
${
label
}${
poolData
.
dataPoolMapIndex
}
`
).
css
(
'background-color'
,
flagItem
.
backColor
)
if
(
flagItem
.
flashing
)
{
if
(
flagItem
.
flashing
)
{
...
@@ -1419,54 +1520,8 @@ function loopRenderLamp(poolData, resData, label) {
...
@@ -1419,54 +1520,8 @@ function loopRenderLamp(poolData, resData, label) {
}
else
{
}
else
{
$
(
`#
${
label
}${
poolData
.
dataPoolMapIndex
}
`
).
removeClass
(
'animated-flash'
)
$
(
`#
${
label
}${
poolData
.
dataPoolMapIndex
}
`
).
removeClass
(
'animated-flash'
)
}
}
poolData
.
isHasMeetVariable
=
true
}
// 整合所有组件的请求数据,放到一个数组里
poolData
.
isHasMeetVariable
=
true
function
collectRequestLoopData
()
{
requestLoopDataPool
=
[]
Controls
.
dataPoolMap
=
{}
let
funMap
=
{
// 数值显示
datatextblock
:
(
item
,
index
)
=>
handleRequestDataText
(
item
,
index
),
// 读写框
rwtextbox
:
(
item
,
index
)
=>
handleRequestDataText
(
item
,
index
),
// 矩形状态灯
commonlamp
:
(
item
,
index
)
=>
handleRequestDataDataList
(
item
,
index
),
// 圆形状态灯
ellipselamp
:
(
item
,
index
)
=>
handleRequestDataDataList
(
item
,
index
),
// 动态图片
image
:
(
item
,
index
)
=>
handleRequestDataDataList
(
item
,
index
),
// 动态文本
dynamictext
:
(
item
,
index
)
=>
handleRequestDataDataList
(
item
,
index
),
// 饼图
piechart
:
(
item
,
index
)
=>
handleRequestDataPie
(
item
,
index
),
// 仪表盘
dashboardchart
:
(
item
,
index
)
=>
handleRequestDataDashboard
(
item
,
index
),
// 折线图
linechart
:
(
item
,
index
)
=>
handleRequestDataLineAndBar
(
'LineChartItemList'
,
item
,
index
),
// 柱状图
barchart
:
(
item
,
index
)
=>
handleRequestDataLineAndBar
(
'BarChartItemList'
,
item
,
index
)
}
Controls
.
ControlList
.
forEach
((
item
,
index
)
=>
{
funMap
[
item
.
ControlType
]
&&
funMap
[
item
.
ControlType
](
item
,
index
)
})
}
// 把有读写框、数值显示的请求数据推到请求池
function
handleRequestDataText
(
item
,
index
)
{
requestLoopDataPool
.
push
({
urlType
:
'status'
,
assemblyKey
:
`
${
index
}
-
${
item
.
CheckData
.
name
}
`
,
statusDataDTO
:
{
deviceId
:
item
.
CheckData
.
equipmentId
?
item
.
CheckData
.
equipmentId
:
item
.
CheckData
.
equipmentid
,
variableId
:
item
.
CheckData
.
id
,
variableCode
:
item
.
CheckData
.
name
}
})
Controls
.
dataPoolMap
[
index
]
=
item
Controls
.
dataPoolMap
[
index
].
dataPoolMapIndex
=
index
}
}
// 把有DataList的组件的请求数据推到请求池
// 把有DataList的组件的请求数据推到请求池
...
@@ -1480,7 +1535,7 @@ function handleRequestDataDataList(item, index) {
...
@@ -1480,7 +1535,7 @@ function handleRequestDataDataList(item, index) {
urlType
:
'status'
,
urlType
:
'status'
,
assemblyKey
:
`
${
index
}
-
${
dlIndex
}
-
${
dlItem
.
CheckData
.
name
}
`
,
assemblyKey
:
`
${
index
}
-
${
dlIndex
}
-
${
dlItem
.
CheckData
.
name
}
`
,
statusDataDTO
:
{
statusDataDTO
:
{
deviceId
:
dlItem
.
CheckData
.
equipmentId
?
dlItem
.
CheckData
.
equipmentId
:
dlItem
.
CheckData
.
equipmentid
,
deviceId
:
dlItem
.
CheckData
.
equipmentId
||
dlItem
.
CheckData
.
equipmentid
,
variableId
:
dlItem
.
CheckData
.
id
,
variableId
:
dlItem
.
CheckData
.
id
,
variableCode
:
dlItem
.
CheckData
.
name
variableCode
:
dlItem
.
CheckData
.
name
}
}
...
@@ -1489,83 +1544,102 @@ function handleRequestDataDataList(item, index) {
...
@@ -1489,83 +1544,102 @@ function handleRequestDataDataList(item, index) {
})
})
}
}
//
把饼图的请求数据推到请求池
//
渲染数值显示、读写框
function
handleRequestDataPie
(
item
,
index
)
{
function
loopRenderDatatextblock
(
poolData
,
resData
,
label
)
{
let
pieItem
=
Controls
.
Data
.
PieChartItemList
.
find
(
dItem
=>
dItem
.
name
===
item
.
Name
)
let
dight
=
poolData
.
DecimalDigits
===
null
?
0
:
poolData
.
DecimalDigits
if
(
pieItem
&&
pieItem
.
defaultDataConfig
.
datatype
===
'实时数据'
)
{
let
valueInfo
=
JSON
.
parse
(
resData
[
Object
.
keys
(
resData
)[
0
]])
let
list
=
pieItem
.
option
?.
Variables
||
[
]
let
resDataValue
=
valueInfo
[
poolData
.
CheckData
.
name
]
let
pieChartOrPanel
=
list
.
map
(
variableItem
=>
{
// 取对应变量缓存过的值
let
vc
=
variableItem
.
CheckData
let
cacheKey
=
`
${
poolData
.
CheckData
.
equipmentId
||
poolData
.
CheckData
.
equipmentid
}
-
${
poolData
.
CheckData
.
id
}
`
return
{
if
(
requestLoopVaribleCache
[
cacheKey
]
===
undefined
)
{
deviceId
:
vc
.
equipmentId
?
vc
.
equipmentId
:
vc
.
equipmentid
,
requestLoopVaribleCache
[
cacheKey
]
=
resDataValue
variableId
:
vc
.
id
,
}
else
{
variableCode
:
vc
.
name
resDataValue
=
requestLoopVaribleCache
[
cacheKey
]
}
}
})
requestLoopDataPool
.
push
({
urlType
:
'pieChartOrPanel'
,
assemblyKey
:
`
${
index
}
-
${
item
.
Name
}
`
,
pieChartOrPanel
})
Controls
.
dataPoolMap
[
index
]
=
pieItem
// 给读写框赋值、默认颜色
Controls
.
dataPoolMap
[
index
].
ControlType
=
item
.
ControlType
if
(
label
===
'datatextblock'
)
{
Controls
.
dataPoolMap
[
index
].
dataPoolMapIndex
=
index
resDataValue
=
resDataValue
.
toFixed
(
Number
(
dight
))
$
(
`#datatextblock
${
poolData
.
dataPoolMapIndex
}
`
).
text
(
resDataValue
)
$
(
`#datatextblock
${
poolData
.
dataPoolMapIndex
}
`
).
css
(
'color'
,
'#000'
)
}
else
{
$
(
`#rwtextbox-text
${
poolData
.
dataPoolMapIndex
}
`
).
val
(
resDataValue
)
$
(
`#rwtextbox-text
${
poolData
.
dataPoolMapIndex
}
`
).
css
(
'color'
,
'#000'
)
}
}
}
// 把仪表盘的请求数据推到请求池
if
(
!
[
'number'
,
'string'
].
includes
(
typeof
resDataValue
))
{
function
handleRequestDataDashboard
(
item
,
index
)
{
return
let
dashboardItem
=
Controls
.
Data
.
DashBoardChartItemList
.
find
(
dItem
=>
dItem
.
name
===
item
.
Name
)
}
if
(
dashboardItem
&&
dashboardItem
.
defaultDataConfig
.
datatype
===
'实时数据'
)
{
let
VariableCheckDataObj
=
dashboardItem
.
option
?.
Variable
?.
CheckData
||
{}
requestLoopDataPool
.
push
({
let
flagItem
=
poolData
.
DataList
.
find
(
item
=>
{
urlType
:
'pieChartOrPanel'
,
let
flag
=
transFlag
(
item
.
flag
)
assemblyKey
:
`
${
index
}
-
${
item
.
Name
}
`
,
return
(
pieChartOrPanel
:
[{
(
flag
===
'='
&&
resDataValue
==
item
.
num
)
||
deviceId
:
VariableCheckDataObj
.
equipmentId
?
VariableCheckDataObj
.
equipmentId
:
VariableCheckDataObj
.
equipmentid
,
(
flag
===
'>='
&&
resDataValue
>=
item
.
num
)
||
variableId
:
VariableCheckDataObj
.
id
,
(
flag
===
'<='
&&
resDataValue
<=
item
.
num
)
||
variableCode
:
VariableCheckDataObj
.
name
(
flag
===
'>'
&&
resDataValue
>
item
.
num
)
||
}]
(
flag
===
'<'
&&
resDataValue
<
item
.
num
)
||
(
flag
===
'!='
&&
item
.
num
!=
resDataValue
)
)
})
})
Controls
.
dataPoolMap
[
index
]
=
dashboardItem
if
(
!
flagItem
)
{
Controls
.
dataPoolMap
[
index
].
ControlType
=
item
.
ControlType
return
Controls
.
dataPoolMap
[
index
].
dataPoolMapIndex
=
index
}
}
}
// 把折线图、柱状图的请求数据推到请求池
// 只要有一个满足条件,则渲染该条件的颜色
function
handleRequestDataLineAndBar
(
label
,
item
,
index
)
{
if
(
flagItem
&&
poolData
.
conCheck
)
{
let
lineAndBarItem
=
Controls
.
Data
[
label
].
find
(
dItem
=>
dItem
.
name
===
item
.
Name
)
$
(
`#
${
label
===
'datatextblock'
?
'datatextblock'
:
'rwtextbox-text'
}${
poolData
.
dataPoolMapIndex
}
`
).
css
(
'color'
,
flagItem
.
backColor
)
if
(
lineAndBarItem
&&
lineAndBarItem
.
defaultDataConfig
.
datatype
===
'实时数据'
)
{
}
let
list
=
lineAndBarItem
.
option
?.
Variables
||
[]
}
// 把有读写框、数值显示的请求数据推到请求池
function
handleRequestDataText
(
item
,
index
)
{
requestLoopDataPool
.
push
({
requestLoopDataPool
.
push
({
urlType
:
'limit'
,
urlType
:
'status'
,
assemblyKey
:
`
${
index
}
-
${
item
.
Name
}
`
,
assemblyKey
:
`
${
index
}
-
${
item
.
CheckData
.
name
}
`
,
limitData
:
{
statusDataDTO
:
{
limit
:
lineAndBarItem
.
DataCount
,
deviceId
:
item
.
CheckData
.
equipmentId
||
item
.
CheckData
.
equipmentid
,
variableSearchList
:
list
.
map
(
lItem
=>
{
variableId
:
item
.
CheckData
.
id
,
return
{
variableCode
:
item
.
CheckData
.
name
deviceId
:
lItem
.
CheckData
.
equipmentId
?
lItem
.
CheckData
.
equipmentId
:
lItem
.
CheckData
.
equipmentid
,
variableId
:
lItem
.
CheckData
.
id
,
variableName
:
lItem
.
CheckData
.
name
}
})
}
}
})
})
Controls
.
dataPoolMap
[
index
]
=
lineAndBarItem
Controls
.
dataPoolMap
[
index
]
=
item
Controls
.
dataPoolMap
[
index
].
ControlType
=
item
.
ControlType
Controls
.
dataPoolMap
[
index
].
dataPoolMapIndex
=
index
Controls
.
dataPoolMap
[
index
].
dataPoolMapIndex
=
index
}
}
}
// 整合所有组件的请求数据,放到一个数组里
function
collectRequestLoopData
()
{
requestLoopDataPool
=
[]
Controls
.
dataPoolMap
=
{}
let
funMap
=
{
// 数值显示
datatextblock
:
(
item
,
index
)
=>
handleRequestDataText
(
item
,
index
),
// 读写框
rwtextbox
:
(
item
,
index
)
=>
handleRequestDataText
(
item
,
index
),
// 矩形状态灯
commonlamp
:
(
item
,
index
)
=>
handleRequestDataDataList
(
item
,
index
),
// 圆形状态灯
ellipselamp
:
(
item
,
index
)
=>
handleRequestDataDataList
(
item
,
index
),
// 动态图片
image
:
(
item
,
index
)
=>
handleRequestDataDataList
(
item
,
index
),
// 动态文本
dynamictext
:
(
item
,
index
)
=>
handleRequestDataDataList
(
item
,
index
),
// 饼图
piechart
:
(
item
,
index
)
=>
handleRequestDataPie
(
item
,
index
),
// 仪表盘
dashboardchart
:
(
item
,
index
)
=>
handleRequestDataDashboard
(
item
,
index
),
// 折线图
linechart
:
(
item
,
index
)
=>
handleRequestDataLineAndBar
(
'LineChartItemList'
,
item
,
index
),
// 柱状图
barchart
:
(
item
,
index
)
=>
handleRequestDataLineAndBar
(
'BarChartItemList'
,
item
,
index
)
}
Controls
.
ControlList
.
forEach
((
item
,
index
)
=>
{
funMap
[
item
.
ControlType
]
&&
funMap
[
item
.
ControlType
](
item
,
index
)
})
}
// 对requestLoopDataPool进行分组
// 对requestLoopDataPool进行分组
function
sliceRequestLoopData
(
num
)
{
function
sliceRequestLoopData
(
num
)
{
...
...
js/tokenSetting.js
View file @
56017eec
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
* @description: 文件描述
* @description: 文件描述
* @Date: 2021-09-16 18:33:55
* @Date: 2021-09-16 18:33:55
* @LastEditors: 莫靓仔
* @LastEditors: 莫靓仔
* @LastEditTime: 2021-09-28 1
0:24:42
* @LastEditTime: 2021-09-28 1
4:57:07
*/
*/
let
setObj
=
{
let
setObj
=
{
// 厂家大佬
// 厂家大佬
...
...
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