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
ad5e940e
Commit
ad5e940e
authored
Sep 27, 2021
by
莫坚培
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 去掉旧的实时刷新逻辑
parent
83e9cb68
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
487 deletions
+13
-487
dashboard.js
js/dashboard.js
+13
-487
No files found.
js/dashboard.js
View file @
ad5e940e
...
...
@@ -422,7 +422,7 @@ async function initCanvas() {
</div>
</div>
`
renderImage
(
index
)
//
renderImage(index)
}
else
if
(
item
.
ControlType
===
'datatextblock'
)
{
//数值显示
let
align
=
''
if
(
item
.
PropertyList
.
JustifyContent
===
'flex-start'
)
{
...
...
@@ -487,7 +487,7 @@ async function initCanvas() {
</div>
</div>
`
renderDynamicText
(
index
)
//
renderDynamicText(index)
}
else
if
(
item
.
ControlType
===
'solidellipse'
)
{
//圆形
html
+=
`<div class="commonModule" draggable="false" data-id="
${
index
}
"
...
...
@@ -509,7 +509,7 @@ async function initCanvas() {
</div>
`
renderEllipselamp
(
index
)
//
renderEllipselamp(index)
}
else
if
(
item
.
ControlType
===
'commonlamp'
)
{
//矩形状态灯
html
+=
`<div class="commonModule" id="commonlamp
${
index
}
" draggable="false" data-id="
${
index
}
"
...
...
@@ -935,7 +935,7 @@ function startRequestLoop() {
if
(
requestLoopStopFlag
)
{
return
}
// 使用await等待前一组完成,再进行下一组,且利用requestLoopStopFlag控制每一批(一批多个组)完成才能进行下一批
for
(
let
i
=
0
,
len
=
requestLoopGroupSliceRes
.
length
;
i
<
len
;
i
++
)
{
requestLoopStopFlag
=
true
// 进入循环即表示已经开始请求
await
sendLoopDataRequest
(
requestLoopGroupSliceRes
[
i
],
i
,
len
)
...
...
@@ -948,6 +948,7 @@ function sendLoopDataRequest(list, i, len) {
return
new
Promise
((
resolve
,
reject
)
=>
{
request
.
post
(
`/bi/
${
appId
}
/variables/real-time/data/mergeReq`
,
list
)
.
then
(
res
=>
{
// requestLoopGroupSliceRes的最后一个完成即表示这一批请求完成,可以进行下一批(既执行下一次定时器)
if
(
i
===
len
-
1
)
{
requestLoopStopFlag
=
false
}
...
...
@@ -957,15 +958,11 @@ function sendLoopDataRequest(list, i, len) {
let
handleResMap
=
{}
Object
.
keys
(
res
.
data
.
data
).
forEach
(
key
=>
{
let
keyIndex
=
Number
(
key
.
split
(
'-'
)[
0
])
if
(
!
handleResMap
[
keyIndex
])
{
handleResMap
[
keyIndex
]
=
{}
}
handleResMap
[
keyIndex
][
key
]
=
res
.
data
.
data
[
key
]
})
console
.
log
(
'handleResMap'
,
handleResMap
)
console
.
log
(
'dataPoolMap'
,
Controls
.
dataPoolMap
)
Object
.
keys
(
handleResMap
).
forEach
(
key
=>
{
renderRequestLoopData
(
Controls
.
dataPoolMap
[
key
],
handleResMap
[
key
],
res
.
data
.
code
)
})
...
...
@@ -1104,8 +1101,6 @@ function loopRenderBarchart(poolData, resData, resCode) {
// 渲染折线图
function
loopRenderLinechart
(
poolData
,
resData
,
resCode
)
{
console
.
log
(
'折线图'
,
poolData
)
console
.
log
(
'折线图'
,
resData
)
// 清空数据
if
(
resCode
!==
0
)
{
resetLineChart
(
poolData
.
name
)
...
...
@@ -1321,8 +1316,6 @@ function loopRenderDatatextblock(poolData, resData, label) {
return
}
console
.
log
(
`
${
label
===
'datatextblock'
?
'数值显示'
:
'读写框'
}
的值`
,
resDataValue
)
console
.
log
(
`
${
label
===
'datatextblock'
?
'数值显示'
:
'读写框'
}
的mData.dataPoolMapIndex`
,
poolData
.
dataPoolMapIndex
)
// 给读写框赋值、默认颜色
if
(
label
===
'datatextblock'
)
{
resDataValue
=
resDataValue
.
toFixed
(
Number
(
dight
))
...
...
@@ -1353,7 +1346,6 @@ function loopRenderDatatextblock(poolData, resData, label) {
// 渲染矩形、圆形状态灯 label: commonlamp矩形状态灯 ellipselamp圆形状态灯
function
loopRenderLamp
(
poolData
,
resData
,
label
)
{
console
.
log
(
`
${
label
===
'ellipselamp'
?
'圆形状态灯'
:
'矩形状态灯'
}
`
,
poolData
,
resData
)
// 给默认颜色、闪烁
$
(
`#
${
label
}${
poolData
.
dataPoolMapIndex
}
`
).
css
(
'background-color'
,
poolData
.
DefaultColor
)
if
(
poolData
.
DefaultFlashing
)
{
// 默认闪烁
...
...
@@ -1437,6 +1429,7 @@ function handleRequestDataText(item, index) {
variableCode
:
item
.
CheckData
.
name
}
})
Controls
.
dataPoolMap
[
index
]
=
item
Controls
.
dataPoolMap
[
index
].
dataPoolMapIndex
=
index
}
...
...
@@ -1445,6 +1438,7 @@ function handleRequestDataText(item, index) {
function
handleRequestDataDataList
(
item
,
index
)
{
Controls
.
dataPoolMap
[
index
]
=
item
Controls
.
dataPoolMap
[
index
].
dataPoolMapIndex
=
index
item
.
DataList
.
forEach
((
dlItem
,
dlIndex
)
=>
{
if
(
dlItem
.
variable
!==
'选择'
&&
dlItem
.
CheckData
)
{
requestLoopDataPool
.
push
({
...
...
@@ -1465,6 +1459,7 @@ 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
{
...
...
@@ -2150,116 +2145,6 @@ async function renderDynamicText(index) {
// 数值显示实时刷新
async
function
renderDataText
(
index
)
{
let
item
=
Controls
.
ControlList
[
index
]
let
dight
=
item
.
DecimalDigits
===
null
?
0
:
item
.
DecimalDigits
// if (item.conCheck) {
let
times
=
0
if
(
item
.
DataList
.
length
!==
0
)
{
for
(
let
i
=
0
;
i
<
item
.
DataList
.
length
;
i
++
)
{
if
(
item
.
CheckData
&&
item
.
CheckData
.
name
!==
''
)
{
await
request
.
get
(
`/bi/
${
appId
}
/variables/
${
item
.
CheckData
.
equipmentId
?
item
.
CheckData
.
equipmentId
:
item
.
CheckData
.
equipmentid
}
/
${
item
.
CheckData
.
id
}
/
${
item
.
CheckData
.
name
}
/status`
).
then
(
res
=>
{
// res.data.data[item.CheckData.name] = 1
if
(
res
.
data
.
data
)
{
try
{
res
.
data
.
data
[
item
.
CheckData
.
name
]
=
res
.
data
.
data
[
item
.
CheckData
.
name
].
toFixed
(
dight
)
}
catch
(
e
){
console
.
log
(
'error'
)
}
let
Data
=
res
.
data
.
data
[
item
.
CheckData
.
name
]
if
(
JSON
.
stringify
(
res
.
data
.
data
)
!==
"{}"
)
{
item
.
DataList
[
i
].
flag
=
transFlag
(
item
.
DataList
[
i
].
flag
)
if
(
item
.
DataList
[
i
].
flag
===
'='
)
{
if
(
item
.
DataList
[
i
].
num
==
Data
)
{
$
(
`#datatextblock
${
index
}
`
).
text
(
res
.
data
.
data
[
item
.
CheckData
.
name
])
if
(
item
.
conCheck
)
{
$
(
`#datatextblock
${
index
}
`
).
css
(
'color'
,
item
.
DataList
[
i
].
backColor
)
}
times
++
}
else
{
$
(
`#datatextblock
${
index
}
`
).
css
(
'color'
,
'#000'
)
}
}
else
if
(
item
.
DataList
[
i
].
flag
===
'>='
)
{
if
(
Data
>=
item
.
DataList
[
i
].
num
)
{
$
(
`#datatextblock
${
index
}
`
).
text
(
res
.
data
.
data
[
item
.
CheckData
.
name
])
if
(
item
.
conCheck
)
{
$
(
`#datatextblock
${
index
}
`
).
css
(
'color'
,
item
.
DataList
[
i
].
backColor
)
}
times
++
}
else
{
$
(
`#datatextblock
${
index
}
`
).
css
(
'color'
,
'#000'
)
}
}
else
if
(
item
.
DataList
[
i
].
flag
===
'<='
)
{
if
(
Data
<=
item
.
DataList
[
i
].
num
)
{
$
(
`#datatextblock
${
index
}
`
).
text
(
res
.
data
.
data
[
item
.
CheckData
.
name
])
if
(
item
.
conCheck
)
{
$
(
`#datatextblock
${
index
}
`
).
css
(
'color'
,
item
.
DataList
[
i
].
backColor
)
}
times
++
}
else
{
$
(
`#datatextblock
${
index
}
`
).
css
(
'color'
,
'#000'
)
}
}
else
if
(
item
.
DataList
[
i
].
flag
===
'>'
)
{
if
(
Data
>
item
.
DataList
[
i
].
num
)
{
$
(
`#datatextblock
${
index
}
`
).
text
(
res
.
data
.
data
[
item
.
CheckData
.
name
])
if
(
item
.
conCheck
)
{
$
(
`#datatextblock
${
index
}
`
).
css
(
'color'
,
item
.
DataList
[
i
].
backColor
)
}
times
++
}
else
{
$
(
`#datatextblock
${
index
}
`
).
css
(
'color'
,
'#000'
)
}
}
else
if
(
item
.
DataList
[
i
].
flag
===
'<'
)
{
if
(
Data
<
item
.
DataList
[
i
].
num
)
{
$
(
`#datatextblock
${
index
}
`
).
text
(
res
.
data
.
data
[
item
.
CheckData
.
name
])
if
(
item
.
conCheck
)
{
$
(
`#datatextblock
${
index
}
`
).
css
(
'color'
,
item
.
DataList
[
i
].
backColor
)
}
times
++
}
else
{
$
(
`#datatextblock
${
index
}
`
).
css
(
'color'
,
'#000'
)
}
}
else
if
(
item
.
DataList
[
i
].
flag
===
'!='
)
{
if
(
item
.
DataList
[
i
].
num
!=
Data
)
{
$
(
`#datatextblock
${
index
}
`
).
text
(
res
.
data
.
data
[
item
.
CheckData
.
name
])
if
(
item
.
conCheck
)
{
$
(
`#datatextblock
${
index
}
`
).
css
(
'color'
,
item
.
DataList
[
i
].
backColor
)
}
times
++
}
else
{
$
(
`#datatextblock
${
index
}
`
).
css
(
'color'
,
'#000'
)
}
}
if
(
i
===
item
.
DataList
.
length
-
1
&&
times
===
0
)
{
$
(
`#datatextblock
${
index
}
`
).
text
(
res
.
data
.
data
[
item
.
CheckData
.
name
])
}
}
}
})
if
(
times
!==
0
)
{
break
}
}
}
}
else
{
await
request
.
get
(
`/bi/
${
appId
}
/variables/
${
item
.
CheckData
.
equipmentId
?
item
.
CheckData
.
equipmentId
:
item
.
CheckData
.
equipmentid
}
/
${
item
.
CheckData
.
id
}
/
${
item
.
CheckData
.
name
}
/status`
).
then
(
res
=>
{
// res.data.data[item.CheckData.name] = 1
if
(
res
.
data
.
data
)
{
try
{
res
.
data
.
data
[
item
.
CheckData
.
name
]
=
res
.
data
.
data
[
item
.
CheckData
.
name
].
toFixed
(
dight
)
}
catch
(
e
){
console
.
log
(
'error'
)
}
let
Data
=
res
.
data
.
data
[
item
.
CheckData
.
name
]
$
(
`#datatextblock
${
index
}
`
).
text
(
res
.
data
.
data
[
item
.
CheckData
.
name
])
if
(
item
.
conCheck
)
{
$
(
`#datatextblock
${
index
}
`
).
css
(
'color'
,
'#000'
)
}
}
})
}
// }
if
(
item
.
dblCheck
)
{
setTimeout
(()
=>
{
$
(
`#dbl-datatextblock
${
index
}
`
).
dblclick
(
function
()
{
...
...
@@ -2550,100 +2435,7 @@ function renderLineChart(item) {
})
}
else
if
(
c
.
defaultDataConfig
.
datatype
===
'实时数据'
)
{
// 实时数据 && 历史数据
let
variableSearchList
=
[]
let
list
=
Controls
.
Data
.
LineChartItemList
[
cIndex
].
option
.
Variables
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
let
d
=
list
[
i
]
if
(
d
.
CheckData
)
{
variableSearchList
.
push
({
deviceId
:
d
.
CheckData
.
equipmentId
?
d
.
CheckData
.
equipmentId
:
d
.
CheckData
.
equipmentid
,
variableId
:
d
.
CheckData
.
id
,
variableName
:
d
.
CheckData
.
name
})
}
else
{
return
}
}
let
postData
=
{
limit
:
c
.
DataCount
,
variableSearchList
}
request
.
post
(
`/bi/
${
appId
}
/variables/real-time/data`
,
postData
).
then
(
res
=>
{
if
(
res
.
data
.
code
!==
0
)
{
// 清除图表数据
resetLineChart
(
c
.
name
)
// appTips.errorMsg(res.data.msg)
return
}
c
.
defaultDataConfig
.
timedate
=
changerealTimeFormat
(
c
.
defaultDataConfig
.
timedate
)
res
.
data
.
data
.
x
.
forEach
((
rx
,
rxi
)
=>
{
// 此处遍历修改x轴显示格式
res
.
data
.
data
.
x
[
rxi
]
=
dayjs
(
rx
).
format
(
c
.
defaultDataConfig
.
timedate
)
})
let
chart
=
{}
if
(
document
.
getElementById
(
`
${
c
.
name
}
`
))
{
chart
=
echarts
.
init
(
document
.
getElementById
(
`
${
c
.
name
}
`
));
let
a
=
chart
.
getOption
();
let
keys
=
[]
Object
.
keys
(
res
.
data
.
data
).
filter
(
f
=>
f
!=
'x'
).
forEach
(
kk
=>
{
keys
.
push
(
kk
.
split
(
','
)[
1
])
})
a
.
xAxis
[
0
].
data
=
res
.
data
.
data
.
x
.
flat
(
Infinity
)
// a.legend[0].data = keys
let
serireData
=
[]
let
d
=
Controls
.
Data
.
LineChartItemList
[
cIndex
].
option
.
Variables
let
left
=
Controls
.
Data
.
LineChartItemList
[
cIndex
].
option
.
DrawContent
.
LeftMargin
variableSearchList
.
forEach
((
k
,
ki
)
=>
{
let
dataList
=
res
.
data
.
data
[
k
.
deviceId
+
','
+
k
.
variableName
]
dataList
=
dataList
.
map
(
item1
=>
{
if
(
item1
)
{
if
(
left
<=
getTextWidth
(
String
(
item1
*
100
),
16
))
{
left
=
getTextWidth
(
String
(
item1
*
100
),
16
)
}
item1
=
item1
.
toFixed
(
d
[
ki
].
d
?
d
[
ki
].
d
:
0
)
}
return
item1
})
serireData
.
push
({
name
:
a
.
legend
[
0
].
data
[
ki
],
data
:
dataList
,
type
:
'line'
,
label
:
a
.
series
[
0
].
label
,
emphasis
:
a
.
series
[
0
].
emphasis
});
})
if
(
Controls
.
Data
.
LineChartItemList
[
cIndex
].
option
.
Legend
.
Position
==
"RightCenter"
)
{
a
.
grid
=
{
left
:
left
,
right
:
Controls
.
Data
.
LineChartItemList
[
cIndex
].
option
.
DrawContent
.
RightMargin
}
}
a
.
series
=
[]
let
dateArr
=
judegData
(
a
.
xAxis
[
0
].
data
)
let
bottom
=
dataZoomVal
if
(
dateArr
.
length
>
0
)
{
a
.
xAxis
[
0
].
axisLabel
.
rotate
=
-
45
// let leni = getMaxLen(a.xAxis[0].data)
// bottom = getBottomWidth(a.xAxis[0].data[leni])
bottom
=
getMaxWidth
(
dateArr
)
}
a
.
dataZoom
=
addDataZoom
()
a
.
grid
.
bottom
=
bottom
// a.grid.bottom = dataZoomVal
a
.
series
=
serireData
chart
.
setOption
(
a
,
true
);
}
})
}
else
{
// 历史数据
}
else
if
(
c
.
defaultDataConfig
.
datatype
===
'历史数据'
)
{
// 历史数据
let
variableSearchList
=
[]
let
seriesName
=
[]
c
.
option
.
Variables
.
forEach
(
d
=>
{
...
...
@@ -3102,137 +2894,7 @@ function renderBarChart(item) {
// dd.getTime()+24*3600*1000
})
}
else
if
(
c
.
defaultDataConfig
.
datatype
===
'实时数据'
)
{
// 实时数据 && 历史数据
let
variableSearchList
=
[]
Controls
.
Data
.
BarChartItemList
[
cIndex
].
option
.
Variables
.
forEach
((
d
,
dIndex
)
=>
{
variableSearchList
.
push
({
deviceId
:
d
.
CheckData
.
equipmentId
?
d
.
CheckData
.
equipmentId
:
d
.
CheckData
.
equipmentid
,
variableId
:
d
.
CheckData
.
id
,
variableName
:
d
.
CheckData
.
name
})
})
let
postData
=
{
limit
:
c
.
DataCount
,
variableSearchList
}
request
.
post
(
`/bi/
${
appId
}
/variables/real-time/data`
,
postData
).
then
(
res
=>
{
if
(
res
.
data
.
code
!==
0
)
{
// 清除图表数据
resetBarChart
(
c
.
name
)
// appTips.errorMsg(res.data.msg)
return
}
let
chart
=
{}
if
(
document
.
getElementById
(
`
${
c
.
name
}
`
))
{
chart
=
echarts
.
init
(
document
.
getElementById
(
`
${
c
.
name
}
`
));
let
a
=
chart
.
getOption
();
let
keys
=
[]
Object
.
keys
(
res
.
data
.
data
).
filter
(
f
=>
f
!=
'x'
).
forEach
(
kk
=>
{
keys
.
push
(
kk
.
split
(
','
)[
1
])
})
c
.
defaultDataConfig
.
timedate
=
changerealTimeFormat
(
c
.
defaultDataConfig
.
timedate
)
res
.
data
.
data
.
x
.
forEach
((
rx
,
rxi
)
=>
{
// 此处遍历修改x轴显示格式
res
.
data
.
data
.
x
[
rxi
]
=
dayjs
(
rx
).
format
(
c
.
defaultDataConfig
.
timedate
)
})
// a.xAxis[0].data = res.data.data.x
// a.legend[0].data = keys
let
serireData
=
[]
let
d
=
Controls
.
Data
.
BarChartItemList
[
cIndex
].
option
.
Variables
let
IsTime
=
Controls
.
Data
.
BarChartItemList
[
cIndex
].
option
.
IsTime
let
left
=
Controls
.
Data
.
BarChartItemList
[
cIndex
].
option
.
DrawContent
.
LeftMargin
variableSearchList
.
forEach
((
k
,
ki
)
=>
{
let
dataList
=
res
.
data
.
data
[
k
.
deviceId
+
','
+
k
.
variableName
]
dataList
=
dataList
.
map
(
i
=>
{
if
(
i
)
{
if
(
left
<=
getTextWidth
(
String
(
i
),
16
))
{
left
=
getTextWidth
(
String
(
i
),
16
)
}
i
=
i
.
toFixed
(
d
[
ki
].
d
?
d
[
ki
].
d
:
0
)
}
return
i
})
if
(
!
IsTime
)
{
serireData
.
push
({
name
:
d
[
ki
].
DimensionName
,
data
:
dataList
,
stack
:
'堆积'
,
type
:
'bar'
,
label
:
a
.
series
[
0
].
label
,
emphasis
:
a
.
series
[
0
].
emphasis
});
}
else
{
serireData
.
push
({
name
:
d
[
ki
].
DimensionName
,
data
:
dataList
,
type
:
'bar'
,
label
:
a
.
series
[
0
].
label
,
emphasis
:
a
.
series
[
0
].
emphasis
});
}
})
// a.yAxis[0].axisLabel = a.yAxis[0].axisLabel
if
(
Controls
.
Data
.
BarChartItemList
[
cIndex
].
option
.
AxisChartYAxis
.
yAxisData
)
{
a
.
yAxis
[
0
].
data
=
res
.
data
.
data
.
x
?
res
.
data
.
data
.
x
:
Controls
.
Data
.
BarChartItemList
[
cIndex
].
option
.
BarChartData
.
option
.
AxisChartYAxis
.
yAxisData
let
list
=
a
.
yAxis
[
0
].
data
[
0
]
if
(
left
<=
getTextWidth
(
list
,
16
))
{
left
=
getTextWidth
(
list
,
16
)
}
// for (let i = 0; i < list.lenght; i++) {
// if (left <= getTextWidth(list[i], 16)) {
// left = getTextWidth(list[i], 16)
// }
// }
}
else
{
a
.
xAxis
[
0
].
data
=
res
.
data
.
data
.
x
?
res
.
data
.
data
.
x
:
Controls
.
Data
.
BarChartItemList
[
cIndex
].
option
.
XData
}
a
.
series
=
[]
// a.xAxis[0].axisLabel = {
// interval:0,//代表显示所有x轴标签显示
// rotate:45, //代表逆时针旋转45度
// }
// a.yAxis[0].axisLabel = {
// interval:0,//代表显示所有x轴标签显示
// rotate:45, //代表逆时针旋转45度
// }
if
(
Controls
.
Data
.
BarChartItemList
[
cIndex
].
option
.
Legend
.
Position
==
"RightCenter"
)
{
a
.
grid
=
{
left
:
left
,
right
:
Controls
.
Data
.
BarChartItemList
[
cIndex
].
option
.
DrawContent
.
RightMargin
}
}
a
.
yAxis
.
type
=
'value'
a
.
yAxis
.
scale
=
true
let
dateArr
=
judegData
(
a
.
xAxis
[
0
].
data
)
let
bottom
=
dataZoomVal
if
(
dateArr
.
length
>
0
)
{
a
.
xAxis
[
0
].
axisLabel
.
rotate
=
-
45
// let leni = getMaxLen(a.xAxis[0].data)
// bottom = getBottomWidth(a.xAxis[0].data[leni])
bottom
=
getMaxWidth
(
dateArr
)
}
a
.
dataZoom
=
addDataZoom
()
a
.
grid
.
bottom
=
bottom
// a.grid.bottom = dataZoomVal
a
.
series
=
serireData
chart
.
setOption
(
a
,
true
);
}
})
}
else
{
// 历史数据
}
else
if
(
c
.
defaultDataConfig
.
datatype
===
'历史数据'
){
// 历史数据
let
variableSearchList
=
[]
let
seriesName
=
[]
c
.
option
.
Variables
.
forEach
(
d
=>
{
...
...
@@ -3536,55 +3198,7 @@ function resetDashboartChart(name) {
function
renderDashChart
(
item
)
{
Controls
.
Data
.
DashBoardChartItemList
.
forEach
((
c
,
cIndex
)
=>
{
if
(
c
.
name
===
item
.
Name
)
{
if
(
c
.
defaultDataConfig
.
datatype
===
'实时数据'
)
{
let
postData
=
[]
if
(
Controls
.
Data
.
DashBoardChartItemList
[
cIndex
].
option
.
Variable
.
CheckData
)
{
postData
=
[{
deviceId
:
Controls
.
Data
.
DashBoardChartItemList
[
cIndex
].
option
.
Variable
.
CheckData
.
equipmentId
?
Controls
.
Data
.
DashBoardChartItemList
[
cIndex
].
option
.
Variable
.
CheckData
.
equipmentId
:
Controls
.
Data
.
DashBoardChartItemList
[
cIndex
].
option
.
Variable
.
CheckData
.
equipmentid
,
variableCode
:
Controls
.
Data
.
DashBoardChartItemList
[
cIndex
].
option
.
Variable
.
CheckData
.
name
,
variableId
:
Controls
.
Data
.
DashBoardChartItemList
[
cIndex
].
option
.
Variable
.
CheckData
.
id
}]
}
else
{
return
}
request
.
post
(
`/bi/
${
appId
}
/variables/status/real-time/data`
,
postData
).
then
(
res
=>
{
if
(
res
.
data
.
code
!==
0
)
{
// 清除图表数据
resetDashboartChart
(
c
.
name
)
// appTips.errorMsg(res.data.msg)
return
}
let
chart
=
{}
if
(
document
.
getElementById
(
`
${
c
.
name
}
`
))
{
chart
=
echarts
.
init
(
document
.
getElementById
(
`
${
c
.
name
}
`
));
let
a
=
chart
.
getOption
();
let
keys
=
[]
Object
.
keys
(
res
.
data
.
data
).
filter
(
f
=>
f
!=
'x'
).
forEach
(
kk
=>
{
keys
.
push
(
kk
)
})
let
serireData
=
[]
let
d
=
Controls
.
Data
.
DashBoardChartItemList
[
cIndex
].
option
.
Variable
postData
.
forEach
((
k
,
ki
)
=>
{
// a.series[a.series.length - 1].min = Math.min(res.data.data[k.deviceId][k.variableCode])
// a.series[a.series.length - 1].max = Math.max(res.data.data[k.deviceId][k.variableCode])
// a.series[0].min = Math.min(res.data.data[k.deviceId][k.variableCode])
// a.series[0].max = Math.max(res.data.data[k.deviceId][k.variableCode])
serireData
.
push
({
value
:
res
.
data
.
data
[
k
.
deviceId
][
k
.
variableCode
]
?
res
.
data
.
data
[
k
.
deviceId
][
k
.
variableCode
].
toFixed
(
d
.
d
?
d
.
d
:
0
)
:
0
,
/* name: d.DimensionName */
});
})
a
.
series
[
a
.
series
.
length
-
1
].
data
=
serireData
a
.
series
[
0
].
data
=
serireData
a
.
series
[
0
].
detail
.
color
=
c
.
option
.
Variable
.
Tooltip
.
SeriesDetailColor
?
c
.
option
.
Variable
.
Tooltip
.
SeriesDetailColor
:
'#000'
chart
.
setOption
(
a
,
true
);
}
})
}
else
if
(
c
.
defaultDataConfig
.
datatype
===
'历史数据'
)
{
// 实时数据 && 历史数据
if
(
c
.
defaultDataConfig
.
datatype
===
'历史数据'
)
{
// 历史数据
let
variableSearchList
=
[]
if
(
Controls
.
Data
.
DashBoardChartItemList
[
cIndex
].
option
.
Variable
.
CheckData
)
{
variableSearchList
=
[{
...
...
@@ -3859,7 +3473,6 @@ function renderDashChart(item) {
// dd.getTime()+24*3600*1000
})
}
}
})
}
...
...
@@ -3881,94 +3494,7 @@ function resetPieChart(name) {
function
renderPieChart
(
item
)
{
Controls
.
Data
.
PieChartItemList
.
forEach
((
c
,
cIndex
)
=>
{
if
(
c
.
name
===
item
.
Name
)
{
if
(
c
.
defaultDataConfig
.
datatype
===
'实时数据'
)
{
let
postData
=
[]
let
list
=
Controls
.
Data
.
PieChartItemList
[
cIndex
].
option
.
Variables
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
let
cf
=
list
[
i
]
if
(
cf
.
CheckData
)
{
postData
.
push
({
deviceId
:
cf
.
CheckData
.
equipmentId
?
cf
.
CheckData
.
equipmentId
:
cf
.
CheckData
.
equipmentid
,
variableCode
:
cf
.
CheckData
.
name
,
variableId
:
cf
.
CheckData
.
id
,
})
}
else
{
return
}
}
// Controls.Data.PieChartItemList[cIndex].option.Variables.forEach(cf => {
// if(cf.CheckData){
// postData.push({
// deviceId: cf.CheckData.equipmentId,
// variableCode: cf.CheckData.name,
// variableId: cf.CheckData.id,
// })
// }else{
// return
// }
// })
request
.
post
(
`/bi/
${
appId
}
/variables/status/real-time/data`
,
postData
).
then
(
res
=>
{
if
(
res
.
data
.
code
!==
0
)
{
// 清除图表数据
resetPieChart
(
c
.
name
)
// appTips.errorMsg(res.data.msg)
return
}
let
chart
=
{}
if
(
document
.
getElementById
(
`
${
c
.
name
}
`
))
{
chart
=
echarts
.
init
(
document
.
getElementById
(
`
${
c
.
name
}
`
));
let
a
=
chart
.
getOption
()
let
prop
=
[]
let
keys
=
[]
let
serireData
=
[]
if
(
res
.
data
.
data
)
{
Object
.
keys
(
res
.
data
.
data
).
filter
(
f
=>
f
!=
'x'
).
forEach
(
kk
=>
{
prop
.
push
(
kk
)
})
// keys = Object.keys(res.data.data[prop])
// a.legend[0].data = keys
let
d
=
Controls
.
Data
.
PieChartItemList
[
cIndex
].
option
.
Variables
// for(let ki = 0 ;ki<postData.length ;ki++){
// let k = postData[ki]
// let value = res.data.data[k.deviceId][k.variableCode]
// if (value) {
// value.toFixed(d[ki] ? d[ki] : 0)
// }
// let data1 = a.series[0].data[0]
// data1.value = value
// data1.name = a.legend[0].data[ki]
// // let data2 = $.extend(data1,data)
// serireData.push(data1)
// }
postData
.
forEach
((
k
,
ki
)
=>
{
let
value
=
res
.
data
.
data
[
k
.
deviceId
][
k
.
variableCode
]
if
(
value
)
{
value
=
value
.
toFixed
(
d
[
ki
]
?
d
[
ki
].
d
:
0
)
}
serireData
.
push
({
value
:
value
,
name
:
a
.
legend
[
0
].
data
[
ki
],
label
:
a
.
series
[
0
].
data
[
ki
].
label
,
emphasis
:
a
.
series
[
0
].
data
[
ki
].
emphasis
})
})
}
else
{
serireData
.
push
({
value
:
''
,
name
:
'暂无数据'
})
}
a
.
series
[
0
].
data
=
$
.
extend
(
a
.
series
[
0
].
data
,
serireData
)
chart
.
setOption
(
a
,
true
);
}
})
}
else
if
(
c
.
defaultDataConfig
.
datatype
===
'历史数据'
)
{
// 实时数据 && 历史数据
if
(
c
.
defaultDataConfig
.
datatype
===
'历史数据'
)
{
// 历史数据
let
variableSearchList
=
[]
let
list
=
Controls
.
Data
.
PieChartItemList
[
cIndex
].
option
.
Variables
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
...
...
@@ -4134,7 +3660,7 @@ function renderPieChart(item) {
})
}
else
{
// 业务数据
}
else
if
(
c
.
defaultDataConfig
.
datatype
===
'业务数据'
)
{
// 业务数据
let
statisticsList
=
[]
let
chartData
=
{}
let
whereData
=
[]
...
...
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